cleanup
This commit is contained in:
@@ -3,64 +3,28 @@ package eu.mhsl.minenet.minigames.instance.game.stateless.types.boatRace;
|
|||||||
import eu.mhsl.minenet.minigames.instance.Dimension;
|
import eu.mhsl.minenet.minigames.instance.Dimension;
|
||||||
import eu.mhsl.minenet.minigames.instance.game.stateless.StatelessGame;
|
import eu.mhsl.minenet.minigames.instance.game.stateless.StatelessGame;
|
||||||
import eu.mhsl.minenet.minigames.score.FirstWinsScore;
|
import eu.mhsl.minenet.minigames.score.FirstWinsScore;
|
||||||
import eu.mhsl.minenet.minigames.score.Score;
|
|
||||||
import net.minestom.server.MinecraftServer;
|
import net.minestom.server.MinecraftServer;
|
||||||
import net.minestom.server.coordinate.Pos;
|
import net.minestom.server.coordinate.Pos;
|
||||||
import net.minestom.server.coordinate.Vec;
|
|
||||||
import net.minestom.server.entity.Entity;
|
import net.minestom.server.entity.Entity;
|
||||||
import net.minestom.server.entity.EntityType;
|
import net.minestom.server.entity.EntityType;
|
||||||
import net.minestom.server.entity.Player;
|
import net.minestom.server.entity.Player;
|
||||||
import net.minestom.server.entity.metadata.monster.BlazeMeta;
|
|
||||||
import net.minestom.server.entity.metadata.other.BoatMeta;
|
|
||||||
import net.minestom.server.event.entity.EntityTickEvent;
|
|
||||||
import net.minestom.server.event.entity.EntityVelocityEvent;
|
|
||||||
import net.minestom.server.instance.block.Block;
|
import net.minestom.server.instance.block.Block;
|
||||||
import net.minestom.server.instance.generator.GenerationUnit;
|
|
||||||
import net.minestom.server.instance.generator.Generator;
|
|
||||||
import net.minestom.server.registry.DynamicRegistry;
|
|
||||||
import net.minestom.server.world.DimensionType;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.UUID;
|
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
|
||||||
|
|
||||||
|
|
||||||
public class BoatRace extends StatelessGame {
|
public class BoatRace extends StatelessGame {
|
||||||
public BoatRace() {
|
public BoatRace() {
|
||||||
super(Dimension.OVERWORLD.key, "boatRace", new FirstWinsScore());
|
super(Dimension.OVERWORLD.key, "boatRace", new FirstWinsScore());
|
||||||
|
|
||||||
setGenerator(new Generator() {
|
this.setGenerator(generationUnit -> generationUnit.modifier().fill(
|
||||||
@Override
|
|
||||||
public void generate(@NotNull GenerationUnit generationUnit) {
|
|
||||||
generationUnit.modifier().fill(
|
|
||||||
generationUnit.absoluteStart(),
|
generationUnit.absoluteStart(),
|
||||||
generationUnit.absoluteEnd().withY(0),
|
generationUnit.absoluteEnd().withY(0),
|
||||||
Block.BLUE_ICE
|
Block.BLUE_ICE
|
||||||
);
|
));
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
Map<UUID, Vec> desiredBoatVelocity = new ConcurrentHashMap<>();
|
|
||||||
|
|
||||||
eventNode().addListener(EntityTickEvent.class, event -> {
|
|
||||||
Entity entity = event.getEntity();
|
|
||||||
if (entity.getEntityType() == EntityType.OAK_BOAT) {
|
|
||||||
Vec desired = desiredBoatVelocity.get(entity.getUuid());
|
|
||||||
if (desired != null) {
|
|
||||||
entity.setVelocity(desired);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean onPlayerJoin(Player p) {
|
protected boolean onPlayerJoin(Player p) {
|
||||||
Entity boat = new Entity(EntityType.OAK_BOAT);
|
Entity boat = new Entity(EntityType.OAK_BOAT);
|
||||||
boat.setInstance(this, this.getSpawn());
|
boat.setInstance(this, this.getSpawn());
|
||||||
boat.setNoGravity(true);
|
|
||||||
MinecraftServer.getSchedulerManager().scheduleNextTick(() -> boat.addPassenger(p));
|
MinecraftServer.getSchedulerManager().scheduleNextTick(() -> boat.addPassenger(p));
|
||||||
return super.onPlayerJoin(p);
|
return super.onPlayerJoin(p);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user