Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Прошу предоставить код.Сделал код на ГУИ, но не работает телепорт в игре. Могу скинуть код,может подскажите?
Прошу предоставить код.
Я это вообще делал по гайду ._, Самое простое, ну и в принципе я вообще новичок в Создании плагинов =)Дебажил?
Я не уверен на счёт твоего switch, у тебя проверки он вообще проходят?
Я кстати так дебажу System.out.println("Debug"); - после каждой проверки.
if(event.getCurrentItem() == null || event.getCurrentItem().getType() == Material.AIR ||event.getCurrentItem().hasItemMeta()){
player.closeInventory();
return;
} - зачем это? У тебя предметы имеют итеммету, убери это из проверки в InventoryClickEvent
Можно сылку на гайд.Я это вообще делал по гайду ._, Самое простое, ну и в принципе я вообще новичок в Создании плагинов =)
Можно сылку на гайд.
А вы не смогли бы подправить этот код и скинуть обратно ? ._.Можно сылку на гайд.
Да.
А вы не смогли бы подправить этот код и скинуть обратно ? ._.
Я был прав event.getCurrentItem().hasItemMeta() не нужно.
А вы не смогли бы подправить этот код и скинуть обратно ? ._.
private void teleportInWorld(Player player, int x, int y, int z){
player.teleport(new Location(player.getWorld(), x, y, z));
}
private void openGUI(Player player){
Inventory inv = Bukkit.createInventory(null, 54, ChatColor.GREEN +"Map Travel");
ItemStack survival = new ItemStack(Material.GRASS);
ItemMeta survivalMeta = survival.getItemMeta();
ItemStack Kingdom = new ItemStack(Material.SNOW_BLOCK);
ItemMeta KingdomMeta = Kingdom.getItemMeta();
survivalMeta.setDisplayName(ChatColor.RED + "The Wall");
survival.setItemMeta(survivalMeta);
KingdomMeta.setDisplayName(ChatColor.AQUA + "Winterfell");
Kingdom.setItemMeta(KingdomMeta);
inv.setItem(1, survival);
inv.setItem(2, Kingdom);
player.openInventory(inv);
}
@EventHandler
public void onInventoryClick(InventoryClickEvent event){
if(!ChatColor.stripColor(event.getInventory().getName()).equalsIgnoreCase("Map Travel"))
return;
Player player = (Player) event.getWhoClicked();
event.setCancelled(true);
if(event.getCurrentItem() == null || event.getCurrentItem().getType() == Material.AIR){
player.closeInventory();
return;
}
switch(event.getCurrentItem().getType()){
case GRASS:
teleportInWorld(player, 100, 100, 100);
player.closeInventory();
break;
case SNOW_BLOCK:
teleportInWorld(player, 100, 100, 100);
player.closeInventory();
break;
}
}
@EventHandler
public void onJoin(PlayerJoinEvent event){
event.getPlayer().getInventory().addItem(new ItemStack(Material.COMPASS));
}
@EventHandler
public void onPlayerInteract(PlayerInteractEvent event){
Action a = event.getAction();
ItemStack is = event.getItem();
if(a == Action.PHYSICAL || is == null || is.getType() == Material.AIR)
return;
if(is.getType() == Material.COMPASS )
openGUI(event.getPlayer());
}
Добавлять также как и тогда можно? А за материал ОГРОМНОЕ СПАСИБО. По постам понял, что делаешь работу бесплатно, но не слишком муторную, еще раз спасибо. ._, Аж плачуДа.
Я был прав event.getCurrentItem().hasItemMeta() не нужно.
JavaScript:private void teleportInWorld(Player player, int x, int y, int z){ player.teleport(new Location(player.getWorld(), x, y, z)); } private void openGUI(Player player){ Inventory inv = Bukkit.createInventory(null, 54, ChatColor.GREEN +"Map Travel"); ItemStack survival = new ItemStack(Material.GRASS); ItemMeta survivalMeta = survival.getItemMeta(); ItemStack Kingdom = new ItemStack(Material.SNOW_BLOCK); ItemMeta KingdomMeta = Kingdom.getItemMeta(); survivalMeta.setDisplayName(ChatColor.RED + "The Wall"); survival.setItemMeta(survivalMeta); KingdomMeta.setDisplayName(ChatColor.AQUA + "Winterfell"); Kingdom.setItemMeta(KingdomMeta); inv.setItem(1, survival); inv.setItem(2, Kingdom); player.openInventory(inv); } @EventHandler public void onInventoryClick(InventoryClickEvent event){ if(!ChatColor.stripColor(event.getInventory().getName()).equalsIgnoreCase("Map Travel")) return; Player player = (Player) event.getWhoClicked(); event.setCancelled(true); if(event.getCurrentItem() == null || event.getCurrentItem().getType() == Material.AIR){ player.closeInventory(); return; } switch(event.getCurrentItem().getType()){ case GRASS: teleportInWorld(player, 100, 100, 100); player.closeInventory(); break; case SNOW_BLOCK: teleportInWorld(player, 100, 100, 100); player.closeInventory(); break; } } @EventHandler public void onJoin(PlayerJoinEvent event){ event.getPlayer().getInventory().addItem(new ItemStack(Material.COMPASS)); } @EventHandler public void onPlayerInteract(PlayerInteractEvent event){ Action a = event.getAction(); ItemStack is = event.getItem(); if(a == Action.PHYSICAL || is == null || is.getType() == Material.AIR) return; if(is.getType() == Material.COMPASS ) openGUI(event.getPlayer()); }
Обращайтесь.🤓Добавлять также как и тогда можно? А за материал ОГРОМНОЕ СПАСИБО. По постам понял, что делаешь работу бесплатно, но не слишком муторную, еще раз спасибо. ._, Аж плачу