diff options
author | Jonas Gunz <himself@jonasgunz.de> | 2020-04-14 13:47:15 +0200 |
---|---|---|
committer | Jonas Gunz <himself@jonasgunz.de> | 2020-04-14 13:47:15 +0200 |
commit | 94db7276abeae9d6d7b0adc32747d16fb9e1f8f2 (patch) | |
tree | efd447b36ed3c5e811ca1b42c1fc4c13c9008ce8 /src/main/java/re/jag/parquet/commands | |
parent | c532050d4d29cc55559fadd591f3ffad47246572 (diff) | |
download | parquet-94db7276abeae9d6d7b0adc32747d16fb9e1f8f2.tar.gz |
Fixes in CamerMode
Diffstat (limited to 'src/main/java/re/jag/parquet/commands')
3 files changed, 70 insertions, 26 deletions
diff --git a/src/main/java/re/jag/parquet/commands/CameraMode.java b/src/main/java/re/jag/parquet/commands/CameraMode.java index f65e1e7..0b74f1e 100644 --- a/src/main/java/re/jag/parquet/commands/CameraMode.java +++ b/src/main/java/re/jag/parquet/commands/CameraMode.java @@ -15,47 +15,77 @@ import net.minecraft.server.command.ServerCommandSource; import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.text.LiteralText; import net.minecraft.world.GameMode; +import re.jag.parquet.interfaces.CameraModeData; public class CameraMode { public static void register(CommandDispatcher<ServerCommandSource> dispatcher) { - LiteralArgumentBuilder<ServerCommandSource> camermode = literal("c"). + LiteralArgumentBuilder<ServerCommandSource> camermode = literal("c"). executes((c) -> camera( c.getSource(), c.getSource().getPlayer())). then(argument("player", EntityArgumentType.player()). executes( (c) -> camera(c.getSource(), EntityArgumentType.getPlayer(c, "player")))); - LiteralArgumentBuilder<ServerCommandSource> survivalmode = literal("s"). + LiteralArgumentBuilder<ServerCommandSource> survivalmode = literal("s"). executes((c) -> survival( c.getSource(), c.getSource().getPlayer())). then(argument("player", EntityArgumentType.player()). executes( (c) -> survival(c.getSource(), EntityArgumentType.getPlayer(c, "player")))); + LiteralArgumentBuilder<ServerCommandSource> defaultmode = literal("d"). + executes((c) -> defmode( c.getSource(), c.getSource().getPlayer())). + then(argument("player", EntityArgumentType.player()). + executes( (c) -> defmode(c.getSource(), EntityArgumentType.getPlayer(c, "player")))); - dispatcher.register(camermode); - dispatcher.register(survivalmode); + dispatcher.register(camermode); + dispatcher.register(survivalmode); + dispatcher.register(defaultmode); + } + + private static void add_status_effects(ServerPlayerEntity player) { + + player.addStatusEffect(new StatusEffectInstance(StatusEffects.NIGHT_VISION, 999999, 0, false, false)); + player.addStatusEffect(new StatusEffectInstance(StatusEffects.CONDUIT_POWER, 999999, 0, false, false)); + } + + private static void remove_status_effects(ServerPlayerEntity player) { + player.networkHandler.sendPacket(new RemoveEntityStatusEffectS2CPacket(player.getEntityId(), StatusEffects.NIGHT_VISION)); + player.removeStatusEffect(StatusEffects.NIGHT_VISION); + player.networkHandler.sendPacket(new RemoveEntityStatusEffectS2CPacket(player.getEntityId(), StatusEffects.CONDUIT_POWER)); + player.removeStatusEffect(StatusEffects.CONDUIT_POWER); } private static int camera(ServerCommandSource source, ServerPlayerEntity player) { if (! ((CameraModeData)player).saveCameraPosition() ) { - source.sendFeedback(new LiteralText("Gamemode is already camera"), false); - return 0; + source.sendFeedback(new LiteralText("Reset location already exists"), false); + } else { + add_status_effects(player); } player.setGameMode(GameMode.SPECTATOR); player.addVelocity(0,0.1,0); player.networkHandler.sendPacket(new EntityVelocityUpdateS2CPacket(player)); - player.addStatusEffect(new StatusEffectInstance(StatusEffects.NIGHT_VISION, 999999, 0, false, false)); - player.addStatusEffect(new StatusEffectInstance(StatusEffects.CONDUIT_POWER, 999999, 0, false, false)); + return 1; } private static int survival(ServerCommandSource source, ServerPlayerEntity player) { if (! ((CameraModeData)player).restoreCameraPosition() ) { - source.sendFeedback(new LiteralText("Gamemode is already survival"), false); - return 0; + source.sendFeedback(new LiteralText("No reset location stored"), false); + } else { + remove_status_effects(player); } player.setGameMode(GameMode.SURVIVAL); - player.networkHandler.sendPacket(new RemoveEntityStatusEffectS2CPacket(player.getEntityId(), StatusEffects.NIGHT_VISION)); - player.removeStatusEffect(StatusEffects.NIGHT_VISION); - player.networkHandler.sendPacket(new RemoveEntityStatusEffectS2CPacket(player.getEntityId(), StatusEffects.CONDUIT_POWER)); - player.removeStatusEffect(StatusEffects.CONDUIT_POWER); + + return 1; + } + + //Reset to server default gamemode + private static int defmode(ServerCommandSource source, ServerPlayerEntity player) { + if (! ((CameraModeData)player).restoreCameraPosition() ) { + source.sendFeedback(new LiteralText("No reset location stored"), false); + } else { + remove_status_effects(player); + } + + player.setGameMode( player.getServer().getDefaultGameMode() ); + return 1; } } diff --git a/src/main/java/re/jag/parquet/commands/CameraModeData.java b/src/main/java/re/jag/parquet/commands/CameraModeData.java deleted file mode 100644 index c1319f9..0000000 --- a/src/main/java/re/jag/parquet/commands/CameraModeData.java +++ /dev/null @@ -1,7 +0,0 @@ -package re.jag.parquet.commands; - -public interface CameraModeData { - boolean saveCameraPosition(); - - boolean restoreCameraPosition(); -} diff --git a/src/main/java/re/jag/parquet/commands/ListAllPlayerSaves.java b/src/main/java/re/jag/parquet/commands/ListAllPlayerSaves.java index 53e8a7e..5b5668f 100644 --- a/src/main/java/re/jag/parquet/commands/ListAllPlayerSaves.java +++ b/src/main/java/re/jag/parquet/commands/ListAllPlayerSaves.java @@ -1,25 +1,42 @@ package re.jag.parquet.commands; +import java.util.UUID; + import static net.minecraft.server.command.CommandManager.literal; +import static net.minecraft.server.command.CommandManager.argument; import com.mojang.brigadier.CommandDispatcher; import com.mojang.brigadier.builder.LiteralArgumentBuilder; -import java.util.UUID; +import com.mojang.brigadier.arguments.StringArgumentType; import com.mojang.authlib.GameProfile; + import net.minecraft.server.command.ServerCommandSource; import net.minecraft.text.LiteralText; import net.minecraft.world.dimension.DimensionType; public class ListAllPlayerSaves { public static void register(CommandDispatcher<ServerCommandSource> dispatcher) { - LiteralArgumentBuilder<ServerCommandSource> listplayersaves = literal("listplayersaves"). + LiteralArgumentBuilder<ServerCommandSource> savedata = literal("savedata"). requires(source -> source.hasPermissionLevel(4)). - executes((c) -> execute(c.getSource())); + executes((c) -> help(c.getSource())). + then( literal("playersave"). + then(literal("list"). + executes((c) -> list_local_saves(c.getSource())) + ). + then(argument("UUID", StringArgumentType.word()). + executes((c) -> get_player_save_uuid(c.getSource(), StringArgumentType.getString(c, "UUID"))) + ) + ); - dispatcher.register(listplayersaves); + dispatcher.register(savedata); + } + + private static int help(ServerCommandSource source) { + source.sendFeedback(new LiteralText("Test"), false); + return 1; } - private static int execute(ServerCommandSource source) { + private static int list_local_saves(ServerCommandSource source) { String uuid_list[] = source.getMinecraftServer().getWorld(DimensionType.OVERWORLD).getSaveHandler().getSavedPlayerIds(); for (int i = 0; i < uuid_list.length; i++) { @@ -34,5 +51,9 @@ public class ListAllPlayerSaves { return 1; } + + private static int get_player_save_uuid(ServerCommandSource source, String uuid) { + return 1; + } } |