diff --git a/gradle.properties b/gradle.properties index aea21946..8298adef 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ mod_version=2.4.1 minecraft_version=1.7.10 forge_version=10.13.4.1481-1.7.10 -ctmlib_version=1.0.0.4 +ctmlib_version=1.1.1-7 ccl_version=1.1.3.136 ccc_version=1.0.6.43 nei_version=1.0.4.107 diff --git a/src/main/java/com/cricketcraft/chisel/api/ICarvable.java b/src/main/java/com/cricketcraft/chisel/api/ICarvable.java index 463363b6..a2d81549 100644 --- a/src/main/java/com/cricketcraft/chisel/api/ICarvable.java +++ b/src/main/java/com/cricketcraft/chisel/api/ICarvable.java @@ -5,12 +5,13 @@ import net.minecraft.world.IBlockAccess; import com.cricketcraft.chisel.api.carving.CarvableHelper; import com.cricketcraft.chisel.api.carving.IVariationInfo; +import com.cricketcraft.ctmlib.ICTMBlock; import com.cricketcraft.ctmlib.ISubmapManager; /** * To be implemented on blocks that can be chiseled and need advanced metadata to variation mapping. Currently not very usable without internal classes. */ -public interface ICarvable { +public interface ICarvable extends ICTMBlock { /** * Gets a {@link ISubmapManager} from this block, based on metadata. @@ -31,15 +32,12 @@ public interface ICarvable { * The metadata of the block * @return The {@link ISubmapManager} that represents this block in the world. */ - public IVariationInfo getVariation(IBlockAccess world, int x, int y, int z, int metadata); + public IVariationInfo getManager(IBlockAccess world, int x, int y, int z, int metadata); /** * Gets the {@link ISubmapManager} for this block when it is in item form. * - * @param stack - * The {@link ItemStack} representing this block; * @return A {@link ISubmapManager} */ - public IVariationInfo getVariation(ItemStack stack); + public IVariationInfo getManager(int meta); } - \ No newline at end of file diff --git a/src/main/java/com/cricketcraft/chisel/api/carving/CarvableHelper.java b/src/main/java/com/cricketcraft/chisel/api/carving/CarvableHelper.java index 85986dca..5f9ba175 100644 --- a/src/main/java/com/cricketcraft/chisel/api/carving/CarvableHelper.java +++ b/src/main/java/com/cricketcraft/chisel/api/carving/CarvableHelper.java @@ -142,7 +142,7 @@ public class CarvableHelper { if (info == null) return getMissingIcon(); - return info.getSubmapManager().getIcon(side, metadata); + return info.getIcon(side, metadata); } public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { @@ -155,7 +155,7 @@ public class CarvableHelper { if (info == null) return getMissingIcon(); - return info.getSubmapManager().getIcon(world, x, y, z, side); + return info.getIcon(world, x, y, z, side); } public void registerAll(Block block, String name) { @@ -199,7 +199,7 @@ public class CarvableHelper { @SideOnly(Side.CLIENT) public void registerBlockIcons(String modName, Block block, IIconRegister register) { for (IVariationInfo info : infoList) { - info.getSubmapManager().registerIcons(modName, block, register); + info.registerIcons(modName, block, register); } } diff --git a/src/main/java/com/cricketcraft/chisel/api/carving/IVariationInfo.java b/src/main/java/com/cricketcraft/chisel/api/carving/IVariationInfo.java index 41d7bf61..1592977e 100644 --- a/src/main/java/com/cricketcraft/chisel/api/carving/IVariationInfo.java +++ b/src/main/java/com/cricketcraft/chisel/api/carving/IVariationInfo.java @@ -3,9 +3,7 @@ package com.cricketcraft.chisel.api.carving; import com.cricketcraft.chisel.api.rendering.TextureType; import com.cricketcraft.ctmlib.ISubmapManager; -public interface IVariationInfo { - - ISubmapManager getSubmapManager(); +public interface IVariationInfo extends ISubmapManager { ICarvingVariation getVariation(); diff --git a/src/main/java/com/cricketcraft/chisel/api/carving/VariationInfoBase.java b/src/main/java/com/cricketcraft/chisel/api/carving/VariationInfoBase.java index ecdc1ba6..0ab6621f 100644 --- a/src/main/java/com/cricketcraft/chisel/api/carving/VariationInfoBase.java +++ b/src/main/java/com/cricketcraft/chisel/api/carving/VariationInfoBase.java @@ -1,6 +1,12 @@ package com.cricketcraft.chisel.api.carving; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.util.IIcon; import net.minecraft.util.StatCollector; +import net.minecraft.world.IBlockAccess; +import net.minecraftforge.common.util.ForgeDirection; import com.cricketcraft.chisel.api.rendering.TextureType; import com.cricketcraft.ctmlib.ISubmapManager; @@ -33,13 +39,40 @@ public class VariationInfoBase implements IVariationInfo { return StatCollector.translateToLocal(unlocDesc); } - @Override - public ISubmapManager getSubmapManager() { - return manager; - } - @Override public TextureType getType() { return type; } + + // ISubmapManager delegation + + @Override + public IIcon getIcon(int side, int meta) { + return manager.getIcon(side, meta); + } + + @Override + public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { + return manager.getIcon(world, x, y, z, side); + } + + @Override + public void registerIcons(String modName, Block block, IIconRegister register) { + manager.registerIcons(modName, block, register); + } + + @Override + public RenderBlocks createRenderContext(RenderBlocks rendererOld, Block block, IBlockAccess world) { + return manager.createRenderContext(rendererOld, block, world); + } + + @Override + public void preRenderSide(RenderBlocks renderer, IBlockAccess world, int x, int y, int z, ForgeDirection side) { + manager.preRenderSide(renderer, world, x, y, z, side); + } + + @Override + public void postRenderSide(RenderBlocks renderer, IBlockAccess world, int x, int y, int z, ForgeDirection side) { + manager.postRenderSide(renderer, world, x, y, z, side); + } } diff --git a/src/main/java/com/cricketcraft/chisel/block/BlockCarvable.java b/src/main/java/com/cricketcraft/chisel/block/BlockCarvable.java index faef75d4..08fe7058 100644 --- a/src/main/java/com/cricketcraft/chisel/block/BlockCarvable.java +++ b/src/main/java/com/cricketcraft/chisel/block/BlockCarvable.java @@ -7,12 +7,10 @@ import net.minecraft.block.material.Material; 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.util.IIcon; import net.minecraft.world.IBlockAccess; import com.cricketcraft.chisel.Chisel; -import com.cricketcraft.chisel.api.ChiselAPIProps; import com.cricketcraft.chisel.api.ICarvable; import com.cricketcraft.chisel.api.carving.CarvableHelper; import com.cricketcraft.chisel.api.carving.IVariationInfo; @@ -84,13 +82,13 @@ public class BlockCarvable extends Block implements ICarvable { } @Override - public IVariationInfo getVariation(IBlockAccess world, int x, int y, int z, int metadata) { + public IVariationInfo getManager(IBlockAccess world, int x, int y, int z, int metadata) { return carverHelper.getVariation(metadata); } @Override - public IVariationInfo getVariation(ItemStack stack) { - return carverHelper.getVariation(stack.getItemDamage()); + public IVariationInfo getManager(int meta) { + return carverHelper.getVariation(meta); } public static class SoundType extends Block.SoundType { @@ -180,5 +178,4 @@ public class BlockCarvable extends Block implements ICarvable { return this.soundNamePlace; } } - } diff --git a/src/main/java/com/cricketcraft/chisel/block/BlockCarvableBeacon.java b/src/main/java/com/cricketcraft/chisel/block/BlockCarvableBeacon.java index 101655c2..3d6abd10 100644 --- a/src/main/java/com/cricketcraft/chisel/block/BlockCarvableBeacon.java +++ b/src/main/java/com/cricketcraft/chisel/block/BlockCarvableBeacon.java @@ -63,12 +63,12 @@ public class BlockCarvableBeacon extends BlockBeacon implements ICarvable { } @Override - public IVariationInfo getVariation(IBlockAccess world, int x, int y, int z, int metadata) { + public IVariationInfo getManager(IBlockAccess world, int x, int y, int z, int metadata) { return carverHelper.getVariation(metadata); } @Override - public IVariationInfo getVariation(ItemStack stack) { - return carverHelper.getVariation(stack.getItemDamage()); + public IVariationInfo getManager(int meta) { + return carverHelper.getVariation(meta); } } diff --git a/src/main/java/com/cricketcraft/chisel/block/BlockCarvableCarpet.java b/src/main/java/com/cricketcraft/chisel/block/BlockCarvableCarpet.java index 465429a6..e55f9a07 100644 --- a/src/main/java/com/cricketcraft/chisel/block/BlockCarvableCarpet.java +++ b/src/main/java/com/cricketcraft/chisel/block/BlockCarvableCarpet.java @@ -7,7 +7,6 @@ import net.minecraft.block.material.Material; 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.util.IIcon; import net.minecraft.world.IBlockAccess; @@ -55,12 +54,12 @@ public class BlockCarvableCarpet extends BlockCarpet implements ICarvable { } @Override - public IVariationInfo getVariation(IBlockAccess world, int x, int y, int z, int metadata) { + public IVariationInfo getManager(IBlockAccess world, int x, int y, int z, int metadata) { return carverHelper.getVariation(metadata); } @Override - public IVariationInfo getVariation(ItemStack stack) { - return carverHelper.getVariation(stack.getItemDamage()); + public IVariationInfo getManager(int meta) { + return carverHelper.getVariation(meta); } } diff --git a/src/main/java/com/cricketcraft/chisel/block/BlockCarvableGlass.java b/src/main/java/com/cricketcraft/chisel/block/BlockCarvableGlass.java index d001868c..ae2b852a 100644 --- a/src/main/java/com/cricketcraft/chisel/block/BlockCarvableGlass.java +++ b/src/main/java/com/cricketcraft/chisel/block/BlockCarvableGlass.java @@ -7,7 +7,6 @@ import net.minecraft.block.material.Material; 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.util.IIcon; import net.minecraft.world.IBlockAccess; @@ -73,13 +72,13 @@ public class BlockCarvableGlass extends BlockGlass implements ICarvable { } @Override - public IVariationInfo getVariation(IBlockAccess world, int x, int y, int z, int metadata) { + public IVariationInfo getManager(IBlockAccess world, int x, int y, int z, int metadata) { return carverHelper.getVariation(metadata); } @Override - public IVariationInfo getVariation(ItemStack stack) { - return carverHelper.getVariation(stack.getItemDamage()); + public IVariationInfo getManager(int meta) { + return carverHelper.getVariation(meta); } @Override diff --git a/src/main/java/com/cricketcraft/chisel/block/BlockCarvableIce.java b/src/main/java/com/cricketcraft/chisel/block/BlockCarvableIce.java index aa530179..f354aae8 100644 --- a/src/main/java/com/cricketcraft/chisel/block/BlockCarvableIce.java +++ b/src/main/java/com/cricketcraft/chisel/block/BlockCarvableIce.java @@ -8,7 +8,6 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; import net.minecraft.stats.StatList; import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; @@ -64,12 +63,12 @@ public class BlockCarvableIce extends BlockIce implements ICarvable { } @Override - public IVariationInfo getVariation(IBlockAccess world, int x, int y, int z, int metadata) { + public IVariationInfo getManager(IBlockAccess world, int x, int y, int z, int metadata) { return carverHelper.getVariation(metadata); } @Override - public IVariationInfo getVariation(ItemStack stack) { - return carverHelper.getVariation(stack.getItemDamage()); + public IVariationInfo getManager(int meta) { + return carverHelper.getVariation(meta); } } diff --git a/src/main/java/com/cricketcraft/chisel/block/BlockCarvablePackedIce.java b/src/main/java/com/cricketcraft/chisel/block/BlockCarvablePackedIce.java index 052da89b..0de0ab89 100644 --- a/src/main/java/com/cricketcraft/chisel/block/BlockCarvablePackedIce.java +++ b/src/main/java/com/cricketcraft/chisel/block/BlockCarvablePackedIce.java @@ -10,7 +10,6 @@ import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; import net.minecraft.stats.StatList; import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; @@ -72,12 +71,12 @@ public class BlockCarvablePackedIce extends Block implements ICarvable { } @Override - public IVariationInfo getVariation(IBlockAccess world, int x, int y, int z, int metadata) { + public IVariationInfo getManager(IBlockAccess world, int x, int y, int z, int metadata) { return carverHelper.getVariation(metadata); } @Override - public IVariationInfo getVariation(ItemStack stack) { - return carverHelper.getVariation(stack.getItemDamage()); + public IVariationInfo getManager(int meta) { + return carverHelper.getVariation(meta); } } diff --git a/src/main/java/com/cricketcraft/chisel/block/BlockCarvablePane.java b/src/main/java/com/cricketcraft/chisel/block/BlockCarvablePane.java index 57685247..b8dff33c 100644 --- a/src/main/java/com/cricketcraft/chisel/block/BlockCarvablePane.java +++ b/src/main/java/com/cricketcraft/chisel/block/BlockCarvablePane.java @@ -7,7 +7,6 @@ import net.minecraft.block.material.Material; 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.util.IIcon; import net.minecraft.world.IBlockAccess; @@ -70,12 +69,12 @@ public class BlockCarvablePane extends BlockPane implements ICarvable { } @Override - public IVariationInfo getVariation(IBlockAccess world, int x, int y, int z, int metadata) { + public IVariationInfo getManager(IBlockAccess world, int x, int y, int z, int metadata) { return carverHelper.getVariation(metadata); } @Override - public IVariationInfo getVariation(ItemStack stack) { - return carverHelper.getVariation(stack.getItemDamage()); + public IVariationInfo getManager(int meta) { + return carverHelper.getVariation(meta); } } diff --git a/src/main/java/com/cricketcraft/chisel/block/BlockCarvablePumpkin.java b/src/main/java/com/cricketcraft/chisel/block/BlockCarvablePumpkin.java index 14d21ff1..143d6f43 100644 --- a/src/main/java/com/cricketcraft/chisel/block/BlockCarvablePumpkin.java +++ b/src/main/java/com/cricketcraft/chisel/block/BlockCarvablePumpkin.java @@ -111,13 +111,13 @@ public class BlockCarvablePumpkin extends BlockPumpkin implements ICarvable { } @Override - public IVariationInfo getVariation(IBlockAccess world, int x, int y, int z, int metadata) { + public IVariationInfo getManager(IBlockAccess world, int x, int y, int z, int metadata) { return carverHelper.getVariation(metadata); } @Override - public IVariationInfo getVariation(ItemStack stack) { - return carverHelper.getVariation(stack.getItemDamage()); + public IVariationInfo getManager(int meta) { + return carverHelper.getVariation(meta); } public void setInformation(String textureLocation) { diff --git a/src/main/java/com/cricketcraft/chisel/block/BlockCarvableSand.java b/src/main/java/com/cricketcraft/chisel/block/BlockCarvableSand.java index 7ddfc154..eca4ccea 100644 --- a/src/main/java/com/cricketcraft/chisel/block/BlockCarvableSand.java +++ b/src/main/java/com/cricketcraft/chisel/block/BlockCarvableSand.java @@ -7,7 +7,6 @@ import net.minecraft.block.BlockSand; 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.util.IIcon; import net.minecraft.world.IBlockAccess; @@ -74,13 +73,13 @@ public class BlockCarvableSand extends BlockSand implements ICarvable { } @Override - public IVariationInfo getVariation(IBlockAccess world, int x, int y, int z, int metadata) { + public IVariationInfo getManager(IBlockAccess world, int x, int y, int z, int metadata) { return carverHelper.getVariation(metadata); } @Override - public IVariationInfo getVariation(ItemStack stack) { - return carverHelper.getVariation(stack.getItemDamage()); + public IVariationInfo getManager(int meta) { + return carverHelper.getVariation(meta); } public static class SoundType extends Block.SoundType { diff --git a/src/main/java/com/cricketcraft/chisel/block/BlockCarvableStairs.java b/src/main/java/com/cricketcraft/chisel/block/BlockCarvableStairs.java index 891ce02c..f4dcc75f 100644 --- a/src/main/java/com/cricketcraft/chisel/block/BlockCarvableStairs.java +++ b/src/main/java/com/cricketcraft/chisel/block/BlockCarvableStairs.java @@ -82,12 +82,12 @@ public class BlockCarvableStairs extends BlockStairs implements ICarvable { } @Override - public IVariationInfo getVariation(IBlockAccess world, int x, int y, int z, int metadata) { + public IVariationInfo getManager(IBlockAccess world, int x, int y, int z, int metadata) { return carverHelper.getVariation(blockMeta + (metadata / 8)); } @Override - public IVariationInfo getVariation(ItemStack stack) { - return carverHelper.getVariation(blockMeta + (stack.getItemDamage() / 8)); + public IVariationInfo getManager(int meta) { + return carverHelper.getVariation(blockMeta + (meta / 8)); } } diff --git a/src/main/java/com/cricketcraft/chisel/block/BlockCarvableTorch.java b/src/main/java/com/cricketcraft/chisel/block/BlockCarvableTorch.java index 29a3e3d5..ab496c52 100644 --- a/src/main/java/com/cricketcraft/chisel/block/BlockCarvableTorch.java +++ b/src/main/java/com/cricketcraft/chisel/block/BlockCarvableTorch.java @@ -4,7 +4,6 @@ import java.util.Random; import net.minecraft.block.BlockTorch; import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.item.ItemStack; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; @@ -35,13 +34,13 @@ public class BlockCarvableTorch extends BlockTorch implements ICarvable { } @Override - public IVariationInfo getVariation(IBlockAccess world, int x, int y, int z, int metadata) { + public IVariationInfo getManager(IBlockAccess world, int x, int y, int z, int metadata) { return carverHelper.getVariation(metadata); } @Override - public IVariationInfo getVariation(ItemStack stack) { - return carverHelper.getVariation(stack.getItemDamage()); + public IVariationInfo getManager(int meta) { + return carverHelper.getVariation(meta); } @Override diff --git a/src/main/java/com/cricketcraft/chisel/block/BlockMultiLayer.java b/src/main/java/com/cricketcraft/chisel/block/BlockMultiLayer.java index 1e60e6be..54badd10 100644 --- a/src/main/java/com/cricketcraft/chisel/block/BlockMultiLayer.java +++ b/src/main/java/com/cricketcraft/chisel/block/BlockMultiLayer.java @@ -7,7 +7,6 @@ import net.minecraft.block.material.Material; 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.util.IIcon; import net.minecraft.world.IBlockAccess; @@ -54,12 +53,12 @@ public class BlockMultiLayer extends BlockMultiLayerBase implements ICarvable { } @Override - public IVariationInfo getVariation(IBlockAccess world, int x, int y, int z, int metadata) { + public IVariationInfo getManager(IBlockAccess world, int x, int y, int z, int metadata) { return carverHelper.getVariation(metadata); } @Override - public IVariationInfo getVariation(ItemStack stack) { - return carverHelper.getVariation(stack.getItemDamage()); + public IVariationInfo getManager(int meta) { + return carverHelper.getVariation(meta); } } diff --git a/src/main/java/com/cricketcraft/chisel/block/BlockPresent.java b/src/main/java/com/cricketcraft/chisel/block/BlockPresent.java index cb6a3ec0..cb726b13 100644 --- a/src/main/java/com/cricketcraft/chisel/block/BlockPresent.java +++ b/src/main/java/com/cricketcraft/chisel/block/BlockPresent.java @@ -215,12 +215,12 @@ public class BlockPresent extends Block implements ICarvable { } @Override - public IVariationInfo getVariation(IBlockAccess world, int x, int y, int z, int metadata) { + public IVariationInfo getManager(IBlockAccess world, int x, int y, int z, int metadata) { return carverHelper.getVariation(metadata); } @Override - public IVariationInfo getVariation(ItemStack stack) { - return carverHelper.getVariation(stack.getItemDamage()); + public IVariationInfo getManager(int meta) { + return carverHelper.getVariation(meta); } } \ No newline at end of file diff --git a/src/main/java/com/cricketcraft/chisel/client/render/RendererCTM.java b/src/main/java/com/cricketcraft/chisel/client/render/RendererCTM.java index 658e5b3b..db0f9095 100644 --- a/src/main/java/com/cricketcraft/chisel/client/render/RendererCTM.java +++ b/src/main/java/com/cricketcraft/chisel/client/render/RendererCTM.java @@ -1,78 +1,14 @@ package com.cricketcraft.chisel.client.render; -import net.minecraft.block.Block; -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.item.ItemStack; -import net.minecraft.world.IBlockAccess; - -import org.lwjgl.opengl.GL11; - -import com.cricketcraft.chisel.api.ICarvable; -import com.cricketcraft.chisel.api.carving.IVariationInfo; import com.cricketcraft.chisel.api.rendering.ClientUtils; -import com.cricketcraft.ctmlib.Drawing; -import com.cricketcraft.ctmlib.RenderBlocksCTM; +import com.cricketcraft.ctmlib.CTMRenderer; -import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; import cpw.mods.fml.client.registry.RenderingRegistry; -public class RendererCTM implements ISimpleBlockRenderingHandler { - - public RenderBlocksCTM rendererCTM = new RenderBlocksCTM(); +public class RendererCTM extends CTMRenderer { public RendererCTM() { - if (ClientUtils.renderCTMId == 0) { - ClientUtils.renderCTMId = RenderingRegistry.getNextAvailableRenderId(); - } - } - - @Override - public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) { - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - IVariationInfo var = ((ICarvable) block).getVariation(new ItemStack(block, 1, metadata)); - RenderBlocks rb = getContext(renderer, block, Minecraft.getMinecraft().theWorld, var, metadata); - Drawing.drawBlock(block, metadata, rb); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - rb.unlockBlockBounds(); - } - - @Override - public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks rendererOld) { - int meta = world.getBlockMetadata(x, y, z); - IVariationInfo var = ((ICarvable) block).getVariation(world, x, y, z, meta); - RenderBlocks rb = getContext(rendererOld, block, world, var, meta); - boolean ret = rb.renderStandardBlock(block, x, y, z); - rb.unlockBlockBounds(); - return ret; - } - - private RenderBlocks getContext(RenderBlocks rendererOld, Block block, IBlockAccess world, IVariationInfo var, int meta) { - if (!rendererOld.hasOverrideBlockTexture() && var != null) { - RenderBlocks rb = var.getSubmapManager().createRenderContext(rendererOld, block, world); - if (rb != null && rb != rendererOld) { - rb.blockAccess = world; - if (rendererOld.lockBlockBounds) { - rb.overrideBlockBounds(rendererOld.renderMinX, rendererOld.renderMinY, rendererOld.renderMinZ, rendererOld.renderMaxX, rendererOld.renderMaxY, rendererOld.renderMaxZ); - } - if (rb instanceof RenderBlocksCTM) { - RenderBlocksCTM rbctm = (RenderBlocksCTM) rb; - rbctm.manager = rbctm.manager == null ? var.getSubmapManager() : rbctm.manager; - rbctm.rendererOld = rbctm.rendererOld == null ? rendererOld : rbctm.rendererOld; - } - return rb; - } - } - return rendererOld; - } - - @Override - public boolean shouldRender3DInInventory(int renderId) { - return true; - } - - @Override - public int getRenderId() { - return ClientUtils.renderCTMId; + super(RenderingRegistry.getNextAvailableRenderId()); + ClientUtils.renderCTMId = getRenderId(); } } diff --git a/src/main/java/com/cricketcraft/chisel/client/render/SubmapManagerFakeController.java b/src/main/java/com/cricketcraft/chisel/client/render/SubmapManagerFakeController.java index b8438269..9e2d04bc 100644 --- a/src/main/java/com/cricketcraft/chisel/client/render/SubmapManagerFakeController.java +++ b/src/main/java/com/cricketcraft/chisel/client/render/SubmapManagerFakeController.java @@ -1,6 +1,7 @@ package com.cricketcraft.chisel.client.render; import com.cricketcraft.chisel.Chisel; + import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.util.IIcon; @@ -9,9 +10,9 @@ import net.minecraft.world.IBlockAccess; import com.cricketcraft.chisel.init.ChiselBlocks; import com.cricketcraft.ctmlib.CTM; import com.cricketcraft.ctmlib.TextureSubmap; +import com.google.common.base.Optional; import static com.cricketcraft.ctmlib.Dir.*; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -23,13 +24,13 @@ public class SubmapManagerFakeController extends SubmapManagerBase { private String texturePath; public SubmapManagerFakeController(int meta, String texture) { - ctm.disableObscuredFaceCheck = true; + ctm.disableObscuredFaceCheck = Optional.of(true); this.meta = meta; texturePath = texture; } public SubmapManagerFakeController(int meta) { - ctm.disableObscuredFaceCheck = true; + ctm.disableObscuredFaceCheck = Optional.of(true); this.meta = meta; } diff --git a/src/main/java/com/cricketcraft/chisel/compat/WailaCompat.java b/src/main/java/com/cricketcraft/chisel/compat/WailaCompat.java index de7c923d..f33c2b03 100644 --- a/src/main/java/com/cricketcraft/chisel/compat/WailaCompat.java +++ b/src/main/java/com/cricketcraft/chisel/compat/WailaCompat.java @@ -35,7 +35,7 @@ public class WailaCompat implements IWailaDataProvider { if (accessor.getBlock() instanceof ICarvable) { ICarvable block = (ICarvable) accessor.getBlock(); MovingObjectPosition pos = accessor.getPosition(); - strings.add(block.getVariation(accessor.getWorld(), pos.blockX, pos.blockY, pos.blockZ, accessor.getMetadata()).getDescription()); + strings.add(block.getManager(accessor.getWorld(), pos.blockX, pos.blockY, pos.blockZ, accessor.getMetadata()).getDescription()); } return strings; } diff --git a/src/main/java/com/cricketcraft/chisel/item/ItemCarvable.java b/src/main/java/com/cricketcraft/chisel/item/ItemCarvable.java index e63d8a32..51ae041d 100644 --- a/src/main/java/com/cricketcraft/chisel/item/ItemCarvable.java +++ b/src/main/java/com/cricketcraft/chisel/item/ItemCarvable.java @@ -47,7 +47,7 @@ public class ItemCarvable extends ItemBlock { return; ICarvable carvable = (ICarvable) block; - IVariationInfo var = carvable.getVariation(stack); + IVariationInfo var = carvable.getManager(stack.getItemDamage()); if (var == null) return; diff --git a/src/main/java/com/cricketcraft/chisel/item/ItemCarvablePumpkin.java b/src/main/java/com/cricketcraft/chisel/item/ItemCarvablePumpkin.java index 753e2724..06562465 100644 --- a/src/main/java/com/cricketcraft/chisel/item/ItemCarvablePumpkin.java +++ b/src/main/java/com/cricketcraft/chisel/item/ItemCarvablePumpkin.java @@ -53,7 +53,7 @@ public class ItemCarvablePumpkin extends ItemBlock { return; ICarvable carvable = (ICarvable) block; - IVariationInfo var = carvable.getVariation(stack); + IVariationInfo var = carvable.getManager(stack.getItemDamage()); if (var == null) return;