Тотем

Версия Minecraft
1.12.2
683
3
21
У кого-то есть код тотема бессмертия ? чтобы взять за основу , а то я хз его класса нет в item.Пытался сам сделать,но не вышло
 
Решение
Java:
@Mod(modid = TotemMod.MODID, name = TotemMod.NAME, version = TotemMod.VERSION)
public class TotemMod {

    public static final String
    MODID = "totem",
    NAME = "Totem Mod",
    VERSION = "0.1";

    @Mod.Instance(MODID)
    public static TotemMod instance;

    public static final SimpleNetworkWrapper network = NetworkRegistry.INSTANCE.newSimpleChannel(MODID);

    public static Item my_totem;

    @Mod.EventHandler
    public void preInit(FMLPreInitializationEvent event) {
        network.registerMessage(EntityStatusMessage.Handler.class, EntityStatusMessage.class, 0, Side.CLIENT);
        network.registerMessage(EntityStatusMessage.Handler.class, EntityStatusMessage.class, 0, Side.SERVER);

        my_totem = new...

Sainthozier

Стрелочник
623
11
369
EntityLivingBase#checkTotemDeathProtection
Java:
private boolean checkTotemDeathProtection(DamageSource damageSource)
    {
        if (damageSource.canHarmInCreative())
        {
            return false;
        }
        else
        {
            ItemStack itemstack = null;

            for (EnumHand enumhand : EnumHand.values())
            {
                ItemStack itemstack1 = this.getHeldItem(enumhand);

                if (itemstack1.getItem() == Items.TOTEM_OF_UNDYING)
                {
                    itemstack = itemstack1.copy();
                    itemstack1.shrink(1);
                    break;
                }
            }

            if (itemstack != null)
            {
                if (this instanceof EntityPlayerMP)
                {
                    EntityPlayerMP entityplayermp = (EntityPlayerMP)this;
                    entityplayermp.addStat(StatList.getObjectUseStats(Items.TOTEM_OF_UNDYING));
                    CriteriaTriggers.USED_TOTEM.trigger(entityplayermp, itemstack);
                }

                this.setHealth(1.0F);
                this.clearActivePotions();
                this.addPotionEffect(new PotionEffect(MobEffects.REGENERATION, 900, 1));
                this.addPotionEffect(new PotionEffect(MobEffects.ABSORPTION, 100, 1));
                this.world.setEntityState(this, (byte)35);
            }

            return itemstack != null;
        }
    }
 

timaxa007

Модератор
5,831
409
672
Немного метода тыка и:
package net.minecraft.client.network;
public void handleEntityStatus(SPacketEntityStatus)
Java:
this.gameController.entityRenderer.displayItemActivation(new ItemStack(Items.TOTEM_OF_UNDYING));
И примерно оно выглядит так:
Java:
Minecraft.getMinecraft().entityRenderer.displayItemActivation(new ItemStack(Items.TOTEM_OF_UNDYING));
---
Java:
    @Override
    public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) {
        if (world.isRemote)
        Minecraft.getMinecraft().entityRenderer.displayItemActivation(new ItemStack(Items.BEETROOT));
        return true;
    }
 
Последнее редактирование:

Sainthozier

Стрелочник
623
11
369
я пытался унаследовать свой итем от EntityLivingBase
Picard-headesk.jpg

А тебя ещё и взяли в тиму к @ZZZubec. Ты же даже не понимаешь, что делаешь.
 

timaxa007

Модератор
5,831
409
672
я не унаследую этот метод тупо не работает
Эм... Может ты имел виду класс? CowardsTotem extends Item
Эм... Может быть ты имел виду EntityPlayerMP? Его нужно брать от EntityPlayer и из него получать EntityPlayerMP. Его брать, либо переменная, либо из какого-нибудь аргумента.
 
Сверху