From 9601109a21480256a772f70b2f37c5d6ec19c6e0 Mon Sep 17 00:00:00 2001 From: Sollace Date: Mon, 19 Dec 2022 21:24:09 +0100 Subject: [PATCH] Fixed block ghosting when breaking glass by throwing rocks --- .../unicopia/entity/PhysicsBodyProjectileEntity.java | 2 +- .../com/minelittlepony/unicopia/item/HeavyProjectileItem.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/minelittlepony/unicopia/entity/PhysicsBodyProjectileEntity.java b/src/main/java/com/minelittlepony/unicopia/entity/PhysicsBodyProjectileEntity.java index 2187faff..6cdb67fc 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/PhysicsBodyProjectileEntity.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/PhysicsBodyProjectileEntity.java @@ -128,7 +128,7 @@ public class PhysicsBodyProjectileEntity extends PersistentProjectileEntity impl BlockState state = world.getBlockState(hit.getBlockPos()); if (getVelocity().length() > 0.2F) { - boolean ownerCanModify = Caster.of(getOwner()).filter(pony -> pony.canModifyAt(hit.getBlockPos())).isPresent(); + boolean ownerCanModify = !world.isClient && Caster.of(getOwner()).filter(pony -> pony.canModifyAt(hit.getBlockPos())).isPresent(); if (ownerCanModify && world.getGameRules().getBoolean(GameRules.DO_MOB_GRIEFING)) { if ((!isBouncy() || world.random.nextInt(200) == 0) && state.isIn(UTags.FRAGILE)) { diff --git a/src/main/java/com/minelittlepony/unicopia/item/HeavyProjectileItem.java b/src/main/java/com/minelittlepony/unicopia/item/HeavyProjectileItem.java index d4eba1f9..f71176b0 100644 --- a/src/main/java/com/minelittlepony/unicopia/item/HeavyProjectileItem.java +++ b/src/main/java/com/minelittlepony/unicopia/item/HeavyProjectileItem.java @@ -53,7 +53,7 @@ public class HeavyProjectileItem extends ProjectileItem implements ProjectileDel @Override public void onImpact(MagicProjectileEntity projectile, BlockHitResult hit) { - if (projectile.world.getGameRules().getBoolean(GameRules.DO_MOB_GRIEFING)) { + if (!projectile.world.isClient && projectile.world.getGameRules().getBoolean(GameRules.DO_MOB_GRIEFING)) { float damage = projectile instanceof FlyingItemEntity ? getProjectileDamage(((FlyingItemEntity)projectile).getStack()) : 0; if (damage > 0 && projectile.world.random.nextInt(90) == 0) {