1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

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

Тема в разделе "Разработка плагинов для новичков", создана пользователем Rubikub, 12 июн 2022.

Статус темы:
Закрыта.
  1. Автор темы
    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);
        }
    Я хочу получить карту местности возле игрока. Самую обыкновенную карту, которую может сделать игрок в ванильном майне
     
  2. MurlikMurlik

    MurlikMurlik Активный участник Пользователь

    Баллы:
    96
    Используй не MAP а FILLED_MAP. Согласно исходникам, https://hub.spigotmc.org/stash/proj...t/craftbukkit/inventory/CraftItemFactory.java
    он создаст CraftMetaMap экземпляр только если будет предмет FILLED_MAP. Из-за этого у тебя и не получается скастить мету.
     
  3. Автор темы
    Rubikub

    Rubikub Новичок Пользователь

    Баллы:
    21
    Имя в Minecraft:
    R_u_B_i_k
    Благодарю за ответ, тема закрыта.
     
Статус темы:
Закрыта.

Поделиться этой страницей