|
@@ -1167,10 +1167,34 @@ public class MinecraftFunctions
|
|
|
CustomEventCaller.removeMoveData(in[0].getInt(sc));
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
+
|
|
|
+ // ---------------------------------------------------------------------
|
|
|
+ // damage stuff
|
|
|
+ // ---------------------------------------------------------------------
|
|
|
+ sm.registerFunction("damage.ismagic", (sc, in) ->
|
|
|
+ {
|
|
|
+ DamageSource ds = ((DamageSource) in[0].get(sc));
|
|
|
+ return ds.isMagicDamage() && !ds.isDamageAbsolute();
|
|
|
+ });
|
|
|
+ sm.registerFunction("damage.isphysical", (sc, in) ->
|
|
|
+ {
|
|
|
+ DamageSource ds = ((DamageSource) in[0].get(sc));
|
|
|
+ return (!ds.isMagicDamage() || ds.isDamageAbsolute()) && !ds.isUnblockable();
|
|
|
+ });
|
|
|
+ sm.registerFunction("damage.gettype", (sc, in) -> ((DamageSource) in[0].get(sc)).getDamageType());
|
|
|
|
|
|
// ---------------------------------------------------------------------
|
|
|
// entity commands
|
|
|
// ---------------------------------------------------------------------
|
|
|
+ sm.registerFunction("entity.getlook", (sc, in) ->
|
|
|
+ {
|
|
|
+ Object[] o = new Object[3];
|
|
|
+ Vec3d v = ((Entity) in[0].get(sc)).getLookVec();
|
|
|
+ o[0] = v.x;
|
|
|
+ o[1] = v.y;
|
|
|
+ o[2] = v.z;
|
|
|
+ return o;
|
|
|
+ });
|
|
|
sm.registerFunction("entity.getlocation", (sc, in) -> new Location((Entity) in[0].get(sc)));
|
|
|
sm.registerFunction("entity.damage", (sc, in) ->
|
|
|
{
|
|
@@ -1881,6 +1905,36 @@ public class MinecraftFunctions
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
|
|
|
+ // ---------------------------------------------------------------------
|
|
|
+ // status - library
|
|
|
+ // ---------------------------------------------------------------------
|
|
|
+ sm.registerFunction("status.add", (sc, in) ->
|
|
|
+ {
|
|
|
+ byte index = in[1].getByte(sc);
|
|
|
+ String message = SnuviUtils.connect(sc, in, 2);
|
|
|
+ doForGroup(in[0].get(sc), sc, p -> ModPacketHandler.addStatus((EntityPlayerMP) p, index, message));
|
|
|
+ return Void.TYPE;
|
|
|
+ });
|
|
|
+ sm.registerFunction("status.addtimed", (sc, in) ->
|
|
|
+ {
|
|
|
+ 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((EntityPlayerMP) 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((EntityPlayerMP) p, index));
|
|
|
+ return Void.TYPE;
|
|
|
+ });
|
|
|
+ sm.registerFunction("status.reset", (sc, in) ->
|
|
|
+ {
|
|
|
+ doForGroup(in[0].get(sc), sc, p -> ModPacketHandler.clearStatus((EntityPlayerMP) p));
|
|
|
+ return Void.TYPE;
|
|
|
+ });
|
|
|
+
|
|
|
// ---------------------------------------------------------------------
|
|
|
// ItemStack-Display-library
|
|
|
// ---------------------------------------------------------------------
|
|
@@ -2178,6 +2232,11 @@ public class MinecraftFunctions
|
|
|
// ---------------------------------------------------------------------
|
|
|
// ban library
|
|
|
// ---------------------------------------------------------------------
|
|
|
+ sm.registerFunction("ban.kick", (sc, in) ->
|
|
|
+ {
|
|
|
+ ((EntityPlayerMP) in[0].get(sc)).connection.disconnect(new TextComponentString(in[1].getString(sc)));
|
|
|
+ return Void.TYPE;
|
|
|
+ });
|
|
|
sm.registerFunction("ban.add", (sc, in) ->
|
|
|
{
|
|
|
GameProfile gp = KajetansMod.server.getPlayerProfileCache().getProfileByUUID(getUUID(in[0].get(sc)));
|
|
@@ -2204,6 +2263,33 @@ public class MinecraftFunctions
|
|
|
return Void.TYPE;
|
|
|
});
|
|
|
|
|
|
+ // ---------------------------------------------------------------------
|
|
|
+ // player data
|
|
|
+ // ---------------------------------------------------------------------
|
|
|
+ sm.registerFunction("data.set", (sc, in) ->
|
|
|
+ {
|
|
|
+ KajetansMod.playerbank.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));
|
|
|
+ return Void.TYPE;
|
|
|
+ });
|
|
|
+ sm.registerFunction("data.get", (sc, in) ->
|
|
|
+ {
|
|
|
+ return KajetansMod.playerbank.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));
|
|
|
+ });
|
|
|
+ sm.registerFunction("data.clear", (sc, in) ->
|
|
|
+ {
|
|
|
+ KajetansMod.playerbank.clearPlayerData(getUUID(in[0].get(sc)));
|
|
|
+ return Void.TYPE;
|
|
|
+ });
|
|
|
+
|
|
|
// ---------------------------------------------------------------------
|
|
|
// Ohne library
|
|
|
// ---------------------------------------------------------------------
|