perromercenary00 Posted April 8, 2016 Posted April 8, 2016 good days i have been strugling whith anoing behaveour making a gun until i realize all the mess was caused by this issue i been using a key binds to send a package form the client to the server to change nbt values in the held item but the mesage never reache server but end in the client side to test it i set some systemOuts in the mi package Handler class to see what its getting System.out.println( "\n\nMundo ="+playerIn.getEntityWorld().isRemote+ "\nID="+ID+ " \nVALOR="+VALOR+ " \nENTITYID="+ENTITYID ); and this is what i get in the console when use the keybinds Mundo =true ID=1 VALOR=0 ENTITYID=195 [07:45:45] [server thread/INFO] [sTDOUT]: [mercenarymod.eventos.CambiarParametrosEnEntidades:en:23]: !!!!!!!!!! CambiarParametrosEnEntidades(true en=Player843) [07:45:45] [server thread/INFO] [sTDOUT]: [mercenarymod.eventos.mensajeMercenarioalServidor$Handler0$1:run:125]: Mundo =true ID=1 VALOR=3 ENTITYID=195 [07:45:46] [server thread/INFO] [sTDOUT]: [mercenarymod.eventos.CambiarParametrosEnEntidades:en:23]: !!!!!!!!!! CambiarParametrosEnEntidades(true en=Player843) [07:45:46] [server thread/INFO] [sTDOUT]: [mercenarymod.eventos.mensajeMercenarioalServidor$Handler0$1:run:125]: Mundo =true ID=1 VALOR=1 ENTITYID=195 [07:45:46] [server thread/INFO] [sTDOUT]: [mercenarymod.eventos.CambiarParametrosEnEntidades:en:23]: !!!!!!!!!! CambiarParametrosEnEntidades(true en=Player843) [07:45:46] [server thread/INFO] [sTDOUT]: [mercenarymod.eventos.mensajeMercenarioalServidor$Handler0$1:run:125]: Mundo =true ID=1 VALOR=2 ENTITYID=195 [07:45:47] [server thread/INFO] [sTDOUT]: [mercenarymod.eventos.CambiarParametrosEnEntidades:en:23]: !!!!!!!!!! CambiarParametrosEnEntidades(true en=Player843) [07:45:47] [server thread/INFO] [sTDOUT]: [mercenarymod.eventos.mensajeMercenarioalServidor$Handler0$1:run:125]: Mundo =true ID=1 VALOR=4 ENTITYID=195 "Mundo =true" the data is ending in the client side not in the server i register the package class in mi main class perinit this way // send packages network = NetworkRegistry.INSTANCE.newSimpleChannel("canalM00"); network.registerMessage(mensajeMercenarioalServidor.Handler0.class, mensajeMercenarioalServidor.class, 0, Side.SERVER); network.registerMessage(mensajeMercenarioalMundo.Handler0.class, mensajeMercenarioalMundo.class, 1, Side.CLIENT); eclipśe says no error whit this part of the code, ################################ could be that forge change the way packages works, or may a bug ? this is the keyhandler in client side KeyInputHandler.java https://gist.github.com/anonymous/ec284ef42cc9afe76d91e833bb5fa285 this is the package class mensajeMercenarioalServidor.java https://gist.github.com/anonymous/d15cf44acbc608c1eb53e8162ee12c59 Quote
coolAlias Posted April 8, 2016 Posted April 8, 2016 The problem is you are still using the client player in your message handler, despite being on the server side: EntityPlayer playerIn = Minecraft.getMinecraft().thePlayer; You should be getting the player via a call to your proxy: EntityPlayer player = Main.proxy.getPlayerEntity(ctx); // CommonProxy / ServerProxy implementation: public EntityPlayer getPlayerEntity(MessageContext ctx) { return ctx.getServerHandler().playerEntity; } // ClientProxy implementation: @Override public EntityPlayer getPlayerEntity(MessageContext ctx) { return (ctx.side.isClient() ? Minecraft.getMinecraft().thePlayer : super.getPlayerEntity(ctx)); } Quote http://i.imgur.com/NdrFdld.png[/img]
perromercenary00 Posted April 8, 2016 Author Posted April 8, 2016 ya is rigth i change the EntityPlayer playerIn = Minecraft.getMinecraft().thePlayer; per EntityPlayer playerIn = ctx.getServerHandler().playerEntity; and now says Mundo =false ID=1 VALOR=0 ENTITYID=182 [09:38:00] [Client thread/INFO]: [CHAT] Mundo=false [09:38:00] [Client thread/INFO]: [CHAT] Es Un Cargador [09:38:00] [Client thread/INFO]: [CHAT] Es Un Cargador [09:38:00] [Client thread/INFO]: [CHAT] Boton = 0 [09:38:00] [Client thread/INFO]: [CHAT] accion = 1 [09:38:00] [Client thread/INFO]: [CHAT] tipomunicion = 2 [09:38:00] [server thread/INFO] [sTDOUT]: [mercenarymod.eventos.CambiarParametrosEnEntidades:en:23]: !!!!!!!!!! CambiarParametrosEnEntidades(false en=Player702) this ( ctx | Minecraft.getMinecraft ) thing is little hard to remeber i feel i been falling whith same stone like 3 times and what a happy coincidense the piece of the client side i wass loking long ago to make some mercenary entityes to be controled whith a item from the player client side bueno thanks 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.