diff --git a/src/main/java/com/hbm/blocks/machine/MachineSawmill.java b/src/main/java/com/hbm/blocks/machine/MachineSawmill.java index b33c3d5d9..2b975c001 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineSawmill.java +++ b/src/main/java/com/hbm/blocks/machine/MachineSawmill.java @@ -6,6 +6,7 @@ import java.util.List; import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ILookOverlay; import com.hbm.blocks.ITooltipProvider; +import com.hbm.items.ModItems; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntitySawmill; import com.hbm.util.BobMathUtil; @@ -75,6 +76,14 @@ public class MachineSawmill extends BlockDummyable implements ILookOverlay, IToo TileEntitySawmill sawmill = (TileEntitySawmill)world.getTileEntity(pos[0], pos[1], pos[2]); + if(!sawmill.hasBlade && player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.sawblade) { + player.getHeldItem().stackSize--; + sawmill.hasBlade = true; + sawmill.markDirty(); + world.playSoundEffect(x + 0.5, y + 0.5, z + 0.5, "hbm:item.upgradePlug", 1.5F, 0.75F); + return true; + } + if(sawmill.slots[1] != null || sawmill.slots[2] != null) { for(int i = 1; i < 3; i++) { if(sawmill.slots[i] != null) { diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 9de70bc27..af622b770 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -495,6 +495,7 @@ public class ModItems { public static Item powder_magic; public static Item powder_cloud; public static Item powder_balefire; + public static Item powder_sawdust; public static Item fragment_neodymium; public static Item fragment_cobalt; @@ -636,8 +637,9 @@ public class ModItems { public static Item pellet_coal; public static Item ring_starmetal; public static Item flywheel_beryllium; - + public static Item gear_large; + public static Item sawblade; public static Item toothpicks; public static Item ducttape; @@ -3010,6 +3012,7 @@ public class ModItems { powder_magic = new Item().setUnlocalizedName("powder_magic").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_magic"); powder_cloud = new Item().setUnlocalizedName("powder_cloud").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_cloud"); powder_balefire = new Item().setUnlocalizedName("powder_balefire").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_balefire"); + powder_sawdust = new Item().setUnlocalizedName("powder_sawdust").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_sawdust"); powder_coltan_ore = new Item().setUnlocalizedName("powder_coltan_ore").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_coltan_ore"); powder_coltan = new Item().setUnlocalizedName("powder_coltan").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_coltan"); powder_tektite = new Item().setUnlocalizedName("powder_tektite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_tektite"); @@ -3068,6 +3071,7 @@ public class ModItems { parts_legendary = new ItemEnumMulti(EnumLegendaryType.class, false, true).setUnlocalizedName("parts_legendary").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":parts_legendary"); gear_large = new ItemGear().setUnlocalizedName("gear_large").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":gear_large"); + sawblade = new Item().setUnlocalizedName("sawblade").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":sawblade"); cap_aluminium = new Item().setUnlocalizedName("cap_aluminium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":cap_aluminium"); hull_small_steel = new Item().setUnlocalizedName("hull_small_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":hull_small_steel"); @@ -6005,6 +6009,7 @@ public class ModItems { GameRegistry.registerItem(powder_asbestos, powder_asbestos.getUnlocalizedName()); GameRegistry.registerItem(powder_magic, powder_magic.getUnlocalizedName()); GameRegistry.registerItem(powder_cloud, powder_cloud.getUnlocalizedName()); + GameRegistry.registerItem(powder_sawdust, powder_sawdust.getUnlocalizedName()); GameRegistry.registerItem(powder_balefire, powder_balefire.getUnlocalizedName()); GameRegistry.registerItem(powder_semtex_mix, powder_semtex_mix.getUnlocalizedName()); GameRegistry.registerItem(powder_desh_mix, powder_desh_mix.getUnlocalizedName()); @@ -6230,6 +6235,7 @@ public class ModItems { GameRegistry.registerItem(part_generic, part_generic.getUnlocalizedName()); GameRegistry.registerItem(parts_legendary, parts_legendary.getUnlocalizedName()); GameRegistry.registerItem(gear_large, gear_large.getUnlocalizedName()); + GameRegistry.registerItem(sawblade, sawblade.getUnlocalizedName()); //Plant Products GameRegistry.registerItem(plant_item, plant_item.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 2f30e19ee..5f4344b4f 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -220,6 +220,7 @@ public class CraftingManager { addShapelessAuto(DictFrame.fromOne(ModItems.plant_item, EnumPlantType.ROPE, 1), new Object[] { Items.string, Items.string, Items.string }); addRecipeAuto(DictFrame.fromOne(ModItems.plant_item, EnumPlantType.ROPE, 4), new Object[] { "W", "W", "W", 'W', DictFrame.fromOne(ModBlocks.plant_flower, EnumFlowerType.WEED) }); addRecipeAuto(new ItemStack(ModItems.rag, 16), new Object[] { "WW", "WW", 'W', DictFrame.fromOne(ModBlocks.plant_flower, EnumFlowerType.WEED) }); + addRecipeAuto(new ItemStack(Items.paper, 3), new Object[] { "SSS", 'S', ModItems.powder_sawdust }); ItemStack infinity = new ItemStack(Items.enchanted_book); EnchantmentUtil.addEnchantment(infinity, Enchantment.infinity, 1); diff --git a/src/main/java/com/hbm/render/item/ItemRenderLibrary.java b/src/main/java/com/hbm/render/item/ItemRenderLibrary.java index 5a7d42d3a..031ade89c 100644 --- a/src/main/java/com/hbm/render/item/ItemRenderLibrary.java +++ b/src/main/java/com/hbm/render/item/ItemRenderLibrary.java @@ -1360,6 +1360,22 @@ public class ItemRenderLibrary { ResourceManager.stirling.renderPart("Cog"); }}); + renderers.put(ModItems.sawblade, new ItemRenderBase( ) { + public void renderInventory() { + GL11.glTranslated(0, -7, 0); + GL11.glScaled(6, 6, 6); + GL11.glRotated(-45, 0, 1, 0); + GL11.glRotated(30, 1, 0, 0); + GL11.glTranslated(0, 1.375, 0); + GL11.glRotated(System.currentTimeMillis() % 3600 * 0.2F, 0, 0, 1); + GL11.glTranslated(0, -1.375, 0); + } + public void renderCommonWithStack(ItemStack item) { + GL11.glTranslated(0, 0, -0.875); + bindTexture(ResourceManager.sawmill_tex); + ResourceManager.stirling.renderPart("Blade"); + }}); + //hi there! it seems you are trying to register a new item renderer, most likely for a tile entity. //please refer to the comment at the start of the file on how to do this without adding to this gigantic pile of feces. } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntitySawmill.java b/src/main/java/com/hbm/tileentity/machine/TileEntitySawmill.java index a9512d229..39f8b2be3 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntitySawmill.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntitySawmill.java @@ -2,6 +2,7 @@ package com.hbm.tileentity.machine; import java.util.List; +import com.hbm.items.ModItems; import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.tileentity.machine.TileEntityMachineAutocrafter.InventoryCraftingAuto; @@ -61,6 +62,12 @@ public class TileEntitySawmill extends TileEntityMachineBase { progress = 0; slots[0] = null; slots[1] = result; + + float chance = result.getItem() == Items.stick ? 0.05F : 0.5F; + if(worldObj.rand.nextFloat() < chance) { + slots[2] = new ItemStack(ModItems.powder_sawdust); + } + this.markDirty(); } diff --git a/src/main/resources/assets/hbm/textures/items/briquette_sawdust.png b/src/main/resources/assets/hbm/textures/items/briquette_sawdust.png new file mode 100644 index 000000000..885b03ba9 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/briquette_sawdust.png differ diff --git a/src/main/resources/assets/hbm/textures/items/powder_sawdust.png b/src/main/resources/assets/hbm/textures/items/powder_sawdust.png new file mode 100644 index 000000000..bd75baa48 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/powder_sawdust.png differ diff --git a/src/main/resources/assets/hbm/textures/items/sawblade.png b/src/main/resources/assets/hbm/textures/items/sawblade.png new file mode 100644 index 000000000..e495181e4 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/sawblade.png differ