added playerrace and updated to version 26.2 #14

Merged
jannis merged 17 commits from develop-jannis into develop 2026-07-31 20:04:16 +00:00
3 changed files with 64 additions and 1 deletions
Showing only changes of commit f55148203e - Show all commits
@@ -17,6 +17,7 @@ import eu.mhsl.minenet.minigames.instance.game.stateless.types.highGround.HighGr
import eu.mhsl.minenet.minigames.instance.game.stateless.types.jumpDive.JumpDiveFactory;
import eu.mhsl.minenet.minigames.instance.game.stateless.types.minerun.MinerunFactory;
import eu.mhsl.minenet.minigames.instance.game.stateless.types.pillars.PillarsFactory;
import eu.mhsl.minenet.minigames.instance.game.stateless.types.playerRace.PlayerRaceFactory;
import eu.mhsl.minenet.minigames.instance.game.stateless.types.spaceSnake.SpaceSnakeFactory;
import eu.mhsl.minenet.minigames.instance.game.stateless.types.spleef.SpleefFactory;
import eu.mhsl.minenet.minigames.instance.game.stateless.types.stickfight.StickFightFactory;
@@ -52,7 +53,8 @@ public enum GameList {
BOATRACE(new BoatRaceFactory(), GameType.OTHER),
PILLARS(new PillarsFactory(), GameType.PROTOTYPE),
BLOCKBATTLE(new BlockBattleFactory(), GameType.PVP),
COLORJUMP(new ColorJumpFactory(), GameType.JUMPNRUN);
COLORJUMP(new ColorJumpFactory(), GameType.JUMPNRUN),
PLAYERRACE(new PlayerRaceFactory(), GameType.PROTOTYPE);
private final GameFactory factory;
private final GameType type;
@@ -0,0 +1,29 @@
package eu.mhsl.minenet.minigames.instance.game.stateless.types.playerRace;
import eu.mhsl.minenet.minigames.instance.Dimension;
import eu.mhsl.minenet.minigames.instance.game.stateless.StatelessGame;
import eu.mhsl.minenet.minigames.score.LastWinsScore;
import net.minestom.server.coordinate.Pos;
import net.minestom.server.instance.batch.AbsoluteBlockBatch;
import net.minestom.server.instance.block.Block;
import org.jetbrains.annotations.NotNull;
import java.util.concurrent.CompletableFuture;
public class PlayerRace extends StatelessGame {
public PlayerRace() {
super(Dimension.THE_END.key, "PlayerRace", new LastWinsScore());
}
@Override
protected void onLoad(@NotNull CompletableFuture<Void> callback) {
AbsoluteBlockBatch batch = new AbsoluteBlockBatch();
Pupsi marked this conversation as resolved Outdated
Outdated
Review

Checkpoints sollten nicht global für alle Spieler gleich sein, sonst werden langsamere Spieler beim herunterfallen nach vorne teleportiert.

Checkpoints sollten nicht global für alle Spieler gleich sein, sonst werden langsamere Spieler beim herunterfallen nach vorne teleportiert.
this.setBlock(0, 100, 0, Block.AMETHYST_BLOCK);
}
@Override
public Pos getSpawn() {
Pupsi marked this conversation as resolved Outdated
Outdated
Review

Bei LastWinsScore gewinnt derjenige, der als letztes ins Ziel kommt...

Bei LastWinsScore gewinnt derjenige, der als letztes ins Ziel kommt...
return new Pos(0.5, 101.5, 0.5);
}
}
@@ -0,0 +1,32 @@
package eu.mhsl.minenet.minigames.instance.game.stateless.types.playerRace;
import eu.mhsl.minenet.minigames.instance.game.Game;
import eu.mhsl.minenet.minigames.instance.game.stateless.config.GameFactory;
import eu.mhsl.minenet.minigames.instance.game.stateless.config.Option;
import eu.mhsl.minenet.minigames.instance.room.Room;
import eu.mhsl.minenet.minigames.message.component.TranslatedComponent;
import net.minestom.server.item.Material;
import java.util.Map;
public class PlayerRaceFactory implements GameFactory {
@Override
public TranslatedComponent name() {
return TranslatedComponent.byId("game_PlayerRace#name");
}
@Override
public Game manufacture(Room parent, Map<String, Option<?>> configuration) throws Exception {
return new PlayerRace().setParent(parent);
}
@Override
public Material symbol() {
return Material.GRASS_BLOCK;
}
@Override
public TranslatedComponent description() {
return TranslatedComponent.byId("game_PlayerRace#description");
}
}