diff --git a/src/main/java/com/cricketcraft/chisel/Chisel.java b/src/main/java/com/cricketcraft/chisel/Chisel.java index 78051734..6eb71404 100644 --- a/src/main/java/com/cricketcraft/chisel/Chisel.java +++ b/src/main/java/com/cricketcraft/chisel/Chisel.java @@ -64,9 +64,10 @@ public class Chisel { public static final BlockCarvable.SoundType soundHolystoneFootstep = new BlockCarvable.SoundType("holystone", 1.0f, 1.0f); public static final BlockCarvable.SoundType soundMetalFootstep = new BlockCarvable.SoundType("metal", 1.0f, 1.0f); public static boolean multipartLoaded = false; - public static int RenderEldritchId; - public static int RenderCTMId; - public static int RenderCarpetId; + public static int renderEldritchId; + public static int renderCTMId; + public static int renderCarpetId; + public static int renderAutoChiselId; @Instance(MOD_ID) public static Chisel instance; diff --git a/src/main/java/com/cricketcraft/chisel/block/BlockAutoChisel.java b/src/main/java/com/cricketcraft/chisel/block/BlockAutoChisel.java index 3910db1e..9bf227e8 100644 --- a/src/main/java/com/cricketcraft/chisel/block/BlockAutoChisel.java +++ b/src/main/java/com/cricketcraft/chisel/block/BlockAutoChisel.java @@ -24,7 +24,7 @@ public class BlockAutoChisel extends BlockContainer { @Override public int getRenderType() { - return -1; + return Chisel.renderAutoChiselId; } @Override diff --git a/src/main/java/com/cricketcraft/chisel/block/BlockCarvable.java b/src/main/java/com/cricketcraft/chisel/block/BlockCarvable.java index 218e8ee9..86890065 100644 --- a/src/main/java/com/cricketcraft/chisel/block/BlockCarvable.java +++ b/src/main/java/com/cricketcraft/chisel/block/BlockCarvable.java @@ -74,7 +74,7 @@ public class BlockCarvable extends Block implements ICarvable { @Override public int getRenderType() { - return Chisel.RenderCTMId; + return Chisel.renderCTMId; } @Override diff --git a/src/main/java/com/cricketcraft/chisel/block/BlockCarvableGlass.java b/src/main/java/com/cricketcraft/chisel/block/BlockCarvableGlass.java index 3f5214fe..d75c9c28 100644 --- a/src/main/java/com/cricketcraft/chisel/block/BlockCarvableGlass.java +++ b/src/main/java/com/cricketcraft/chisel/block/BlockCarvableGlass.java @@ -42,7 +42,7 @@ public class BlockCarvableGlass extends BlockGlass implements ICarvable { @Override public int getRenderType() { - return Chisel.RenderCTMId; + return Chisel.renderCTMId; } @Override diff --git a/src/main/java/com/cricketcraft/chisel/block/BlockCarvableSand.java b/src/main/java/com/cricketcraft/chisel/block/BlockCarvableSand.java index 0ffe212d..3a086be2 100644 --- a/src/main/java/com/cricketcraft/chisel/block/BlockCarvableSand.java +++ b/src/main/java/com/cricketcraft/chisel/block/BlockCarvableSand.java @@ -68,7 +68,7 @@ public class BlockCarvableSand extends BlockSand implements ICarvable { @Override public int getRenderType() { - return Chisel.RenderCTMId; + return Chisel.renderCTMId; } @Override diff --git a/src/main/java/com/cricketcraft/chisel/block/BlockEldritch.java b/src/main/java/com/cricketcraft/chisel/block/BlockEldritch.java index dd53db11..6d3366b9 100644 --- a/src/main/java/com/cricketcraft/chisel/block/BlockEldritch.java +++ b/src/main/java/com/cricketcraft/chisel/block/BlockEldritch.java @@ -10,7 +10,7 @@ public class BlockEldritch extends BlockCarvable { @Override public int getRenderType() { - return Chisel.RenderEldritchId; + return Chisel.renderEldritchId; } } diff --git a/src/main/java/com/cricketcraft/chisel/block/BlockMarbleCarpet.java b/src/main/java/com/cricketcraft/chisel/block/BlockMarbleCarpet.java index 14d1a331..e317b312 100644 --- a/src/main/java/com/cricketcraft/chisel/block/BlockMarbleCarpet.java +++ b/src/main/java/com/cricketcraft/chisel/block/BlockMarbleCarpet.java @@ -50,7 +50,7 @@ public class BlockMarbleCarpet extends BlockCarpet implements ICarvable { @Override public int getRenderType() { - return Chisel.RenderCarpetId; + return Chisel.renderCarpetId; } @Override diff --git a/src/main/java/com/cricketcraft/chisel/client/model/ModelAutoChisel.java b/src/main/java/com/cricketcraft/chisel/client/model/ModelAutoChisel.java deleted file mode 100644 index 2f9ed16c..00000000 --- a/src/main/java/com/cricketcraft/chisel/client/model/ModelAutoChisel.java +++ /dev/null @@ -1,144 +0,0 @@ -package com.cricketcraft.chisel.client.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelAutoChisel extends ModelBase { - - // fields - ModelRenderer Shape1; - ModelRenderer Shape2; - ModelRenderer Shape3; - ModelRenderer Shape4; - ModelRenderer Shape5; - ModelRenderer Shape6; - ModelRenderer Shape7; - ModelRenderer Shape8; - ModelRenderer Shape9; - ModelRenderer Shape10; - ModelRenderer Shape11; - ModelRenderer Shape12; - - public ModelAutoChisel() { - textureWidth = 64; - textureHeight = 32; - - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 16, 1, 1); - Shape1.setRotationPoint(-8F, 23F, -8F); - Shape1.setTextureSize(64, 32); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 0, 0); - Shape2.addBox(0F, 0F, 0F, 1, 1, 15); - Shape2.setRotationPoint(-8F, 23F, -7F); - Shape2.setTextureSize(64, 32); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 0, 0); - Shape3.addBox(0F, 0F, 0F, 1, 1, 15); - Shape3.setRotationPoint(7F, 23F, -7F); - Shape3.setTextureSize(64, 32); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - Shape4 = new ModelRenderer(this, 0, 0); - Shape4.addBox(0F, 0F, 0F, 14, 1, 1); - Shape4.setRotationPoint(-7F, 23F, 7F); - Shape4.setTextureSize(64, 32); - Shape4.mirror = true; - setRotation(Shape4, 0F, 0F, 0F); - Shape5 = new ModelRenderer(this, 0, 0); - Shape5.addBox(0F, 0F, 0F, 1, 15, 1); - Shape5.setRotationPoint(-8F, 8F, -8F); - Shape5.setTextureSize(64, 32); - Shape5.mirror = true; - setRotation(Shape5, 0F, 0F, 0F); - Shape6 = new ModelRenderer(this, 0, 0); - Shape6.addBox(0F, 0F, 0F, 1, 15, 1); - Shape6.setRotationPoint(-8F, 8F, 7F); - Shape6.setTextureSize(64, 32); - Shape6.mirror = true; - setRotation(Shape6, 0F, 0F, 0F); - Shape7 = new ModelRenderer(this, 0, 0); - Shape7.addBox(0F, 0F, 0F, 1, 15, 1); - Shape7.setRotationPoint(7F, 8F, -8F); - Shape7.setTextureSize(64, 32); - Shape7.mirror = true; - setRotation(Shape7, 0F, 0F, 0F); - Shape8 = new ModelRenderer(this, 0, 0); - Shape8.addBox(0F, 0F, 0F, 1, 15, 1); - Shape8.setRotationPoint(7F, 8F, 7F); - Shape8.setTextureSize(64, 32); - Shape8.mirror = true; - setRotation(Shape8, 0F, 0F, 0F); - Shape9 = new ModelRenderer(this, 0, 0); - Shape9.addBox(0F, 0F, 0F, 14, 1, 1); - Shape9.setRotationPoint(-7F, 8F, 7F); - Shape9.setTextureSize(64, 32); - Shape9.mirror = true; - setRotation(Shape9, 0F, 0F, 0F); - Shape10 = new ModelRenderer(this, 0, 0); - Shape10.addBox(0F, 0F, 0F, 14, 1, 1); - Shape10.setRotationPoint(-7F, 8F, -8F); - Shape10.setTextureSize(64, 32); - Shape10.mirror = true; - setRotation(Shape10, 0F, 0F, 0F); - Shape11 = new ModelRenderer(this, 0, 0); - Shape11.addBox(0F, 0F, 0F, 1, 1, 14); - Shape11.setRotationPoint(7F, 8F, -7F); - Shape11.setTextureSize(64, 32); - Shape11.mirror = true; - setRotation(Shape11, 0F, 0F, 0F); - Shape12 = new ModelRenderer(this, 0, 0); - Shape12.addBox(0F, 0F, 0F, 1, 1, 14); - Shape12.setRotationPoint(-8F, 8F, -7F); - Shape12.setTextureSize(64, 32); - Shape12.mirror = true; - setRotation(Shape12, 0F, 0F, 0F); - } - - @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); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - Shape7.render(f5); - Shape8.render(f5); - Shape9.render(f5); - Shape10.render(f5); - Shape11.render(f5); - Shape12.render(f5); - } - - public void renderAll() { - Shape1.render(0.0625F); - Shape2.render(0.0625F); - Shape3.render(0.0625F); - Shape4.render(0.0625F); - Shape5.render(0.0625F); - Shape6.render(0.0625F); - Shape7.render(0.0625F); - Shape8.render(0.0625F); - Shape9.render(0.0625F); - Shape10.render(0.0625F); - Shape11.render(0.0625F); - Shape12.render(0.0625F); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, null); - } - -} diff --git a/src/main/java/com/cricketcraft/chisel/client/render/BlockAdvancedMarbleRenderer.java b/src/main/java/com/cricketcraft/chisel/client/render/BlockAdvancedMarbleRenderer.java index 6481eebc..a9520a53 100644 --- a/src/main/java/com/cricketcraft/chisel/client/render/BlockAdvancedMarbleRenderer.java +++ b/src/main/java/com/cricketcraft/chisel/client/render/BlockAdvancedMarbleRenderer.java @@ -21,8 +21,8 @@ public class BlockAdvancedMarbleRenderer implements ISimpleBlockRenderingHandler RenderBlocksColumn rendererColumn = new RenderBlocksColumn(); public BlockAdvancedMarbleRenderer() { - if (Chisel.RenderCTMId == 0) { - Chisel.RenderCTMId = RenderingRegistry.getNextAvailableRenderId(); + if (Chisel.renderCTMId == 0) { + Chisel.renderCTMId = RenderingRegistry.getNextAvailableRenderId(); } } @@ -75,7 +75,7 @@ public class BlockAdvancedMarbleRenderer implements ISimpleBlockRenderingHandler @Override public int getRenderId() { - return Chisel.RenderCTMId; + return Chisel.renderCTMId; } } diff --git a/src/main/java/com/cricketcraft/chisel/client/render/BlockCarpetRenderer.java b/src/main/java/com/cricketcraft/chisel/client/render/BlockCarpetRenderer.java index a1a314c0..c5ad492a 100644 --- a/src/main/java/com/cricketcraft/chisel/client/render/BlockCarpetRenderer.java +++ b/src/main/java/com/cricketcraft/chisel/client/render/BlockCarpetRenderer.java @@ -9,13 +9,13 @@ public class BlockCarpetRenderer extends BlockAdvancedMarbleRenderer { public BlockCarpetRenderer() { super(); - Chisel.RenderCarpetId = RenderingRegistry.getNextAvailableRenderId(); + Chisel.renderCarpetId = RenderingRegistry.getNextAvailableRenderId(); rendererCTM = new RenderBlocksCTMCarpet(); } @Override public int getRenderId() { - return Chisel.RenderCarpetId; + return Chisel.renderCarpetId; } } diff --git a/src/main/java/com/cricketcraft/chisel/client/render/BlockEldritchRenderer.java b/src/main/java/com/cricketcraft/chisel/client/render/BlockEldritchRenderer.java index 2727d6c4..d723fb0d 100644 --- a/src/main/java/com/cricketcraft/chisel/client/render/BlockEldritchRenderer.java +++ b/src/main/java/com/cricketcraft/chisel/client/render/BlockEldritchRenderer.java @@ -15,7 +15,7 @@ import cpw.mods.fml.client.registry.RenderingRegistry; public class BlockEldritchRenderer implements ISimpleBlockRenderingHandler { public BlockEldritchRenderer() { - Chisel.RenderEldritchId = RenderingRegistry.getNextAvailableRenderId(); + Chisel.renderEldritchId = RenderingRegistry.getNextAvailableRenderId(); } @Override @@ -95,7 +95,7 @@ public class BlockEldritchRenderer implements ISimpleBlockRenderingHandler { @Override public int getRenderId() { - return Chisel.RenderEldritchId; + return Chisel.renderEldritchId; } } diff --git a/src/main/java/com/cricketcraft/chisel/client/render/item/ItemAutoChiselRenderer.java b/src/main/java/com/cricketcraft/chisel/client/render/item/ItemAutoChiselRenderer.java deleted file mode 100644 index a76ce31d..00000000 --- a/src/main/java/com/cricketcraft/chisel/client/render/item/ItemAutoChiselRenderer.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.cricketcraft.chisel.client.render.item; - -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -import org.lwjgl.opengl.GL11; - -import com.cricketcraft.chisel.client.model.ModelAutoChisel; - -import cpw.mods.fml.client.FMLClientHandler; - -public class ItemAutoChiselRenderer implements IItemRenderer { - - private final ModelAutoChisel model = new ModelAutoChisel(); - private ResourceLocation texture; - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return type != ItemRenderType.FIRST_PERSON_MAP; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return true; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - switch (item.getItemDamage()) { - case 0: - texture = new ResourceLocation("chisel:textures/blocks/autoChisel/autoChisel.png"); - break; - case 1: - texture = new ResourceLocation("chisel:textures/blocks/autoChisel/autoChisel_speed.png"); - break; - case 2: - texture = new ResourceLocation("chisel:textures/blocks/autoChisel/autoChisel_automation.png"); - break; - case 3: - texture = new ResourceLocation("chisel:textures/blocks/autoChisel/autoChisel_stack.png"); - break; - default: - texture = new ResourceLocation("chisel:textures/blocks/autoChisel/autoChisel.png"); - break; - } - FMLClientHandler.instance().getClient().renderEngine.bindTexture(texture); - switch (type) { - case ENTITY: - renderBlock(0.0F, 1.0F, 0.0F); - break; - case EQUIPPED: - renderBlock(0.5F, 1.5F, 0.5F); - break; - case EQUIPPED_FIRST_PERSON: - renderBlock(0.5F, 1.0F, 0.5F); - break; - case INVENTORY: - renderInventory(0.0F, 0.625F, 0.0F); - break; - default: - break; - } - } - - private void renderBlock(float x, float y, float z) { - GL11.glPushMatrix(); - GL11.glTranslatef(x, y, z); - GL11.glScaled(-1, -1, 1); - model.renderAll(); - GL11.glPopMatrix(); - } - - private void renderInventory(float x, float y, float z) { - GL11.glPushMatrix(); - GL11.glTranslatef(x, y, z); - GL11.glRotatef(180F, 1F, 0, 0); - GL11.glRotatef(-90F, 0, 1F, 0); - GL11.glScalef(0.8F, 0.8F, 0.8F); - model.renderAll(); - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/com/cricketcraft/chisel/client/render/tile/RenderAutoChisel.java b/src/main/java/com/cricketcraft/chisel/client/render/tile/RenderAutoChisel.java index 9d967de0..a6068d30 100644 --- a/src/main/java/com/cricketcraft/chisel/client/render/tile/RenderAutoChisel.java +++ b/src/main/java/com/cricketcraft/chisel/client/render/tile/RenderAutoChisel.java @@ -1,34 +1,130 @@ package com.cricketcraft.chisel.client.render.tile; +import net.minecraft.block.Block; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.entity.RenderItem; import net.minecraft.client.renderer.entity.RenderManager; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.entity.item.EntityItem; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; import net.minecraft.util.ResourceLocation; +import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; +import net.minecraftforge.client.IItemRenderer; +import net.minecraftforge.client.model.obj.Face; +import net.minecraftforge.client.model.obj.GroupObject; +import net.minecraftforge.client.model.obj.TextureCoordinate; +import net.minecraftforge.client.model.obj.Vertex; +import net.minecraftforge.client.model.obj.WavefrontObject; import org.lwjgl.opengl.GL11; +import com.cricketcraft.chisel.Chisel; import com.cricketcraft.chisel.block.tileentity.TileEntityAutoChisel; -import com.cricketcraft.chisel.client.model.ModelAutoChisel; +import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import static org.lwjgl.opengl.GL11.*; +public class RenderAutoChisel extends TileEntitySpecialRenderer implements ISimpleBlockRenderingHandler, IItemRenderer { -public class RenderAutoChisel extends TileEntitySpecialRenderer { + private static final WavefrontObject model = new WavefrontObject(new ResourceLocation(Chisel.MOD_ID, "models/autoChisel/autoChisel.obj")); + private static final ResourceLocation texture = new ResourceLocation(Chisel.MOD_ID, "textures/blocks/autoChisel/autoChisel.png"); + + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) + { + return true; + } + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) + { + return helper == ItemRendererHelper.INVENTORY_BLOCK || helper == ItemRendererHelper.ENTITY_BOBBING || helper == ItemRendererHelper.ENTITY_ROTATION; + } + + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object... data) + { + switch(type) + { + case ENTITY: + break; + case EQUIPPED: + GL11.glRotatef(35, 0, 1, 0); + GL11.glRotatef(20, 0, 0, 1); + GL11.glScalef(0.65f, 0.65f, 0.65f); + GL11.glTranslatef(1.1f, -0.2f, 0.75f); + break; + case EQUIPPED_FIRST_PERSON: + GL11.glRotatef(20, 0, 0, 1); + GL11.glRotatef(30, 0, 1, 0); + GL11.glTranslatef(0.4f, -0.05f, -0.1f); + GL11.glScalef(0.5f, 0.5f, 0.5f); + break; + case FIRST_PERSON_MAP: + break; + case INVENTORY: + GL11.glTranslatef(0, -0.5f, 0); + } + + Minecraft.getMinecraft().renderEngine.bindTexture(texture); + model.renderAll(); + } + + @Override + public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) + { + ; + } + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) + { + Tessellator tes = Tessellator.instance; + IIcon icon = block.getIcon(0, 0); + tes.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); + tes.setColorOpaque_F(1, 1, 1); + tes.addTranslation(x, y, z + 1); + for (GroupObject go : model.groupObjects) + { + for (Face f : go.faces) + { + Vertex n = f.faceNormal; + tes.setNormal(n.x, n.y, n.z); + for (int i = 0; i < f.vertices.length; i++) + { + Vertex v = f.vertices[i]; + TextureCoordinate t = f.textureCoordinates[i]; + tes.addVertexWithUV(v.x, v.y, v.z, icon.getInterpolatedU(t.u * 16), icon.getInterpolatedV(t.v * 16)); + } + } + } + tes.addTranslation(-x, -y, -z - 1); + return true; + } + + @Override + public boolean shouldRender3DInInventory(int modelId) + { + return true; + } + + @Override + public int getRenderId() + { + return Chisel.renderAutoChiselId; + } + private static EntityItem ghostItem; - private static TileEntityAutoChisel autoChisel; - private final ModelAutoChisel model; - private ResourceLocation texture; + private final RenderItem renderTargetAndChisel, renderBase; public RenderAutoChisel() { - model = new ModelAutoChisel(); renderTargetAndChisel = new RenderItem() { @Override @@ -51,62 +147,29 @@ public class RenderAutoChisel extends TileEntitySpecialRenderer { @Override public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float scale) { - switch (tile.getBlockMetadata()) { - case 0: - texture = new ResourceLocation("chisel:textures/blocks/autoChisel/autoChisel.png"); - break; - case 1: - texture = new ResourceLocation("chisel:textures/blocks/autoChisel/autoChisel_speed.png"); - break; - case 2: - texture = new ResourceLocation("chisel:textures/blocks/autoChisel/autoChisel_automation.png"); - break; - case 3: - texture = new ResourceLocation("chisel:textures/blocks/autoChisel/autoChisel_stack.png"); - break; - default: - texture = new ResourceLocation("chisel:textures/blocks/autoChisel/autoChisel.png"); - break; - } - bindTexture(texture); - glPushMatrix(); - glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); - glRotatef(180F, 0.0F, 0.0F, 1.0F); - glScalef(0.89F, 1.0F, 0.89F); - this.model.renderAll(); - glPopMatrix(); // Render Blocks - autoChisel = (TileEntityAutoChisel) tile; + TileEntityAutoChisel autoChisel = (TileEntityAutoChisel) tile; EntityItem item = autoChisel.getItemForRendering(1); - if (item != null) { - GL11.glPushMatrix(); - GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5); - GL11.glScaled(3, 3, 3); - renderTargetAndChisel.doRender(item, 0, 0, 0, 0, 0); - GL11.glPopMatrix(); - } - - EntityItem item2 = autoChisel.getItemForRendering(0); - - if (item2 != null) { - GL11.glPushMatrix(); - GL11.glTranslated(x + 0.5, y + 1.5, z + 0.5); - GL11.glScaled(1, 1, 1); - renderBase.doRender(item2, 0, 0, 0, 0, 0); - GL11.glPopMatrix(); - } - - /* - * EntityItem chisel = getGhostItem(autoChisel.getWorldObj(), new - * ItemStack(ModItems.chisel)); - * - * if(chisel != null){ GL11.glPushMatrix(); GL11.glTranslated(x + 1.5, y - * + 1.5, z + 1.5); GL11.glScaled(1, 1, 1); - * renderTargetAndChisel.doRender(chisel, 0, 0, 0, 0, 0); - * GL11.glPopMatrix(); } - */ + // TODO item rendering +// if (item != null) { +// GL11.glPushMatrix(); +// GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5); +// GL11.glScaled(3, 3, 3); +// renderTargetAndChisel.doRender(item, 0, 0, 0, 0, 0); +// GL11.glPopMatrix(); +// } +// +// EntityItem item2 = autoChisel.getItemForRendering(0); +// +// if (item2 != null) { +// GL11.glPushMatrix(); +// GL11.glTranslated(x + 0.5, y + 1.5, z + 0.5); +// GL11.glScaled(1, 1, 1); +// renderBase.doRender(item2, 0, 0, 0, 0, 0); +// GL11.glPopMatrix(); +// } } @SideOnly(Side.CLIENT) diff --git a/src/main/java/com/cricketcraft/chisel/init/ModBlocks.java b/src/main/java/com/cricketcraft/chisel/init/ModBlocks.java index dd7a9dea..09c50c0d 100644 --- a/src/main/java/com/cricketcraft/chisel/init/ModBlocks.java +++ b/src/main/java/com/cricketcraft/chisel/init/ModBlocks.java @@ -147,8 +147,7 @@ public class ModBlocks { public static void load() { if (Configurations.featureEnabled("autoChisel")) { - autoChisel = new BlockAutoChisel().setBlockTextureName("Chisel:autoChisel").setCreativeTab(ModTabs.tabChisel).setBlockName("autoChisel") - .setBlockTextureName(Chisel.MOD_ID + ":factory/circuit"); + autoChisel = new BlockAutoChisel().setBlockTextureName(Chisel.MOD_ID + ":autoChisel/autoChisel").setCreativeTab(ModTabs.tabChisel).setBlockName("autoChisel"); GameRegistry.registerBlock(autoChisel, "autoChisel"); Chisel.proxy.registerTileEntities(); } diff --git a/src/main/java/com/cricketcraft/chisel/proxy/ClientProxy.java b/src/main/java/com/cricketcraft/chisel/proxy/ClientProxy.java index 3b2057cb..4635294a 100644 --- a/src/main/java/com/cricketcraft/chisel/proxy/ClientProxy.java +++ b/src/main/java/com/cricketcraft/chisel/proxy/ClientProxy.java @@ -4,6 +4,7 @@ import net.minecraft.client.renderer.entity.RenderSnowball; import net.minecraft.item.Item; import net.minecraftforge.client.MinecraftForgeClient; +import com.cricketcraft.chisel.Chisel; import com.cricketcraft.chisel.block.tileentity.TileEntityAutoChisel; import com.cricketcraft.chisel.block.tileentity.TileEntityPresent; import com.cricketcraft.chisel.client.render.BlockAdvancedMarbleRenderer; @@ -16,7 +17,6 @@ import com.cricketcraft.chisel.client.render.BlockNoCTMRenderer; import com.cricketcraft.chisel.client.render.BlockRoadLineRenderer; import com.cricketcraft.chisel.client.render.BlockSnakeStoneRenderer; import com.cricketcraft.chisel.client.render.BlockTexturedOreRenderer; -import com.cricketcraft.chisel.client.render.item.ItemAutoChiselRenderer; import com.cricketcraft.chisel.client.render.item.ItemChiselRenderer; import com.cricketcraft.chisel.client.render.item.ItemPresentRenderer; import com.cricketcraft.chisel.client.render.tile.RenderAutoChisel; @@ -52,10 +52,14 @@ public class ClientProxy extends CommonProxy { RenderingRegistry.registerBlockHandler(new BlockTexturedOreRenderer()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityAutoChisel.class, new RenderAutoChisel()); + RenderAutoChisel rac = new RenderAutoChisel(); + Chisel.renderAutoChiselId = RenderingRegistry.getNextAvailableRenderId(); + RenderingRegistry.registerBlockHandler(rac); + MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.autoChisel), rac); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityAutoChisel.class, rac); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPresent.class, new RenderPresent()); - MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.autoChisel), new ItemAutoChiselRenderer()); for (int x = 0; x < 16; x++) { MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.present[x]), new ItemPresentRenderer(x)); } diff --git a/src/main/resources/assets/chisel/models/autoChisel/autoChisel.obj b/src/main/resources/assets/chisel/models/autoChisel/autoChisel.obj new file mode 100644 index 00000000..e0bb257e --- /dev/null +++ b/src/main/resources/assets/chisel/models/autoChisel/autoChisel.obj @@ -0,0 +1,155 @@ +# Blender v2.69 (sub 0) OBJ File: 'autochisel.blend' +# www.blender.org +mtllib autoChisel.mtl +o Model_main +v 0.375000 0.437500 -0.375000 +v 0.375000 0.437500 -0.625000 +v 0.375000 0.125000 -0.625000 +v 0.375000 0.125000 -0.375000 +v 0.625000 0.437500 -0.625000 +v 0.625000 0.125000 -0.625000 +v 0.625000 0.437500 -0.375000 +v 0.625000 0.125000 -0.375000 +v 0.125000 0.813333 -0.125000 +v 0.125000 0.813333 -0.875000 +v 0.125000 0.500833 -0.875000 +v 0.125000 0.500833 -0.125000 +v 0.875000 0.813333 -0.875000 +v 0.875000 0.500833 -0.875000 +v 0.875000 0.813333 -0.125000 +v 0.875000 0.500833 -0.125000 +v 0.125000 0.500833 -0.875000 +v 0.125000 0.500833 -0.125000 +v 0.875000 0.500833 -0.875000 +v 0.875000 0.500833 -0.125000 +v 0.250000 0.500000 -0.250000 +v 0.250000 0.500000 -0.750000 +v 0.250000 0.437500 -0.750000 +v 0.250000 0.437500 -0.250000 +v 0.750000 0.500000 -0.750000 +v 0.750000 0.437500 -0.750000 +v 0.750000 0.500000 -0.250000 +v 0.750000 0.437500 -0.250000 +v 0.656250 1.062500 -0.406250 +v 0.656250 1.062500 -0.593750 +v 0.656250 1.000000 -0.593750 +v 0.656250 1.000000 -0.406250 +v 0.718750 1.062500 -0.593750 +v 0.718750 1.000000 -0.593750 +v 0.718750 1.062500 -0.406250 +v 0.718750 1.000000 -0.406250 +v 0.656250 1.062500 -0.343750 +v 0.656250 1.062500 -0.406250 +v 0.656250 0.812500 -0.406250 +v 0.656250 0.812500 -0.343750 +v 0.718750 1.062500 -0.406250 +v 0.718750 0.812500 -0.406250 +v 0.718750 1.062500 -0.343750 +v 0.718750 0.812500 -0.343750 +v 0.656250 1.062500 -0.593750 +v 0.656250 1.062500 -0.656250 +v 0.656250 0.812500 -0.656250 +v 0.656250 0.812500 -0.593750 +v 0.718750 1.062500 -0.656250 +v 0.718750 0.812500 -0.656250 +v 0.718750 1.062500 -0.593750 +v 0.718750 0.812500 -0.593750 +v 0.312500 0.125000 -0.312500 +v 0.312500 0.125000 -0.687500 +v 0.312500 0.062500 -0.687500 +v 0.312500 0.062500 -0.312500 +v 0.687500 0.125000 -0.687500 +v 0.687500 0.062500 -0.687500 +v 0.687500 0.125000 -0.312500 +v 0.687500 0.062500 -0.312500 +v 0.250000 0.062500 -0.250000 +v 0.250000 0.062500 -0.750000 +v 0.250000 0.000000 -0.750000 +v 0.250000 0.000000 -0.250000 +v 0.750000 0.062500 -0.750000 +v 0.750000 0.000000 -0.750000 +v 0.750000 0.062500 -0.250000 +v 0.750000 0.000000 -0.250000 +vt 0.062500 0.500000 +vt 0.000000 0.500000 +vt 0.000000 0.437500 +vt 0.062500 0.437500 +vt 0.375000 1.000000 +vt 0.187500 1.000000 +vt 0.187500 0.921875 +vt 0.375000 0.921875 +vt 0.000000 1.000000 +vt 0.000000 0.812500 +vt 0.187500 0.812500 +vt 0.000000 0.625000 +vt 0.187500 0.625000 +vt 0.250000 0.625000 +vt 0.125000 0.625000 +vt 0.125000 0.609375 +vt 0.250000 0.609375 +vt 0.125000 0.500000 +vt 0.203125 0.906250 +vt 0.203125 0.859375 +vt 0.218750 0.859375 +vt 0.218750 0.906250 +vt 0.187500 0.859375 +vt 0.203125 0.921875 +vt 0.218750 0.921875 +vt 0.234375 0.906250 +vt 0.234375 0.921875 +vt 0.187500 0.437500 +vt 0.093750 0.437500 +vt 0.093750 0.421875 +vt 0.187500 0.421875 +vt 0.000000 0.343750 +vt 0.093750 0.343750 +vt 0.250000 0.343750 +vt 0.125000 0.343750 +vt 0.125000 0.328125 +vt 0.250000 0.328125 +vt 0.000000 0.218750 +vt 0.000000 0.093750 +vt 0.125000 0.093750 +vt 0.125000 0.218750 +usemtl None +s off +f 1/1 2/2 3/3 4/4 +f 2/1 5/2 6/3 3/4 +f 5/1 7/2 8/3 6/4 +f 7/1 1/2 4/3 8/4 +f 9/5 10/6 11/7 12/8 +f 10/5 13/6 14/7 11/8 +f 13/5 15/6 16/7 14/8 +f 15/5 9/6 12/7 16/8 +f 10/9 9/10 15/11 13/6 +f 18/10 17/12 19/13 20/11 +f 21/14 22/15 23/16 24/17 +f 22/14 25/15 26/16 23/17 +f 25/14 27/15 28/16 26/17 +f 27/14 21/15 24/16 28/17 +f 24/12 23/2 26/18 28/15 +f 29/19 30/20 31/21 32/22 +f 33/21 35/22 36/19 34/20 +f 32/19 31/20 34/21 36/22 +f 30/21 29/22 35/19 33/20 +f 37/23 38/20 39/24 40/7 +f 38/23 41/20 42/24 39/7 +f 41/23 43/20 44/24 42/7 +f 43/23 37/20 40/24 44/7 +f 38/25 37/22 43/26 41/27 +f 45/23 46/20 47/24 48/7 +f 46/23 49/20 50/24 47/7 +f 49/23 51/20 52/24 50/7 +f 51/23 45/20 48/24 52/7 +f 46/24 45/19 51/22 49/25 +f 53/28 54/29 55/30 56/31 +f 54/28 57/29 58/30 55/31 +f 57/28 59/29 60/30 58/31 +f 59/28 53/29 56/30 60/31 +f 54/3 53/32 59/33 57/29 +f 61/34 62/35 63/36 64/37 +f 62/34 65/35 66/36 63/37 +f 65/34 67/35 68/36 66/37 +f 67/34 61/35 64/36 68/37 +f 64/38 63/39 66/40 68/41 +f 62/32 61/38 67/41 65/35 diff --git a/src/main/resources/assets/chisel/textures/blocks/autoChisel/autoChisel.png b/src/main/resources/assets/chisel/textures/blocks/autoChisel/autoChisel.png index 4bf01a7f..6f7f16b7 100644 Binary files a/src/main/resources/assets/chisel/textures/blocks/autoChisel/autoChisel.png and b/src/main/resources/assets/chisel/textures/blocks/autoChisel/autoChisel.png differ