- 3,603
- 99
- 664
RE: [1.11.2] Создание своего мода. Soon 1.12! A new tutorial is coming!
Для тех кто будет самостоятельно портировать свой мод, я сделал небольшой список того, что мне удалось обнаружить и исправить при портировании на 1.12:
Графика:
- VertexBuffer изменён на BufferBuilder
- Vec теперь вместо xCoord, yCoord, zCoord используется xyz
- Fontrenderer вместо fontRendererObj используется переменная fontRenderer
Блоки:
- Метод getSubBlocks лишился параметра "Item itemIn"
- BlockStates лишился метода isFullyOpaque() вместо него isOpaqueCube()
Мир:
- WorldType больше не имеет тип DEBUG_WORLD, вместо него DEBUG_ALL_BLOCK_STATES
Пакеты:
- getServerHandler() теперь получает переменную не playerEntity, а просто player
Capabilities:
- AttachCapabilitiesEvent.obj теперь AttachCapabilitiesEvent<obj> (obj = TileEntity, Entity, Item, World). Чтобы получить obj как сущность, предмет и т.п. используем event.getObject();
Достижения:
- Убран класс Achievement и все его дочерние классы. Теперь используется класс Advancement. Как разберусь с ним, напишу статью.
Регистрация:
- Теперь вместо GameRegistry.register используется ForgeRegistries.obj.register (obj = BLOCKS, ITEMS, POTIONS, BIOMES, SOUND_EVENTS, POTION_TYPES, ENCHANTMENTS, VILLAGER_PROFESSIONS, ENTITIES, RECIPES)
Предметы:
- Метод getSubItems лишился параметра "Item itemIn", чтобы получить предмет вместо itemIn пишем this
- Теперь в методе addInformation отсутсвует параметр "EntityPlayer playerIn", "boolean advanced", теперь появились параметры "World worldIn" и "ITooltipFlag flagIn"
Сущности:
- Из класса DamageSource был убран геттер getEntity, вместо него getImmediateSource() и getTrueSource()
- Метод getHurtSound() получил параметр "DamageSource p_184601_1_"
Рендер сущностей:
- TileEntitySpecialRenderer вместо метода renderTileEntityAt() теперь используется renderTileEntityFast() с новыми параметрами "float partial", "BufferBuilder buffer"
Для тех кто будет самостоятельно портировать свой мод, я сделал небольшой список того, что мне удалось обнаружить и исправить при портировании на 1.12:
Графика:
- VertexBuffer изменён на BufferBuilder
- Vec теперь вместо xCoord, yCoord, zCoord используется xyz
- Fontrenderer вместо fontRendererObj используется переменная fontRenderer
Блоки:
- Метод getSubBlocks лишился параметра "Item itemIn"
- BlockStates лишился метода isFullyOpaque() вместо него isOpaqueCube()
Мир:
- WorldType больше не имеет тип DEBUG_WORLD, вместо него DEBUG_ALL_BLOCK_STATES
Пакеты:
- getServerHandler() теперь получает переменную не playerEntity, а просто player
Capabilities:
- AttachCapabilitiesEvent.obj теперь AttachCapabilitiesEvent<obj> (obj = TileEntity, Entity, Item, World). Чтобы получить obj как сущность, предмет и т.п. используем event.getObject();
Достижения:
- Убран класс Achievement и все его дочерние классы. Теперь используется класс Advancement. Как разберусь с ним, напишу статью.
Регистрация:
- Теперь вместо GameRegistry.register используется ForgeRegistries.obj.register (obj = BLOCKS, ITEMS, POTIONS, BIOMES, SOUND_EVENTS, POTION_TYPES, ENCHANTMENTS, VILLAGER_PROFESSIONS, ENTITIES, RECIPES)
Предметы:
- Метод getSubItems лишился параметра "Item itemIn", чтобы получить предмет вместо itemIn пишем this
- Теперь в методе addInformation отсутсвует параметр "EntityPlayer playerIn", "boolean advanced", теперь появились параметры "World worldIn" и "ITooltipFlag flagIn"
Сущности:
- Из класса DamageSource был убран геттер getEntity, вместо него getImmediateSource() и getTrueSource()
- Метод getHurtSound() получил параметр "DamageSource p_184601_1_"
Рендер сущностей:
- TileEntitySpecialRenderer вместо метода renderTileEntityAt() теперь используется renderTileEntityFast() с новыми параметрами "float partial", "BufferBuilder buffer"