started random snack generation
This commit is contained in:
@@ -15,11 +15,13 @@ import net.minestom.server.item.Material;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.Random;
|
||||
import java.util.WeakHashMap;
|
||||
|
||||
class TurtleGame extends StatelessGame {
|
||||
private final boolean firstPerson;
|
||||
private final Map<Player, TurtleGameInstance> gameInstances = new WeakHashMap<>();
|
||||
private final Random random = new Random();
|
||||
|
||||
public TurtleGame(boolean firstPerson) {
|
||||
super(Dimension.OVERWORLD.key, "Turtle Game", new PointsWinScore());
|
||||
@@ -39,6 +41,7 @@ class TurtleGame extends StatelessGame {
|
||||
protected boolean onPlayerJoin(Player p) {
|
||||
p.getInventory().setItemStack(0, ItemStack.builder(Material.BARRIER).customName(Component.text("Reset Snack")).build());
|
||||
|
||||
// TODO: instance auflösen, ein großer Kreis
|
||||
if(this.gameInstances.get(p) == null) {
|
||||
this.gameInstances.put(p, new TurtleGameInstance(
|
||||
this,
|
||||
|
@@ -5,6 +5,7 @@ import eu.mhsl.minenet.minigames.instance.game.stateless.config.ConfigManager;
|
||||
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.game.stateless.config.common.BoolOption;
|
||||
import eu.mhsl.minenet.minigames.instance.game.stateless.config.common.NumericOption;
|
||||
import eu.mhsl.minenet.minigames.instance.room.Room;
|
||||
import eu.mhsl.minenet.minigames.message.component.TranslatedComponent;
|
||||
import net.minestom.server.item.Material;
|
||||
@@ -26,7 +27,8 @@ public class TurtleGameFactory implements GameFactory {
|
||||
@Override
|
||||
public ConfigManager configuration() {
|
||||
return new ConfigManager()
|
||||
.addOption(new BoolOption("firstPerson", Material.SPYGLASS, TranslatedComponent.byId("game_TurtleGame#firstPerson")));
|
||||
.addOption(new BoolOption("firstPerson", Material.SPYGLASS, TranslatedComponent.byId("game_TurtleGame#firstPerson")))
|
||||
.addOption(new NumericOption("radius", Material.HEART_OF_THE_SEA, TranslatedComponent.byId("optionCommon#radius"), 10, 20, 30, 40));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -27,6 +27,15 @@ public class TurtleGameInstance {
|
||||
this.turtle.setVelocity(targetDirection);
|
||||
}
|
||||
|
||||
// TODO: kleine display entities, die rotieren und so
|
||||
// public void generateNewSnack() {
|
||||
// int z, x;
|
||||
// do {
|
||||
// z = random.nextInt(0, 66);
|
||||
// x = random.nextInt(0, 44);
|
||||
// } while (!this.instance.getBlock(this.startPosition.add(x, 1, z)).isAir());
|
||||
// }
|
||||
|
||||
public void generate() {
|
||||
AbsoluteBlockBatch batch = new AbsoluteBlockBatch();
|
||||
|
||||
|
Reference in New Issue
Block a user