|
@@ -182,7 +182,7 @@ public class MinecraftFunctions implements ISnuviLogger
|
|
|
parser.registerConsumer("player.settag", (args, qd) ->
|
|
|
setTag(args));
|
|
|
parser.registerFunction("player.gettag", (args, qd) ->
|
|
|
- getTag(args));
|
|
|
+ (double) getTag(args));
|
|
|
parser.registerConsumer("player.dropinventory", (args, qd) ->
|
|
|
dropInventory(args));
|
|
|
parser.registerFunction("player.gettarget", (args, qd) ->
|
|
@@ -369,13 +369,13 @@ public class MinecraftFunctions implements ISnuviLogger
|
|
|
// Job-Bibliothek
|
|
|
// -------------------------------------------------------------
|
|
|
parser.registerFunction("job.getlevel", (args, qd) ->
|
|
|
- KajetansMod.jobs.getLevel((EntityPlayer) args[0], ScriptUtils.getByte(args[1])));
|
|
|
+ (double) KajetansMod.jobs.getLevel((EntityPlayer) args[0], ScriptUtils.getByte(args[1])));
|
|
|
parser.registerConsumer("job.addlevel", (args, qd) ->
|
|
|
KajetansMod.jobs.addLevel((EntityPlayer) args[0], ScriptUtils.getByte(args[1]), ScriptUtils.getByte(args[2])));
|
|
|
parser.registerConsumer("job.setlevel", (args, qd) ->
|
|
|
KajetansMod.jobs.setLevel((EntityPlayer) args[0], ScriptUtils.getByte(args[1]), ScriptUtils.getByte(args[2])));
|
|
|
parser.registerFunction("job.getxp", (args, qd) ->
|
|
|
- KajetansMod.jobs.getXP((EntityPlayer) args[0], ScriptUtils.getByte(args[1])));
|
|
|
+ (double) KajetansMod.jobs.getXP((EntityPlayer) args[0], ScriptUtils.getByte(args[1])));
|
|
|
parser.registerConsumer("job.addxp", (args, qd) ->
|
|
|
KajetansMod.jobs.addXP((EntityPlayer) args[0], ScriptUtils.getByte(args[1]), ScriptUtils.getByte(args[2])));
|
|
|
parser.registerConsumer("job.setxp", (args, qd) ->
|
|
@@ -389,17 +389,17 @@ public class MinecraftFunctions implements ISnuviLogger
|
|
|
parser.registerConsumer("job.registerskill", (args, qd) ->
|
|
|
KajetansMod.jobs.registerSkill(ScriptUtils.getByte(args[0]), KajetansMod.skills.getSkill(ScriptUtils.getInt(args[1])), ScriptUtils.getByte(args[2]), ScriptUtils.getByte(args[3])));
|
|
|
parser.registerFunction("job.getamount", (args, qd) ->
|
|
|
- KajetansMod.jobs.getNumberOfJobs());
|
|
|
+ (double) KajetansMod.jobs.getNumberOfJobs());
|
|
|
parser.registerFunction("job.getname", (args, qd) ->
|
|
|
KajetansMod.jobs.getJobName(ScriptUtils.getByte(args[0])));
|
|
|
parser.registerFunction("job.geteffectlevel", (args, qd) ->
|
|
|
- EffectUtils.getEffectLevel((EntityPlayer) args[0], me.km.effects.Effect.valueOf(args[1].toString())));
|
|
|
+ (double) EffectUtils.getEffectLevel((EntityPlayer) args[0], me.km.effects.Effect.valueOf(args[1].toString())));
|
|
|
parser.registerFunction("job.hasjob", (args, qd) ->
|
|
|
KajetansMod.jobs.hasJob((EntityPlayer) args[0], ScriptUtils.getByte(args[1])));
|
|
|
parser.registerFunction("job.hasrecipe", (args, qd) ->
|
|
|
KajetansMod.jobs.hasRecipe((EntityPlayer) args[0], ScriptHelper.getItem(args[1].toString())));
|
|
|
parser.registerConsumer("job.getjobs", (args, qd) ->
|
|
|
- qd.setVar(args[0].toString(), KajetansMod.jobs.getJobs((EntityPlayer) args[1])));
|
|
|
+ qd.setVar(args[0].toString(), KajetansMod.jobs.getJobs((EntityPlayer) args[1]).stream().map(b -> (double) b).collect(Collectors.toList())));
|
|
|
parser.registerFunction("job.isregmaterial", (args, qd) ->
|
|
|
KajetansMod.jobs.isPreferedMaterial((EntityPlayer) args[0],Block.getBlockFromName(args[1].toString())));
|
|
|
parser.registerConsumer("job.setjob", (args, qd) ->
|
|
@@ -564,7 +564,9 @@ public class MinecraftFunctions implements ISnuviLogger
|
|
|
KajetansMod.plots.getDataBank(ProtectionBank.class).canBuild(((Location) args[0]).getWorld(), ((Location) args[0]).getBlockPos(), (EntityPlayer) args[1]));
|
|
|
parser.registerFunction("plot.getname", (args, qd) ->
|
|
|
KajetansMod.plots.getDataBank(ProtectionBank.class).getFirstRegionName(((Location) args[0]).getWorld(), ((Location) args[0]).getBlockPos()));
|
|
|
-
|
|
|
+ parser.registerFunction("plot.doesintersect", (args, qd) ->
|
|
|
+ doesIntersect(args));
|
|
|
+
|
|
|
// -------------------------------------------------------------
|
|
|
// Quest-Bibliothek
|
|
|
// -------------------------------------------------------------
|
|
@@ -1094,7 +1096,7 @@ public class MinecraftFunctions implements ISnuviLogger
|
|
|
private static boolean isSolid(Object[] args)
|
|
|
{
|
|
|
IBlockState state = getBlockState((Location) args[0]);
|
|
|
- return !state.isTranslucent() && state.isFullBlock() && state.isOpaqueCube();
|
|
|
+ return state.isFullBlock() && state.isOpaqueCube();
|
|
|
}
|
|
|
|
|
|
private static void spawnItemFrame(Object[] args) throws IllegalStringLocationException, IllegalItemStackStringException
|
|
@@ -1178,14 +1180,28 @@ public class MinecraftFunctions implements ISnuviLogger
|
|
|
((EntityLivingBase) args[0]).attackEntityFrom(DamageSource.GENERIC, ScriptUtils.getFloat(args[1]));
|
|
|
}
|
|
|
|
|
|
+ private static boolean doesIntersect(Object[] args)
|
|
|
+ {
|
|
|
+ Location l1 = (Location) args[0];
|
|
|
+ Location l2 = (Location) args[1];
|
|
|
+ int x1 = (int) Math.min(l1.getX(), l2.getX());
|
|
|
+ int x2 = (int) Math.max(l1.getX(), l2.getX());
|
|
|
+ int y1 = (int) Math.min(l1.getY(), l2.getY());
|
|
|
+ int y2 = (int) Math.max(l1.getY(), l2.getY());
|
|
|
+ int z1 = (int) Math.min(l1.getZ(), l2.getZ());
|
|
|
+ int z2 = (int) Math.max(l1.getZ(), l2.getZ());
|
|
|
+ return KajetansMod.plots.getDataBank(ProtectionBank.class)
|
|
|
+ .isPlotOverlapping(x1, y1, z1, x2, y2, z2, l1.getWorld());
|
|
|
+ }
|
|
|
+
|
|
|
private static boolean isBetween(Object[] args)
|
|
|
{
|
|
|
- Vec3d l1 = ((Location) args[0]).getPos();
|
|
|
- Vec3d l2 = ((Location) args[1]).getPos();
|
|
|
- Vec3d l3 = ((Location) args[2]).getPos();
|
|
|
- return l1.x >= Math.min(l2.x, l3.x) && l1.x <= Math.max(l2.x, l3.x) &&
|
|
|
- l1.y >= Math.min(l2.y, l3.y) && l1.y <= Math.max(l2.y, l3.y) &&
|
|
|
- l1.z >= Math.min(l2.z, l3.z) && l1.z <= Math.max(l2.z, l3.z);
|
|
|
+ Location l1 = ((Location) args[0]);
|
|
|
+ Location l2 = ((Location) args[1]);
|
|
|
+ Location l3 = ((Location) args[2]);
|
|
|
+ return l1.getX() >= Math.min(l2.getX(), l3.getX()) && l1.getX() <= Math.max(l2.getX(), l3.getX()) &&
|
|
|
+ l1.getY() >= Math.min(l2.getY(), l3.getY()) && l1.getY() <= Math.max(l2.getY(), l3.getY()) &&
|
|
|
+ l1.getZ() >= Math.min(l2.getZ(), l3.getZ()) && l1.getZ() <= Math.max(l2.getZ(), l3.getZ());
|
|
|
}
|
|
|
|
|
|
private static void addPlot(Object[] args)
|