X407 Protorype

Версия Minecraft
1.7.10
38
3
Как убрать надписи у названия брони "item.X407 Prototype .name" и как добавить эффект ночного зрения к шлему брони?
 

timaxa007

Модератор
5,831
409
672
Вроде это:
Код:
public String getItemStackDisplayName(ItemStack itemStack) {
return unlocalizedName;
}
---
Типа этого:
Код:
public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) {
player.addPotionEffect(new PotionEffect(Potion.nightVision.id, 20));
}
 
38
3
timaxa007 написал(а):
В класс твоего шлема брони.

вообщем со шлемом получилось ,а с названием проблема


только,что заметил ,что у меня эффект даётся любой частью брони ,вот код
package ru.armor.armor;

import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
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 Fila_trupArmor extends ItemArmor {
private String texturePath = "armor:textures/model/armor/";
    public Fila_trupArmor(int id, int armorType) {
            super(Fila_trupMain.heavystill, id, armorType);
            this.setCreativeTab(CreativeTabs.tabCombat);
            this.setMaxStackSize(1);
            this.setTextureName();
           }  
    public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) {
    player.addPotionEffect(new PotionEffect(Potion.nightVision.id, 20));
    }
    public void setTextureName() 
    {
            if(armorType == 0||armorType == 1||armorType == 3){
                    this.texturePath += "Heavy_" + 1 + ".png";
            }
            else {
                    this.texturePath += "Heavy_" + 2 + ".png";
                    
            }

    }

    
    
    @Override
    public String getArmorTexture(ItemStack itemstack, Entity entity, int slot, String type){
            return this.texturePath;
    }



}
 
3,005
192
592
212
8
29
Можно и так.
@SubscribeEvent
public void onEntityUpdate(LivingUpdateEvent event) {
this.nightVisionGogglesHandler(event.entityLiving);

public void nightVisionGogglesHandler(EntityLivingBase entityLivingBase) {
ItemStack helmet = entityLivingBase.getEquipmentInSlot(4);
if(helmet != null && helmet.getItem() == Шлем) {
entityLivingBase.addPotionEffect(new PotionEffect(Potion.nightVision.getId(), 1, 0, true));
 

Icosider

Kotliner
Администратор
3,603
99
664
Полукровка написал(а):
Agravaine написал(а):
Какой смысл городить ивент, если в броне есть метод для этого?

Я когда в броне делал эффект после снятия шлема не убирался

Ну так проверку сделай, если шлем снят и эффект есть -> player.getActivePotionEffects().clear(); (Примерно такое должно быть) P.s. получение эффекта взято с ведра, так как мне лень открывать кузницу с модами...
 

Eifel

Модератор
1,623
78
608
Если в армор тике делать то код будет и так выполняться только тогда, когда броня надета, как вариант можно давать не вечный, а кратковременный эффект и он сам уберется без всяких проверок если снять что-то
 

Icosider

Kotliner
Администратор
3,603
99
664
Thunder написал(а):
Если в армор тике делать то код будет и так выполняться только тогда, когда броня надета, как вариант можно давать не вечный, а кратковременный эффект и он сам уберется без всяких проверок если снять что-то
Ага ага, у того же ic2 бесконечное ночное и они просто чистят. А так игрокам придётся испытать эпилептический припадок каждый раз, когда снимают шлем...
 
2,505
81
397
Ivasik написал(а):
Ага ага, у того же ic2 бесконечное ночное и они просто чистят. А так игрокам придётся испытать эпилептический припадок каждый раз, когда снимают шлем...
Говняно. Но для новичка сойдёт. И вообще, настолько заезженный вопрос, что мне лень в очередной раз описывать нормальное решение.


Thunder написал(а):
Если в армор тике делать то код будет и так выполняться только тогда, когда броня надета, как вариант можно давать не вечный, а кратковременный эффект и он сам уберется без всяких проверок если снять что-то
А это ещё более говняно.
 
Сверху