diff --git a/src/main/java/com/thebrokenrail/energonrelics/block/entity/forcefield/laser/IndustrialLaserBlockEntity.java b/src/main/java/com/thebrokenrail/energonrelics/block/entity/forcefield/laser/IndustrialLaserBlockEntity.java index d371fe5..cafdb2e 100644 --- a/src/main/java/com/thebrokenrail/energonrelics/block/entity/forcefield/laser/IndustrialLaserBlockEntity.java +++ b/src/main/java/com/thebrokenrail/energonrelics/block/entity/forcefield/laser/IndustrialLaserBlockEntity.java @@ -55,9 +55,10 @@ public class IndustrialLaserBlockEntity extends FieldProjectorBlockEntity { TntBlock.primeTnt(getWorld(), targetPos); getWorld().setBlockState(targetPos, Blocks.AIR.getDefaultState()); - progress = 0; - - markDirty(); + if (progress != 0) { + progress = 0; + markDirty(); + } } else if (IndustrialLaserRegistry.has(targetState.getBlock())) { if (progress >= HardcodedConfig.INDUSTRIAL_LASER_BEAM_TIME) { getWorld().createExplosion(null, targetPos.getX() + 0.5d, targetPos.getY() + 0.5d, targetPos.getZ() + 0.5d, 0.5f, Explosion.DestructionType.NONE); diff --git a/src/main/java/com/thebrokenrail/energonrelics/component/NetworkComponent.java b/src/main/java/com/thebrokenrail/energonrelics/component/NetworkComponent.java index af66e91..2a91867 100644 --- a/src/main/java/com/thebrokenrail/energonrelics/component/NetworkComponent.java +++ b/src/main/java/com/thebrokenrail/energonrelics/component/NetworkComponent.java @@ -202,8 +202,8 @@ public class NetworkComponent extends PersistentState { Entry entry = getOrCreate(id); if (!entry.sources.contains(pos)) { entry.sources.add(pos); + markDirty(); } - markDirty(); } public void removeSource(int id, BlockPosWithDimension pos) { diff --git a/src/main/java/com/thebrokenrail/energonrelics/mixin/MixinEntity.java b/src/main/java/com/thebrokenrail/energonrelics/mixin/MixinEntity.java index e8e533d..120a5ab 100644 --- a/src/main/java/com/thebrokenrail/energonrelics/mixin/MixinEntity.java +++ b/src/main/java/com/thebrokenrail/energonrelics/mixin/MixinEntity.java @@ -65,7 +65,7 @@ public abstract class MixinEntity implements PortalCooldownEntity { @Inject(at = @At("HEAD"), method = "hasNoGravity", cancellable = true) public void hasNoGravity(CallbackInfoReturnable info) { - if (isTouching(block -> block instanceof BeamBlock) && !saving) { + if (!saving && isTouching(block -> block instanceof BeamBlock)) { info.setReturnValue(true); } } @@ -88,9 +88,7 @@ public abstract class MixinEntity implements PortalCooldownEntity { @Inject(at = @At("RETURN"), method = "tick") public void tick(CallbackInfo info) { - if (!isTouching(block -> block == EnergonRelics.ENERGY_PORTAL_BLOCK) && energyPortalCooldown > 0) { - energyPortalCooldown--; - } + energyPortalCooldown--; } @Override