21 juin 2020, 11:05

Salut , alors je voudrais faire une scroll bar j’ai fait une classe mere extends de drawScreen , et une class extends de GuiScrollingList seulement j’arrive pas a comprendre le fonctionnement et l’utilitée des methodes si quelqu’un peut m’aider , voici mon code

public class GuiScrolls extends GuiScreen {

    private GuiScroll scroll;
    private ArrayList invList;

    public GuiScrolls(){
        this.allowUserInput = true;
    }
    @Override
    public void initGui() {

        scroll = new GuiScroll(this,Minecraft.getMinecraft(),100,200,100,50,50,20);
        this.scroll.registerScrollButtons(invList, 12, 13);
        super.initGui();
    }

    @Override
    public void drawScreen(int mouseX, int mouseY, float partialTicks) {
        this.drawDefaultBackground();
        this.mc.getTextureManager().bindTexture(new ResourceLocation(References.MODID, "textures/gui/menugui.png"));
        Gui.drawScaledCustomSizeModalRect(100, 100, 0, 0, 100, 100, 100 , 100 ,100, 100);
        if(scroll != null) {
            scroll.drawScreen(20, 20, 20);
            super.drawScreen(mouseX, mouseY, partialTicks);
        }
    }

    @Override
    public boolean doesGuiPauseGame() {
        return false;
    }
}

et voici mon autre classe

public class GuiScroll extends GuiScrollingList{

    private GuiScrolls parent;
    private GuiScrollingList scroll;

    public GuiScroll(GuiScrolls parent,Minecraft client, int width, int height, int top, int bottom, int left, int entryHeight) {
        super(client, width, height, top, bottom, left, entryHeight);
        this.parent = parent;
    }


    @Override
    public void drawScreen(int mouseX, int mouseY, float partialTicks) {
        super.drawScreen(mouseX, mouseY, partialTicks);
    }


    @Override
    protected int getSize() {
        return 10;
    }



    @Override
    protected void elementClicked(int index, boolean doubleClick) {

    }

    @Override
    protected boolean isSelected(int index) {
        return false;
    }

    @Override
    protected void drawBackground() {

    }

    @Override
    protected void drawSlot(int slotIdx, int entryRight, int slotTop, int slotBuffer, Tessellator tess) {
        parent.drawScreen(50,50,50);
        this.parent.drawString(Minecraft.getMinecraft().fontRenderer,"Wesh ca va ou quoi",50,50, Color.WHITE.getRGB());
    }

}

rien ne s’affiche , enfin pas ma scrolllist , j’ai debug sur le drawSlot il est bel et bien appelé