diff --git a/build/build.properties b/build/build.properties index 68e16b2..b4265cd 100644 --- a/build/build.properties +++ b/build/build.properties @@ -1,5 +1,5 @@ mc_version=1.7.10 forge_version=10.13.1.1217 -ccl_version=1.1.1.110 +ccl_version=1.1.3.127 nei_version=1.0.3.+ mod_version=1.1.1 diff --git a/resources/assets/microblock/textures/items/sawDiamond.png b/resources/assets/microblock/textures/items/sawDiamond.png new file mode 100644 index 0000000..8ee33a1 Binary files /dev/null and b/resources/assets/microblock/textures/items/sawDiamond.png differ diff --git a/resources/assets/microblock/textures/items/sawIron.png b/resources/assets/microblock/textures/items/sawIron.png new file mode 100644 index 0000000..b8d2845 Binary files /dev/null and b/resources/assets/microblock/textures/items/sawIron.png differ diff --git a/resources/assets/microblock/textures/items/sawStone.png b/resources/assets/microblock/textures/items/sawStone.png new file mode 100644 index 0000000..e44c630 Binary files /dev/null and b/resources/assets/microblock/textures/items/sawStone.png differ diff --git a/src/codechicken/microblock/ItemSaw.scala b/src/codechicken/microblock/ItemSaw.scala index 6c825a1..5c230b5 100644 --- a/src/codechicken/microblock/ItemSaw.scala +++ b/src/codechicken/microblock/ItemSaw.scala @@ -5,11 +5,10 @@ import codechicken.lib.config.ConfigTag import codechicken.microblock.handler.MicroblockProxy._ import net.minecraft.item.ItemStack import net.minecraftforge.client.IItemRenderer -import codechicken.lib.render.CCModel +import codechicken.lib.render.{TextureUtils, CCModel, CCRenderState} import net.minecraftforge.client.IItemRenderer.ItemRenderType import net.minecraftforge.client.IItemRenderer.ItemRendererHelper import codechicken.lib.vec.SwapYZ -import codechicken.lib.render.CCRenderState import codechicken.lib.vec.TransformationList import codechicken.lib.vec.Translation import codechicken.lib.vec.Scale @@ -18,8 +17,9 @@ import org.lwjgl.opengl.GL11 import ItemRenderType._ import codechicken.lib.math.MathHelper._ import net.minecraft.util.ResourceLocation -import net.minecraft.client.renderer.texture.IIconRegister +import net.minecraft.client.renderer.texture.{TextureMap, IIconRegister} import codechicken.lib.render.uv.UVTranslation +import codechicken.microblock.handler.MicroblockProxy /** * Interface for items that are 'saws' @@ -58,8 +58,6 @@ class ItemSaw(sawTag:ConfigTag, val harvestLevel:Int) extends Item with Saw override def doesContainerItemLeaveCraftingGrid(stack:ItemStack) = false def getCuttingStrength(item:ItemStack) = harvestLevel - - override def registerIcons(register:IIconRegister){} } object ItemSawRenderer extends IItemRenderer @@ -69,10 +67,11 @@ object ItemSawRenderer extends IItemRenderer val holder = models.get("BladeSupport") val blade = models.get("Blade") - def handleRenderType(item:ItemStack, renderType:ItemRenderType) = true + def handleRenderType(item:ItemStack, renderType:ItemRenderType) = + !MicroblockProxy.useSawIcons || TextureUtils.isMissing(item.getIconIndex, TextureMap.locationItemsTexture) def shouldUseRenderHelper(renderType:ItemRenderType, item:ItemStack, helper:ItemRendererHelper) = true - + def renderItem(renderType:ItemRenderType, item:ItemStack, data:Object*) { val t = renderType match { diff --git a/src/codechicken/microblock/handler/proxies.scala b/src/codechicken/microblock/handler/proxies.scala index 417ba55..8e7cad0 100644 --- a/src/codechicken/microblock/handler/proxies.scala +++ b/src/codechicken/microblock/handler/proxies.scala @@ -25,18 +25,14 @@ class MicroblockProxy_serverImpl { var logger: Logger = _ - private var baseID = 24875 - 1 - - def nextItemID = { - baseID += 1; baseID - } - var itemMicro: ItemMicroPart = _ var sawStone: Item = _ var sawIron: Item = _ var sawDiamond: Item = _ var stoneRod: Item = _ + var useSawIcons: Boolean = _ + def preInit(logger: Logger) { this.logger = logger itemMicro = new ItemMicroPart @@ -49,11 +45,14 @@ class MicroblockProxy_serverImpl OreDictionary.registerOre("rodStone", stoneRod) MinecraftForge.EVENT_BUS.register(MicroblockEventHandler) + + useSawIcons = config.getTag("useSawIcons").setComment("Set to true to use mc style icons for the saw instead of the 3D model").getBooleanValue(false) } protected var saws = mutable.MutableList[Item]() def createSaw(config: ConfigFile, name: String, strength: Int) = { - val saw = new ItemSaw(config.getTag(name).useBraces(), strength).setUnlocalizedName("microblock:" + name) + val saw = new ItemSaw(config.getTag(name).useBraces(), strength) + .setUnlocalizedName("microblock:" + name).setTextureName("microblock:" + name) GameRegistry.registerItem(saw, name) saws+=saw saw