From 4dca16cc0f113d79330d5253ed2c07d01a4f502b Mon Sep 17 00:00:00 2001 From: Alexander Date: Wed, 19 Feb 2014 21:44:45 -0500 Subject: [PATCH] Fix Some of the rendering errors/Tree errors. --- .../java/tconstruct/blocks/OreberryBush.java | 70 ++++++++----------- .../java/tconstruct/blocks/TankAirBlock.java | 3 +- .../tconstruct/blocks/slime/SlimeLeaves.java | 24 +++---- .../tconstruct/blocks/slime/SlimeSapling.java | 15 ++-- .../tconstruct/client/TClientTickHandler.java | 25 +++---- .../java/tconstruct/client/TProxyClient.java | 2 + .../tconstruct/worldgen/SlimeTreeGen.java | 35 +++++----- 7 files changed, 82 insertions(+), 92 deletions(-) diff --git a/src/main/java/tconstruct/blocks/OreberryBush.java b/src/main/java/tconstruct/blocks/OreberryBush.java index d315bcbd2c9..654003e1df6 100644 --- a/src/main/java/tconstruct/blocks/OreberryBush.java +++ b/src/main/java/tconstruct/blocks/OreberryBush.java @@ -3,6 +3,10 @@ import java.util.List; import java.util.Random; +import tconstruct.client.block.OreberryRender; +import tconstruct.common.TRepo; +import tconstruct.library.TConstructRegistry; +import tconstruct.library.tools.AbilityHelper; import net.minecraft.block.Block; import net.minecraft.block.BlockLeavesBase; import net.minecraft.block.material.Material; @@ -21,10 +25,6 @@ import net.minecraftforge.common.EnumPlantType; import net.minecraftforge.common.IPlantable; import net.minecraftforge.common.util.ForgeDirection; -import tconstruct.client.block.OreberryRender; -import tconstruct.common.TRepo; -import tconstruct.library.TConstructRegistry; -import tconstruct.library.tools.AbilityHelper; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -37,8 +37,6 @@ public class OreberryBush extends BlockLeavesBase implements IPlantable public String[] oreTypes; public int itemMeat; private int subitems; - @SideOnly(Side.CLIENT) - protected int field_150127_b; public OreberryBush(String[] textureNames, int meta, int sub, String[] oreTypes) { @@ -50,7 +48,7 @@ public OreberryBush(String[] textureNames, int meta, int sub, String[] oreTypes) this.setTickRandomly(true); random = new Random(); this.setHardness(0.3F); - this.setStepSound(soundTypeMetal); + this.setStepSound(Block.soundTypeMetal); this.setCreativeTab(TConstructRegistry.blockTab); } @@ -74,10 +72,9 @@ public void registerBlockIcons (IIconRegister iconRegister) } @Override - @SideOnly(Side.CLIENT) public IIcon getIcon (int side, int metadata) { - if (net.minecraft.client.Minecraft.getMinecraft().gameSettings.fancyGraphics) + if (field_150121_P) { if (metadata < 12) { @@ -200,9 +197,8 @@ public void onBlockClicked (World world, int x, int y, int z, EntityPlayer playe @Override public boolean onBlockActivated (World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9) { - /* - * if (world.isRemote) return false; - */ + /*if (world.isRemote) + return false;*/ int meta = world.getBlockMetadata(x, y, z); if (meta >= 12) @@ -226,6 +222,11 @@ public boolean isOpaqueCube () return false; } + public void setGraphicsLevel (boolean flag) + { + field_150121_P = flag; + } + @Override public boolean renderAsNormalBlock () { @@ -239,10 +240,9 @@ public int getRenderType () } @Override - @SideOnly(Side.CLIENT) public boolean shouldSideBeRendered (IBlockAccess iblockaccess, int x, int y, int z, int meta) { - if (meta > 7 || net.minecraft.client.Minecraft.getMinecraft().gameSettings.fancyGraphics) + if (meta > 7 || field_150121_P) { return super.shouldSideBeRendered(iblockaccess, x, y, z, meta); } @@ -262,8 +262,7 @@ public void updateTick (World world, int x, int y, int z, Random random1) return; } - if (random1.nextInt(20) == 0)// && world.getBlockLightValue(x, y, z) <= - // 8) + if (random1.nextInt(20) == 0)// && world.getBlockLightValue(x, y, z) <= 8) { if (world.getFullBlockLightValue(x, y, z) < 10) { @@ -273,10 +272,10 @@ public void updateTick (World world, int x, int y, int z, Random random1) world.setBlock(x, y, z, this, meta + 4, 3); } } - /* - * else if (meta < 8) { world.setBlock(x, y, z, blockID, meta + 4, - * 3); } - */ + /*else if (meta < 8) + { + world.setBlock(x, y, z, blockID, meta + 4, 3); + }*/ } } @@ -295,20 +294,27 @@ public boolean canPlaceBlockAt (World world, int x, int y, int z) return false; } + /* Resistance to fire */ + /** - * returns a list of items with the same ID, but different meta (eg: dye - * returns 16 items) + * returns a list of items with the same ID, but different meta (eg: dye returns 16 items) */ @SideOnly(Side.CLIENT) @Override - public void getSubBlocks (Item b, CreativeTabs par2CreativeTabs, List par3List) + public void getSubBlocks (Item par1, CreativeTabs par2CreativeTabs, List par3List) { for (int var4 = 8; var4 < 8 + subitems; ++var4) { - par3List.add(new ItemStack(b, 1, var4)); + par3List.add(new ItemStack(par1, 1, var4)); } } + @Override + public EnumPlantType getPlantType (IBlockAccess world, int x, int y, int z) + { + return EnumPlantType.Cave; + } + @Override public Block getPlant (IBlockAccess world, int x, int y, int z) { @@ -327,18 +333,4 @@ public void onEntityCollidedWithBlock (World world, int x, int y, int z, Entity if (!(entity instanceof EntityItem)) entity.attackEntityFrom(DamageSource.cactus, 1); } - - @Override - public EnumPlantType getPlantType (IBlockAccess world, int x, int y, int z) - { - return EnumPlantType.Cave; - } - - @SideOnly(Side.CLIENT) - public void setGraphicsLevel (boolean p_150122_1_) - { - this.field_150121_P = p_150122_1_; - this.field_150127_b = (p_150122_1_ ? 0 : 1); - } - -} +} \ No newline at end of file diff --git a/src/main/java/tconstruct/blocks/TankAirBlock.java b/src/main/java/tconstruct/blocks/TankAirBlock.java index 25b45d84042..94b0c5d12ab 100644 --- a/src/main/java/tconstruct/blocks/TankAirBlock.java +++ b/src/main/java/tconstruct/blocks/TankAirBlock.java @@ -40,8 +40,9 @@ public int getRenderType () return TankAirRender.model; } + @Override @SideOnly(Side.CLIENT) - public void registerIcons (IIconRegister par1IconRegister) + public void registerBlockIcons (IIconRegister par1IconRegister) { } diff --git a/src/main/java/tconstruct/blocks/slime/SlimeLeaves.java b/src/main/java/tconstruct/blocks/slime/SlimeLeaves.java index da5e58326d5..9cb46015aeb 100644 --- a/src/main/java/tconstruct/blocks/slime/SlimeLeaves.java +++ b/src/main/java/tconstruct/blocks/slime/SlimeLeaves.java @@ -74,23 +74,23 @@ public IIcon getIcon (int side, int meta) { int tex = meta % 4; - if (net.minecraft.client.Minecraft.getMinecraft().gameSettings.fancyGraphics) + if (this.field_150121_P) return fancyIcons[tex]; else return fastIcons[tex]; } @Override - public void getSubBlocks (Item b, CreativeTabs tab, List list) + public void getSubBlocks (Item id, CreativeTabs tab, List list) { for (int iter = 0; iter < fastIcons.length; iter++) { - list.add(new ItemStack(b, 1, iter)); + list.add(new ItemStack(id, 1, iter)); } } @Override - public boolean isLeaves (IBlockAccess world, int x, int y, int z) + public boolean isLeaves(IBlockAccess world, int x, int y, int z) { return true; } @@ -101,14 +101,13 @@ public boolean isLeaves (IBlockAccess world, int x, int y, int z) * Returns the ID of the items to drop on destruction. */ @Override - public Item getItemDropped (int par1, Random par2Random, int par3) + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { - return new ItemStack(TRepo.slimeSapling).getItem(); + return Item.getItemFromBlock(TRepo.slimeSapling); } /** - * Drops the block items with a specified chance of dropping the specified - * items + * Drops the block items with a specified chance of dropping the specified items */ @Override public void dropBlockAsItemWithChance (World world, int x, int y, int z, int meta, float chance, int fortune) @@ -117,9 +116,10 @@ public void dropBlockAsItemWithChance (World world, int x, int y, int z, int met { int dropChance = 35; - /* - * if ((meta & 3) == 3) { j1 = 40; } - */ + /*if ((meta & 3) == 3) + { + j1 = 40; + }*/ if (fortune > 0) { @@ -161,4 +161,4 @@ public String[] func_150125_e () { return new String[] { "slime" }; } -} +} \ No newline at end of file diff --git a/src/main/java/tconstruct/blocks/slime/SlimeSapling.java b/src/main/java/tconstruct/blocks/slime/SlimeSapling.java index 0723d82b346..a0a01237bd4 100644 --- a/src/main/java/tconstruct/blocks/slime/SlimeSapling.java +++ b/src/main/java/tconstruct/blocks/slime/SlimeSapling.java @@ -31,7 +31,7 @@ public SlimeSapling() float f = 0.4F; setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, f * 2.0F, 0.5F + f); this.setHardness(0.0F); - this.stepSound = Block.soundTypeGrass; + this.setStepSound(Block.soundTypeGrass); this.setCreativeTab(TConstructRegistry.blockTab); } @@ -47,9 +47,10 @@ public void registerBlockIcons (IIconRegister iconRegister) } } - public boolean canThisPlantGrowOnThisBlockID (Block b) + @Override + protected boolean canPlaceBlockOn(Block p_149854_1_) { - return b == Blocks.grass || b == Blocks.dirt || b == TRepo.slimeGrass || b == TRepo.craftedSoil; + return p_149854_1_ == Blocks.grass || p_149854_1_ == Blocks.dirt || p_149854_1_ == TRepo.slimeGrass || p_149854_1_ == TRepo.craftedSoil; } @Override @@ -112,7 +113,7 @@ public void growTree (World world, int x, int y, int z, Random random) obj = new SlimeTreeGen(true, 5, 4, 1, 0); if (!(obj.generate(world, random, x, y, z))) - world.setBlock(x, y, z, Blocks.air, md + 8, 3); + world.setBlock(x, y, z, this, md + 8, 3); } @Override @@ -123,9 +124,9 @@ public int damageDropped (int i) @SideOnly(Side.CLIENT) @Override - public void getSubBlocks (Item b, CreativeTabs par2CreativeTabs, List par3List) + public void getSubBlocks (Item par1, CreativeTabs par2CreativeTabs, List par3List) { for (int i = 0; i < 1; i++) - par3List.add(new ItemStack(b, 1, i)); + par3List.add(new ItemStack(par1, 1, i)); } -} +} \ No newline at end of file diff --git a/src/main/java/tconstruct/client/TClientTickHandler.java b/src/main/java/tconstruct/client/TClientTickHandler.java index 11c6dd0420e..dc1cccaab11 100644 --- a/src/main/java/tconstruct/client/TClientTickHandler.java +++ b/src/main/java/tconstruct/client/TClientTickHandler.java @@ -6,8 +6,8 @@ import tconstruct.common.TRepo; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.TickEvent.ClientTickEvent; -import cpw.mods.fml.common.gameevent.TickEvent.Phase; -import cpw.mods.fml.common.gameevent.TickEvent.Type; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; public class TClientTickHandler { @@ -15,22 +15,15 @@ public class TClientTickHandler TControls controlInstance = ((TProxyClient) TConstruct.proxy).controlInstance; - public TClientTickHandler() - { - } - + @SideOnly(Side.CLIENT) @SubscribeEvent - public void onTick (ClientTickEvent event) + public void tickEnd (ClientTickEvent event) { - - if (event.phase.equals(Phase.END) && event.type.equals(Type.RENDER)) - { - TRepo.oreBerry.setGraphicsLevel(Blocks.leaves.field_150121_P); - TRepo.oreBerrySecond.setGraphicsLevel(Blocks.leaves.field_150121_P); - TRepo.slimeLeaves.setGraphicsLevel(Blocks.leaves.field_150121_P); - if (mc.thePlayer != null && mc.thePlayer.onGround) - controlInstance.landOnGround(); - } + TRepo.oreBerry.setGraphicsLevel(Blocks.leaves.field_150121_P); + TRepo.oreBerrySecond.setGraphicsLevel(Blocks.leaves.field_150121_P); + TRepo.slimeLeaves.setGraphicsLevel(Blocks.leaves.field_150121_P); + if (mc.thePlayer != null && mc.thePlayer.onGround) + controlInstance.landOnGround(); } /* diff --git a/src/main/java/tconstruct/client/TProxyClient.java b/src/main/java/tconstruct/client/TProxyClient.java index 8cd57e2cf9e..a8f0ab64e8e 100644 --- a/src/main/java/tconstruct/client/TProxyClient.java +++ b/src/main/java/tconstruct/client/TProxyClient.java @@ -149,6 +149,7 @@ import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.registry.VillagerRegistry; public class TProxyClient extends TProxyCommon @@ -290,6 +291,7 @@ public static boolean classMatches (Object paramObject, String paramString) @Override public void registerTickHandler () { + FMLCommonHandler.instance().bus().register(new TClientTickHandler()); new TClientTickHandler(); // TickRegistry.registerTickHandler(new TimeTicker(), Side.CLIENT); // TickRegistry.registerTickHandler(new TCommonTickHandler(), diff --git a/src/main/java/tconstruct/worldgen/SlimeTreeGen.java b/src/main/java/tconstruct/worldgen/SlimeTreeGen.java index 02b23d79a57..cce68f5622f 100644 --- a/src/main/java/tconstruct/worldgen/SlimeTreeGen.java +++ b/src/main/java/tconstruct/worldgen/SlimeTreeGen.java @@ -28,7 +28,7 @@ public SlimeTreeGen(boolean notify, int treeHeight, int treeRange, int woodMeta, this.metaLeaves = leavesMeta; this.seekHeight = !notify; } - + @Override public boolean generate (World world, Random random, int xPos, int yPos, int zPos) { @@ -45,11 +45,12 @@ public boolean generate (World world, Random random, int xPos, int yPos, int zPo { Block soil = world.getBlock(xPos, yPos - 1, zPos); boolean isSoil = (soil != null && soil.canSustainPlant(world, xPos, yPos - 1, zPos, ForgeDirection.UP, TRepo.slimeSapling)); - + if (isSoil) { - if (!checkClear(world, xPos, yPos, zPos, height)) - return false; + //TODO Fix this for 1.7 + //if (!checkClear(world, xPos, yPos, zPos, height)) + // return false; soil.onPlantGrow(world, xPos, yPos - 1, zPos, xPos, yPos, zPos); placeCanopy(world, random, xPos, yPos, zPos, height); @@ -75,8 +76,8 @@ else if (yPos >= treeHeight - 1) { for (int zPos = range; zPos <= range; zPos++) { - Block block = world.getBlock(x + xPos, y + yPos, z + zPos); - if (block != null && block != TRepo.slimeSapling && !block.isLeaves(world, x + xPos, y + yPos, z + zPos)) + Block blockID = world.getBlock(x + xPos, y + yPos, z + zPos); + if (blockID != null && blockID != TRepo.slimeSapling && !blockID.isLeaves(world, x + xPos, y + yPos, z + zPos)) return false; } } @@ -90,8 +91,8 @@ int findGround (World world, int x, int y, int z) int height = y; do { - Block heightBL = world.getBlock(x, height, z); - if ((heightBL == TRepo.craftedSoil || heightBL == TRepo.slimeGrass) && !world.getBlock(x, height + 1, z).isOpaqueCube()) + Block heightID = world.getBlock(x, height, z); + if ((heightID == TRepo.craftedSoil || heightID == TRepo.slimeGrass) && !world.getBlock(x, height + 1, z).isOpaqueCube()) { ret = height + 1; break; @@ -117,7 +118,7 @@ void placeCanopy (World world, Random random, int xPos, int yPos, int zPos, int this.setBlockAndMetadata(world, xPos - 1, yPos + height - 3, zPos + 1, Blocks.air, 0); this.setBlockAndMetadata(world, xPos - 1, yPos + height - 3, zPos - 1, Blocks.air, 0); - // Drippers + //Drippers this.setBlockAndMetadata(world, xPos + 3, yPos + height - 4, zPos, TRepo.slimeLeaves, this.metaLeaves); this.setBlockAndMetadata(world, xPos - 3, yPos + height - 4, zPos, TRepo.slimeLeaves, this.metaLeaves); this.setBlockAndMetadata(world, xPos, yPos + height - 4, zPos - 3, TRepo.slimeLeaves, this.metaLeaves); @@ -155,28 +156,28 @@ void placeTrunk (World world, int xPos, int yPos, int zPos, int height) { for (int localHeight = 0; localHeight < height; ++localHeight) { - Block block = world.getBlock(xPos, yPos + localHeight, zPos); + Block blockID = world.getBlock(xPos, yPos + localHeight, zPos); - if (block == null || block == Blocks.air || block.isLeaves(world, xPos, yPos + localHeight, zPos)) + if (blockID == Blocks.air || blockID == null || blockID.isLeaves(world, xPos, yPos + localHeight, zPos)) { this.setBlockAndMetadata(world, xPos, yPos + localHeight, zPos, TRepo.slimeGel, this.metaWood); } } } - protected void setBlockAndMetadata (World world, int x, int y, int z, Block block, int blockMeta) + protected void setBlockAndMetadata (World world, int x, int y, int z, Block blockID, int blockMeta) { - Block blockWorld = world.getBlock(x, y, z); - if (blockWorld == null || blockWorld == Blocks.air || blockWorld.canPlaceBlockAt(world, x, y, z)) + Block block = world.getBlock(x, y, z); + if (block == null || block.canPlaceBlockAt(world, x, y, z)) { if (this.notify) { - world.setBlock(x, y, z, block, blockMeta, 3); + world.setBlock(x, y, z, blockID, blockMeta, 3); } else { - world.setBlock(x, y, z, block, blockMeta, 2); + world.setBlock(x, y, z, blockID, blockMeta, 2); } } } -} +} \ No newline at end of file