Remove crafter stuff

This commit is contained in:
Raoul Van den Berge
2016-03-19 22:33:35 +01:00
parent 0ea3fc494d
commit 048b906a77
26 changed files with 23 additions and 735 deletions

View File

@@ -18,5 +18,4 @@ public final class StorageCraftBlocks
public static final BlockDestructor DESTRUCTOR = new BlockDestructor();
public static final BlockConstructor CONSTRUCTOR = new BlockConstructor();
public static final BlockStorage STORAGE = new BlockStorage();
public static final BlockCrafter CRAFTER = new BlockCrafter();
}

View File

@@ -12,5 +12,4 @@ public final class StorageCraftItems
public static final ItemSilicon SILICON = new ItemSilicon();
public static final ItemProcessor PROCESSOR = new ItemProcessor();
public static final ItemStoragePart STORAGE_PART = new ItemStoragePart();
public static final ItemPattern PATTERN = new ItemPattern();
}

View File

@@ -1,38 +0,0 @@
package storagecraft.block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import storagecraft.StorageCraft;
import storagecraft.StorageCraftGUI;
import storagecraft.tile.crafting.TileCrafter;
public class BlockCrafter extends BlockMachine
{
public BlockCrafter()
{
super("crafter");
}
@Override
public TileEntity createTileEntity(World world, IBlockState state)
{
return new TileCrafter();
}
@Override
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)
{
if (!world.isRemote)
{
player.openGui(StorageCraft.INSTANCE, StorageCraftGUI.CRAFTER, world, pos.getX(), pos.getY(), pos.getZ());
}
return true;
}
}

View File

@@ -36,7 +36,7 @@ public class BlockGrid extends BlockMachine
@Override
public void getSubBlocks(Item item, CreativeTabs tab, List subItems)
{
for (int i = 0; i <= 2; i++)
for (int i = 0; i <= 1; i++)
{
subItems.add(new ItemStack(item, 1, i));
}
@@ -56,13 +56,13 @@ public class BlockGrid extends BlockMachine
@Override
public IBlockState getStateFromMeta(int meta)
{
return getDefaultState().withProperty(TYPE, meta == 0 ? EnumGridType.NORMAL : (meta == 1 ? EnumGridType.CRAFTING : EnumGridType.PATTERN));
return getDefaultState().withProperty(TYPE, meta == 0 ? EnumGridType.NORMAL : EnumGridType.CRAFTING);
}
@Override
public int getMetaFromState(IBlockState state)
{
return state.getValue(TYPE) == EnumGridType.NORMAL ? 0 : (state.getValue(TYPE) == EnumGridType.CRAFTING ? 1 : 2);
return state.getValue(TYPE) == EnumGridType.NORMAL ? 0 : 1;
}
@Override

View File

@@ -5,8 +5,7 @@ import net.minecraft.util.IStringSerializable;
public enum EnumGridType implements IStringSerializable
{
NORMAL(0, "normal"),
CRAFTING(1, "crafting"),
PATTERN(2, "pattern");
CRAFTING(1, "crafting");
private int id;
private String name;

View File

@@ -1,31 +0,0 @@
package storagecraft.container;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import storagecraft.StorageCraftItems;
import storagecraft.container.slot.IItemValidator;
import storagecraft.container.slot.SlotFiltered;
import storagecraft.item.ItemPattern;
import storagecraft.tile.crafting.TileCrafter;
public class ContainerCrafter extends ContainerBase
{
public ContainerCrafter(final EntityPlayer player, TileCrafter crafter)
{
super(player);
for (int i = 0; i < 9; ++i)
{
addSlotToContainer(new SlotFiltered(crafter, i, 8 + (18 * i), 20, new IItemValidator()
{
@Override
public boolean isValid(ItemStack stack)
{
return stack.getItem() == StorageCraftItems.PATTERN && ItemPattern.isValid(player.worldObj, stack);
}
}));
}
addPlayerInventory(8, 55);
}
}

View File

@@ -1,17 +1,9 @@
package storagecraft.container;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.ClickType;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import storagecraft.StorageCraftItems;
import storagecraft.block.EnumGridType;
import storagecraft.container.slot.BasicItemValidator;
import storagecraft.container.slot.SlotDisabled;
import storagecraft.container.slot.SlotFiltered;
import storagecraft.container.slot.SlotGridCraftingResult;
import storagecraft.container.slot.SlotOutput;
import storagecraft.container.slot.SlotSpecimen;
import storagecraft.tile.TileGrid;
public class ContainerGrid extends ContainerBase
@@ -24,7 +16,7 @@ public class ContainerGrid extends ContainerBase
this.grid = grid;
addPlayerInventory(8, (grid.getType() == EnumGridType.CRAFTING || grid.getType() == EnumGridType.PATTERN) ? 174 : 108);
addPlayerInventory(8, grid.getType() == EnumGridType.CRAFTING ? 174 : 108);
if (grid.getType() == EnumGridType.CRAFTING)
{
@@ -46,39 +38,5 @@ public class ContainerGrid extends ContainerBase
addSlotToContainer(new SlotGridCraftingResult(player, grid.getCraftingInventory(), grid.getCraftingResultInventory(), grid, 0, 133 + 4, 120 + 4));
}
else if (grid.getType() == EnumGridType.PATTERN)
{
int x = 25;
int y = 106;
for (int i = 0; i < 9; ++i)
{
addSlotToContainer(new SlotSpecimen(grid.getPatternCraftingInventory(), i, x, y));
x += 18;
if ((i + 1) % 3 == 0)
{
y += 18;
x = 25;
}
}
addSlotToContainer(new SlotDisabled(grid.getPatternCraftingResultInventory(), 0, 133 + 4, 120 + 4));
addSlotToContainer(new SlotFiltered(grid.getPatternInventory(), 0, 137, 98, new BasicItemValidator(StorageCraftItems.PATTERN)));
addSlotToContainer(new SlotOutput(grid.getPatternInventory(), 1, 137, 150));
}
}
@Override
public ItemStack func_184996_a(int id, int clickedButton, ClickType mode, EntityPlayer player)
{
if (id >= 0 && getSlot(id) instanceof SlotDisabled)
{
grid.onPatternCreate();
}
return super.func_184996_a(id, clickedButton, mode, player);
}
}

View File

@@ -1,43 +0,0 @@
package storagecraft.gui;
import storagecraft.container.ContainerCrafter;
import storagecraft.gui.sidebutton.SideButtonRedstoneMode;
import storagecraft.tile.crafting.TileCrafter;
public class GuiCrafter extends GuiBase
{
private TileCrafter crafter;
public GuiCrafter(ContainerCrafter container, TileCrafter crafter)
{
super(container, 176, 137);
this.crafter = crafter;
}
@Override
public void init(int x, int y)
{
addSideButton(new SideButtonRedstoneMode(crafter));
}
@Override
public void update(int x, int y)
{
}
@Override
public void drawBackground(int x, int y, int mouseX, int mouseY)
{
bindTexture("gui/crafter.png");
drawTexture(x, y, 0, 0, width, height);
}
@Override
public void drawForeground(int mouseX, int mouseY)
{
drawString(7, 7, t("gui.storagecraft:crafter"));
drawString(7, 43, t("container.inventory"));
}
}

View File

@@ -10,7 +10,6 @@ import net.minecraft.client.gui.GuiTextField;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.SoundEvent;
import org.lwjgl.input.Keyboard;
@@ -21,7 +20,6 @@ import storagecraft.container.ContainerGrid;
import storagecraft.gui.sidebutton.SideButtonGridSortingDirection;
import storagecraft.gui.sidebutton.SideButtonGridSortingType;
import storagecraft.gui.sidebutton.SideButtonRedstoneMode;
import storagecraft.item.ItemPattern;
import storagecraft.network.MessageGridCraftingClear;
import storagecraft.network.MessageStoragePull;
import storagecraft.network.MessageStoragePush;
@@ -43,7 +41,7 @@ public class GuiGrid extends GuiBase
public GuiGrid(ContainerGrid container, TileGrid grid)
{
super(container, 176, (grid.getType() == EnumGridType.CRAFTING || grid.getType() == EnumGridType.PATTERN) ? 256 : 190);
super(container, 176, grid.getType() == EnumGridType.CRAFTING ? 256 : 190);
this.container = container;
this.grid = grid;
@@ -117,7 +115,7 @@ public class GuiGrid extends GuiBase
public boolean isHoveringOverClear(int mouseX, int mouseY)
{
if (grid.getType() == EnumGridType.CRAFTING || grid.getType() == EnumGridType.PATTERN)
if (grid.getType() == EnumGridType.CRAFTING)
{
return inBounds(81, 105, 7, 7, mouseX, mouseY);
}
@@ -132,10 +130,6 @@ public class GuiGrid extends GuiBase
{
bindTexture("gui/crafting_grid.png");
}
else if (grid.getType() == EnumGridType.PATTERN)
{
bindTexture("gui/pattern_grid.png");
}
else
{
bindTexture("gui/grid.png");
@@ -155,12 +149,8 @@ public class GuiGrid extends GuiBase
{
drawString(7, 94, t("container.crafting"));
}
else if (grid.getType() == EnumGridType.PATTERN)
{
drawString(7, 94, t("gui.storagecraft:grid.pattern"));
}
drawString(7, (grid.getType() == EnumGridType.CRAFTING || grid.getType() == EnumGridType.PATTERN) ? 163 : 96, t("container.inventory"));
drawString(7, grid.getType() == EnumGridType.CRAFTING ? 163 : 96, t("container.inventory"));
int x = 8;
int y = 20;
@@ -177,15 +167,7 @@ public class GuiGrid extends GuiBase
{
if (slot < items.size())
{
if (items.get(slot).isCraftable())
{
drawItem(x, y, items.get(slot).toItemStack(), false);
drawString(x, y, "Craft", 0xFFFFFFFF);
}
else
{
drawItem(x, y, items.get(slot).toItemStack(), true);
}
drawItem(x, y, items.get(slot).toItemStack(), true);
}
if (inBounds(x, y, 16, 16, mouseX, mouseY) || !grid.isConnected())
@@ -245,11 +227,6 @@ public class GuiGrid extends GuiBase
items.addAll(grid.getController().getItems());
for (ItemStack pattern : grid.getController().getPatterns())
{
items.add(new StorageItem(ItemPattern.getPatternResult(grid.getWorld(), pattern), true));
}
if (!searchField.getText().trim().isEmpty())
{
Iterator<StorageItem> t = items.iterator();

View File

@@ -10,7 +10,6 @@ import storagecraft.StorageCraftGUI;
import storagecraft.container.*;
import storagecraft.storage.IStorageGui;
import storagecraft.tile.*;
import storagecraft.tile.crafting.TileCrafter;
public class GuiHandler implements IGuiHandler
{
@@ -40,8 +39,6 @@ public class GuiHandler implements IGuiHandler
return new ContainerConstructor(player, (TileConstructor) tile);
case StorageCraftGUI.STORAGE:
return new ContainerStorage(player, ((IStorageGui) tile).getInventory());
case StorageCraftGUI.CRAFTER:
return new ContainerCrafter(player, (TileCrafter) tile);
default:
return null;
}
@@ -82,8 +79,6 @@ public class GuiHandler implements IGuiHandler
return new GuiConstructor((ContainerConstructor) getContainer(ID, player, tile), (TileConstructor) tile);
case StorageCraftGUI.STORAGE:
return new GuiStorage((ContainerStorage) getContainer(ID, player, tile), (IStorageGui) tile);
case StorageCraftGUI.CRAFTER:
return new GuiCrafter((ContainerCrafter) getContainer(ID, player, tile), (TileCrafter) tile);
default:
return null;
}

View File

@@ -1,131 +0,0 @@
package storagecraft.item;
import java.util.List;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.InventoryCrafting;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.CraftingManager;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.text.translation.I18n;
import net.minecraft.world.World;
public class ItemPattern extends ItemBase
{
public static final String NBT_SLOT = "Slot_%d";
public ItemPattern()
{
super("pattern");
}
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean b)
{
if (isValid(player.worldObj, stack))
{
ItemStack result = getPatternResult(player.worldObj, stack);
list.add(I18n.translateToLocalFormatted("misc.storagecraft:pattern.tooltip", result.stackSize, result.getDisplayName()));
}
}
@Override
public int getItemStackLimit(ItemStack stack)
{
if (hasPattern(stack))
{
return 1;
}
return 64;
}
@Override
public String getUnlocalizedName(ItemStack stack)
{
if (hasPattern(stack))
{
return "item.storagecraft:pattern";
}
return "item.storagecraft:pattern.blank";
}
public static boolean isValid(World world, ItemStack stack)
{
return stack.getTagCompound() != null && hasPattern(stack) && getPatternResult(world, stack) != null;
}
public static ItemStack[] getPattern(ItemStack stack)
{
ItemStack[] pattern = new ItemStack[9];
if (stack.getTagCompound() != null)
{
for (int i = 0; i < 9; ++i)
{
String name = String.format(NBT_SLOT, i);
if (stack.getTagCompound().hasKey(name))
{
pattern[i] = ItemStack.loadItemStackFromNBT(stack.getTagCompound().getCompoundTag(name));
}
}
}
return pattern;
}
public static boolean hasPattern(ItemStack stack)
{
int empty = 0;
for (ItemStack slot : getPattern(stack))
{
if (slot == null)
{
empty++;
}
}
return empty != 9;
}
public static ItemStack getPatternResult(World world, ItemStack stack)
{
InventoryCrafting crafting = new InventoryCrafting(new Container()
{
@Override
public boolean canInteractWith(EntityPlayer player)
{
return false;
}
}, 3, 3);
ItemStack[] pattern = getPattern(stack);
for (int i = 0; i < 9; ++i)
{
crafting.setInventorySlotContents(i, pattern[i]);
}
return CraftingManager.getInstance().findMatchingRecipe(crafting, world);
}
public static ItemStack setPattern(ItemStack stack, ItemStack slot, int id)
{
if (stack.getTagCompound() == null)
{
stack.setTagCompound(new NBTTagCompound());
}
NBTTagCompound slotTag = new NBTTagCompound();
slot.writeToNBT(slotTag);
stack.getTagCompound().setTag(String.format(NBT_SLOT, id), slotTag);
return stack;
}
}

View File

@@ -51,14 +51,7 @@ public class MessageGridCraftingClear extends MessageHandlerPlayerToServer<Messa
{
TileGrid grid = (TileGrid) tile;
if (grid.getType() == EnumGridType.PATTERN)
{
for (int i = 0; i < 9; ++i)
{
grid.getPatternCraftingInventory().setInventorySlotContents(i, null);
}
}
else if (grid.isConnected() && grid.getType() == EnumGridType.CRAFTING)
if (grid.isConnected() && grid.getType() == EnumGridType.CRAFTING)
{
for (int i = 0; i < grid.getCraftingInventory().getSizeInventory(); ++i)
{

View File

@@ -59,11 +59,6 @@ public class ClientProxy extends CommonProxy
new ResourceLocation("storagecraft:wireless_grid_disconnected")
);
ModelBakery.registerItemVariants(StorageCraftItems.PATTERN,
new ResourceLocation("storagecraft:pattern"),
new ResourceLocation("storagecraft:blank_pattern")
);
// Items
ModelLoader.setCustomModelResourceLocation(StorageCraftItems.STORAGE_CELL, ItemStorageCell.TYPE_1K, new ModelResourceLocation("storagecraft:1k_storage_cell", "inventory"));
ModelLoader.setCustomModelResourceLocation(StorageCraftItems.STORAGE_CELL, ItemStorageCell.TYPE_4K, new ModelResourceLocation("storagecraft:4k_storage_cell", "inventory"));
@@ -86,22 +81,6 @@ public class ClientProxy extends CommonProxy
ModelLoader.setCustomModelResourceLocation(StorageCraftItems.SILICON, 0, new ModelResourceLocation("storagecraft:silicon", "inventory"));
ModelLoader.setCustomMeshDefinition(StorageCraftItems.PATTERN, new ItemMeshDefinition()
{
@Override
public ModelResourceLocation getModelLocation(ItemStack stack)
{
if (ItemPattern.hasPattern(stack))
{
return new ModelResourceLocation("storagecraft:pattern", "inventory");
}
else
{
return new ModelResourceLocation("storagecraft:blank_pattern", "inventory");
}
}
});
ModelLoader.setCustomModelResourceLocation(StorageCraftItems.QUARTZ_ENRICHED_IRON, 0, new ModelResourceLocation("storagecraft:quartz_enriched_iron", "inventory"));
ModelLoader.setCustomModelResourceLocation(StorageCraftItems.CORE, ItemCore.TYPE_CONSTRUCTION, new ModelResourceLocation("storagecraft:construction_core", "inventory"));
@@ -129,7 +108,6 @@ public class ClientProxy extends CommonProxy
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(StorageCraftBlocks.CABLE), 0, new ModelResourceLocation("storagecraft:cable", "inventory"));
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(StorageCraftBlocks.GRID), EnumGridType.NORMAL.getId(), new ModelResourceLocation("storagecraft:grid", "inventory"));
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(StorageCraftBlocks.GRID), EnumGridType.CRAFTING.getId(), new ModelResourceLocation("storagecraft:grid", "inventory"));
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(StorageCraftBlocks.GRID), EnumGridType.PATTERN.getId(), new ModelResourceLocation("storagecraft:grid", "inventory"));
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(StorageCraftBlocks.MACHINE_CASING), 0, new ModelResourceLocation("storagecraft:machine_casing", "inventory"));
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(StorageCraftBlocks.EXPORTER), 0, new ModelResourceLocation("storagecraft:exporter", "inventory"));
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(StorageCraftBlocks.IMPORTER), 0, new ModelResourceLocation("storagecraft:importer", "inventory"));

View File

@@ -20,7 +20,6 @@ import storagecraft.item.*;
import storagecraft.network.*;
import storagecraft.storage.NBTStorage;
import storagecraft.tile.*;
import storagecraft.tile.crafting.TileCrafter;
import storagecraft.tile.solderer.*;
public class CommonProxy
@@ -55,7 +54,6 @@ public class CommonProxy
GameRegistry.registerTileEntity(TileDestructor.class, "destructor");
GameRegistry.registerTileEntity(TileConstructor.class, "constructor");
GameRegistry.registerTileEntity(TileStorage.class, "storage");
GameRegistry.registerTileEntity(TileCrafter.class, "crafter");
GameRegistry.registerBlock(StorageCraftBlocks.CONTROLLER, ItemBlockController.class, "controller");
GameRegistry.registerBlock(StorageCraftBlocks.CABLE, "cable");
@@ -71,7 +69,6 @@ public class CommonProxy
GameRegistry.registerBlock(StorageCraftBlocks.DESTRUCTOR, "destructor");
GameRegistry.registerBlock(StorageCraftBlocks.CONSTRUCTOR, "constructor");
GameRegistry.registerBlock(StorageCraftBlocks.STORAGE, ItemBlockStorage.class, "storage");
GameRegistry.registerBlock(StorageCraftBlocks.CRAFTER, "crafter");
GameRegistry.registerItem(StorageCraftItems.STORAGE_CELL, "storage_cell");
GameRegistry.registerItem(StorageCraftItems.WIRELESS_GRID, "wireless_grid");
@@ -81,7 +78,6 @@ public class CommonProxy
GameRegistry.registerItem(StorageCraftItems.SILICON, "silicon");
GameRegistry.registerItem(StorageCraftItems.PROCESSOR, "processor");
GameRegistry.registerItem(StorageCraftItems.STORAGE_PART, "storage_part");
GameRegistry.registerItem(StorageCraftItems.PATTERN, "pattern");
// Processors
SoldererRegistry.addRecipe(new SoldererRecipePrintedProcessor(ItemProcessor.TYPE_PRINTED_BASIC));
@@ -174,9 +170,6 @@ public class CommonProxy
// Crafting Grid
SoldererRegistry.addRecipe(new SoldererRecipeCraftingGrid());
// Pattern Grid
SoldererRegistry.addRecipe(new SoldererRecipePatternGrid());
// Wireless Transmitter
GameRegistry.addRecipe(new ItemStack(StorageCraftBlocks.WIRELESS_TRANSMITTER),
"EPE",
@@ -352,16 +345,6 @@ public class CommonProxy
SoldererRegistry.addRecipe(new SoldererRecipeStorage(EnumStorageType.TYPE_4K, ItemStoragePart.TYPE_4K));
SoldererRegistry.addRecipe(new SoldererRecipeStorage(EnumStorageType.TYPE_16K, ItemStoragePart.TYPE_16K));
SoldererRegistry.addRecipe(new SoldererRecipeStorage(EnumStorageType.TYPE_64K, ItemStoragePart.TYPE_64K));
// Pattern
GameRegistry.addRecipe(new ItemStack(StorageCraftItems.PATTERN),
"LGL",
"GLG",
"EEE",
'E', new ItemStack(StorageCraftItems.QUARTZ_ENRICHED_IRON),
'L', new ItemStack(Blocks.glass),
'G', new ItemStack(Items.glowstone_dust)
);
}
public void init(FMLInitializationEvent e)

View File

@@ -17,8 +17,6 @@ public class StorageItem
private NBTTagCompound tag;
@SideOnly(Side.CLIENT)
private int id;
@SideOnly(Side.CLIENT)
private boolean craftable;
public StorageItem(ByteBuf buf)
{
@@ -26,7 +24,6 @@ public class StorageItem
this.type = Item.getItemById(buf.readInt());
this.quantity = buf.readInt();
this.damage = buf.readInt();
this.craftable = buf.readBoolean();
this.tag = buf.readBoolean() ? ByteBufUtils.readTag(buf) : null;
}
@@ -50,20 +47,12 @@ public class StorageItem
this(stack.getItem(), stack.stackSize, stack.getItemDamage(), stack.getTagCompound());
}
public StorageItem(ItemStack stack, boolean craftable)
{
this(stack);
this.craftable = craftable;
}
public void toBytes(ByteBuf buf, int id)
{
buf.writeInt(id);
buf.writeInt(Item.getIdFromItem(type));
buf.writeInt(quantity);
buf.writeInt(damage);
buf.writeBoolean(craftable);
buf.writeBoolean(tag != null);
if (tag != null)
@@ -113,12 +102,6 @@ public class StorageItem
return id;
}
@SideOnly(Side.CLIENT)
public boolean isCraftable()
{
return craftable;
}
public StorageItem copy()
{
return copy(quantity);

View File

@@ -11,14 +11,12 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.BlockPos;
import net.minecraftforge.fml.common.network.ByteBufUtils;
import storagecraft.StorageCraftBlocks;
import storagecraft.block.BlockController;
import storagecraft.block.EnumControllerType;
import storagecraft.storage.IStorage;
import storagecraft.storage.IStorageProvider;
import storagecraft.storage.StorageItem;
import storagecraft.tile.crafting.TileCrafter;
import storagecraft.tile.settings.IRedstoneModeSetting;
import storagecraft.tile.settings.RedstoneMode;
import storagecraft.util.InventoryUtils;
@@ -32,8 +30,6 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor
private List<TileMachine> machines = new ArrayList<TileMachine>();
private List<ItemStack> patterns = new ArrayList<ItemStack>();
private List<BlockPos> visitedCables = new ArrayList<BlockPos>();
private EnergyStorage energy = new EnergyStorage(32000);
@@ -129,40 +125,20 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor
energyUsage += machine.getEnergyUsage();
}
patterns.clear();
for (TileMachine machine : machines)
switch (getType())
{
if (machine instanceof TileCrafter)
{
TileCrafter crafter = (TileCrafter) machine;
for (int i = 0; i < crafter.getSizeInventory(); ++i)
{
ItemStack slot = crafter.getStackInSlot(i);
if (slot != null)
{
patterns.add(slot);
}
}
}
case NORMAL:
energy.extractEnergy(energyUsage, false);
break;
case CREATIVE:
energy.setEnergyStored(energy.getMaxEnergyStored());
break;
}
}
switch (getType())
{
case NORMAL:
energy.extractEnergy(energyUsage, false);
break;
case CREATIVE:
energy.setEnergyStored(energy.getMaxEnergyStored());
break;
}
if (lastEnergy != energy.getEnergyStored())
{
worldObj.updateComparatorOutputLevel(pos, StorageCraftBlocks.CONTROLLER);
if (lastEnergy != energy.getEnergyStored())
{
worldObj.updateComparatorOutputLevel(pos, StorageCraftBlocks.CONTROLLER);
}
}
}
}
@@ -199,11 +175,6 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor
return machines;
}
public List<ItemStack> getPatterns()
{
return patterns;
}
public List<StorageItem> getItems()
{
return items;
@@ -447,15 +418,6 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor
{
items.add(new StorageItem(buf));
}
int patternSize = buf.readInt();
patterns.clear();
for (int i = 0; i < patternSize; ++i)
{
patterns.add(ByteBufUtils.readItemStack(buf));
}
}
@Override
@@ -472,12 +434,5 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor
{
item.toBytes(buf, items.indexOf(item));
}
buf.writeInt(patterns.size());
for (ItemStack pattern : patterns)
{
ByteBufUtils.writeItemStack(buf, pattern);
}
}
}

View File

@@ -10,11 +10,9 @@ import net.minecraft.item.crafting.CraftingManager;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.fml.common.network.NetworkRegistry.TargetPoint;
import storagecraft.StorageCraft;
import storagecraft.StorageCraftItems;
import storagecraft.block.BlockGrid;
import storagecraft.block.EnumGridType;
import storagecraft.inventory.InventorySimple;
import storagecraft.item.ItemPattern;
import storagecraft.network.MessageGridCraftingUpdate;
import storagecraft.storage.StorageItem;
import storagecraft.util.InventoryUtils;
@@ -47,24 +45,6 @@ public class TileGrid extends TileMachine
private InventoryCrafting craftingInventory = new InventoryCrafting(craftingContainer, 3, 3);
private InventorySimple craftingResultInventory = new InventorySimple("crafting_result", 1);
private Container patternCraftingContainer = new Container()
{
@Override
public boolean canInteractWith(EntityPlayer player)
{
return false;
}
@Override
public void onCraftMatrixChanged(IInventory inventory)
{
onPatternCraftingMatrixChanged();
}
};
private InventoryCrafting patternCraftingInventory = new InventoryCrafting(patternCraftingContainer, 3, 3);
private InventorySimple patternCraftingResultInventory = new InventorySimple("pattern_crafting_result", 1);
private InventorySimple patternInventory = new InventorySimple("pattern", 2, this);
private int sortingDirection = 0;
private int sortingType = 0;
@@ -131,51 +111,6 @@ public class TileGrid extends TileMachine
}
}
public InventoryCrafting getPatternCraftingInventory()
{
return patternCraftingInventory;
}
public InventorySimple getPatternCraftingResultInventory()
{
return patternCraftingResultInventory;
}
public InventorySimple getPatternInventory()
{
return patternInventory;
}
public void onPatternCraftingMatrixChanged()
{
markDirty();
patternCraftingResultInventory.setInventorySlotContents(0, CraftingManager.getInstance().findMatchingRecipe(patternCraftingInventory, worldObj));
}
public void onPatternCreate()
{
ItemStack result = patternCraftingResultInventory.getStackInSlot(0);
if (result != null && patternInventory.getStackInSlot(0) != null && patternInventory.getStackInSlot(0).stackSize > 0 && patternInventory.getStackInSlot(1) == null)
{
ItemStack pattern = new ItemStack(StorageCraftItems.PATTERN);
for (int i = 0; i < 9; ++i)
{
ItemStack slot = patternCraftingInventory.getStackInSlot(i);
if (slot != null)
{
ItemPattern.setPattern(pattern, slot, i);
}
}
patternInventory.decrStackSize(0, 1);
patternInventory.setInventorySlotContents(1, pattern);
}
}
public int getSortingDirection()
{
return sortingDirection;
@@ -207,9 +142,6 @@ public class TileGrid extends TileMachine
InventoryUtils.restoreInventory(craftingInventory, 0, nbt);
InventoryUtils.restoreInventory(patternCraftingInventory, 1, nbt);
InventoryUtils.restoreInventory(patternInventory, 2, nbt);
if (nbt.hasKey(NBT_SORTING_DIRECTION))
{
sortingDirection = nbt.getInteger(NBT_SORTING_DIRECTION);
@@ -228,9 +160,6 @@ public class TileGrid extends TileMachine
InventoryUtils.saveInventory(craftingInventory, 0, nbt);
InventoryUtils.saveInventory(patternCraftingInventory, 1, nbt);
InventoryUtils.saveInventory(patternInventory, 2, nbt);
nbt.setInteger(NBT_SORTING_DIRECTION, sortingDirection);
nbt.setInteger(NBT_SORTING_TYPE, sortingType);
}
@@ -260,10 +189,6 @@ public class TileGrid extends TileMachine
{
return craftingInventory;
}
else if (getType() == EnumGridType.PATTERN)
{
return patternInventory;
}
return null;
}

View File

@@ -1,150 +0,0 @@
package storagecraft.tile.crafting;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.text.ITextComponent;
import storagecraft.inventory.InventorySimple;
import storagecraft.tile.TileMachine;
import storagecraft.util.InventoryUtils;
public class TileCrafter extends TileMachine implements IInventory
{
private InventorySimple inventory = new InventorySimple("crafter", 9);
@Override
public int getEnergyUsage()
{
return 2;
}
@Override
public void updateMachine()
{
}
@Override
public void readFromNBT(NBTTagCompound nbt)
{
super.readFromNBT(nbt);
InventoryUtils.restoreInventory(this, 0, nbt);
}
@Override
public void writeToNBT(NBTTagCompound nbt)
{
super.writeToNBT(nbt);
InventoryUtils.saveInventory(this, 0, nbt);
}
@Override
public int getSizeInventory()
{
return inventory.getSizeInventory();
}
@Override
public ItemStack getStackInSlot(int slot)
{
return inventory.getStackInSlot(slot);
}
@Override
public ItemStack decrStackSize(int slot, int count)
{
return inventory.decrStackSize(slot, count);
}
@Override
public ItemStack removeStackFromSlot(int slot)
{
return inventory.removeStackFromSlot(slot);
}
@Override
public void setInventorySlotContents(int slot, ItemStack stack)
{
inventory.setInventorySlotContents(slot, stack);
}
@Override
public int getInventoryStackLimit()
{
return inventory.getInventoryStackLimit();
}
@Override
public boolean isUseableByPlayer(EntityPlayer player)
{
return inventory.isUseableByPlayer(player);
}
@Override
public void openInventory(EntityPlayer player)
{
inventory.openInventory(player);
}
@Override
public void closeInventory(EntityPlayer player)
{
inventory.closeInventory(player);
}
@Override
public boolean isItemValidForSlot(int slot, ItemStack stack)
{
return inventory.isItemValidForSlot(slot, stack);
}
@Override
public int getField(int id)
{
return inventory.getField(id);
}
@Override
public void setField(int id, int value)
{
inventory.setField(id, value);
}
@Override
public int getFieldCount()
{
return inventory.getFieldCount();
}
@Override
public void clear()
{
inventory.clear();
}
@Override
public String getName()
{
return inventory.getName();
}
@Override
public boolean hasCustomName()
{
return inventory.hasCustomName();
}
@Override
public ITextComponent getDisplayName()
{
return inventory.getDisplayName();
}
@Override
public IInventory getDroppedInventory()
{
return inventory;
}
}

View File

@@ -1,41 +0,0 @@
package storagecraft.tile.solderer;
import net.minecraft.item.ItemStack;
import storagecraft.StorageCraftBlocks;
import storagecraft.StorageCraftItems;
import storagecraft.block.EnumGridType;
import storagecraft.item.ItemProcessor;
public class SoldererRecipePatternGrid implements ISoldererRecipe
{
@Override
public ItemStack getRow(int row)
{
if (row == 0)
{
return new ItemStack(StorageCraftItems.PROCESSOR, 1, ItemProcessor.TYPE_ADVANCED);
}
else if (row == 1)
{
return new ItemStack(StorageCraftBlocks.GRID, 1, 0);
}
else if (row == 2)
{
return new ItemStack(StorageCraftItems.PATTERN);
}
return null;
}
@Override
public ItemStack getResult()
{
return new ItemStack(StorageCraftBlocks.GRID, 1, EnumGridType.PATTERN.getId());
}
@Override
public int getDuration()
{
return 500;
}
}

View File

@@ -21,8 +21,6 @@
"normal": {
},
"crafting": {
},
"pattern": {
}
},
"connected": {

View File

@@ -3,7 +3,6 @@ itemGroup.storagecraft=StorageCraft
gui.storagecraft:controller.0=Controller
gui.storagecraft:controller.1=Creative Controller
gui.storagecraft:grid=Grid
gui.storagecraft:grid.pattern=Pattern
gui.storagecraft:drive=Drive
gui.storagecraft:external_storage=External Storage
gui.storagecraft:importer=Importer
@@ -13,7 +12,6 @@ gui.storagecraft:solderer=Solderer
gui.storagecraft:wireless_transmitter=Wireless Transmitter
gui.storagecraft:destructor=Destructor
gui.storagecraft:constructor=Constructor
gui.storagecraft:crafter=Crafter
misc.storagecraft:energy_stored=%d / %d RF
misc.storagecraft:energy_usage=Usage: %d RF/t
@@ -33,8 +31,6 @@ misc.storagecraft:wireless_grid.out_of_range=The Wireless Transmitter is out of
misc.storagecraft:wireless_grid.no_grid.0=There is no Grid found in the network. You need to place a Grid before you can use the Wireless Grid!
misc.storagecraft:wireless_grid.no_grid.1=There is no Crafting Grid found in the network. You need to place a Crafting Grid before you can use the Wireless Crafting Grid!
misc.storagecraft:pattern.tooltip=%dx %s
misc.storagecraft:yes=Yes
misc.storagecraft:no=No
misc.storagecraft:clear=Clear
@@ -70,7 +66,6 @@ block.storagecraft:controller.1.name=Creative Controller
block.storagecraft:cable.name=Cable
block.storagecraft:grid.0.name=Grid
block.storagecraft:grid.1.name=Crafting Grid
block.storagecraft:grid.2.name=Pattern Grid
block.storagecraft:drive.name=Drive
block.storagecraft:external_storage.name=External Storage
block.storagecraft:importer.name=Importer
@@ -110,6 +105,4 @@ item.storagecraft:processor.6.name=Printed Silicon
item.storagecraft:storage_part.0.name=1k Storage Part
item.storagecraft:storage_part.1.name=4k Storage Part
item.storagecraft:storage_part.2.name=16k Storage Part
item.storagecraft:storage_part.3.name=64k Storage Part
item.storagecraft:pattern.name=Pattern
item.storagecraft:pattern.blank.name=Blank Pattern
item.storagecraft:storage_part.3.name=64k Storage Part

View File

@@ -3,7 +3,6 @@ itemGroup.storagecraft=StorageCraft
gui.storagecraft:controller.0=Controller
gui.storagecraft:controller.1=Creative Controller
gui.storagecraft:grid=Rooster
gui.storagecraft:grid.pattern=Patroon
gui.storagecraft:drive=Schijf
gui.storagecraft:external_storage=Externe Opslag
gui.storagecraft:importer=Importeur
@@ -33,8 +32,6 @@ misc.storagecraft:wireless_grid.out_of_range=De Draadloze Zender is buiten berei
misc.storagecraft:wireless_grid.no_grid.0=Er is geen Rooster gevonden in het netwerk. Je moet eerst een Rooster plaatsen voor je het Draadloze Rooster kunt gebruiken.
misc.storagecraft:wireless_grid.no_grid.1=Er is geen Crafting Rooster gevonden in het netwerk. Je moet eerst een Crafting Rooster plaatsen voor je het Draadloze Crafting Rooster kunt gebruiken.
misc.storagecraft:pattern.tooltip=%dx %s
misc.storagecraft:yes=Ja
misc.storagecraft:no=Nee
misc.storagecraft:clear=Legen
@@ -70,7 +67,6 @@ block.storagecraft:controller.1.name=Creative Controller
block.storagecraft:cable.name=Kabel
block.storagecraft:grid.0.name=Rooster
block.storagecraft:grid.1.name=Crafting Rooster
block.storagecraft:grid.2.name=Patroon Raster
block.storagecraft:drive.name=Schijf
block.storagecraft:external_storage.name=Externe Opslag
block.storagecraft:importer.name=Importeur
@@ -86,7 +82,6 @@ block.storagecraft:storage.1.name=4k Opslag Blok
block.storagecraft:storage.2.name=16k Opslag Blok
block.storagecraft:storage.3.name=64k Opslag Blok
block.storagecraft:storage.4.name=Creative Opslag Blok
block.storagecraft:crafter.name=Crafter
item.storagecraft:storage_cell.0.name=1k Opslagcel
item.storagecraft:storage_cell.1.name=4k Opslagcel
@@ -110,6 +105,4 @@ item.storagecraft:processor.6.name=Gedrukte Silicon
item.storagecraft:storage_part.0.name=1k Opslagdeel
item.storagecraft:storage_part.1.name=4k Opslagdeel
item.storagecraft:storage_part.2.name=16k Opslagdeel
item.storagecraft:storage_part.3.name=64k Opslagdeel
item.storagecraft:pattern.name=Patroon
item.storagecraft:pattern.blank.name=Leeg Patroon
item.storagecraft:storage_part.3.name=64k Opslagdeel

View File

@@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "storagecraft:items/pattern"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 270 B