[1.7.2] Свойства зачарований

20
0
Вопрос таков: как сделать чтобы у предмета изначально были чары (к примеру у меча огонь 1)
 
Код:
onCreated(ItemStack iStack, ...){
    iStack.addEnchantment(..)
}
 
Создам здесь же подвопрос.

Я пытался сделать эффект чар для своей модели. В итоге ничего не вышло, лишь модель стала фиолетовее. Я копировал функцию из родного рендера предмета и использовал стандартную текстуру переливания чар. Что я не так сделал ?
 
А модели анимацию плохо едят, по-моему, анимируй вручную.
 
Снова не понял... Это нужно прописать в классе самого итема? Что я упустил или не дописал, если можно поподробнее, а то как никак ужасно незнающий...
Код:
public void onCreated(ItemStack iStack)
    {
        iStack.addEnchantment(Enchantment.protection, 4);
    }
 
Grohman написал(а):
Снова не понял... Это нужно прописать в классе самого итема? Что я упустил или не дописал, если можно поподробнее, а то как никак ужасно незнающий...
Код:
public void onCreated(ItemStack iStack)
    {
        iStack.addEnchantment(Enchantment.protection, 4);
    }
Да.
Evgeniy написал(а):
Тыкни носом, пожалуйста
А некуда, большинство туторов посносили. Я еще ни одного не нашел.
 
Хмм... Странно... Тогда я все верно сделал, почему же нету чара на предмете?
 
Потому что все, как обычно, забыли проверку через оверрайд.

Код:
public void onCreated(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) {}

А не просто стак.
 
Grohman написал(а):
Хмм... Странно... Тогда я все верно сделал, почему же нету чара на предмете?
Этот метод вызывается, когда ты КРАФТИШЬ предмет.
 
И, кстати, да. Пили через onUpdate.
 
f1rSt1k написал(а):
Grohman написал(а):
Хмм... Странно... Тогда я все верно сделал, почему же нету чара на предмете?
Этот метод вызывается, когда ты КРАФТИШЬ предмет.
Аааа... прости не знал) в интернете не там много мануалов чтобы научится более менее) буду знать)

onUpdate сейчас попробую...
 
Только учти, что onUpdate вызывается 20 раз в секунду. Поставь какую-нибудь проверку там.
 
laz2727 написал(а):
Только учти, что onUpdate вызывается 20 раз в секунду. Поставь какую-нибудь проверку там.
Я полностью запутался) :dizzy:
Вот что у меня есть) что еще надо? А то на предмете так и не отображается еффект 
Код:
package grohman.mod.rpgitems.items.armor.light.white;

import java.util.List;

import grohman.mod.rpgitems.rpgitems;
import grohman.mod.rpgitems.help.Reference;
import grohman.mod.rpgitems.items.ModItems;
import net.minecraft.client.Minecraft;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.Item;
import net.minecraft.item.ItemArmor;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.world.World;

public class WhiteBootsLight1 extends ItemArmor 
{
    public WhiteBootsLight1(ArmorMaterial material, int armorType, String name)
    {
        super(material, 3, armorType);
        setUnlocalizedName(name);
        setTextureName(Reference.MODID + ":" + getUnlocalizedName().substring(5));    
        setCreativeTab(rpgitems.tabrpg);
        
        
    }
    public void onUdate(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
    {
        par1ItemStack.addEnchantment(Enchantment.protection, 2);
    }
    

//    public void onArmorTick(World world, EntityPlayer player, ItemStack armor) 
//    {
//      player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 100, 3));
//    }
    
    public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
    {
    par3List.add("...");
    }
    public boolean getIsRepairable(ItemStack armor, ItemStack stack)
    {
          return stack.getItem() == ModItems.lightwhiterepeirkit;
    }  

    public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type)
    {
    if(stack.getItem() == ModItems.whitebootslight1)
    {
        return Reference.MODID + ":models/armor/whitelight1_1.png";
    }
    else
    {
        System.out.println("Invalid Item WhiteHelmetLight1");
        return null;
    }
}
}
 
 public void onUdate(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
Ясно.
 
f1rSt1k написал(а):
 public void onUdate(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
Ясно.
Поправил, ничего не изменилось...
9a643642cef0c09972b7805cccb259971c869a56.jpg
 
Код:
public boolean hasEffect(ItemStack itemstack)
    {
        if(!itemstack.isItemEnchanted())
        {
            itemstack.addEnchantment(Enchantment.aquaAffinity, 3);
        }
        return true;
        
    }
Решил...
 
-_____-
ItemStack is = new ItemStack(zzz)
is.addEnchantment(Blah)
GameRegistry.addRecipe("zzz", 'z', Blocks.cobblestone)
 
Кое-кто забыл про креатив. (И использовать стак в рецепте.) Хотя и туда можно запихнуть через getSubItems.
 
Назад
Сверху