aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/common/blocks/Block_IchorJar.java
diff options
context:
space:
mode:
authorChristina Berchtold <kekzdealer@gmail.com>2020-04-24 23:39:52 +0200
committerChristina Berchtold <kekzdealer@gmail.com>2020-04-24 23:39:52 +0200
commit34fb2f0b55c9295c116b1244224918624e56d096 (patch)
treebe3fb8e727bf27b86714a104ea6acae8e563cbdf /src/main/java/common/blocks/Block_IchorJar.java
parent27f5a01fd75c7019f220bdc44083766c27cf4180 (diff)
downloadGT5-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.java59
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;
+ }
}