fixed constant unnecessary render distance reloads

This commit is contained in:
LAX1DUDE 2022-08-22 23:14:41 -07:00
parent 0e11249c8e
commit 58c4a73ac2
5 changed files with 3764 additions and 3753 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

@ -713,6 +713,7 @@ public class EntityPlayerMP extends EntityPlayer implements ICrafting {
*/
public void clonePlayer(EntityPlayer par1EntityPlayer, boolean par2) {
super.clonePlayer(par1EntityPlayer, par2);
this.renderDistance = ((EntityPlayerMP)par1EntityPlayer).renderDistance;
this.lastExperience = -1;
this.lastHealth = -1;
this.lastFoodLevel = -1;

@ -469,7 +469,7 @@ public class EntityTrackerEntry {
public void removeTrackedPlayerSymmetric(EntityPlayerMP par1EntityPlayerMP) {
if (this.trackingPlayers.contains(par1EntityPlayerMP)) {
this.trackingPlayers.remove(par1EntityPlayerMP);
System.out.println(this.trackedEntity.getEntityName() + ": removeTrackedPlayerSymmetric");
//System.out.println(this.trackedEntity.getEntityName() + ": removeTrackedPlayerSymmetric");
par1EntityPlayerMP.destroyedItemsNetCache.add(Integer.valueOf(this.trackedEntity.entityId));
}
}

@ -90,23 +90,32 @@ public class PlayerManager {
if(player.mcServer.getServerOwner().equals(player.username)) {
cycleAllRenderDistance(player);
}else {
// these 2 are called within recreatePlayerEntity
// removePlayer(player);
player.playerNetServerHandler.playerEntity = player.mcServer.getConfigurationManager().recreatePlayerEntity(player, 0, true, false);
// addPlayer(player.playerNetServerHandler.playerEntity);
if(player.lastRenderDistance != player.renderDistance) {
// these 2 are called within recreatePlayerEntity
// removePlayer(player);
player.playerNetServerHandler.playerEntity = player.mcServer.getConfigurationManager().recreatePlayerEntity(player, 0, true, false);
player = player.playerNetServerHandler.playerEntity;
player.lastRenderDistance = player.renderDistance;
// addPlayer(player.playerNetServerHandler.playerEntity);
}
}
}
public void cycleAllRenderDistance(EntityPlayerMP player) {
player.mcServer.getConfigurationManager().viewDistance = player.renderDistance;
List curList = new ArrayList();
curList.addAll(players);
for(int i = 0, l = curList.size(); i < l; ++i) {
EntityPlayerMP playerReload = (EntityPlayerMP)curList.get(i);
// these 2 are called within recreatePlayerEntity
// removePlayer(playerReload);
playerReload.playerNetServerHandler.playerEntity = playerReload.mcServer.getConfigurationManager().recreatePlayerEntity(playerReload, 0, true, false);
// addPlayer(playerReload.playerNetServerHandler.playerEntity);
if(player.lastRenderDistance != player.renderDistance) {
player.mcServer.getConfigurationManager().viewDistance = player.renderDistance;
player.lastRenderDistance = player.renderDistance;
List curList = new ArrayList();
curList.addAll(players);
for(int i = 0, l = curList.size(); i < l; ++i) {
EntityPlayerMP playerReload = (EntityPlayerMP)curList.get(i);
// these 2 are called within recreatePlayerEntity
// removePlayer(playerReload);
playerReload.playerNetServerHandler.playerEntity = playerReload.mcServer.getConfigurationManager().recreatePlayerEntity(playerReload, 0, true, false);
playerReload = playerReload.playerNetServerHandler.playerEntity;
playerReload.lastRenderDistance = playerReload.renderDistance;
// addPlayer(playerReload.playerNetServerHandler.playerEntity);
}
}
}