나는 동시에 Java & Bukkit을 배우려고합니다. 이전에 몇 가지 기본 Java를 배웠고 간단한 텍스트 게임을 만들었습니다.여러 클래스를 사용하는 Bukkit
내가 1 클래스를 사용할 때 내가 뭘하는지 알지만, 모든 것이 지저분 해져서 모든 것을 다시 코딩하고 있지만 훨씬 더 깨끗하게 만들려고 시도했지만 필자와 만났어. 문제는, 메인 클래스는 따로하고, 다른 클래스는 작동하지 않습니다. 여기에 제 코드가 있습니다.
메인 클래스 :
여기package me.Camaloony.RoyalCosmetics;
import java.util.logging.Logger;
import org.bukkit.Bukkit;
import org.bukkit.event.Listener;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
import net.md_5.bungee.api.ChatColor;
public class Core extends JavaPlugin implements Listener {
Logger myPluginLogger = Bukkit.getLogger();
@Override
public void onEnable()
{
PluginManager manager = getServer().getPluginManager();
manager.registerEvents(this, this);
Bukkit.getServer().getConsoleSender().sendMessage(ChatColor.RED + "=-=-=-=-=-=-=-=-=-=-=-=-=-=-");
Bukkit.getServer().getConsoleSender().sendMessage(ChatColor.AQUA + "Royal Cosmetics has been enabled!");
Bukkit.getServer().getConsoleSender().sendMessage(ChatColor.RED + "=-=-=-=-=-=-=-=-=-=-=-=-=-=-");
}
@Override
public void onDisable()
{
myPluginLogger.info("Test 1 has been disabled!");
myPluginLogger.severe("Test 1 has an error and has not loaded.");
}
}
이
package me.Camaloony.RoyalCosmetics;
import java.util.ArrayList;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
public class MainGUI implements Listener {
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
Player player = (Player) sender;
if (commandLabel.equalsIgnoreCase("Cosmetics")) {
createMainMenu(player);
}
return false;
}
@EventHandler
public void onInvClick(InventoryClickEvent event){
if (event.getCurrentItem().getItemMeta().getDisplayName().contains("Particles GUI")) {
event.setCancelled(true);
}
}
public void createMainMenu(Player player) {
Inventory inv = Bukkit.getServer().createInventory(null, 45, "Royal Cosmetics");
ItemStack item1 = new ItemStack(Material.REDSTONE);
ItemMeta item1Meta = item1.getItemMeta();
ArrayList<String> item1Lore = new ArrayList<String>();
item1Lore.add("Click here to go to the particles GUI");
item1Meta.setDisplayName("Particles GUI");
item1Meta.setLore(item1Lore);
item1.setItemMeta(item1Meta);
inv.setItem(0, item1);
player.openInventory(inv);
}
}
가 어떻게 그렇게 2 클래스가 실제로 '읽기'입니다 만들 것입니다 내 2 급입니까?
고맙습니다.
manager.registerEvents(new MainGUI(), this);
: 두 번째 (비 주) 클래스는 Listener
때문에
MainGUI 클래스에서 Command Executor를 구현합니까? – CameronOfoluwa
내가 연계 된 튜토리얼은 (CommandExecutor는 자신의 클래스 중 하나에서 확장 한 클래스이다) 설명해야한다. –