Jump to content

[1.8]Make booleans stay after quitting Minecraft


Trusak

Recommended Posts

Think about what you're doing for a minute, then stop being an idiot.

He is not checking equality.

 

Ah, you are correct.  But yes, still nonsense.

I am not sure what I am doing wrong. It works fine in-game.

The name of your method (PmsEnabled) sounds like a getter method. IE it should just return PMs, but instead it switches the value and returns the new value.

Yeah I have two of them, PmsEnabled and PmsInfo, I actually want it to be like that :)

public static boolean PMs;
public static boolean PMsEnabled(){
    return (PMs = !PMs);
}
public static boolean PMsInfo(){
    return (PMs);
}

I still don't know what to do with

Because it's only in Local Scope.

So how can I make it work?

 

Make your config variable exist outside local scope.

Ok so that is what I have right now:

protected void actionPerformed(GuiButton button) throws IOException {
	if(button == GUI.GUI.button2) {
		Minecraft.getMinecraft().displayGuiScreen(new GUI2());
		Property prop = config1.get("Booleans", "PMs", false);
		boolean PMs = prop.getBoolean();
		prop.set(!PMs);;
		config1.save();
	}
}

What to do now? Also how can I make that

public static boolean PMs;
public static boolean PMsEnabled(){
    return (PMs = !PMs);
}

get it's state from the config?

now anyway :(.
Link to comment
Share on other sites

  • Replies 90
  • Created
  • Last Reply

Top Posters In This Topic

Think about what you're doing for a minute, then stop being an idiot.

He is not checking equality.

 

Ah, you are correct.  But yes, still nonsense.

I am not sure what I am doing wrong. It works fine in-game.

The name of your method (PmsEnabled) sounds like a getter method. IE it should just return PMs, but instead it switches the value and returns the new value.

So is there anything wrong with my method?

Link to comment
Share on other sites

PmsEnabled

would be better named

togglePMs

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

PmsEnabled

would be better named

togglePMs

I know but it is only the name so I don't think I should care about it too much. Can you help me with the config itself? I still don't know what to change and how to change from property to boolean

...Looks at code in earlier post...

boolean PMs = prop.getBoolean();

Also remembers...

Make your config variable exist outside local scope.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

PmsEnabled

would be better named

togglePMs

I know but it is only the name so I don't think I should care about it too much. Can you help me with the config itself? I still don't know what to change and how to change from property to boolean

...Looks at code in earlier post...

boolean PMs = prop.getBoolean();

Also remembers...

Make your config variable exist outside local scope.

But where do I put which boolean I want it to get?

Link to comment
Share on other sites

This isn't that hard. You have the piece you want to use and you have a place you want to use it.

Stick Tab A into Slot B.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

In the class where you have your config loading.

Like that:

protected void actionPerformed(GuiButton button) throws IOException {
	if(button == GUI.GUI.button2) {
		Minecraft.getMinecraft().displayGuiScreen(new GUI2());
		Property prop = config1.get("Booleans", "PMs", false);
		boolean PMs = prop.getBoolean();
		prop.set(!PMs);;
		config1.save();
	}
}

?

Link to comment
Share on other sites

This isn't that hard. You have the piece you want to use and you have a place you want to use it.

Stick Tab A into Slot B.

Like that:

protected void actionPerformed(GuiButton button) throws IOException {
	if(button == GUI.GUI.button2) {
		Minecraft.getMinecraft().displayGuiScreen(new GUI2());
		Property prop = config1.get("Booleans", "PMs", false);
		boolean PMs = prop.getBoolean();
		prop.set(!PMs);;
		config1.save();
	}
}

?

Link to comment
Share on other sites

Uh huh.  So what's wrong?

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

Property#getBoolean()

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

Property#getBoolean()

That is what I have:

{

	Configuration config1= new Configuration(event.getSuggestedConfigurationFile());
	config1.load();
	Property PMs = config1.get("Booleans", "PMs", false);
                config1.save();

and

public static boolean PMs;
public static boolean PMsEnabled(){
    return (PMs = !PMs);
}

. Also the boolean in the config isn't changing when I use the button

Link to comment
Share on other sites

prop.png

 

How does the value of #1 get into #2?

 

Hint:

It doesn't

 

 

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

This line gets the property from the config:

Property PMs = config1.get("Booleans", "PMs", false);

 

The property contains the boolean value you want. So you 'get' the boolean from the property like this:

PMs.getBoolean()

 

And assign that value to your stored field. You can do it all in one line like this:

PMs = config1.get("Booleans", "PMs", false).getBoolean();

Link to comment
Share on other sites

This line gets the property from the config:

Property PMs = config1.get("Booleans", "PMs", false);

 

The property contains the boolean value you want. So you 'get' the boolean from the property like this:

PMs.getBoolean()

 

And assign that value to your stored field. You can do it all in one line like this:

PMs = config1.get("Booleans", "PMs", false).getBoolean();

After doing everything I got this error:

Time: 31.12.16 11:17

Description: Updating screen events

 

java.lang.NullPointerException: Updating screen events

at net.minecraftforge.common.config.Configuration.save(Configuration.java:1064)

at GUI.GUI.actionPerformed(GUI.java:202)

at net.minecraft.client.gui.GuiScreen.mouseClicked(GuiScreen.java:509)

at GUI.GUI.mouseClicked(GUI.java:76)

at net.minecraft.client.gui.GuiScreen.handleMouseInput(GuiScreen.java:621)

at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:587)

at net.minecraft.client.Minecraft.runTick(Minecraft.java:1761)

at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1080)

at net.minecraft.client.Minecraft.run(Minecraft.java:380)

at net.minecraft.client.main.Main.main(Main.java:116)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)

at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)

at GradleStart.main(GradleStart.java:26)

 

 

A detailed walkthrough of the error, its code path and all known details is as follows:

---------------------------------------------------------------------------------------

 

-- Head --

Stacktrace:

at net.minecraftforge.common.config.Configuration.save(Configuration.java:1064)

at GUI.GUI.actionPerformed(GUI.java:202)

at net.minecraft.client.gui.GuiScreen.mouseClicked(GuiScreen.java:509)

at GUI.GUI.mouseClicked(GUI.java:76)

at net.minecraft.client.gui.GuiScreen.handleMouseInput(GuiScreen.java:621)

at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:587)

 

-- Affected screen --

Details:

Screen name: GUI.GUI

 

-- Affected level --

Details:

Level name: MpServer

All players: 1 total; [EntityPlayerSP['Player371'/275, l='MpServer', x=-190,40, y=65,00, z=236,70]]

Chunk stats: MultiplayerChunkCache: 625, 625

Level seed: 0

Level generator: ID 00 - default, ver 1. Features enabled: false

Level generator options:

Level spawn location: -184,00,64,00,236,00 - World: (-184,64,236), Chunk: (at 8,4,12 in -12,14; contains blocks -192,0,224 to -177,255,239), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511)

Level time: 151760 game time, 34476 day time

Level dimension: 0

Level storage version: 0x00000 - Unknown?

Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)

Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false

Forced entities: 76 total; [EntitySquid['Squid'/128, l='MpServer', x=-168,47, y=62,00, z=289,47], EntitySheep['Sheep'/129, l='MpServer', x=-164,28, y=65,53, z=299,53], EntitySheep['Sheep'/138, l='MpServer', x=-149,00, y=70,00, z=192,53], EntitySkeleton['Skeleton'/139, l='MpServer', x=-159,22, y=40,00, z=235,44], EntityZombie['Zombie'/140, l='MpServer', x=-158,16, y=46,00, z=240,66], EntityBat['Bat'/141, l='MpServer', x=-147,19, y=37,78, z=240,06], EntitySheep['Sheep'/142, l='MpServer', x=-144,56, y=64,00, z=243,66], EntityCreeper['Creeper'/145, l='MpServer', x=-142,50, y=22,00, z=169,97], EntitySheep['Sheep'/146, l='MpServer', x=-138,38, y=75,00, z=167,84], EntitySkeleton['Skeleton'/147, l='MpServer', x=-142,81, y=30,00, z=178,59], EntitySkeleton['Skeleton'/148, l='MpServer', x=-132,88, y=47,00, z=175,47], EntitySkeleton['Skeleton'/149, l='MpServer', x=-132,38, y=30,00, z=202,09], EntitySpider['Spider'/150, l='MpServer', x=-136,78, y=32,00, z=220,69], EntitySpider['Spider'/151, l='MpServer', x=-142,31, y=34,03, z=220,69], EntityZombie['Zombie'/152, l='MpServer', x=-138,09, y=32,00, z=220,66], EntityPlayerSP['Player371'/275, l='MpServer', x=-190,40, y=65,00, z=236,70], EntitySpider['Spider'/153, l='MpServer', x=-141,25, y=12,00, z=234,59], EntityCreeper['Creeper'/154, l='MpServer', x=-137,72, y=14,00, z=237,69], EntitySheep['Sheep'/155, l='MpServer', x=-137,50, y=63,00, z=238,97], EntityBat['Bat'/156, l='MpServer', x=-129,66, y=55,10, z=234,25], EntitySheep['Sheep'/157, l='MpServer', x=-141,44, y=63,00, z=282,19], EntityZombie['Zombie'/158, l='MpServer', x=-132,31, y=64,00, z=293,59], EntityBat['Bat'/159, l='MpServer', x=-141,47, y=23,31, z=314,44], EntityCreeper['Creeper'/167, l='MpServer', x=-125,72, y=30,19, z=158,69], EntitySpider['Spider'/170, l='MpServer', x=-123,50, y=28,00, z=171,50], EntityZombie['Zombie'/171, l='MpServer', x=-116,50, y=53,00, z=164,06], EntityBat['Bat'/172, l='MpServer', x=-110,56, y=55,00, z=160,75], EntitySheep['Sheep'/173, l='MpServer', x=-115,53, y=69,00, z=172,28], EntityRabbit['Rabbit'/174, l='MpServer', x=-122,19, y=70,00, z=175,28], EntityWitch['Witch'/175, l='MpServer', x=-122,50, y=27,00, z=176,84], EntityZombie['Zombie'/176, l='MpServer', x=-120,16, y=25,00, z=187,38], EntityCreeper['Creeper'/177, l='MpServer', x=-115,44, y=23,00, z=182,97], EntityBat['Bat'/178, l='MpServer', x=-116,38, y=25,63, z=187,47], EntitySheep['Sheep'/180, l='MpServer', x=-112,56, y=69,00, z=187,31], EntityBat['Bat'/181, l='MpServer', x=-124,63, y=30,10, z=192,75], EntityZombie['Zombie'/182, l='MpServer', x=-123,50, y=17,00, z=205,50], EntityCreeper['Creeper'/183, l='MpServer', x=-124,50, y=40,00, z=201,00], EntitySpider['Spider'/184, l='MpServer', x=-126,75, y=32,09, z=210,28], EntityCreeper['Creeper'/185, l='MpServer', x=-128,00, y=59,00, z=209,56], EntitySheep['Sheep'/186, l='MpServer', x=-122,75, y=69,00, z=222,91], EntitySheep['Sheep'/187, l='MpServer', x=-127,34, y=63,00, z=244,81], EntitySheep['Sheep'/188, l='MpServer', x=-122,59, y=69,00, z=247,44], EntityRabbit['Rabbit'/66, l='MpServer', x=-261,22, y=65,00, z=160,44], EntityRabbit['Rabbit'/67, l='MpServer', x=-262,47, y=67,00, z=178,03], EntityRabbit['Rabbit'/68, l='MpServer', x=-261,28, y=67,31, z=179,88], EntityRabbit['Rabbit'/69, l='MpServer', x=-260,91, y=67,00, z=181,38], EntityRabbit['Rabbit'/71, l='MpServer', x=-263,31, y=63,00, z=234,16], EntityBat['Bat'/73, l='MpServer', x=-270,75, y=13,10, z=270,47], EntityRabbit['Rabbit'/75, l='MpServer', x=-246,06, y=67,00, z=205,50], EntityRabbit['Rabbit'/76, l='MpServer', x=-249,88, y=68,00, z=290,03], EntityBat['Bat'/77, l='MpServer', x=-243,69, y=39,10, z=307,59], EntityZombie['Zombie'/209, l='MpServer', x=-111,00, y=22,28, z=213,69], EntityRabbit['Rabbit'/83, l='MpServer', x=-228,44, y=70,00, z=215,75], EntityRabbit['Rabbit'/84, l='MpServer', x=-232,53, y=71,00, z=250,88], EntityRabbit['Rabbit'/85, l='MpServer', x=-224,41, y=69,00, z=291,25], EntityRabbit['Rabbit'/95, l='MpServer', x=-220,41, y=69,97, z=296,44], EntityCreeper['Creeper'/99, l='MpServer', x=-204,97, y=18,00, z=171,47], EntityZombie['Zombie'/100, l='MpServer', x=-206,50, y=18,00, z=170,28], EntityRabbit['Rabbit'/101, l='MpServer', x=-193,25, y=68,00, z=204,06], EntityBat['Bat'/102, l='MpServer', x=-207,44, y=40,00, z=254,75], EntityRabbit['Rabbit'/106, l='MpServer', x=-187,91, y=68,00, z=168,03], EntityRabbit['Rabbit'/107, l='MpServer', x=-177,28, y=69,13, z=178,56], EntitySkeleton['Skeleton'/108, l='MpServer', x=-177,34, y=37,00, z=258,28], EntitySquid['Squid'/109, l='MpServer', x=-175,63, y=61,52, z=281,47], EntityWitch['Witch'/110, l='MpServer', x=-176,81, y=17,00, z=308,81], EntitySheep['Sheep'/111, l='MpServer', x=-180,69, y=71,00, z=315,19], EntityRabbit['Rabbit'/118, l='MpServer', x=-162,34, y=72,00, z=176,41], EntitySquid['Squid'/119, l='MpServer', x=-170,47, y=61,13, z=204,53], EntityRabbit['Rabbit'/120, l='MpServer', x=-168,85, y=63,13, z=194,54], EntityZombie['Zombie'/121, l='MpServer', x=-160,66, y=40,00, z=239,91], EntityZombie['Zombie'/122, l='MpServer', x=-169,06, y=42,00, z=246,66], EntitySkeleton['Skeleton'/123, l='MpServer', x=-171,73, y=38,01, z=262,01], EntitySkeleton['Skeleton'/124, l='MpServer', x=-166,03, y=41,00, z=258,47], EntityZombie['Zombie'/125, l='MpServer', x=-175,00, y=37,00, z=270,56], EntitySheep['Sheep'/126, l='MpServer', x=-176,28, y=64,00, z=263,19], EntityPig['Pig'/127, l='MpServer', x=-175,22, y=63,00, z=300,72]]

Retry entities: 0 total; []

Server brand: fml,forge

Server type: Integrated singleplayer server

Stacktrace:

at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:383)

at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2645)

at net.minecraft.client.Minecraft.run(Minecraft.java:401)

at net.minecraft.client.main.Main.main(Main.java:116)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)

at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)

at GradleStart.main(GradleStart.java:26)

 

 

Code:

Button:

if(button == button25) {
            boolean State3 = FastExamples.NotResetVariables.PMsEnabled();
            Minecraft.getMinecraft().displayGuiScreen(new GUI());
            Property prop = Clean.Coins.CC.config1.get("Booleans", "PMs", false);
		boolean PMs = prop.getBoolean();
		prop.set(!PMs);
		Clean.Coins.CC.config1.save();
        }

preInit:

Configuration config1= new Configuration(event.getSuggestedConfigurationFile());
	config1.load();
	FastExamples.NotResetVariables.PMs = config1.get("Booleans", "PMs", false).getBoolean();
                config1.save();

Link to comment
Share on other sites

I've also tried checking for null before it activates but it is still crashing

if(Clean.Coins.CC.config1 != null){
    Clean.Coins.CC.config1.save();
}

Also, just a random question, does anyone know why

String[] splittedMessage = msg.split(")");

isn't working when it is ")" but is working when it is something different?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements




×
×
  • Create New...

Important Information

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