- 151
- 0
Привет всем! Ищу совета от сторожил,будет ли работать нормально моя броня на сервере?
Вот код регистрации:
[merge_posts_bbcode]Добавлено: 09.06.2015 14:16:44[/merge_posts_bbcode]
Код самого шлема:
P.S Комменты от Олдесктона
[merge_posts_bbcode]Добавлено: 09.06.2015 14:18:03[/merge_posts_bbcode]
КлиентПрокси:
[merge_posts_bbcode]Добавлено: 09.06.2015 14:23:21[/merge_posts_bbcode]
И вопросик такой( опять же от нуба)?? Что такое Энтити с чем его едят? И есть ли ентити у брони??? И почему броне Не нужно писать отдельный класс рендера???(мои догадки- что он уже вшит форджевский класс итемармоора):ermm:
[merge_posts_bbcode]Добавлено: 09.06.2015 14:25:12[/merge_posts_bbcode]
Не говорите что я тупо копипастил- нет я разобрался( просто комменты мне для ориентации нужны и для напоминания:silly: )
Вот код регистрации:
Код:
public static ItemArmor gladiatorHelmet;
public static final void init(){
gladiatorHelmet = (ItemArmor) new GladiatorHelmet(ArmorMaterial.CHAIN).setTextureName("lightway:gladiatorhelmet").setUnlocalizedName("GladiatorHelmet");
GameRegistry.registerItem(gladiatorHelmet, "GladiatorHelmet");
Код самого шлема:
Код:
package ru.lightway.armor.register;
import ru.lightway.armor.model.GladiatorHelmetModel;
import ru.lightway.mod.Modinfo;
import ru.lightway.network.ClientProxy;
import net.minecraft.block.material.Material;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemArmor;
import net.minecraft.item.ItemArmor.ArmorMaterial;
import net.minecraft.item.ItemStack;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class GladiatorHelmet extends ItemArmor {
public GladiatorHelmet (ArmorMaterial chain) {
super(chain, 0, 0);
this.setCreativeTab(CreativeTabs.tabCombat);
this.setMaxStackSize(1);
this.setTextureName("GladiatorHelmet");
}
@SideOnly(Side.CLIENT)
@Override
public void registerIcons(IIconRegister par1IconRegister) {
this.itemIcon = par1IconRegister.registerIcon(Modinfo.MODID+":"+"gladiatorHelmet");
//очевидно регистрируем иконку для брони
}
@Override
public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) {
if (slot == 0) //шлем?
return Modinfo.MODID + ":textures/armor/" + "gladiatorHelmetModel.png";
return Modinfo.MODID + ":textures/armor/" + "texture_names.png"; //ну мне лень было делать пустую текстуру
//привязываем текстуру, путь именно в таком в формате
//после MODID двоеточие, потом папки разделяются привычными слешами
//в конце обязательно .png!
}
@SideOnly(Side.CLIENT)
@Override
public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int armorSlot) {
if (armorSlot != 0) //если не шлем - бай-бай
return null;
if (itemStack != null && itemStack.getItem() instanceof ItemArmor) {
ModelBiped model = ClientProxy.getArmorModel(); //Я сохранил инстанс модельки в клиентском прокси
return model;
}
else
return null;
}
}
[merge_posts_bbcode]Добавлено: 09.06.2015 14:18:03[/merge_posts_bbcode]
КлиентПрокси:
Код:
public static ModelBiped modelHelmet;
public void registerRenderThings(){
super.registerRenderThings();
TileEntitySpecialRenderer renderAmbry = new RenderAmbry();
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityAmbry.class, renderAmbry);
TileEntitySpecialRenderer renderCrystal = new RenderCrystal();
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCrystal.class, renderCrystal);
modelHelmet = new GladiatorHelmetModel(1.0F);
//хотел поиздеваться, да не буду, сразу скажу, что надо отключить рендер стандартных боксов брони
modelHelmet.bipedHead.showModel = false;
modelHelmet.bipedHeadwear.showModel = false;
modelHelmet.bipedBody.showModel = false;
modelHelmet.bipedLeftArm.showModel = false;
modelHelmet.bipedRightArm.showModel = false;
modelHelmet.bipedLeftLeg.showModel = false;
modelHelmet.bipedRightLeg.showModel = false;
modelHelmet.bipedCloak.showModel = false;
}
public void registerTileEntitySpecialRenderer(){
super.registerTileEntitySpecialRenderer();
}
[merge_posts_bbcode]Добавлено: 09.06.2015 14:23:21[/merge_posts_bbcode]
И вопросик такой( опять же от нуба)?? Что такое Энтити с чем его едят? И есть ли ентити у брони??? И почему броне Не нужно писать отдельный класс рендера???(мои догадки- что он уже вшит форджевский класс итемармоора):ermm:
[merge_posts_bbcode]Добавлено: 09.06.2015 14:25:12[/merge_posts_bbcode]
Не говорите что я тупо копипастил- нет я разобрался( просто комменты мне для ориентации нужны и для напоминания:silly: )