diff options
author | Christina Berchtold <kekzdealer@gmail.com> | 2020-04-24 23:39:52 +0200 |
---|---|---|
committer | Christina Berchtold <kekzdealer@gmail.com> | 2020-04-24 23:39:52 +0200 |
commit | 34fb2f0b55c9295c116b1244224918624e56d096 (patch) | |
tree | be3fb8e727bf27b86714a104ea6acae8e563cbdf /src/main/java/common/blocks/Block_IchorJar.java | |
parent | 27f5a01fd75c7019f220bdc44083766c27cf4180 (diff) | |
download | GT5-Unofficial-34fb2f0b55c9295c116b1244224918624e56d096.tar.gz GT5-Unofficial-34fb2f0b55c9295c116b1244224918624e56d096.tar.bz2 GT5-Unofficial-34fb2f0b55c9295c116b1244224918624e56d096.zip |
Thaumcraft jar progress
Diffstat (limited to 'src/main/java/common/blocks/Block_IchorJar.java')
-rw-r--r-- | src/main/java/common/blocks/Block_IchorJar.java | 59 |
1 files changed, 58 insertions, 1 deletions
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 { @@ -39,8 +49,55 @@ public class Block_IchorJar extends BlockJar { } @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<ItemStack> getDrops(World world, int x, int y, int z, int meta, int fortune) { + final ArrayList<ItemStack> 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; + } } |