Skip to content

Commit

Permalink
Add inventory identifications to inventory clicks event
Browse files Browse the repository at this point in the history
I'm sorry, I got extremely annoyed with trying to read all the nonsense.
I added a TODO to make the event smarter... Eventually I'll do that, and
hopefully store some static variables in the file so we don't have a
wall of freaking possibilities that's almost impossible to read
  • Loading branch information
Morphan1 committed Oct 20, 2014
1 parent 6c9fbd9 commit 676d055
Showing 1 changed file with 41 additions and 26 deletions.
Expand Up @@ -2542,11 +2542,13 @@ public void enchantItemEvent(EnchantItemEvent event) {
@EventHandler
public void inventoryClickEvent(InventoryClickEvent event) {

// TODO: make this a smart event...

Map<String, dObject> context = new HashMap<String, dObject>();
dItem item = null;
dItem holding;

Inventory inventory = event.getInventory();
dInventory inventory = dInventory.mirrorBukkitInventory(event.getInventory());
final dPlayer player = new dPlayer((Player) event.getWhoClicked());
String type = event.getInventory().getType().name();
String click = event.getClick().name();
Expand All @@ -2555,24 +2557,30 @@ public void inventoryClickEvent(InventoryClickEvent event) {
List<String> events = new ArrayList<String>();
events.add("player clicks in inventory");
events.add("player clicks in " + type);
events.add("player clicks in " + inventory.identifySimple());

String interaction = "player " + click + " clicks ";

events.add(interaction + "in inventory");
events.add(interaction + "in " + type);
events.add(interaction + "in " + inventory.identifySimple());

if (event.getCursor() != null) {
holding = new dItem(event.getCursor());
context.put("cursor_item", holding);

events.add(interaction + "in inventory with " + holding.identifySimple());
events.add(interaction + "in " + type + " with " + holding.identifySimple());
events.add(interaction + "in " + inventory.identifySimple() + " with " + holding.identifySimple());
events.add(interaction + "in inventory with " + holding.identifyMaterial());
events.add(interaction + "in " + type + " with " + holding.identifyMaterial());
events.add(interaction + "in " + inventory.identifySimple() + " with " + holding.identifyMaterial());
events.add("player clicks in inventory with " + holding.identifySimple());
events.add("player clicks in " + type + " with " + holding.identifySimple());
events.add("player clicks in " + inventory.identifySimple() + " with " + holding.identifySimple());
events.add("player clicks in inventory with " + holding.identifyMaterial());
events.add("player clicks in " + type + " with " + holding.identifyMaterial());
events.add("player clicks in " + inventory.identifySimple() + " with " + holding.identifyMaterial());
}

if (event.getCurrentItem() != null) {
Expand All @@ -2586,6 +2594,10 @@ public void inventoryClickEvent(InventoryClickEvent event) {
item.identifySimple() + " in " + type);
events.add(interaction +
item.identifySimple() + " in " + type);
events.add("player clicks " +
item.identifySimple() + " in " + inventory.identifySimple());
events.add(interaction +
item.identifySimple() + " in " + inventory.identifySimple());
events.add("player clicks " +
item.identifyMaterial() + " in inventory");
events.add(interaction +
Expand All @@ -2594,39 +2606,42 @@ public void inventoryClickEvent(InventoryClickEvent event) {
item.identifyMaterial() + " in " + type);
events.add(interaction +
item.identifyMaterial() + " in " + type);
events.add("player clicks " +
item.identifyMaterial() + " in " + inventory.identifySimple());
events.add(interaction +
item.identifyMaterial() + " in " + inventory.identifySimple());

if (event.getCursor() != null) {
holding = new dItem(event.getCursor());

events.add("player clicks " +
item.identifySimple() + " in inventory with " + holding.identifySimple());
events.add(interaction +
item.identifySimple() + " in inventory with " + holding.identifySimple());
events.add(interaction +
item.identifySimple() + " in " + type + " with " + holding.identifySimple());
events.add("player clicks " +
item.identifySimple() + " in inventory with " + holding.identifyMaterial());
events.add(interaction +
item.identifySimple() + " in inventory with " + holding.identifyMaterial());
events.add(interaction +
item.identifySimple() + " in " + type + " with " + holding.identifyMaterial());
events.add("player clicks " +
item.identifyMaterial() + " in inventory with " + holding.identifyMaterial());
events.add(interaction +
item.identifyMaterial() + " in inventory with " + holding.identifyMaterial());
events.add(interaction +
item.identifyMaterial() + " in " + type + " with " + holding.identifyMaterial());
events.add("player clicks " +
item.identifyMaterial() + " in inventory with " + holding.identifySimple());
events.add(interaction +
item.identifyMaterial() + " in inventory with " + holding.identifySimple());
events.add(interaction +
item.identifyMaterial() + " in " + type + " with " + holding.identifySimple());
final String[] itemStrings = new String[] {
item.identifySimple(),
item.identifyMaterial()
};
final String[] inventoryStrings = new String[] {
"inventory",
type,
inventory.identifySimple()
};
final String[] holdingStrings = new String[] {
holding.identifySimple(),
holding.identifyMaterial()
};

for (String itemString : itemStrings) {
for (String inventoryString : inventoryStrings) {
for (String holdingString : holdingStrings) {
String fullString = itemString + " in " + inventoryString + " with " + holdingString;
events.add("player clicks " + fullString);
events.add(interaction + fullString);
}
}
}
}
}

context.put("item", item);
context.put("inventory", dInventory.mirrorBukkitInventory(inventory));
context.put("inventory", inventory);
context.put("click", new Element(click));
context.put("slot_type", new Element(slotType));
context.put("slot", new Element(event.getSlot() + 1));
Expand Down

0 comments on commit 676d055

Please sign in to comment.