Jump to content

Recommended Posts

Posted

I've three integers with different names. When the player does something one of them goes up and gives the player buffs and debuffs.

But whenever I shutdown minecraft complety it doesn't save the integers and I know for a fact that you can use NBT to save them but I don't know how.

VampZ modder

Posted

Thanks Ernio

But there's still one problem: Whenever I create a new world the stuff is saved from the previous world.

I fixed it with an event which removes the levels when the world is created, but is there a better way to do it?

VampZ modder

Posted

if you know what static means then you know where ur issues come from.

If you know why I use static then you wouldn't have said this, if I remove it I'll get 12 more bugs

VampZ modder

Posted

if I remove it I'll get 12 more bugs

 

I may disagree with how diesieben07 comes across, but he is right.

 

It is fine to access information from outside of this class but just as a rule of thumb, never use public variables.

It is ALWAYS better to use a private variable with getters and setters.

 

The only "variables" that should ever be public are const, and static final.

 

 

If you read through the link that ernio gave earlier you can see that he uses a private variable and later on he goes through how to use it.

 

SideNote: if you want help fixing up your github let me know.

 

Current Project: Armerger 

Planned mods: Light Drafter  | Ore Swords

Looking for help getting a mod off the ground? Coding  | Textures

Posted

I understand the frustration with learning OOP, but if each player is to have their OWN set of variables, you need to remove the static keyword from playerHuman, playerVampire, playerWerwolf inside your ExtendedPlayer class.  Removing the static keyword will make those variables owned by the object and not the class.

 

Alright, so now you have many errors.  Most of those errors are probably trying to acquire playerHuman, playerVamp, and playerWerewolf variables.  What you were previously doing was trying to obtain the class variables, so now you need to obtain the object's variables.

 

To obtain the Object:

So you already have the getter for the object.

public static final ExtendedPlayer get(EntityPlayer player){
return (ExtendedPlayer) player.getExtendedProperties(EXT_PROP_VZPLAYER);
}

Which is great.  This will be used.

 

Inside your public class "PlayerTransformed" and right before that first if statement, add this.

ExtendedPlayer extended_player = ExtendedPlayer.get(event.player);

 

We make use of the get method you have.

That obtains the instance from your class and you can now play with the variables inside using the ExtendedPlayer object, extended_player.

 

Hopefully this will solve the errors you are having.  As for saving, we wont know until this is done.

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.