aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnhgelus Morhtuuzh <william@herges.fr>2025-10-13 16:06:52 +0200
committerAnhgelus Morhtuuzh <william@herges.fr>2025-10-13 16:06:52 +0200
commit71629b57438294e7c6f14ef929c56f5fc1537e80 (patch)
treef41bb6a0d1fff957fb5325446ca0d0eada9bb786
parentc358427ea3c81a831a2a6ab7c1245d16c2dfad28 (diff)
fix(hearts): invalid cast during debug
-rw-r--r--src/main/java/world/anhgelus/lifesteal/LifeSteal.java9
-rw-r--r--src/main/java/world/anhgelus/lifesteal/StateSaver.java4
-rw-r--r--src/main/java/world/anhgelus/lifesteal/mixin/InventoryMixin.java6
-rw-r--r--src/main/java/world/anhgelus/lifesteal/mixin/ItemMixin.java3
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;