ItemStackDisplayCommands.java 1.8 KB

123456789101112131415161718192021222324252627282930313233343536
  1. package me.km.snuviscript.commands;
  2. import me.hammerle.snuviscript.code.ScriptManager;
  3. import me.km.networking.ModPacketHandler;
  4. import me.km.permissions.Permissions;
  5. import me.km.snuviscript.Scripts;
  6. import static me.km.snuviscript.commands.CommandUtils.doForGroup;
  7. import net.minecraft.entity.player.ServerPlayerEntity;
  8. import net.minecraft.server.MinecraftServer;
  9. public class ItemStackDisplayCommands {
  10. public static void registerFunctions(ScriptManager sm, Scripts scripts, Permissions perms, MinecraftServer server) {
  11. sm.registerConsumer("stacks.set", (sc, in) -> {
  12. byte index = in[1].getByte(sc);
  13. if(index < 0 || index >= 9) {
  14. throw new IllegalArgumentException("index must be beetween 0 and 8, given: " + index);
  15. }
  16. String name = in[2].getString(sc);
  17. doForGroup(server, scripts, perms, in[0].get(sc), sc, p -> ModPacketHandler.setItemStackIndex((ServerPlayerEntity) p, index, name));
  18. });
  19. sm.registerConsumer("stacks.clearindex", (sc, in) -> {
  20. byte index = in[1].getByte(sc);
  21. if(index < 0 || index >= 9) {
  22. throw new IllegalArgumentException("index must be beetween 0 and 8, given: " + index);
  23. }
  24. doForGroup(server, scripts, perms, in[0].get(sc), sc, p -> ModPacketHandler.setItemStackIndex((ServerPlayerEntity) p, index, ""));
  25. });
  26. sm.registerConsumer("stacks.clear", (sc, in) -> {
  27. doForGroup(server, scripts, perms, in[0].get(sc), sc, p -> ModPacketHandler.clearItemStacks((ServerPlayerEntity) p));
  28. });
  29. sm.registerConsumer("stacks.setactive", (sc, in) -> {
  30. boolean active = in[1].getBoolean(sc);
  31. doForGroup(server, scripts, perms, in[0].get(sc), sc, p -> ModPacketHandler.setItemStackActive((ServerPlayerEntity) p, active));
  32. });
  33. }
  34. }