Jump to content

Recommended Posts

Posted

So, I have made a block with a gui but it crashes when it reaches this:

case 6 :
		buttonList.removeAll(buttonList);
		buttonList.add(cookies = new GuiSlider(8, width / 2 - 100, height / 4 + 42 + -16, 200, 20, "Ik wil ", " koekjes(" + cookies.getValueInt() + ")", 1, 10, 5, true, true));
		buttonList.add(new GuiButtonExt(10, width / 2 - 100, height / 4 + 72 + -16, 200, 20, "Ok"));
		break;

and I know that is because of this:

" koekjes(" + cookies.getValueInt() + ")"

but how should I convert an int into a string part?

Posted

So this:

int i = cookies.getValueInt();
		buttonList.add(cookies = new GuiSlider(8, width / 2 - 100, height / 4 + 42 + -16, 200, 20, "Ik wil ", " koekjes(" + String.valueOf(i) + ")", 1, 10, 5, true, true));

or this:

buttonList.add(cookies = new GuiSlider(8, width / 2 - 100, height / 4 + 42 + -16, 200, 20, "Ik wil ", " koekjes(" + String.valueOf(cookies.getValueInt()) + ")", 1, 10, 5, true, true));

Posted

Well, it's a nullpointer exception:

[20:04:03] [Client thread/FATAL]: Reported exception thrown!
net.minecraft.util.ReportedException: Updating screen events
at net.minecraft.client.Minecraft.runTick(Minecraft.java:1810) ~[Minecraft.class:?]
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1118) ~[Minecraft.class:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:406) [Minecraft.class:?]
at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_77]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_77]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_77]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_77]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_77]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_77]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_77]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_77]
at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
at GradleStart.main(GradleStart.java:26) [start/:?]
Caused by: java.lang.NullPointerException
at com.Egietje.degeweldigemod.gui.CheeseCookieGui.actionPerformed(CheeseCookieGui.java:53) ~[CheeseCookieGui.class:?]
at net.minecraft.client.gui.GuiScreen.mouseClicked(GuiScreen.java:500) ~[GuiScreen.class:?]
at net.minecraft.client.gui.GuiScreen.handleMouseInput(GuiScreen.java:615) ~[GuiScreen.class:?]
at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:581) ~[GuiScreen.class:?]
at net.minecraft.client.Minecraft.runTick(Minecraft.java:1797) ~[Minecraft.class:?]
... 15 more

Posted

I now do

			buttonList.add(cookies = new GuiSlider(8, width / 2 - 100, height / 4 + 42 + -16, 200, 20, "Ik wil ", " koekjes", 1, 10, 5, true, true));
		drawCenteredString(fontRendererObj, String.valueOf(cookies.getValueInt()) + "koekjes, dat is " + String.valueOf(cookies.getValueInt() * 3) + " XP levels" , width / 2 - 100, height / 4 + 102 + -16, 0xFFFFFF);

Posted

So, now I have this:

public class CheeseCookieGui extends GuiScreen {

public GuiSlider cookies = new GuiSlider(0, width / 2 - 100, height / 4 + 42 + -16, 200, 20, "Ik wil ", " koekjes", 1, 10, 5, true, true);
public boolean slider = false;

@Override
public void initGui() {
	slider = false;
	buttonList.add(new GuiButtonExt(1, width / 2 - 100, height / 4 + 42 + -16, 200, 20, "Goed geopend!"));
}

@Override
protected void actionPerformed(GuiButton button) throws IOException {
	switch(button.id) {
	case 1 :
		buttonList.removeAll(buttonList);
		buttonList.add(new GuiButtonExt(2, width / 2 - 100, height / 4 + 42 + -16, 200, 20, "Stop!"));
		break;
	case 2 :
		buttonList.removeAll(buttonList);
		buttonList.add(new GuiButtonExt(3, width / 2 - 100, height / 4 + 42 + -16, 200, 20, "Ik zei STOP!"));
		break;
	case 3 :
		buttonList.removeAll(buttonList);
		buttonList.add(new GuiButtonExt(4, width / 2 - 100, height / 4 + 42 + -16, 200, 20, "Nooit luisteren he"));
		break;
	case 4 :
		buttonList.removeAll(buttonList);
		buttonList.add(new GuiButtonExt(5, width / 2 - 100, height / 4 + 42 + -16, 200, 20, "Wil je een koekje?"));
		buttonList.add(new GuiButtonExt(6, width / 2 - 100, height / 4 + 72 + -16, 75, 20, "Ja"));
		buttonList.add(new GuiButtonExt(7, width / 2 + 25, height / 4 + 72 + -16, 75, 20, "Nee"));
		break;
	case 5 :
		buttonList.removeAll(buttonList);
		buttonList.add(new GuiButtonExt(8, width / 2 - 100, height / 4 + 42 + -16, 200, 20, "Mahn, niet op klikken"));
		buttonList.add(new GuiButtonExt(9, width / 2 - 100, height / 4 + 72 + -16, 200, 20, "Terug naar koekjes"));
		break;
	case 6 :
		buttonList.removeAll(buttonList);
		buttonList.add(cookies);
		buttonList.add(new GuiButtonExt(10, width / 2 - 100, height / 4 + 72 + -16, 200, 20, "Ok"));
		slider = true;
		break;
	case 7 :
		buttonList.removeAll(buttonList);
		this.mc.displayGuiScreen((GuiScreen)null);
		break;
	case 8 :
		break;
	case 9 :
		buttonList.removeAll(buttonList);
		buttonList.add(new GuiButtonExt(5, width / 2 - 100, height / 4 + 42 + -16, 200, 20, "Wil je een koekje?"));
		buttonList.add(new GuiButtonExt(6, width / 2 - 100, height / 4 + 72 + -16, 75, 20, "Ja"));
		buttonList.add(new GuiButtonExt(7, width / 2 + 25, height / 4 + 72 + -16, 75, 20, "Nee"));
		break;
	case 10 :
		buttonList.removeAll(buttonList);
		slider = false;
		if(!Minecraft.getMinecraft().thePlayer.isCreative()) {
			if(Minecraft.getMinecraft().thePlayer.experienceLevel > 3 * cookies.getValueInt()) {
				Minecraft.getMinecraft().thePlayer.inventory.addItemStackToInventory(new ItemStack(Items.COOKIE, cookies.getValueInt()));
				Minecraft.getMinecraft().thePlayer.removeExperienceLevel(3 * cookies.getValueInt());
				this.mc.displayGuiScreen((GuiScreen)null);
			} else {
				buttonList.add(new GuiButtonExt(7, width / 2 - 100, height / 4 + 42 + -16, 200, 20, "Je hebt niet genoeg xp"));
			}
		} else {
			Minecraft.getMinecraft().thePlayer.inventory.addItemStackToInventory(new ItemStack(Items.COOKIE, cookies.getValueInt()));
			this.mc.displayGuiScreen((GuiScreen)null);
		}
		break;
	}
}

@Override
public void drawScreen(int mouseX, int mouseY, float partialTicks) {
	if(slider) {
		drawCenteredString(fontRendererObj, "Je krijgt " + String.valueOf(cookies.getValueInt()) + " koekjes, dat is " + String.valueOf(cookies.getValueInt() * 3) + " XP levels" , width / 2 - 100, height / 4 + 102 + -16, 0xFFFFFF);
	}
	super.drawScreen(mouseX, mouseY, partialTicks);
}
}

But the slider and text appear in weird places

Guest
This topic is now closed to further replies.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.