From dc24f28b8f232ee10426d59c635603d6e8144d28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elias=20M=C3=BCller?= Date: Sun, 3 Nov 2024 14:57:53 +0100 Subject: [PATCH] updated pvp, refactored some old code, removed transfer instance --- .../AddEntityToInstanceEventListener.java | 2 +- .../handler/global/PlayerLoginHandler.java | 24 +++++++------------ .../stateless/types/deathcube/Deathcube.java | 14 ++++++----- .../types/deathcube/DeathcubeFactory.java | 2 +- .../types/stickfight/Stickfight.java | 15 ++++++------ .../minigames/instance/transfer/Transfer.java | 22 ----------------- .../util/InventoryItemAlignment.java | 21 +++------------- .../mhsl/minenet/minigames/util/Static.java | 5 ---- 8 files changed, 29 insertions(+), 76 deletions(-) delete mode 100644 src/main/java/eu/mhsl/minenet/minigames/instance/transfer/Transfer.java delete mode 100644 src/main/java/eu/mhsl/minenet/minigames/util/Static.java diff --git a/src/main/java/eu/mhsl/minenet/minigames/handler/global/AddEntityToInstanceEventListener.java b/src/main/java/eu/mhsl/minenet/minigames/handler/global/AddEntityToInstanceEventListener.java index c52c161..0455d13 100644 --- a/src/main/java/eu/mhsl/minenet/minigames/handler/global/AddEntityToInstanceEventListener.java +++ b/src/main/java/eu/mhsl/minenet/minigames/handler/global/AddEntityToInstanceEventListener.java @@ -28,7 +28,7 @@ public class AddEntityToInstanceEventListener implements EventListener { - if(pushQueue != null) { - Room.setRoom(p, Room.getRoom(pushQueue).orElseThrow()); - } else { - MoveInstance.move(p, Hub.INSTANCE); - } - }, - TaskSchedule.seconds(5), - TaskSchedule.stop() + MinecraftServer.getSchedulerManager().scheduleNextTick( + () -> { + if(pushQueue != null) { + Room.setRoom(p, Room.getRoom(pushQueue).orElseThrow()); + } + } ); SkinCache.applySkin(p); diff --git a/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/deathcube/Deathcube.java b/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/deathcube/Deathcube.java index fc79e93..e43a59f 100644 --- a/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/deathcube/Deathcube.java +++ b/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/deathcube/Deathcube.java @@ -6,6 +6,7 @@ import eu.mhsl.minenet.minigames.util.BatchUtil; import eu.mhsl.minenet.minigames.instance.Dimension; import eu.mhsl.minenet.minigames.world.BlockPallet; import eu.mhsl.minenet.minigames.world.generator.terrain.CircularPlateTerrainGenerator; +import io.github.togar2.pvp.feature.CombatFeatures; import net.minestom.server.coordinate.Pos; import net.minestom.server.event.player.PlayerMoveEvent; import net.minestom.server.instance.batch.AbsoluteBlockBatch; @@ -26,12 +27,13 @@ class Deathcube extends StatelessGame { this.percentage = percentage; this.setGenerator(new CircularPlateTerrainGenerator(radius+10).setPlateHeight(50)); -// if(pvpEnabled == 1) eventNode().addChild( // TODO update -// PvPConfig.emptyBuilder() -// .damage(DamageConfig.LEGACY.fallDamage(false)) -// .attack(AttackConfig.DEFAULT.attackCooldown(true)) -// .build().createNode() -// ); + if(pvpEnabled == 1) eventNode().addChild( + CombatFeatures.empty() + .add(CombatFeatures.VANILLA_ATTACK) + .add(CombatFeatures.VANILLA_DAMAGE) + .add(CombatFeatures.VANILLA_KNOCKBACK) + .build().createNode() + ); System.out.println(radius); } diff --git a/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/deathcube/DeathcubeFactory.java b/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/deathcube/DeathcubeFactory.java index 8d16b2c..eda3151 100644 --- a/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/deathcube/DeathcubeFactory.java +++ b/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/deathcube/DeathcubeFactory.java @@ -28,7 +28,7 @@ public class DeathcubeFactory implements GameFactory { .addOption(new NumericOption("radius", Material.HEART_OF_THE_SEA, TranslatedComponent.byId("optionCommon#radius"), 10, 20, 30)) .addOption(new NumericOption("height", Material.SCAFFOLDING, TranslatedComponent.byId("optionCommon#height"), 10, 30, 50)) .addOption(new NumericOption("percentage", Material.COBWEB, TranslatedComponent.byId("game_Deathcube#optionPercentageBlocks"), 5, 7, 9, 11, 13)) - .addOption(new NumericOption("pvpEnabled", Material.STICK, TranslatedComponent.byId("game_Deathcube#optionPvpEnabled"), 1, 0)); + .addOption(new NumericOption("pvpEnabled", Material.STICK, TranslatedComponent.byId("game_Deathcube#optionPvpEnabled"), 0, 1)); } diff --git a/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/stickfight/Stickfight.java b/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/stickfight/Stickfight.java index 514562a..6f10d14 100644 --- a/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/stickfight/Stickfight.java +++ b/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/stickfight/Stickfight.java @@ -5,8 +5,8 @@ import eu.mhsl.minenet.minigames.instance.game.stateless.StatelessGame; import eu.mhsl.minenet.minigames.score.LastWinsScore; import eu.mhsl.minenet.minigames.util.BatchUtil; import eu.mhsl.minenet.minigames.world.generator.terrain.CircularPlateTerrainGenerator; -import io.github.togar2.pvp.config.PvPConfig; import io.github.togar2.pvp.events.FinalAttackEvent; +import io.github.togar2.pvp.feature.CombatFeatures; import net.minestom.server.coordinate.Pos; import net.minestom.server.entity.Player; import net.minestom.server.event.player.PlayerMoveEvent; @@ -20,12 +20,13 @@ public class Stickfight extends StatelessGame { public Stickfight() { super(Dimension.OVERWORLD.key, "Stickfight", new LastWinsScore()); -// eventNode().addChild( // TODO update -// PvPConfig.emptyBuilder() -// .damage(DamageConfig.legacyBuilder().fallDamage(false)) -// .attack(AttackConfig.legacyBuilder().attackCooldown(true)) -// .build().createNode() -// ); + eventNode().addChild( + CombatFeatures.empty() + .add(CombatFeatures.VANILLA_ATTACK) + .add(CombatFeatures.VANILLA_DAMAGE) + .add(CombatFeatures.VANILLA_KNOCKBACK) + .build().createNode() + ); eventNode().addListener(FinalAttackEvent.class, finalAttackEvent -> { finalAttackEvent.setBaseDamage(0); diff --git a/src/main/java/eu/mhsl/minenet/minigames/instance/transfer/Transfer.java b/src/main/java/eu/mhsl/minenet/minigames/instance/transfer/Transfer.java deleted file mode 100644 index c6d102e..0000000 --- a/src/main/java/eu/mhsl/minenet/minigames/instance/transfer/Transfer.java +++ /dev/null @@ -1,22 +0,0 @@ -package eu.mhsl.minenet.minigames.instance.transfer; - -import eu.mhsl.minenet.minigames.instance.Dimension; -import eu.mhsl.minenet.minigames.instance.MineNetInstance; -import eu.mhsl.minenet.minigames.instance.Spawnable; -import eu.mhsl.minenet.minigames.util.CommonEventHandles; -import net.minestom.server.coordinate.Pos; -import net.minestom.server.event.player.PlayerMoveEvent; -import net.minestom.server.instance.block.Block; - -public class Transfer extends MineNetInstance implements Spawnable { - public Transfer() { - super(Dimension.THE_END.key); - eventNode().addListener(PlayerMoveEvent.class, CommonEventHandles::cancel); - setBlock(0, 0, 0, Block.BARRIER); - } - - @Override - public Pos getSpawn() { - return new Pos(0.5, 1, 0.5); - } -} diff --git a/src/main/java/eu/mhsl/minenet/minigames/util/InventoryItemAlignment.java b/src/main/java/eu/mhsl/minenet/minigames/util/InventoryItemAlignment.java index 69f02cf..283cfa1 100644 --- a/src/main/java/eu/mhsl/minenet/minigames/util/InventoryItemAlignment.java +++ b/src/main/java/eu/mhsl/minenet/minigames/util/InventoryItemAlignment.java @@ -130,25 +130,10 @@ public class InventoryItemAlignment { }.get(count); } - public static class ItemOffset { - private final int x; - private final int z; - - public ItemOffset(int x, int z) { - this.x = x; - this.z = z; - } - - public int getX() { - return x; - } - - public int getZ() { - return z; - } + public record ItemOffset(int x, int z) { public int get() { - return x + (z * 9); + return x + (z * 9); + } } - } } diff --git a/src/main/java/eu/mhsl/minenet/minigames/util/Static.java b/src/main/java/eu/mhsl/minenet/minigames/util/Static.java deleted file mode 100644 index 3472707..0000000 --- a/src/main/java/eu/mhsl/minenet/minigames/util/Static.java +++ /dev/null @@ -1,5 +0,0 @@ -package eu.mhsl.minenet.minigames.util; - -public abstract class Static { - public abstract void load(); //TODO REMOVE -}