diff options
author | Christina Berchtold <kekzdealer@gmail.com> | 2020-04-24 20:14:42 +0200 |
---|---|---|
committer | Christina Berchtold <kekzdealer@gmail.com> | 2020-04-24 20:14:42 +0200 |
commit | 4e465dffd1d289e6d5757929252e66cf0eee3249 (patch) | |
tree | 82fd8e617ff76e9144c4066ca7f68e26fac4491f /src/main/java/common/blocks/Block_ThaumiumReinforcedJar.java | |
parent | ea7710559a16fb4ad47d64e812ebbabfece73115 (diff) | |
download | GT5-Unofficial-4e465dffd1d289e6d5757929252e66cf0eee3249.tar.gz GT5-Unofficial-4e465dffd1d289e6d5757929252e66cf0eee3249.tar.bz2 GT5-Unofficial-4e465dffd1d289e6d5757929252e66cf0eee3249.zip |
moved blocks and TEs into 'common' package
Diffstat (limited to 'src/main/java/common/blocks/Block_ThaumiumReinforcedJar.java')
-rw-r--r-- | src/main/java/common/blocks/Block_ThaumiumReinforcedJar.java | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/src/main/java/common/blocks/Block_ThaumiumReinforcedJar.java b/src/main/java/common/blocks/Block_ThaumiumReinforcedJar.java new file mode 100644 index 0000000000..246e3c9b05 --- /dev/null +++ b/src/main/java/common/blocks/Block_ThaumiumReinforcedJar.java @@ -0,0 +1,90 @@ +package common.blocks; + +import java.util.ArrayList; + +import common.tileentities.TE_ThaumiumReinforcedJar; +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.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 { + + private static Block_ThaumiumReinforcedJar instance = new Block_ThaumiumReinforcedJar(); + + private Block_ThaumiumReinforcedJar() { + super(); + } + + public static Block_ThaumiumReinforcedJar getInstance() { + return instance; + } + + public void registerBlock() { + final String blockName = "kekztech_thaumiumreinforcedjar_block"; + super.setBlockName(blockName); + GameRegistry.registerBlock(getInstance(), blockName); + } + + @Override + @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"); + } + + @Override + public TileEntity createTileEntity(World world, int meta) { + return new TE_ThaumiumReinforcedJar(); + } + + @Override + public ArrayList<ItemStack> getDrops(World world, int x, int y, int z, int meta, int fortune) { + final ArrayList<ItemStack> drops = new ArrayList<>(); + + TileEntity te; + ItemStack drop; + + te = world.getTileEntity(x, y, z); + if(te != null && te instanceof TileJarFillable) { + drop = new ItemStack(Item_ThaumiumReinforcedJarFilled.getInstance()); + // Empty and no label + if(((TileJarFillable) te).amount <= 0 && ((TileJarFillable) 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(((TileJarFillable) te).amount > 0) { + ((ItemJarFilled) drop.getItem()).setAspects(drop, + (new AspectList()).add(((TileJarFillable) te).aspect, ((TileJarFillable) te).amount)); + } + // has label + if(((TileJarFillable) te).aspectFilter != null) { + if(!drop.hasTagCompound()) { + drop.setTagCompound(new NBTTagCompound()); + } + drop.stackTagCompound.setString("AspectFilter", ((TileJarFillable) te).aspectFilter.getTag()); + } + drops.add(drop); + } + return drops; + } + +} |