Added fakeplayer command for testing

This commit is contained in:
Elias Müller 2023-10-01 00:48:30 +02:00
parent ee9115b774
commit 95750701f2
4 changed files with 37 additions and 2 deletions

1
.gitignore vendored
View File

@ -28,3 +28,4 @@ replay_pid*
.idea
.gradle
build

View File

@ -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);

View File

@ -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"));
}
}