jopi
Попрошайка
- 1,421
- 30
- 260
Пропала модель брони, а точнее даже и не появлялась.
перевожу код с 1.5.2, заменил метод из ForgeHooksClient(Про привязку: на 1.5.2 не нужно а на 1.6.4 не знаю если нужно напишите как)
Делаю броню значит через клиентпрокси и ISpecialArmor.
Метод в классе базовой брони где я устанавливаю заранее модель:
Класс ModelBaseSpecialArmor это просто пустой класс унаследованный от ModelBiped
Метод у 1.6.4 отличается и я его изменил тут добавив последний аргумент.
Далее клиентпрокси где находится мап с броней
Клиентпрокси:
Модели в игре нет.
перевожу код с 1.5.2, заменил метод из ForgeHooksClient(Про привязку: на 1.5.2 не нужно а на 1.6.4 не знаю если нужно напишите как)
Делаю броню значит через клиентпрокси и ISpecialArmor.
Метод в классе базовой брони где я устанавливаю заранее модель:
Код:
public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemstack, int armorSlot, ModelBiped _default) {
ModelBaseSpecialArmor armorModel = (ModelBaseSpecialArmor)ClientProxy.armorModels.get(this);
if (armorModel != null) {
armorModel.bipedHeadwear.showModel = false;
armorModel.bipedHead.showModel = armorSlot == 0;
armorModel.bipedBody.showModel = armorSlot == 1 || armorSlot == 2;
armorModel.bipedRightArm.showModel = armorSlot == 1;
armorModel.bipedLeftArm.showModel = armorSlot == 1;
armorModel.bipedRightLeg.showModel = armorSlot == 2 || armorSlot == 3;
armorModel.bipedLeftLeg.showModel = armorSlot == 2 || armorSlot == 3;
armorModel.isSneak = entityLiving.isSneaking();
armorModel.isRiding = entityLiving.isRiding();
armorModel.isChild = entityLiving.isChild();
armorModel.heldItemRight = 0;
armorModel.aimedBow = false;
EntityPlayer player = ClientProxy.mc.thePlayer;
ItemStack held_item = player.getCurrentItemOrArmor(0);
if (held_item != null) {
armorModel.heldItemRight = 1;
if (player.getItemInUseCount() > 0) {
EnumAction enumaction = held_item.getItemUseAction();
if (enumaction == EnumAction.bow) {
armorModel.aimedBow = true;
} else if (enumaction == EnumAction.block) {
armorModel.heldItemRight = 3;
}
}
}
}
return armorModel;
}
Метод у 1.6.4 отличается и я его изменил тут добавив последний аргумент.
Далее клиентпрокси где находится мап с броней
Клиентпрокси:
Java:
package by.fxg.elizabeth.common;
import java.util.HashMap;
import java.util.Map;
import by.fxg.elizabeth.Elizabeth;
import by.fxg.elizabeth.common.item.armor.model.ModelCrocoHelmet;
import cpw.mods.fml.common.registry.TickRegistry;
import cpw.mods.fml.relauncher.Side;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.entity.RenderItem;
import net.minecraft.src.ModLoader;
import net.minecraftforge.common.MinecraftForge;
public class ClientProxy extends CommonProxy {
public static Minecraft mc = Minecraft.getMinecraft();
public static final RenderItem itemRenderer = new RenderItem();
public static final Map armorModels = new HashMap();
public void initCore() {
TickRegistry.registerTickHandler(new CTH(), Side.CLIENT);
armorModels.put(Elizabeth.crocoHelmet, new ModelCrocoHelmet());
MinecraftForge.EVENT_BUS.register(this);
}
public void initModel() {
}
}