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

Туториал Создание Головы игрока с кастомным скином.

Тема в разделе "Sponge", создана пользователем _Nanit_, 2 сен 2018.

  1. Автор темы
    _Nanit_

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

    Баллы:
    76
    Имя в Minecraft:
    _Nanit_
    Решил поделиться своей утилитой для создания ItemStack'а головы игрока с любым скином.

    Класс Skull:
    PHP:
    import java.util.List;
    import java.util.UUID;

    import org.spongepowered.api.data.key.Keys;
    import org.spongepowered.api.data.type.SkullTypes;
    import org.spongepowered.api.item.ItemTypes;
    import org.spongepowered.api.item.inventory.ItemStack;
    import org.spongepowered.api.item.inventory.ItemStack.Builder;
    import org.spongepowered.api.profile.GameProfile;
    import org.spongepowered.api.profile.property.ProfileProperty;
    import org.spongepowered.api.text.Text;
    import org.yaml.snakeyaml.external.biz.base64Coder.Base64Coder;

    public class 
    Skull {
     
        private 
    Text displayName// Отображаемое имя предмета
        
    private String skinUrl// Прямая ссылка на изображение скина
        
    private List<Textlore// Lore предмета
     
        
    public Skull(Text name, List<TextloreString skinUrl) {
            
    this.displayName name;
            
    this.lore lore;
            
    this.skinUrl skinUrl;
        }
     
        public 
    ItemStack build() {
            
    Builder item ItemStack.builder().itemType(ItemTypes.SKULL); //Создаем Builder предмета
         
            
    GameProfile profile GameProfile.of(UUID.randomUUID(), "Head"); // Создаем новый игровой профиль
         
            
    String encodedData Base64Coder.encodeString(String.format("{textures:{SKIN:{url:\"%s\"}}}"this.skinUrl)); //Создаем закодированный json с информацией о скине
            
    profile.getPropertyMap().put("textures"ProfileProperty.of("textures"encodedData)); //Присваиваем скин нашему профилю
         
            
    item.add(Keys.DISPLAY_NAMEthis.displayName); //Присваиваем ему имя
            
    item.add(Keys.SKULL_TYPESkullTypes.PLAYER); //Меняем тип головы на голову игрока
            
    item.add(Keys.REPRESENTED_PLAYERprofile); //Присваиваем данные профиля нашему ItemStack'у
         
            
    if(this.lore != null) {
                
    item.add(Keys.ITEM_LOREthis.lore); //Присваиваем lore
            
    }
         
            return 
    item.build(); //Создаем ItemStack
        
    }
    }
    Использовать его просто:
    PHP:
    ItemStack skull = new Skull(Text.of("Голова"), null"http://textures.minecraft.net/texture/5f8d6e8682c592a1f940321ed8119d96758fc67b9470fb3dadc5ddc8dec101c1").build();
    При желании можно модернизировать класс, добавив в конструктор такие параметры как количество айтемов в стаке и т.д.

    Источник - https://spongeapi.com/d/223-sozdanie-golovy-igroka-s-kastomnym-skinom
     
    Последнее редактирование: 2 сен 2018
  2. Expend

    Expend Новичок

    Баллы:
    6
    Имя в Minecraft:
    LegitTop
    топ
     

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