|
@@ -7,11 +7,10 @@ import java.util.List;
|
|
import java.util.UUID;
|
|
import java.util.UUID;
|
|
import java.util.function.Consumer;
|
|
import java.util.function.Consumer;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
-import me.hammerle.code.Code;
|
|
|
|
-import me.hammerle.code.Script;
|
|
|
|
-import me.hammerle.code.ScriptUtils;
|
|
|
|
-import me.hammerle.code.SnuviParser;
|
|
|
|
-import me.hammerle.math.Fraction;
|
|
|
|
|
|
+import me.hammerle.snuviscript.code.Compiler;
|
|
|
|
+import me.hammerle.snuviscript.code.Script;
|
|
|
|
+import me.hammerle.snuviscript.code.SnuviParser;
|
|
|
|
+import me.hammerle.snuviscript.math.Fraction;
|
|
import me.km.KajetansMod;
|
|
import me.km.KajetansMod;
|
|
import me.km.api.Location;
|
|
import me.km.api.Location;
|
|
import me.km.api.ModuleListener;
|
|
import me.km.api.ModuleListener;
|
|
@@ -24,7 +23,6 @@ import me.km.entities.EntityItemProjectile;
|
|
import me.km.events.PlayerHurtEvent;
|
|
import me.km.events.PlayerHurtEvent;
|
|
import me.km.events.PlayerJoinMessageEvent;
|
|
import me.km.events.PlayerJoinMessageEvent;
|
|
import me.km.events.PlayerLeaveMessageEvent;
|
|
import me.km.events.PlayerLeaveMessageEvent;
|
|
-import me.km.events.PlayerMoveEvent;
|
|
|
|
import me.km.events.PlayerRespawnAtEvent;
|
|
import me.km.events.PlayerRespawnAtEvent;
|
|
import net.minecraft.entity.Entity;
|
|
import net.minecraft.entity.Entity;
|
|
import net.minecraft.entity.EntityLivingBase;
|
|
import net.minecraft.entity.EntityLivingBase;
|
|
@@ -50,6 +48,7 @@ import net.minecraftforge.event.entity.player.ItemFishedEvent;
|
|
import net.minecraftforge.event.entity.player.PlayerDropsEvent;
|
|
import net.minecraftforge.event.entity.player.PlayerDropsEvent;
|
|
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
|
|
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
|
|
import net.minecraftforge.event.world.BlockEvent;
|
|
import net.minecraftforge.event.world.BlockEvent;
|
|
|
|
+import net.minecraftforge.fml.common.eventhandler.Event;
|
|
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
|
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
|
import net.minecraftforge.fml.common.gameevent.PlayerEvent;
|
|
import net.minecraftforge.fml.common.gameevent.PlayerEvent;
|
|
|
|
|
|
@@ -66,7 +65,7 @@ public class ScriptEvents extends ModuleListener
|
|
}
|
|
}
|
|
|
|
|
|
// -------------------------------------------------------------------------
|
|
// -------------------------------------------------------------------------
|
|
- // Basics
|
|
|
|
|
|
+ // basics
|
|
// -------------------------------------------------------------------------
|
|
// -------------------------------------------------------------------------
|
|
|
|
|
|
private void handleEvent(EntityPlayer p, String event, Consumer<Script> before, Consumer<Script> after)
|
|
private void handleEvent(EntityPlayer p, String event, Consumer<Script> before, Consumer<Script> after)
|
|
@@ -98,45 +97,24 @@ public class ScriptEvents extends ModuleListener
|
|
{
|
|
{
|
|
handleEvent(p, event, before, null);
|
|
handleEvent(p, event, before, null);
|
|
}
|
|
}
|
|
-
|
|
|
|
- // -------------------------------------------------------------------------
|
|
|
|
- // Questevents
|
|
|
|
- // -------------------------------------------------------------------------
|
|
|
|
|
|
|
|
- @SubscribeEvent
|
|
|
|
- public void onOtherScriptJoin(PlayerInteractEvent.EntityInteract e)
|
|
|
|
- {
|
|
|
|
- if(e.getHand() == EnumHand.OFF_HAND || !(e.getTarget() instanceof EntityPlayer))
|
|
|
|
- {
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- EntityPlayer p = e.getEntityPlayer();
|
|
|
|
- EntityPlayer affectedPlayer = (EntityPlayer) e.getTarget();
|
|
|
|
- if(KajetansMod.scripts.hasScript(p) && !KajetansMod.scripts.hasScript(affectedPlayer))
|
|
|
|
|
|
+ private void simpleCancel(Script sc, Event e, String name)
|
|
|
|
+ {
|
|
|
|
+ try
|
|
{
|
|
{
|
|
- if(questJoin.get(affectedPlayer.getUniqueID()) != null)
|
|
|
|
- {
|
|
|
|
- if(questJoin.get(affectedPlayer.getUniqueID()).equals(p.getUniqueID()))
|
|
|
|
- {
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- questJoin.put(affectedPlayer.getUniqueID(), p.getUniqueID());
|
|
|
|
- this.getModule().send(affectedPlayer, p.getName() + " fragt dich, ob du seiner Quest beitreten willst.");
|
|
|
|
- this.getModule().send(p, affectedPlayer.getName() + " wurde eine Anfrage gesendet.");
|
|
|
|
- return;
|
|
|
|
|
|
+ e.setCanceled(sc.getVar("cancel").getBoolean(sc));
|
|
}
|
|
}
|
|
- if(!KajetansMod.scripts.hasScript(p) && questJoin.get(p.getUniqueID()) != null && KajetansMod.scripts.hasScript(affectedPlayer))
|
|
|
|
|
|
+ catch(Exception ex)
|
|
{
|
|
{
|
|
- if(questJoin.get(p.getUniqueID()).equals(affectedPlayer.getUniqueID()))
|
|
|
|
- {
|
|
|
|
- questJoin.remove(p.getUniqueID());
|
|
|
|
- KajetansMod.scripts.addPlayerToPlayer(p, affectedPlayer);
|
|
|
|
- }
|
|
|
|
|
|
+ KajetansMod.scripts.logger.print("invalid var in '" + name + "' event", ex, null, sc.getName(), sc, sc.getActiveRealLine());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ // -------------------------------------------------------------------------
|
|
|
|
+ // events
|
|
|
|
+ // -------------------------------------------------------------------------
|
|
|
|
|
|
- @SubscribeEvent
|
|
|
|
|
|
+ /*@SubscribeEvent
|
|
public void onPlayerMove(PlayerMoveEvent e)
|
|
public void onPlayerMove(PlayerMoveEvent e)
|
|
{
|
|
{
|
|
EntityPlayer p = e.getEntityPlayer();
|
|
EntityPlayer p = e.getEntityPlayer();
|
|
@@ -153,29 +131,29 @@ public class ScriptEvents extends ModuleListener
|
|
ScriptVars.setPlayerVars(sc, p);
|
|
ScriptVars.setPlayerVars(sc, p);
|
|
}, null, data.removeLocation(l));
|
|
}, null, data.removeLocation(l));
|
|
}
|
|
}
|
|
- }
|
|
|
|
|
|
+ } */
|
|
|
|
|
|
- public boolean onInventoryClick(Script qd, SnuviInventory inv, int slot, ClickType click, EntityPlayer p)
|
|
|
|
|
|
+ public boolean onInventoryClick(Script script, SnuviInventory inv, int slot, ClickType click, EntityPlayer p)
|
|
{
|
|
{
|
|
- parser.callEvent("inv_click", qd, sc ->
|
|
|
|
- {
|
|
|
|
- ScriptVars.setPlayerVars(qd, p);
|
|
|
|
- qd.setEventVar("inv_id", new Fraction(inv.getId()));
|
|
|
|
- qd.setEventVar("inv_name", inv.getName());
|
|
|
|
- qd.setEventVar("inv_slot", new Fraction(slot));
|
|
|
|
- ScriptVars.setItemVars(qd, inv.getStackInSlot(slot));
|
|
|
|
- qd.setVar("cancel", false);
|
|
|
|
|
|
+ parser.callEvent("inv_click", script, sc ->
|
|
|
|
+ {
|
|
|
|
+ ScriptVars.setPlayerVars(sc, p);
|
|
|
|
+ sc.setVar("inv_id", new Fraction(inv.getId()));
|
|
|
|
+ sc.setVar("inv_name", inv.getName());
|
|
|
|
+ sc.setVar("inv_slot", new Fraction(slot));
|
|
|
|
+ ScriptVars.setItemVars(sc, inv.getStackInSlot(slot));
|
|
|
|
+ sc.setVar("cancel", false);
|
|
}, null);
|
|
}, null);
|
|
- return qd.getBooleanVar("cancel");
|
|
|
|
|
|
+ return script.getVar("cancel").getBoolean(script);
|
|
}
|
|
}
|
|
|
|
|
|
- public void onInventoryClose(Script qd, SnuviInventory inv, EntityPlayer p)
|
|
|
|
|
|
+ public void onInventoryClose(Script script, SnuviInventory inv, EntityPlayer p)
|
|
{
|
|
{
|
|
- parser.callEvent("inv_close", qd, sc ->
|
|
|
|
|
|
+ parser.callEvent("inv_close", script, sc ->
|
|
{
|
|
{
|
|
- ScriptVars.setPlayerVars(qd, p);
|
|
|
|
- qd.setEventVar("inv_id", new Fraction(inv.getId()));
|
|
|
|
- qd.setEventVar("inv_name", inv.getName());
|
|
|
|
|
|
+ ScriptVars.setPlayerVars(sc, p);
|
|
|
|
+ sc.setVar("inv_id", new Fraction(inv.getId()));
|
|
|
|
+ sc.setVar("inv_name", inv.getName());
|
|
}, null);
|
|
}, null);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -187,22 +165,22 @@ public class ScriptEvents extends ModuleListener
|
|
@SubscribeEvent
|
|
@SubscribeEvent
|
|
public void onPlayerRespawn(PlayerRespawnAtEvent e)
|
|
public void onPlayerRespawn(PlayerRespawnAtEvent e)
|
|
{
|
|
{
|
|
- handleEvent(e.getEntityPlayer(), "player_respawn", (qd) ->
|
|
|
|
|
|
+ handleEvent(e.getEntityPlayer(), "player_respawn", (sc) ->
|
|
{
|
|
{
|
|
- qd.setEventVar("keep_inventory", e.isInventoryKeepingForced());
|
|
|
|
- qd.setEventVar("respawn_loc", new Location(e.getWorld(), e.getRespawnLoc()));
|
|
|
|
- }, (qd) ->
|
|
|
|
|
|
+ sc.setVar("keep_inventory", e.isInventoryKeepingForced());
|
|
|
|
+ sc.setVar("respawn_loc", new Location(e.getWorld(), e.getRespawnLoc()));
|
|
|
|
+ }, (sc) ->
|
|
{
|
|
{
|
|
try
|
|
try
|
|
{
|
|
{
|
|
- e.setForcedInventoryKeeping(qd.getBooleanVar("keep_inventory"));
|
|
|
|
- Location l = (Location) qd.getVar("respawn_loc");
|
|
|
|
|
|
+ e.setForcedInventoryKeeping(sc.getVar("keep_inventory").getBoolean(sc));
|
|
|
|
+ Location l = (Location) sc.getVar("respawn_loc").get(sc);
|
|
e.setRespawnLoc(l.getPos());
|
|
e.setRespawnLoc(l.getPos());
|
|
e.setWorld((WorldServer) l.getWorld());
|
|
e.setWorld((WorldServer) l.getWorld());
|
|
}
|
|
}
|
|
catch(ClassCastException | NullPointerException ex)
|
|
catch(ClassCastException | NullPointerException ex)
|
|
{
|
|
{
|
|
- KajetansMod.scripts.logger.printException(ex, "player_respawn", qd, qd.getActiveRealCodeLine());
|
|
|
|
|
|
+ KajetansMod.scripts.logger.print("invalid var in 'player_respawn' event", ex, null, sc.getName(), sc, sc.getActiveRealLine());
|
|
}
|
|
}
|
|
});
|
|
});
|
|
}
|
|
}
|
|
@@ -211,40 +189,40 @@ public class ScriptEvents extends ModuleListener
|
|
public void onPlayerDamage(PlayerHurtEvent e)
|
|
public void onPlayerDamage(PlayerHurtEvent e)
|
|
{
|
|
{
|
|
EntityPlayer p = e.getEntityPlayer();
|
|
EntityPlayer p = e.getEntityPlayer();
|
|
- handleEvent(p, "player_hurt", (qd) ->
|
|
|
|
|
|
+ handleEvent(p, "player_hurt", (sc) ->
|
|
{
|
|
{
|
|
if(p.getHealth() <= e.getAmount())
|
|
if(p.getHealth() <= e.getAmount())
|
|
{
|
|
{
|
|
- qd.setEventVar("player_killed", true);
|
|
|
|
|
|
+ sc.setVar("player_killed", true);
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- qd.setEventVar("player_killed", false);
|
|
|
|
|
|
+ sc.setVar("player_killed", false);
|
|
}
|
|
}
|
|
- qd.setEventVar("player_damage", Fraction.fromDouble(e.getAmount()));
|
|
|
|
- qd.setEventVar("player_damage_cause", e.getSource().getDamageType());
|
|
|
|
|
|
+ sc.setVar("player_damage", Fraction.fromDouble(e.getAmount()));
|
|
|
|
+ sc.setVar("player_damage_cause", e.getSource().getDamageType());
|
|
EntityPlayer ent = Utils.getDamager(e.getSource());
|
|
EntityPlayer ent = Utils.getDamager(e.getSource());
|
|
if(ent != null)
|
|
if(ent != null)
|
|
{
|
|
{
|
|
- qd.setEventVar("player_involved", true);
|
|
|
|
- ScriptVars.setSecPlayer(qd, ent);
|
|
|
|
|
|
+ sc.setVar("player_involved", true);
|
|
|
|
+ ScriptVars.setSecPlayer(sc, ent);
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- qd.setEventVar("player_involved", false);
|
|
|
|
|
|
+ sc.setVar("player_involved", false);
|
|
}
|
|
}
|
|
- qd.setVar("cancel", e.isCanceled());
|
|
|
|
- }, (qd) ->
|
|
|
|
|
|
+ sc.setVar("cancel", e.isCanceled());
|
|
|
|
+ }, (sc) ->
|
|
{
|
|
{
|
|
try
|
|
try
|
|
{
|
|
{
|
|
- e.setAmount(ScriptUtils.getFloat(qd.getVar("player_damage")));
|
|
|
|
|
|
+ e.setAmount(sc.getVar("player_damage").getFraction(sc).floatValue());
|
|
|
|
+ e.setCanceled(sc.getVar("cancel").getBoolean(sc));
|
|
}
|
|
}
|
|
catch(Exception ex)
|
|
catch(Exception ex)
|
|
{
|
|
{
|
|
- KajetansMod.scripts.logger.printException(ex, "player_hurt", qd, qd.getActiveRealCodeLine());
|
|
|
|
|
|
+ KajetansMod.scripts.logger.print("invalid var in 'player_hurt' event", ex, null, sc.getName(), sc, sc.getActiveRealLine());
|
|
}
|
|
}
|
|
- e.setCanceled(qd.getBooleanVar("cancel"));
|
|
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
@@ -253,21 +231,21 @@ public class ScriptEvents extends ModuleListener
|
|
{
|
|
{
|
|
if(e.getEntityLiving() instanceof EntityPlayer)
|
|
if(e.getEntityLiving() instanceof EntityPlayer)
|
|
{
|
|
{
|
|
- handleEvent((EntityPlayer) e.getEntityLiving(), "player_heal", (qd) ->
|
|
|
|
|
|
+ handleEvent((EntityPlayer) e.getEntityLiving(), "player_heal", (sc) ->
|
|
{
|
|
{
|
|
- qd.setEventVar("heal", Fraction.fromDouble(e.getAmount()));
|
|
|
|
- qd.setVar("cancel", e.isCanceled());
|
|
|
|
- }, (qd) ->
|
|
|
|
|
|
+ sc.setVar("heal", Fraction.fromDouble(e.getAmount()));
|
|
|
|
+ sc.setVar("cancel", e.isCanceled());
|
|
|
|
+ }, (sc) ->
|
|
{
|
|
{
|
|
try
|
|
try
|
|
{
|
|
{
|
|
- e.setAmount(ScriptUtils.getFloat(qd.getVar("heal")));
|
|
|
|
|
|
+ e.setAmount(sc.getVar("heal").getFraction(sc).floatValue());
|
|
|
|
+ e.setCanceled(sc.getVar("cancel").getBoolean(sc));
|
|
}
|
|
}
|
|
catch(Exception ex)
|
|
catch(Exception ex)
|
|
{
|
|
{
|
|
- KajetansMod.scripts.logger.printException(ex, "player_heal", qd, qd.getActiveRealCodeLine());
|
|
|
|
|
|
+ KajetansMod.scripts.logger.print("invalid var in 'player_heal' event", ex, null, sc.getName(), sc, sc.getActiveRealLine());
|
|
}
|
|
}
|
|
- e.setCanceled(qd.getBooleanVar("cancel"));
|
|
|
|
});
|
|
});
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -277,44 +255,51 @@ public class ScriptEvents extends ModuleListener
|
|
{
|
|
{
|
|
if(!(e.getEntityLiving() instanceof EntityPlayer))
|
|
if(!(e.getEntityLiving() instanceof EntityPlayer))
|
|
{
|
|
{
|
|
- handleEvent(null, "entity_death", (qd) ->
|
|
|
|
|
|
+ handleEvent(null, "entity_death", (sc) ->
|
|
{
|
|
{
|
|
EntityLivingBase ent = e.getEntityLiving();
|
|
EntityLivingBase ent = e.getEntityLiving();
|
|
- ScriptVars.setEntityVars(qd, ent);
|
|
|
|
|
|
+ ScriptVars.setEntityVars(sc, ent);
|
|
EntityPlayer p = Utils.getDamager(e.getSource());
|
|
EntityPlayer p = Utils.getDamager(e.getSource());
|
|
if(p != null)
|
|
if(p != null)
|
|
{
|
|
{
|
|
- qd.setEventVar("player_involved", true);
|
|
|
|
- ScriptVars.setPlayerVars(qd, p);
|
|
|
|
|
|
+ sc.setVar("player_involved", true);
|
|
|
|
+ ScriptVars.setPlayerVars(sc, p);
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- qd.setEventVar("player_involved", false);
|
|
|
|
|
|
+ sc.setVar("player_involved", false);
|
|
}
|
|
}
|
|
- qd.setVar("cancel", e.isCanceled());
|
|
|
|
- }, (qd) ->
|
|
|
|
|
|
+ sc.setVar("cancel", e.isCanceled());
|
|
|
|
+ }, (sc) ->
|
|
{
|
|
{
|
|
- e.setCanceled(qd.getBooleanVar("cancel"));
|
|
|
|
|
|
+ simpleCancel(sc, e, "entity_death");
|
|
});
|
|
});
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
EntityPlayer p = (EntityPlayer) e.getEntity();
|
|
EntityPlayer p = (EntityPlayer) e.getEntity();
|
|
- handleEvent(p, "player_death", (qd) ->
|
|
|
|
|
|
+ handleEvent(p, "player_death", (sc) ->
|
|
{
|
|
{
|
|
- qd.setEventVar("clear", false);
|
|
|
|
|
|
+ sc.setVar("clear", false);
|
|
EntityPlayer ent = Utils.getDamager(e.getSource());
|
|
EntityPlayer ent = Utils.getDamager(e.getSource());
|
|
if(ent != null)
|
|
if(ent != null)
|
|
{
|
|
{
|
|
- ScriptVars.setSecPlayer(qd, ent);
|
|
|
|
|
|
+ ScriptVars.setSecPlayer(sc, ent);
|
|
}
|
|
}
|
|
- qd.setVar("cancel", e.isCanceled());
|
|
|
|
- }, (qd) ->
|
|
|
|
|
|
+ sc.setVar("cancel", e.isCanceled());
|
|
|
|
+ }, (sc) ->
|
|
{
|
|
{
|
|
- if(qd.getBooleanVar("clear"))
|
|
|
|
|
|
+ try
|
|
{
|
|
{
|
|
- p.inventory.clear();
|
|
|
|
- }
|
|
|
|
- e.setCanceled(qd.getBooleanVar("cancel"));
|
|
|
|
|
|
+ if(sc.getVar("clear").getBoolean(sc))
|
|
|
|
+ {
|
|
|
|
+ p.inventory.clear();
|
|
|
|
+ }
|
|
|
|
+ e.setCanceled(sc.getVar("cancel").getBoolean(sc));
|
|
|
|
+ }
|
|
|
|
+ catch(Exception ex)
|
|
|
|
+ {
|
|
|
|
+ KajetansMod.scripts.logger.print("invalid var in 'player_death' event", ex, null, sc.getName(), sc, sc.getActiveRealLine());
|
|
|
|
+ }
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
@@ -326,24 +311,24 @@ public class ScriptEvents extends ModuleListener
|
|
{
|
|
{
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- handleEvent(p, "entity_hurt", (qd) ->
|
|
|
|
|
|
+ handleEvent(p, "entity_hurt", (sc) ->
|
|
{
|
|
{
|
|
- qd.setEventVar("entity_killed", e.getEntityLiving().getHealth() <= e.getAmount());
|
|
|
|
- ScriptVars.setEntityVars(qd, e.getEntity());
|
|
|
|
- qd.setEventVar("entity_damage", Fraction.fromDouble(e.getAmount()));
|
|
|
|
- qd.setEventVar("entity_damage_cause", e.getSource().getDamageType());
|
|
|
|
- qd.setVar("cancel", e.isCanceled());
|
|
|
|
- }, (qd) ->
|
|
|
|
|
|
+ sc.setVar("entity_killed", e.getEntityLiving().getHealth() <= e.getAmount());
|
|
|
|
+ ScriptVars.setEntityVars(sc, e.getEntity());
|
|
|
|
+ sc.setVar("entity_damage", Fraction.fromDouble(e.getAmount()));
|
|
|
|
+ sc.setVar("entity_damage_cause", e.getSource().getDamageType());
|
|
|
|
+ sc.setVar("cancel", e.isCanceled());
|
|
|
|
+ }, (sc) ->
|
|
{
|
|
{
|
|
try
|
|
try
|
|
{
|
|
{
|
|
- e.setAmount(ScriptUtils.getFloat(qd.getVar("entity_damage")));
|
|
|
|
|
|
+ e.setAmount(sc.getVar("entity_damage").getFraction(sc).floatValue());
|
|
|
|
+ e.setCanceled(sc.getVar("cancel").getBoolean(sc));
|
|
}
|
|
}
|
|
catch(Exception ex)
|
|
catch(Exception ex)
|
|
{
|
|
{
|
|
- KajetansMod.scripts.logger.printException(ex, "entity_hurt", qd, qd.getActiveRealCodeLine());
|
|
|
|
|
|
+ KajetansMod.scripts.logger.print("invalid var in 'entity_hurt' event", ex, null, sc.getName(), sc, sc.getActiveRealLine());
|
|
}
|
|
}
|
|
- e.setCanceled(qd.getBooleanVar("cancel"));
|
|
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
@@ -352,24 +337,24 @@ public class ScriptEvents extends ModuleListener
|
|
{
|
|
{
|
|
try
|
|
try
|
|
{
|
|
{
|
|
- handleEvent(null, "entity_drop", (qd) ->
|
|
|
|
|
|
+ handleEvent(null, "entity_drop", (sc) ->
|
|
{
|
|
{
|
|
- qd.setEventVar("drops", e.getDrops());
|
|
|
|
- ScriptVars.setEntityVars(qd, e.getEntityLiving());
|
|
|
|
|
|
+ sc.setVar("drops", e.getDrops());
|
|
|
|
+ ScriptVars.setEntityVars(sc, e.getEntityLiving());
|
|
EntityPlayer p = Utils.getDamager(e.getSource());
|
|
EntityPlayer p = Utils.getDamager(e.getSource());
|
|
if(p != null)
|
|
if(p != null)
|
|
{
|
|
{
|
|
- qd.setEventVar("player_involved", true);
|
|
|
|
- ScriptVars.setPlayerVars(qd, p);
|
|
|
|
|
|
+ sc.setVar("player_involved", true);
|
|
|
|
+ ScriptVars.setPlayerVars(sc, p);
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- qd.setEventVar("player_involved", false);
|
|
|
|
|
|
+ sc.setVar("player_involved", false);
|
|
}
|
|
}
|
|
- qd.setVar("cancel", e.isCanceled());
|
|
|
|
- }, (qd) ->
|
|
|
|
|
|
+ sc.setVar("cancel", e.isCanceled());
|
|
|
|
+ }, (sc) ->
|
|
{
|
|
{
|
|
- e.setCanceled(qd.getBooleanVar("cancel"));
|
|
|
|
|
|
+ simpleCancel(sc, e, "entity_drop");
|
|
});
|
|
});
|
|
}
|
|
}
|
|
catch(NullPointerException ex)
|
|
catch(NullPointerException ex)
|
|
@@ -381,12 +366,12 @@ public class ScriptEvents extends ModuleListener
|
|
@SubscribeEvent
|
|
@SubscribeEvent
|
|
public void onPlayerDrop(PlayerDropsEvent e)
|
|
public void onPlayerDrop(PlayerDropsEvent e)
|
|
{
|
|
{
|
|
- handleEvent(e.getEntityPlayer(), "player_drop", (qd) ->
|
|
|
|
|
|
+ handleEvent(e.getEntityPlayer(), "player_drop", (sc) ->
|
|
{
|
|
{
|
|
- qd.setVar("cancel", e.isCanceled());
|
|
|
|
- }, (qd) ->
|
|
|
|
|
|
+ sc.setVar("cancel", e.isCanceled());
|
|
|
|
+ }, (sc) ->
|
|
{
|
|
{
|
|
- e.setCanceled(qd.getBooleanVar("cancel"));
|
|
|
|
|
|
+ simpleCancel(sc, e, "player_drop");
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
@@ -396,29 +381,29 @@ public class ScriptEvents extends ModuleListener
|
|
EntityPlayer p = Utils.getPlayerFromProjectile(e.getEntityThrowable());
|
|
EntityPlayer p = Utils.getPlayerFromProjectile(e.getEntityThrowable());
|
|
if(p != null)
|
|
if(p != null)
|
|
{
|
|
{
|
|
- handleEvent(p, "throw_hit", (qd) ->
|
|
|
|
|
|
+ handleEvent(p, "throw_hit", (sc) ->
|
|
{
|
|
{
|
|
if(e.getRayTraceResult().entityHit != null)
|
|
if(e.getRayTraceResult().entityHit != null)
|
|
{
|
|
{
|
|
- qd.setEventVar("is_entity_hit", true);
|
|
|
|
- qd.setEventVar("entity_hit", e.getRayTraceResult().entityHit);
|
|
|
|
|
|
+ sc.setVar("is_entity_hit", true);
|
|
|
|
+ sc.setVar("entity_hit", e.getRayTraceResult().entityHit);
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- qd.setEventVar("is_entity_hit", false);
|
|
|
|
|
|
+ sc.setVar("is_entity_hit", false);
|
|
}
|
|
}
|
|
- ScriptVars.setEntityVars(qd, e.getEntityThrowable());
|
|
|
|
|
|
+ ScriptVars.setEntityVars(sc, e.getEntityThrowable());
|
|
});
|
|
});
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
public void onEntityItemProjectileHit(EntityItemProjectile ent, EntityPlayer p, ItemStack stack, List<Entity> ents)
|
|
public void onEntityItemProjectileHit(EntityItemProjectile ent, EntityPlayer p, ItemStack stack, List<Entity> ents)
|
|
{
|
|
{
|
|
- handleEvent(p, "item_hit", (qd) ->
|
|
|
|
|
|
+ handleEvent(p, "item_hit", (sc) ->
|
|
{
|
|
{
|
|
- ScriptVars.setEntityVars(qd, ent);
|
|
|
|
- ScriptVars.setItemVars(qd, stack);
|
|
|
|
- qd.setEventVar("entities", ents);
|
|
|
|
|
|
+ ScriptVars.setEntityVars(sc, ent);
|
|
|
|
+ ScriptVars.setItemVars(sc, stack);
|
|
|
|
+ sc.setVar("entities", ents);
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
@@ -435,29 +420,36 @@ public class ScriptEvents extends ModuleListener
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
EntitySheep sheep = (EntitySheep) e.getTarget();
|
|
EntitySheep sheep = (EntitySheep) e.getTarget();
|
|
- handleEvent(p, "entity_shear", (qd) ->
|
|
|
|
|
|
+ handleEvent(p, "entity_shear", (sc) ->
|
|
{
|
|
{
|
|
- ScriptVars.setEntityVars(qd, sheep);
|
|
|
|
- qd.setEventVar("entity_sheared", sheep.getSheared());
|
|
|
|
- qd.setEventVar("entity_color", sheep.getFleeceColor().toString());
|
|
|
|
- qd.setVar("cancel", e.isCanceled());
|
|
|
|
- }, (qd) ->
|
|
|
|
|
|
+ ScriptVars.setEntityVars(sc, sheep);
|
|
|
|
+ sc.setVar("entity_sheared", sheep.getSheared());
|
|
|
|
+ sc.setVar("entity_color", sheep.getFleeceColor().toString());
|
|
|
|
+ sc.setVar("cancel", e.isCanceled());
|
|
|
|
+ }, (sc) ->
|
|
{
|
|
{
|
|
- e.setCanceled(qd.getBooleanVar("cancel"));
|
|
|
|
- sheep.setSheared(qd.getBooleanVar("entity_sheared"));
|
|
|
|
|
|
+ try
|
|
|
|
+ {
|
|
|
|
+ sheep.setSheared(sc.getVar("entity_sheared").getBoolean(sc));
|
|
|
|
+ e.setCanceled(sc.getVar("cancel").getBoolean(sc));
|
|
|
|
+ }
|
|
|
|
+ catch(Exception ex)
|
|
|
|
+ {
|
|
|
|
+ KajetansMod.scripts.logger.print("invalid var in 'entity_shear' event", ex, null, sc.getName(), sc, sc.getActiveRealLine());
|
|
|
|
+ }
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
@SubscribeEvent
|
|
@SubscribeEvent
|
|
public void onBlockBreak(BlockEvent.BreakEvent e)
|
|
public void onBlockBreak(BlockEvent.BreakEvent e)
|
|
{
|
|
{
|
|
- handleEvent(e.getPlayer(), "block_break", (qd) ->
|
|
|
|
|
|
+ handleEvent(e.getPlayer(), "block_break", (sc) ->
|
|
{
|
|
{
|
|
- ScriptVars.setBlockVars(qd, e.getWorld(), e.getPos());
|
|
|
|
- qd.setVar("cancel", e.isCanceled());
|
|
|
|
- }, (qd) ->
|
|
|
|
|
|
+ ScriptVars.setBlockVars(sc, e.getWorld(), e.getPos());
|
|
|
|
+ sc.setVar("cancel", e.isCanceled());
|
|
|
|
+ }, (sc) ->
|
|
{
|
|
{
|
|
- e.setCanceled(qd.getBooleanVar("cancel"));
|
|
|
|
|
|
+ simpleCancel(sc, e, "block_break");
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
@@ -469,12 +461,12 @@ public class ScriptEvents extends ModuleListener
|
|
{
|
|
{
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- handleEvent(p, "player_login", (qd) ->
|
|
|
|
|
|
+ handleEvent(p, "player_login", (sc) ->
|
|
{
|
|
{
|
|
- qd.setEventVar("first_join", Utils.hasPlayedBefore(p));
|
|
|
|
|
|
+ sc.setVar("first_join", Utils.hasPlayedBefore(p));
|
|
PlayerList list = KajetansMod.server.getPlayerList();
|
|
PlayerList list = KajetansMod.server.getPlayerList();
|
|
- qd.setEventVar("is_banned", list.getBannedPlayers().isBanned(p.getGameProfile()));
|
|
|
|
- qd.setEventVar("is_whitelisted", list.getWhitelistedPlayers().isWhitelisted(p.getGameProfile()));
|
|
|
|
|
|
+ sc.setVar("is_banned", list.getBannedPlayers().isBanned(p.getGameProfile()));
|
|
|
|
+ sc.setVar("is_whitelisted", list.getWhitelistedPlayers().isWhitelisted(p.getGameProfile()));
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
@@ -482,15 +474,22 @@ public class ScriptEvents extends ModuleListener
|
|
public void onPlayerJoin(PlayerJoinMessageEvent e)
|
|
public void onPlayerJoin(PlayerJoinMessageEvent e)
|
|
{
|
|
{
|
|
EntityPlayer p = e.getEntityPlayer();
|
|
EntityPlayer p = e.getEntityPlayer();
|
|
- handleEvent(p, "player_join_server", (qd) ->
|
|
|
|
|
|
+ handleEvent(p, "player_join_server", (sc) ->
|
|
{
|
|
{
|
|
- qd.setEventVar("message", e.getMessage());
|
|
|
|
- qd.setEventVar("changed_name", e.hasNameChanged());
|
|
|
|
- qd.setVar("cancel", e.isCanceled());
|
|
|
|
- }, (qd) ->
|
|
|
|
|
|
+ sc.setVar("message", e.getMessage());
|
|
|
|
+ sc.setVar("changed_name", e.hasNameChanged());
|
|
|
|
+ sc.setVar("cancel", e.isCanceled());
|
|
|
|
+ }, (sc) ->
|
|
{
|
|
{
|
|
- e.setMessage(String.valueOf(qd.getVar("message")));
|
|
|
|
- e.setCanceled(qd.getBooleanVar("cancel"));
|
|
|
|
|
|
+ try
|
|
|
|
+ {
|
|
|
|
+ e.setMessage(sc.getVar("message").getString(sc));
|
|
|
|
+ e.setCanceled(sc.getVar("cancel").getBoolean(sc));
|
|
|
|
+ }
|
|
|
|
+ catch(Exception ex)
|
|
|
|
+ {
|
|
|
|
+ KajetansMod.scripts.logger.print("invalid var in 'player_join_server' event", ex, null, sc.getName(), sc, sc.getActiveRealLine());
|
|
|
|
+ }
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
@@ -498,21 +497,28 @@ public class ScriptEvents extends ModuleListener
|
|
public void onPlayerLeave(PlayerLeaveMessageEvent e)
|
|
public void onPlayerLeave(PlayerLeaveMessageEvent e)
|
|
{
|
|
{
|
|
EntityPlayer p = e.getEntityPlayer();
|
|
EntityPlayer p = e.getEntityPlayer();
|
|
- handleEvent(p, "player_leave", (qd) ->
|
|
|
|
|
|
+ handleEvent(p, "player_leave", (sc) ->
|
|
{
|
|
{
|
|
- qd.setEventVar("message", e.getMessage());
|
|
|
|
- qd.setVar("cancel", e.isCanceled());
|
|
|
|
- }, (qd) ->
|
|
|
|
|
|
+ sc.setVar("message", e.getMessage());
|
|
|
|
+ sc.setVar("cancel", e.isCanceled());
|
|
|
|
+ }, (sc) ->
|
|
{
|
|
{
|
|
- e.setMessage(String.valueOf(qd.getVar("message")));
|
|
|
|
- e.setCanceled(qd.getBooleanVar("cancel"));
|
|
|
|
|
|
+ try
|
|
|
|
+ {
|
|
|
|
+ e.setMessage(sc.getVar("message").getString(sc));
|
|
|
|
+ e.setCanceled(sc.getVar("cancel").getBoolean(sc));
|
|
|
|
+ }
|
|
|
|
+ catch(Exception ex)
|
|
|
|
+ {
|
|
|
|
+ KajetansMod.scripts.logger.print("invalid var in 'player_leave' event", ex, null, sc.getName(), sc, sc.getActiveRealLine());
|
|
|
|
+ }
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
@SubscribeEvent
|
|
@SubscribeEvent
|
|
public void onBucketFill(FillBucketEvent e)
|
|
public void onBucketFill(FillBucketEvent e)
|
|
{
|
|
{
|
|
- handleEvent(e.getEntityPlayer(), "bucket_fill", (qd) ->
|
|
|
|
|
|
+ handleEvent(e.getEntityPlayer(), "bucket_fill", (sc) ->
|
|
{
|
|
{
|
|
RayTraceResult ray = e.getTarget();
|
|
RayTraceResult ray = e.getTarget();
|
|
if(ray != null)
|
|
if(ray != null)
|
|
@@ -520,36 +526,36 @@ public class ScriptEvents extends ModuleListener
|
|
BlockPos pos = ray.getBlockPos();
|
|
BlockPos pos = ray.getBlockPos();
|
|
if(pos != null)
|
|
if(pos != null)
|
|
{
|
|
{
|
|
- qd.setEventVar("has_block", true);
|
|
|
|
- ScriptVars.setBlockVars(qd, e.getWorld(), pos);
|
|
|
|
|
|
+ sc.setVar("has_block", true);
|
|
|
|
+ ScriptVars.setBlockVars(sc, e.getWorld(), pos);
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- qd.setEventVar("has_block", false);
|
|
|
|
|
|
+ sc.setVar("has_block", false);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- qd.setEventVar("has_block", false);
|
|
|
|
|
|
+ sc.setVar("has_block", false);
|
|
}
|
|
}
|
|
- qd.setVar("cancel", e.isCanceled());
|
|
|
|
- }, (qd) ->
|
|
|
|
|
|
+ sc.setVar("cancel", e.isCanceled());
|
|
|
|
+ }, (sc) ->
|
|
{
|
|
{
|
|
- e.setCanceled(qd.getBooleanVar("cancel"));
|
|
|
|
|
|
+ simpleCancel(sc, e, "bucket_fill");
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
@SubscribeEvent
|
|
@SubscribeEvent
|
|
public void onBlockPlace(BlockEvent.PlaceEvent e)
|
|
public void onBlockPlace(BlockEvent.PlaceEvent e)
|
|
{
|
|
{
|
|
- handleEvent(e.getPlayer(), "block_place", (qd) ->
|
|
|
|
|
|
+ handleEvent(e.getPlayer(), "block_place", (sc) ->
|
|
{
|
|
{
|
|
- qd.setEventVar("block_type_after", e.getPlacedBlock().getBlock().getRegistryName());
|
|
|
|
- ScriptVars.setBlockVars(qd, e.getWorld(), e.getPos());
|
|
|
|
- qd.setVar("cancel", e.isCanceled());
|
|
|
|
- }, (qd) ->
|
|
|
|
|
|
+ sc.setVar("block_type_after", e.getPlacedBlock().getBlock().getRegistryName());
|
|
|
|
+ ScriptVars.setBlockVars(sc, e.getWorld(), e.getPos());
|
|
|
|
+ sc.setVar("cancel", e.isCanceled());
|
|
|
|
+ }, (sc) ->
|
|
{
|
|
{
|
|
- e.setCanceled(qd.getBooleanVar("cancel"));
|
|
|
|
|
|
+ simpleCancel(sc, e, "block_place");
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
@@ -560,14 +566,14 @@ public class ScriptEvents extends ModuleListener
|
|
{
|
|
{
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- handleEvent(e.getEntityPlayer(), "block_click", (qd) ->
|
|
|
|
|
|
+ handleEvent(e.getEntityPlayer(), "block_click", (sc) ->
|
|
{
|
|
{
|
|
- qd.setEventVar("action", "right");
|
|
|
|
- ScriptVars.setBlockVars(qd, e.getWorld(), e.getPos());
|
|
|
|
- qd.setVar("cancel", e.isCanceled());
|
|
|
|
- }, (qd) ->
|
|
|
|
|
|
+ sc.setVar("action", "right");
|
|
|
|
+ ScriptVars.setBlockVars(sc, e.getWorld(), e.getPos());
|
|
|
|
+ sc.setVar("cancel", e.isCanceled());
|
|
|
|
+ }, (sc) ->
|
|
{
|
|
{
|
|
- e.setCanceled(qd.getBooleanVar("cancel"));
|
|
|
|
|
|
+ simpleCancel(sc, e, "block_click");
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
@@ -578,14 +584,14 @@ public class ScriptEvents extends ModuleListener
|
|
{
|
|
{
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- handleEvent(e.getEntityPlayer(), "block_click", (qd) ->
|
|
|
|
|
|
+ handleEvent(e.getEntityPlayer(), "block_click", (sc) ->
|
|
{
|
|
{
|
|
- qd.setEventVar("action", "left");
|
|
|
|
- ScriptVars.setBlockVars(qd, e.getWorld(), e.getPos());
|
|
|
|
- qd.setVar("cancel", e.isCanceled());
|
|
|
|
- }, (qd) ->
|
|
|
|
|
|
+ sc.setVar("action", "left");
|
|
|
|
+ ScriptVars.setBlockVars(sc, e.getWorld(), e.getPos());
|
|
|
|
+ sc.setVar("cancel", e.isCanceled());
|
|
|
|
+ }, (sc) ->
|
|
{
|
|
{
|
|
- e.setCanceled(qd.getBooleanVar("cancel"));
|
|
|
|
|
|
+ simpleCancel(sc, e, "block_click");
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
@@ -594,13 +600,13 @@ public class ScriptEvents extends ModuleListener
|
|
{
|
|
{
|
|
if(e.getHand() != EnumHand.OFF_HAND)
|
|
if(e.getHand() != EnumHand.OFF_HAND)
|
|
{
|
|
{
|
|
- handleEvent(e.getEntityPlayer(), "entity_click", (qd) ->
|
|
|
|
|
|
+ handleEvent(e.getEntityPlayer(), "entity_click", (sc) ->
|
|
{
|
|
{
|
|
- ScriptVars.setEntityVars(qd, e.getTarget());
|
|
|
|
- qd.setVar("cancel", e.isCanceled());
|
|
|
|
- }, (qd) ->
|
|
|
|
|
|
+ ScriptVars.setEntityVars(sc, e.getTarget());
|
|
|
|
+ sc.setVar("cancel", e.isCanceled());
|
|
|
|
+ }, (sc) ->
|
|
{
|
|
{
|
|
- e.setCanceled(qd.getBooleanVar("cancel"));
|
|
|
|
|
|
+ simpleCancel(sc, e, "entity_click");
|
|
});
|
|
});
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -608,35 +614,35 @@ public class ScriptEvents extends ModuleListener
|
|
@SubscribeEvent
|
|
@SubscribeEvent
|
|
public void onFishing(ItemFishedEvent e)
|
|
public void onFishing(ItemFishedEvent e)
|
|
{
|
|
{
|
|
- handleEvent(e.getEntityPlayer(), "fishing", (qd) ->
|
|
|
|
|
|
+ handleEvent(e.getEntityPlayer(), "fishing", (sc) ->
|
|
{
|
|
{
|
|
- qd.setEventVar("drops", e.getDrops());
|
|
|
|
- qd.setVar("cancel", e.isCanceled());
|
|
|
|
- }, (qd) ->
|
|
|
|
|
|
+ sc.setVar("drops", e.getDrops());
|
|
|
|
+ sc.setVar("cancel", e.isCanceled());
|
|
|
|
+ }, (sc) ->
|
|
{
|
|
{
|
|
- e.setCanceled(qd.getBooleanVar("cancel"));
|
|
|
|
|
|
+ simpleCancel(sc, e, "fishing");
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
@SubscribeEvent
|
|
@SubscribeEvent
|
|
public void onItemClick(PlayerInteractEvent.RightClickItem e)
|
|
public void onItemClick(PlayerInteractEvent.RightClickItem e)
|
|
{
|
|
{
|
|
- handleEvent(e.getEntityPlayer(), "item_air_click", (qd) ->
|
|
|
|
|
|
+ handleEvent(e.getEntityPlayer(), "item_air_click", (sc) ->
|
|
{
|
|
{
|
|
- ScriptVars.setItemVars(qd, e.getItemStack());
|
|
|
|
- qd.setEventVar("hand", e.getHand().toString());
|
|
|
|
- qd.setVar("cancel", e.isCanceled());
|
|
|
|
- }, (qd) ->
|
|
|
|
|
|
+ ScriptVars.setItemVars(sc, e.getItemStack());
|
|
|
|
+ sc.setVar("hand", e.getHand().toString());
|
|
|
|
+ sc.setVar("cancel", e.isCanceled());
|
|
|
|
+ }, (sc) ->
|
|
{
|
|
{
|
|
- e.setCanceled(qd.getBooleanVar("cancel"));
|
|
|
|
|
|
+ simpleCancel(sc, e, "item_air_click");
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
public void onArmSwing(EntityPlayer p, EnumHand hand)
|
|
public void onArmSwing(EntityPlayer p, EnumHand hand)
|
|
{
|
|
{
|
|
- handleEvent(p, "arm_swing", (qd) ->
|
|
|
|
|
|
+ handleEvent(p, "arm_swing", (sc) ->
|
|
{
|
|
{
|
|
- qd.setEventVar("hand", hand);
|
|
|
|
|
|
+ sc.setVar("hand", hand);
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
@@ -647,20 +653,20 @@ public class ScriptEvents extends ModuleListener
|
|
{
|
|
{
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- handleEvent((EntityPlayer) e.getEntityLiving(), "item_use_start", (qd) ->
|
|
|
|
|
|
+ handleEvent((EntityPlayer) e.getEntityLiving(), "item_use_start", (sc) ->
|
|
{
|
|
{
|
|
- qd.setEventVar("duration", new Fraction(e.getDuration()));
|
|
|
|
- qd.setVar("cancel", e.isCanceled());
|
|
|
|
- }, (qd) ->
|
|
|
|
|
|
+ sc.setVar("duration", new Fraction(e.getDuration()));
|
|
|
|
+ sc.setVar("cancel", e.isCanceled());
|
|
|
|
+ }, (sc) ->
|
|
{
|
|
{
|
|
- e.setCanceled(qd.getBooleanVar("cancel"));
|
|
|
|
try
|
|
try
|
|
{
|
|
{
|
|
- e.setDuration(ScriptUtils.getInt(qd.getVar("duration")));
|
|
|
|
|
|
+ e.setDuration(sc.getVar("duration").getInt(sc));
|
|
|
|
+ e.setCanceled(sc.getVar("cancel").getBoolean(sc));
|
|
}
|
|
}
|
|
catch(Exception ex)
|
|
catch(Exception ex)
|
|
{
|
|
{
|
|
- KajetansMod.scripts.logger.printException(ex, "item_use_start", qd, qd.getActiveRealCodeLine());
|
|
|
|
|
|
+ KajetansMod.scripts.logger.print("invalid var in 'item_use_start' event", ex, null, sc.getName(), sc, sc.getActiveRealLine());
|
|
}
|
|
}
|
|
});
|
|
});
|
|
}
|
|
}
|
|
@@ -672,45 +678,45 @@ public class ScriptEvents extends ModuleListener
|
|
{
|
|
{
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- handleEvent((EntityPlayer) e.getEntityLiving(), "item_use_finish", (qd) ->
|
|
|
|
|
|
+ handleEvent((EntityPlayer) e.getEntityLiving(), "item_use_finish", (sc) ->
|
|
{
|
|
{
|
|
- qd.setEventVar("result_stack", e.getResultStack());
|
|
|
|
|
|
+ sc.setVar("result_stack", e.getResultStack());
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
@SubscribeEvent
|
|
@SubscribeEvent
|
|
public void onCrafting(PlayerEvent.ItemCraftedEvent e)
|
|
public void onCrafting(PlayerEvent.ItemCraftedEvent e)
|
|
{
|
|
{
|
|
- handleEvent(e.player, "craft", (qd) ->
|
|
|
|
|
|
+ handleEvent(e.player, "craft", (sc) ->
|
|
{
|
|
{
|
|
- ScriptVars.setItemVars(qd, e.crafting);
|
|
|
|
|
|
+ ScriptVars.setItemVars(sc, e.crafting);
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
@SubscribeEvent
|
|
@SubscribeEvent
|
|
public void onItemDrop(ItemTossEvent e)
|
|
public void onItemDrop(ItemTossEvent e)
|
|
{
|
|
{
|
|
- handleEvent(e.getPlayer(), "player_toss", (qd) ->
|
|
|
|
|
|
+ handleEvent(e.getPlayer(), "player_toss", (sc) ->
|
|
{
|
|
{
|
|
- ScriptVars.setItemVars(qd, e.getEntityItem().getItem());
|
|
|
|
- qd.setVar("cancel", e.isCanceled());
|
|
|
|
- }, (qd) ->
|
|
|
|
|
|
+ ScriptVars.setItemVars(sc, e.getEntityItem().getItem());
|
|
|
|
+ sc.setVar("cancel", e.isCanceled());
|
|
|
|
+ }, (sc) ->
|
|
{
|
|
{
|
|
- e.setCanceled(qd.getBooleanVar("cancel"));
|
|
|
|
|
|
+ simpleCancel(sc, e, "player_toss");
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
@SubscribeEvent
|
|
@SubscribeEvent
|
|
public void onItemPickup(EntityItemPickupEvent e)
|
|
public void onItemPickup(EntityItemPickupEvent e)
|
|
{
|
|
{
|
|
- handleEvent(e.getEntityPlayer(), "player_pickup", (qd) ->
|
|
|
|
|
|
+ handleEvent(e.getEntityPlayer(), "player_pickup", (sc) ->
|
|
{
|
|
{
|
|
- ScriptVars.setEntityVars(qd, e.getItem());
|
|
|
|
- ScriptVars.setItemVars(qd, e.getItem().getItem());
|
|
|
|
- qd.setVar("cancel", e.isCanceled());
|
|
|
|
- }, (qd) ->
|
|
|
|
|
|
+ ScriptVars.setEntityVars(sc, e.getItem());
|
|
|
|
+ ScriptVars.setItemVars(sc, e.getItem().getItem());
|
|
|
|
+ sc.setVar("cancel", e.isCanceled());
|
|
|
|
+ }, (sc) ->
|
|
{
|
|
{
|
|
- e.setCanceled(qd.getBooleanVar("cancel"));
|
|
|
|
|
|
+ simpleCancel(sc, e, "player_pickup");
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
@@ -722,24 +728,24 @@ public class ScriptEvents extends ModuleListener
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
EntityPlayer p = (EntityPlayer) e.getEntityMounting();
|
|
EntityPlayer p = (EntityPlayer) e.getEntityMounting();
|
|
- handleEvent(p, "entity_mount", (qd) ->
|
|
|
|
|
|
+ handleEvent(p, "entity_mount", (sc) ->
|
|
{
|
|
{
|
|
- qd.setEventVar("mounting", e.isMounting());
|
|
|
|
- ScriptVars.setEntityVars(qd, e.getEntityBeingMounted());
|
|
|
|
- qd.setVar("cancel", e.isCanceled());
|
|
|
|
- }, (qd) ->
|
|
|
|
|
|
+ sc.setVar("mounting", e.isMounting());
|
|
|
|
+ ScriptVars.setEntityVars(sc, e.getEntityBeingMounted());
|
|
|
|
+ sc.setVar("cancel", e.isCanceled());
|
|
|
|
+ }, (sc) ->
|
|
{
|
|
{
|
|
- e.setCanceled(qd.getBooleanVar("cancel"));
|
|
|
|
|
|
+ simpleCancel(sc, e, "entity_mount");
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
@SubscribeEvent
|
|
@SubscribeEvent
|
|
public void onPlayerUsePortal(PlayerEvent.PlayerChangedDimensionEvent e)
|
|
public void onPlayerUsePortal(PlayerEvent.PlayerChangedDimensionEvent e)
|
|
{
|
|
{
|
|
- handleEvent(e.player, "portal", (qd) ->
|
|
|
|
|
|
+ handleEvent(e.player, "portal", (sc) ->
|
|
{
|
|
{
|
|
- qd.setEventVar("from", ModDimensions.getWorldName(e.fromDim));
|
|
|
|
- qd.setEventVar("to", ModDimensions.getWorldName(e.toDim));
|
|
|
|
|
|
+ sc.setVar("from", ModDimensions.getWorldName(e.fromDim));
|
|
|
|
+ sc.setVar("to", ModDimensions.getWorldName(e.toDim));
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
@@ -748,119 +754,61 @@ public class ScriptEvents extends ModuleListener
|
|
{
|
|
{
|
|
if(e.getSender() instanceof EntityPlayer)
|
|
if(e.getSender() instanceof EntityPlayer)
|
|
{
|
|
{
|
|
- handleEvent((EntityPlayer) e.getSender(), "command", (qd) ->
|
|
|
|
|
|
+ handleEvent((EntityPlayer) e.getSender(), "command", (sc) ->
|
|
{
|
|
{
|
|
- qd.setEventVar("command", e.getCommand().getName());
|
|
|
|
- qd.setEventVar("args", Arrays.stream(e.getParameters()).map(s -> Code.convertInput(null, s, false)).collect(Collectors.toList()));
|
|
|
|
- qd.setVar("cancel", e.isCanceled());
|
|
|
|
- }, (qd) ->
|
|
|
|
|
|
+ sc.setVar("command", e.getCommand().getName());
|
|
|
|
+ sc.setVar("args", Arrays.stream(e.getParameters()).map(s -> Compiler.convert(s)).collect(Collectors.toList()));
|
|
|
|
+ sc.setVar("cancel", e.isCanceled());
|
|
|
|
+ }, (sc) ->
|
|
{
|
|
{
|
|
- e.setCanceled(qd.getBooleanVar("cancel"));
|
|
|
|
|
|
+ simpleCancel(sc, e, "command");
|
|
});
|
|
});
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
public void onCustomCommand(EntityPlayer p, String command, String args)
|
|
public void onCustomCommand(EntityPlayer p, String command, String args)
|
|
{
|
|
{
|
|
- handleEvent(p, "custom_command", (qd) ->
|
|
|
|
|
|
+ handleEvent(p, "custom_command", (sc) ->
|
|
{
|
|
{
|
|
- qd.setEventVar("command", command);
|
|
|
|
|
|
+ sc.setVar("command", command);
|
|
if(args.length() == 0)
|
|
if(args.length() == 0)
|
|
{
|
|
{
|
|
- qd.setEventVar("args", new ArrayList<>());
|
|
|
|
|
|
+ sc.setVar("args", new ArrayList<>());
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- qd.setEventVar("args", Arrays.stream(args.trim().split(" ")).map(s -> Code.convertInput(null, s, false)).collect(Collectors.toList()));
|
|
|
|
|
|
+ sc.setVar("args", Arrays.stream(args.trim().split(" ")).map(s -> Compiler.convert(s)).collect(Collectors.toList()));
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
public void onEffectUse(PlayerUsesEffectEvent e)
|
|
public void onEffectUse(PlayerUsesEffectEvent e)
|
|
{
|
|
{
|
|
- handleEvent(e.getPlayer(), "player_use_effect", (qd) ->
|
|
|
|
|
|
+ handleEvent(e.getPlayer(), "player_use_effect", (sc) ->
|
|
{
|
|
{
|
|
- qd.setEventVar("power", new Fraction(e.getPower()));
|
|
|
|
- qd.setEventVar("mana_cost", new Fraction(e.getMana()));
|
|
|
|
- qd.setEventVar("cause", e.getCause().toString());
|
|
|
|
- qd.setEventVar("effect", e.getEffect());
|
|
|
|
- qd.setVar("cancel", e.isCanceled());
|
|
|
|
- }, (qd) ->
|
|
|
|
|
|
+ sc.setVar("power", new Fraction(e.getPower()));
|
|
|
|
+ sc.setVar("mana_cost", new Fraction(e.getMana()));
|
|
|
|
+ sc.setVar("cause", e.getCause().toString());
|
|
|
|
+ sc.setVar("effect", e.getEffect());
|
|
|
|
+ sc.setVar("cancel", e.isCanceled());
|
|
|
|
+ }, (sc) ->
|
|
{
|
|
{
|
|
try
|
|
try
|
|
{
|
|
{
|
|
- int power = ScriptUtils.getInt(qd.getVar("power"));
|
|
|
|
- if(power < 1 || power > 20)
|
|
|
|
- {
|
|
|
|
- throw new IllegalArgumentException();
|
|
|
|
- }
|
|
|
|
- e.setPower(power);
|
|
|
|
|
|
+ e.setPower(Math.min(20, Math.max(1, sc.getVar("power").getInt(sc))));
|
|
|
|
+ e.setMana(Math.max(0, sc.getVar("mana_cost").getInt(sc)));
|
|
|
|
+ e.setCanceled(sc.getVar("cancel").getBoolean(sc));
|
|
}
|
|
}
|
|
catch(Exception ex)
|
|
catch(Exception ex)
|
|
{
|
|
{
|
|
- KajetansMod.scripts.logger.printException(ex, "player_use_effect", qd, qd.getActiveRealCodeLine());
|
|
|
|
- }
|
|
|
|
- try
|
|
|
|
- {
|
|
|
|
- int mana = ScriptUtils.getInt(qd.getVar("mana_cost"));
|
|
|
|
- if(mana < 0)
|
|
|
|
- {
|
|
|
|
- throw new IllegalArgumentException();
|
|
|
|
- }
|
|
|
|
- e.setMana(mana);
|
|
|
|
- }
|
|
|
|
- catch(Exception ex)
|
|
|
|
- {
|
|
|
|
- KajetansMod.scripts.logger.printException(ex, "player_use_effect", qd, qd.getActiveRealCodeLine());
|
|
|
|
|
|
+ KajetansMod.scripts.logger.print("invalid var in 'player_use_effect' event", ex, null, sc.getName(), sc, sc.getActiveRealLine());
|
|
}
|
|
}
|
|
- e.setCanceled(qd.getBooleanVar("cancel"));
|
|
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
public void onFunctionKey(EntityPlayerMP p, int key)
|
|
public void onFunctionKey(EntityPlayerMP p, int key)
|
|
{
|
|
{
|
|
- handleEvent(p, "function_key", (qd) ->
|
|
|
|
|
|
+ handleEvent(p, "function_key", (sc) ->
|
|
{
|
|
{
|
|
- qd.setEventVar("key", new Fraction(key));
|
|
|
|
|
|
+ sc.setVar("key", new Fraction(key));
|
|
});
|
|
});
|
|
}
|
|
}
|
|
-
|
|
|
|
- /*@SubscribeEvent
|
|
|
|
- public void QuestVillagerPickUpItem(ItemTossEvent e)
|
|
|
|
- {
|
|
|
|
- EntityPlayer p = e.getPlayer();
|
|
|
|
- PlayerScript qd = KajetansMod.scripts.getScript(p);
|
|
|
|
- if(qd == null || !qd.isLoadedEvent("villager_give"))
|
|
|
|
- {
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- final EntityItem itemEnt = e.getEntityItem();
|
|
|
|
- KajetansMod.scheduler.scheduleTask(() ->
|
|
|
|
- {
|
|
|
|
- if(itemEnt.isDead)
|
|
|
|
- {
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- EntityVillager v = Utils.getNearestEntity(p.world, itemEnt.getPositionVector(), 2, EntityVillager.class);
|
|
|
|
- if(v == null)
|
|
|
|
- {
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- Script data = KajetansMod.scripts.getScript(p);
|
|
|
|
- if(data == null || !data.isLoadedEvent("villager_give"))
|
|
|
|
- {
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- data.setVar("event", "villager_give");
|
|
|
|
- ScriptVars.setPlayerVars(data, p);
|
|
|
|
- ScriptVars.setItemVars(data, itemEnt.getItem());
|
|
|
|
- data.setEventVar("villager_loc", new Location(v));
|
|
|
|
- data.setEventVar("villager_prof", v.getProfessionForge().getRegistryName());
|
|
|
|
- data.setVar("cancel", e.isCanceled());
|
|
|
|
- data.runCode();
|
|
|
|
- if(data.getBooleanVar("cancel"))
|
|
|
|
- {
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- itemEnt.setDead();
|
|
|
|
- }, 40);
|
|
|
|
- }*/
|
|
|
|
}
|
|
}
|