РПГ Данжи (Instances) 1.7.10 -> дляCauldron

  • Автор темы Автор темы CAJlO
  • Дата начала Дата начала

Был бы полезен вам этот плагин?


  • Всего проголосовало
    16
Ушёл кодить
Ядрить-коптить, я запутался вообще во второй половине кода. Вот, например, возьмём ошибку из скриншота (см. вложения). Единственный метод который нам подходит - это loadChunk. Но он же уже использован двумя строками выше! Вот что мне делать?
Окей, да будет так
Java:
        public Chunk a(net.minecraft.world.World world, int i, int j) {
            if (saveLoader.chunkExists(world, i, j)) {
                try {
                    return saveLoader.loadChunk(world, i, j);
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                    return null;
                }
            }
            try {
                return loadLoader.loadChunk(world, i, j);
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                return null;
            }
        }

http://rghost.ru/6jQtkLjB9
В последних функциях одного класса неизвестно, нужно читать из NBT, или в него записывать, поэтому сделайте бэкап мира.
Java:
    @Override
    public ItemStack createItemStack(CompoundTag tag) {
        net.minecraft.item.ItemStack nativeStack = new net.minecraft.item.ItemStack((net.minecraft.item.Item)null);
        nativeStack.readFromNBT(toNativeCompound(tag));//TODO writeToNBT?
        return CraftItemStack.asCraftMirror(nativeStack);
    }
По маппингам всё правильно, но я смотрю на функцию и предполагаю, что это не так. Спросите насчёт этого у автора
 

Вложения

  • how.png
    how.png
    56,4 КБ · Просмотры: 12
Последнее редактирование:
Ушёл кодить
Ядрить-коптить, я запутался вообще во второй половине кода. Вот, например, возьмём ошибку из скриншота (см. вложения). Единственный метод который нам подходит - это loadChunk. Но он же уже использован двумя строками выше! Вот что мне делать?
Окей, да будет так
Java:
        public Chunk a(net.minecraft.world.World world, int i, int j) {
            if (saveLoader.chunkExists(world, i, j)) {
                try {
                    return saveLoader.loadChunk(world, i, j);
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                    return null;
                }
            }
            try {
                return loadLoader.loadChunk(world, i, j);
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                return null;
            }
        }

http://rghost.ru/6jQtkLjB9
В последних функциях одного класса неизвестно, нужно читать из NBT, или в него записывать, поэтому сделайте бэкап мира.
Java:
    @Override
    public ItemStack createItemStack(CompoundTag tag) {
        net.minecraft.item.ItemStack nativeStack = new net.minecraft.item.ItemStack((net.minecraft.item.Item)null);
        nativeStack.readFromNBT(toNativeCompound(tag));//TODO writeToNBT?
        return CraftItemStack.asCraftMirror(nativeStack);
    }
По маппингам всё правильно, но я смотрю на функцию и предполагаю, что это не так. Спросите насчёт этого у автора
Как сформулировать вопрос? Что именно Вас интересует?
Что с этим делать?
 
Как сформулировать вопрос? Что именно Вас интересует?

Что с этим делать?
Это как бы уже готовый результат. Где у вас используется NBT-Lib, туда его и закидывайте

Насчёт того, что спросить, покажите ему этот код и спросите, как правильно в этом случае: readFromNBT или writeToNBT? (на 4-й строке, где TODO ещё стоит)
 
Это как бы уже готовый результат. Где у вас используется NBT-Lib, туда его и закидывайте

Насчёт того, что спросить, покажите ему этот код и спросите, как правильно в этом случае: readFromNBT или writeToNBT? (на 4-й строке, где TODO ещё стоит)
Я ранее использовал связку двух плагинов, а именно instances-1.18.jar (instances-1.19.jar) и ProtocolLib-3.4.0.jar, поэтому я все равно не понимаю, как использовать тот файл, что Вы мне дали. Если это плагин - он не запускается.
http://pastebin.com/KuYXeZ6A
 
Я ранее использовал связку двух плагинов, а именно instances-1.18.jar (instances-1.19.jar) и ProtocolLib-3.4.0.jar, поэтому я все равно не понимаю, как использовать тот файл, что Вы мне дали. Если это плагин - он не запускается.
http://pastebin.com/KuYXeZ6A
Так, понял, папку org из порта нужно перетащить в архив самого плагина (Instances)
 
http://pastebin.com/5UDfgzzD эта ошибка на версии 1.19
http://pastebin.com/kbw1anWP это 1.18
http://pastebin.com/fd4EqZYV 1.17
Как Вы и сказали добавил папку из вашего архива в плагин
А, не впервой. Сейчас сделаю отладку чтобы выяснить, какие имена полей в Калдроне. Хотя нет, я просто переименую поля, и только если будет ошибка, то сделаю вывод всех полей, а то и такое было)

Вы спросили насчёт что использовать? (9 строка)
Java:
    @Override
    public CompoundTag readTileEntity(Block block) {
        CraftWorld craftWorld = (CraftWorld) block.getWorld();
        TileEntity tileEntity = craftWorld.getTileEntityAt(block.getX(), block.getY(), block.getZ());
        if (tileEntity == null) {
            return null;
        }
        NBTTagCompound tag = new NBTTagCompound();
        tileEntity.writeToNBT(tag);//TODO readFromNBT?
        return fromNativeCompound(tag);
    }

Если будут ошибки, то это естественно, т.к. я по любому что-нибудь упустил
http://rghost.ru/8Ns5DQtCV
 
А, не впервой. Сейчас сделаю отладку чтобы выяснить, какие имена полей в Калдроне. Хотя нет, я просто переименую поля, и только если будет ошибка, то сделаю вывод всех полей, а то и такое было)

Вы спросили насчёт что использовать? (9 строка)
Java:
    @Override
    public CompoundTag readTileEntity(Block block) {
        CraftWorld craftWorld = (CraftWorld) block.getWorld();
        TileEntity tileEntity = craftWorld.getTileEntityAt(block.getX(), block.getY(), block.getZ());
        if (tileEntity == null) {
            return null;
        }
        NBTTagCompound tag = new NBTTagCompound();
        tileEntity.writeToNBT(tag);//TODO readFromNBT?
        return fromNativeCompound(tag);
    }

Если будут ошибки, то это естественно, т.к. я по любому что-нибудь упустил
http://rghost.ru/8Ns5DQtCV
http://pastebin.com/UqngfBfG 1.17
http://pastebin.com/yS45c72s 1.18
http://pastebin.com/eCADt8i9 1.19
Разработчику отправил запрос
 
Опять аномалии. Сделал принт всех полей в консоль: http://rghost.ru/7tds7NLFH
Кстати, ошибка на всех версиях одинаковая, мне достаточно одного лога. И ещё, главное чтобы в jar-нике вашей версии был пакет org.cyberiantiger.minecraft.unsafe.v1_7_R4, всё остальное неважно.
 
Последнее редактирование:
Опять аномалии. Сделал принт всех полей в консоль: http://rghost.ru/7tds7NLFH
Кстати, ошибка на всех версиях одинаковая, мне достаточно одного лога. И ещё, главное чтобы в jar-нике вашей версии был пакет org.cyberiantiger.minecraft.unsafe.v1_7_R4, всё остальное неважно.
http://pastebin.com/JxDAvXh8 сделал на 1.18
Ответ от разработчика:

I'm not familiar with forge, but writeToNBT looks right:

http://www.minecraftforge.net/wiki/How_to_use_NBT_Tag_Compound#Making_the_TileEntity
 
Последнее редактирование:
Мир world2 не существует
Конечно же я его создал, к тому же он пишет, что производит его удаление.
Код:
[21:24:02] [Craft Scheduler Thread - 19/INFO]: [Instances] Deleted unused instance save directory: C:\Users\Ivan\Desktop\212\plugins\Instances\worlds\world2-17413517522773167463.world

Мир world2 не существует
ну так что делать- то?
 
Не знаю. Скопируйте сервер и поставьте с текущими мирами и конфигурацией на CraftBukkit/Spigot, и проверьте там. Может это и не в плагине дело, т.к. плагин я не переписывал: там портировать нечего.
 
Не знаю. Скопируйте сервер и поставьте с текущими мирами и конфигурацией на CraftBukkit/Spigot, и проверьте там. Может это и не в плагине дело, т.к. плагин я не переписывал: там портировать нечего.
http://pastebin.com/PQaj6q3J посмотрите пожалуйста еще раз, в тот раз я действительно не имел мира world2, так как в крафтбакките он должен находиться в другой папке.
 
Назад
Верх