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.game.stateless.StatelessGame;
|
||||
import eu.mhsl.minenet.minigames.score.FirstWinsScore;
|
||||
import eu.mhsl.minenet.minigames.score.Score;
|
||||
import net.minestom.server.MinecraftServer;
|
||||
import net.minestom.server.coordinate.Pos;
|
||||
import net.minestom.server.coordinate.Vec;
|
||||
import net.minestom.server.entity.Entity;
|
||||
import net.minestom.server.entity.EntityType;
|
||||
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.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 BoatRace() {
|
||||
super(Dimension.OVERWORLD.key, "boatRace", new FirstWinsScore());
|
||||
|
||||
setGenerator(new Generator() {
|
||||
@Override
|
||||
public void generate(@NotNull GenerationUnit generationUnit) {
|
||||
generationUnit.modifier().fill(
|
||||
this.setGenerator(generationUnit -> generationUnit.modifier().fill(
|
||||
generationUnit.absoluteStart(),
|
||||
generationUnit.absoluteEnd().withY(0),
|
||||
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
|
||||
protected boolean onPlayerJoin(Player p) {
|
||||
Entity boat = new Entity(EntityType.OAK_BOAT);
|
||||
boat.setInstance(this, this.getSpawn());
|
||||
boat.setNoGravity(true);
|
||||
MinecraftServer.getSchedulerManager().scheduleNextTick(() -> boat.addPassenger(p));
|
||||
return super.onPlayerJoin(p);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user