From f8da22505a9ea9c1ee20db69e9dddf109a9fbf6e Mon Sep 17 00:00:00 2001 From: Alex 'mcmonkey' Goodwin Date: Wed, 30 Oct 2019 19:35:50 -0700 Subject: [PATCH] event cleanup step 6: player part 3 --- .../events/player/ChatScriptEvent.java | 6 ++-- .../player/PlayerBreaksBlockScriptEvent.java | 2 +- .../player/PlayerChangesSignScriptEvent.java | 21 ++++-------- .../player/PlayerChangesXPScriptEvent.java | 10 ++---- .../player/PlayerClicksBlockScriptEvent.java | 4 +-- ...PlayerCompletesAdvancementScriptEvent.java | 7 ++-- .../player/PlayerCraftsItemScriptEvent.java | 34 +++++++------------ .../player/PlayerDropsItemScriptEvent.java | 4 +-- .../player/PlayerEditsBookScriptEvent.java | 27 +++++---------- .../PlayerEmptiesBucketScriptEvent.java | 6 +--- .../PlayerItemTakesDamageScriptEvent.java | 7 ++-- .../events/player/PlayerJoinsScriptEvent.java | 9 ++--- .../player/PlayerKickedScriptEvent.java | 22 +++++------- .../events/player/PlayerLoginScriptEvent.java | 10 ++---- .../player/PlayerMendsItemScriptEvent.java | 11 ++---- .../player/PlayerPicksUpScriptEvent.java | 17 +++------- .../PlayerPreparesAnvilCraftScriptEvent.java | 25 ++++---------- .../events/player/PlayerQuitsScriptEvent.java | 9 ++--- .../PlayerReceivesCommandsScriptEvent.java | 8 ++--- .../PlayerReceivesMessageScriptEvent.java | 4 +-- .../player/PlayerRespawnsScriptEvent.java | 7 ++-- .../PlayerStatisticIncrementsScriptEvent.java | 24 +++---------- .../player/PlayerSwapsItemsScriptEvent.java | 12 +++---- .../PlayerTakesFromFurnaceScriptEvent.java | 6 ++-- .../player/PlayerThrowsEggScriptEvent.java | 20 ++++------- .../player/PlayerUsesPortalScriptEvent.java | 2 +- .../containers/core/ItemScriptHelper.java | 26 -------------- 27 files changed, 97 insertions(+), 243 deletions(-) diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/player/ChatScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/player/ChatScriptEvent.java index c95a597a11..c0a939893d 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/player/ChatScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/player/ChatScriptEvent.java @@ -98,7 +98,7 @@ public boolean applyDetermination(ScriptPath path, ObjectTag determinationObj) { if (determinationObj instanceof ElementTag) { String determination = determinationObj.toString(); String lower = CoreUtilities.toLowerCase(determination); - if (path.eventLower.startsWith("format:")) { + if (lower.startsWith("format:")) { String name = determination.substring("format:".length()); FormatScriptContainer formatscr = ScriptRegistry.getScriptContainer(name); if (formatscr == null) { @@ -118,7 +118,7 @@ public boolean applyDetermination(ScriptPath path, ObjectTag determinationObj) { } return true; } - else if (path.eventLower.startsWith("raw_format:")) { + else if (lower.startsWith("raw_format:")) { String form = determination.substring("raw_format:".length()); if (pcEvent != null) { pcEvent.setFormat(form); @@ -128,7 +128,7 @@ else if (path.eventLower.startsWith("raw_format:")) { } return true; } - else if (path.eventLower.startsWith("recipients:")) { + else if (lower.startsWith("recipients:")) { String rec_new = determination.substring("recipients:".length()); ListTag recs = ListTag.valueOf(rec_new); List players = recs.filter(PlayerTag.class, path.container, true); diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerBreaksBlockScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerBreaksBlockScriptEvent.java index c9a1246c75..40cddb5431 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerBreaksBlockScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerBreaksBlockScriptEvent.java @@ -92,7 +92,7 @@ public boolean applyDetermination(ScriptPath path, ObjectTag determinationObj) { Block block = event.getBlock(); if (determinationObj instanceof ElementTag) { String lower = CoreUtilities.toLowerCase(determination); - if (path.eventLower.equals("nothing")) { + if (lower.equals("nothing")) { cancelled = true; block.setType(Material.AIR); return true; diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerChangesSignScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerChangesSignScriptEvent.java index 8e47555844..bcfee09e57 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerChangesSignScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerChangesSignScriptEvent.java @@ -49,10 +49,7 @@ public PlayerChangesSignScriptEvent() { public static PlayerChangesSignScriptEvent instance; public LocationTag location; - public ListTag new_sign; - public ListTag old_sign; public MaterialTag material; - public ListTag new_text; public SignChangeEvent event; @Override @@ -90,7 +87,10 @@ public String getName() { public boolean applyDetermination(ScriptPath path, ObjectTag determinationObj) { String determination = determinationObj.toString(); if (determination.length() > 0 && !isDefaultDetermination(determinationObj)) { - new_text = ListTag.valueOf(determination); + ListTag new_text = ListTag.valueOf(determination); + for (int i = 0; i < 4 && i < new_text.size(); i++) { + event.setLine(i, EscapeTagBase.unEscape(new_text.get(i))); + } return true; } return super.applyDetermination(path, determinationObj); @@ -110,10 +110,10 @@ else if (name.equals("material")) { return material; } else if (name.equals("new")) { - return new_sign; + return new ListTag(Arrays.asList(event.getLines())); } else if (name.equals("old")) { - return old_sign; + return new ListTag(Arrays.asList(((Sign) event.getBlock().getState()).getLines())); } return super.getContext(name); } @@ -127,19 +127,10 @@ public void onPlayerChangesSign(SignChangeEvent event) { if (!(state instanceof Sign)) { return; } - Sign sign = (Sign) state; material = new MaterialTag(event.getBlock()); location = new LocationTag(event.getBlock().getLocation()); - old_sign = new ListTag(Arrays.asList(sign.getLines())); - new_sign = new ListTag(Arrays.asList(event.getLines())); - new_text = null; this.event = event; fire(event); - if (new_text != null) { - for (int i = 0; i < 4 && i < new_text.size(); i++) { - event.setLine(i, EscapeTagBase.unEscape(new_text.get(i))); - } - } } } diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerChangesXPScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerChangesXPScriptEvent.java index c5ee3f659e..af368d60c3 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerChangesXPScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerChangesXPScriptEvent.java @@ -13,7 +13,6 @@ public class PlayerChangesXPScriptEvent extends BukkitScriptEvent implements Listener { - // TODO: in area // <--[event] // @Events // player changes xp @@ -42,7 +41,6 @@ public PlayerChangesXPScriptEvent() { public static PlayerChangesXPScriptEvent instance; public PlayerExpChangeEvent event; - public int amount; public PlayerTag player; @Override @@ -67,7 +65,7 @@ public String getName() { @Override public boolean applyDetermination(ScriptPath path, ObjectTag determinationObj) { if (determinationObj instanceof ElementTag && ((ElementTag) determinationObj).isInt()) { - amount = ((ElementTag) determinationObj).asInt(); + event.setAmount(((ElementTag) determinationObj).asInt()); return true; } return super.applyDetermination(path, determinationObj); @@ -81,7 +79,7 @@ public ScriptEntryData getScriptEntryData() { @Override public ObjectTag getContext(String name) { if (name.equals("amount")) { - return new ElementTag(amount); + return new ElementTag(event.getAmount()); } return super.getContext(name); } @@ -91,14 +89,12 @@ public void onPlayerChangesXP(PlayerExpChangeEvent event) { if (EntityTag.isNPC(event.getPlayer())) { return; } - amount = event.getAmount(); player = PlayerTag.mirrorBukkitPlayer(event.getPlayer()); this.event = event; cancelled = false; fire(event); if (cancelled) { - amount = 0; + event.setAmount(0); } - event.setAmount(amount); } } diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerClicksBlockScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerClicksBlockScriptEvent.java index bff10f133d..7621b5a5c5 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerClicksBlockScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerClicksBlockScriptEvent.java @@ -55,7 +55,6 @@ public PlayerClicksBlockScriptEvent() { LocationTag location; ElementTag click_type; ElementTag hand; - LocationTag relative; MaterialTag blockMaterial; private boolean couldMatchIn(String lower) { @@ -200,7 +199,7 @@ else if (name.equals("hand")) { return hand; } else if (name.equals("relative")) { - return relative; + return event.hasBlock() ? new LocationTag(event.getClickedBlock().getRelative(event.getBlockFace()).getLocation()) : null; } return super.getContext(name); } @@ -214,7 +213,6 @@ public void playerClicksBlock(PlayerInteractEvent event) { hand = new ElementTag(event.getHand().name()); item = new ItemTag(event.getItem()); location = event.hasBlock() ? new LocationTag(event.getClickedBlock().getLocation()) : null; - relative = event.hasBlock() ? new LocationTag(event.getClickedBlock().getRelative(event.getBlockFace()).getLocation()) : null; click_type = new ElementTag(event.getAction().name()); cancelled = event.isCancelled() && event.useItemInHand() == Event.Result.DENY; // Spigot is dumb! this.event = event; diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerCompletesAdvancementScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerCompletesAdvancementScriptEvent.java index 1f0223c248..2b052e7f3e 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerCompletesAdvancementScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerCompletesAdvancementScriptEvent.java @@ -32,7 +32,6 @@ public PlayerCompletesAdvancementScriptEvent() { } public static PlayerCompletesAdvancementScriptEvent instance; - public ListTag criteria; public PlayerAdvancementDoneEvent event; @Override @@ -58,6 +57,8 @@ public ScriptEntryData getScriptEntryData() { @Override public ObjectTag getContext(String name) { if (name.equals("criteria")) { + ListTag criteria = new ListTag(); + criteria.addAll(event.getAdvancement().getCriteria()); return criteria; } return super.getContext(name); @@ -65,9 +66,7 @@ public ObjectTag getContext(String name) { @EventHandler public void onPlayerCompletesAdvancement(PlayerAdvancementDoneEvent event) { - // Should this not fire if it's a 'fake' advancement created by Denizen? - criteria = new ListTag(); - criteria.addAll(event.getAdvancement().getCriteria()); + // TODO: Should this not fire if it's a 'fake' advancement created by Denizen? this.event = event; fire(event); } diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerCraftsItemScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerCraftsItemScriptEvent.java index cfca01b3a5..4c3f19bf32 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerCraftsItemScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerCraftsItemScriptEvent.java @@ -14,7 +14,6 @@ import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.inventory.CraftItemEvent; -import org.bukkit.inventory.CraftingInventory; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.Recipe; @@ -47,10 +46,8 @@ public PlayerCraftsItemScriptEvent() { } public static PlayerCraftsItemScriptEvent instance; - public boolean resultChanged; + public CraftItemEvent event; public ItemTag result; - public ListTag recipe; - public CraftingInventory inventory; public PlayerTag player; @Override @@ -78,8 +75,7 @@ public String getName() { public boolean applyDetermination(ScriptPath path, ObjectTag determinationObj) { String determination = determinationObj.toString(); if (ItemTag.matches(determination)) { - result = ItemTag.valueOf(determination, path.container); - resultChanged = true; + event.setCurrentItem(ItemTag.valueOf(determination, path.container).getItemStack()); return true; } @@ -97,9 +93,18 @@ public ObjectTag getContext(String name) { return result; } else if (name.equals("inventory")) { - return InventoryTag.mirrorBukkitInventory(inventory); + return InventoryTag.mirrorBukkitInventory(event.getInventory()); } else if (name.equals("recipe")) { + ListTag recipe = new ListTag(); + for (ItemStack itemStack : event.getInventory().getMatrix()) { + if (itemStack != null) { + recipe.add(new ItemTag(itemStack).identify()); + } + else { + recipe.add(new ItemTag(Material.AIR).identify()); + } + } return recipe; } return super.getContext(name); @@ -115,26 +120,13 @@ public void onCraftItem(CraftItemEvent event) { if (eRecipe == null || eRecipe.getResult() == null) { return; } - inventory = event.getInventory(); + this.event = event; result = new ItemTag(eRecipe.getResult()); - recipe = new ListTag(); - for (ItemStack itemStack : inventory.getMatrix()) { - if (itemStack != null) { - recipe.add(new ItemTag(itemStack).identify()); - } - else { - recipe.add(new ItemTag(Material.AIR).identify()); - } - } this.player = EntityTag.getPlayerFrom(humanEntity); - this.resultChanged = false; this.cancelled = false; fire(event); if (cancelled) { // This event has a weird cancellation handler event.setCancelled(true); } - else if (resultChanged) { - event.setCurrentItem(result.getItemStack()); - } } } diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerDropsItemScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerDropsItemScriptEvent.java index 34774d7f42..29db2815b8 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerDropsItemScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerDropsItemScriptEvent.java @@ -43,7 +43,6 @@ public PlayerDropsItemScriptEvent() { public static PlayerDropsItemScriptEvent instance; public ItemTag item; - public EntityTag entity; public LocationTag location; public PlayerDropItemEvent event; @@ -81,7 +80,7 @@ public ObjectTag getContext(String name) { return item; } else if (name.equals("entity")) { - return entity; + return new EntityTag(event.getItemDrop()); } else if (name.equals("location")) { return location; @@ -98,7 +97,6 @@ public void onPlayerDropsItem(PlayerDropItemEvent event) { Item itemDrop = event.getItemDrop(); EntityTag.rememberEntity(itemDrop); item = new ItemTag(itemDrop.getItemStack()); - entity = new EntityTag(itemDrop); this.event = event; fire(event); } diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerEditsBookScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerEditsBookScriptEvent.java index ec92419e9d..87c5f33e7f 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerEditsBookScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerEditsBookScriptEvent.java @@ -43,12 +43,7 @@ public class PlayerEditsBookScriptEvent extends BukkitScriptEvent implements Lis PlayerEditsBookScriptEvent instance; PlayerEditBookEvent event; - ElementTag signing; - ElementTag title; - ElementTag pages; - ItemTag book; PlayerTag player; - BookMeta bookMeta; @Override public boolean couldMatch(ScriptPath path) { @@ -61,7 +56,7 @@ public boolean matches(ScriptPath path) { if (action.equals("edits")) { return true; } - if (action.equals("signs") && signing.asBoolean()) { + if (action.equals("signs") && event.isSigning()) { return true; } return false; @@ -76,16 +71,17 @@ public String getName() { public boolean applyDetermination(ScriptPath path, ObjectTag determinationObj) { String determination = determinationObj.toString(); if (determination.toUpperCase().equals("NOT_SIGNING")) { - signing = new ElementTag(false); + event.setSigning(false); } else if (ScriptTag.matches(determination)) { ScriptTag script = ScriptTag.valueOf(determination); if (script.getContainer() instanceof BookScriptContainer) { ItemTag dBook = ((BookScriptContainer) script.getContainer()).getBookFrom((BukkitTagContext) getScriptEntryData().getTagContext()); - bookMeta = (BookMeta) dBook.getItemStack().getItemMeta(); + BookMeta bookMeta = (BookMeta) dBook.getItemStack().getItemMeta(); if (dBook.getMaterial().getMaterial() == MaterialCompat.WRITABLE_BOOK) { - signing = new ElementTag(false); + event.setSigning(false); } + event.setNewBookMeta(bookMeta); } else { Debug.echoError("Script '" + determination + "' is valid, but not of type 'book'!"); @@ -102,13 +98,13 @@ public ScriptEntryData getScriptEntryData() { @Override public ObjectTag getContext(String name) { if (name.equals("signing")) { - return signing; + return new ElementTag(event.isSigning()); } if (name.equals("title")) { - return title; + return event.isSigning() ? new ElementTag(event.getNewBookMeta().getTitle()) : null; } else if (name.equals("book")) { - return book; + return new ItemTag(event.getPlayer().getInventory().getItem(event.getSlot())); } return super.getContext(name); } @@ -116,14 +112,7 @@ else if (name.equals("book")) { @EventHandler public void onPlayerEditsBook(PlayerEditBookEvent event) { player = PlayerTag.mirrorBukkitPlayer(event.getPlayer()); - signing = new ElementTag(event.isSigning()); - bookMeta = event.getNewBookMeta(); - pages = new ElementTag(bookMeta.getPageCount()); - title = event.isSigning() ? new ElementTag(bookMeta.getTitle()) : null; - book = new ItemTag(event.getPlayer().getInventory().getItem(event.getSlot())); this.event = event; fire(event); - event.setNewBookMeta(bookMeta); - event.setSigning(signing.asBoolean()); } } diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerEmptiesBucketScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerEmptiesBucketScriptEvent.java index e0b94cdf9c..55d41e27fc 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerEmptiesBucketScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerEmptiesBucketScriptEvent.java @@ -43,11 +43,9 @@ public PlayerEmptiesBucketScriptEvent() { public static PlayerEmptiesBucketScriptEvent instance; - public EntityTag entity; public ItemTag item; public MaterialTag material; public LocationTag location; - public LocationTag relative; public PlayerBucketEmptyEvent event; @@ -79,7 +77,7 @@ public ObjectTag getContext(String name) { return location; } else if (name.equals("relative")) { - return relative; + return new LocationTag(event.getBlockClicked().getRelative(event.getBlockFace()).getLocation()); } else if (name.equals("item")) { return item; @@ -89,9 +87,7 @@ else if (name.equals("item")) { @EventHandler public void onBucketEmpty(PlayerBucketEmptyEvent event) { - entity = new EntityTag(event.getPlayer()); location = new LocationTag(event.getBlockClicked().getLocation()); - relative = new LocationTag(event.getBlockClicked().getRelative(event.getBlockFace()).getLocation()); item = new ItemTag(event.getBucket()); this.event = event; fire(event); diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerItemTakesDamageScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerItemTakesDamageScriptEvent.java index 743c3f82c9..52529ecc38 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerItemTakesDamageScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerItemTakesDamageScriptEvent.java @@ -45,7 +45,6 @@ public class PlayerItemTakesDamageScriptEvent extends BukkitScriptEvent implemen public static PlayerItemTakesDamageScriptEvent instance; PlayerItemDamageEvent event; - ElementTag damage; ItemTag item; LocationTag location; @@ -82,7 +81,7 @@ public String getName() { @Override public boolean applyDetermination(ScriptPath path, ObjectTag determinationObj) { if (determinationObj instanceof ElementTag && ((ElementTag) determinationObj).isInt()) { - damage = (ElementTag) determinationObj; + event.setDamage(((ElementTag) determinationObj).asInt()); return true; } return super.applyDetermination(path, determinationObj); @@ -99,7 +98,7 @@ public ObjectTag getContext(String name) { return item; } else if (name.equals("damage")) { - return damage; + return new ElementTag(event.getDamage()); } else if (name.equals("slot")) { return new ElementTag(SlotHelper.slotForItem(event.getPlayer().getInventory(), item.getItemStack())); @@ -113,12 +112,10 @@ public void onPlayerItemTakesDamage(PlayerItemDamageEvent event) { return; } item = new ItemTag(event.getItem()); - damage = new ElementTag(event.getDamage()); location = new LocationTag(event.getPlayer().getLocation()); boolean wasCancelled = event.isCancelled(); this.event = event; fire(event); - event.setDamage(damage.asInt()); final Player p = event.getPlayer(); if (cancelled && !wasCancelled) { Bukkit.getScheduler().scheduleSyncDelayedTask(DenizenAPI.getCurrentInstance(), new Runnable() { diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerJoinsScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerJoinsScriptEvent.java index 97a5c1ae72..4b46afcb2b 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerJoinsScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerJoinsScriptEvent.java @@ -39,7 +39,6 @@ public PlayerJoinsScriptEvent() { } public static PlayerJoinsScriptEvent instance; - public String message; public PlayerJoinEvent event; @Override @@ -62,10 +61,10 @@ public boolean applyDetermination(ScriptPath path, ObjectTag determinationObj) { if (determinationObj instanceof ElementTag) { String determination = determinationObj.toString(); if (CoreUtilities.toLowerCase(determination).equals("none")) { - message = null; + event.setJoinMessage(null); return true; } - message = determination; + event.setJoinMessage(determination); return true; } return super.applyDetermination(path, determinationObj); @@ -79,7 +78,7 @@ public ScriptEntryData getScriptEntryData() { @Override public ObjectTag getContext(String name) { if (name.equals("message")) { - return new ElementTag(message); + return new ElementTag(event.getJoinMessage()); } return super.getContext(name); } @@ -89,9 +88,7 @@ public void onPlayerJoins(PlayerJoinEvent event) { if (EntityTag.isNPC(event.getPlayer())) { return; } - message = event.getJoinMessage(); this.event = event; fire(event); - event.setJoinMessage(message); } } diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerKickedScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerKickedScriptEvent.java index 19f94171da..1a625257f1 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerKickedScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerKickedScriptEvent.java @@ -46,8 +46,6 @@ public PlayerKickedScriptEvent() { public static PlayerKickedScriptEvent instance; public PlayerTag player; - public ElementTag message; - public ElementTag reason; public PlayerKickEvent event; public boolean isFlying() { @@ -76,16 +74,16 @@ public String getName() { public boolean applyDetermination(ScriptPath path, ObjectTag determinationObj) { if (determinationObj instanceof ElementTag) { String lower = CoreUtilities.toLowerCase(determinationObj.toString()); - if (path.eventLower.startsWith("message:")) { - message = new ElementTag(path.eventLower.substring("message:".length())); + if (lower.startsWith("message:")) { + event.setLeaveMessage(lower.substring("message:".length())); return true; } - else if (path.eventLower.startsWith("reason:")) { - reason = new ElementTag(path.eventLower.substring("reason:".length())); + else if (lower.startsWith("reason:")) { + event.setReason(lower.substring("reason:".length())); return true; } - else if (path.eventLower.startsWith("fly_cooldown:")) { - DurationTag duration = DurationTag.valueOf(path.eventLower.substring("fly_cooldown:".length())); + else if (lower.startsWith("fly_cooldown:")) { + DurationTag duration = DurationTag.valueOf(lower.substring("fly_cooldown:".length())); if (duration != null) { NMSHandler.getPlayerHelper().setFlyKickCooldown(player.getPlayerEntity(), (int) duration.getTicks()); cancelled = true; @@ -104,10 +102,10 @@ public ScriptEntryData getScriptEntryData() { @Override public ObjectTag getContext(String name) { if (name.equals("message")) { - return message; + return new ElementTag(event.getLeaveMessage()); } else if (name.equals("reason")) { - return reason; + return new ElementTag(event.getReason()); } else if (name.equals("flying")) { return new ElementTag(isFlying()); @@ -121,11 +119,7 @@ public void onPlayerKicked(PlayerKickEvent event) { return; } player = PlayerTag.mirrorBukkitPlayer(event.getPlayer()); - message = new ElementTag(event.getLeaveMessage()); - reason = new ElementTag(event.getReason()); this.event = event; fire(event); - event.setLeaveMessage(message.asString()); - event.setReason(reason.asString()); } } diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerLoginScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerLoginScriptEvent.java index acd77d209a..0c3aaa99d8 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerLoginScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerLoginScriptEvent.java @@ -39,8 +39,6 @@ public PlayerLoginScriptEvent() { } public static PlayerLoginScriptEvent instance; - private String message; - private Boolean kicked; public PlayerLoginEvent event; @Override @@ -66,8 +64,8 @@ public boolean applyDetermination(ScriptPath path, ObjectTag determinationObj) { if (determinationObj instanceof ElementTag) { String determination = determinationObj.toString(); if (CoreUtilities.toLowerCase(determination).startsWith("kicked")) { - message = determination.length() > 7 ? determination.substring(7) : determination; - kicked = true; + String message = determination.length() > 7 ? determination.substring(7) : determination; + event.disallow(PlayerLoginEvent.Result.KICK_OTHER, message); return true; } } @@ -92,11 +90,7 @@ public void onPlayerLogin(PlayerLoginEvent event) { if (EntityTag.isNPC(event.getPlayer())) { return; } - kicked = false; this.event = event; fire(event); - if (kicked) { - event.disallow(PlayerLoginEvent.Result.KICK_OTHER, message); - } } } diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerMendsItemScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerMendsItemScriptEvent.java index 67cd57730d..6fa17e9222 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerMendsItemScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerMendsItemScriptEvent.java @@ -46,8 +46,6 @@ public PlayerMendsItemScriptEvent() { public static PlayerMendsItemScriptEvent instance; public ItemTag item; - public EntityTag experienceOrb; - public ElementTag repairAmount; public PlayerItemMendEvent event; public LocationTag location; @@ -77,7 +75,7 @@ public String getName() { @Override public boolean applyDetermination(ScriptPath path, ObjectTag determinationObj) { if (determinationObj instanceof ElementTag && ((ElementTag) determinationObj).isInt()) { - repairAmount = (ElementTag) determinationObj; + event.setRepairAmount(((ElementTag) determinationObj).asInt()); return true; } return super.applyDetermination(path, determinationObj); @@ -94,10 +92,10 @@ public ObjectTag getContext(String name) { return item; } else if (name.equals("repair_amount")) { - return repairAmount; + return new ElementTag(event.getRepairAmount()); } else if (name.equals("xp_orb")) { - return experienceOrb; + return new EntityTag(event.getExperienceOrb()); } return super.getContext(name); } @@ -108,12 +106,9 @@ public void onPlayerItemMend(PlayerItemMendEvent event) { return; } item = new ItemTag(event.getItem()); - experienceOrb = new EntityTag(event.getExperienceOrb()); location = new LocationTag(event.getPlayer().getLocation()); - repairAmount = new ElementTag(event.getRepairAmount()); this.event = event; fire(event); - event.setRepairAmount(repairAmount.asInt()); } } diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerPicksUpScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerPicksUpScriptEvent.java index cf1f1af69f..5cb3e02e57 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerPicksUpScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerPicksUpScriptEvent.java @@ -53,8 +53,6 @@ public PlayerPicksUpScriptEvent() { public static PlayerPicksUpScriptEvent instance; public ItemTag item; - public boolean itemChanged; - public EntityTag entity; public LocationTag location; public PlayerPickupItemEvent event; @@ -87,9 +85,11 @@ public String getName() { public boolean applyDetermination(ScriptPath path, ObjectTag determinationObj) { String determination = determinationObj.toString(); String lower = CoreUtilities.toLowerCase(determination); - if (path.eventLower.startsWith("item:")) { + if (lower.startsWith("item:")) { item = ItemTag.valueOf(determination.substring("item:".length()), path.container); - itemChanged = true; + editedItems.add(event.getItem().getUniqueId()); + event.getItem().setItemStack(item.getItemStack()); + event.setCancelled(true); return true; } return super.applyDetermination(path, determinationObj); @@ -106,7 +106,7 @@ public ObjectTag getContext(String name) { return item; } else if (name.equals("entity")) { - return entity; + return new EntityTag(event.getItem()); } else if (name.equals("location")) { return location; @@ -127,14 +127,7 @@ public void onPlayerPicksUp(PlayerPickupItemEvent event) { } location = new LocationTag(itemEntity.getLocation()); item = new ItemTag(itemEntity.getItemStack()); - entity = new EntityTag(itemEntity); - itemChanged = false; this.event = event; fire(event); - if (itemChanged) { - itemEntity.setItemStack(item.getItemStack()); - editedItems.add(itemUUID); - event.setCancelled(true); - } } } diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerPreparesAnvilCraftScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerPreparesAnvilCraftScriptEvent.java index 1a1a9291cf..ef02a09c5b 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerPreparesAnvilCraftScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerPreparesAnvilCraftScriptEvent.java @@ -13,7 +13,6 @@ import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.inventory.PrepareAnvilEvent; -import org.bukkit.inventory.AnvilInventory; public class PlayerPreparesAnvilCraftScriptEvent extends BukkitScriptEvent implements Listener { @@ -47,12 +46,9 @@ public PlayerPreparesAnvilCraftScriptEvent() { } public static PlayerPreparesAnvilCraftScriptEvent instance; - public boolean resultChanged; + public PrepareAnvilEvent event; public ItemTag result; - public AnvilInventory inventory; public PlayerTag player; - public ElementTag repairCost; - public ElementTag newName; @Override public boolean couldMatch(ScriptPath path) { @@ -78,13 +74,13 @@ public String getName() { @Override public boolean applyDetermination(ScriptPath path, ObjectTag determinationObj) { if (determinationObj instanceof ElementTag && ((ElementTag) determinationObj).isInt()) { - repairCost = (ElementTag) determinationObj; + event.getInventory().setRepairCost(((ElementTag) determinationObj).asInt()); return true; } String determination = determinationObj.toString(); if (ItemTag.matches(determination)) { result = ItemTag.valueOf(determination, path.container); - resultChanged = true; + event.setResult(result.getItemStack()); return true; } return super.applyDetermination(path, determinationObj); @@ -101,13 +97,13 @@ public ObjectTag getContext(String name) { return result; } else if (name.equals("repair_cost")) { - return repairCost; + return new ElementTag(event.getInventory().getRepairCost()); } else if (name.equals("new_name")) { - return newName; + return new ElementTag(event.getInventory().getRenameText()); } else if (name.equals("inventory")) { - return InventoryTag.mirrorBukkitInventory(inventory); + return InventoryTag.mirrorBukkitInventory(event.getInventory()); } return super.getContext(name); } @@ -121,17 +117,10 @@ public void onCraftItem(PrepareAnvilEvent event) { if (EntityTag.isNPC(humanEntity)) { return; } - inventory = event.getInventory(); - repairCost = new ElementTag(inventory.getRepairCost()); - newName = new ElementTag(inventory.getRenameText()); + this.event = event; result = new ItemTag(event.getResult()); this.player = EntityTag.getPlayerFrom(humanEntity); - this.resultChanged = false; this.cancelled = false; fire(event); - inventory.setRepairCost(repairCost.asInt()); - if (resultChanged) { - event.setResult(result.getItemStack()); - } } } diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerQuitsScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerQuitsScriptEvent.java index e90d792d4f..d30239bcd6 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerQuitsScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerQuitsScriptEvent.java @@ -39,7 +39,6 @@ public PlayerQuitsScriptEvent() { } public static PlayerQuitsScriptEvent instance; - public String message; public PlayerQuitEvent event; @Override @@ -62,10 +61,10 @@ public boolean applyDetermination(ScriptPath path, ObjectTag determinationObj) { if (determinationObj instanceof ElementTag) { String determination = determinationObj.toString(); if (CoreUtilities.toLowerCase(determination).equals("none")) { - message = null; + event.setQuitMessage(null); return true; } - message = determination; + event.setQuitMessage(determination); return true; } return super.applyDetermination(path, determinationObj); @@ -79,7 +78,7 @@ public ScriptEntryData getScriptEntryData() { @Override public ObjectTag getContext(String name) { if (name.equals("message")) { - return new ElementTag(message); + return new ElementTag(event.getQuitMessage()); } return super.getContext(name); } @@ -89,10 +88,8 @@ public void onPlayerQuits(PlayerQuitEvent event) { if (EntityTag.isNPC(event.getPlayer())) { return; } - message = event.getQuitMessage(); this.event = event; fire(event); - event.setQuitMessage(message); } } diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerReceivesCommandsScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerReceivesCommandsScriptEvent.java index f0bee9a3f6..b5ceaa19f0 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerReceivesCommandsScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerReceivesCommandsScriptEvent.java @@ -38,7 +38,6 @@ public PlayerReceivesCommandsScriptEvent() { } public static PlayerReceivesCommandsScriptEvent instance; - private Collection commands; public PlayerCommandSendEvent event; @Override @@ -60,8 +59,8 @@ public String getName() { public boolean applyDetermination(ScriptPath path, ObjectTag determinationObj) { String determination = determinationObj.toString(); if (determination.length() > 0 && !isDefaultDetermination(determinationObj)) { - commands.clear(); - commands.addAll(ListTag.getListFor(determinationObj)); + event.getCommands().clear(); + event.getCommands().addAll(ListTag.getListFor(determinationObj)); return true; } return super.applyDetermination(path, determinationObj); @@ -76,7 +75,7 @@ public ScriptEntryData getScriptEntryData() { public ObjectTag getContext(String name) { if (name.equals("commands")) { ListTag list = new ListTag(); - list.addAll(commands); + list.addAll(event.getCommands()); return list; } return super.getContext(name); @@ -87,7 +86,6 @@ public void onPlayerCommandSend(PlayerCommandSendEvent event) { if (EntityTag.isNPC(event.getPlayer())) { return; } - commands = event.getCommands(); this.event = event; fire(event); } diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerReceivesMessageScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerReceivesMessageScriptEvent.java index 02527cc69e..6bc24b4d39 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerReceivesMessageScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerReceivesMessageScriptEvent.java @@ -80,12 +80,12 @@ public boolean applyDetermination(ScriptPath path, ObjectTag determinationObj) { if (determinationObj instanceof ElementTag && !isDefaultDetermination(determinationObj)) { String determination = determinationObj.toString(); String lower = CoreUtilities.toLowerCase(determination); - if (path.eventLower.startsWith("message:")) { + if (lower.startsWith("message:")) { message = new ElementTag(determination.substring("message:".length())); messageModified = true; return true; } - if (path.eventLower.startsWith("raw_json:")) { + if (lower.startsWith("raw_json:")) { rawJson = new ElementTag(determination.substring("raw_json:".length())); rawJsonModified = true; return true; diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerRespawnsScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerRespawnsScriptEvent.java index 0941e4d865..ae0f3f3803 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerRespawnsScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerRespawnsScriptEvent.java @@ -37,7 +37,6 @@ public PlayerRespawnsScriptEvent() { } public static PlayerRespawnsScriptEvent instance; - public LocationTag location; public PlayerRespawnEvent event; @Override @@ -68,7 +67,7 @@ public boolean applyDetermination(ScriptPath path, ObjectTag determinationObj) { if (!CoreUtilities.toLowerCase(determination).equals("none")) { LocationTag loc = LocationTag.valueOf(determination); if (loc != null) { - location = loc; + event.setRespawnLocation(loc); return true; } } @@ -83,7 +82,7 @@ public ScriptEntryData getScriptEntryData() { @Override public ObjectTag getContext(String name) { if (name.equals("location")) { - return location; + return new LocationTag(event.getRespawnLocation()); } return super.getContext(name); } @@ -93,9 +92,7 @@ public void onPlayerRespawns(PlayerRespawnEvent event) { if (EntityTag.isNPC(event.getPlayer())) { return; } - location = new LocationTag(event.getRespawnLocation()); this.event = event; fire(event); - event.setRespawnLocation(location); } } diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerStatisticIncrementsScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerStatisticIncrementsScriptEvent.java index c218961630..213c6a6667 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerStatisticIncrementsScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerStatisticIncrementsScriptEvent.java @@ -44,10 +44,6 @@ public PlayerStatisticIncrementsScriptEvent() { public static PlayerStatisticIncrementsScriptEvent instance; public Statistic statistic; - public Integer previous_value; - public Integer new_value; - public MaterialTag material; - public EntityTag entity; public PlayerStatisticIncrementEvent event; @Override @@ -82,17 +78,17 @@ public ObjectTag getContext(String name) { return new ElementTag(statistic.toString()); } else if (name.equals("previous_value")) { - return new ElementTag(previous_value); + return new ElementTag(event.getPreviousValue()); } else if (name.equals("new_value")) { - return new ElementTag(new_value); + return new ElementTag(event.getNewValue()); } else if (name.equals("qualifier")) { if (statistic.getType() == Statistic.Type.BLOCK || statistic.getType() == Statistic.Type.ITEM) { - return material; + return new MaterialTag(event.getMaterial()); } else if (statistic.getType() == Statistic.Type.ENTITY) { - return entity; + return new EntityTag(DenizenEntityType.getByName(event.getEntityType().name())); } } return super.getContext(name); @@ -103,18 +99,6 @@ public void onPlayerStatisticIncrements(PlayerStatisticIncrementEvent event) { if (EntityTag.isNPC(event.getPlayer())) { return; } - material = null; - entity = null; - previous_value = null; - statistic = event.getStatistic(); - if (statistic.getType() == Statistic.Type.BLOCK || statistic.getType() == Statistic.Type.ITEM) { - material = new MaterialTag(event.getMaterial()); - } - else if (statistic.getType() == Statistic.Type.ENTITY) { - entity = new EntityTag(DenizenEntityType.getByName(event.getEntityType().name())); - } - previous_value = event.getPreviousValue(); - new_value = event.getNewValue(); this.event = event; fire(event); } diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerSwapsItemsScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerSwapsItemsScriptEvent.java index 8c3cf52b1a..f580df1d16 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerSwapsItemsScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerSwapsItemsScriptEvent.java @@ -42,8 +42,6 @@ public PlayerSwapsItemsScriptEvent() { public static PlayerSwapsItemsScriptEvent instance; public PlayerTag player; - public ItemTag mainhand; - public ItemTag offhand; public PlayerSwapHandItemsEvent event; @Override @@ -66,11 +64,11 @@ public boolean applyDetermination(ScriptPath path, ObjectTag determinationObj) { if (determinationObj instanceof ElementTag) { String determination = determinationObj.toString(); String lower = CoreUtilities.toLowerCase(determination); - if (path.eventLower.startsWith("main:")) { + if (lower.startsWith("main:")) { event.setMainHandItem(ItemTag.valueOf(determination.substring("main:".length()), path.container).getItemStack()); return true; } - else if (path.eventLower.startsWith("offhand:")) { + else if (lower.startsWith("offhand:")) { event.setOffHandItem(ItemTag.valueOf(determination.substring("offhand:".length()), path.container).getItemStack()); return true; } @@ -86,10 +84,10 @@ public ScriptEntryData getScriptEntryData() { @Override public ObjectTag getContext(String name) { if (name.equals("main")) { - return mainhand; + return new ItemTag(event.getMainHandItem()); } else if (name.equals("offhand")) { - return offhand; + return new ItemTag(event.getOffHandItem()); } return super.getContext(name); } @@ -97,8 +95,6 @@ else if (name.equals("offhand")) { @EventHandler public void playerSwapsItems(PlayerSwapHandItemsEvent event) { player = PlayerTag.mirrorBukkitPlayer(event.getPlayer()); - mainhand = new ItemTag(event.getMainHandItem()); - offhand = new ItemTag(event.getOffHandItem()); this.event = event; fire(event); } diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerTakesFromFurnaceScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerTakesFromFurnaceScriptEvent.java index 29205e2570..167e4388b5 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerTakesFromFurnaceScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerTakesFromFurnaceScriptEvent.java @@ -44,7 +44,6 @@ public PlayerTakesFromFurnaceScriptEvent() { public static PlayerTakesFromFurnaceScriptEvent instance; public LocationTag location; public ItemTag item; - private int xp; public FurnaceExtractEvent event; @Override @@ -68,7 +67,8 @@ public String getName() { @Override public boolean applyDetermination(ScriptPath path, ObjectTag determinationObj) { if (determinationObj instanceof ElementTag && ((ElementTag) determinationObj).isInt()) { - xp = ((ElementTag) determinationObj).asInt(); + int xp = ((ElementTag) determinationObj).asInt(); + event.setExpToDrop(xp); return true; } return super.applyDetermination(path, determinationObj); @@ -97,10 +97,8 @@ public void onPlayerTakesFromFurnace(FurnaceExtractEvent event) { } item = new ItemTag(event.getItemType(), event.getItemAmount()); location = new LocationTag(event.getBlock().getLocation()); - xp = event.getExpToDrop(); this.event = event; fire(event); - event.setExpToDrop(xp); } } diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerThrowsEggScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerThrowsEggScriptEvent.java index 565cd57ee6..76b94b694c 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerThrowsEggScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerThrowsEggScriptEvent.java @@ -44,8 +44,6 @@ public PlayerThrowsEggScriptEvent() { public static PlayerThrowsEggScriptEvent instance; public EntityTag egg; - public Boolean is_hatching; - private EntityType type; public PlayerEggThrowEvent event; @Override @@ -55,10 +53,10 @@ public boolean couldMatch(ScriptPath path) { @Override public boolean matches(ScriptPath path) { - if (path.eventArgLowerAt(2).equals("hatching") && !is_hatching) { + if (path.eventArgLowerAt(2).equals("hatching") && !event.isHatching()) { return false; } - if (path.eventArgLowerAt(2).equals("non-hatching") && is_hatching) { + if (path.eventArgLowerAt(2).equals("non-hatching") && event.isHatching()) { return false; } @@ -74,8 +72,9 @@ public String getName() { public boolean applyDetermination(ScriptPath path, ObjectTag determinationObj) { String determination = determinationObj.toString(); if (EntityTag.matches(determination)) { - is_hatching = true; - type = EntityTag.valueOf(determination).getBukkitEntityType(); + event.setHatching(true); + EntityType type = EntityTag.valueOf(determination).getBukkitEntityType(); + event.setHatchingType(type); return true; } return super.applyDetermination(path, determinationObj); @@ -89,7 +88,7 @@ public ScriptEntryData getScriptEntryData() { @Override public ObjectTag getContext(String name) { if (name.equals("is_hatching")) { - return new ElementTag(is_hatching); + return new ElementTag(event.isHatching()); } else if (name.equals("egg")) { return egg; @@ -102,19 +101,12 @@ public void onPlayerThrowsEgg(PlayerEggThrowEvent event) { if (EntityTag.isNPC(event.getPlayer())) { return; } - is_hatching = event.isHatching(); Entity eggEntity = event.getEgg(); EntityTag.rememberEntity(eggEntity); egg = new EntityTag(event.getEgg()); - type = event.getHatchingType(); this.event = event; cancelled = false; fire(event); - if (cancelled) { - is_hatching = false; - } EntityTag.forgetEntity(eggEntity); - event.setHatching(is_hatching); - event.setHatchingType(type); } } diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerUsesPortalScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerUsesPortalScriptEvent.java index ade5471464..06b0362a04 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerUsesPortalScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerUsesPortalScriptEvent.java @@ -63,6 +63,7 @@ public boolean applyDetermination(ScriptPath path, ObjectTag determinationObj) { String determination = determinationObj.toString(); if (LocationTag.matches(determination)) { to = LocationTag.valueOf(determination); + event.setTo(to); return true; } return super.applyDetermination(path, determinationObj); @@ -97,6 +98,5 @@ public void onPlayerEntersPortal(PlayerPortalEvent event) { from = new LocationTag(event.getFrom()); this.event = event; fire(event); - event.setTo(to); } } diff --git a/plugin/src/main/java/com/denizenscript/denizen/scripts/containers/core/ItemScriptHelper.java b/plugin/src/main/java/com/denizenscript/denizen/scripts/containers/core/ItemScriptHelper.java index c9b0d5b9d8..2f4b0305df 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/scripts/containers/core/ItemScriptHelper.java +++ b/plugin/src/main/java/com/denizenscript/denizen/scripts/containers/core/ItemScriptHelper.java @@ -5,7 +5,6 @@ import com.denizenscript.denizen.utilities.Utilities; import com.denizenscript.denizen.utilities.debugging.Debug; import com.denizenscript.denizen.events.bukkit.ScriptReloadEvent; -import com.denizenscript.denizen.events.player.PlayerCraftsItemScriptEvent; import com.denizenscript.denizen.nms.NMSHandler; import com.denizenscript.denizen.objects.ItemTag; import com.denizenscript.denizen.objects.PlayerTag; @@ -400,31 +399,6 @@ public void specialRecipeClick(InventoryClickEvent event) { if (recipeEntry == null) { return; } - - PlayerCraftsItemScriptEvent scriptEvent = PlayerCraftsItemScriptEvent.instance; - scriptEvent.inventory = inventory; - scriptEvent.result = new ItemTag(inventory.getResult()); - ListTag recipeList = new ListTag(); - for (ItemStack item : inventory.getMatrix()) { - if (item != null) { - recipeList.add(new ItemTag(item.clone()).identify()); - } - else { - recipeList.add(new ItemTag(Material.AIR).identify()); - } - } - scriptEvent.recipe = recipeList; - scriptEvent.player = PlayerTag.mirrorBukkitPlayer(player); - scriptEvent.resultChanged = false; - scriptEvent.cancelled = false; - scriptEvent.fire(); - if (scriptEvent.cancelled) { - event.setCancelled(true); - return; - } - else if (scriptEvent.resultChanged) { - event.setCurrentItem(scriptEvent.result.getItemStack()); - } } // If the RESULT slot was shift-clicked, emulate