Skip to content

Commit

Permalink
fixed NPE for hammers, excavators; fixed block hardness check for ham…
Browse files Browse the repository at this point in the history
…mers (no longer easy obsidian)
  • Loading branch information
CrossVas committed Oct 4, 2024
1 parent 44f6142 commit 68bb5f6
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 16 deletions.
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -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++;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -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++;
}
Expand Down
18 changes: 9 additions & 9 deletions src/main/java/reforged/mods/gravisuite/utils/Helpers.java
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
}

Expand Down

0 comments on commit 68bb5f6

Please sign in to comment.