Майнкрафт как изменить текстуру мода

Создание собственного предмета.

Создание предмета#

Основа#

Чтобы написать свой первый предмет, вам необходимо создать класс и наследоваться от Item.

package ru.mcmodding.tutorial.common.item;

import net.minecraft.item.Item;

public class RingItem extends Item {
    public RingItem() {
        setUnlocalizedName("ring");
        setTextureName(McModding.MOD_ID + ":ring");
        setMaxStackSize(1);
    }
}

Вот так просто пишется собственный предмет. Давайте разберёмся, что у нас в конструкторе написано.

  • setUnlocalizedName(String) — задаёт нелокализованное название предмета(см. статью Локализация)
  • setTextureName(String) — задаёт текстуру. Необходимо указывать ModId, чтобы текстура бралась не из ресурсов Minecraft, а из ресурсов нашего мода. Пример: modId:textureName, можно также указывать путь: ‘modId:folder/textureName’
  • setMaxStackSize(Integer) — задаёт максимальное количество предметов

Остальные сеттеры вы можете самостоятельно просмотреть в классе Item, ко многим из них прилагаются комментарии от MCP и MinecraftForge.

Теперь приступим к регистрации нашего предмета. Чтобы зарегистрировать наше кольцо, необходимо использовать GameRegistry#registerItem
в который передаётся экземпляр класса Item и регистрируемое имя предмета. Создадим для большего удобства класс ModItems
в котором будут храниться объекты наших предметов и будет происходить регистрация.

package ru.mcmodding.tutorial.common.handler;

import cpw.mods.fml.common.registry.GameRegistry;
import ru.mcmodding.tutorial.common.item.RingItem;

public class ModItems {
    public static final RingItem RING = new RingItem();

    public static void register() {
        GameRegistry.registerItem(RING, "ring");
    }
}

Осталось добавить вызов метода ModItems#register в CommonProxy#preInit

public class CommonProxy {
    public void preInit(FMLPreInitializationEvent event) {
        ModItems.register();
    }
}

Запускаем игру и заходим в мир. Чтобы получить только что написанный предмет, введите такую команду:
/give @p mcmodding:ring.

Где mcmodding:ring:

  1. mcmodding — это ModId мода
  2. ring — регистрируемое имя предмета

Предмет без текстуры

Текстура#

В прошлой разделе мы рассмотрели базовый принцип создания предмета и указали текстуру с помощью метода Item#setTextureName,
но мы получили отсутствующую текстуру. Для того чтобы это исправить, необходимо поместить свою текстуру предмета в папку с ресурсами(resources) по пути
assets/modId/textures/items(вместо modId должен быть ваш идентификатор мода! В нашем случае это mcmodding).

Возьмём такую текстуру кольца:

Текстура кольца

Внимание!

Соотношение сторон должно быть 1:1, т.е если ваша текстура шириной 32 пикселя, то и высота должна быть 32 пикселя, иначе текстура не будет загружена!
Исключением являются текстуры с KeyFrame анимацией.

Если всё было сделано, как написано в статье, то в результате наш предмет получит текстуру:

Кольцо от первого лица

Кольцо от третьего лица

Текстура с анимацией#

Вы можете добавить текстуру с KeyFrame анимацией, выглядят такие текстуры примерно так:

Текстура с покадровой анимацией компаса

Для работы таких текстур необходимо создавать отдельный файл названиеТекстуры.png.mcmeta, который содержит такую информацию:

{
  "animation": {
    "frametime": 5,
    "width": 12,
    "height": 12,
    "frames": [
      0, 1, 2, 3, 2, 1, 0
    ]
  }
}
  • frametime — длительность одного кадра в тиках. К примеру, если указать 40, то один кадр будет отображаться две секунды
  • width — ширина кадра. Необходимо применять, если кадры имеют нестандартный ширину
  • height — высота кадра. Необходимо применять, если кадры имеют нестандартную высоту
  • frames — массив кадров. Принимает Integer, а также объект frame(см. ниже). Кадры начинаются от 0 и до N кадра(зависит от того сколько их в текстуре). Индексы можно менять местами, чтобы изменить порядок отображения кадров

Дополнение к frames#

{
  "animation": {
    "frames": [
      {
        "index": 0,
        "time": 25
      },
      {
        "index": 1,
        "time": 10
      },
      {
        "index": 2,
        "time": 50
      }
    ]
  }
}

Вы можете также указать для конкретного кадра(по его индексу) время его воспроизведения.
Работает аналогично прошлому примеру, только достаточно менять параметр index для изменения порядка отображения.

Наложение текстур#

Важно!

Данный раздел рассчитан на разработчиков, прочитавших статью «Подтипы»!

Возможно вы задумаетесь о том, как добавить не одну, а две и более текстур с наложением слоя или сменой от определённых условий,
как например это сделано у кожаной брони или у лука при натягивании тетивы.

Создадим предмет Банка с краской, имеющий основную текстуру и текстуру слоя, которую в дальнейшем мы окрасим в стандартные цвета Minecraft.

package ru.mcmodding.tutorial.common.item;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemDye;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import ru.mcmodding.tutorial.McModding;

import java.util.List;

public class PaintCanItem extends Item {
    @SideOnly(Side.CLIENT)
    private IIcon colorMask;

    public PaintCanItem() {
        setUnlocalizedName("paint_can");
        setTextureName(McModding.MOD_ID + ":paint_can");
        setMaxStackSize(1);
        setHasSubtypes(true);
    }

    @Override
    @SideOnly(Side.CLIENT)
    public boolean requiresMultipleRenderPasses() {
        return true;
    }

    @Override
    @SideOnly(Side.CLIENT)
    public IIcon getIconFromDamageForRenderPass(int meta, int renderPass) {
        return pass == 1 ? colorMask : super.getIconFromDamageForRenderPass(meta, renderPass);
    }

    @Override
    @SideOnly(Side.CLIENT)
    public void registerIcons(IIconRegister register) {
        super.registerIcons(register);
        colorMask = register.registerIcon(McModding.MOD_ID + ":paint_can_color");
    }

    @Override
    @SideOnly(Side.CLIENT)
    public int getColorFromItemStack(ItemStack stack, int renderPass) {
        return renderPass == 0 ? 0xFFFFFF : ItemDye.field_150922_c[stack.getItemDamage() % ItemDye.field_150922_c.length];
    }

    @Override
    @SideOnly(Side.CLIENT)
    public void getSubItems(Item item, CreativeTabs tab, List items) {
        for (int damage = 0, size = ItemDye.field_150922_c.length; damage < size; damage++) {
            items.add(new ItemStack(item, 1, damage));
        }
    }
}
  • requiresMultipleRenderPasses — требует от игры несколько проходов для отрисовки предмета(см. примечание ниже)

Minecraft для большинства предметов использует один проход, но при включении requiresMultipleRenderPasses == true,
кол-во проходов становится два. Чтобы изменить кол-во проходов для отрисовки предмета,
вы можете посмотреть метод Item#getRenderPasses(Integer)

  • getIconFromDamageForRenderPass(Integer, Iteger) — возвращает иконку предмета в зависимости от меты предмета и текущего прохода рендера.

Так как наш предмет имеет два прохода для отрисовки банки с краской, то нам необходимо указать, что во втором проходе нужно рисовать маску цвета банки.
Почему мы начинаем не от 0, а от 1? Это связано с тем, что на 0 проходе находится основная текстура предмета, а уже от
1 до N(см. Item#getRenderPasses(Integer)) дополнительные.

  • registerIcons(IIconRegister) — в данном методе проходит регистрация иконок предметов
  • getColorFromItemStack(ItemStack, Integer) — возвращает цвет предмета. Стандартный цвет предмета: 0xFFFFFF(16777215)

В getColorFromItemStack(ItemStack, Integer) мы проверяем, если текущий проход равен 0, то цвет будет стандартный.
Если же проход 1 до N(наша маска цвета), то окрашивать маску в цвет красителя по мете предмета.

Нам осталось добавить текстуры и зарегистрировать предмет.
Основная текстура банки
Текстура для окраски

Если вы всё сделали правильно, то в игре вы получите такой результат:
Все банки с краской

Модель#

Важно!

Данный раздел рассчитан на более опытных разработчиков!

Текстуру вы научились добавлять к своему предмету, но вы скорее всего захотите добавить модель к своему предмету.
Для это необходимо реализовать интерфейс IItemRenderer.

package ru.mcmodding.tutorial.client.render.item;

import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;

public class RingItemRender implements IItemRenderer {
    @Override
    public boolean handleRenderType(ItemStack item, ItemRenderType type) {
        return false;
    }

    @Override
    public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
        return false;
    }

    @Override
    public void renderItem(ItemRenderType type, ItemStack item, Object... data) {

    }
}
  • handleRenderType(ItemStack, ItemRenderType) — обрабатывает текущий тип рендера, а именно:

  • ItemRenderType#ENTITY — предмет лежит на земле или вставлен в рамку

  • ItemRenderType#EQUIPPED — предмет находится в руке
  • ItemRenderType#EQUIPPED_FIRST_PERSON — предмет находится в руке от первого лица
  • ItemRenderType#INVENTORY — предмет находится в инвентаре
  • ItemRenderType#FIRST_PERSON_MAP — предмет рисуется как карта в обеих руках

  • shouldUseRenderHelper(ItemRenderType, ItemStack, ItemRendererHelper) — нужно ли использовать вспомогательные обработки рендера(см. пояснение)

Дополнение к shouldUseRenderHelper#

Если вернуть true, то к нашему рендеру предмету будет применена вспомогательная обработка:

  1. ItemRendererHelper#ENTITY_ROTATION — предмет будучи на земле вращается на 360
  2. ItemRendererHelper#ENTITY_BOBBING — предмет будет двигать при ходьбе вверх-вниз
  3. ItemRendererHelper#EQUIPPED_BLOCK — предмет будет отрисовываться 3D моделью, либо 2D текстурой
  4. ItemRendererHelper#BLOCK_3D — приравнивает предмет к блоку имеющий RenderBlocks#renderItemIn3d
  5. ItemRendererHelper#INVENTORY_BLOCK — предмет будет отрисовываться 3D модель, либо 2D текстурой в инвентаре

  6. renderItem(ItemRenderType, ItemStack, Object[]) — в данном методе происходит сама отрисовка нашего предмета. Параметр data принимает особые данные, которые передаются в зависимости от типа отрисовки. Подробнее смотрите ItemRenderType для получения подобной информации о данных передаваемых на каждый тип!

Помимо реализации IItemRenderer, необходимо загрузить модель. Можно использовать любую модель, главное чтобы её загрузку
поддерживал MinecraftForge, иначе вам придётся реализовывать загрузку нужной вам модели самостоятельно! В данном случае
мы воспользуемся готовым решением и будет использовать Wavefront(.obj) формат с дополнительной обёрткой от Dahaka

Совет

Если вы будете использовать Wavefront как основной формат моделей, то не забудьте сделать триангуляцию модели, чтобы не получить исключение при загрузке!

package ru.mcmodding.tutorial.client.render.item;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
import net.minecraftforge.client.model.obj.WavefrontObject;
import ru.mcmodding.tutorial.McModding;
import ru.mcmodding.tutorial.client.render.ModelWrapperDisplayList;

import static org.lwjgl.opengl.GL11.*;

@SideOnly(Side.CLIENT)
public class RingItemRender implements IItemRenderer {
    private final ResourceLocation modelPath = new ResourceLocation(McModding.MOD_ID, "models/ring.obj");
    private final IModelCustom ringModel = new ModelWrapperDisplayList((WavefrontObject) AdvancedModelLoader.loadModel(modelPath));

    @Override
    public boolean handleRenderType(ItemStack item, ItemRenderType type) {
        return type == ItemRenderType.EQUIPPED_FIRST_PERSON;
    }

    @Override
    public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
        return true;
    }

    @Override
    public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
        glPushMatrix();
        glDisable(GL_TEXTURE_2D);// Отключаем текстурирование, так как у нас её нет для данной модели
        glTranslatef(2F, 0F, 0F);// Смещаем по X модель, чтобы было хорошо видно модель
        ringModel.renderAll();
        glEnable(GL_TEXTURE_2D);// Включаем текстурирование
        glPopMatrix();
    }
}

Совет

Если вы хотите использовать текстуру, то вам необходимо сделать перед отрисовкой привязку текстуры

Пример привязки текстуры к модели:

public class RingItemRender implements IItemRenderer {
    private final ResourceLocation ringTexturePath = new ResourceLocation(McModding.MOD_ID, "textures/models/ring.png");

    @Override
    public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
        Minecraft.getMinecraft().renderEngine.bindTexture(ringTexturePath);
        glPushMatrix();
        glTranslatef(2F, 0F, 0F);
        ringModel.renderAll();
        glPopMatrix();
    }
}

Нам необходимо зарегистрировать рендер для кольца, чтобы это сделать, создадим в ModItems метод registerRender.

public class ModItems {
    @SideOnly(Side.CLIENT)
    public static void registerRender() {

    }
}

В методе необходимо вызывать MinecraftForgeClient#registerItemRenderer(Item, IItemRenderer).
Первый параметр метода отвечает за предмет к которому будет привязан новый рендер. Второй параметр отвечает за
получение объекта класса рендера предмета.

public class ModItems {
    @SideOnly(Side.CLIENT)
    public static void registerRender() {
        MinecraftForgeClient.registerItemRenderer(RING, new RingItemRender());
    }
}

Осталось добавить вызов метода ModItems#registerRender в ClientProxy#init

public class ClientProxy {
    public void init(FMLInitializationEvent event) {
        super.init(event);
        ModItems.registerRender();
    }
}

Загружаем модель по указанному нами пути в ресурсах нашего мода и запускаем игру!

Ссылка на модель

Модель кольца в игре


Загрузить PDF


Загрузить PDF

В этой статье мы расскажем вам, как редактировать текстуры Minecraft и использовать их в игре на компьютерах под управлением Windows и macOS.

  1. Изображение с названием Make a Minecraft Texture Pack Step 1

    1

    Установите архиватор WinRAR на компьютере. Он понадобится, чтобы открыть JAR-файл.

    • Когда будете устанавливать WinRAR, убедитесь, что на странице со списком типов поддерживаемых файлов возле «JAR» есть флажок. Также разрешите (если будет предложено) WinRAR добавить ярлыки в контекстное меню.
  2. Изображение с названием Make a Minecraft Texture Pack Step 2

    2

    Откройте лаунчер Minecraft. Для этого дважды щелкните по значку Minecraft.

  3. Изображение с названием Make a Minecraft Texture Pack Step 3

    3

    Щелкните по Launch options (Параметры запуска). Эта опция находится в верхней правой части окна лаунчера.

  4. Изображение с названием Make a Minecraft Texture Pack Step 4

    4

    Нажмите Last release (Последний выпуск). Вы найдете эту опцию в верхней части окна лаунчера.

  5. Изображение с названием Make a Minecraft Texture Pack Step 5

    5

    Откройте папку с игрой Minecraft. Для этого нажмите на зеленую стрелку в правой части поля «Game directory» (Папка с игрой). Откроется папка «.minecraft», в которой хранятся все файлы Minecraft.

  6. Изображение с названием Make a Minecraft Texture Pack Step 6

    6

    Дважды щелкните по папке «versions». Вы найдете ее посередине папки «.minecraft».

  7. Изображение с названием Make a Minecraft Texture Pack Step 7

    7

    Дважды щелкните по папке с самой последней версией игры. По состоянию на февраль 2019 года самой последней версией Minecraft является версия 1.13.2, то есть дважды щелкните по папке «1.13.2».

    • Если вы сомневаетесь, ищите папку, в названии которой есть наибольшее число.
  8. Изображение с названием Make a Minecraft Texture Pack Step 8

    8

    Скопируйте файл JAR. Щелкните по файлу JAR, значок которого похож на значок Java, а затем нажмите Ctrl+C.

  9. Изображение с названием Make a Minecraft Texture Pack Step 9

    9

    Щелкните по папке «.minecraft». Вы найдете ее в левой части окна. Вы вернетесь в основную папку с игрой.

  10. Изображение с названием Make a Minecraft Texture Pack Step 10

    10

    Создайте новую папку для текстур пака. Для этого:

    • Нажмите на вкладку «Главная».
    • Нажмите «Новая папка».
    • Введите имя папки.
    • Нажмите Enter.
  11. Изображение с названием Make a Minecraft Texture Pack Step 11

    11

    Откройте созданную папку. Для этого дважды щелкните по ней.

  12. Изображение с названием Make a Minecraft Texture Pack Step 12

    12

    Вставьте в папку скопированный файл JAR. Для этого нажмите Ctrl+V.

  13. Изображение с названием Make a Minecraft Texture Pack Step 13

    13

    Распакуйте файл JAR с помощью WinRAR. Щелкните правой кнопкой мыши по файлу JAR, а затем в меню выберите «Извлечь в [имя JAR-файла]».

    • Например, если JAR-файл называется «1.13.1», нажмите «Извлечь в 1.13.1».
    • Если у мыши или трекпада нет правой и левой кнопок, щелкните по правой стороне кнопки или коснитесь трекпада двумя пальцами (или нажмите на его кнопку).
  14. Изображение с названием Make a Minecraft Texture Pack Step 14

    14

    Откройте папку JAR. Дважды щелкните по папке «1.13.1» (или папке с последней версией Minecraft).

  15. Изображение с названием Make a Minecraft Texture Pack Step 15

    15

    Дважды щелкните по папке «assets». Она находится в верхней части папки JAR.

    • На самом деле понадобится только папка «assets», поэтому другое содержимое папки JAR можно удалить.
  16. Изображение с названием Make a Minecraft Texture Pack Step 16

    16

    Дважды щелкните по папке «minecraft». Вы найдете ее посередине папки «assets».

  17. Изображение с названием Make a Minecraft Texture Pack Step 17

    17

    Дважды щелкните по папке «textures». Она находится посередине папки «Minecraft».

  18. Изображение с названием Make a Minecraft Texture Pack Step 18

    18

    Найдите категорию текстуры, которую хотите редактировать, и откройте ее папку. Например, чтобы отредактировать текстуру блока, дважды щелкните по папке «blocks».

  19. Изображение с названием Make a Minecraft Texture Pack Step 19

    19

    Откройте текстуру в Paint. Найдите текстуру, которую хотите отредактировать, щелкните по ней правой кнопкой мыши и в меню выберите «Открыть с помощью» > «Paint».

  20. Изображение с названием Make a Minecraft Texture Pack Step 20

    20

    Отредактируйте текстуру. В Paint измените цвета текстуры. Ваши действия будут зависеть от того, как вы хотите изменить текстуру.

  21. Изображение с названием Make a Minecraft Texture Pack Step 21

    21

    Сохраните внесенные изменения и закройте Paint. Нажмите Ctrl+S или щелкните по значку в виде дискеты в верхнем левом углу экрана, а затем закройте Paint.

  22. Изображение с названием Make a Minecraft Texture Pack Step 22

    22

    Измените другие текстуры. Когда закончите, добавьте текстур пак в Minecraft.

  23. Изображение с названием Make a Minecraft Texture Pack Step 23

    23

    Вернитесь в папку JAR. Для этого нажмите на имя папки JAR (например, «1.13.1») в левой части окна.

  24. Изображение с названием Make a Minecraft Texture Pack Step 24

    24

    Создайте и откройте новый текстовый файл. Для этого:

    • Нажмите «Главная».
    • Щелкните по «Новый элемент».
    • Нажмите «Текстовый документ».
    • Нажмите Enter, а затем дважды щелкните по созданному файлу.
  25. Изображение с названием Make a Minecraft Texture Pack Step 25

    25

    Введите код ресурс пака. В созданном текстовом документе введите следующий код — каждая строка кода должна находится на отдельной строке:

    • {
    • "pack":{
    • "pack_format":4,
    • "description":"Template Resource Pack"
    • }
    • }
  26. Изображение с названием Make a Minecraft Texture Pack Step 26

    26

    Сохраните текстовый файл с расширением «.mcmeta». Для этого:

    • Нажмите «Файл».
    • Нажмите «Сохранить как».
    • Введите pack.mcmeta в текстовом поле «Имя файла».
    • Откройте меню «Тип файла».
    • Нажмите «Все файлы».
    • Нажмите «Сохранить».
  27. Изображение с названием Make a Minecraft Texture Pack Step 27

    27

    Создайте ресурс пак. Откройте папку JAR, найдите файл с расширением «.mcmeta», щелкните по нему правой кнопкой мыши и в меню выберите «Отправить» > «Сжатая ZIP-папка».

  28. Изображение с названием Make a Minecraft Texture Pack Step 28

    28

    Скопируйте ZIP-файл текстур пака. Щелкните по нему, а затем нажмите Ctrl+C.

  29. Изображение с названием Make a Minecraft Texture Pack Step 29

    29

    Добавьте текстур пак в Minecraft. Щелкните по папке «.minecraft», дважды щелкните по папке «resourcepacks» и нажмите Ctrl+V, чтобы вставить ZIP-файл текстур пака в папку. Теперь активируйте текстур пак в Minecraft.

    Реклама

  1. Изображение с названием Make a Minecraft Texture Pack Step 30

    1

    Установите архиватор Unarchiver. Он позволит распаковать архив, чтобы скопировать текстуры. Для этого:

    • Откройте App Store.
    • Нажмите на строку поиска в верхнем правом углу окна.
    • Введите «unarchiver» в строке поиска и нажмите Return.
    • Нажмите «Установить» на странице приложения «Unarchiver».
  2. Изображение с названием Make a Minecraft Texture Pack Step 31

    2

    Откройте лаунчер Minecraft. Для этого дважды щелкните по значку Minecraft.

  3. Изображение с названием Make a Minecraft Texture Pack Step 32

    3

    Щелкните по Launch options (Параметры запуска). Эта опция находится в верхней правой части окна лаунчера.

  4. Изображение с названием Make a Minecraft Texture Pack Step 33

    4

    Нажмите Last release (Последний выпуск). Вы найдете эту опцию в верхней части окна лаунчера.

  5. Изображение с названием Make a Minecraft Texture Pack Step 34

    5

    Откройте папку с игрой Minecraft. Для этого нажмите на зеленую стрелку в правой части поля «Game directory» (Папка с игрой). Откроется папка «.minecraft», в которой хранятся все файлы Minecraft.

  6. Изображение с названием Make a Minecraft Texture Pack Step 35

    6

    Откройте папку «resourcepacks». Прокрутите вниз, чтобы найти эту папку, а затем дважды щелкните по ней.

  7. Изображение с названием Make a Minecraft Texture Pack Step 36

    7

    Создайте новую папку. Откройте меню «Файл», выберите в нем «Новая папка», введите имя папки и нажмите Return.

  8. Изображение с названием Make a Minecraft Texture Pack Step 37

    8

    Откройте созданную папку. Для этого дважды щелкните по ней.

  9. Изображение с названием Make a Minecraft Texture Pack Step 38

    9

    Запустите TextEdit. Нажмите «Spotlight»

    Изображение с названием Macspotlight.png

    , введите textedit и нажмите «TextEdit» под строкой поиска. Откроется окно TextEdit.

  10. Изображение с названием Make a Minecraft Texture Pack Step 39

    10

    Введите код ресурс пака. В созданном текстовом документе введите следующий код — каждая строка кода должна находится на отдельной строке:

    • {
    • "pack":{
    • "pack_format":4,
    • "description":"Template Resource Pack"
    • }
    • }
  11. Изображение с названием Make a Minecraft Texture Pack Step 40

    11

    Конвертируйте документ в простой текст. Откройте меню «Формат» в верхней части экрана, выберите в нем «Конвертировать в простой текст», а затем нажмите «OK».

  12. Изображение с названием Make a Minecraft Texture Pack Step 41

    12

    Сохраните документ в формате «mcmeta». Для этого:

    • Нажмите Command+S, чтобы открыть окно «Сохранить».
    • Снимите флажки у «Скрывать расширение» и «Если расширение недоступно, использовать .txt».
    • Щелкните по «Кодировка простого текста» и в меню выберите «Западная (Windows Latin 1)».
    • Введите pack.mcmeta в текстовом поле «Сохранить как».
    • Нажмите «Сохранить».
  13. Изображение с названием Make a Minecraft Texture Pack Step 42

    13

    Переместите документ TextEdit в созданную папку. Либо перетащите файл «pack.mcmeta» в папку, либо щелкните по файлу «pack.mcmeta», нажмите Command+C, щелкните в окне папки и нажмите Command+V.

  14. Изображение с названием Make a Minecraft Texture Pack Step 43

    14

    Вернитесь в папку «Minecraft». Дважды нажмите кнопку «Назад», которая выглядит как направленная влево стрелка и находится в левой верхней части окна Finder. Вы перейдете из созданной папки в папку «resourcepacks», а оттуда в папку «minecraft».

  15. Изображение с названием Make a Minecraft Texture Pack Step 44

    15

    Откройте папку «versions». Найдите эту папку и дважды щелкните по ней.

  16. Изображение с названием Make a Minecraft Texture Pack Step 45

    16

    Дважды щелкните по папке с текущей версией Minecraft. Если вы сомневаетесь, найдите папку, в имени которой есть наибольшее число.

  17. Изображение с названием Make a Minecraft Texture Pack Step 46

    17

    Откройте файл JAR. Щелкните по нему, чтобы выбрать, нажмите «Файл» > «Открыть с помощью» > «The Unarchiver», дождитесь, когда файл откроется, а затем дважды щелкните по папке с номером версии Minecraft.

  18. Изображение с названием Make a Minecraft Texture Pack Step 47

    18

    Найти папку «assets». Либо прокрутите папки и файлы Minecraft (их более 4000), либо введите assets в строке поиска в верхней правой части окна.

  19. Изображение с названием Make a Minecraft Texture Pack Step 48

    19

    Скопируйте папку «assets». Щелкните по ней, а затем нажмите Command+C.

  20. Изображение с названием Make a Minecraft Texture Pack Step 49

    20

    Вернитесь в папку с текстурами. Нажимайте кнопку «Назад», пока не вернетесь в папку «minecraft», а затем дважды щелкните по папке «resourcepacks» и дважды щелкните по папке с текстур паком.

  21. Изображение с названием Make a Minecraft Texture Pack Step 50

    21

    Вставьте папку «assets». Для этого нажмите Command+V.

  22. Изображение с названием Make a Minecraft Texture Pack Step 51

    22

    Найдите текстуру, которую хотите отредактировать. Для этого:

    • Дважды щелкните по папке «assets».
    • Дважды щелкните по папке «minecraft».
    • Дважды щелкните по папке «textures».
    • Дважды щелкните по папке с категорией текстуры.
    • Найдите текстуру, которую нужно изменить.
  23. Изображение с названием Make a Minecraft Texture Pack Step 52

    23

    Отредактируйте текстуру. Выберите текстуру, нажмите «Файл», выберите «Открыть с помощью», выберите нужный графический редактор (например, Photoshop) и измените текстуру.

  24. Изображение с названием Make a Minecraft Texture Pack Step 53

    24

    Сохраните внесенные изменения. Нажмите Command+S, а затем закройте графический редактор.

  25. Изображение с названием Make a Minecraft Texture Pack Step 54

    25

    Измените любые другие текстуры. Когда вы закончите, активируйте текстур пак в Minecraft.

    Реклама

  1. Изображение с названием Make a Minecraft Texture Pack Step 55

    1

    Запустите Minecraft. Откройте лаунчер и нажмите «Play» (Играть).

    • Если вы не закрыли лаунчер, перейдите на вкладку «News» (Новости), а затем нажмите «Play».
  2. Изображение с названием Make a Minecraft Texture Pack Step 56

    2

    Щелкните по Настройки. Эта опция находится в нижнем левом углу экрана.

  3. Изображение с названием Make a Minecraft Texture Pack Step 57

    3

    Нажмите Пакеты ресурсов. Вы найдете эту опцию в левом нижнем углу страницы.

  4. Изображение с названием Make a Minecraft Texture Pack Step 58

    4

    Нажмите на изображение пакета ресурсов. Оно переместится из левого столбца в правый.

  5. Изображение с названием Make a Minecraft Texture Pack Step 59

    5

    Щелкните по Готово. Эта опция находится внизу страницы. Текстур пак будет активирован — теперь загрузите игровой мир, чтобы протестировать обновленные текстуры.

    Реклама

Об этой статье

Эту страницу просматривали 48 208 раз.

Была ли эта статья полезной?

Привет всем! Увидел ресурс пак изменяющий модель Ифрита (Всполох, Blaze):

И подумал, а я тоже так хочу. Скачал этот пак, посмотрел внутрь, а потом ещё и посмотрел более подробно в сети.

И теперь хочу поделиться своими находками с вами! Погнали.

Что нужно знать до?

Что такое ресурс пак для Minecraft знают все, я думаю. Это могут быть модели, текстуры, шейдеры. Короче, какие-то дополнительные или альтернативные ресурсы. Есть ещё датапаки, но они созданы, чтобы вносить более глобальные изменения в то, как игра работает. Их используют, чтобы редактировать достижения, рецепты, биомы, дроп и т.д. Но в этот раз нас интересуют только модели и Optifine.

Вот содержимое датапака с Ифритом

Если честно, то в этом паке была ещё папка со скриншотами, но они нам ни к чему там. Необязательно для создания своего пака брать чей-то, всё необходимое можно создать буквально по ходу дела. Я просто начал с этого для наглядности. Итак, разберём, что же тут у нас есть.

pack.mcmeta это JSON объект, который содержит описание и версию игры. Создать и открыть его можно обычным блокнотом, только следите, чтобы в имени файла не осталось всяких .txt!

{

  «pack»: {

    «pack_format»: 6,

    «description»: «A Recource Pack by Someone»

  }

}

Цифра 6 для pack_format соответствует версиям 1.16.2 — 1.16.5. Для других версий:

  • 4 для версий 1.13 – 1.14.4
  • 5 для версий 1.15 – 1.16.1
  • 6 для версий 1.16.2 – 1.16.5
  • 7 для версии 1.17+

Описание (description) может быть практически любым. Не забывайте, что для JSON важно положение кавычек, запятых и скоб. Не оставляйте открытыми блоки. Если надо поставить именно кавычки, то используем ».

pack.png — изображение, которое игрок увидит в игре. В примере мы будем использовать png изображение 560х560.

Вот, что мы видим в игре

Теперь более интересное. Папка assets. Именно тут и будут наши ресурсы. Чтобы не грузить лишней инфой, просто создайте такие папки: assetsminecraftoptifinecem. В последней и будут сохранены новые модели.

Формат моделей будет .jem и именно их мы сейчас будем создавать.

Модели тоже можно открыть блокнотом и там снова будет JSON код. Но руками это писать — дикое извращение. На помощь нам приходит достаточно удобное решение в виде Blockbench. Я его уже когда-то использовал для гайда по созданию нового моба на Forge.

Запускаем редактор и видим такое окошко:

Выбор очевиден — OptiFine

Получаем пустой проект. Предлагаю изменить курочку, поэтому используем chicken в имени модели:

Тут могла быть ваша модель

И теперь можно начинать творить 😊. Хотя, куда проще было бы редактировать существующие, чем делать с нуля, да? Для этого существует очень неплохой плагин CEM Template Loader.

И выбираем курицу запустив плагин из вкладки Filter:

В открывшемся окошке и выбираем курицу

Результат:

Такая вот курочка

Окей, ноги странные, но это потому, что модель пока без текстуры. Добавляем текстуру (временно):

Ну всё, можно творить!

Но есть весомое НО. У моделей для optifine есть свои требования для имён частей тела. Курице нужны такие части:
# chicken head, body, right_leg, left_leg, right_wing, left_wing, bill, chin
.
У нас всё совпало, это хорошо.

Список имён для других мобов.

Соблюдать имена обязательно для правильной работы модели. И для адекватной анимации.

Завершение и создание ресурс пака для Minecraft Optifine

Можно создавать практически любые модели, но в рамках возможностей редактора, конечно же. К примеру… сделать курицу размером с гиганта или переделать вообще всё полностью с нуля. Для результата главное чтобы совпадали имена групп (то, что с иконкой папки в редакторе). Я решил просто сделать курицу более курицей.

Лучше стало?

Теперь обсудим текстуру. Вы можете оставить так, но тогда модель будет искать текстуру в той же папке, что и она сама. Т.е. для использования своих текстур их можно просто закинуть в assetsminecraftoptifinecem. Но тогда ваша текстура не будет реагировать на текстурпаки. Нам это не нужно, так что удаляем текстуру из проекта и через File -> Export -> Export OptiFine Jem делаем экспорт модели в свою cem папку.

Теперь нужно выделить pack.mcmeta, pack.png, папку assets и запаковать в zip архив.

Кидаем это чудо в resourcepacks и активируем в игре. Для примера я использовал вместо иконки своё старое лого, так как под руку попалось именно оно. Но это мелочи, главное чтобы работало.

Активируем свой пак и заходим в мир

Результаты

В плоском мире создаём курицу и смотрим, получилось ли:

Анимации работают
Теперь совсем не утка!

На этом вроде и всё. Вы только что создали свой ресурс пак для Minecraft на OptiFine, который меняет модель моба! Возможно и я ещё допилю свою подборку мобов, ведь процесс не сложный и достаточно занятный. А вам удачи и творческих успехов!

ПС. Не баг, а фича, или просто неудачный эксперимент:

Просто не спрашивайте…

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Майнкрафт как изменить текстуру земли
  • Маловодие как изменить
  • Мало спермы как исправить
  • Мало обогащенная смесь как исправить
  • Мало места на диске как исправить

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии