diff --git a/.gitignore b/.gitignore index 2004c5c..cbdefd6 100644 --- a/.gitignore +++ b/.gitignore @@ -27,4 +27,5 @@ hs_err_pid* replay_pid* .idea -.gradle \ No newline at end of file +.gradle +build \ No newline at end of file diff --git a/build/tmp/compileJava/previous-compilation-data.bin b/build/tmp/compileJava/previous-compilation-data.bin index 3624d85..47d3362 100644 Binary files a/build/tmp/compileJava/previous-compilation-data.bin and b/build/tmp/compileJava/previous-compilation-data.bin differ diff --git a/src/main/java/eu/mhsl/minenet/minigames/command/Commands.java b/src/main/java/eu/mhsl/minenet/minigames/command/Commands.java index 8d91096..29398c9 100644 --- a/src/main/java/eu/mhsl/minenet/minigames/command/Commands.java +++ b/src/main/java/eu/mhsl/minenet/minigames/command/Commands.java @@ -19,7 +19,8 @@ public enum Commands { LANGTEST(new LangTestCommand()), ROOM(new RoomCommand()), UPDATE(new UpdateCommand()), - OP(new OpCommand()); + OP(new OpCommand()), + FAKEPLAYER(new FakeplayerCommand()); Commands(Command handler) { MinecraftServer.getCommandManager().register(handler); diff --git a/src/main/java/eu/mhsl/minenet/minigames/command/privileged/FakeplayerCommand.java b/src/main/java/eu/mhsl/minenet/minigames/command/privileged/FakeplayerCommand.java new file mode 100644 index 0000000..b8c0ed0 --- /dev/null +++ b/src/main/java/eu/mhsl/minenet/minigames/command/privileged/FakeplayerCommand.java @@ -0,0 +1,33 @@ +package eu.mhsl.minenet.minigames.command.privileged; + +import eu.mhsl.minenet.minigames.instance.room.Room; +import eu.mhsl.minenet.minigames.message.Icon; +import eu.mhsl.minenet.minigames.message.type.ChatMessage; +import net.minestom.server.command.builder.Command; +import net.minestom.server.command.builder.arguments.ArgumentType; +import net.minestom.server.entity.Player; +import net.minestom.server.entity.fakeplayer.FakePlayer; +import net.minestom.server.entity.fakeplayer.FakePlayerOption; + +import java.util.UUID; + +public class FakeplayerCommand extends Command { + public FakeplayerCommand() { + super("fakeplayer"); + + addSyntax((sender, context) -> { + if(sender instanceof Player p) { + if(p.getInstance() instanceof Room room) { + FakePlayer.initPlayer( + UUID.randomUUID(), + context.getRaw("name"), + new FakePlayerOption().setInTabList(true).setRegistered(true), + fakePlayer -> Room.setRoom(fakePlayer, room) + ); + } else { + new ChatMessage(Icon.ERROR).appendStatic("Du musst dich in einer Raumlobby befinden!").send(sender); + } + } + }, ArgumentType.String("name")); + } +}