diff --git a/gradle.properties b/gradle.properties index 15ebfa8..52499b6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ # Sets default memory used for gradle commands. Can be overridden by user or command line properties. # This is required to provide enough memory for the Minecraft decompilation process. -mod_version = 1.4.7-2.2.2r +mod_version = 1.4.7-2.2.2s-pre modid = gravisuite minecraft = 1.4.7 minecraft_forge = 1.4.7-6.6.2.534 \ No newline at end of file diff --git a/src/main/java/reforged/mods/gravisuite/items/tools/base/ItemBaseExcavator.java b/src/main/java/reforged/mods/gravisuite/items/tools/base/ItemBaseExcavator.java index cde4c0b..6708b75 100644 --- a/src/main/java/reforged/mods/gravisuite/items/tools/base/ItemBaseExcavator.java +++ b/src/main/java/reforged/mods/gravisuite/items/tools/base/ItemBaseExcavator.java @@ -59,10 +59,11 @@ public boolean onBlockStartBreak(ItemStack stack, int x, int y, int z, EntityPla if (refStrength != 0.0D) { int adjBlockId; float strength; - MovingObjectPosition mop = Helpers.raytraceFromEntity(world, player, true, 4.5D); + if (mop == null) { // cancel 3x3 when rayTrace fails + return false; + } int xRange = radius, yRange = radius, zRange = radius; - switch (mop.sideHit) { case 0: case 1: @@ -85,7 +86,7 @@ public boolean onBlockStartBreak(ItemStack stack, int x, int y, int z, EntityPla Block adjBlock = Block.blocksList[adjBlockId]; if (adjBlockId != 0) { strength = adjBlock.getBlockHardness(world, xPos, yPos, zPos); - if (strength > 0f && refStrength / strength <= 10f) { + if (strength > 0f && strength / refStrength <= 10f) { if ((ForgeHooks.isToolEffective(stack, adjBlock, world.getBlockMetadata(xPos, yPos, zPos)) || canHarvestBlock(adjBlock)) && harvestBlock(world, xPos, yPos, zPos, player)) { mined++; } diff --git a/src/main/java/reforged/mods/gravisuite/items/tools/base/ItemBaseHammer.java b/src/main/java/reforged/mods/gravisuite/items/tools/base/ItemBaseHammer.java index a32f474..3c90716 100644 --- a/src/main/java/reforged/mods/gravisuite/items/tools/base/ItemBaseHammer.java +++ b/src/main/java/reforged/mods/gravisuite/items/tools/base/ItemBaseHammer.java @@ -70,10 +70,11 @@ public boolean onBlockStartBreak(ItemStack stack, int x, int y, int z, EntityPla if (refStrength != 0.0D) { int adjBlockId; float strength; - MovingObjectPosition mop = Helpers.raytraceFromEntity(world, player, true, 4.5D); + if (mop == null) { // cancel 3x3 when rayTrace fails + return false; + } int xRange = radius, yRange = radius, zRange = radius; - switch (mop.sideHit) { case 0: case 1: @@ -96,7 +97,7 @@ public boolean onBlockStartBreak(ItemStack stack, int x, int y, int z, EntityPla Block adjBlock = Block.blocksList[adjBlockId]; if (adjBlockId != 0) { strength = adjBlock.getBlockHardness(world, xPos, yPos, zPos); - if (strength > 0f && refStrength / strength <= 10f) { + if (strength > 0f && strength / refStrength <= 10f) { if ((ForgeHooks.isToolEffective(stack, adjBlock, world.getBlockMetadata(xPos, yPos, zPos)) || canHarvestBlock(adjBlock)) && harvestBlock(world, xPos, yPos, zPos, player)) { mined++; } diff --git a/src/main/java/reforged/mods/gravisuite/utils/Helpers.java b/src/main/java/reforged/mods/gravisuite/utils/Helpers.java index 8d9b227..31b97ad 100644 --- a/src/main/java/reforged/mods/gravisuite/utils/Helpers.java +++ b/src/main/java/reforged/mods/gravisuite/utils/Helpers.java @@ -143,15 +143,15 @@ public static MovingObjectPosition retraceBlock(World world, EntityLiving entity return block == null ? null : block.collisionRayTrace(world, x, y, x, var5, var7); } - public static void dropAsEntity(World var0, int var1, int var2, int var3, ItemStack var4) { - if (var4 != null) { - double var5 = 0.7; - double var7 = (double)var0.rand.nextFloat() * var5 + (1.0 - var5) * 0.5; - double var9 = (double)var0.rand.nextFloat() * var5 + (1.0 - var5) * 0.5; - double var11 = (double)var0.rand.nextFloat() * var5 + (1.0 - var5) * 0.5; - EntityItem var13 = new EntityItem(var0, (double)var1 + var7, (double)var2 + var9, (double)var3 + var11, var4.copy()); - var13.delayBeforeCanPickup = 10; - var0.spawnEntityInWorld(var13); + public static void dropAsEntity(World world, int x, int y, int z, ItemStack stack) { + if (stack != null) { + double offset = 0.7; + double xPos = (double)world.rand.nextFloat() * offset + (1.0 - offset) * 0.5; + double yPos = (double)world.rand.nextFloat() * offset + (1.0 - offset) * 0.5; + double zPos = (double)world.rand.nextFloat() * offset + (1.0 - offset) * 0.5; + EntityItem drop = new EntityItem(world, (double)x + xPos, (double)y + yPos, (double)z + zPos, stack.copy()); + drop.delayBeforeCanPickup = 10; + world.spawnEntityInWorld(drop); } }