kimhanuel
대표칭호 없음
이해도 | 입문자 |
---|---|
게임버전 (JE) | 1.19.4 |
게임버전 (BE) | 관련없음 |
그 명령어를 치면 아이템이 지급되는 플러그인을 만들었는데 거기다가 쿨타임을 넣고싶어요
코드:
package MinecraftPlugin; import org.bukkit.Material; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.command.ConsoleCommandSender; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; public class item implements CommandExecutor { //명령어 처리 클래스는 CommandExecutor 인터페이스를 상속해야 한다. @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { //명령어 실행 시 if(sender instanceof Player) { //명령어 사용자가 플레이어인 경우 Player player = (Player)sender; //명령어 사용자 객체를 플레이어 객체로 변환할 수 있음 player.sendMessage("아이템이 지급되었습니다."); //사용자에게 메시지 발신 ItemStack woods = new ItemStack(Material.OAK_LOG); ItemStack irons = new ItemStack(Material.IRON_INGOT); ItemStack golds = new ItemStack(Material.GOLD_INGOT); ItemStack diamonds = new ItemStack(Material.DIAMOND); woods.setAmount(10); irons.setAmount(10); golds.setAmount(10); diamonds.setAmount(10); player.getInventory().addItem( woods, irons, golds, diamonds); //플레이어의 인벤토리를 가져와 아이템을 집어넣음 return true; //true값을 반환하면 명령어가 성공한 것으로 간주 } else if(sender instanceof ConsoleCommandSender) { //명령어 사용자가 콘솔인 경우 sender.sendMessage("콘솔에서는 이 명령어를 실행할 수 없습니다."); return false; //false값을 반환하면 명령어가 실패한 것으로 간주 } return false; //false값을 반환하면 명령어가 실패한 것으로 간주 } }
0reo
2023.05.01플레이어 셋 만들고 거따 add한담에 runnable로 일정시간후 리스트에서 지우면댐
0reo
2023.05.01kimhanuel
2023.05.01private void timer(Player player) {
players.add(player);
Bukkit.getScheduler().runTaskLater(Main.class, () -> {
players.remove(player);
}, 30 * 20);
}
}
에서 Main.class에 빨간줄 (오류) 뜨는데여
0reo
2023.05.02님꺼 메인클래스 (Javaplugin 상속하는 클래스) 로 바꾸셔야해요.. 저건예시
0reo
2023.05.02JavaPlugin.getPlugin((JavaPlugin 상속 클래스).class)