2013-06-02 13:38:59 +10:00
|
|
|
package codechicken.multipart.minecraft;
|
|
|
|
|
|
|
|
|
|
import codechicken.core.data.MCDataInput;
|
|
|
|
|
import codechicken.core.data.MCDataOutput;
|
2013-06-03 19:58:06 +10:00
|
|
|
import codechicken.core.lighting.LazyLightMatrix;
|
2013-06-02 13:38:59 +10:00
|
|
|
import codechicken.core.vec.BlockCoord;
|
2013-06-03 19:58:06 +10:00
|
|
|
import codechicken.core.vec.Vector3;
|
|
|
|
|
import net.minecraft.client.renderer.RenderBlocks;
|
2013-06-02 13:38:59 +10:00
|
|
|
import net.minecraft.nbt.NBTTagCompound;
|
|
|
|
|
import net.minecraft.world.World;
|
|
|
|
|
|
|
|
|
|
public abstract class McMetaPart extends McBlockPart implements IPartMeta
|
|
|
|
|
{
|
|
|
|
|
public byte meta;
|
|
|
|
|
|
|
|
|
|
public McMetaPart()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public McMetaPart(int meta)
|
|
|
|
|
{
|
|
|
|
|
this.meta = (byte)meta;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void save(NBTTagCompound tag)
|
|
|
|
|
{
|
|
|
|
|
tag.setByte("meta", meta);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void load(NBTTagCompound tag)
|
|
|
|
|
{
|
|
|
|
|
meta = tag.getByte("meta");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void writeDesc(MCDataOutput packet)
|
|
|
|
|
{
|
|
|
|
|
packet.writeByte(meta);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void readDesc(MCDataInput packet)
|
|
|
|
|
{
|
|
|
|
|
meta = packet.readByte();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public World getWorld()
|
|
|
|
|
{
|
2013-06-06 17:25:24 +10:00
|
|
|
return world();
|
2013-06-02 13:38:59 +10:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public int getMetadata()
|
|
|
|
|
{
|
|
|
|
|
return meta;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public int getBlockId()
|
|
|
|
|
{
|
|
|
|
|
return getBlock().blockID;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public BlockCoord getPos()
|
|
|
|
|
{
|
|
|
|
|
return new BlockCoord(getTile());
|
|
|
|
|
}
|
2013-06-03 19:58:06 +10:00
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public boolean doesTick()
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void renderStatic(Vector3 pos, LazyLightMatrix olm, int pass)
|
|
|
|
|
{
|
2013-06-12 03:15:50 +10:00
|
|
|
if(pass == 0)
|
|
|
|
|
new RenderBlocks(new PartMetaAccess(this)).renderBlockByRenderType(getBlock(), x(), y(), z());
|
2013-06-03 19:58:06 +10:00
|
|
|
}
|
2013-06-02 13:38:59 +10:00
|
|
|
}
|