Files
TabooLib/src/main/scala/me/skymc/taboolib/anvil/AnvilContainerAPI.java
2019-03-02 15:48:21 +08:00

45 lines
1.3 KiB
Java

package me.skymc.taboolib.anvil;
import com.ilummc.tlib.util.asm.AsmClassLoader;
import me.skymc.taboolib.TabooLib;
import me.skymc.taboolib.common.loader.Instantiable;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
/**
* @author sky
*/
@Instantiable("AnvilContainerAPI")
public class AnvilContainerAPI implements Listener {
private static Class<?> impl;
public AnvilContainerAPI() {
try {
impl = AsmClassLoader.createNewClass("me.skymc.taboolib.anvil.AnvilContainer", AnvilContainerGenerator.generate());
Bukkit.getPluginManager().registerEvents(this, TabooLib.instance());
} catch (Exception e) {
e.printStackTrace();
}
}
public static void openAnvil(Player player) {
try {
impl.getMethod("openAnvil", Player.class).invoke(impl, player);
} catch (Exception e) {
e.printStackTrace();
}
}
@EventHandler
public void example(PlayerCommandPreprocessEvent e) {
if (e.getMessage().equalsIgnoreCase("/anvilExample") && e.getPlayer().hasPermission("taboolib.admin")) {
e.setCancelled(true);
openAnvil(e.getPlayer());
}
}
}