(Нубовопрос) Передача значения и краш 1 7 10

28
0
Всем привет! Я почитал информации на minecraftforum о создании инвентаря и у меня вроде все получилось, но я захотел сделать что бы у моей брони был бы параметр который отображался б в инвентаре например вес.

Вот мой гуи класс инвентаря

Код:
@SideOnly(Side.CLIENT)
public class GuiCustomPlayerInventory extends GuiContainer
{

    private float xSize_lo;
    private float ySize_lo;
    public EntityPlayer player;
    public ContainerCustomPlayer container;

    public GuiCustomPlayerInventory(EntityPlayer player, InventoryPlayer inventoryPlayer, InventoryCustomPlayer inventoryCustom) {
        super(new ContainerCustomPlayer(player, inventoryPlayer, inventoryCustom));
        // if you need the player for something later on, store it in a local variable here as well
        this.inventory = inventoryCustom;
    }

    protected void drawGuiContainerForegroundLayer(int param1, int param2) {
        //EntityClientPlayerMP player = this.mc.thePlayer;
        if(this.player != null) {
            //а здесь просто не работает, то есть цифры не отображаются 
            super.fontRendererObj.drawString(Main.proxy.weightCalc.setWeight(player) + "/" + Main.proxy.weightCalc.getMaxWeight(player), 150, super.ySize - 172, 9);
        }

        super.fontRendererObj.drawString(EnumChatFormatting.GRAY + StatCollector.translateToLocal("container.inventory"), 46, super.ySize - 190 + 2, 9);
    }

    protected void drawGuiContainerBackgroundLayer(float f, int i, int j) {
        int l = 0;
        byte s = 5;
        GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
        Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation("inventoryrp", "textures/gui/inventory.png"));
        this.drawTexturedModalRect(super.guiLeft - 50, super.guiTop - 35, 0, 0, super.xSize + 50, super.ySize + 65);
        short g = 128;
        //от этого не крашится
        this.drawTexturedModalRect(super.guiLeft + s, super.guiTop + g, 125, 248, (int)(80 / 2.5F), 8);
        от этого крашится ругаясь на нулл
        this.drawTexturedModalRect(super.guiLeft + s, super.guiTop + g + 7, 125, 248, (int)(Main.proxy.features.test / 2.5F), 8);

        for(int k = 0; k < 5 - l; ++k) {
            Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation("inventoryrp", "textures/gui/inventory.png"));
            this.drawTexturedModalRect(super.guiLeft - 2 + k * 18 + l * 18, super.guiTop + 96, 105, 230, 20, 25);
        }

    }

    public boolean doesGuiPauseGame() {
        return false;
    }
}

Класс Features


Код:
public class FeaturesAdd {

 public float test = 0.0F;
}

Почему краш и почему текст не рисуется, что не так я делаю?
 
Правильно-ли ты подменяешь GUI для инвентаря игрока? Так как самого краш-лога нет.
У тебя в коде используется просто Features, а показываешь класс FeaturesAdd.
 
Название просто недописал а гуи я не подменяю а открываю на кнопку Р и оно открывается и работает нормально если там не рисовать так как я это делаю
 
Память то выделил под features?
Судя по этому - нет.
Код:
от этого крашится ругаясь на нулл
this.drawTexturedModalRect(super.guiLeft + s, super.guiTop + g + 7, 125, 248, (int)(Main.proxy.features.test / 2.5F), 8);

Если лень, то объяви test статической.
[merge_posts_bbcode]Добавлено: 18.04.2016 19:45:38[/merge_posts_bbcode]

Код:
//а здесь просто не работает, то есть цифры не отображаются 
            super.fontRendererObj.drawString(Main.proxy.weightCalc.setWeight(player) + "/" + Main.proxy.weightCalc.getMaxWeight(player), 150, super.ySize - 172, 9);

Скорее всего твои методы null возвращают.
 
Назад
Сверху