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 org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Random;
|
||||||
import java.util.WeakHashMap;
|
import java.util.WeakHashMap;
|
||||||
|
|
||||||
class TurtleGame extends StatelessGame {
|
class TurtleGame extends StatelessGame {
|
||||||
private final boolean firstPerson;
|
private final boolean firstPerson;
|
||||||
private final Map<Player, TurtleGameInstance> gameInstances = new WeakHashMap<>();
|
private final Map<Player, TurtleGameInstance> gameInstances = new WeakHashMap<>();
|
||||||
|
private final Random random = new Random();
|
||||||
|
|
||||||
public TurtleGame(boolean firstPerson) {
|
public TurtleGame(boolean firstPerson) {
|
||||||
super(Dimension.OVERWORLD.key, "Turtle Game", new PointsWinScore());
|
super(Dimension.OVERWORLD.key, "Turtle Game", new PointsWinScore());
|
||||||
@@ -39,6 +41,7 @@ class TurtleGame extends StatelessGame {
|
|||||||
protected boolean onPlayerJoin(Player p) {
|
protected boolean onPlayerJoin(Player p) {
|
||||||
p.getInventory().setItemStack(0, ItemStack.builder(Material.BARRIER).customName(Component.text("Reset Snack")).build());
|
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) {
|
if(this.gameInstances.get(p) == null) {
|
||||||
this.gameInstances.put(p, new TurtleGameInstance(
|
this.gameInstances.put(p, new TurtleGameInstance(
|
||||||
this,
|
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.GameFactory;
|
||||||
import eu.mhsl.minenet.minigames.instance.game.stateless.config.Option;
|
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.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.instance.room.Room;
|
||||||
import eu.mhsl.minenet.minigames.message.component.TranslatedComponent;
|
import eu.mhsl.minenet.minigames.message.component.TranslatedComponent;
|
||||||
import net.minestom.server.item.Material;
|
import net.minestom.server.item.Material;
|
||||||
@@ -26,7 +27,8 @@ public class TurtleGameFactory implements GameFactory {
|
|||||||
@Override
|
@Override
|
||||||
public ConfigManager configuration() {
|
public ConfigManager configuration() {
|
||||||
return new ConfigManager()
|
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
|
@Override
|
||||||
|
@@ -27,6 +27,15 @@ public class TurtleGameInstance {
|
|||||||
this.turtle.setVelocity(targetDirection);
|
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() {
|
public void generate() {
|
||||||
AbsoluteBlockBatch batch = new AbsoluteBlockBatch();
|
AbsoluteBlockBatch batch = new AbsoluteBlockBatch();
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user