diff options
| author | Technus <daniel112092@gmail.com> | 2017-08-10 11:35:20 +0200 |
|---|---|---|
| committer | Technus <daniel112092@gmail.com> | 2017-08-10 11:35:20 +0200 |
| commit | d552232aa0383f930cefc776ca3e02d1b9db47dd (patch) | |
| tree | 83cd28874058d9ce1568da99be5b2c2ad6844b69 /src/main/java | |
| parent | 77d73ac431886f134fc1d698aaa4e7c7ee0e761e (diff) | |
| download | GT5-Unofficial-d552232aa0383f930cefc776ca3e02d1b9db47dd.tar.gz GT5-Unofficial-d552232aa0383f930cefc776ca3e02d1b9db47dd.tar.bz2 GT5-Unofficial-d552232aa0383f930cefc776ca3e02d1b9db47dd.zip | |
Multiblock iConstructible expainsion to allow hinting of the structure
Diffstat (limited to 'src/main/java')
37 files changed, 465 insertions, 145 deletions
diff --git a/src/main/java/com/github/technus/tectech/Util.java b/src/main/java/com/github/technus/tectech/Util.java index d83df4d61f..cf039bcb8d 100644 --- a/src/main/java/com/github/technus/tectech/Util.java +++ b/src/main/java/com/github/technus/tectech/Util.java @@ -1,6 +1,7 @@ package com.github.technus.tectech; import com.github.technus.tectech.auxiliary.TecTechConfig; +import com.github.technus.tectech.thing.casing.TT_Container_Casings; import cpw.mods.fml.common.registry.GameRegistry; import gregtech.api.GregTech_API; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; @@ -305,11 +306,12 @@ public class Util { Block[] blockType,//use numbers 0-9 for casing types byte[] blockMeta,//use numbers 0-9 for casing types int horizontalOffset, int verticalOffset, int depthOffset, - IGregTechTileEntity aBaseMetaTileEntity) { + IGregTechTileEntity aBaseMetaTileEntity, boolean hintsOnly) { + World world = aBaseMetaTileEntity.getWorld(); + if ((world.isRemote && !hintsOnly)||(!world.isRemote && hintsOnly)) return false; + //TE Rotation byte facing = aBaseMetaTileEntity.getFrontFacing(); - World world = aBaseMetaTileEntity.getWorld(); - if (world.isRemote) return false; int x, y, z, a, b, c, pointer; final int @@ -378,34 +380,64 @@ public class Util { //Check block if (world.blockExists(x, y, z)) {//this actually checks if the chunk is loaded - switch (block) { + if(hintsOnly){ + switch (block) { + case '-'://must be air + TecTech.proxy.hint_particle(world,x, y, z, TT_Container_Casings.sHintCasingsTT, 13); + break; + case '+'://must not be air + TecTech.proxy.hint_particle(world,x, y, z, TT_Container_Casings.sHintCasingsTT, 14); + break; + default: //check for block + if ((pointer = block - '0') >= 0) { + TecTech.proxy.hint_particle(world,x, y, z, blockType[pointer], blockMeta[pointer]); + } else if ((pointer = block - ' ') >= 0) { + switch(pointer){ + case 0: TecTech.proxy.hint_particle(world,x, y, z, TT_Container_Casings.sHintCasingsTT, 0); break; + case 1: TecTech.proxy.hint_particle(world,x, y, z, TT_Container_Casings.sHintCasingsTT, 1); break; + case 2: TecTech.proxy.hint_particle(world,x, y, z, TT_Container_Casings.sHintCasingsTT, 2); break; + case 3: TecTech.proxy.hint_particle(world,x, y, z, TT_Container_Casings.sHintCasingsTT, 3); break; + case 4: TecTech.proxy.hint_particle(world,x, y, z, TT_Container_Casings.sHintCasingsTT, 4); break; + case 5: TecTech.proxy.hint_particle(world,x, y, z, TT_Container_Casings.sHintCasingsTT, 5); break; + case 6: TecTech.proxy.hint_particle(world,x, y, z, TT_Container_Casings.sHintCasingsTT, 6); break; + case 7: TecTech.proxy.hint_particle(world,x, y, z, TT_Container_Casings.sHintCasingsTT, 7); break; + case 8: TecTech.proxy.hint_particle(world,x, y, z, TT_Container_Casings.sHintCasingsTT, 8); break; + case 9: TecTech.proxy.hint_particle(world,x, y, z, TT_Container_Casings.sHintCasingsTT, 9); break; + case 10:TecTech.proxy.hint_particle(world,x, y, z, TT_Container_Casings.sHintCasingsTT, 10); break; + case 11:TecTech.proxy.hint_particle(world,x, y, z, TT_Container_Casings.sHintCasingsTT, 11); break; + default:TecTech.proxy.hint_particle(world,x, y, z, TT_Container_Casings.sHintCasingsTT, 12); + } + } else TecTech.proxy.hint_particle(world,x, y, z, TT_Container_Casings.sHintCasingsTT, 15); + } + }else{ + switch (block) { case '-'://must be air world.setBlock(x, y, z, Blocks.air, 0, 2); break; case '+'://must not be air - world.setBlock(x, y, z, Blocks.stone, 15, 2); + world.setBlock(x, y, z, TT_Container_Casings.sBlockCasingsTT, 14, 2); break; default: //check for block if ((pointer = block - '0') >= 0) { world.setBlock(x, y, z, blockType[pointer], blockMeta[pointer], 2); } else if ((pointer = block - ' ') >= 0) { switch(pointer){ - case 0: world.setBlock(x, y, z, Blocks.wool, 11, 2); break; - case 1: world.setBlock(x, y, z, Blocks.wool, 3, 2); break; - case 2: world.setBlock(x, y, z, Blocks.wool, 0, 2); break; - case 3: world.setBlock(x, y, z, Blocks.wool, 8, 2); break; - case 4: world.setBlock(x, y, z, Blocks.wool, 7, 2); break; - case 5: world.setBlock(x, y, z, Blocks.wool, 15, 2); break; - case 6: world.setBlock(x, y, z, Blocks.stained_hardened_clay, 11, 2); break; - case 7: world.setBlock(x, y, z, Blocks.stained_hardened_clay, 3, 2); break; - case 8: world.setBlock(x, y, z, Blocks.stained_hardened_clay, 0, 2); break; - case 9: world.setBlock(x, y, z, Blocks.stained_hardened_clay, 8, 2); break; - case 10:world.setBlock(x, y, z, Blocks.stained_hardened_clay, 7, 2); break; - case 11:world.setBlock(x, y, z, Blocks.stained_hardened_clay, 15, 2); break; - default:world.setBlock(x, y, z, Blocks.lapis_block, 0, 2); + case 0: world.setBlock(x, y, z, TT_Container_Casings.sHintCasingsTT, 0, 2); break; + case 1: world.setBlock(x, y, z, TT_Container_Casings.sHintCasingsTT, 1,2); break; + case 2: world.setBlock(x, y, z, TT_Container_Casings.sHintCasingsTT, 2,2); break; + case 3: world.setBlock(x, y, z, TT_Container_Casings.sHintCasingsTT, 3,2); break; + case 4: world.setBlock(x, y, z, TT_Container_Casings.sHintCasingsTT, 4,2); break; + case 5: world.setBlock(x, y, z, TT_Container_Casings.sHintCasingsTT, 5, 2); break; + case 6: world.setBlock(x, y, z, TT_Container_Casings.sHintCasingsTT, 6, 2); break; + case 7: world.setBlock(x, y, z, TT_Container_Casings.sHintCasingsTT, 7,2); break; + case 8: world.setBlock(x, y, z, TT_Container_Casings.sHintCasingsTT, 8,2); break; + case 9: world.setBlock(x, y, z, TT_Container_Casings.sHintCasingsTT, 9,2); break; + case 10:world.setBlock(x, y, z, TT_Container_Casings.sHintCasingsTT, 10,2); break; + case 11:world.setBlock(x, y, z, TT_Container_Casings.sHintCasingsTT, 11, 2); break; + default:world.setBlock(x, y, z, TT_Container_Casings.sHintCasingsTT, 12, 2); } - - } + } else world.setBlock(x, y, z, TT_Container_Casings.sHintCasingsTT, 15,2); + } } } a++;//block in horizontal layer diff --git a/src/main/java/com/github/technus/tectech/vec3pos.java b/src/main/java/com/github/technus/tectech/Vec3pos.java index 1a4a38f142..b38a76ded5 100644 --- a/src/main/java/com/github/technus/tectech/vec3pos.java +++ b/src/main/java/com/github/technus/tectech/Vec3pos.java @@ -5,24 +5,24 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; /** * Created by Tec on 05.04.2017. */ -public class vec3pos implements Comparable<vec3pos> { +public class Vec3pos implements Comparable<Vec3pos> { public final int x, z; public final short y; - public vec3pos(int x, short y, int z) { + public Vec3pos(int x, short y, int z) { this.x = x; this.y = y; this.z = z; } - public vec3pos(IGregTechTileEntity te) { + public Vec3pos(IGregTechTileEntity te) { this.x = te.getXCoord(); this.y = te.getYCoord(); this.z = te.getZCoord(); } @Override - public int compareTo(vec3pos o) { + public int compareTo(Vec3pos o) { int tmp=y-o.y; if (tmp!=0) return tmp; tmp=x-o.x; @@ -32,8 +32,8 @@ public class vec3pos implements Comparable<vec3pos> { @Override public boolean equals(Object obj) { - if(obj instanceof vec3pos){ - vec3pos v=(vec3pos) obj; + if(obj instanceof Vec3pos){ + Vec3pos v=(Vec3pos) obj; return x==v.x && z==v.z && y==v.y; } return false; diff --git a/src/main/java/com/github/technus/tectech/dataFramework/quantumDataPacket.java b/src/main/java/com/github/technus/tectech/dataFramework/QuantumDataPacket.java index 7e2919879f..8f40dfb09d 100644 --- a/src/main/java/com/github/technus/tectech/dataFramework/quantumDataPacket.java +++ b/src/main/java/com/github/technus/tectech/dataFramework/QuantumDataPacket.java @@ -1,6 +1,6 @@ package com.github.technus.tectech.dataFramework; -import com.github.technus.tectech.vec3pos; +import com.github.technus.tectech.Vec3pos; import net.minecraft.nbt.NBTTagCompound; import java.util.LinkedHashSet; @@ -9,26 +9,26 @@ import java.util.Set; /** * Created by Tec on 05.04.2017. */ -public class quantumDataPacket { +public class QuantumDataPacket { public static byte maxHistory = 64; public long computation = 0; - public Set<vec3pos> trace = new LinkedHashSet<>(); + public Set<Vec3pos> trace = new LinkedHashSet<>(); - public quantumDataPacket(vec3pos pos, long computation) { + public QuantumDataPacket(Vec3pos pos, long computation) { this.computation = computation; trace.add(pos); } - public quantumDataPacket(quantumDataPacket q, long computation) { + public QuantumDataPacket(QuantumDataPacket q, long computation) { this.computation = computation; trace.addAll(q.trace); } - public quantumDataPacket(NBTTagCompound nbt) { + public QuantumDataPacket(NBTTagCompound nbt) { computation = nbt.getLong("qComputation"); for (int i = 0; i < nbt.getByte("qHistory"); i++) { - trace.add(new vec3pos( + trace.add(new Vec3pos( nbt.getInteger("qX" + i), nbt.getShort("qY" + i), nbt.getInteger("qZ" + i) @@ -41,7 +41,7 @@ public class quantumDataPacket { nbt.setLong("qComputation", computation); nbt.setByte("qHistory", (byte) trace.size()); int i = 0; - for (vec3pos v : trace) { + for (Vec3pos v : trace) { nbt.setInteger("qX" + i, v.x); nbt.setShort("qY" + i, v.y); nbt.setInteger("qZ" + i, v.z); @@ -50,7 +50,7 @@ public class quantumDataPacket { return nbt; } - public boolean contains(vec3pos v) { + public boolean contains(Vec3pos v) { return trace.contains(v); } @@ -58,18 +58,18 @@ public class quantumDataPacket { return trace.size() <= maxHistory; } - public quantumDataPacket unifyTraceWith(quantumDataPacket p) { + public QuantumDataPacket unifyTraceWith(QuantumDataPacket p) { trace.addAll(p.trace); return check() ? this : null; } - public quantumDataPacket unifyPacketWith(quantumDataPacket p) { + public QuantumDataPacket unifyPacketWith(QuantumDataPacket p) { computation += p.computation; trace.addAll(p.trace); return check() ? this : null; } - public long computationIfNotContained(vec3pos pos) { + public long computationIfNotContained(Vec3pos pos) { if (trace.contains(pos)) return 0; return computation; } diff --git a/src/main/java/com/github/technus/tectech/entity/fx/BlockHint.java b/src/main/java/com/github/technus/tectech/entity/fx/BlockHint.java new file mode 100644 index 0000000000..779430345b --- /dev/null +++ b/src/main/java/com/github/technus/tectech/entity/fx/BlockHint.java @@ -0,0 +1,106 @@ +package com.github.technus.tectech.entity.fx; + +import com.github.technus.tectech.TecTech; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.client.particle.EntityFX; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; +import org.lwjgl.opengl.GL11; + +@SideOnly(Side.CLIENT) +public class BlockHint extends EntityFX { + private IIcon[] icons = new IIcon[6]; + + public BlockHint(World world, int x, int y, int z, Block block, int meta) { + super(world, x+.25, y+.5, z+.25); + particleGravity = 0; + prevPosX = posX; + prevPosY = posY; + prevPosZ = posZ; + noClip = true; + particleMaxAge = 200 + TecTech.Rnd.nextInt(200); + for (int i = 0; i < 6; i++) icons[i] = block.getIcon(i, meta); + setParticleIcon(icons[TecTech.Rnd.nextInt(6)]); + } + + @Override + public void renderParticle(Tessellator tes, float subTickTime, float p_70539_3_, float p_70539_4_, float p_70539_5_, float p_70539_6_, float p_70539_7_) { + + float size = .5f; + + + float X = (float) (this.prevPosX + (this.posX - this.prevPosX) * (double) subTickTime - interpPosX); + float Y = (float) (this.prevPosY + (this.posY - this.prevPosY) * (double) subTickTime - interpPosY) - size / 2; + float Z = (float) (this.prevPosZ + (this.posZ - this.prevPosZ) * (double) subTickTime - interpPosZ); + GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glEnable(GL11.GL_BLEND); + GL11.glDepthMask(false); + tes.setColorRGBA_F(.8F, .9F, 1F, .5F); + + //var8, var9 - X U + //var 10, var 11 - Y V + for(int i=0;i<6;i++){ + if(icons[i]==null) continue; + double u=icons[i].getMinU(); + double U=icons[i].getMaxU(); + double v=icons[i].getMinV(); + double V=icons[i].getMaxV(); + + switch (i){//{DOWN, UP, NORTH, SOUTH, WEST, EAST} + case 0: + tes.addVertexWithUV(X, Y, Z + size, u, V); + tes.addVertexWithUV(X, Y, Z, u, v); + tes.addVertexWithUV(X + size, Y, Z, U, v); + tes.addVertexWithUV(X + size, Y, Z + size, U, V); + break; + case 1: + tes.addVertexWithUV(X, Y + size, Z, u, v); + tes.addVertexWithUV(X, Y + size, Z + size, u, V); + tes.addVertexWithUV(X + size, Y + size, Z + size, U, V); + tes.addVertexWithUV(X + size, Y + size, Z, U, v); + break; + case 2: + tes.addVertexWithUV(X, Y, Z, U, V); + tes.addVertexWithUV(X, Y + size, Z, U, v); + tes.addVertexWithUV(X + size, Y + size, Z, u, v); + tes.addVertexWithUV(X + size, Y, Z, u, V); + break; + case 3: + tes.addVertexWithUV(X + size, Y, Z + size, U, V); + tes.addVertexWithUV(X + size, Y + size, Z + size, U, v); + tes.addVertexWithUV(X, Y + size, Z + size, u, v); + tes.addVertexWithUV(X, Y, Z + size, u, V); + break; + case 4: + tes.addVertexWithUV(X, Y, Z + size, U, V); + tes.addVertexWithUV(X, Y + size, Z + size, U, v); + tes.addVertexWithUV(X, Y + size, Z, u, v); + tes.addVertexWithUV(X, Y, Z, u, V); + break; + case 5: + tes.addVertexWithUV(X + size, Y, Z, U, V); + tes.addVertexWithUV(X + size, Y + size, Z, U, v); + tes.addVertexWithUV(X + size, Y + size, Z + size, u, v); + tes.addVertexWithUV(X + size, Y, Z + size, u, V); + break; + } + } + + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthMask(true); + } + + @Override + public int getFXLayer() { + return 1; + } + + @Override + public boolean shouldRenderInPass(int pass) { + return pass==2; + } +} diff --git a/src/main/java/com/github/technus/tectech/loader/MainLoader.java b/src/main/java/com/github/technus/tectech/loader/MainLoader.java index 78975b8c35..ad1517adb2 100644 --- a/src/main/java/com/github/technus/tectech/loader/MainLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/MainLoader.java @@ -7,8 +7,8 @@ import com.github.technus.tectech.magicAddon.definitions.AspectDefinitionCompat; import com.github.technus.tectech.magicAddon.definitions.AspectDefinitionCompatEnabled; import com.github.technus.tectech.thing.CustomItemList; import com.github.technus.tectech.thing.block.QuantumGlassBlock; -import com.github.technus.tectech.thing.casing.GT_Container_CasingsTT; -import com.github.technus.tectech.thing.item.DebugBuilder; +import com.github.technus.tectech.thing.casing.TT_Container_Casings; +import com.github.technus.tectech.thing.item.ConstructibleTriggerItem; import com.github.technus.tectech.thing.item.DebugContainer_EM; import com.github.technus.tectech.thing.item.ParametrizerMemoryCard; import cpw.mods.fml.common.ProgressManager; @@ -115,9 +115,10 @@ public final class MainLoader {//TODO add checks for - is mod loaded dreamcraft private void registerThingsInTabs() { QuantumGlassBlock.INSTANCE.setCreativeTab(mainTab); - GT_Container_CasingsTT.sBlockCasingsTT.setCreativeTab(mainTab); + TT_Container_Casings.sBlockCasingsTT.setCreativeTab(mainTab); + TT_Container_Casings.sHintCasingsTT.setCreativeTab(mainTab); DebugContainer_EM.INSTANCE.setCreativeTab(mainTab); - DebugBuilder.INSTANCE.setCreativeTab(mainTab); + ConstructibleTriggerItem.INSTANCE.setCreativeTab(mainTab); ParametrizerMemoryCard.INSTANCE.setCreativeTab(mainTab); } diff --git a/src/main/java/com/github/technus/tectech/loader/ThingsLoader.java b/src/main/java/com/github/technus/tectech/loader/ThingsLoader.java index e66aa158cc..344fa44ff9 100644 --- a/src/main/java/com/github/technus/tectech/loader/ThingsLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/ThingsLoader.java @@ -3,8 +3,9 @@ package com.github.technus.tectech.loader; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.thing.block.QuantumGlassBlock; import com.github.technus.tectech.thing.casing.GT_Block_CasingsTT; -import com.github.technus.tectech.thing.casing.GT_Container_CasingsTT; -import com.github.technus.tectech.thing.item.DebugBuilder; +import com.github.technus.tectech.thing.casing.GT_Block_HintTT; +import com.github.technus.tectech.thing.casing.TT_Container_Casings; +import com.github.technus.tectech.thing.item.ConstructibleTriggerItem; import com.github.technus.tectech.thing.item.DebugContainer_EM; import com.github.technus.tectech.thing.item.ParametrizerMemoryCard; import cpw.mods.fml.common.Loader; @@ -16,8 +17,10 @@ import openmodularturrets.blocks.turretheads.TurretHeadEM; */ public class ThingsLoader implements Runnable { public void run() { - GT_Container_CasingsTT.sBlockCasingsTT = new GT_Block_CasingsTT(); + TT_Container_Casings.sBlockCasingsTT = new GT_Block_CasingsTT(); TecTech.Logger.info("Elemental Casing registered"); + TT_Container_Casings.sHintCasingsTT = new GT_Block_HintTT(); + TecTech.Logger.info("Hint Blocks registered"); QuantumGlassBlock.run(); TecTech.Logger.info("Quantum Glass registered"); @@ -30,7 +33,7 @@ public class ThingsLoader implements Runnable { } DebugContainer_EM.run(); - DebugBuilder.run(); + ConstructibleTriggerItem.run(); ParametrizerMemoryCard.run(); TecTech.Logger.info("Debug Items registered"); } diff --git a/src/main/java/com/github/technus/tectech/magicAddon/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaDequantizer.java b/src/main/java/com/github/technus/tectech/magicAddon/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaDequantizer.java index 4908cfdfba..f33d486662 100644 --- a/src/main/java/com/github/technus/tectech/magicAddon/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaDequantizer.java +++ b/src/main/java/com/github/technus/tectech/magicAddon/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaDequantizer.java @@ -17,7 +17,7 @@ import net.minecraft.util.EnumChatFormatting; import static com.github.technus.tectech.Util.StructureBuilder; import static com.github.technus.tectech.magicAddon.EssentiaCompat.essentiaContainerCompat; import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Container_CasingsTT.sBlockCasingsTT; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; import static gregtech.api.enums.GT_Values.E; import static gregtech.api.enums.GT_Values.V; @@ -62,8 +62,8 @@ public class GT_MetaTileEntity_EM_essentiaDequantizer extends GT_MetaTileEntity_ } @Override - public void construct(int qty) { - StructureBuilder(shape, blockType, blockMeta,1, 1, 0, getBaseMetaTileEntity()); + public void construct(int qty, boolean hintsOnly) { + StructureBuilder(shape, blockType, blockMeta,1, 1, 0, getBaseMetaTileEntity(),hintsOnly); } @Override diff --git a/src/main/java/com/github/technus/tectech/magicAddon/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaQuantizer.java b/src/main/java/com/github/technus/tectech/magicAddon/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaQuantizer.java index cbcca01e9c..85da98508d 100644 --- a/src/main/java/com/github/technus/tectech/magicAddon/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaQuantizer.java +++ b/src/main/java/com/github/technus/tectech/magicAddon/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaQuantizer.java @@ -17,7 +17,7 @@ import net.minecraft.util.EnumChatFormatting; import static com.github.technus.tectech.Util.StructureBuilder; import static com.github.technus.tectech.magicAddon.EssentiaCompat.essentiaContainerCompat; import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Container_CasingsTT.sBlockCasingsTT; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; import static gregtech.api.enums.GT_Values.E; import static gregtech.api.enums.GT_Values.V; @@ -62,8 +62,8 @@ public class GT_MetaTileEntity_EM_essentiaQuantizer extends GT_MetaTileEntity_Mu } @Override - public void construct(int qty) { - StructureBuilder(shape, blockType, blockMeta,1, 1, 0, getBaseMetaTileEntity()); + public void construct(int qty, boolean hintsOnly) { + StructureBuilder(shape, blockType, blockMeta,1, 1, 0, getBaseMetaTileEntity(),hintsOnly); } @Override |
