SkStuff/src/me/TheBukor/SkStuff/expressions/ExprClickedInventory.java

50 lines
1.3 KiB
Java

package me.TheBukor.SkStuff.expressions;
import javax.annotation.Nullable;
import org.bukkit.event.Event;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.Inventory;
import ch.njol.skript.ScriptLoader;
import ch.njol.skript.Skript;
import ch.njol.skript.lang.Expression;
import ch.njol.skript.lang.SkriptParser.ParseResult;
import ch.njol.skript.lang.util.SimpleExpression;
import ch.njol.skript.log.ErrorQuality;
import ch.njol.util.Kleenean;
public class ExprClickedInventory extends SimpleExpression<Inventory> {
@Override
public Class<? extends Inventory> getReturnType() {
return Inventory.class;
}
@Override
public boolean isSingle() {
return true;
}
@Override
public boolean init(Expression<?>[] expr, int matchedPattern, Kleenean arg2, ParseResult result) {
if (!ScriptLoader.isCurrentEvent(InventoryClickEvent.class)) {
Skript.error("The expression clicked inventory can only be used in an on inventory click event", ErrorQuality.SEMANTIC_ERROR);
return false;
}
return true;
}
@Override
public String toString(@Nullable Event e, boolean debug) {
return "clicked inventory";
}
@Override
@Nullable
protected Inventory[] get(Event e) {
return new Inventory[] { ((InventoryClickEvent) e).getClickedInventory() };
}
}