Jump to content

How do I get the EntityPlayer on the Server Side?


ashjack

Recommended Posts

Well you never want to use the client side player unless you are on the client(gui, key binding). It is almost always available on the server side. Where do you need an instance of the player?

Creator of the MyFit, MagiCraft, Tesseract gun, and Papa's Wingeria mod.

Link to comment
Share on other sites

No "it" won't be the first one in the list. On the server side there is the possibility of having more than one player, so if you're trying to get "your player" it won't work, the server side has access to all the players on the server, to get a player via username FMLCommonHandler.instance().getMinecraftServerInstance().getConfigurationManager().getPlayerByUsername("NAME")

Link to comment
Share on other sites

Maybe you are doing it wrong.

So is this what you need? : when a player spawns an entity, find a random location in the world that is close to the player.

If it is that case, please specify what entity it is and when it got spawned by the player.

I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP)

II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.

Link to comment
Share on other sites

There are two ways this entity will spawn: By a server command, which I have working as the server command contains information about the player who performed the command

 

And it will spawn on it's own if there is less than a specified amount of this entity. This is where my problem comes in, as I need to get the player manually for this.

Link to comment
Share on other sites

If you're using LivingSpawnEvent for this you could create the instance of the player by doing:

 

EntityPlayer player;

if(event.entity instanceof EntityPlayer)
      player = (EntityPlayer)event.entity

 

Although, I am not certain if problems would arise from this.

I am not a cat. I know my profile picture is sexy and amazing beyond anything you could imagine but my cat like features only persist in my fierce eyes. I might be a cat.

Link to comment
Share on other sites

I have just realised, I don't need to get the specific player on the server side. I only need to get a random player on the server side, because on multiplayer, I am still only spawning one entity, so it doesn't matter who it spawns near. Thank you everyone for your help.

Link to comment
Share on other sites

It sounds like it could be wrong. Can you specify why you need player when it spawns?

I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP)

II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.

Link to comment
Share on other sites

So when the NPC needs the player, it follows the way to a player? Then you should need nearest player.

If it is not the case, please specify when it needs to call a player and why.

In any case, I'm sure that choosing random player would be really bad idea.

I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP)

II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.

Link to comment
Share on other sites

It doesn't actually go to the player, it goes to a block that the player must have interacted with for the entity to need to go there in the first place. If it is too far away, the entity 'warps' with a particle effect. The only reason it needs to spawn near a player is for aesthetic purposes, so any player will suffice.

Link to comment
Share on other sites

So it just go to a block that any player would interacted in any time? then I was wrong.

I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP)

II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.

Link to comment
Share on other sites

I'm confused does this have anything to do with the original question?

Yes, because you might have gone to wrong direction. As diesieben said, it seems that you even don't need the player instance.

I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP)

II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.

Link to comment
Share on other sites

Uhh its not my question

Your question was : 'How do I get the EntityPlayer on the Server Side?'

I think it is definitely related with 'You don't even need to get the EntityPlayer for what you want'.

I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP)

II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • I create my mod pack,yesterday my mod pack is fine but i add one mod and error. I'm delete this mmod but minecraft is still stop on CONFIG_LOAD then I tried to delete config and restart it but again. If you can pleace help me. https://imgur.com/ngZBzuv
    • game crashes before even opening (log:https://mclo.gs/M8xvX7c)
    • I have created a custom entity that extends "TamableAnimal", but I am wanting to have it spawn in the ocean. I have it spawning right now, but it spawns way too frequently even with weight set to 1. I am guessing it is because it is rolling in the spawn pool of land animals since TameableAnimal extends Animal and is different than WaterAnimal, and since no land animals spawn in the ocean it just fills every inch up with my custom entity. I have followed basic tutorials for spawning entities with Forge, but I feel like I am missing something about how to change what spawn pool this custom entity ends up in. Is it possible to change that or do I need to refactor it to be based off of WaterAnimal to get those spawn? My biome modifier JSON file: { "type": "forge:add_spawns", "biomes": "#minecraft:is_ocean", "spawners": { "type": "darwinsmysticalmounts:water_animal", "weight": 20, "minCount": 1, "maxCount": 1 } } My client event: event.register(ModEntityTypes.WATER_ANIMAL.get(), SpawnPlacements.Type.NO_RESTRICTIONS, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, WaterWyvernEntity::checkCustomWaterAnimalSpawnRules, SpawnPlacementRegisterEvent.Operation.REPLACE); And the actual custom spawn rule that makes it spawn in the water: public static boolean checkCustomWaterAnimalSpawnRules(EntityType<WaterAnimalEntity> pAnimal, LevelAccessor pLevel, MobSpawnType pSpawnType, BlockPos pPos, RandomSource pRandom) { return pPos.getY() > pLevel.getSeaLevel() - 16 && pLevel.getFluidState(pPos.below()).is(FluidTags.WATER); }  
    • Starting today, I am unable to load my modded minecraft world. Forge crash log initially said it was a specific mod called Doggy Talents, which I disabled. Then it blamed JEI, and when that was disabled it blamed another mod so I assume it's something more than a specific mod. Minecraft launcher log claims "Exit Code 1". Nothing had changed since last night when it was working fine Forge Log: https://pastebin.com/S1GiBGVJ Client Log: https://pastebin.com/aLwuGUNL  
    • I am using AMD, yes. I downloaded the website's drivers and am still having the issue. I also used the Cleanup Utility just in case. 
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.