| /** | |
| * Copyright (c) SpaceToad, 2011 | |
| * http://www.mod-buildcraft.com | |
| * | |
| * BuildCraft is distributed under the terms of the Minecraft Mod Public | |
| * License 1.0, or MMPL. Please check the contents of the license located in | |
| * http://www.mod-buildcraft.com/MMPL-1.0.txt | |
| */ | |
| package buildcraft.api.blueprints; | |
| import buildcraft.api.core.IBox; | |
| import buildcraft.api.core.Position; | |
| import net.minecraft.src.ItemStack; | |
| import net.minecraft.src.World; | |
| /** | |
| * This interface provide contextual information when building or initializing | |
| * blueprint slots. | |
| */ | |
| public interface IBptContext { | |
| /** | |
| * If bptItemStack is an ItemStack extracted from the blueprint containing | |
| * this mapping, this will return an item stack with the id of the current | |
| * world | |
| */ | |
| public ItemStack mapItemStack(ItemStack bptItemStack); | |
| /** | |
| * Blueprints may be created in a world with a given id setting, and then | |
| * ported to a world with different ids. Heuristics are used to retreive | |
| * these new ids automatically. This interface provide services to map ids | |
| * from a blueprints to current ids in the world, and should be used | |
| * whenever storing block numbers or item stacks in blueprints.. | |
| */ | |
| public int mapWorldId(int bptWorldId); | |
| /** | |
| * This asks the id mapping to store a mapping from this Id, which may be | |
| * either an itemId or a blockId. In effect, the blueprint will record it | |
| * and make it available upon blueprint load. Note that block present in the | |
| * blueprint are automatically stored upon blueprint save, so this is really | |
| * only needed when writing ids that are e.g. in inventory stacks. | |
| */ | |
| public void storeId(int worldId); | |
| public Position rotatePositionLeft(Position pos); | |
| public IBox surroundingBox(); | |
| public World world(); | |
| } |