Помогите Получить MapMeta

  • Автор темы Автор темы Rubikub
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Rubikub

Новичок
Пользователь
Баллы
21
Имя в Minecraft
R_u_B_i_k
Пытаюсь получить MapMeta, но улавливаю ошибку. Не знаю в чем дело, ведь с любой другой метой это работает. Помогите, пожалуйста!
Caused by: java.lang.ClassCastException: class org.bukkit.craftbukkit.v1_18_R2.inventory.CraftMetaItem cannot be cast to class org.*********ventory.meta.MapMeta (org.bukkit.craftbukkit.v1_18_R2.inventory.CraftMetaItem and org.*********ventory.meta.MapMeta are in unnamed module of loader java.net.URLClassLoader @484b61fc)
Код:
   public void giveAmap(Player p){
        ItemStack map = new ItemStack(Material.MAP, 1);
        MapMeta meta = (MapMeta) map.getItemMeta();
//        MapView view = Bukkit.createMap(Bukkit.getWorld("world_" + p.getName()));
//        view.setWorld(Bukkit.getWorld("world_" + p.getName()));
//        view.setCenterX(p.getLocation().getBlockX()); view.setCenterZ(p.getLocation().getBlockZ());

//        meta.setMapView(view);
        map.setItemMeta(meta);

        p.getInventory().setItemInOffHand(map);
    }
Я хочу получить карту местности возле игрока. Самую обыкновенную карту, которую может сделать игрок в ванильном майне
 
Используй не MAP а FILLED_MAP. Согласно исходникам, https://hub.spigotmc.org/stash/proj...t/craftbukkit/inventory/CraftItemFactory.java
он создаст CraftMetaMap экземпляр только если будет предмет FILLED_MAP. Из-за этого у тебя и не получается скастить мету.
Благодарю за ответ, тема закрыта.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх