[1.12] Создание своего мода. Перенесено на сайт!

RE: [1.8-1.11.2] Создание своего мода.

Maxik001 написал(а):
Еще больше интересует про интеграцию своих механизмов с NEI

подключить NEI как библиотеку, и поэксперементировать
 
RE: [1.8-1.11.2] Создание своего мода.

Mark написал(а):
Maxik001 написал(а):
Еще больше интересует про интеграцию своих механизмов с NEI

подключить NEI как библиотеку, и поэксперементировать

Знать бы с чем экспериментировать...
 
RE: [1.8-1.11.2] Создание своего мода.

Maxik001 написал(а):
Mark написал(а):
Maxik001 написал(а):
Еще больше интересует про интеграцию своих механизмов с NEI

подключить NEI как библиотеку, и поэксперементировать

Знать бы с чем экспериментировать...
Ну посмотри исходники NEI
 
RE: [1.8-1.11.2] Создание своего мода.

Нашел решение сам, ну и кривой же урок...
Во первых, у ItemStack не существует stackSize, за то существует isEmpty() для проверки на наличие итемов в стаке, далее, ItemStack.loadItemStackFromNBT(tag) тоже не работает, но работает new ItemStack(tag), не в первый раз вы указываете, что регистрировать надо в одном методе ServerProxy, а на деле оказывается, что надо в другом, но тут оказалось, что строчку NetworkRegistry.INSTANCE.registerGuiHandler(Core.INSTANCE, new GuiHandler()); вообще надо регать в ClientProxy(что в принципе логично), ну и на последок...
Код:
//не работает:
@Override
   public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, @Nullable ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)

//работает:
@Override
public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ)

З.Ы. Так же при разрушении блока предметы, лежащие в нем, просто пропадают, но думаю, я смогу найти решение уже без помощи этого "гайда"
 
RE: [1.8-1.11.2] Создание своего мода.

Defernus написал(а):
у ItemStack не существует stackSize
На 1.11.2 она существует, но стала private, нужно использовать метод getCount().

Defernus написал(а):
NetworkRegistry.INSTANCE.registerGuiHandler(Core.INSTANCE, new GuiHandler()); вообще надо регать в ClientProxy(что в принципе логично)
Не совсем логично, Контейнер для Gui должен открываться и на серверной стороне. Или иначе тебе не получиться (нормально) работать с предметами.

Defernus написал(а):
Код:
//не работает:
@Override
   public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, @Nullable ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)

//работает:
@Override
public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ)
Разные версии, разные аргументы, нужно смотреть в исходники.

Defernus написал(а):
З.Ы. Так же при разрушении блока предметы, лежащие в нем, просто пропадают, но думаю, я смогу найти решение уже без помощи этого "гайда"
Наверное не использовал нужного метода и нужного действия для этого. (А учитывает у тебя про сверху GuiHandler, то и выпадать на серверной стороне не чему.) Опять-же смотри в исходники (к примеру той-же печки).
 
RE: [1.8-1.11.2] Создание своего мода.

timaxa007 написал(а):
Defernus написал(а):
у ItemStack не существует stackSize
На 1.11.2 она существует, но стала private, нужно использовать метод getCount().

Defernus написал(а):
NetworkRegistry.INSTANCE.registerGuiHandler(Core.INSTANCE, new GuiHandler()); вообще надо регать в ClientProxy(что в принципе логично)
Не совсем логично, Контейнер для Gui должен открываться и на серверной стороне. Или иначе тебе не получиться (нормально) работать с предметами.

Defernus написал(а):
Код:
//не работает:
@Override
   public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, @Nullable ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)

//работает:
@Override
public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ)
Разные версии, разные аргументы, нужно смотреть в исходники.

Defernus написал(а):
З.Ы. Так же при разрушении блока предметы, лежащие в нем, просто пропадают, но думаю, я смогу найти решение уже без помощи этого "гайда"
Наверное не использовал нужного метода и нужного действия для этого. (А учитывает у тебя про сверху GuiHandler, то и выпадать на серверной стороне не чему.) Опять-же смотри в исходники (к примеру той-же печки).
Ок, про GuiHandler я не прав оказался, согласен, просто по началу не работало(скорее всего в другом ошибся)


А так я это все к тому, что в теме написано 1.8-1.11.2, а на деле...
Тем не менее, возможно, я был излишне груб (Ибо задолбался я с этим блок-стореджем, несколько часов возился и смотрел, как сундуки в Ironchest'е устроены, прежде чем начало получаться)


Перенес GuiHandler() обратно на сторону сервера, но опять же, в гайде написано "пихать в init()", а на деле в ините ни чего не открывается, а в "preInint()" открывается, но предметы все еще исчезают.
 
RE: [1.8-1.11.2] Создание своего мода.

Defernus написал(а):
timaxa007 написал(а):
Defernus написал(а):
у ItemStack не существует stackSize
На 1.11.2 она существует, но стала private, нужно использовать метод getCount().

Defernus написал(а):
NetworkRegistry.INSTANCE.registerGuiHandler(Core.INSTANCE, new GuiHandler()); вообще надо регать в ClientProxy(что в принципе логично)
Не совсем логично, Контейнер для Gui должен открываться и на серверной стороне. Или иначе тебе не получиться (нормально) работать с предметами.

Defernus написал(а):
Код:
//не работает:
@Override
   public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, @Nullable ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)

//работает:
@Override
public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ)
Разные версии, разные аргументы, нужно смотреть в исходники.

Defernus написал(а):
З.Ы. Так же при разрушении блока предметы, лежащие в нем, просто пропадают, но думаю, я смогу найти решение уже без помощи этого "гайда"
Наверное не использовал нужного метода и нужного действия для этого. (А учитывает у тебя про сверху GuiHandler, то и выпадать на серверной стороне не чему.) Опять-же смотри в исходники (к примеру той-же печки).
Ок, про GuiHandler я не прав оказался, согласен, просто по началу не работало(скорее всего в другом ошибся)


А так я это все к тому, что в теме написано 1.8-1.11.2, а на деле...
Тем не менее, возможно, я был излишне груб (Ибо задолбался я с этим блок-стореджем, несколько часов возился и смотрел, как сундуки в Ironchest'е устроены, прежде чем начало получаться)


Перенес GuiHandler() обратно на сторону сервера, но опять же, в гайде написано "пихать в init()", а на деле в ините ни чего не открывается, а в "preInint()" открывается, но предметы все еще исчезают.




1.11 на сайте есть. На 1.10 в ините всё открывается и предметы хранятся. Если надо(нет) могу переписать весь учебник под 1.11, но тогда все будут визжать, что на 1.8-1.10 у них нет того или иного метода, переменной.
 
RE: [1.8-1.11.2] Создание своего мода.

Defernus написал(а):
Так же при разрушении блока предметы, лежащие в нем, просто пропадают
В данный момент была статья про то как сделать блок контейнер, а выпадение вещей уже планировалось в другой статье.
 
RE: [1.8-1.11.2] Создание своего мода.

WildHeart написал(а):
Defernus написал(а):
Так же при разрушении блока предметы, лежащие в нем, просто пропадают
В данный момент была статья про то как сделать блок контейнер, а выпадение вещей уже планировалось в другой статье.

Ясно, просто "[font=Monaco, Consolas, Courier, monospace]Дабы наши вещи сохранялись, мы будем записывать их в NBT самого TileEntity.[/font]" немного ввела в заблуждение, думал, что вещи буду сохраняться при разрушении, но ни чего страшного, я уже примерно понял, как сделать выпадение вещей. А на счет:
1.11 на сайте есть. На 1.10 в ините всё открывается и предметы хранятся. Если надо(нет) могу переписать весь учебник под 1.11, но тогда все будут визжать, что на 1.8-1.10 у них нет того или иного метода, переменной.

Зачем же переписывать, можно же просто вставить коммент типа
Код:
//Начаная с версии 1.11.2 делай так, а не так

Ладно я гуглить умею, а некоторым будет совсем печально от того, что полностью скопированный тутр не работает))
 
RE: [1.8-1.11.2] Создание своего мода.

Defernus написал(а):
WildHeart написал(а):
Defernus написал(а):
Так же при разрушении блока предметы, лежащие в нем, просто пропадают
В данный момент была статья про то как сделать блок контейнер, а выпадение вещей уже планировалось в другой статье.

Ясно, просто "[font=Monaco, Consolas, Courier, monospace]Дабы наши вещи сохранялись, мы будем записывать их в NBT самого TileEntity.[/font]" немного ввела в заблуждение, думал, что вещи буду сохраняться при разрушении, но ни чего страшного, я уже примерно понял, как сделать выпадение вещей. А на счет:
1.11 на сайте есть. На 1.10 в ините всё открывается и предметы хранятся. Если надо(нет) могу переписать весь учебник под 1.11, но тогда все будут визжать, что на 1.8-1.10 у них нет того или иного метода, переменной.

Зачем же переписывать, можно же просто вставить коммент типа
Код:
//Начаная с версии 1.11.2 делай так, а не так

Ладно я гуглить умею, а некоторым будет совсем печально от того, что полностью скопированный тутр не работает))
[font=Monaco, Consolas, Courier, monospace]"//Начаная с версии 1.11.2 делай так, а не так"[/font]
Зачем? Для этого есть учебник на сайте. Хотя я подумаю. Может вставлю комменты.
 
RE: [1.8-1.11.2] Создание своего мода.

Зачем? Для этого есть учебник на сайте.
Так тот учебник практически пуст, а коли пишете в названии 1.11.2, хотя бы пытайтесь соответствовать.
Но что-то меня понесло, не буду со своим монастырем в чужой устав...
 
RE: [1.8-1.11.2] Создание своего мода.

Дааа, фордж для 1.8+ круто допилили
 
RE: [1.8-1.11.2] Создание своего мода.

DromHour написал(а):
А можно какую-то инфу насчёт добавления команд? Простеньких GUI?(Текст - поле ввода - кнопка)

Команд не будет, а вот по поводу элементов планируется сделать лист, поле ввода, кнопку, слайдер.
 
RE: [1.8-1.11.2] Создание своего мода.

DromHour написал(а):
А можно какую-то инфу насчёт добавления команд? Простеньких GUI?(Текст - поле ввода - кнопка)
Команды. Правда для 1.7.10. Но не думаю, что что-то изменилось.
 
RE: [1.8-1.11.2] Создание своего мода.

Dahaka написал(а):
DromHour написал(а):
А можно какую-то инфу насчёт добавления команд? Простеньких GUI?(Текст - поле ввода - кнопка)
Команды. Правда для 1.7.10. Но не думаю, что что-то изменилось.

Вы даже не представляете, как я вам благодарен!(Мод пишу для 1.7.10)
 
RE: [1.8-1.11.2] Создание своего мода.

Возник вопрос. Возник спонтанно, и я еще не ознакомился со всеми уроками, но как впилить GUI интерфейс блоку + процесс того что там будет сотворяться
 
RE: [1.8-1.11.2] Создание своего мода.

Sindero написал(а):
Возник вопрос. Возник спонтанно, и я еще не ознакомился со всеми уроками, но как впилить GUI интерфейс блоку + процесс того что там будет сотворяться

2.19 Блок-контейнер
 
Назад
Сверху