Вопрос Как грамотно реализовать свои предметы

manul694

Premium
Сообщения
1 168
Решения
34
Вот допустим хотим мы добавить например свинец. В ресурспаке мы уже заменили текстуру золота с определённым CustomModelData, но этот свинец всё равно можно использовать в крафтах как золото.
Или вместо семян пшеницы семечки. Вроде как они и не используются в крафтах, но немного нелогично то что от семечек выросла пшеница.
Как это всё грамотно реализовать без выше описанных мною багов? Функционал, если что, мы будем задавать через плагин, так что думаю тема правильная
 
Решение
@palyar11,что бы эти кастомные предметы ничего общего не имели с обычными. То есть заменил золото с определённой CustomModelData на свинец и из свинца нельзя скрафтить золотые предметы и вообще использовать его как золото

Добавь любую другую мету в кастомный предмет и все, делов то. Предмет уже нельзя будет использовать для крафтов, там другая мета в сравнении с обычным
Объединено

Вот допустим хотим мы добавить например свинец. В ресурспаке мы уже заменили текстуру золота с определённым CustomModelData, но этот свинец всё равно можно использовать в крафтах как золото.
Или вместо семян пшеницы семечки. Вроде как они и не используются в крафтах, но немного нелогично то что от семечек выросла пшеница.
Как это всё...
Не понятно ничего) Что конкретно должно получиться?
Объединено

Реализовать кастомный блок будет намного труднее, чем реализовать кастомный предмет.
 
@palyar11,что бы эти кастомные предметы ничего общего не имели с обычными. То есть заменил золото с определённой CustomModelData на свинец и из свинца нельзя скрафтить золотые предметы и вообще использовать его как золото
 
@palyar11,что бы эти кастомные предметы ничего общего не имели с обычными. То есть заменил золото с определённой CustomModelData на свинец и из свинца нельзя скрафтить золотые предметы и вообще использовать его как золото

Добавь любую другую мету в кастомный предмет и все, делов то. Предмет уже нельзя будет использовать для крафтов, там другая мета в сравнении с обычным
Объединено

Вот допустим хотим мы добавить например свинец. В ресурспаке мы уже заменили текстуру золота с определённым CustomModelData, но этот свинец всё равно можно использовать в крафтах как золото.
Или вместо семян пшеницы семечки. Вроде как они и не используются в крафтах, но немного нелогично то что от семечек выросла пшеница.
Как это всё грамотно реализовать без выше описанных мною багов? Функционал, если что, мы будем задавать через плагин, так что думаю тема правильная

А семечки можешь попробовать NBT тегами пометить. Если не умеешь, то пробуй проверять куда игрок сажает семена, сохраняй локацию и ивентом отменяй рост пшеницы на этой локации
PHP:
BlockGrowEvent - вызывается, когда какой-то блок вырастает. (Например, трава, гриб, пшеница).
 
Последнее редактирование:
palyar11, привет спустя несколько месяцев.
Я выдал мету кастомное имя, кастомная модель дата и ItemFlag.HIDE_ENCHANTS

Вам необходимо зарегистрироваться для просмотра изображений-вложений


UPD. Сделал это несломаемым, тоже самое
 
Последнее редактирование:
palyar11, привет спустя несколько месяцев.
Я выдал мету кастомное имя, кастомная модель дата и ItemFlag.HIDE_ENCHANTS

Вам необходимо зарегистрироваться для просмотра изображений-вложений


UPD. Сделал это несломаемым, тоже самое
Дай код
 
Java:
barrel = new ItemStack(Material.EMERALD);
        ItemMeta barrelItemMeta = barrel.getItemMeta();
        StringBuilder sb = new StringBuilder();
        sb.append(ChatColor.GOLD).append(ChatColor.BOLD).append("Бочка Нефти");
        barrelItemMeta.setDisplayName(sb.toString());
        barrelItemMeta.setCustomModelData(1001);
        barrelItemMeta.addItemFlags(ItemFlag.HIDE_ENCHANTS);
        barrel.setItemMeta(barrelItemMeta);
 
Java:
barrel = new ItemStack(Material.EMERALD);
        ItemMeta barrelItemMeta = barrel.getItemMeta();
        StringBuilder sb = new StringBuilder();
        sb.append(ChatColor.GOLD).append(ChatColor.BOLD).append("Бочка Нефти");
        barrelItemMeta.setDisplayName(sb.toString());
        barrelItemMeta.setCustomModelData(1001);
        barrelItemMeta.addItemFlags(ItemFlag.HIDE_ENCHANTS);
        barrel.setItemMeta(barrelItemMeta);
Попробуй
PHP:
public static String setColor(final String replaceColor) {
        return replaceColor.replace("&", "§");
    }

    public static ItemStack item = new ItemStack(Material.EMERALD);
        ItemMeta meta = item.getItemMeta();
        meta.addEnchant(Enchantment.ARROW_DAMAGE, 1, true);
        meta.addItemFlags(ItemFlag.HIDE_ENCHANTS);
        meta.setDisplayName("&6&lБочка нефти");
        item.setItemMeta(meta);
 
Назад
Сверху Снизу