diff --git a/1.11/To-Dos b/1.11/To-Dos index d2d86df2..8b9ce6e3 100644 --- a/1.11/To-Dos +++ b/1.11/To-Dos @@ -6,13 +6,13 @@ To-Dos *** Priority *** - [ ] Move Ingot break into chunks logic out of the block and into the ForgeHammer - [x] Make an Iron Anvil - - [ ] Check Iron Anvil creation logic -- [ ] Make New Ore Tool, Tool Part, Ingot, and Chunk Assets + - [x] Check Iron Anvil creation logic +- [x] Make New Ore Tool, Tool Part, Ingot, and Chunk Assets - [ ] Make New Ore Recipes -- [ ] Make Steel Recipes and Tools -- [ ] Make Wootz Recipes and Tools +- [x] Make Steel Recipes and Tools +- [x] Make Wootz Recipes and Tools - [ ] Add Yew -- [ ] Update tool parts and tool textures +- [x] Update tool parts and tool textures *** Feature Musket *** - [ ] Create powder charge item (copper, charcoal, gunpowder) diff --git a/1.11/src/main/java/nmd/primal/forgecraft/blocks/Breaker.java b/1.11/src/main/java/nmd/primal/forgecraft/blocks/Breaker.java index 3ae6832c..8a02c56a 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/blocks/Breaker.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/blocks/Breaker.java @@ -56,6 +56,52 @@ public class Breaker extends CustomContainerFacing { setHardness(hardness); } + private void doWork (World world, IBlockState state, BlockPos pos, TileBreaker tile){ + if (state.getValue(FACING) == EnumFacing.EAST) { + if(tile.getCharge() > world.getBlockState(pos.east()).getBlockHardness(world, pos.east())) { + if (world.getBlockState(pos.east()).getBlock() == Blocks.IRON_ORE) { + world.setBlockToAir(pos.east()); + CommonUtils.spawnItemEntityFromWorld(world, pos.east(), new ItemStack(PrimalItems.IRON_DUST, ThreadLocalRandom.current().nextInt(1, 2))); + tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage()-1); + } + } else { + tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage()-10); + } + } + if (state.getValue(FACING) == EnumFacing.WEST) { + if(tile.getCharge() > world.getBlockState(pos.west()).getBlockHardness(world, pos.west())) { + if (world.getBlockState(pos.west()).getBlock() == Blocks.IRON_ORE) { + world.setBlockToAir(pos.west()); + CommonUtils.spawnItemEntityFromWorld(world, pos.east(), new ItemStack(PrimalItems.IRON_DUST, ThreadLocalRandom.current().nextInt(1, 2))); + } + } else { + tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage()-10); + } + } + if (state.getValue(FACING) == EnumFacing.SOUTH) { + if(tile.getCharge() > world.getBlockState(pos.south()).getBlockHardness(world, pos.south())) { + if (world.getBlockState(pos.south()).getBlock() == Blocks.IRON_ORE) { + world.setBlockToAir(pos.south()); + CommonUtils.spawnItemEntityFromWorld(world, pos.east(), new ItemStack(PrimalItems.IRON_DUST, ThreadLocalRandom.current().nextInt(1, 2))); + } + } else { + tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage()-10); + } + } + if (state.getValue(FACING) == EnumFacing.NORTH) { + if(tile.getCharge() > world.getBlockState(pos.north()).getBlockHardness(world, pos.north())) { + if (world.getBlockState(pos.north()).getBlock() == Blocks.IRON_ORE) { + world.setBlockToAir(pos.north()); + CommonUtils.spawnItemEntityFromWorld(world, pos.east(), new ItemStack(PrimalItems.IRON_DUST, ThreadLocalRandom.current().nextInt(1, 2))); + } + } else { + //tile.getSlotStack(0).damageItem(10, (EntityPlayer) null); + tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage()-10); + } + } + tile.setCharge(0.0f); + } + @Override public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing facing, float hitx, float hity, float hitz) { @@ -65,66 +111,16 @@ public class Breaker extends CustomContainerFacing { if(state.getValue(ACTIVE) == true && player.isSneaking() && pItem.isEmpty()){ world.setBlockState(pos, state.withProperty(FACING, state.getValue(FACING)).withProperty(ACTIVE, false)); - tile.charge = 0.0f; - if (state.getValue(FACING) == EnumFacing.EAST) { - if(tile.charge > world.getBlockState(pos.east()).getBlockHardness(world, pos.east())) { - if (world.getBlockState(pos.east()).getBlock() == Blocks.IRON_ORE) { - world.setBlockToAir(pos.east()); - CommonUtils.spawnItemEntityFromWorld(world, pos.east(), new ItemStack(PrimalItems.IRON_DUST, ThreadLocalRandom.current().nextInt(1, 2))); - return true; - } - } else { - tile.getSlotStack(0).damageItem(10, null); - return true; - } - } - if (state.getValue(FACING) == EnumFacing.WEST) { - if(tile.charge > world.getBlockState(pos.west()).getBlockHardness(world, pos.west())) { - if (world.getBlockState(pos.west()).getBlock() == Blocks.IRON_ORE) { - world.setBlockToAir(pos.west()); - CommonUtils.spawnItemEntityFromWorld(world, pos.east(), new ItemStack(PrimalItems.IRON_DUST, ThreadLocalRandom.current().nextInt(1, 2))); - return true; - } - } else { - tile.getSlotStack(0).damageItem(10, null); - return true; - } - } - if (state.getValue(FACING) == EnumFacing.SOUTH) { - if(tile.charge > world.getBlockState(pos.south()).getBlockHardness(world, pos.south())) { - if (world.getBlockState(pos.south()).getBlock() == Blocks.IRON_ORE) { - world.setBlockToAir(pos.south()); - CommonUtils.spawnItemEntityFromWorld(world, pos.east(), new ItemStack(PrimalItems.IRON_DUST, ThreadLocalRandom.current().nextInt(1, 2))); - return true; - } - } else { - tile.getSlotStack(0).damageItem(10, null); - return true; - } - } - if (state.getValue(FACING) == EnumFacing.NORTH) { - System.out.println(tile.charge + ":" + world.getBlockState(pos.north()).getBlockHardness(world, pos.north())); - if(tile.charge > world.getBlockState(pos.north()).getBlockHardness(world, pos.north())) { - if (world.getBlockState(pos.north()).getBlock() == Blocks.IRON_ORE) { - world.setBlockToAir(pos.north()); - CommonUtils.spawnItemEntityFromWorld(world, pos.east(), new ItemStack(PrimalItems.IRON_DUST, ThreadLocalRandom.current().nextInt(1, 2))); - return true; - } - } else { - //tile.getSlotStack(0).damageItem(10, (EntityPlayer) null); - tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage()-10); - return true; - } - } + doWork(world, state, pos, tile); } if(!player.isSneaking() && pItem.isEmpty()) { if (!state.getValue(ACTIVE)) { world.setBlockState(pos, state.withProperty(FACING, state.getValue(FACING)).withProperty(ACTIVE, true), 2); } - tile.charge = tile.charge + 2.0f; + tile.setCharge(tile.getCharge() + 2.0f); tile.updateBlock(); - System.out.println(tile.charge); + //System.out.println(tile.charge); return true; } /*if(state.getValue(ACTIVE) == true && !player.isSneaking() && pItem.isEmpty()){ diff --git a/1.11/src/main/java/nmd/primal/forgecraft/blocks/Crucible.java b/1.11/src/main/java/nmd/primal/forgecraft/blocks/Crucible.java index 2fd9eeb1..045ae1f2 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/blocks/Crucible.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/blocks/Crucible.java @@ -17,6 +17,7 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; +import nmd.primal.core.api.PrimalItems; import nmd.primal.forgecraft.CommonUtils; import nmd.primal.forgecraft.ModInfo; import nmd.primal.forgecraft.init.ModBlocks; @@ -99,6 +100,12 @@ public class Crucible extends Block { if(name.equals("tile.rawironcrucible")){ string = this.getUnlocalizedName(); } + if(name.equals("tile.coolcleanironcrucible")){ + string = this.getUnlocalizedName(); + } + if(name.equals("tile.rawcleanironcrucible")){ + string = this.getUnlocalizedName(); + } return string; } @@ -108,6 +115,10 @@ public class Crucible extends Block { return Item.getItemFromBlock(ModBlocks.ironball); } else if (name.equals("tile.rawironcrucible")){ return Item.getItemFromBlock(Blocks.IRON_ORE); + } else if (name.equals("tile.coolcleanironcrucible")){ + return Item.getItemFromBlock(ModBlocks.ironcleanball); + } else if (name.equals("tile.rawcleanironcrucible")){ + return PrimalItems.IRON_DUST; } else return Items.AIR; } diff --git a/1.11/src/main/java/nmd/primal/forgecraft/init/ModBlocks.java b/1.11/src/main/java/nmd/primal/forgecraft/init/ModBlocks.java index 2acfbcad..01d72437 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/init/ModBlocks.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/init/ModBlocks.java @@ -56,6 +56,13 @@ public class ModBlocks { public static Block failedironcrucible; public static Block failedironcruciblehot; + public static Block rawcleanironcrucible; + public static Block hotcleanironcrucible; + public static Block hotcookedcleanironcrucible; + public static Block coolcleanironcrucible; + public static Block failedcleanironcrucible; + public static Block failedcleanironcruciblehot; + public static Block ironball; public static Block ironchunk; public static Block ironcleanball; @@ -91,6 +98,9 @@ public class ModBlocks { hotironcrucible = new CrucibleHot(Material.ROCK, "hotironcrucible"); hotcookedironcrucible = new CrucibleHot(Material.ROCK, "hotcookedironcrucible"); coolironcrucible = new Crucible(Material.ROCK, "coolironcrucible"); + + rawcleanironcrucible; + failedironcrucible = new Crucible(Material.ROCK, "failedironcrucible"); failedironcruciblehot = new CrucibleHot(Material.ROCK, "failedironcruciblehot"); diff --git a/1.11/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java b/1.11/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java index 41564a41..4fc35ecc 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java @@ -40,7 +40,7 @@ public class ModCrafting { /***Bloomery***/ GameRegistry.addShapedRecipe(new ItemStack(ModBlocks.bloomery), "X X", "X X", "XXX", 'X', Items.BRICK); - +/***Block Breaker***/ GameRegistry.addShapedRecipe(new ItemStack(ModBlocks.blockbreaker), "L ", "BSB", "BBB", 'L', Blocks.LEVER, 'B', new ItemStack(Blocks.PLANKS, 1, OreDictionary.WILDCARD_VALUE), 'S', PrimalItems.SILK_CORDAGE_COILED); @@ -77,6 +77,7 @@ public class ModCrafting { /***Iron Crucible***/ ItemStack iron0 = new ItemStack(ModBlocks.rawironcrucible, 1); + //ItemStack cleanIron = new ItemStack(ModBlocks.cleanironcrucible, 1); //Regular Iron Ore GameRegistry.addShapedRecipe(iron0, diff --git a/1.11/src/main/java/nmd/primal/forgecraft/tiles/TileBreaker.java b/1.11/src/main/java/nmd/primal/forgecraft/tiles/TileBreaker.java index d6c5d80d..e6d1de7c 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/tiles/TileBreaker.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/tiles/TileBreaker.java @@ -15,16 +15,16 @@ import java.util.List; */ public class TileBreaker extends TileBaseSlot { - public float charge = 0.0f; + private float charge = 0.0f; - /*public float getCharge() { + public float getCharge() { return charge; } public void setCharge(float a) { this.charge = a; this.updateBlock(); - }*/ + } public NonNullList slotList = NonNullList.withSize(1, ItemStack.EMPTY);