diff options
4 files changed, 12 insertions, 10 deletions
diff --git a/src/main/java/world/anhgelus/lifesteal/LifeSteal.java b/src/main/java/world/anhgelus/lifesteal/LifeSteal.java index 7fb5b33..0d5af5e 100644 --- a/src/main/java/world/anhgelus/lifesteal/LifeSteal.java +++ b/src/main/java/world/anhgelus/lifesteal/LifeSteal.java @@ -82,13 +82,11 @@ public class LifeSteal implements ModInitializer { }); ServerLifecycleEvents.SERVER_STARTED.register(server -> { - final var state = StateSaver.getServerState(server); - LifeStealer.Manager.loadPlayers(state); + LifeStealer.Manager.loadPlayers(StateSaver.getServerState(server)); }); ServerLifecycleEvents.SERVER_STOPPING.register(server -> { - final var state = StateSaver.getServerState(server); - LifeStealer.Manager.savePlayers(state); + LifeStealer.Manager.savePlayers(StateSaver.getServerState(server)); }); ServerPlayConnectionEvents.JOIN.register((ServerPlayNetworkHandler handler, PacketSender sender, MinecraftServer server) -> { @@ -118,8 +116,9 @@ public class LifeSteal implements ModInitializer { UseItemCallback.EVENT.register((player, world, hand) -> { if (!LifeStealer.Manager.validHeart(player.getMainHandStack())) return ActionResult.PASS; + if (!(player instanceof ServerPlayerEntity serverPlayer)) return ActionResult.PASS; // if the heart was not added - if (!getLifeStealer((ServerPlayerEntity) player).kill()) return ActionResult.PASS; + if (!getLifeStealer(serverPlayer).kill()) return ActionResult.PASS; player.getMainHandStack().decrement(1); return ActionResult.SUCCESS; }); diff --git a/src/main/java/world/anhgelus/lifesteal/StateSaver.java b/src/main/java/world/anhgelus/lifesteal/StateSaver.java index 891d00a..a8c1491 100644 --- a/src/main/java/world/anhgelus/lifesteal/StateSaver.java +++ b/src/main/java/world/anhgelus/lifesteal/StateSaver.java @@ -41,9 +41,7 @@ public class StateSaver extends PersistentState { public Map<String, LifeStealer.Data> getPlayers() { final var np = new HashMap<String, LifeStealer.Data>(); - players.forEach((uuid, d) -> { - np.put(uuid.toString(), d); - }); + players.forEach((uuid, d) -> np.put(uuid.toString(), d)); return np; } } diff --git a/src/main/java/world/anhgelus/lifesteal/mixin/InventoryMixin.java b/src/main/java/world/anhgelus/lifesteal/mixin/InventoryMixin.java index 6d2715b..a1b4acd 100644 --- a/src/main/java/world/anhgelus/lifesteal/mixin/InventoryMixin.java +++ b/src/main/java/world/anhgelus/lifesteal/mixin/InventoryMixin.java @@ -17,6 +17,10 @@ public class InventoryMixin { if (LifeSteal.CAN_STORE_HEARTS_IN_EC) return; final var inv = (SimpleInventory) (Object) this; if (!(inv instanceof EnderChestInventory)) return; - if (LifeStealer.Manager.validHeart(is)) cir.setReturnValue(ItemStack.EMPTY); + LifeSteal.LOGGER.info("ec"); + if (LifeStealer.Manager.validHeart(is)) { + LifeSteal.LOGGER.info("working"); + cir.setReturnValue(ItemStack.EMPTY); + } } } diff --git a/src/main/java/world/anhgelus/lifesteal/mixin/ItemMixin.java b/src/main/java/world/anhgelus/lifesteal/mixin/ItemMixin.java index 4c202d4..a9c9f36 100644 --- a/src/main/java/world/anhgelus/lifesteal/mixin/ItemMixin.java +++ b/src/main/java/world/anhgelus/lifesteal/mixin/ItemMixin.java @@ -18,7 +18,8 @@ public class ItemMixin { @Inject(at = @At("RETURN"), method = "onCraftByPlayer", cancellable = true) public void craft(ItemStack is, PlayerEntity player, CallbackInfo ci) { if (!is.isOf(Items.NETHER_STAR)) return; // assuming that the nether star cannot be crafted - final var lifestealer = LifeStealer.Manager.getLifeStealer((ServerPlayerEntity) player); + if (!(player instanceof ServerPlayerEntity serverPlayer)) return; + final var lifestealer = LifeStealer.Manager.getLifeStealer(serverPlayer); if (LifeSteal.CAN_CRAFT_HEARTS_ABOVE_VANILLA_MAX || lifestealer.getHealthModifier() < 0) { lifestealer.turnsIntoHeart(is); return; |
