diff options
| author | anhgelus <anhgelus.morhtuuzh@proton.me> | 2024-07-26 17:06:47 +0000 |
|---|---|---|
| committer | anhgelus <anhgelus.morhtuuzh@proton.me> | 2024-07-26 17:06:47 +0000 |
| commit | 257b4aabb5f284106fc4ee78373784a793ee4b72 (patch) | |
| tree | c73747170705ead9fff38befff1a97f32f678059 /src/main | |
| parent | 187e7a18a29fa0f3a42afced3a849f0ab9b90ebb (diff) | |
feat(hunter): mining fatigue effect
Diffstat (limited to 'src/main')
| -rw-r--r-- | src/main/java/world/anhgelus/manhunt/Manhunt.java | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/main/java/world/anhgelus/manhunt/Manhunt.java b/src/main/java/world/anhgelus/manhunt/Manhunt.java index 9a676d5..36e1be0 100644 --- a/src/main/java/world/anhgelus/manhunt/Manhunt.java +++ b/src/main/java/world/anhgelus/manhunt/Manhunt.java @@ -77,14 +77,17 @@ public class Manhunt implements ModInitializer { final LiteralArgumentBuilder<ServerCommandSource> start = literal("start"); start.executes(context -> { final PlayerManager pm = context.getSource().getMinecraftServer().getPlayerManager(); + for (final ServerPlayerEntity player : pm.getPlayerList()) { + speedrunners.remove(player.getUuid()); + player.kill(); + speedrunners.add(player.getUuid()); + } for (final UUID uuid : hunters) { final ServerPlayerEntity hunter = pm.getPlayer(uuid); - assert hunter != null; - hunter.giveItemStack(new ItemStack(Items.COMPASS)); + assert hunter != null; + hunter.giveItemStack(new ItemStack(Items.COMPASS)); hunter.addStatusEffect(new StatusEffectInstance(StatusEffects.SLOWNESS, 30, 255)); - } - for (final ServerPlayerEntity player : pm.getPlayerList()) { - player.kill(); + hunter.addStatusEffect(new StatusEffectInstance(StatusEffects.MINING_FATIGUE, 30, 255)); } timer.schedule(new TimerTask() { @Override @@ -130,9 +133,7 @@ public class Manhunt implements ModInitializer { final CompoundTag tag = stack.getTag(); tag.put("LodestonePos", NbtHelper.fromBlockPos(tracked.getBlockPos())); final DataResult<Tag> weird = World.CODEC.encodeStart(NbtOps.INSTANCE, player.world.getRegistryKey()); - weird.resultOrPartial(LOGGER::error).ifPresent((t) -> { - tag.put("LodestoneDimension", t); - }); + weird.resultOrPartial(LOGGER::error).ifPresent((t) -> tag.put("LodestoneDimension", t)); tag.putBoolean("LodestoneTracked", true); final int slot = player.inventory.getSlotWithStack(new ItemStack(Items.COMPASS)); player.inventory.insertStack(slot, stack); |
