mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-29 07:48:53 +01:00
Don't iterate twice - Fixes GH-1346
This commit is contained in:
parent
51e29fb2a1
commit
ce750d7618
1 changed files with 13 additions and 11 deletions
|
@ -1,11 +1,11 @@
|
||||||
From aee707c111aa24b4a9036acb37b6e226efc81a44 Mon Sep 17 00:00:00 2001
|
From f1a4565a54f292f668f94ac2ff6f3f56937209c0 Mon Sep 17 00:00:00 2001
|
||||||
From: Mystiflow <mystiflow@gmail.com>
|
From: Mystiflow <mystiflow@gmail.com>
|
||||||
Date: Fri, 6 Jul 2018 13:21:30 +0100
|
Date: Fri, 6 Jul 2018 13:21:30 +0100
|
||||||
Subject: [PATCH] Send nearby packets from world player list not server list
|
Subject: [PATCH] Send nearby packets from world player list not server list
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
||||||
index eaaa54ac..44ced604 100644
|
index eaaa54acd..44ced604a 100644
|
||||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
||||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
||||||
@@ -1239,8 +1239,25 @@ public abstract class PlayerList {
|
@@ -1239,8 +1239,25 @@ public abstract class PlayerList {
|
||||||
|
@ -46,7 +46,7 @@ index eaaa54ac..44ced604 100644
|
||||||
double d5 = d1 - entityplayer.locY;
|
double d5 = d1 - entityplayer.locY;
|
||||||
double d6 = d2 - entityplayer.locZ;
|
double d6 = d2 - entityplayer.locZ;
|
||||||
diff --git a/src/main/java/net/minecraft/server/WorldManager.java b/src/main/java/net/minecraft/server/WorldManager.java
|
diff --git a/src/main/java/net/minecraft/server/WorldManager.java b/src/main/java/net/minecraft/server/WorldManager.java
|
||||||
index 2c8fb705..a986e947 100644
|
index 2c8fb705d..bfe003f60 100644
|
||||||
--- a/src/main/java/net/minecraft/server/WorldManager.java
|
--- a/src/main/java/net/minecraft/server/WorldManager.java
|
||||||
+++ b/src/main/java/net/minecraft/server/WorldManager.java
|
+++ b/src/main/java/net/minecraft/server/WorldManager.java
|
||||||
@@ -35,8 +35,8 @@ public class WorldManager implements IWorldAccess {
|
@@ -35,8 +35,8 @@ public class WorldManager implements IWorldAccess {
|
||||||
|
@ -78,7 +78,7 @@ index 2c8fb705..a986e947 100644
|
||||||
|
|
||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
EntityHuman entityhuman = null;
|
EntityHuman entityhuman = null;
|
||||||
@@ -67,7 +67,13 @@ public class WorldManager implements IWorldAccess {
|
@@ -67,8 +67,14 @@ public class WorldManager implements IWorldAccess {
|
||||||
if (entity instanceof EntityHuman) entityhuman = (EntityHuman) entity;
|
if (entity instanceof EntityHuman) entityhuman = (EntityHuman) entity;
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
|
|
||||||
|
@ -86,17 +86,19 @@ index 2c8fb705..a986e947 100644
|
||||||
+ java.util.List<? extends EntityHuman> list = entity != null ? entity.world.players : this.a.getPlayerList().v();
|
+ java.util.List<? extends EntityHuman> list = entity != null ? entity.world.players : this.a.getPlayerList().v();
|
||||||
+ Iterator<? extends EntityHuman> iterator = list.iterator();
|
+ Iterator<? extends EntityHuman> iterator = list.iterator();
|
||||||
while (iterator.hasNext()) {
|
while (iterator.hasNext()) {
|
||||||
|
- EntityPlayer entityplayer = (EntityPlayer) iterator.next();
|
||||||
+ EntityHuman human = iterator.next();
|
+ EntityHuman human = iterator.next();
|
||||||
+ if (!(human instanceof EntityPlayer)) continue;
|
+ if (!(human instanceof EntityPlayer)) continue;
|
||||||
|
+ EntityPlayer entityplayer = (EntityPlayer) human;
|
||||||
+ // Paper end
|
+ // Paper end
|
||||||
EntityPlayer entityplayer = (EntityPlayer) iterator.next();
|
|
||||||
|
|
||||||
if (entityplayer != null && entityplayer.world == this.world && entityplayer.getId() != i) {
|
if (entityplayer != null && entityplayer.world == this.world && entityplayer.getId() != i) {
|
||||||
|
double d0 = (double) blockposition.getX() - entityplayer.locX;
|
||||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||||
index 9fe5c440..8768b0b8 100644
|
index a14b5e061..b19942e0f 100644
|
||||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||||
@@ -1234,7 +1234,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
@@ -1267,7 +1267,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||||
}
|
}
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
if (super.strikeLightning(entity)) {
|
if (super.strikeLightning(entity)) {
|
||||||
|
@ -105,7 +107,7 @@ index 9fe5c440..8768b0b8 100644
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
@@ -1309,8 +1309,8 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
@@ -1342,8 +1342,8 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||||
BlockActionData blockactiondata = (BlockActionData) iterator.next();
|
BlockActionData blockactiondata = (BlockActionData) iterator.next();
|
||||||
|
|
||||||
if (this.a(blockactiondata)) {
|
if (this.a(blockactiondata)) {
|
||||||
|
@ -117,10 +119,10 @@ index 9fe5c440..8768b0b8 100644
|
||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||||
index 210e3bc4..170c937a 100644
|
index ccff6fd05..567e9acb1 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||||
@@ -1496,7 +1496,7 @@ public class CraftWorld implements World {
|
@@ -1500,7 +1500,7 @@ public class CraftWorld implements World {
|
||||||
double z = loc.getZ();
|
double z = loc.getZ();
|
||||||
|
|
||||||
PacketPlayOutCustomSoundEffect packet = new PacketPlayOutCustomSoundEffect(sound, SoundCategory.valueOf(category.name()), x, y, z, volume, pitch);
|
PacketPlayOutCustomSoundEffect packet = new PacketPlayOutCustomSoundEffect(sound, SoundCategory.valueOf(category.name()), x, y, z, volume, pitch);
|
||||||
|
@ -130,5 +132,5 @@ index 210e3bc4..170c937a 100644
|
||||||
|
|
||||||
public String getGameRuleValue(String rule) {
|
public String getGameRuleValue(String rule) {
|
||||||
--
|
--
|
||||||
2.18.0.rc2.windows.1
|
2.18.0
|
||||||
|
|
Loading…
Reference in a new issue