Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
164 changes: 82 additions & 82 deletions gradlew.bat

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -440,64 +440,6 @@ else if (hand == EquipmentSlot.OFF_HAND)
// Server stop event
registry.register(EventValue.simple(SkriptStopEvent.class, CommandSender.class, event -> Bukkit.getConsoleSender()));

// === InventoryEvents ===
// InventoryClickEvent
registry.register(EventValue.simple(InventoryClickEvent.class, Player.class, event -> event.getWhoClicked() instanceof Player player ? player : null));
registry.register(EventValue.simple(InventoryClickEvent.class, World.class, event -> event.getWhoClicked().getWorld()));
registry.register(EventValue.simple(InventoryClickEvent.class, ItemStack.class, InventoryClickEvent::getCurrentItem));
registry.register(EventValue.simple(InventoryClickEvent.class, Slot.class, event -> {
Inventory invi = event.getClickedInventory(); // getInventory is WRONG and dangerous
if (invi == null)
return null;
int slotIndex = event.getSlot();

// Not all indices point to inventory slots. Equipment, for example
if (invi instanceof PlayerInventory itemStacks && slotIndex >= 36) {
return new ch.njol.skript.util.slot.EquipmentSlot(itemStacks.getHolder(), slotIndex);
} else {
return new InventorySlot(invi, slotIndex, event.getRawSlot());
}
}));
registry.register(EventValue.simple(InventoryClickEvent.class, InventoryAction.class, InventoryClickEvent::getAction));
registry.register(EventValue.simple(InventoryClickEvent.class, ClickType.class, InventoryClickEvent::getClick));
registry.register(EventValue.simple(InventoryClickEvent.class, Inventory.class, InventoryClickEvent::getClickedInventory));
// InventoryDragEvent
registry.register(EventValue.simple(InventoryDragEvent.class, Player.class, event -> event.getWhoClicked() instanceof Player player ? player : null));
registry.register(EventValue.simple(InventoryDragEvent.class, World.class, event -> event.getWhoClicked().getWorld()));
registry.register(EventValue.builder(InventoryDragEvent.class, ItemStack.class)
.getter(InventoryDragEvent::getOldCursor)
.time(Time.PAST)
.build());
registry.register(EventValue.simple(InventoryDragEvent.class, ItemStack.class, InventoryDragEvent::getCursor));
registry.register(EventValue.simple(InventoryDragEvent.class, ItemStack[].class, event -> event.getNewItems().values().toArray(new ItemStack[0])));
registry.register(EventValue.simple(InventoryDragEvent.class, Slot[].class, event -> {
List<Slot> slots = new ArrayList<>(event.getRawSlots().size());
InventoryView view = event.getView();
for (Integer rawSlot : event.getRawSlots()) {
Inventory inventory = InventoryUtils.getInventory(view, rawSlot);
Integer slot = InventoryUtils.convertSlot(view, rawSlot);
if (inventory == null || slot == null)
continue;
// Not all indices point to inventory slots. Equipment, for example
if (inventory instanceof PlayerInventory && slot >= 36) {
slots.add(new ch.njol.skript.util.slot.EquipmentSlot(((PlayerInventory) view.getBottomInventory()).getHolder(), slot));
} else {
slots.add(new InventorySlot(inventory, slot));
}
}
return slots.toArray(new Slot[0]);
}));
registry.register(EventValue.simple(InventoryDragEvent.class, ClickType.class, event -> event.getType() == DragType.EVEN ? ClickType.LEFT : ClickType.RIGHT));
registry.register(EventValue.simple(InventoryDragEvent.class, Inventory[].class, event -> {
Set<Inventory> inventories = new HashSet<>();
InventoryView view = event.getView();
for (Integer rawSlot : event.getRawSlots()) {
Inventory inventory = InventoryUtils.getInventory(view, rawSlot);
if (inventory != null)
inventories.add(inventory);
}
return inventories.toArray(new Inventory[0]);
}));
// PrepareAnvilEvent
if (Skript.classExists("com.destroystokyo.paper.event.inventory.PrepareResultEvent"))
registry.register(EventValue.simple(PrepareAnvilEvent.class, ItemStack.class, PrepareResultEvent::getResult));
Expand Down Expand Up @@ -541,18 +483,7 @@ else if (hand == EquipmentSlot.OFF_HAND)
return event.getCurrentItem();
return recipe.getResult();
}));
//InventoryEvent
registry.register(EventValue.simple(InventoryEvent.class, Inventory.class, InventoryEvent::getInventory));
//InventoryOpenEvent
registry.register(EventValue.simple(InventoryOpenEvent.class, Player.class, event -> (Player) event.getPlayer()));
//InventoryCloseEvent
registry.register(EventValue.simple(InventoryCloseEvent.class, Player.class, event -> (Player) event.getPlayer()));
if (Skript.classExists("org.bukkit.event.inventory.InventoryCloseEvent$Reason"))
registry.register(EventValue.simple(InventoryCloseEvent.class, InventoryCloseEvent.Reason.class, InventoryCloseEvent::getReason));
//InventoryPickupItemEvent
registry.register(EventValue.simple(InventoryPickupItemEvent.class, Inventory.class, InventoryPickupItemEvent::getInventory));
registry.register(EventValue.simple(InventoryPickupItemEvent.class, Item.class, InventoryPickupItemEvent::getItem));
registry.register(EventValue.simple(InventoryPickupItemEvent.class, ItemStack.class, event -> event.getItem().getItemStack()));

//PortalCreateEvent
registry.register(EventValue.simple(PortalCreateEvent.class, World.class, WorldEvent::getWorld));
registry.register(EventValue.simple(PortalCreateEvent.class, Block[].class, event -> event.getBlocks().stream()
Expand Down Expand Up @@ -742,20 +673,6 @@ else if (hand == EquipmentSlot.OFF_HAND)
if (Skript.classExists("org.bukkit.event.block.BellResonateEvent")) {
registry.register(EventValue.simple(BellResonateEvent.class, Entity[].class, event -> event.getResonatedEntities().toArray(new LivingEntity[0])));
}

// InventoryMoveItemEvent
registry.register(EventValue.simple(InventoryMoveItemEvent.class, Inventory.class, InventoryMoveItemEvent::getSource));
registry.register(EventValue.builder(InventoryMoveItemEvent.class, Inventory.class)
.getter(InventoryMoveItemEvent::getDestination)
.time(Time.FUTURE)
.build());
registry.register(EventValue.simple(InventoryMoveItemEvent.class, Block.class, event -> event.getSource().getLocation().getBlock()));
registry.register(EventValue.builder(InventoryMoveItemEvent.class, Block.class)
.getter(event -> event.getDestination().getLocation().getBlock())
.time(Time.FUTURE)
.build());
registry.register(EventValue.simple(InventoryMoveItemEvent.class, ItemStack.class, InventoryMoveItemEvent::getItem));

// EntityRegainHealthEvent
registry.register(EventValue.simple(EntityRegainHealthEvent.class, RegainReason.class, EntityRegainHealthEvent::getRegainReason));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
import org.jetbrains.annotations.Nullable;
import org.skriptlang.skript.bukkit.types.BlockClassInfo;
import org.skriptlang.skript.bukkit.types.EntityClassInfo;
import org.skriptlang.skript.bukkit.types.InventoryClassInfo;
import org.skriptlang.skript.bukkit.inventory.InventoryClassInfo;
import org.skriptlang.skript.bukkit.types.PlayerClassInfo;

/**
Expand Down Expand Up @@ -66,8 +66,6 @@ public void change(final Item[] what, final @Nullable Object[] delta, final Chan
}
};

public final static Changer<Inventory> inventoryChanger = new InventoryClassInfo.InventoryChanger();

public final static Changer<Block> blockChanger = new BlockClassInfo.BlockChanger();

}
20 changes: 0 additions & 20 deletions src/main/java/ch/njol/skript/events/EvtItem.java
Original file line number Diff line number Diff line change
Expand Up @@ -77,13 +77,6 @@ public class EvtItem extends SkriptEvent {
.description("Called when a player is done eating/drinking something, e.g. an apple, bread, meat, milk or a potion.")
.examples("on consume:")
.since("2.0");
Skript.registerEvent("Inventory Click", EvtItem.class, InventoryClickEvent.class, "[player] inventory(-| )click[ing] [[at] %-itemtypes%]")
.description("Called when clicking on inventory slot.")
.examples("on inventory click:",
"\tif event-item is stone:",
"\t\tgive player 1 stone",
"\t\tremove 20$ from player's balance")
.since("2.2-Fixes-V10");
Skript.registerEvent("Item Despawn", EvtItem.class, ItemDespawnEvent.class, "(item[ ][stack]|[item] %-itemtypes%) despawn[ing]", "[item[ ][stack]] despawn[ing] [[of] %-itemtypes%]")
.description("Called when an item is about to be despawned from the world, usually 5 minutes after it was dropped.")
.examples("on item despawn of diamond:",
Expand All @@ -96,19 +89,6 @@ public class EvtItem extends SkriptEvent {
.examples("on item merge of gold blocks:",
" cancel event")
.since("2.2-dev35");
Skript.registerEvent("Inventory Item Move", SimpleEvent.class, InventoryMoveItemEvent.class,
"inventory item (move|transport)",
"inventory (mov(e|ing)|transport[ing]) [an] item")
.description(
"Called when an entity or block (e.g. hopper) tries to move items directly from one inventory to another.",
"When this event is called, the initiator may have already removed the item from the source inventory and is ready to move it into the destination inventory.",
"If this event is cancelled, the items will be returned to the source inventory."
)
.examples(
"on inventory item move:",
"\tbroadcast \"%holder of past event-inventory% is transporting %event-item% to %holder of event-inventory%!\""
)
.since("2.8.0");
if (HAS_PLAYER_STONECUTTER_RECIPE_SELECT_EVENT) {
Skript.registerEvent("Stonecutter Recipe Select", EvtItem.class, PlayerStonecutterRecipeSelectEvent.class, "stonecutting [[of] %-itemtypes%]")
.description("Called when a player selects a recipe in a stonecutter.")
Expand Down
25 changes: 0 additions & 25 deletions src/main/java/ch/njol/skript/events/SimpleEvents.java
Original file line number Diff line number Diff line change
Expand Up @@ -325,17 +325,6 @@ public class SimpleEvents {
.examples("on sheep grow wool:",
"\tcancel event")
.since("2.2-dev21");
Skript.registerEvent("Inventory Open", SimpleEvent.class, InventoryOpenEvent.class, "inventory open[ed]")
.description("Called when an inventory is opened for player.")
.examples("on inventory open:",
"\tclose player's inventory")
.since("2.2-dev21");
Skript.registerEvent("Inventory Close", SimpleEvent.class, InventoryCloseEvent.class, "inventory clos(ing|e[d])")
.description("Called when player's currently viewed inventory is closed.")
.examples("on inventory close:",
"\tif player's location is {location}:",
"\t\tsend \"You exited the shop!\"")
.since("2.2-dev21");
Skript.registerEvent("Slime Split", SimpleEvent.class, SlimeSplitEvent.class, "slime split[ting]")
.description("Called when a slime splits. Usually this happens when a big slime dies.")
.examples("on slime split:")
Expand Down Expand Up @@ -441,10 +430,6 @@ public class SimpleEvents {
"\tif the clicked button is 1: # offer 1",
"\t\tset the applied enchantments to sharpness 10 and unbreaking 10")
.since("2.5");
Skript.registerEvent("Inventory Pickup", SimpleEvent.class, InventoryPickupItemEvent.class, "inventory pick[ ]up")
.description("Called when an inventory (a hopper, a hopper minecart, etc.) picks up an item")
.examples("on inventory pickup:")
.since("2.5.1");
Skript.registerEvent("Horse Jump", SimpleEvent.class, HorseJumpEvent.class, "horse jump")
.description("Called when a horse jumps.")
.examples("on horse jump:", "\tpush event-entity upwards at speed 2")
Expand Down Expand Up @@ -561,16 +546,6 @@ public class SimpleEvents {
"\tteleport event-projectile to block 5 above event-projectile"
)
.since("2.8.0");

Skript.registerEvent("Inventory Drag", SimpleEvent.class, InventoryDragEvent.class, "inventory drag[ging]")
.description("Called when a player drags an item in their cursor across the inventory.")
.examples(
"on inventory drag:",
"\tif player's current inventory is {_gui}:",
"\t\tsend \"You can't drag your items here!\" to player",
"\t\tcancel event"
)
.since("2.7");
Skript.registerEvent("Piglin Barter", SimpleEvent.class, PiglinBarterEvent.class, "piglin (barter[ing]|trad(e|ing))")
.description(
"Called when a piglin finishes bartering. A piglin may start bartering after picking up an item on its bartering list.",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
import org.skriptlang.skript.bukkit.entity.EntityModule;
import org.skriptlang.skript.bukkit.fishing.FishingModule;
import org.skriptlang.skript.bukkit.input.InputModule;
import org.skriptlang.skript.bukkit.inventory.InventoryClassInfo;
import org.skriptlang.skript.bukkit.inventory.InventoryModule;
import org.skriptlang.skript.bukkit.item.ItemModule;
import org.skriptlang.skript.bukkit.itemcomponents.ItemComponentModule;
import org.skriptlang.skript.bukkit.loottables.LootTableModule;
Expand Down Expand Up @@ -47,6 +49,7 @@ public Iterable<AddonModule> children() {
new EntityModule(this),
new FishingModule(this),
new InputModule(this),
new InventoryModule(this),
new ItemModule(this),
new ItemComponentModule(this),
new LootTableModule(this),
Expand All @@ -64,7 +67,6 @@ public Iterable<AddonModule> children() {
protected void initSelf(SkriptAddon addon) {
Classes.registerClass(new BlockClassInfo());
Classes.registerClass(new EntityClassInfo());
Classes.registerClass(new InventoryClassInfo());
Classes.registerClass(new ItemStackClassInfo());
Classes.registerClass(new ItemTypeClassInfo());
Classes.registerClass(new LocationClassInfo());
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.skriptlang.skript.bukkit.types;
package org.skriptlang.skript.bukkit.inventory;

import ch.njol.skript.Skript;
import ch.njol.skript.aliases.ItemType;
Expand Down
Loading
Loading