Posted July 28, 201510 yr Hello everyone, I am triing to change the player health when he is joining the world. The problem is that it seems to kill the player when he is joining the world. Is there a better way to set his health? Is there a better event to call this? @SubscribeEvent public void joining(EntityJoinWorldEvent event) { if(event.entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) event.entity; ExtendedPlayer ext = ExtendedPlayer.get(player); ext.joinWorld(); } } public void joinWorld() { player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(hitpoints); }
July 28, 201510 yr You are not showing where you set the value for hitpoints. Long time Bukkit & Forge Programmer Happy to try and help
July 28, 201510 yr Author public ExtendedPlayer(EntityPlayer player) { hitpoints = 20f; this.player =player; skillPointsLeft = 1; }
July 28, 201510 yr Just for grins, put the hit points up into where you declare it, and put a print statement right before the line to set the hitpoint to check to see the value at that point in time. Also, thought hitpoint was an integer not a float. Long time Bukkit & Forge Programmer Happy to try and help
July 28, 201510 yr Author Output is 20. Although it doenst matters if I use a float or an integer there, but since mc is using floats i wanted to do the same.
July 28, 201510 yr My memory must be off then. Could have sworn it was an integer. And you are right. Shouldn't matter, but I've been surprised before. The only other thing I can think of is that anytime I have changed the max hitpoints of an entity, on the next line of code, I set their current hitpoints to the max value. Long time Bukkit & Forge Programmer Happy to try and help
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.