0Flash0 Posted December 13, 2013 Posted December 13, 2013 Hello, guys. I have simple question. How to catch the event connection player to server? Quote
0Flash0 Posted December 13, 2013 Author Posted December 13, 2013 Thank you. Can you give an example? (How to register a class implements IPlayerTracker in Forge?) Quote
0Flash0 Posted December 13, 2013 Author Posted December 13, 2013 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. Quote
0Flash0 Posted December 14, 2013 Author Posted December 14, 2013 Thank you so much for helping me. Can you tell me when call saveNBTData and loadNBTData? When i call registerExtendedProperties and getExtendedProperties? Quote
0Flash0 Posted December 14, 2013 Author Posted December 14, 2013 I would be very grateful if you also give an example how to use it all right. Quote
0Flash0 Posted December 15, 2013 Author Posted December 15, 2013 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? Quote
0Flash0 Posted December 15, 2013 Author Posted December 15, 2013 ]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. Quote
0Flash0 Posted December 15, 2013 Author Posted December 15, 2013 If I understand you correctly you probably just want to cache the value in the player data. Yes. Quote
0Flash0 Posted December 15, 2013 Author Posted December 15, 2013 Make access to the data as quickly as possible. To do this, should I use ExtendedProperties? Aaaa, I'm confused Quote
0Flash0 Posted December 15, 2013 Author Posted December 15, 2013 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? Quote
0Flash0 Posted December 18, 2013 Author Posted December 18, 2013 Hello again. I have a new question. How to change the ExtendedProperties anywhere in code? Quote
0Flash0 Posted December 19, 2013 Author Posted December 19, 2013 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) Quote
0Flash0 Posted December 21, 2013 Author Posted December 21, 2013 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 =( Quote
0Flash0 Posted December 21, 2013 Author Posted December 21, 2013 It is better to use DataWatcher? Quote
Recommended Posts
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.