- 74
- 2
Создал свой бафф и источник урона. Занялся локализацией всего этого, а она отказывается работать. Также по какой то причине не отображается иконка эффекта при открытии инвентаря (слева от него). Укажите мне на ошибку, пожалуйста.

Так расположены классы в моде(может что то не туда пихнул...):

Вот главный класс:
Источник урона:
А вот это находится в файле локализации:
death.attack.toirad:radiation=%1$s died because of tissue destruction
effect.radiation=Cell degeneration
Ну и по поводу рендера значка в инвенторе - код отрисовки:


Так расположены классы в моде(может что то не туда пихнул...):

Вот главный класс:
Java:
@Mod(modid = MainClass.MODID, name = MainClass.NAME, version = MainClass.VERSION)
public class MainClass {
public static final String MODID = "toirad", NAME = "Experiment", VERSION = "alpha 0.7";
public static Potion radiation;
public static Potion registerEffect(String name, Potion potion) {
potion.setRegistryName(MainClass.MODID + name);
ForgeRegistries.POTIONS.register(potion);
return potion;
}
@EventHandler
public void preInit(FMLPreInitializationEvent event) {
}
@EventHandler
public void init(FMLInitializationEvent event) {
radiation = registerEffect("radiation", new EffectRadiation(701).setPotionName("effect.radiation"));
}
@EventHandler
public void postInit(FMLPostInitializationEvent event) {
MinecraftForge.EVENT_BUS.register(new GUIOverlayBarExperiment());
}
}
Источник урона:
Java:
public class NewDamageSource {
public static final DamageSource RADIATION = (new DamageSource(MainClass.MODID + ":radiation"))
.setDamageBypassesArmor();
}
А вот это находится в файле локализации:
death.attack.toirad:radiation=%1$s died because of tissue destruction
effect.radiation=Cell degeneration
Ну и по поводу рендера значка в инвенторе - код отрисовки:
Java:
public abstract class NewPotionEffect extends Potion {
private static final ResourceLocation EFFECT_ICON =
new ResourceLocation(MainClass.MODID,"textures/gui/radbar0.png");
protected NewPotionEffect(boolean isBadEffectIn, int liquidColorIn) {
super(isBadEffectIn, liquidColorIn);
}
@Override
public boolean hasStatusIcon() {
return false;
}
@SideOnly(Side.CLIENT)
@Override
public void renderHUDEffect(int x, int y, PotionEffect effect, Minecraft mc, float alpha) {
mc.getTextureManager().bindTexture(EFFECT_ICON);
mc.ingameGUI.drawTexturedModalRect(x + 3, y + 3, 0, 0, 16, 16);
}
@SideOnly(Side.CLIENT)
@Override
public void renderInventoryEffect(int x, int y, PotionEffect effect, net.minecraft.client.Minecraft mc) {
mc.getTextureManager().bindTexture(EFFECT_ICON);
mc.ingameGUI.drawTexturedModalRect(x + 6, y + 6, 0, 0, 16, 16);
}
}