StatusCommands.java 1.7 KB

123456789101112131415161718192021222324252627282930313233
  1. package me.km.snuviscript.commands;
  2. import me.hammerle.snuviscript.code.ScriptManager;
  3. import me.hammerle.snuviscript.code.SnuviUtils;
  4. import me.km.networking.ModPacketHandler;
  5. import me.km.permissions.Permissions;
  6. import me.km.snuviscript.Scripts;
  7. import static me.km.snuviscript.commands.CommandUtils.doForGroup;
  8. import net.minecraft.entity.player.ServerPlayerEntity;
  9. import net.minecraft.server.MinecraftServer;
  10. public class StatusCommands {
  11. public static void registerFunctions(ScriptManager sm, Scripts scripts, Permissions perms, MinecraftServer server) {
  12. sm.registerConsumer("status.add", (sc, in) -> {
  13. byte index = in[1].getByte(sc);
  14. String message = SnuviUtils.connect(sc, in, 2);
  15. doForGroup(server, scripts, perms, in[0].get(sc), sc, p -> ModPacketHandler.addStatus((ServerPlayerEntity) p, index, message));
  16. });
  17. sm.registerConsumer("status.addtimed", (sc, in) -> {
  18. byte index = in[1].getByte(sc);
  19. int time = in[2].getInt(sc);
  20. String message = SnuviUtils.connect(sc, in, 3);
  21. doForGroup(server, scripts, perms, in[0].get(sc), sc, p -> ModPacketHandler.addTimedStatus((ServerPlayerEntity) p, index, message, time));
  22. });
  23. sm.registerConsumer("status.remove", (sc, in) -> {
  24. byte index = in[1].getByte(sc);
  25. doForGroup(server, scripts, perms, in[0].get(sc), sc, p -> ModPacketHandler.removeStatus((ServerPlayerEntity) p, index));
  26. });
  27. sm.registerConsumer("status.reset", (sc, in) -> {
  28. doForGroup(server, scripts, perms, in[0].get(sc), sc, p -> ModPacketHandler.clearStatus((ServerPlayerEntity) p));
  29. });
  30. }
  31. }