From 34fb2f0b55c9295c116b1244224918624e56d096 Mon Sep 17 00:00:00 2001 From: Christina Berchtold Date: Fri, 24 Apr 2020 23:39:52 +0200 Subject: Thaumcraft jar progress --- src/main/java/common/blocks/Block_IchorJar.java | 59 +++++++++++++++++++++- .../common/blocks/Block_ThaumiumReinforcedJar.java | 48 +++++++++++------- src/main/java/container/Gui_ItemProxyEndpoint.java | 2 +- src/main/java/kekztech/KekzCore.java | 16 +++--- 4 files changed, 98 insertions(+), 27 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/common/blocks/Block_IchorJar.java b/src/main/java/common/blocks/Block_IchorJar.java index b5660f3d82..a575398dfc 100644 --- a/src/main/java/common/blocks/Block_IchorJar.java +++ b/src/main/java/common/blocks/Block_IchorJar.java @@ -1,13 +1,23 @@ package common.blocks; +import java.util.ArrayList; +import java.util.List; + import common.tileentities.TE_IchorJar; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import items.Item_ThaumiumReinforcedJarFilled; import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; +import thaumcraft.api.aspects.AspectList; import thaumcraft.common.blocks.BlockJar; +import thaumcraft.common.tiles.TileJarFillableVoid; public class Block_IchorJar extends BlockJar { @@ -38,9 +48,56 @@ public class Block_IchorJar extends BlockJar { super.iconJarBottom = ir.registerIcon("kekztech:ichor_jar_bottom"); } + @Override + @SideOnly(Side.CLIENT) + @SuppressWarnings({ "rawtypes", "unchecked" }) + public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List par3List) { + par3List.add(new ItemStack(par1, 1, 0)); // Normal jar + par3List.add(new ItemStack(par1, 1, 3)); // Void jar + } + @Override public TileEntity createTileEntity(World world, int meta) { - return new TE_IchorJar(); + if(meta == 0) { + return new TE_IchorJar(); + } else if (meta == 3) { + return new TileJarFillableVoid(); + } else { + return null; + } } + @Override + public ArrayList getDrops(World world, int x, int y, int z, int meta, int fortune) { + final ArrayList drops = new ArrayList<>(); + + ItemStack drop; + + final TileEntity te = world.getTileEntity(x, y, z); + if(te != null && te instanceof TE_IchorJar) { + drop = new ItemStack(Item_ThaumiumReinforcedJarFilled.getInstance()); + // Empty and no label + if(((TE_IchorJar) te).amount <= 0 && ((TE_IchorJar) te).aspectFilter == null) { + drop = new ItemStack(this); + } + // If is void jar, set meta + if(te instanceof TileJarFillableVoid) { + drop.setItemDamage(3); + } + // Non empty, generate filled jar item with contents + if(((TE_IchorJar) te).amount > 0) { + ((Item_ThaumiumReinforcedJarFilled) drop.getItem()).setAspects(drop, + (new AspectList()).add(((TE_IchorJar) te).aspect, ((TE_IchorJar) te).amount)); + } + // has label + if(((TE_IchorJar) te).aspectFilter != null) { + if(!drop.hasTagCompound()) { + drop.setTagCompound(new NBTTagCompound()); + } + drop.stackTagCompound.setString("AspectFilter", ((TE_IchorJar) te).aspectFilter.getTag()); + } + drops.add(drop); + } + return drops; + } } diff --git a/src/main/java/common/blocks/Block_ThaumiumReinforcedJar.java b/src/main/java/common/blocks/Block_ThaumiumReinforcedJar.java index 246e3c9b05..d4777a8cfe 100644 --- a/src/main/java/common/blocks/Block_ThaumiumReinforcedJar.java +++ b/src/main/java/common/blocks/Block_ThaumiumReinforcedJar.java @@ -1,6 +1,7 @@ package common.blocks; import java.util.ArrayList; +import java.util.List; import common.tileentities.TE_ThaumiumReinforcedJar; import cpw.mods.fml.common.registry.GameRegistry; @@ -8,14 +9,14 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import items.Item_ThaumiumReinforcedJarFilled; import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import thaumcraft.api.aspects.AspectList; import thaumcraft.common.blocks.BlockJar; -import thaumcraft.common.blocks.ItemJarFilled; -import thaumcraft.common.tiles.TileJarFillable; import thaumcraft.common.tiles.TileJarFillableVoid; public class Block_ThaumiumReinforcedJar extends BlockJar { @@ -40,30 +41,43 @@ public class Block_ThaumiumReinforcedJar extends BlockJar { @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister ir) { super.iconLiquid = ir.registerIcon("thaumcraft:animatedglow"); - super.iconJarSide = ir.registerIcon("kekztech:jar_side"); - super.iconJarTop = ir.registerIcon("kekztech:jar_top"); - super.iconJarTopVoid = ir.registerIcon("kekztech:jar_top_void"); - super.iconJarSideVoid = ir.registerIcon("kekztech:jar_side_void"); - super.iconJarBottom = ir.registerIcon("kekztech:jar_bottom"); + super.iconJarSide = ir.registerIcon("kekztech:thaumreinforced_jar_side"); + super.iconJarTop = ir.registerIcon("kekztech:thaumreinforced_jar_top"); + super.iconJarTopVoid = ir.registerIcon("kekztech:thaumreinforced_jar_top_void"); + super.iconJarSideVoid = ir.registerIcon("kekztech:thaumreinforced_jar_side_void"); + super.iconJarBottom = ir.registerIcon("kekztech:thaumreinforced_jar_bottom"); + } + + @Override + @SideOnly(Side.CLIENT) + @SuppressWarnings({ "rawtypes", "unchecked" }) + public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List par3List) { + par3List.add(new ItemStack(par1, 1, 0)); // Normal jar + par3List.add(new ItemStack(par1, 1, 3)); // Void jar } @Override public TileEntity createTileEntity(World world, int meta) { - return new TE_ThaumiumReinforcedJar(); + if(meta == 0) { + return new TE_ThaumiumReinforcedJar(); + } else if (meta == 3) { + return new TileJarFillableVoid(); + } else { + return null; + } } @Override public ArrayList getDrops(World world, int x, int y, int z, int meta, int fortune) { final ArrayList drops = new ArrayList<>(); - TileEntity te; ItemStack drop; - te = world.getTileEntity(x, y, z); - if(te != null && te instanceof TileJarFillable) { + final TileEntity te = world.getTileEntity(x, y, z); + if(te != null && te instanceof TE_ThaumiumReinforcedJar) { drop = new ItemStack(Item_ThaumiumReinforcedJarFilled.getInstance()); // Empty and no label - if(((TileJarFillable) te).amount <= 0 && ((TileJarFillable) te).aspectFilter == null) { + if(((TE_ThaumiumReinforcedJar) te).amount <= 0 && ((TE_ThaumiumReinforcedJar) te).aspectFilter == null) { drop = new ItemStack(this); } // If is void jar, set meta @@ -71,16 +85,16 @@ public class Block_ThaumiumReinforcedJar extends BlockJar { drop.setItemDamage(3); } // Non empty, generate filled jar item with contents - if(((TileJarFillable) te).amount > 0) { - ((ItemJarFilled) drop.getItem()).setAspects(drop, - (new AspectList()).add(((TileJarFillable) te).aspect, ((TileJarFillable) te).amount)); + if(((TE_ThaumiumReinforcedJar) te).amount > 0) { + ((Item_ThaumiumReinforcedJarFilled) drop.getItem()).setAspects(drop, + (new AspectList()).add(((TE_ThaumiumReinforcedJar) te).aspect, ((TE_ThaumiumReinforcedJar) te).amount)); } // has label - if(((TileJarFillable) te).aspectFilter != null) { + if(((TE_ThaumiumReinforcedJar) te).aspectFilter != null) { if(!drop.hasTagCompound()) { drop.setTagCompound(new NBTTagCompound()); } - drop.stackTagCompound.setString("AspectFilter", ((TileJarFillable) te).aspectFilter.getTag()); + drop.stackTagCompound.setString("AspectFilter", ((TE_ThaumiumReinforcedJar) te).aspectFilter.getTag()); } drops.add(drop); } diff --git a/src/main/java/container/Gui_ItemProxyEndpoint.java b/src/main/java/container/Gui_ItemProxyEndpoint.java index 0fb1b6e05b..cf5f9637b0 100644 --- a/src/main/java/container/Gui_ItemProxyEndpoint.java +++ b/src/main/java/container/Gui_ItemProxyEndpoint.java @@ -14,7 +14,7 @@ import net.minecraft.util.ResourceLocation; public class Gui_ItemProxyEndpoint extends GuiContainer { - private final ResourceLocation texture = new ResourceLocation(KekzCore.MODID, "textures/gui/ItemTech1by1.png"); + private final ResourceLocation texture = new ResourceLocation(KekzCore.MODID, "textures/gui/ItemTechReceiverNode.png"); private final InventoryPlayer inventory; private final IInventory te; diff --git a/src/main/java/kekztech/KekzCore.java b/src/main/java/kekztech/KekzCore.java index ad5ab24242..eb725ed74f 100644 --- a/src/main/java/kekztech/KekzCore.java +++ b/src/main/java/kekztech/KekzCore.java @@ -90,7 +90,7 @@ public class KekzCore { ErrorItem.getInstance().registerItem(); MetaItem_ReactorComponent.getInstance().registerItem(); MetaItem_CraftingComponent.getInstance().registerItem(); - Item_Configurator.getInstance().registerItem(); + //Item_Configurator.getInstance().registerItem(); Items.registerOreDictNames(); Item_ThaumiumReinforcedJarFilled.getInstance().registerItem(); @@ -111,9 +111,9 @@ public class KekzCore { //Block_ItemServerDrive.getInstance().registerBlock(); //Block_ItemServerRackCasing.getInstance().registerBlock(); //Block_ItemServerIOPort.getInstance().registerBlock(); - Block_ItemProxyCable.getInstance().registerBlock(); - Block_ItemProxySource.getInstance().registerBlock(); - Block_ItemProxyEndpoint.getInstance().registerBlock(); + //Block_ItemProxyCable.getInstance().registerBlock(); + //Block_ItemProxySource.getInstance().registerBlock(); + //Block_ItemProxyEndpoint.getInstance().registerBlock(); Block_ThaumiumReinforcedJar.getInstance().registerBlock(); Block_IchorJar.getInstance().registerBlock(); @@ -121,9 +121,9 @@ public class KekzCore { // Register TileEntities GameRegistry.registerTileEntity(TE_TFFTMultiHatch.class, "kekztech_tfftmultihatch_tile"); //GameRegistry.registerTileEntity(TE_ItemServerIOPort.class, "kekztech_itemserverioport_tile"); - GameRegistry.registerTileEntity(TE_ItemProxyCable.class, "kekztech_itemproxycable_tile"); - GameRegistry.registerTileEntity(TE_ItemProxySource.class, "kekztech_itemproxysource_tile"); - GameRegistry.registerTileEntity(TE_ItemProxyEndpoint.class, "kekztech_itemproxyendpoint_tile"); + //GameRegistry.registerTileEntity(TE_ItemProxyCable.class, "kekztech_itemproxycable_tile"); + //GameRegistry.registerTileEntity(TE_ItemProxySource.class, "kekztech_itemproxysource_tile"); + //GameRegistry.registerTileEntity(TE_ItemProxyEndpoint.class, "kekztech_itemproxyendpoint_tile"); GameRegistry.registerTileEntity(TE_ThaumiumReinforcedJar.class, "kekztech_thaumiumreinforcedjar"); GameRegistry.registerTileEntity(TE_IchorJar.class, "kekztech_ichorjar"); @@ -141,7 +141,7 @@ public class KekzCore { fms = new GTMTE_FluidMultiStorage(13104, "multimachine.tf_fluidtank", "T.F.F.T"); //is = new GTMTE_ItemServer(13105, "multimachine.itemserver", "Item Server"); // Register renderer - ConduitRenderer.getInstance().registerRenderer(); + //ConduitRenderer.getInstance().registerRenderer(); } @Mod.EventHandler -- cgit