Compare commits

...

1 Commits

Author SHA1 Message Date
cc371a9c12 Test game 2024-11-02 21:53:17 +01:00
5 changed files with 75 additions and 2 deletions

View File

@ -59,7 +59,7 @@ dependencies {
//PvP
implementation 'com.github.TogAr2:MinestomPvP:0a5f94bcd7'
implementation 'com.github.TogAr2:MinestomPvP:04180ddf9a'
// Hephaestus engine
implementation("team.unnamed:hephaestus-api:0.2.1-SNAPSHOT")

View File

@ -11,6 +11,8 @@ import eu.mhsl.minenet.minigames.instance.game.stateless.types.deathcube.Deathcu
import eu.mhsl.minenet.minigames.instance.game.stateless.types.minerun.MinerunFactory;
import eu.mhsl.minenet.minigames.instance.game.stateless.types.spleef.SpleefFactory;
import eu.mhsl.minenet.minigames.instance.game.stateless.types.stickfight.StickFightFactory;
import eu.mhsl.minenet.minigames.instance.game.stateless.types.test.Test;
import eu.mhsl.minenet.minigames.instance.game.stateless.types.test.TestFactory;
import eu.mhsl.minenet.minigames.instance.game.stateless.types.tntrun.TntRunFactory;
import eu.mhsl.minenet.minigames.instance.game.stateless.types.towerdefense.TowerdefenseFactory;
import eu.mhsl.minenet.minigames.instance.game.stateless.types.trafficlightrace.TrafficLightRaceFactory;
@ -28,7 +30,8 @@ public enum GameList {
ANVILRUN(new AnvilRunFactory(), GameType.PVE),
ELYTRARACE(new ElytraRaceFactory(), GameType.PVP),
SPLEEF(new SpleefFactory(), GameType.PVP),
BOWSPLEEF(new BowSpleefFactory(), GameType.PVP);
BOWSPLEEF(new BowSpleefFactory(), GameType.PVP),
Test(new TestFactory(), GameType.OTHER);
private final GameFactory factory;
private final GameType type;

View File

@ -7,6 +7,7 @@ import eu.mhsl.minenet.minigames.instance.Dimension;
import eu.mhsl.minenet.minigames.world.BlockPallet;
import eu.mhsl.minenet.minigames.world.generator.terrain.CircularPlateTerrainGenerator;
import net.minestom.server.coordinate.Pos;
import net.minestom.server.entity.Player;
import net.minestom.server.event.player.PlayerMoveEvent;
import net.minestom.server.instance.batch.AbsoluteBlockBatch;
import org.jetbrains.annotations.NotNull;

View File

@ -0,0 +1,47 @@
package eu.mhsl.minenet.minigames.instance.game.stateless.types.test;
import eu.mhsl.minenet.minigames.instance.Dimension;
import eu.mhsl.minenet.minigames.instance.game.stateless.StatelessGame;
import eu.mhsl.minenet.minigames.score.FirstWinsScore;
import net.minestom.server.coordinate.Pos;
import net.minestom.server.event.player.PlayerBlockInteractEvent;
import net.minestom.server.instance.block.Block;
import org.jetbrains.annotations.NotNull;
import java.util.concurrent.CompletableFuture;
public class Test extends StatelessGame {
int zähler = 0;
public Test() {
super(Dimension.THE_END.key, "test", new FirstWinsScore());
eventNode().addListener(PlayerBlockInteractEvent.class, event -> {
if (!isBeforeBeginning) {
zähler++;
}
if (zähler >= 10) {
getScore().insertResult(event.getPlayer());
System.out.println("Sieg");
}
});
}
@Override
protected void onLoad(@NotNull CompletableFuture<Void> callback) {
for(int x = 0; x <= 10; x++) {
for(int z = 0; z <= 10; z++) {
setBlock(x, 0, z, Block.BEDROCK);
}
}
setBlock(3,1,6, Block.BIRCH_BUTTON.withProperty("face", "floor"));
}
@Override
public Pos getSpawn() {
return new Pos(5, 3, 5);
}
}

View File

@ -0,0 +1,22 @@
package eu.mhsl.minenet.minigames.instance.game.stateless.types.test;
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.kyori.adventure.text.Component;
import java.util.Map;
public class TestFactory implements GameFactory {
@Override
public TranslatedComponent name() {
return TranslatedComponent.byId("test");
}
@Override
public Game manufacture(Room parent, Map<String, Option<?>> configuration) throws Exception {
return new Test().setParent(parent);
}
}