Posted December 13, 201311 yr Hello, guys. I have simple question. How to catch the event connection player to server?
December 13, 201311 yr Author Thank you. Can you give an example? (How to register a class implements IPlayerTracker in Forge?)
December 13, 201311 yr Author 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.
December 14, 201311 yr Author Thank you so much for helping me. Can you tell me when call saveNBTData and loadNBTData? When i call registerExtendedProperties and getExtendedProperties?
December 14, 201311 yr Author I would be very grateful if you also give an example how to use it all right.
December 15, 201311 yr Author As I understand it, these functions are called when a player enters or leaves the server or moved to another world. So if I keep information about player on the database, I can leave these functions are empty?
December 15, 201311 yr Author ]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.
December 15, 201311 yr Author If I understand you correctly you probably just want to cache the value in the player data. Yes.
December 15, 201311 yr Author Make access to the data as quickly as possible. To do this, should I use ExtendedProperties? Aaaa, I'm confused
December 15, 201311 yr Author Repeat once more. If I load the data from database when the player connects, and write them a change, I can leave empty read and loadNBT functions?
December 18, 201311 yr Author Hello again. I have a new question. How to change the ExtendedProperties anywhere in code?
December 19, 201311 yr Author 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)
December 21, 201311 yr Author 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 =(
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.