aboutsummaryrefslogtreecommitdiff
path: root/src/Java
diff options
context:
space:
mode:
authorDraknyte1 <Draknyte1@hotmail.com>2016-12-20 22:14:10 +1000
committerDraknyte1 <Draknyte1@hotmail.com>2016-12-20 22:14:10 +1000
commite95b35542d8de340835c00d4d21b527350d0cd6c (patch)
treef3fea67e2634676ea21c423103286ba7bb017e7e /src/Java
parente4e40d86c0c868846cf20098dc1481f3ee3703b5 (diff)
downloadGT5-Unofficial-e95b35542d8de340835c00d4d21b527350d0cd6c.tar.gz
GT5-Unofficial-e95b35542d8de340835c00d4d21b527350d0cd6c.tar.bz2
GT5-Unofficial-e95b35542d8de340835c00d4d21b527350d0cd6c.zip
+ Added a TESR for the Fire Pit, it's off-centre, but otherwise renders fine.
Diffstat (limited to 'src/Java')
-rw-r--r--src/Java/gregtech/api/util/Recipe_GT.java10
-rw-r--r--src/Java/gtPlusPlus/core/block/base/BasicBlock.java12
-rw-r--r--src/Java/gtPlusPlus/core/block/general/FirePit.java225
-rw-r--r--src/Java/gtPlusPlus/core/handler/render/FirepitModel.java112
-rw-r--r--src/Java/gtPlusPlus/core/handler/render/FirepitRender.java54
-rw-r--r--src/Java/gtPlusPlus/core/item/general/ItemBasicFirestarter.java1
-rw-r--r--src/Java/gtPlusPlus/core/proxy/ClientProxy.java5
-rw-r--r--src/Java/gtPlusPlus/core/tileentities/ModTileEntities.java9
-rw-r--r--src/Java/gtPlusPlus/core/tileentities/general/TileEntityFirepit.java39
9 files changed, 462 insertions, 5 deletions
diff --git a/src/Java/gregtech/api/util/Recipe_GT.java b/src/Java/gregtech/api/util/Recipe_GT.java
index 402f355f88..5d74130f16 100644
--- a/src/Java/gregtech/api/util/Recipe_GT.java
+++ b/src/Java/gregtech/api/util/Recipe_GT.java
@@ -118,6 +118,13 @@ public class Recipe_GT extends GT_Recipe{
}
}
+ public Recipe_GT(FluidStack aInput1, FluidStack aInput2, FluidStack aOutput1, int aDuration, int aEUt, int aSpecialValue) {
+ this(true, null, null, null, null, new FluidStack[]{aInput1, aInput2}, new FluidStack[]{aOutput1}, Math.max(aDuration, 1), aEUt, Math.max(Math.min(aSpecialValue, 160000000), 0));
+ if (mInputs.length > 1) {
+ Gregtech_Recipe_Map.sLiquidFluorineThoriumReactorRecipes.addRecipe(this);
+ }
+ }
+
/*public GregtechRecipe(ItemStack aInput, FluidStack aFluid, ItemStack[] aOutput, int aDuration, int aEUt) {
this(true, new ItemStack[]{aInput}, aOutput.clone(), null, null, new FluidStack[]{aFluid}, null, aDuration, aEUt, 0);
if (mInputs.length > 0 && mOutputs[0] != null) {
@@ -231,6 +238,9 @@ public class Recipe_GT extends GT_Recipe{
public static final GT_Recipe_Map sChemicalDehydratorRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(200), "gt.recipe.chemicaldehydrator", "Chemical Dehydrator", null, RES_PATH_GUI + "basicmachines/Dehydrator", 2, 9, 0, 0, 1, E, 1, E, true, true);
public static final GT_Recipe_Map sAlloyBlastSmelterRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(200), "gt.recipe.alloyblastsmelter", "Alloy Blast Smelter", null, RES_PATH_GUI + "basicmachines/BlastSmelter", 9, 1, 1, 0, 1, E, 1, E, true, true);
+ //LFTR recipes
+ public static final GT_Recipe_Map sLiquidFluorineThoriumReactorRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(50), "gt.recipe.lftr", "Liquid Fluorine Thorium Reactor", null, RES_PATH_GUI + "basicmachines/Default", 0, 0, 0, 2, 1, "Start: ", 1, " EU", true, true);
+
/**
* HashMap of Recipes based on their Items
*/
diff --git a/src/Java/gtPlusPlus/core/block/base/BasicBlock.java b/src/Java/gtPlusPlus/core/block/base/BasicBlock.java
index c95f37d9c5..364a849ebc 100644
--- a/src/Java/gtPlusPlus/core/block/base/BasicBlock.java
+++ b/src/Java/gtPlusPlus/core/block/base/BasicBlock.java
@@ -3,10 +3,12 @@ package gtPlusPlus.core.block.base;
import gtPlusPlus.core.creative.AddToCreativeTab;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.Utils;
-import net.minecraft.block.Block;
+import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
-public class BasicBlock extends Block {
+public class BasicBlock extends BlockContainer {
public BasicBlock(final String unlocalizedName, final Material material) {
super(material);
@@ -48,5 +50,11 @@ public class BasicBlock extends Block {
}
}
+
+
+ @Override
+ public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
+ return null;
+ }
}
diff --git a/src/Java/gtPlusPlus/core/block/general/FirePit.java b/src/Java/gtPlusPlus/core/block/general/FirePit.java
new file mode 100644
index 0000000000..4dd58df6a4
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/block/general/FirePit.java
@@ -0,0 +1,225 @@
+package gtPlusPlus.core.block.general;
+
+import static net.minecraftforge.common.util.ForgeDirection.*;
+import gtPlusPlus.core.block.base.BasicBlock;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.tileentities.general.TileEntityFirepit;
+
+import java.util.List;
+import java.util.Random;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.World;
+import net.minecraftforge.common.util.ForgeDirection;
+import cpw.mods.fml.common.registry.GameRegistry;
+import cpw.mods.fml.common.registry.LanguageRegistry;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+
+public class FirePit extends BasicBlock{
+ private static IIcon[] TEXTURE;
+ public static final int META_ANTIBUILDER = 2;
+ private int meta;
+
+ @SuppressWarnings("deprecation")
+ public FirePit() {
+ super("blockFirePit", Material.wood);
+ this.setBlockName("blockFirePit");
+ this.setCreativeTab(AddToCreativeTab.tabMachines);
+ this.setHardness(10.0F);
+ this.setResistance(35.0F);
+ this.setStepSound(Block.soundTypeWood);
+ GameRegistry.registerBlock(this, "blockFirePit");
+ LanguageRegistry.addName(this, "Fire Pit");
+ }
+
+ @Override
+ public int tickRate(World aParWorld) {
+ return 30;
+ }
+
+ @Override
+ public TileEntity createNewTileEntity(World world, int i) {
+ return new TileEntityFirepit();
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void registerBlockIcons(IIconRegister par1IconRegister){
+ TEXTURE = new IIcon[] {par1IconRegister.registerIcon(this.getTextureName() + "_layer_0"), par1IconRegister.registerIcon(this.getTextureName() + "_layer_1")};
+ }
+
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ @Override
+ public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List par3List){
+ par3List.add(new ItemStack(par1, 1, 2));
+ }
+
+ @Override
+ public void updateTick(World par1World, int x, int y, int z, Random par5Random){
+ if (!par1World.isRemote){
+ //Sets meta.
+ meta = par1World.getBlockMetadata(x, y, z);
+ //If Raining, Put out.
+ if (par1World.isRaining()
+ && (par1World.canLightningStrikeAt(x, y, z)
+ || par1World.canLightningStrikeAt(x - 1, y, z)
+ || par1World.canLightningStrikeAt(x + 1, y, z)
+ || par1World.canLightningStrikeAt(x, y, z - 1)
+ || par1World.canLightningStrikeAt(x, y, z + 1))){
+ //Fire goes out
+ par1World.setBlockMetadataWithNotify(x, y, z, 1, 4);
+ }
+ if (isNeighborBurning(par1World, x, y, z)){
+ //Fire can ignite from a nearby flame source.
+ par1World.setBlockMetadataWithNotify(x, y, z, 2, 4);
+ }
+ }
+ }
+
+ @Override
+ public Item getItemDropped(int meta, Random par2Random, int par3){
+ switch (meta){
+ case 0:
+ return null;
+ default:
+ break;
+ }
+ return Item.getItemFromBlock(this);
+ }
+
+ @Override
+ public int damageDropped(int meta){
+ return meta;
+ }
+
+ @Override
+ public boolean isOpaqueCube(){
+ return false;
+ }
+
+ @Override
+ public int getRenderType(){
+ return -1;
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public int getRenderBlockPass(){
+ return 1;
+ }
+
+ @Override
+ public boolean renderAsNormalBlock(){
+ return false;
+ }
+
+ /*@Override
+ public AxisAlignedBB getCollisionBoundingBoxFromPool(World aParWorld, int x, int y, int z){
+ return null;
+ }*/
+
+ @Override
+ protected boolean canSilkHarvest(){
+ return false;
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void randomDisplayTick(World p_149734_1_, int p_149734_2_, int p_149734_3_, int p_149734_4_, Random p_149734_5_){
+ int l;
+ float f;
+ float f1;
+ float f2;
+ if (meta == 2)
+ if (p_149734_5_.nextInt(24) == 0){
+ p_149734_1_.playSound((double)((float)p_149734_2_ + 0.5F), (double)((float)p_149734_3_ + 0.5F), (double)((float)p_149734_4_ + 0.5F), "fire.fire", 1.0F + p_149734_5_.nextFloat(), p_149734_5_.nextFloat() * 0.7F + 0.3F, false);
+ }
+ if (meta == 2)
+ if (!World.doesBlockHaveSolidTopSurface(p_149734_1_, p_149734_2_, p_149734_3_ - 1, p_149734_4_) && !Blocks.fire.canCatchFire(p_149734_1_, p_149734_2_, p_149734_3_ - 1, p_149734_4_, UP)){
+ if (Blocks.fire.canCatchFire(p_149734_1_, p_149734_2_ - 1, p_149734_3_, p_149734_4_, EAST)){
+ for (l = 0; l < 2; ++l){
+ f = (float)p_149734_2_ + p_149734_5_.nextFloat() * 0.1F;
+ f1 = (float)p_149734_3_ + p_149734_5_.nextFloat();
+ f2 = (float)p_149734_4_ + p_149734_5_.nextFloat();
+ p_149734_1_.spawnParticle("largesmoke", (double)f, (double)f1, (double)f2, 0.0D, 0.0D, 0.0D);
+ }
+ }
+ if (Blocks.fire.canCatchFire(p_149734_1_, p_149734_2_ + 1, p_149734_3_, p_149734_4_, WEST)){
+ for (l = 0; l < 2; ++l){
+ f = (float)(p_149734_2_ + 1) - p_149734_5_.nextFloat() * 0.1F;
+ f1 = (float)p_149734_3_ + p_149734_5_.nextFloat();
+ f2 = (float)p_149734_4_ + p_149734_5_.nextFloat();
+ p_149734_1_.spawnParticle("largesmoke", (double)f, (double)f1, (double)f2, 0.0D, 0.0D, 0.0D);
+ }
+ }
+ if (Blocks.fire.canCatchFire(p_149734_1_, p_149734_2_, p_149734_3_, p_149734_4_ - 1, SOUTH)){
+ for (l = 0; l < 2; ++l){
+ f = (float)p_149734_2_ + p_149734_5_.nextFloat();
+ f1 = (float)p_149734_3_ + p_149734_5_.nextFloat();
+ f2 = (float)p_149734_4_ + p_149734_5_.nextFloat() * 0.1F;
+ p_149734_1_.spawnParticle("largesmoke", (double)f, (double)f1, (double)f2, 0.0D, 0.0D, 0.0D);
+ }
+ }
+ if (Blocks.fire.canCatchFire(p_149734_1_, p_149734_2_, p_149734_3_, p_149734_4_ + 1, NORTH)){
+ for (l = 0; l < 2; ++l){
+ f = (float)p_149734_2_ + p_149734_5_.nextFloat();
+ f1 = (float)p_149734_3_ + p_149734_5_.nextFloat();
+ f2 = (float)(p_149734_4_ + 1) - p_149734_5_.nextFloat() * 0.1F;
+ p_149734_1_.spawnParticle("largesmoke", (double)f, (double)f1, (double)f2, 0.0D, 0.0D, 0.0D);
+ }
+ }
+ if (Blocks.fire.canCatchFire(p_149734_1_, p_149734_2_, p_149734_3_ + 1, p_149734_4_, DOWN)){
+ for (l = 0; l < 2; ++l){
+ f = (float)p_149734_2_ + p_149734_5_.nextFloat();
+ f1 = (float)(p_149734_3_ + 1) - p_149734_5_.nextFloat() * 0.1F;
+ f2 = (float)p_149734_4_ + p_149734_5_.nextFloat();
+ p_149734_1_.spawnParticle("largesmoke", (double)f, (double)f1, (double)f2, 0.0D, 0.0D, 0.0D);
+ }
+ }
+ }
+ else{
+ if (meta == 2)
+ for (l = 0; l < 3; ++l){
+ f = (float)p_149734_2_ + p_149734_5_.nextFloat();
+ f1 = (float)p_149734_3_ + p_149734_5_.nextFloat() * 0.5F + 0.5F;
+ f2 = (float)p_149734_4_ + p_149734_5_.nextFloat();
+ p_149734_1_.spawnParticle("largesmoke", (double)f, (double)f1, (double)f2, 0.0D, 0.0D, 0.0D);
+ }
+ }
+ }
+
+ @SideOnly(Side.CLIENT)
+ public static IIcon getFireIcon(int p_149840_1_){
+ return FirePit.TEXTURE[p_149840_1_];
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIcon(int p_149691_1_, int p_149691_2_){
+ return FirePit.TEXTURE[0];
+ }
+
+ private static boolean isNeighborBurning(World world, int x, int y, int z){
+ return canCatchFire(world, x + 1, y, z, WEST ) ||
+ canCatchFire(world, x - 1, y, z, EAST ) ||
+ canCatchFire(world, x, y - 1, z, UP ) ||
+ canCatchFire(world, x, y + 1, z, DOWN ) ||
+ canCatchFire(world, x, y, z - 1, SOUTH) ||
+ canCatchFire(world, x, y, z + 1, NORTH);
+ }
+
+ public static boolean canCatchFire(World world, int x, int y, int z, ForgeDirection face)
+ {
+ return world.getBlock(x, y, z).isFireSource(world, x, y, z, face);
+ }
+
+}
diff --git a/src/Java/gtPlusPlus/core/handler/render/FirepitModel.java b/src/Java/gtPlusPlus/core/handler/render/FirepitModel.java
new file mode 100644
index 0000000000..fbc0b22690
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/handler/render/FirepitModel.java
@@ -0,0 +1,112 @@
+// Date: 20/12/2016 5:51:14 PM
+// Template version 1.1
+// Java generated by Techne
+// Keep in mind that you still need to fill in some blanks
+// - ZeuX
+
+package gtPlusPlus.core.handler.render;
+
+import net.minecraft.client.model.ModelBase;
+import net.minecraft.client.model.ModelRenderer;
+import net.minecraft.entity.Entity;
+
+public class FirepitModel extends ModelBase
+{
+ //fields
+ ModelRenderer Side_A;
+ ModelRenderer Side_B;
+ ModelRenderer Side_C;
+ ModelRenderer Side_D;
+ ModelRenderer Log1;
+ ModelRenderer Log2;
+ ModelRenderer Log3;
+ ModelRenderer Log4;
+
+ public FirepitModel()
+ {
+ textureWidth = 16;
+ textureHeight = 16;
+
+ Side_A = new ModelRenderer(this, 0, 0);
+ Side_A.addBox(0F, 0F, 0F, 12, 6, 1);
+ Side_A.setRotationPoint(-6F, 18F, -6F);
+ Side_A.setTextureSize(16, 16);
+ Side_A.mirror = true;
+ setRotation(Side_A, -0.3148822F, 0F, 0F);
+ Side_A.mirror = false;
+ Side_B = new ModelRenderer(this, 0, 0);
+ Side_B.addBox(0F, 0F, 0F, 12, 6, 1);
+ Side_B.setRotationPoint(-6F, 18F, 6F);
+ Side_B.setTextureSize(16, 16);
+ Side_B.mirror = true;
+ setRotation(Side_B, -0.3148822F, 1.570796F, 0F);
+ Side_C = new ModelRenderer(this, 0, 0);
+ Side_C.addBox(0F, 0F, 0F, 12, 6, 1);
+ Side_C.setRotationPoint(6F, 18F, 6F);
+ Side_C.setTextureSize(16, 16);
+ Side_C.mirror = true;
+ setRotation(Side_C, -0.3148822F, 3.141593F, 0F);
+ Side_C.mirror = false;
+ Side_D = new ModelRenderer(this, 0, 0);
+ Side_D.addBox(0F, 0F, 0F, 12, 6, 1);
+ Side_D.setRotationPoint(6F, 18F, -6F);
+ Side_D.setTextureSize(16, 16);
+ Side_D.mirror = true;
+ setRotation(Side_D, -0.3148822F, 4.712389F, 0F);
+ Log1 = new ModelRenderer(this, 0, 10);
+ Log1.addBox(0F, 0F, 0F, 14, 2, 2);
+ Log1.setRotationPoint(4F, 10F, -4F);
+ Log1.setTextureSize(16, 16);
+ Log1.mirror = true;
+ setRotation(Log1, 0F, 0F, 1.570796F);
+ Log2 = new ModelRenderer(this, -2, 10);
+ Log2.addBox(0F, 0F, 0F, 14, 2, 2);
+ Log2.setRotationPoint(-4F, 10F, -4F);
+ Log2.setTextureSize(16, 16);
+ Log2.mirror = true;
+ setRotation(Log2, 1.570796F, 0F, 1.570796F);
+ Log2.mirror = false;
+ Log3 = new ModelRenderer(this, 0, 10);
+ Log3.addBox(0F, 0F, 0F, 14, 2, 2);
+ Log3.setRotationPoint(-4F, 10F, 4F);
+ Log3.setTextureSize(16, 16);
+ Log3.mirror = true;
+ setRotation(Log3, 3.141593F, 0F, 1.570796F);
+ Log4 = new ModelRenderer(this, -2, 10);
+ Log4.addBox(0F, 0F, 0F, 14, 2, 2);
+ Log4.setRotationPoint(4F, 10F, 4F);
+ Log4.setTextureSize(16, 16);
+ Log4.mirror = true;
+ setRotation(Log4, 4.712389F, 0F, 1.570796F);
+ Log4.mirror = false;
+ }
+
+ @Override
+public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
+ {
+ super.render(entity, f, f1, f2, f3, f4, f5);
+ setRotationAngles(f, f1, f2, f3, f4, f5, entity);
+ Side_A.render(f5);
+ Side_B.render(f5);
+ Side_C.render(f5);
+ Side_D.render(f5);
+ Log1.render(f5);
+ Log2.render(f5);
+ Log3.render(f5);
+ Log4.render(f5);
+ }
+
+ private void setRotation(ModelRenderer model, float x, float y, float z)
+ {
+ model.rotateAngleX = x;
+ model.rotateAngleY = y;
+ model.rotateAngleZ = z;
+ }
+
+ @Override
+public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity)
+ {
+ super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
+ }
+
+}
diff --git a/src/Java/gtPlusPlus/core/handler/render/FirepitRender.java b/src/Java/gtPlusPlus/core/handler/render/FirepitRender.java
new file mode 100644
index 0000000000..16ad016b97
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/handler/render/FirepitRender.java
@@ -0,0 +1,54 @@
+package gtPlusPlus.core.handler.render;
+
+import net.minecraft.block.Block;
+import net.minecraft.client.renderer.OpenGlHelper;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
+import net.minecraft.entity.Entity;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+
+import org.lwjgl.opengl.GL11;
+public class FirepitRender extends TileEntitySpecialRenderer{
+ ResourceLocation texture = new ResourceLocation("miscutils" + ":"+ "textures/blocks/FirePit/mossyFirepit.png");
+
+ private FirepitModel model;
+
+ public FirepitRender(){
+ this.model = new FirepitModel();
+ }
+
+ private void adjustRotatePivotViaMeta(World world, int x, int y, int z) {
+ int meta = world.getBlockMetadata(x, y, z);
+ GL11.glPushMatrix();
+ GL11.glRotatef(meta * (-90), 0.0F, 0.0F, 1.0F);
+ GL11.glPopMatrix();
+ }
+
+ @Override
+ public void renderTileEntityAt(TileEntity entity, double x, double y, double z, float i) {
+ GL11.glPushMatrix();
+ GL11.glTranslatef((float)x + 0.1F, (float)y + 1.0F, (float)z + 0.5F);
+ GL11.glRotatef(180, 0F, 0F, 1F);
+
+ this.bindTexture(texture);
+ GL11.glPushMatrix();
+ this.model.render((Entity)null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glPopMatrix();
+ }
+
+ //Set the lighting stuff, so it changes it's brightness properly.
+ private void adjustLightFixture(World world, int i, int j, int k, Block block) {
+ Tessellator tess = Tessellator.instance;
+ //float brightness = block.getBlockBrightness(world, i, j, k);
+ //As of MC 1.7+ block.getBlockBrightness() has become block.getLightValue():
+ float brightness = block.getLightValue(world, i, j, k);
+ int skyLight = world.getLightBrightnessForSkyBlocks(i, j, k, 0);
+ int modulousModifier = skyLight % 65536;
+ int divModifier = skyLight / 65536;
+ tess.setColorOpaque_F(brightness, brightness, brightness);
+ OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float) modulousModifier, divModifier);
+ }
+}
diff --git a/src/Java/gtPlusPlus/core/item/general/ItemBasicFirestarter.java b/src/Java/gtPlusPlus/core/item/general/ItemBasicFirestarter.java
index 136a26d4d0..b785c57869 100644
--- a/src/Java/gtPlusPlus/core/item/general/ItemBasicFirestarter.java
+++ b/src/Java/gtPlusPlus/core/item/general/ItemBasicFirestarter.java
@@ -45,6 +45,7 @@ public class ItemBasicFirestarter extends CoreItem {
}
if (thisWorld.getBlock(blockX, blockY, blockZ) instanceof FirePit){
thisWorld.setBlockMetadataWithNotify(blockX, blockY, blockZ, 2, 4);
+ PlayerUtils.messagePlayer(thisPlayer, "You light the fire pit. ");
}
if (thisWorld.isAirBlock(blockX, blockY, blockZ))
{
diff --git a/src/Java/gtPlusPlus/core/proxy/ClientProxy.java b/src/Java/gtPlusPlus/core/proxy/ClientProxy.java
index b1d66fc773..26a2aa500a 100644
--- a/src/Java/gtPlusPlus/core/proxy/ClientProxy.java
+++ b/src/Java/gtPlusPlus/core/proxy/ClientProxy.java
@@ -2,10 +2,13 @@ package gtPlusPlus.core.proxy;
import gtPlusPlus.GTplusplus;
import gtPlusPlus.core.common.CommonProxy;
+import gtPlusPlus.core.handler.render.FirepitRender;
+import gtPlusPlus.core.tileentities.general.TileEntityFirepit;
import gtPlusPlus.core.util.particles.EntityParticleFXMysterious;
import net.minecraft.client.Minecraft;
import net.minecraft.client.particle.EntityFX;
import net.minecraft.entity.Entity;
+import cpw.mods.fml.client.registry.ClientRegistry;
import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.common.event.*;
@@ -40,6 +43,8 @@ public class ClientProxy extends CommonProxy{
//ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBloodSteelChest.class, new BloodSteelChestRenderer());
//MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.tutChest), new ItemRenderBloodSteelChest());
+
+ ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFirepit.class, new FirepitRender());
}
@Override
diff --git a/src/Java/gtPlusPlus/core/tileentities/ModTileEntities.java b/src/Java/gtPlusPlus/core/tileentities/ModTileEntities.java
index a228021c82..1f8b790c37 100644
--- a/src/Java/gtPlusPlus/core/tileentities/ModTileEntities.java
+++ b/src/Java/gtPlusPlus/core/tileentities/ModTileEntities.java
@@ -1,5 +1,6 @@
package gtPlusPlus.core.tileentities;
+import gtPlusPlus.core.tileentities.general.TileEntityFirepit;
import gtPlusPlus.core.tileentities.machines.TileEntityWorkbench;
import gtPlusPlus.core.tileentities.machines.TileEntityWorkbenchAdvanced;
import gtPlusPlus.core.util.Utils;
@@ -7,16 +8,18 @@ import cpw.mods.fml.common.registry.GameRegistry;
public class ModTileEntities {
-
+
public static void init(){
Utils.LOG_INFO("Registering Tile Entities.");
//GameRegistry.registerTileEntity(TileEntityReverter.class, "TE_blockGriefSaver");
//GameRegistry.registerTileEntity(TileEntityReverter.class, "Tower Reverter");
//GameRegistry.registerTileEntity(TileEntityNHG.class, "NuclearFueledHeliumGenerator");
//GameRegistry.registerTileEntity(TileEntityCharger.class, "TE_Charger");
- // GameRegistry.registerTileEntity(TileEntityHeliumGenerator.class, "Helium");
+ // GameRegistry.registerTileEntity(TileEntityHeliumGenerator.class, "Helium");
GameRegistry.registerTileEntity(TileEntityWorkbench.class, "TileWorkbench");
GameRegistry.registerTileEntity(TileEntityWorkbenchAdvanced.class, "TileWorkbenchAdvanced");
+ GameRegistry.registerTileEntity(TileEntityFirepit.class, "TileFirePit");
+
}
-
+
}
diff --git a/src/Java/gtPlusPlus/core/tileentities/general/TileEntityFirepit.java b/src/Java/gtPlusPlus/core/tileentities/general/TileEntityFirepit.java
new file mode 100644
index 0000000000..0f2cd3390e
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/tileentities/general/TileEntityFirepit.java
@@ -0,0 +1,39 @@
+package gtPlusPlus.core.tileentities.general;
+
+import java.util.UUID;
+
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.tileentity.TileEntity;
+
+public class TileEntityFirepit extends TileEntity{
+
+ private UUID ownerUUID;
+
+ public UUID getOwnerUUID() {
+ return ownerUUID;
+ }
+
+ public void setOwnerUUID(UUID ownerUUID) {
+ this.ownerUUID = ownerUUID;
+ markDirty();
+ }
+
+ @Override
+ public void writeToNBT(NBTTagCompound tagCompound) {
+ super.writeToNBT(tagCompound);
+
+ UUID ownerUUID = getOwnerUUID();
+ if (ownerUUID != null){
+ tagCompound.setLong("OwnerUUIDMost", ownerUUID.getMostSignificantBits());
+ tagCompound.setLong("OwnerUUIDLeast", ownerUUID.getLeastSignificantBits());
+ }
+ }
+
+ @Override
+ public void readFromNBT(NBTTagCompound tagCompound) {
+ super.readFromNBT(tagCompound);
+
+ setOwnerUUID(new UUID(tagCompound.getLong("OwnerUUIDMost"), tagCompound.getLong("OwnerUUIDLeast")));
+ }
+
+}