|
@@ -16,10 +16,12 @@ import me.hammerle.snuviscript.code.Script;
|
|
|
import me.hammerle.snuviscript.code.ScriptManager;
|
|
|
import me.hammerle.snuviscript.code.SnuviUtils;
|
|
|
import me.hammerle.snuviscript.inputprovider.InputProvider;
|
|
|
+import me.km.Server;
|
|
|
+import me.km.blockprotections.IBlockProtection;
|
|
|
+import me.km.databank.DataBank;
|
|
|
import me.km.utils.Location;
|
|
|
import me.km.utils.TitleUtils;
|
|
|
import me.km.utils.Utils;
|
|
|
-import me.km.chatchannel.ChatChannel;
|
|
|
import me.km.world.WorldManager;
|
|
|
import me.km.effects.EffectUtils;
|
|
|
import me.km.entities.EntityHuman;
|
|
@@ -47,6 +49,12 @@ import me.km.exception.IllegalStringException;
|
|
|
import me.km.exception.PlayerNotFoundException;
|
|
|
import me.km.inventory.CustomContainer;
|
|
|
import me.km.networking.ModPacketHandler;
|
|
|
+import me.km.overrides.ModEntityPlayerMP;
|
|
|
+import me.km.permissions.PermissionManager;
|
|
|
+import me.km.playerbank.IPlayerBank;
|
|
|
+import me.km.playerbank.PlayerManager;
|
|
|
+import me.km.plots.IProtection;
|
|
|
+import me.km.scheduler.SnuviScheduler;
|
|
|
import me.km.scoreboard.ScoreboardUtils;
|
|
|
import me.km.utils.Mapper;
|
|
|
import net.minecraft.block.BlockState;
|
|
@@ -77,6 +85,7 @@ import net.minecraft.network.play.client.CClientStatusPacket;
|
|
|
import net.minecraft.network.play.server.SSpawnPositionPacket;
|
|
|
import net.minecraft.potion.Effect;
|
|
|
import net.minecraft.potion.EffectInstance;
|
|
|
+import net.minecraft.server.MinecraftServer;
|
|
|
import net.minecraft.server.management.PlayerList;
|
|
|
import net.minecraft.server.management.ProfileBanEntry;
|
|
|
import net.minecraft.state.properties.ChestType;
|
|
@@ -104,25 +113,29 @@ public class MinecraftFunctions
|
|
|
public static int inventoryIds = 0;
|
|
|
|
|
|
@SuppressWarnings("")
|
|
|
- public static void registerFunctions(ScriptManager sm)
|
|
|
+ public static void registerFunctions(ScriptManager sm, Scripts scripts,
|
|
|
+ PermissionManager perms, SnuviScheduler scheduler, MinecraftServer server,
|
|
|
+ IPlayerBank playerBank, PlayerManager pManager, CustomEventCaller cec,
|
|
|
+ IScriptBank scriptBank, DataBank dataBank, IBlockProtection blockProtection,
|
|
|
+ IProtection protection)
|
|
|
{
|
|
|
// ---------------------------------------------------------------------
|
|
|
// Command-library
|
|
|
// ---------------------------------------------------------------------
|
|
|
sm.registerFunction("command.add", (sc, in) ->
|
|
|
{
|
|
|
- KajetansMod.scripts.registerScriptCommand(in[0].getString(sc));
|
|
|
+ scripts.registerScriptCommand(in[0].getString(sc));
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
sm.registerFunction("command.remove", (sc, in) ->
|
|
|
{
|
|
|
- KajetansMod.scripts.unregisterScriptCommand(in[0].getString(sc));
|
|
|
+ scripts.unregisterScriptCommand(in[0].getString(sc));
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
- sm.registerFunction("command.exists", (sc, in) -> KajetansMod.scripts.isRegisteredScriptCommand(in[0].getString(sc)));
|
|
|
+ sm.registerFunction("command.exists", (sc, in) -> scripts.isRegisteredScriptCommand(in[0].getString(sc)));
|
|
|
sm.registerFunction("command.clear", (sc, in) ->
|
|
|
{
|
|
|
- KajetansMod.scripts.clearScriptCommands();
|
|
|
+ scripts.clearScriptCommands();
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
|
|
@@ -131,21 +144,21 @@ public class MinecraftFunctions
|
|
|
// ---------------------------------------------------------------------
|
|
|
sm.registerFunction("perm.clear", (sc, in) ->
|
|
|
{
|
|
|
- KajetansMod.perms.clear();
|
|
|
+ perms.clear();
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
sm.registerFunction("perm.registergroup", (sc, in) ->
|
|
|
{
|
|
|
- KajetansMod.perms.registerGroupPermission(in[0].getInt(sc), in[1].getString(sc));
|
|
|
+ perms.registerGroupPermission(in[0].getInt(sc), in[1].getString(sc));
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
sm.registerFunction("perm.registerplayer", (sc, in) ->
|
|
|
{
|
|
|
- KajetansMod.perms.registerPlayerGroup(getUUID(in[0].get(sc)), in[1].getInt(sc));
|
|
|
+ perms.registerPlayerGroup(getUUID(in[0].get(sc)), in[1].getInt(sc));
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
- sm.registerFunction("perm.unregisterplayer", (sc, in) -> KajetansMod.perms.unregisterPlayer(getUUID(in[0].get(sc)), in[1].getInt(sc)));
|
|
|
- sm.registerFunction("perm.has", (sc, in) -> KajetansMod.perms.hasPermission((Entity) in[0].get(sc), in[1].getString(sc)));
|
|
|
+ sm.registerFunction("perm.unregisterplayer", (sc, in) -> perms.unregisterPlayer(getUUID(in[0].get(sc)), in[1].getInt(sc)));
|
|
|
+ sm.registerFunction("perm.has", (sc, in) -> perms.hasPermission((Entity) in[0].get(sc), in[1].getString(sc)));
|
|
|
|
|
|
// ---------------------------------------------------------------------
|
|
|
// Title-library
|
|
@@ -196,7 +209,7 @@ public class MinecraftFunctions
|
|
|
sm.registerFunction("player.respawn", (sc, in) ->
|
|
|
{
|
|
|
final ServerPlayerEntity p = ((ServerPlayerEntity) in[0].get(sc));
|
|
|
- KajetansMod.scheduler.scheduleTask(() ->
|
|
|
+ scheduler.scheduleTask(() ->
|
|
|
{
|
|
|
try
|
|
|
{
|
|
@@ -234,7 +247,7 @@ public class MinecraftFunctions
|
|
|
});
|
|
|
sm.registerFunction("player.speak", (sc, in) ->
|
|
|
{
|
|
|
- sendMessageToGroup(in[0].get(sc), sc, concat(sc, 2, "§7[§r" + in[1].getString(sc) + "§7]§r ", in));
|
|
|
+ sendMessageToGroup(server, scripts, perms, in[0].get(sc), sc, concat(sc, 2, "§7[§r" + in[1].getString(sc) + "§7]§r ", in));
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
sm.registerFunction("player.setcompass", (sc, in) ->
|
|
@@ -262,7 +275,7 @@ public class MinecraftFunctions
|
|
|
{
|
|
|
return ((PlayerEntity) o).getName();
|
|
|
}
|
|
|
- return KajetansMod.server.getPlayerProfileCache().getProfileByUUID(getUUID(o.toString())).getName();
|
|
|
+ return server.getPlayerProfileCache().getProfileByUUID(getUUID(o.toString())).getName();
|
|
|
});
|
|
|
sm.registerFunction("player.getuuid", (sc, in) ->
|
|
|
{
|
|
@@ -271,15 +284,15 @@ public class MinecraftFunctions
|
|
|
{
|
|
|
return ((PlayerEntity) o).getUniqueID();
|
|
|
}
|
|
|
- return KajetansMod.playerbank.getDataBank().getUUID(o.toString());
|
|
|
+ return playerBank.getUUID(o.toString());
|
|
|
});
|
|
|
- sm.registerFunction("player.getid", (sc, in) -> (double) KajetansMod.playerbank.getPlayerId(getUUID(in[0].get(sc))));
|
|
|
+ sm.registerFunction("player.getid", (sc, in) -> (double) pManager.getPlayerId(getUUID(in[0].get(sc))));
|
|
|
sm.registerFunction("player.get", (sc, in) ->
|
|
|
{
|
|
|
- return KajetansMod.server.getPlayerList().getPlayerByUUID(getUUID(in[0].get(sc)));
|
|
|
+ return server.getPlayerList().getPlayerByUUID(getUUID(in[0].get(sc)));
|
|
|
});
|
|
|
- sm.registerFunction("player.getuuidfromid", (sc, in) -> KajetansMod.playerbank.getDataBank().getUUIDfromID(in[0].getInt(sc)));
|
|
|
- sm.registerFunction("player.getnamefromid", (sc, in) -> KajetansMod.playerbank.getDataBank().getNamefromID(in[0].getInt(sc)));
|
|
|
+ sm.registerFunction("player.getuuidfromid", (sc, in) -> playerBank.getUUIDfromID(in[0].getInt(sc)));
|
|
|
+ sm.registerFunction("player.getnamefromid", (sc, in) -> playerBank.getNamefromID(in[0].getInt(sc)));
|
|
|
sm.registerFunction("player.getip", (sc, in) -> ((ServerPlayerEntity) in[0].get(sc)).connection.netManager.getRemoteAddress().toString());
|
|
|
sm.registerFunction("player.iscreative", (sc, in) -> ((PlayerEntity) in[0].get(sc)).isCreative());
|
|
|
sm.registerFunction("player.isspectator", (sc, in) -> ((PlayerEntity) in[0].get(sc)).isSpectator());
|
|
@@ -356,12 +369,12 @@ public class MinecraftFunctions
|
|
|
});
|
|
|
|
|
|
sm.registerFunction("player.gettargetentity", (sc, in) -> Utils.getTargetedEntity((PlayerEntity) in[0].get(sc), in[1].getDouble(sc), getClass(in[2].getString(sc))));
|
|
|
- sm.registerFunction("player.hasscript", (sc, in) -> KajetansMod.scripts.isRegistered((PlayerEntity) in[0].get(sc)));
|
|
|
+ sm.registerFunction("player.hasscript", (sc, in) -> scripts.isRegistered((PlayerEntity) in[0].get(sc)));
|
|
|
sm.registerAlias("player.hasscript", "player.hasquest");
|
|
|
sm.registerFunction("player.action", (sc, in) ->
|
|
|
{
|
|
|
StringTextComponent text = new StringTextComponent(SnuviUtils.connect(sc, in, 1));
|
|
|
- doForGroup(in[0].get(sc), sc, p -> ((ServerPlayerEntity) p).sendStatusMessage(text, true));
|
|
|
+ doForGroup(server, scripts, perms, in[0].get(sc), sc, p -> ((ServerPlayerEntity) p).sendStatusMessage(text, true));
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
sm.registerFunction("player.disconnect", (sc, in) ->
|
|
@@ -369,7 +382,7 @@ public class MinecraftFunctions
|
|
|
((ServerPlayerEntity) in[0].get(sc)).connection.disconnect(new StringTextComponent(in[1].getString(sc)));
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
- sm.registerFunction("player.kick", (sc, in) -> KajetansMod.scripts.unregisterPlayer(sc, (PlayerEntity) in[0].get(sc)));
|
|
|
+ sm.registerFunction("player.kick", (sc, in) -> scripts.unregisterPlayer(sc, (PlayerEntity) in[0].get(sc)));
|
|
|
sm.registerFunction("player.playsound", (sc, in) ->
|
|
|
{
|
|
|
EffectUtils.playSound((ServerPlayerEntity) in[0].get(sc), Mapper.getSound(in[1].getString(sc)), SoundCategory.MASTER);
|
|
@@ -460,8 +473,8 @@ public class MinecraftFunctions
|
|
|
// ---------------------------------------------------------------------
|
|
|
// Players-library
|
|
|
// ---------------------------------------------------------------------
|
|
|
- sm.registerFunction("players.getamount", (sc, in) -> (double) KajetansMod.server.getCurrentPlayerCount());
|
|
|
- sm.registerFunction("players.tolist", (sc, in) -> new ArrayList(KajetansMod.server.getPlayerList().getPlayers()));
|
|
|
+ sm.registerFunction("players.getamount", (sc, in) -> (double) server.getCurrentPlayerCount());
|
|
|
+ sm.registerFunction("players.tolist", (sc, in) -> new ArrayList(server.getPlayerList().getPlayers()));
|
|
|
sm.registerFunction("players.toworldlist", (sc, in) -> new ArrayList(((World) in[0].get(sc)).getPlayers()));
|
|
|
sm.registerFunction("players.near", (sc, in) ->
|
|
|
{
|
|
@@ -531,7 +544,7 @@ public class MinecraftFunctions
|
|
|
});
|
|
|
sm.registerFunction("world.unregister", (sc, in) ->
|
|
|
{
|
|
|
- boolean b = WorldManager.unregister(in[0].getString(sc));
|
|
|
+ boolean b = WorldManager.unregister(server, in[0].getString(sc));
|
|
|
if(b)
|
|
|
{
|
|
|
ModPacketHandler.syncDimensions();
|
|
@@ -540,7 +553,7 @@ public class MinecraftFunctions
|
|
|
});
|
|
|
sm.registerFunction("world.get", (sc, in) ->
|
|
|
{
|
|
|
- return WorldManager.get(in[0].getString(sc));
|
|
|
+ return WorldManager.get(server, in[0].getString(sc));
|
|
|
});
|
|
|
sm.registerFunction("world.getname", (sc, in) ->
|
|
|
{
|
|
@@ -554,7 +567,7 @@ public class MinecraftFunctions
|
|
|
});
|
|
|
sm.registerFunction("world.setgamerule", (sc, in) ->
|
|
|
{
|
|
|
- ((World) in[0].get(sc)).getGameRules().setOrCreateGameRule(in[1].getString(sc), in[2].getString(sc), KajetansMod.server);
|
|
|
+ ((World) in[0].get(sc)).getGameRules().setOrCreateGameRule(in[1].getString(sc), in[2].getString(sc), server);
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
sm.registerFunction("world.getgamerule", (sc, in) ->
|
|
@@ -575,7 +588,7 @@ public class MinecraftFunctions
|
|
|
sm.registerFunction("world.getall", (sc, in) ->
|
|
|
{
|
|
|
ArrayList<World> worlds = new ArrayList<>();
|
|
|
- for(World w : KajetansMod.server.getWorlds())
|
|
|
+ for(World w : server.getWorlds())
|
|
|
{
|
|
|
worlds.add(w);
|
|
|
}
|
|
@@ -1037,11 +1050,11 @@ public class MinecraftFunctions
|
|
|
// ---------------------------------------------------------------------
|
|
|
// Event-library
|
|
|
// ---------------------------------------------------------------------
|
|
|
- sm.registerFunction("event.addmovedata", (sc, in) -> (double) CustomEventCaller.registerMoveData(new PlayerMoveData(
|
|
|
+ sm.registerFunction("event.addmovedata", (sc, in) -> (double) cec.registerMoveData(new PlayerMoveData(
|
|
|
sc, (Location) in[0].get(sc), (Location) in[1].get(sc), in[2].getInt(sc), in[3].getInt(sc))));
|
|
|
sm.registerFunction("event.removemovedata", (sc, in) ->
|
|
|
{
|
|
|
- CustomEventCaller.removeMoveData(in[0].getInt(sc));
|
|
|
+ cec.removeMoveData(in[0].getInt(sc));
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
|
|
@@ -1444,9 +1457,9 @@ public class MinecraftFunctions
|
|
|
sm.registerFunction("gmap.removeall", (sc, in) ->
|
|
|
{
|
|
|
final String map = in[0].getString(sc);
|
|
|
- KajetansMod.scheduler.getWorker().add(() ->
|
|
|
+ scheduler.getWorker().add(() ->
|
|
|
{
|
|
|
- KajetansMod.scripts.getDatabank().removeMap(map);
|
|
|
+ scriptBank.removeMap(map);
|
|
|
});
|
|
|
return Void.TYPE;
|
|
|
});
|
|
@@ -1455,9 +1468,9 @@ public class MinecraftFunctions
|
|
|
final String map = in[0].getString(sc);
|
|
|
final String key = in[1].getString(sc);
|
|
|
final String value = in[2].getString(sc);
|
|
|
- KajetansMod.scheduler.getWorker().add(() ->
|
|
|
+ scheduler.getWorker().add(() ->
|
|
|
{
|
|
|
- KajetansMod.scripts.getDatabank().addMapElement(map, key, value);
|
|
|
+ scriptBank.addMapElement(map, key, value);
|
|
|
});
|
|
|
return Void.TYPE;
|
|
|
});
|
|
@@ -1465,16 +1478,16 @@ public class MinecraftFunctions
|
|
|
{
|
|
|
final String map = in[0].getString(sc);
|
|
|
final String key = in[1].getString(sc);
|
|
|
- KajetansMod.scheduler.getWorker().add(() ->
|
|
|
+ scheduler.getWorker().add(() ->
|
|
|
{
|
|
|
- KajetansMod.scripts.getDatabank().removeMapElement(map, key);
|
|
|
+ scriptBank.removeMapElement(map, key);
|
|
|
});
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
- sm.registerFunction("gmap.get", (sc, in) -> KajetansMod.scripts.getDatabank().getMapValue(in[0].getString(sc), in[1].getString(sc)));
|
|
|
+ sm.registerFunction("gmap.get", (sc, in) -> scriptBank.getMapValue(in[0].getString(sc), in[1].getString(sc)));
|
|
|
sm.registerFunction("gmap.getordefault", (sc, in) ->
|
|
|
{
|
|
|
- Object o = KajetansMod.scripts.getDatabank().getMapValue(in[0].getString(sc), in[1].getString(sc));
|
|
|
+ Object o = scriptBank.getMapValue(in[0].getString(sc), in[1].getString(sc));
|
|
|
if(o == null)
|
|
|
{
|
|
|
return in[2].get(sc);
|
|
@@ -1491,17 +1504,17 @@ public class MinecraftFunctions
|
|
|
{
|
|
|
final String map = in[0].getString(sc);
|
|
|
final String key = in[1].getString(sc);
|
|
|
- KajetansMod.scheduler.getWorker().add(() ->
|
|
|
+ scheduler.getWorker().add(() ->
|
|
|
{
|
|
|
- KajetansMod.scripts.getDatabank().removeDualMapElement(map, key);
|
|
|
+ scriptBank.removeDualMapElement(map, key);
|
|
|
});
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
final String map = in[0].getString(sc);
|
|
|
- KajetansMod.scheduler.getWorker().add(() ->
|
|
|
+ scheduler.getWorker().add(() ->
|
|
|
{
|
|
|
- KajetansMod.scripts.getDatabank().removeDualMap(map);
|
|
|
+ scriptBank.removeDualMap(map);
|
|
|
});
|
|
|
}
|
|
|
return Void.TYPE;
|
|
@@ -1512,9 +1525,9 @@ public class MinecraftFunctions
|
|
|
final String key1 = in[1].getString(sc);
|
|
|
final String key2 = in[2].getString(sc);
|
|
|
final String value = in[3].getString(sc);
|
|
|
- KajetansMod.scheduler.getWorker().add(() ->
|
|
|
+ scheduler.getWorker().add(() ->
|
|
|
{
|
|
|
- KajetansMod.scripts.getDatabank().addDualMapElement(map, key1, key2, value);
|
|
|
+ scriptBank.addDualMapElement(map, key1, key2, value);
|
|
|
});
|
|
|
return Void.TYPE;
|
|
|
});
|
|
@@ -1523,19 +1536,19 @@ public class MinecraftFunctions
|
|
|
final String map = in[0].getString(sc);
|
|
|
final String key1 = in[1].getString(sc);
|
|
|
final String key2 = in[2].getString(sc);
|
|
|
- KajetansMod.scheduler.getWorker().add(() ->
|
|
|
+ scheduler.getWorker().add(() ->
|
|
|
{
|
|
|
- KajetansMod.scripts.getDatabank().removeDualMapElement(map, key1, key2);
|
|
|
+ scriptBank.removeDualMapElement(map, key1, key2);
|
|
|
});
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
sm.registerFunction("gdmap.get", (sc, in) ->
|
|
|
{
|
|
|
- return KajetansMod.scripts.getDatabank().getDualMapValue(in[0].getString(sc), in[1].getString(sc), in[2].getString(sc));
|
|
|
+ return scriptBank.getDualMapValue(in[0].getString(sc), in[1].getString(sc), in[2].getString(sc));
|
|
|
});
|
|
|
sm.registerFunction("gdmap.getordefault", (sc, in) ->
|
|
|
{
|
|
|
- Object o = KajetansMod.scripts.getDatabank().getDualMapValue(in[0].getString(sc), in[1].getString(sc), in[2].getString(sc));
|
|
|
+ Object o = scriptBank.getDualMapValue(in[0].getString(sc), in[1].getString(sc), in[2].getString(sc));
|
|
|
if(o == null)
|
|
|
{
|
|
|
return in[3].get(sc);
|
|
@@ -1549,7 +1562,7 @@ public class MinecraftFunctions
|
|
|
|
|
|
sm.registerFunction("databank.prepare", (sc, in) ->
|
|
|
{
|
|
|
- PreparedStatement p = KajetansMod.databank.prepareUnsafeStatement(in[0].getString(sc));
|
|
|
+ PreparedStatement p = dataBank.prepareUnsafeStatement(in[0].getString(sc));
|
|
|
sc.addCloseable(p);
|
|
|
return p;
|
|
|
});
|
|
@@ -1587,7 +1600,7 @@ public class MinecraftFunctions
|
|
|
sm.registerFunction("databank.workerexecute", (sc, in) ->
|
|
|
{
|
|
|
final PreparedStatement p = (PreparedStatement) in[0].get(sc);
|
|
|
- KajetansMod.scheduler.getWorker().add(() ->
|
|
|
+ scheduler.getWorker().add(() ->
|
|
|
{
|
|
|
try
|
|
|
{
|
|
@@ -1595,7 +1608,7 @@ public class MinecraftFunctions
|
|
|
}
|
|
|
catch(SQLException ex)
|
|
|
{
|
|
|
- KajetansMod.scheduler.scheduleTask(() ->
|
|
|
+ scheduler.scheduleTask(() ->
|
|
|
{
|
|
|
sc.getScriptManager().getLogger().print("Worker error", ex, null, sc.getName(), sc, -1);
|
|
|
});
|
|
@@ -1607,7 +1620,7 @@ public class MinecraftFunctions
|
|
|
}
|
|
|
catch(SQLException ex)
|
|
|
{
|
|
|
- KajetansMod.scheduler.scheduleTask(() ->
|
|
|
+ scheduler.scheduleTask(() ->
|
|
|
{
|
|
|
sc.getScriptManager().getLogger().print("Worker error", ex, null, sc.getName(), sc, -1);
|
|
|
});
|
|
@@ -1631,12 +1644,12 @@ public class MinecraftFunctions
|
|
|
{
|
|
|
Location l = (Location) in[0].get(sc);
|
|
|
BlockPos pos = l.getBlockPos();
|
|
|
- return KajetansMod.plots.getIds(pos.getX(), pos.getY(), pos.getZ(), WorldManager.getName(l.getWorld()));
|
|
|
+ return protection.getIds(pos.getX(), pos.getY(), pos.getZ(), WorldManager.getName(l.getWorld()));
|
|
|
});
|
|
|
sm.registerFunction("plot.canbuild", (sc, in) ->
|
|
|
{
|
|
|
Location l = (Location) in[0].get(sc);
|
|
|
- return KajetansMod.plots.canBuild(l.getWorld(), l.getBlockPos(), (PlayerEntity) in[1].get(sc));
|
|
|
+ return protection.canBuild(l.getWorld(), l.getBlockPos(), (ModEntityPlayerMP) in[1].get(sc));
|
|
|
});
|
|
|
|
|
|
// ---------------------------------------------------------------------
|
|
@@ -1646,14 +1659,14 @@ public class MinecraftFunctions
|
|
|
{
|
|
|
Location l = (Location) in[0].get(sc);
|
|
|
BlockPos pos = l.getBlockPos();
|
|
|
- return KajetansMod.blocks.getDatabank().hasAccess(pos, l.getWorld(), (PlayerEntity) in[1].get(sc));
|
|
|
+ return blockProtection.hasAccess(pos, l.getWorld(), (ModEntityPlayerMP) in[1].get(sc));
|
|
|
});
|
|
|
|
|
|
// ---------------------------------------------------------------------
|
|
|
// Script-library
|
|
|
// ---------------------------------------------------------------------
|
|
|
- sm.registerFunction("script.playerstolist", (sc, in) -> new ArrayList<>(KajetansMod.scripts.getPlayerList(sc.getId())));
|
|
|
- sm.registerFunction("script.getplayeramount", (sc, in) -> (double) KajetansMod.scripts.getPlayerList(sc.getId()).size());
|
|
|
+ sm.registerFunction("script.playerstolist", (sc, in) -> new ArrayList<>(scripts.getPlayerList(sc.getId())));
|
|
|
+ sm.registerFunction("script.getplayeramount", (sc, in) -> (double) scripts.getPlayerList(sc.getId()).size());
|
|
|
sm.registerFunction("script.start", (sc, in) ->
|
|
|
{
|
|
|
Object o = in[0].get(sc);
|
|
@@ -1664,7 +1677,7 @@ public class MinecraftFunctions
|
|
|
{
|
|
|
names[i - 1] = in[i].getString(sc);
|
|
|
}
|
|
|
- return KajetansMod.scripts.startPlayerScript((PlayerEntity) in[0].get(sc), names);
|
|
|
+ return scripts.startPlayerScript((PlayerEntity) in[0].get(sc), names);
|
|
|
}
|
|
|
String[] names = new String[in.length];
|
|
|
names[0] = o.toString();
|
|
@@ -1672,19 +1685,19 @@ public class MinecraftFunctions
|
|
|
{
|
|
|
names[i] = in[i].getString(sc);
|
|
|
}
|
|
|
- KajetansMod.scripts.startScript(names);
|
|
|
+ scripts.startScript(names);
|
|
|
return true;
|
|
|
});
|
|
|
- sm.registerFunction("script.join", (sc, in) -> KajetansMod.scripts.registerPlayer((Script) in[0].get(sc), (PlayerEntity) in[1].get(sc)));
|
|
|
- sm.registerFunction("script.kick", (sc, in) -> KajetansMod.scripts.unregisterPlayer(sc, (PlayerEntity) in[0].get(sc)));
|
|
|
+ sm.registerFunction("script.join", (sc, in) -> scripts.registerPlayer((Script) in[0].get(sc), (PlayerEntity) in[1].get(sc)));
|
|
|
+ sm.registerFunction("script.kick", (sc, in) -> scripts.unregisterPlayer(sc, (PlayerEntity) in[0].get(sc)));
|
|
|
sm.registerFunction("script.getleader", (sc, in) ->
|
|
|
{
|
|
|
- List<UUID> players = KajetansMod.scripts.getPlayerList(sc.getId());
|
|
|
+ List<UUID> players = scripts.getPlayerList(sc.getId());
|
|
|
if(players.isEmpty())
|
|
|
{
|
|
|
return null;
|
|
|
}
|
|
|
- return KajetansMod.server.getPlayerList().getPlayerByUUID(players.get(0));
|
|
|
+ return server.getPlayerList().getPlayerByUUID(players.get(0));
|
|
|
});
|
|
|
|
|
|
// ---------------------------------------------------------------------
|
|
@@ -1694,18 +1707,18 @@ public class MinecraftFunctions
|
|
|
{
|
|
|
int id = in[1].getInt(sc);
|
|
|
String message = SnuviUtils.connect(sc, in, 2);
|
|
|
- doForGroup(in[0].get(sc), sc, p -> ScoreboardUtils.get((ServerPlayerEntity) p).addText(id, message));
|
|
|
+ doForGroup(server, scripts, perms, in[0].get(sc), sc, p -> ScoreboardUtils.get((ServerPlayerEntity) p).addText(id, message));
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
sm.registerFunction("sb.remove", (sc, in) ->
|
|
|
{
|
|
|
int id = in[1].getInt(sc);
|
|
|
- doForGroup(in[0].get(sc), sc, p -> ScoreboardUtils.get((ServerPlayerEntity) p).removeText(id));
|
|
|
+ doForGroup(server, scripts, perms, in[0].get(sc), sc, p -> ScoreboardUtils.get((ServerPlayerEntity) p).removeText(id));
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
sm.registerFunction("sb.reset", (sc, in) ->
|
|
|
{
|
|
|
- doForGroup(in[0].get(sc), sc, p -> ScoreboardUtils.get((ServerPlayerEntity) p).clear());
|
|
|
+ doForGroup(server, scripts, perms, in[0].get(sc), sc, p -> ScoreboardUtils.get((ServerPlayerEntity) p).clear(server));
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
|
|
@@ -1716,18 +1729,18 @@ public class MinecraftFunctions
|
|
|
{
|
|
|
byte id = in[1].getByte(sc);
|
|
|
String message = SnuviUtils.connect(sc, in, 2);
|
|
|
- doForGroup(in[0].get(sc), sc, p -> ModPacketHandler.sendToDisplay((ServerPlayerEntity) p, (byte) 1, id, message));
|
|
|
+ doForGroup(server, scripts, perms, in[0].get(sc), sc, p -> ModPacketHandler.sendToDisplay((ServerPlayerEntity) p, (byte) 1, id, message));
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
sm.registerFunction("display.remove", (sc, in) ->
|
|
|
{
|
|
|
byte id = in[1].getByte(sc);
|
|
|
- doForGroup(in[0].get(sc), sc, p -> ModPacketHandler.sendToDisplay((ServerPlayerEntity) p, (byte) 2, id, ""));
|
|
|
+ doForGroup(server, scripts, perms, in[0].get(sc), sc, p -> ModPacketHandler.sendToDisplay((ServerPlayerEntity) p, (byte) 2, id, ""));
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
sm.registerFunction("display.reset", (sc, in) ->
|
|
|
{
|
|
|
- doForGroup(in[0].get(sc), sc, p -> ModPacketHandler.sendToDisplay((ServerPlayerEntity) p, (byte) 3, (byte) -1, ""));
|
|
|
+ doForGroup(server, scripts, perms, in[0].get(sc), sc, p -> ModPacketHandler.sendToDisplay((ServerPlayerEntity) p, (byte) 3, (byte) -1, ""));
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
|
|
@@ -1738,7 +1751,7 @@ public class MinecraftFunctions
|
|
|
{
|
|
|
byte index = in[1].getByte(sc);
|
|
|
String message = SnuviUtils.connect(sc, in, 2);
|
|
|
- doForGroup(in[0].get(sc), sc, p -> ModPacketHandler.addStatus((ServerPlayerEntity) p, index, message));
|
|
|
+ doForGroup(server, scripts, perms, in[0].get(sc), sc, p -> ModPacketHandler.addStatus((ServerPlayerEntity) p, index, message));
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
sm.registerFunction("status.addtimed", (sc, in) ->
|
|
@@ -1746,18 +1759,18 @@ public class MinecraftFunctions
|
|
|
byte index = in[1].getByte(sc);
|
|
|
int time = in[2].getInt(sc);
|
|
|
String message = SnuviUtils.connect(sc, in, 3);
|
|
|
- doForGroup(in[0].get(sc), sc, p -> ModPacketHandler.addTimedStatus((ServerPlayerEntity) p, index, message, time));
|
|
|
+ doForGroup(server, scripts, perms, in[0].get(sc), sc, p -> ModPacketHandler.addTimedStatus((ServerPlayerEntity) p, index, message, time));
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
sm.registerFunction("status.remove", (sc, in) ->
|
|
|
{
|
|
|
byte index = in[1].getByte(sc);
|
|
|
- doForGroup(in[0].get(sc), sc, p -> ModPacketHandler.removeStatus((ServerPlayerEntity) p, index));
|
|
|
+ doForGroup(server, scripts, perms, in[0].get(sc), sc, p -> ModPacketHandler.removeStatus((ServerPlayerEntity) p, index));
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
sm.registerFunction("status.reset", (sc, in) ->
|
|
|
{
|
|
|
- doForGroup(in[0].get(sc), sc, p -> ModPacketHandler.clearStatus((ServerPlayerEntity) p));
|
|
|
+ doForGroup(server, scripts, perms, in[0].get(sc), sc, p -> ModPacketHandler.clearStatus((ServerPlayerEntity) p));
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
|
|
@@ -1773,7 +1786,7 @@ public class MinecraftFunctions
|
|
|
}
|
|
|
int iconIndex = in[2].getInt(sc);
|
|
|
int count = in[3].getInt(sc);
|
|
|
- doForGroup(in[0].get(sc), sc, p -> ModPacketHandler.setItemStackIndex((ServerPlayerEntity) p, index, iconIndex, count));
|
|
|
+ doForGroup(server, scripts, perms, in[0].get(sc), sc, p -> ModPacketHandler.setItemStackIndex((ServerPlayerEntity) p, index, iconIndex, count));
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
sm.registerFunction("stacks.clearindex", (sc, in) ->
|
|
@@ -1783,18 +1796,18 @@ public class MinecraftFunctions
|
|
|
{
|
|
|
throw new IllegalArgumentException("index must be beetween 0 and 8, given: " + index);
|
|
|
}
|
|
|
- doForGroup(in[0].get(sc), sc, p -> ModPacketHandler.setItemStackIndex((ServerPlayerEntity) p, index, 0, 0));
|
|
|
+ doForGroup(server, scripts, perms, in[0].get(sc), sc, p -> ModPacketHandler.setItemStackIndex((ServerPlayerEntity) p, index, 0, 0));
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
sm.registerFunction("stacks.clear", (sc, in) ->
|
|
|
{
|
|
|
- doForGroup(in[0].get(sc), sc, p -> ModPacketHandler.clearItemStacks((ServerPlayerEntity) p));
|
|
|
+ doForGroup(server, scripts, perms, in[0].get(sc), sc, p -> ModPacketHandler.clearItemStacks((ServerPlayerEntity) p));
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
sm.registerFunction("stacks.setactive", (sc, in) ->
|
|
|
{
|
|
|
boolean active = in[1].getBoolean(sc);
|
|
|
- doForGroup(in[0].get(sc), sc, p -> ModPacketHandler.setItemStackActive((ServerPlayerEntity) p, active));
|
|
|
+ doForGroup(server, scripts, perms, in[0].get(sc), sc, p -> ModPacketHandler.setItemStackActive((ServerPlayerEntity) p, active));
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
|
|
@@ -1808,18 +1821,18 @@ public class MinecraftFunctions
|
|
|
int x = in[3].getInt(sc);
|
|
|
int y = in[4].getInt(sc);
|
|
|
byte scale = in[5].getByte(sc);
|
|
|
- doForGroup(in[0].get(sc), sc, p -> ModPacketHandler.sendToHead((ServerPlayerEntity) p, (byte) 1, id, name, x, y, scale));
|
|
|
+ doForGroup(server, scripts, perms, in[0].get(sc), sc, p -> ModPacketHandler.sendToHead((ServerPlayerEntity) p, (byte) 1, id, name, x, y, scale));
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
sm.registerFunction("head.remove", (sc, in) ->
|
|
|
{
|
|
|
byte id = in[1].getByte(sc);
|
|
|
- doForGroup(in[0].get(sc), sc, p -> ModPacketHandler.sendToHead((ServerPlayerEntity) p, (byte) 2, id, "", -1, -1, (byte) -1));
|
|
|
+ doForGroup(server, scripts, perms, in[0].get(sc), sc, p -> ModPacketHandler.sendToHead((ServerPlayerEntity) p, (byte) 2, id, "", -1, -1, (byte) -1));
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
sm.registerFunction("head.reset", (sc, in) ->
|
|
|
{
|
|
|
- doForGroup(in[0].get(sc), sc, p -> ModPacketHandler.sendToHead((ServerPlayerEntity) p, (byte) 3, (byte) -1, "", -1, -1, (byte) -1));
|
|
|
+ doForGroup(server, scripts, perms, in[0].get(sc), sc, p -> ModPacketHandler.sendToHead((ServerPlayerEntity) p, (byte) 3, (byte) -1, "", -1, -1, (byte) -1));
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
|
|
@@ -1873,7 +1886,9 @@ public class MinecraftFunctions
|
|
|
sm.registerFunction("inv.open", (sc, in) ->
|
|
|
{
|
|
|
SnuviInventory si = (SnuviInventory) in[0].get(sc);
|
|
|
- new ScriptInventoryHolder(si, (ServerPlayerEntity) in[1].get(sc), new StringTextComponent(si.getTitle()), sc).openForPlayer();
|
|
|
+ ScriptInventoryHolder sih = new ScriptInventoryHolder(scheduler, si,
|
|
|
+ (ServerPlayerEntity) in[1].get(sc), new StringTextComponent(si.getTitle()), sc);
|
|
|
+ sih.openForPlayer();
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
sm.registerFunction("inv.close", (sc, in) ->
|
|
@@ -1910,14 +1925,14 @@ public class MinecraftFunctions
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
- return Utils.getPlayerByName(in[0].getString(sc));
|
|
|
+ return Utils.getPlayerByName(server, in[0].getString(sc));
|
|
|
}
|
|
|
catch(PlayerNotFoundException ex)
|
|
|
{
|
|
|
return null;
|
|
|
}
|
|
|
});
|
|
|
- sm.registerFunction("read.location", (sc, in) -> new Location(in[0].getString(sc)));
|
|
|
+ sm.registerFunction("read.location", (sc, in) -> new Location(server, in[0].getString(sc)));
|
|
|
sm.registerFunction("read.item", (sc, in) ->
|
|
|
{
|
|
|
String s = in[0].getString(sc);
|
|
@@ -2054,7 +2069,7 @@ public class MinecraftFunctions
|
|
|
// ---------------------------------------------------------------------
|
|
|
// worker library
|
|
|
// ---------------------------------------------------------------------
|
|
|
- sm.registerFunction("worker.haswork", (sc, in) -> KajetansMod.scheduler.getWorker().hasWork());
|
|
|
+ sm.registerFunction("worker.haswork", (sc, in) -> scheduler.getWorker().hasWork());
|
|
|
|
|
|
// ---------------------------------------------------------------------
|
|
|
// ban library
|
|
@@ -2066,7 +2081,7 @@ public class MinecraftFunctions
|
|
|
});
|
|
|
sm.registerFunction("ban.add", (sc, in) ->
|
|
|
{
|
|
|
- GameProfile gp = KajetansMod.server.getPlayerProfileCache().getProfileByUUID(getUUID(in[0].get(sc)));
|
|
|
+ GameProfile gp = server.getPlayerProfileCache().getProfileByUUID(getUUID(in[0].get(sc)));
|
|
|
String reason = in[1].getString(sc);
|
|
|
String banner = in[2].getString(sc);
|
|
|
ProfileBanEntry entry;
|
|
@@ -2080,13 +2095,13 @@ public class MinecraftFunctions
|
|
|
{
|
|
|
entry = new ProfileBanEntry(gp, null, banner, null, reason);
|
|
|
}
|
|
|
- KajetansMod.server.getPlayerList().getBannedPlayers().addEntry(entry);
|
|
|
+ server.getPlayerList().getBannedPlayers().addEntry(entry);
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
sm.registerFunction("ban.remove", (sc, in) ->
|
|
|
{
|
|
|
- GameProfile gp = KajetansMod.server.getPlayerProfileCache().getProfileByUUID(getUUID(in[0].get(sc)));
|
|
|
- KajetansMod.server.getPlayerList().getBannedPlayers().removeEntry(gp);
|
|
|
+ GameProfile gp = server.getPlayerProfileCache().getProfileByUUID(getUUID(in[0].get(sc)));
|
|
|
+ server.getPlayerList().getBannedPlayers().removeEntry(gp);
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
|
|
@@ -2095,25 +2110,25 @@ public class MinecraftFunctions
|
|
|
// ---------------------------------------------------------------------
|
|
|
sm.registerFunction("data.set", (sc, in) ->
|
|
|
{
|
|
|
- KajetansMod.playerbank.setPlayerVar(getUUID(in[0].get(sc)), in[1].getString(sc), in[2].get(sc));
|
|
|
+ pManager.setPlayerVar(getUUID(in[0].get(sc)), in[1].getString(sc), in[2].get(sc));
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
sm.registerFunction("data.settimer", (sc, in) ->
|
|
|
{
|
|
|
- KajetansMod.playerbank.setPlayerTimer(getUUID(in[0].get(sc)), in[1].getString(sc), in[2].getInt(sc));
|
|
|
+ pManager.setPlayerTimer(getUUID(in[0].get(sc)), in[1].getString(sc), in[2].getInt(sc));
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
sm.registerFunction("data.get", (sc, in) ->
|
|
|
{
|
|
|
- return KajetansMod.playerbank.getPlayerVar(getUUID(in[0].get(sc)), in[1].getString(sc));
|
|
|
+ return pManager.getPlayerVar(getUUID(in[0].get(sc)), in[1].getString(sc));
|
|
|
});
|
|
|
sm.registerFunction("data.gettimer", (sc, in) ->
|
|
|
{
|
|
|
- return (double) KajetansMod.playerbank.getPlayerTimer(getUUID(in[0].get(sc)), in[1].getString(sc));
|
|
|
+ return (double) pManager.getPlayerTimer(getUUID(in[0].get(sc)), in[1].getString(sc));
|
|
|
});
|
|
|
sm.registerFunction("data.clear", (sc, in) ->
|
|
|
{
|
|
|
- KajetansMod.playerbank.clearPlayerData(getUUID(in[0].get(sc)));
|
|
|
+ pManager.clearPlayerData(getUUID(in[0].get(sc)));
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
|
|
@@ -2125,19 +2140,19 @@ public class MinecraftFunctions
|
|
|
Object o = in[0].get(sc);
|
|
|
if(in.length == 2)
|
|
|
{
|
|
|
- return KajetansMod.scripts.getDatabank().getVar(in[1].getString(sc), getUUID(o));
|
|
|
+ return scriptBank.getVar(in[1].getString(sc), getId(playerBank, o));
|
|
|
}
|
|
|
- return KajetansMod.scripts.getDatabank().getVar(in[1].getString(sc), getUUID(o), in[2].get(sc));
|
|
|
+ return scriptBank.getVar(in[1].getString(sc), getId(playerBank, o), in[2].get(sc));
|
|
|
});
|
|
|
sm.registerAlias("getglobalvar", "ggv");
|
|
|
sm.registerFunction("setglobalvar", (sc, in) ->
|
|
|
{
|
|
|
final String value = in[2].getString(sc);
|
|
|
final String var = in[1].getString(sc);
|
|
|
- final UUID uuid = getUUID(in[0].get(sc));
|
|
|
- KajetansMod.scheduler.getWorker().add(() ->
|
|
|
+ final int id = getId(playerBank, in[0].get(sc));
|
|
|
+ scheduler.getWorker().add(() ->
|
|
|
{
|
|
|
- KajetansMod.scripts.getDatabank().setVar(value, var, uuid);
|
|
|
+ scriptBank.setVar(value, var, id);
|
|
|
});
|
|
|
return Void.TYPE;
|
|
|
});
|
|
@@ -2145,24 +2160,24 @@ public class MinecraftFunctions
|
|
|
sm.registerFunction("delglobalvar", (sc, in) ->
|
|
|
{
|
|
|
final String var = in[1].getString(sc);
|
|
|
- final UUID uuid = getUUID(in[0].get(sc));
|
|
|
- KajetansMod.scheduler.getWorker().add(() ->
|
|
|
+ final int id = getId(playerBank, in[0].get(sc));
|
|
|
+ scheduler.getWorker().add(() ->
|
|
|
{
|
|
|
- KajetansMod.scripts.getDatabank().deleteVar(var, uuid);
|
|
|
+ scriptBank.deleteVar(var, id);
|
|
|
});
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
sm.registerAlias("delglobalvar", "dgv");
|
|
|
sm.registerFunction("msg", (sc, in) ->
|
|
|
{
|
|
|
- sendMessageToGroup(in[0].get(sc), sc, concat(sc, 1, "", in));
|
|
|
+ sendMessageToGroup(server, scripts, perms, in[0].get(sc), sc, concat(sc, 1, "", in));
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
sm.registerFunction("removeformat", (sc, in) -> SnuviUtils.connect(sc, in, 0).replaceAll("§.", ""));
|
|
|
sm.registerFunction("command", (sc, in) ->
|
|
|
{
|
|
|
final String s = SnuviUtils.connect(sc, in, 0);
|
|
|
- KajetansMod.scheduler.scheduleTask(() -> KajetansMod.commands.handleCommand(KajetansMod.server.getCommandSource(), s));
|
|
|
+ scheduler.scheduleTask(() -> Server.executeCommand(s));
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
}
|
|
@@ -2203,15 +2218,29 @@ public class MinecraftFunctions
|
|
|
return UUID.fromString(o.toString());
|
|
|
}
|
|
|
|
|
|
- public static void doForGroup(Object group, Script sc, Consumer<ICommandSource> c)
|
|
|
+ private static int getId(IPlayerBank bank, Object o)
|
|
|
+ {
|
|
|
+ if(o instanceof ModEntityPlayerMP)
|
|
|
+ {
|
|
|
+ return ((ModEntityPlayerMP) o).getId();
|
|
|
+ }
|
|
|
+ else if(o instanceof Double)
|
|
|
+ {
|
|
|
+ return ((Double) o).intValue();
|
|
|
+ }
|
|
|
+ UUID uuid = getUUID(o);
|
|
|
+ return bank.getId(uuid);
|
|
|
+ }
|
|
|
+
|
|
|
+ public static void doForGroup(MinecraftServer server, Scripts scripts, PermissionManager perms, Object group, Script sc, Consumer<ICommandSource> c)
|
|
|
{
|
|
|
if(group instanceof String)
|
|
|
{
|
|
|
switch(group.toString().toLowerCase())
|
|
|
{
|
|
|
case "all":
|
|
|
- PlayerList list = KajetansMod.server.getPlayerList();
|
|
|
- KajetansMod.scripts.getPlayerList(sc.getId()).forEach(uuid ->
|
|
|
+ PlayerList list = server.getPlayerList();
|
|
|
+ scripts.getPlayerList(sc.getId()).forEach(uuid ->
|
|
|
{
|
|
|
ServerPlayerEntity p = list.getPlayerByUUID(uuid);
|
|
|
if(p != null)
|
|
@@ -2221,16 +2250,22 @@ public class MinecraftFunctions
|
|
|
});
|
|
|
break;
|
|
|
case "online":
|
|
|
- KajetansMod.server.getPlayerList().getPlayers().forEach(p -> c.accept(p));
|
|
|
+ server.getPlayerList().getPlayers().forEach(p -> c.accept(p));
|
|
|
break;
|
|
|
case "dev":
|
|
|
- ChatChannel.getDevChannel().forEach((p) -> c.accept(p));
|
|
|
+ server.getPlayerList().getPlayers().forEach(p ->
|
|
|
+ {
|
|
|
+ if(perms.hasPermission(p, "script.error"))
|
|
|
+ {
|
|
|
+ c.accept(p);
|
|
|
+ }
|
|
|
+ });
|
|
|
break;
|
|
|
case "server":
|
|
|
- c.accept(KajetansMod.server);
|
|
|
+ c.accept(server);
|
|
|
break;
|
|
|
default:
|
|
|
- c.accept(Utils.getPlayerByName(group.toString()));
|
|
|
+ c.accept(Utils.getPlayerByName(server, group.toString()));
|
|
|
break;
|
|
|
}
|
|
|
return;
|
|
@@ -2238,9 +2273,9 @@ public class MinecraftFunctions
|
|
|
c.accept((PlayerEntity) group);
|
|
|
}
|
|
|
|
|
|
- private static void sendMessageToGroup(Object group, Script sc, ITextComponent text)
|
|
|
+ private static void sendMessageToGroup(MinecraftServer server, Scripts scripts, PermissionManager perms, Object group, Script sc, ITextComponent text)
|
|
|
{
|
|
|
- doForGroup(group, sc, p -> p.sendMessage(text));
|
|
|
+ doForGroup(server, scripts, perms, group, sc, p -> p.sendMessage(text));
|
|
|
}
|
|
|
|
|
|
private static ITextComponent concat(Script sc, int start, String pre, InputProvider... ob) throws Exception
|