Jump to content

Event Player connect to the server


0Flash0

Recommended Posts

Thank you very much. I have one more question. I want to bind to the player some information to have quick access to it. I understand that I can use an associative array, but I want to receive information in O (1). Tell me please what i need to use for this.

Link to comment
Share on other sites

]Yes. But why would you want to do that? :)

Most likely, I'm just confused. I have a simple task:

The player is playing on my server can earn coins that are tied to their account in my site. When player connects to the server, I need to install their number. But each time send request to database as their number is render for a long time.

Link to comment
Share on other sites

You didn't understand me. I understand how to get the value. I cann't understand how to update this value, because #registerExtendedProperties only works when calling the entity's constructor, and #getExtendedProperties only get the new instance.

P.S.ย  If you write code example, I would be very grateful)

Link to comment
Share on other sites

Okey.

I register onEntityConstruct like this:

ย 

public void onEntityConstruct(EntityConstructing event) {

ย  ย  ย  ย  if (event.entity instanceof EntityPlayer) {

ย  ย  ClientInformation properties = new ClientInformation();

ย  ย  ย  ย  properties.setMoney(100);

ย  ย  ย  ย  ย  ย  event.entity.registerExtendedProperties(ClientInformation.IDENTIFICATION, properties);

ย  ย  ย  ย  }

}

ย 

I update somewhere ExtendedProperties like this:

ย 

((ClientInformation)player.getExtendedProperties(ClientInformation.IDENTIFICATION)).setMoney(200);

ย 

However, the value of which I render does not change:

ย 

@ForgeSubscribe(priority = EventPriority.NORMAL)

public void onRenderHUD(RenderGameOverlayEvent event) {

if (event.isCancelable() || event.type != ElementType.EXPERIENCE) {

return;

}

ย 

GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);

GL11.glDisable(GL11.GL_LIGHTING);

ย 

ClientInformation clientInfo = ClientInformation.getInformation(this.mc.thePlayer);

String moneyย  = "$" + ((ClientInformation)(this.mc.thePlayer).getExtendedProperties(ClientInformation.IDENTIFICATION)).getMoney();

ย  ย  ย  ย  ย  ย  ย  ย  //some code...

}

ย 

P.S. For some reason i can't to use the formatting tools =(

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.