Альтернативные методы из 1.8 в 1.7.10

Версия Minecraft
1.7.10
Читала тут тему.
http://forum.mcmodding.ru/Тема-Гайд-1-8-NBT-Создание-собственных-переменных
Но у меня тут ошибочка, т.к. я пишу на 1.7.10, а не на 1.8
В ItemMagicSword
Код:
public boolean onItemUse(ItemStack stack, EntityPlayer playerIn, World worldIn, BlockPos pos, EnumFacing side, float hitX, float hitY, float hitZ)

Жалуется на "BlockPos ", подскажите чем заменить, что бы работало и на 1.7.10

Код:
 stack.setTagCompound(stack.getSubCompound("tag", true));
Тут жалуется на:
Код:
getSubCompound
В BlockPlumbum
Код:
       this.setDefaultState(this.blockState.getBaseState().withProperty(MAGIC, Integer.valueOf(0)));
 Тут на blockState и MAGIC
Подскажите, пожалуйста... Извиняюсь, что все так прямо, я привыкла говорить все прямо..
 
Dahaka написал(а):
Код:
@Override
public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int par, float mx, float my, float mz)


Код:
getSubCompound
Нет такого. Нужно самой писать сейвовый геттер.



Я NBT только начала изучать, а геттер к нему то я и подавно написать не смогу)
 
1,111
47
420
Хватит брать гайды из 1.8! У них там своя мутотень у нас своя.

По делу: onItemUse переопредели из 1.7.10 там вместо blockPos идет x y z. 
По поводу getSubCompound. Стирай его полностью и повторяй за мной

Код:
NBTTagCompound compound = stack.getTagCompound();
if (compound == null) {
compound = new NBTTagCompound();
stack.setTagCompound(compound);
}
NBTTagCompound tag = compound.getCompoundTag("tag");
if (tag == null) {

tag = new NBTTagCompound();


}
stack.stackTagCompound = tag;


По поводу третьего. Гспд что это вообще?!
 
2,505
81
397
JustAGod, немного не так.
Родной метод выглядит примерно так.

Код:
public static NBTTagCompound getSubCompound(ItemStack stack, String key)
{
    return stack.stackTagCompound != null &&
           stack.stackTagCompound.hasKey(key, 10) ? stack.stackTagCompound.getCompoundTag(key) : null;
}
 
2,505
81
397
JustAGod написал(а):
Ну я заодно и создаю новые.
Это слииишком ситуативно. Не стоит так делать всегда.

JustAGod написал(а):
Судя по коду он не шибко на null нацелен.
+ Твой метод статичен да и параметры не совпадают.
Как оказалось, родной метод @Nullable. Естественно статичен. Я же не могу впихнуть его в ItemStack.
 
Ага, спасибо, ребята.
По поводу 1.8 и 1.7.10 - я вообще буду очень рада, если найду такой же подобный гайд, но для 1.7.10.
По поводу третьего - что это за чертова магия я не втираю..


Но более подробно расскажите о onItemUse, ибо не поняла, какой там конструктор надо бы
 
1,111
47
420
Что ж
Код:
package ru.justagod.shadowmaster.common.item;

import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;

/**
 * Created by JustAGod on 11.11.17.
 */
public class ExampleItem extends Item {


    /**
     * @param stack стак которые был в руке во время использования
     * @param player игрок, который нажал пкм по блоку 
     * @param world мир в котором сие произошло
     * @param x координата блока по X
     * @param y координата блока по Y
     * @param z координата блока по Z
     * @param side сторона блока от 0 до 5 вроде
     * @param hitX куда конкретно тыкнули предметом по X
     * @param hitY куда конкретно тыкнули предметом по Y
     * @param hitZ куда конкретно тыкнули предметом по Z
     * @return произошло ли что нибудь(дернуть ли рукой). 
     */
    @Override
    public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ) {
        stack.setTagCompound(getSubCompound(stack, "tag"));
        
        return true;
    }

    public NBTTagCompound getSubCompound(ItemStack stack, String key)
    {
        return stack.stackTagCompound != null && stack.stackTagCompound.hasKey(key, 10) ? stack.stackTagCompound.getCompoundTag(key) : null;
    }
}


Какое IDE используешь?
 
48
2
А ты красивая однако! Хd)
Как с тобой можно связаться?
Ты мне очень понравилась! Я бы помог тебе с базовыми знаниям Forge api и Java. Я бы тебя научил всему что я знаю!


Блеат! Я думал это ты MagTemTenebrius!
Всё не надо!
 
JustAGod написал(а):
1) Лол
2) C BlockState я к сожалению помочь не смогу т.к. я в 1.8 не очень шарю.
Ладно, и на этом благодарю. Буду гулять в просторах интернета


Alex написал(а):
А ты красивая однако! Хd)
Как с тобой можно связаться?
Ты мне очень понравилась! Я бы помог тебе с базовыми знаниям Forge api и Java. Я бы тебя научил всему что я знаю!


Блеат! Я думал это ты MagTemTenebrius!
Всё не надо!



Гарик-лайкодрочер, мне о тебе уже рассказали, звезда лайков........
Я надеюсь, что не задержусь тут, ибо слишком много подобных тебе людей.........
 
48
2
MashaGrif написал(а):
Гарик-лайкодрочер, мне о тебе уже рассказали, звезда лайков........
Я надеюсь, что не задержусь тут, ибо слишком много подобных тебе людей.........
Хехе)) Я уже звезда! Ну удачи тебе! Передавай Александру привет!
 
Сверху