Портирование плагина под другую версию майнкрафта

При компиле плагина под другую версию майнкрафт возникли следующие трудности:
Недостающие библиотеки:
import net.minecraft.server.v1_7_R4.NBTCompressedStreamTools;
import net.minecraft.server.v1_7_R4.NBTTagCompound;
import net.minecraft.server.v1_7_R4.NBTTagList;
import org.bukkit.craftbukkit.v1_7_R4.inventory.CraftInventoryCustom;
import org.bukkit.craftbukkit.v1_7_R4.inventory.CraftItemStack;
Данные библиотеки работают с ядром spigot1.7.10 , но не хотят работать с Spigot1.12.2.
Какой аналог данных библиотек идёт в ядре под 1.12?

P.s этот же плагин нужно портировать под 1.16.1, так что и для этой версии хотелось бы узнать названия аналогичных библиотек.
 
682
20
319
Чел, прости меня, я матюкливый гномик
Чтобы закомпилить его под другую версию, его нужно как минимум портировать, а по скольку ты еще хочешь его на другое ядро, то еще и переписать под другое ядро нужно
 
Последнее редактирование модератором:
проблемы с переписыванием онли с этими библиотеками, которым я как раз и ищу аналогию в ядре под 1.12.2
 

Icosider

Kotliner
Администратор
3,603
99
664
Под 1.12.2:
org.bukkit.craftbukkit.v1_12_R1.inventory.*
По аналогии делаешь и с net.minecraft.server, только вместо v1_7_R4 -> v1_12_R1. Тебе для портирования нужно будет либо заменять импорты, либо дополнять и делать кучу проверок. Вообще у многих популярных плагинов такое сделано, можешь у них подсмотреть.
 
та я понял уже, сам сегодня полез в классы. У меня возникла другая проблема:
net.minecraft.server.v1_7_R4.ItemStack.createStack(inputObject))
С этим только не прокатывает, т.к в 1_12_R1 нет createStack(NBT). Иными словами эта строка кода работает онли с 1_7_R4, а в 1_12_R1 нету createStack () и я не знаю как это заменить
 

Icosider

Kotliner
Администратор
3,603
99
664
Потому что создание стака из nbt было перенесено в конструктор класса ItemStack
 
Java:
private static Inventory fromInventory(NBTTagList itemList) {
        Inventory inventory = new CraftInventoryCustom(null, itemList.size());
        for (int i = 0; i < itemList.size(); i++) {
            NBTTagCompound inputObject = itemList.get(i);
            if (!inputObject.isEmpty()) {
                inventory.setItem(i, CraftItemStack.asBukkitCopy(net.minecraft.server.v1_12_R1.ItemStack(inputObject)));
            }
        }
        return inventory;
    }
net.minecraft.server.v1_12_R1 can't be resolved as a type
все равно выёживается, не понимаю почему, все либы на месте, однако когда добавляешь createStack() уже может распознать net.minecraft.server.v1_12_R1, не распознаёт только createStack.
крч где-то я рукожоп
 

Icosider

Kotliner
Администратор
3,603
99
664
С импортом что-то не то. Посмотри как в крафтбакките пакет называется. У меня другое ядро и пакет с 1.12.2 называется v1_12_R1
 
Могу задать другой вопрос на форум в оффтоп?
по этой же теме, но немного измененный
 
Сверху