mirror of
https://github.com/Dreeam-qwq/Gale.git
synced 2025-12-23 16:59:23 +00:00
Updated Upstream (Paper)
This commit is contained in:
@@ -5,4 +5,4 @@ org.gradle.vfs.watch=false
|
||||
group=org.galemc.gale
|
||||
version=1.19.3-R0.1-SNAPSHOT
|
||||
mcVersion=1.19.3
|
||||
paperRef=3822cc891d3d8dc2e91347e9b33a74334d44264c
|
||||
paperRef=048ee5872d791df0a9aad856723958c8dc602e48
|
||||
@@ -37,10 +37,10 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index 19995314b01f19c312efa2a4584ccfba2d700c52..0a5b8bd9726fd77ad0b8dd3412d2ef3b6231d46d 100644
|
||||
index 9f762cf670bf5db9138e468e72e57781d8d22f54..f0302931b082d9a70799d1984dfeb5b0e0973473 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -1464,6 +1464,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
@@ -1466,6 +1466,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
@org.jetbrains.annotations.ApiStatus.Experimental // Paper
|
||||
public boolean canSee(@NotNull Entity entity);
|
||||
|
||||
|
||||
@@ -360,7 +360,7 @@ index 51b3db0b6c2cede95b584268e035c0fb36d38094..98f00bdc85ade95ccbfaa1999c70ac65
|
||||
if (this.convertOldUsers()) {
|
||||
this.getProfileCache().save(false); // Paper
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index f3a19d00f78e19aa98c57461efb90d79f656a992..e9c7e0f0c411f4a810c9ab3b846c74353a6ef815 100644
|
||||
index 54c2b7fba83d6f06dba95b1bb5b487a02048d6e6..4b1b828b72a8ddef240d005fc514ae0a54b22982 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -128,12 +128,10 @@ import net.minecraft.world.level.chunk.storage.EntityStorage;
|
||||
@@ -376,7 +376,7 @@ index f3a19d00f78e19aa98c57461efb90d79f656a992..e9c7e0f0c411f4a810c9ab3b846c7435
|
||||
import net.minecraft.world.level.gameevent.DynamicGameEventListener;
|
||||
import net.minecraft.world.level.gameevent.GameEvent;
|
||||
import net.minecraft.world.level.gameevent.GameEventDispatcher;
|
||||
@@ -529,7 +527,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -527,7 +525,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
public ServerLevel(MinecraftServer minecraftserver, Executor executor, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PrimaryLevelData iworlddataserver, ResourceKey<Level> resourcekey, LevelStem worlddimension, ChunkProgressListener worldloadlistener, boolean flag, long i, List<CustomSpawner> list, boolean flag1, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider) {
|
||||
// Holder holder = worlddimension.type(); // CraftBukkit - decompile error
|
||||
// Objects.requireNonNull(minecraftserver); // CraftBukkit - decompile error
|
||||
@@ -462,7 +462,7 @@ index 3cbf801b2e5420c0e870f73788deb550e49ad54d..6b5740e4e73a753c9516d7cbde575c18
|
||||
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 454721406d596f65512eadf0e4b901990490f0c6..0addf9c9db5895aaca03dc1781ed76e5ef5fd334 100644
|
||||
index 0739d32db0dd69965fd0c93be6a1f2c7448d3439..a7326db69297f46cd403114069a1d5c033ffb809 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -979,6 +979,7 @@ public final class CraftServer implements Server {
|
||||
@@ -473,7 +473,7 @@ index 454721406d596f65512eadf0e4b901990490f0c6..0addf9c9db5895aaca03dc1781ed76e5
|
||||
for (ServerLevel world : this.console.getAllLevels()) {
|
||||
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
|
||||
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters, config.spawnAnimals); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
|
||||
@@ -2760,6 +2761,14 @@ public final class CraftServer implements Server {
|
||||
@@ -2763,6 +2764,14 @@ public final class CraftServer implements Server {
|
||||
return CraftServer.this.console.paperConfigurations.createLegacyObject(CraftServer.this.console);
|
||||
}
|
||||
|
||||
|
||||
@@ -611,7 +611,7 @@ index ca84eddbdb1e198b899750e5f6b3eafd25ce970f..d95c3b14c06421c03c99f84efb3a5319
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index e9c7e0f0c411f4a810c9ab3b846c74353a6ef815..c44d75ccda1edc7d2d04c42fb1af141cd22b2354 100644
|
||||
index 4b1b828b72a8ddef240d005fc514ae0a54b22982..e8658ed3784444991c5a6c8f03d2a5e021a11385 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -76,7 +76,6 @@ import net.minecraft.util.CsvOutput;
|
||||
@@ -622,7 +622,7 @@ index e9c7e0f0c411f4a810c9ab3b846c74353a6ef815..c44d75ccda1edc7d2d04c42fb1af141c
|
||||
import net.minecraft.world.DifficultyInstance;
|
||||
import net.minecraft.world.damagesource.DamageSource;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
@@ -527,15 +526,17 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -525,15 +524,17 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
public ServerLevel(MinecraftServer minecraftserver, Executor executor, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PrimaryLevelData iworlddataserver, ResourceKey<Level> resourcekey, LevelStem worlddimension, ChunkProgressListener worldloadlistener, boolean flag, long i, List<CustomSpawner> list, boolean flag1, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider) {
|
||||
// Holder holder = worlddimension.type(); // CraftBukkit - decompile error
|
||||
// Objects.requireNonNull(minecraftserver); // CraftBukkit - decompile error
|
||||
@@ -643,7 +643,7 @@ index e9c7e0f0c411f4a810c9ab3b846c74353a6ef815..c44d75ccda1edc7d2d04c42fb1af141c
|
||||
this.navigatingMobs = new ObjectOpenHashSet();
|
||||
this.blockEvents = new ObjectLinkedOpenHashSet();
|
||||
this.blockEventsToReschedule = new ArrayList(64);
|
||||
@@ -633,12 +634,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -631,12 +632,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
}
|
||||
}
|
||||
// Paper end - optimise checkDespawn
|
||||
@@ -656,7 +656,7 @@ index e9c7e0f0c411f4a810c9ab3b846c74353a6ef815..c44d75ccda1edc7d2d04c42fb1af141c
|
||||
this.advanceWeatherCycle();
|
||||
int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE);
|
||||
long j;
|
||||
@@ -665,32 +662,24 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -663,32 +660,24 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
|
||||
this.updateSkyBrightness();
|
||||
this.tickTime();
|
||||
@@ -689,7 +689,7 @@ index e9c7e0f0c411f4a810c9ab3b846c74353a6ef815..c44d75ccda1edc7d2d04c42fb1af141c
|
||||
boolean flag = true || !this.players.isEmpty() || !this.getForcedChunks().isEmpty(); // CraftBukkit - this prevents entity cleanup, other issues on servers with no players
|
||||
|
||||
if (flag) {
|
||||
@@ -698,12 +687,9 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -696,12 +685,9 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
}
|
||||
|
||||
if (flag || this.emptyTime++ < 300) {
|
||||
@@ -702,7 +702,7 @@ index e9c7e0f0c411f4a810c9ab3b846c74353a6ef815..c44d75ccda1edc7d2d04c42fb1af141c
|
||||
}
|
||||
|
||||
org.spigotmc.ActivationRange.activateEntities(this); // Spigot
|
||||
@@ -713,9 +699,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -711,9 +697,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
if (false && this.shouldDiscardEntity(entity)) { // CraftBukkit - We prevent spawning in general, so this butchering is not needed
|
||||
entity.discard();
|
||||
} else {
|
||||
@@ -712,7 +712,7 @@ index e9c7e0f0c411f4a810c9ab3b846c74353a6ef815..c44d75ccda1edc7d2d04c42fb1af141c
|
||||
if (true || this.chunkSource.chunkMap.getDistanceManager().inEntityTickingRange(entity.chunkPosition().toLong())) { // Paper - now always true if in the ticking list
|
||||
Entity entity1 = entity.getVehicle();
|
||||
|
||||
@@ -727,22 +711,17 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -725,22 +709,17 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
entity.stopRiding();
|
||||
}
|
||||
|
||||
@@ -735,7 +735,7 @@ index e9c7e0f0c411f4a810c9ab3b846c74353a6ef815..c44d75ccda1edc7d2d04c42fb1af141c
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -801,9 +780,6 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -799,9 +778,6 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
boolean flag = this.isRaining();
|
||||
int j = chunkcoordintpair.getMinBlockX();
|
||||
int k = chunkcoordintpair.getMinBlockZ();
|
||||
@@ -745,7 +745,7 @@ index e9c7e0f0c411f4a810c9ab3b846c74353a6ef815..c44d75ccda1edc7d2d04c42fb1af141c
|
||||
final BlockPos.MutableBlockPos blockposition = this.chunkTickMutablePosition; // Paper - use mutable to reduce allocation rate, final to force compile fail on change
|
||||
|
||||
if (!this.paperConfig().environment.disableThunder && flag && this.isThundering() && this.spigotConfig.thunderChance > 0 && this.random.nextInt(this.spigotConfig.thunderChance) == 0) { // Spigot // Paper - disable thunder
|
||||
@@ -833,7 +809,6 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -831,7 +807,6 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -753,7 +753,7 @@ index e9c7e0f0c411f4a810c9ab3b846c74353a6ef815..c44d75ccda1edc7d2d04c42fb1af141c
|
||||
int l;
|
||||
|
||||
if (!this.paperConfig().environment.disableIceAndSnow && this.random.nextInt(16) == 0) { // Paper - Disable ice and snow
|
||||
@@ -885,7 +860,6 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -883,7 +858,6 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
}
|
||||
|
||||
// Paper start - optimise random block ticking
|
||||
@@ -761,7 +761,7 @@ index e9c7e0f0c411f4a810c9ab3b846c74353a6ef815..c44d75ccda1edc7d2d04c42fb1af141c
|
||||
timings.chunkTicksBlocks.startTiming(); // Paper
|
||||
if (randomTickSpeed > 0) {
|
||||
LevelChunkSection[] sections = chunk.getSections();
|
||||
@@ -921,7 +895,6 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -919,7 +893,6 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
}
|
||||
// Paper end - optimise random block ticking
|
||||
timings.chunkTicksBlocks.stopTiming(); // Paper
|
||||
@@ -769,7 +769,7 @@ index e9c7e0f0c411f4a810c9ab3b846c74353a6ef815..c44d75ccda1edc7d2d04c42fb1af141c
|
||||
}
|
||||
|
||||
public Optional<BlockPos> findLightningRod(BlockPos pos) {
|
||||
@@ -1199,19 +1172,13 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -1197,19 +1170,13 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
try {
|
||||
// Paper end - timings
|
||||
entity.setOldPosAndRot();
|
||||
@@ -789,7 +789,7 @@ index e9c7e0f0c411f4a810c9ab3b846c74353a6ef815..c44d75ccda1edc7d2d04c42fb1af141c
|
||||
} finally { timer.stopTiming(); } // Paper - timings
|
||||
Iterator iterator = entity.getPassengers().iterator();
|
||||
|
||||
@@ -1240,12 +1207,6 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -1238,12 +1205,6 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
// Paper end
|
||||
passenger.setOldPosAndRot();
|
||||
++passenger.tickCount;
|
||||
@@ -802,7 +802,7 @@ index e9c7e0f0c411f4a810c9ab3b846c74353a6ef815..c44d75ccda1edc7d2d04c42fb1af141c
|
||||
// Paper start - EAR 2
|
||||
if (isActive) {
|
||||
passenger.rideTick();
|
||||
@@ -1257,7 +1218,6 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -1255,7 +1216,6 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
vehicle.positionRider(passenger);
|
||||
}
|
||||
// Paper end - EAR 2
|
||||
@@ -811,10 +811,10 @@ index e9c7e0f0c411f4a810c9ab3b846c74353a6ef815..c44d75ccda1edc7d2d04c42fb1af141c
|
||||
|
||||
while (iterator.hasNext()) {
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index c0b0a7fdb75266a7064d54bda6441953184ecc64..4b9be8345946fab0d5f2a206bf916b19d78765b5 100644
|
||||
index 7d6d3c8556033d289fdadc489e73fba478fce41a..a07da939bb6b2dd0bd75cc74dd79493695035259 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1151,7 +1151,6 @@ public class ServerPlayer extends Player {
|
||||
@@ -1149,7 +1149,6 @@ public class ServerPlayer extends Player {
|
||||
PortalInfo shapedetectorshape = this.findDimensionEntryPoint(worldserver);
|
||||
|
||||
if (shapedetectorshape != null) {
|
||||
@@ -822,7 +822,7 @@ index c0b0a7fdb75266a7064d54bda6441953184ecc64..4b9be8345946fab0d5f2a206bf916b19
|
||||
worldserver = shapedetectorshape.world; // CraftBukkit
|
||||
if (worldserver == null) { } else // CraftBukkit - empty to fall through to null to event
|
||||
if (resourcekey == LevelStem.OVERWORLD && worldserver.getTypeKey() == LevelStem.NETHER) { // CraftBukkit
|
||||
@@ -1174,8 +1173,6 @@ public class ServerPlayer extends Player {
|
||||
@@ -1172,8 +1171,6 @@ public class ServerPlayer extends Player {
|
||||
worldserver = ((CraftWorld) exit.getWorld()).getHandle();
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -831,7 +831,7 @@ index c0b0a7fdb75266a7064d54bda6441953184ecc64..4b9be8345946fab0d5f2a206bf916b19
|
||||
if (true) { // CraftBukkit
|
||||
this.isChangingDimension = true; // CraftBukkit - Set teleport invulnerability only if player changing worlds
|
||||
|
||||
@@ -1193,7 +1190,6 @@ public class ServerPlayer extends Player {
|
||||
@@ -1191,7 +1188,6 @@ public class ServerPlayer extends Player {
|
||||
this.connection.teleport(exit); // CraftBukkit - use internal teleport without event
|
||||
this.connection.resetPosition();
|
||||
worldserver.addDuringPortalTeleport(this);
|
||||
@@ -840,18 +840,18 @@ index c0b0a7fdb75266a7064d54bda6441953184ecc64..4b9be8345946fab0d5f2a206bf916b19
|
||||
this.connection.send(new ClientboundPlayerAbilitiesPacket(this.getAbilities()));
|
||||
playerlist.sendLevelInfo(this, worldserver);
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 0c2255b6e2fb7752f85b0f83d4f84732758bd14d..757146c2b20d731577983375d34afaa80df639d8 100644
|
||||
index 08cb3db28f13c352a162009deeb28ee637e98d2a..81b27d48c1421c02f86b95db1d7a1eeaf130cd09 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -394,7 +394,6 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -390,7 +390,6 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
this.aboveGroundVehicleTickCount = 0;
|
||||
}} // Paper - end if (valid)
|
||||
}
|
||||
|
||||
- this.server.getProfiler().push("keepAlive");
|
||||
// Paper Start - give clients a longer time to respond to pings as per pre 1.12.2 timings
|
||||
// This should effectively place the keepalive handling back to "as it was" before 1.12.2
|
||||
long currentTime = Util.getMillis();
|
||||
@@ -415,7 +414,6 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -411,7 +410,6 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
}
|
||||
// Paper end
|
||||
|
||||
@@ -936,7 +936,7 @@ index 7ab57748b2f2aea1003d9b7e70e76c372aa1e432..47e75ec4a01f8a456ec6ebc13031c1f0
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 7f94da8059147760cbdc2476d0e8beda4a105f40..756e952a808ab5185f1feef16a121ed677242e37 100644
|
||||
index be54a70b47433c2abaeb8632ffe55d0762f619d6..372a60f326c1472697a0153bb7cdd08b3a02e9c3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -787,7 +787,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -1051,7 +1051,7 @@ index 7f94da8059147760cbdc2476d0e8beda4a105f40..756e952a808ab5185f1feef16a121ed6
|
||||
}
|
||||
} else {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 9e075de3542bda8ae086c9ca68bcd00b16d565d0..90d45d9c7dca9ff4acde6fc8539dcaf8eb59fe11 100644
|
||||
index 864ab97b7a6c62c376ca38dbbc65bc9406dfd62b..5f3796c9b0f910e578fe70c46ca97c36b70378f8 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -393,7 +393,6 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -1526,7 +1526,7 @@ index 18eac340386a396c9850f53f30d20a41c1437788..a4029cd16d964cd3a58f9f6e8471fbdf
|
||||
this.assignProfessionWhenSpawned = false;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
index e7ce14ab0732034107e735787354a6fb0ec90f54..a9aa5c23f424513ef121c9875f8b63b360fb9d32 100644
|
||||
index f16593a99ca4089151c2247f6028b823614c78e4..d3ade2eb7c492cd8fdb24c78fa2886db8986fc09 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
@@ -362,7 +362,6 @@ public class Explosion {
|
||||
|
||||
@@ -19,10 +19,10 @@ require it to be initialized earlier. By moving it to the superclass, we
|
||||
initialize it earlier, ensuring that it is available sooner.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index c44d75ccda1edc7d2d04c42fb1af141cd22b2354..a44374f7ec27bdb12ab69d516fb847d223fc60ee 100644
|
||||
index e8658ed3784444991c5a6c8f03d2a5e021a11385..b8c4a0177b69dc3f79560e7ca5e80e681c73f698 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -772,7 +772,6 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -770,7 +770,6 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
}
|
||||
// Paper start - optimise random block ticking
|
||||
private final BlockPos.MutableBlockPos chunkTickMutablePosition = new BlockPos.MutableBlockPos();
|
||||
|
||||
@@ -64,10 +64,10 @@ index d95c3b14c06421c03c99f84efb3a5319200f8a57..8ed18a158a13dceca7cd342125c09e52
|
||||
boolean flag1 = level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) != 0L && worlddata.getGameTime() % level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) == 0L; // CraftBukkit
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index a44374f7ec27bdb12ab69d516fb847d223fc60ee..b589aeb3af47437a657bda806c99ef3fa95f22f8 100644
|
||||
index b8c4a0177b69dc3f79560e7ca5e80e681c73f698..afdc242861a05acfade89e01dfeaad0fa9a13e0a 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -774,6 +774,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -772,6 +772,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
private final BlockPos.MutableBlockPos chunkTickMutablePosition = new BlockPos.MutableBlockPos();
|
||||
// Paper end
|
||||
|
||||
@@ -76,7 +76,7 @@ index a44374f7ec27bdb12ab69d516fb847d223fc60ee..b589aeb3af47437a657bda806c99ef3f
|
||||
public void tickChunk(LevelChunk chunk, int randomTickSpeed) {
|
||||
ChunkPos chunkcoordintpair = chunk.getPos();
|
||||
boolean flag = this.isRaining();
|
||||
@@ -781,7 +783,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -779,7 +781,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
int k = chunkcoordintpair.getMinBlockZ();
|
||||
final BlockPos.MutableBlockPos blockposition = this.chunkTickMutablePosition; // Paper - use mutable to reduce allocation rate, final to force compile fail on change
|
||||
|
||||
@@ -85,7 +85,7 @@ index a44374f7ec27bdb12ab69d516fb847d223fc60ee..b589aeb3af47437a657bda806c99ef3f
|
||||
blockposition.set(this.findLightningTargetAround(this.getBlockRandomPos(j, 0, k, 15))); // Paper
|
||||
if (this.isRainingAt(blockposition)) {
|
||||
DifficultyInstance difficultydamagescaler = this.getCurrentDifficultyAt(blockposition);
|
||||
@@ -810,7 +812,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -808,7 +810,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
|
||||
int l;
|
||||
|
||||
|
||||
@@ -31,10 +31,10 @@ You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index b589aeb3af47437a657bda806c99ef3fa95f22f8..5f3e3383f20b850720835fab948bb610978e4fe9 100644
|
||||
index afdc242861a05acfade89e01dfeaad0fa9a13e0a..89aaa846d5cb1cfd8ccf634f85bdc4180013cfd0 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -711,7 +711,20 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -709,7 +709,20 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
entity.stopRiding();
|
||||
}
|
||||
|
||||
|
||||
@@ -31,10 +31,10 @@ You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index a8d10092a990aa63c71846425aed261ecb845514..910724dce6b96a0359808f2311dbd1e9ccee47ea 100644
|
||||
index 820bb37e9d9e670c2f8282967926dcce61852bf5..a3f717c6aacdae306a4c61b34d6aaaffa41f7c68 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -4082,16 +4082,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -4089,16 +4089,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
}
|
||||
|
||||
public boolean updateFluidHeightAndDoFluidPushing(TagKey<Fluid> tag, double speed) {
|
||||
@@ -60,7 +60,7 @@ index a8d10092a990aa63c71846425aed261ecb845514..910724dce6b96a0359808f2311dbd1e9
|
||||
double d1 = 0.0D;
|
||||
boolean flag = this.isPushedByFluid();
|
||||
boolean flag1 = false;
|
||||
@@ -4099,14 +4101,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -4106,14 +4108,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
int k1 = 0;
|
||||
BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos();
|
||||
|
||||
@@ -128,7 +128,7 @@ index a8d10092a990aa63c71846425aed261ecb845514..910724dce6b96a0359808f2311dbd1e9
|
||||
|
||||
if (d2 >= axisalignedbb.minY) {
|
||||
flag1 = true;
|
||||
@@ -4128,9 +4177,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -4135,9 +4184,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
// CraftBukkit end
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,11 +12,23 @@ By: chickeneer <emcchickeneer@gmail.com>
|
||||
As part of: EmpireCraft (https://github.com/starlis/empirecraft)
|
||||
Licensed under: MIT (https://opensource.org/licenses/MIT)
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index a07da939bb6b2dd0bd75cc74dd79493695035259..9d74ef6973f6a9e12861256aa7032f8d746a97f5 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -261,6 +261,7 @@ public class ServerPlayer extends Player {
|
||||
public boolean joining = true;
|
||||
public boolean sentListPacket = false;
|
||||
public boolean supressTrackerForLogin = false; // Paper
|
||||
+ public boolean didPlayerJoinEvent = false; // Gale - EMC - do not process chat/commands before player has joined
|
||||
public Integer clientViewDistance;
|
||||
// CraftBukkit end
|
||||
public boolean isRealPlayer; // Paper
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 757146c2b20d731577983375d34afaa80df639d8..ba408197c1d949800726bd08563c25033d84072b 100644
|
||||
index 81b27d48c1421c02f86b95db1d7a1eeaf130cd09..8fac3c35b04429e66e440895ab82a65497147812 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2328,6 +2328,10 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -2324,6 +2324,10 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
} else if (this.player.isRemoved() || this.player.getChatVisibility() == ChatVisiblity.HIDDEN) { // CraftBukkit - dead men tell no tales
|
||||
this.send(new ClientboundSystemChatPacket(Component.translatable("chat.disabled.options").withStyle(ChatFormatting.RED), false));
|
||||
return Optional.empty();
|
||||
@@ -27,3 +39,16 @@ index 757146c2b20d731577983375d34afaa80df639d8..ba408197c1d949800726bd08563c2503
|
||||
} else {
|
||||
Optional<LastSeenMessages> optional = this.unpackAndApplyLastSeen(acknowledgment);
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index c0b599b1835d28ddda3690b29f29bd8c6f03e215..6cc577d17201513af62ce847363ee25a3852a1b5 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -322,6 +322,8 @@ public abstract class PlayerList {
|
||||
return;
|
||||
}
|
||||
|
||||
+ player.didPlayerJoinEvent = true; // Gale - EMC - do not process chat/commands before player has joined
|
||||
+
|
||||
final net.kyori.adventure.text.Component jm = playerJoinEvent.joinMessage();
|
||||
|
||||
if (jm != null && !jm.equals(net.kyori.adventure.text.Component.empty())) { // Paper - Adventure
|
||||
|
||||
@@ -7,7 +7,7 @@ License: AGPL-3.0 (https://www.gnu.org/licenses/agpl-3.0.html)
|
||||
Gale - https://galemc.org
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index ba408197c1d949800726bd08563c25033d84072b..d98928904f74a86c72dbfc402723d50fb1b62f28 100644
|
||||
index 8fac3c35b04429e66e440895ab82a65497147812..ee3acb578d4f72836eb3a4e8336701b3b939da50 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -182,6 +182,8 @@ import net.minecraft.world.phys.Vec3;
|
||||
@@ -19,7 +19,7 @@ index ba408197c1d949800726bd08563c25033d84072b..d98928904f74a86c72dbfc402723d50f
|
||||
import org.slf4j.Logger;
|
||||
|
||||
// CraftBukkit start
|
||||
@@ -2536,7 +2538,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -2532,7 +2534,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
// CraftBukkit start
|
||||
String s = message.signedContent();
|
||||
if (s.isEmpty()) {
|
||||
|
||||
@@ -37,7 +37,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java b/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java
|
||||
index 6a083e269b828ef53f943cae56b029f2e0021ef1..8244810e9ac8aed6248cca71af3be31292cd99aa 100644
|
||||
index 110503062b3043cffa082a1cda6b8d57152869aa..951ca1e25cdcdf6a1ade4090ca397f6d21c4e599 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java
|
||||
@@ -31,6 +31,7 @@ import org.bukkit.Material;
|
||||
@@ -48,12 +48,12 @@ index 6a083e269b828ef53f943cae56b029f2e0021ef1..8244810e9ac8aed6248cca71af3be312
|
||||
|
||||
/**
|
||||
* This class may seem unnecessarily slow and complicated/repetitive however it
|
||||
@@ -255,7 +256,7 @@ public final class CraftLegacy {
|
||||
@@ -256,7 +257,7 @@ public final class CraftLegacy {
|
||||
}
|
||||
|
||||
static {
|
||||
- System.err.println("Initializing Legacy Material Support. Unless you have legacy plugins and/or data this is a bug!");
|
||||
+ if (GaleGlobalConfiguration.get().logToConsole.legacyMaterialInitialization) System.err.println("Initializing Legacy Material Support. Unless you have legacy plugins and/or data this is a bug!"); // Gale - Purpur - do not log legacy Material initialization
|
||||
- LOGGER.warn("Initializing Legacy Material Support. Unless you have legacy plugins and/or data this is a bug!"); // Paper - doesn't need to be an error
|
||||
+ if (GaleGlobalConfiguration.get().logToConsole.legacyMaterialInitialization) LOGGER.warn("Initializing Legacy Material Support. Unless you have legacy plugins and/or data this is a bug!"); // Paper - doesn't need to be an error // Gale - Purpur - do not log legacy Material initialization
|
||||
if (MinecraftServer.getServer() != null && MinecraftServer.getServer().isDebugging()) {
|
||||
new Exception().printStackTrace();
|
||||
}
|
||||
|
||||
@@ -7,10 +7,10 @@ License: AGPL-3.0 (https://www.gnu.org/licenses/agpl-3.0.html)
|
||||
Gale - https://galemc.org
|
||||
|
||||
diff --git a/src/main/java/io/papermc/paper/adventure/ChatProcessor.java b/src/main/java/io/papermc/paper/adventure/ChatProcessor.java
|
||||
index fd5cbb45e9894b7895ea488e2b9876c0391f6f11..58afed3efbe5a2a316b6b71028c760a593da256c 100644
|
||||
index 0f5cf192c0848bdeadeda381e19ec035455abfe5..04329cb72f6d42ca0967bd0a1d59ba56d80b8042 100644
|
||||
--- a/src/main/java/io/papermc/paper/adventure/ChatProcessor.java
|
||||
+++ b/src/main/java/io/papermc/paper/adventure/ChatProcessor.java
|
||||
@@ -38,6 +38,7 @@ import org.bukkit.event.player.PlayerChatEvent;
|
||||
@@ -42,6 +42,7 @@ import org.bukkit.event.player.PlayerChatEvent;
|
||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||
import org.checkerframework.framework.qual.DefaultQualifier;
|
||||
@@ -18,17 +18,17 @@ index fd5cbb45e9894b7895ea488e2b9876c0391f6f11..58afed3efbe5a2a316b6b71028c760a5
|
||||
|
||||
import static net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection;
|
||||
|
||||
@@ -307,7 +308,7 @@ public final class ChatProcessor {
|
||||
@@ -351,7 +352,7 @@ public final class ChatProcessor {
|
||||
|
||||
private void sendToServer(final ChatType.Bound chatType, final @Nullable Function<Audience, net.minecraft.network.chat.Component> msgFunction) {
|
||||
final PlayerChatMessage toConsoleMessage = msgFunction == null ? ChatProcessor.this.message : ChatProcessor.this.message.withUnsignedContent(msgFunction.apply(ChatProcessor.this.server.console));
|
||||
- ChatProcessor.this.server.logChatMessage(toConsoleMessage.decoratedContent(), chatType, ChatProcessor.this.server.getPlayerList().verifyChatTrusted(toConsoleMessage) ? null : "Not Secure");
|
||||
+ ChatProcessor.this.server.logChatMessage(toConsoleMessage.decoratedContent(), chatType, !GaleGlobalConfiguration.get().logToConsole.chat.notSecureMarker || ChatProcessor.this.server.getPlayerList().verifyChatTrusted(toConsoleMessage) ? null : "Not Secure"); // Gale - do not log Not Secure marker
|
||||
}
|
||||
}
|
||||
|
||||
record ConstantFunction(net.minecraft.network.chat.Component component) implements Function<Audience, net.minecraft.network.chat.Component> {
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index b348d33726b2b14ea2d12ce3430df2c0b94295f4..fe7037310e1a2b5fc2956b565982847e4c2be041 100644
|
||||
index 6cc577d17201513af62ce847363ee25a3852a1b5..8a59fade265e586622bcaa2cab2772613f9391aa 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -100,6 +100,7 @@ import net.minecraft.world.scores.Objective;
|
||||
@@ -39,7 +39,7 @@ index b348d33726b2b14ea2d12ce3430df2c0b94295f4..fe7037310e1a2b5fc2956b565982847e
|
||||
import org.slf4j.Logger;
|
||||
|
||||
// CraftBukkit start
|
||||
@@ -1448,7 +1449,7 @@ public abstract class PlayerList {
|
||||
@@ -1373,7 +1374,7 @@ public abstract class PlayerList {
|
||||
// Paper end
|
||||
boolean flag = this.verifyChatTrusted(message);
|
||||
|
||||
|
||||
@@ -343,7 +343,7 @@ index a2920b8a9eff77d9c5d1d7f70ad3abdacba8f0fa..43f402d9032e4570a81a80e412215598
|
||||
protected CipherBase(Cipher cipher) {
|
||||
this.cipher = cipher;
|
||||
diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java
|
||||
index 507e98438f6d13de1bcf063db673a8e483dbea47..82fcd448f2f2ac2c060d7a3fc672a9ffcfd6a93a 100644
|
||||
index 38c09c65dfa4a7a0c80d36f726c1fd028cbe05f8..b6a80edbbceb85932a5fa8b9488d44d41f5c5314 100644
|
||||
--- a/src/main/java/net/minecraft/network/Connection.java
|
||||
+++ b/src/main/java/net/minecraft/network/Connection.java
|
||||
@@ -20,7 +20,6 @@ import io.netty.channel.epoll.EpollSocketChannel;
|
||||
@@ -448,7 +448,7 @@ index 590b756842f5f9d1c2f0aed6517f9b46e3dc74db..ce7f36f38165a58e3fab7a98bece75df
|
||||
|
||||
for (int j = 0; j < i; ++j) {
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 5f3e3383f20b850720835fab948bb610978e4fe9..7b9b2ac6f7b7413849c4a9144abdb8dcc80a22e3 100644
|
||||
index 89aaa846d5cb1cfd8ccf634f85bdc4180013cfd0..f69ea29648b090334d98dd8f3ed71cf8f10427ac 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -38,6 +38,8 @@ import java.util.stream.Collectors;
|
||||
@@ -460,7 +460,7 @@ index 5f3e3383f20b850720835fab948bb610978e4fe9..7b9b2ac6f7b7413849c4a9144abdb8dc
|
||||
import net.minecraft.CrashReport;
|
||||
import net.minecraft.Util;
|
||||
import net.minecraft.core.BlockPos;
|
||||
@@ -901,7 +903,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -899,7 +901,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
BlockPos blockposition2 = blockposition.set(j + randomX, randomY, k + randomZ);
|
||||
BlockState iblockdata = com.destroystokyo.paper.util.maplist.IBlockDataList.getBlockDataFromRaw(raw);
|
||||
|
||||
@@ -469,7 +469,7 @@ index 5f3e3383f20b850720835fab948bb610978e4fe9..7b9b2ac6f7b7413849c4a9144abdb8dc
|
||||
// We drop the fluid tick since LAVA is ALREADY TICKED by the above method (See LiquidBlock).
|
||||
// TODO CHECK ON UPDATE (ping the Canadian)
|
||||
}
|
||||
@@ -1155,7 +1157,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -1153,7 +1155,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
|
||||
public static List<Entity> getCurrentlyTickingEntities() {
|
||||
Entity ticking = currentlyTickingEntity.get();
|
||||
@@ -479,7 +479,7 @@ index 5f3e3383f20b850720835fab948bb610978e4fe9..7b9b2ac6f7b7413849c4a9144abdb8dc
|
||||
return ret;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index d98928904f74a86c72dbfc402723d50fb1b62f28..51a336fa29e92669ce48b7724de0134480ac6adb 100644
|
||||
index ee3acb578d4f72836eb3a4e8336701b3b939da50..60e2b951216003ae1861b1ee218e38da107b1760 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -28,6 +28,8 @@ import java.util.function.UnaryOperator;
|
||||
@@ -516,7 +516,7 @@ index d98928904f74a86c72dbfc402723d50fb1b62f28..51a336fa29e92669ce48b7724de01344
|
||||
import org.bukkit.event.player.PlayerChatEvent;
|
||||
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
|
||||
import org.bukkit.event.player.PlayerInteractAtEntityEvent;
|
||||
@@ -404,7 +402,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -400,7 +398,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
if (this.keepAlivePending) {
|
||||
if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected
|
||||
ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getScoreboardName()); // more info
|
||||
@@ -525,7 +525,7 @@ index d98928904f74a86c72dbfc402723d50fb1b62f28..51a336fa29e92669ce48b7724de01344
|
||||
}
|
||||
} else {
|
||||
if (elapsedTime >= 15000L) { // 15 seconds
|
||||
@@ -868,13 +866,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -864,13 +862,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
// PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); // Paper - run this async
|
||||
// CraftBukkit start
|
||||
if (this.chatSpamTickCount.addAndGet(io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.tabSpamIncrement) > io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.tabSpamLimit && !this.server.getPlayerList().isOp(this.player.getGameProfile())) { // Paper start - split and make configurable
|
||||
@@ -541,7 +541,7 @@ index d98928904f74a86c72dbfc402723d50fb1b62f28..51a336fa29e92669ce48b7724de01344
|
||||
return;
|
||||
}
|
||||
// Paper end
|
||||
@@ -3255,7 +3253,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -3251,7 +3249,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
// Paper start
|
||||
if (!org.bukkit.Bukkit.isPrimaryThread()) {
|
||||
if (recipeSpamPackets.addAndGet(io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamIncrement) > io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamLimit) {
|
||||
@@ -551,7 +551,7 @@ index d98928904f74a86c72dbfc402723d50fb1b62f28..51a336fa29e92669ce48b7724de01344
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
|
||||
index f3b340fc6be9878d677a76673450aac3e0b73d4b..e373f0a745db273c774afbe448b96cd876a1990c 100644
|
||||
index 3f7fab2f80ded9a7a720bd623f1ef028a4d0dca6..2ed3f42b1e487374287d033ac634a922a5ef37bd 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
|
||||
@@ -12,8 +12,9 @@ import java.security.PrivateKey;
|
||||
@@ -588,7 +588,7 @@ index f3b340fc6be9878d677a76673450aac3e0b73d4b..e373f0a745db273c774afbe448b96cd8
|
||||
final String s;
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index fe7037310e1a2b5fc2956b565982847e4c2be041..c0226f0445e2554000f2fc0a3906f9b3ed404097 100644
|
||||
index 8a59fade265e586622bcaa2cab2772613f9391aa..ede2eb274ca715dccfbfd98e0e2c410990508ced 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -27,6 +27,8 @@ import java.util.UUID;
|
||||
@@ -608,7 +608,7 @@ index fe7037310e1a2b5fc2956b565982847e4c2be041..c0226f0445e2554000f2fc0a3906f9b3
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.player.PlayerChangedWorldEvent;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
@@ -750,7 +751,7 @@ public abstract class PlayerList {
|
||||
@@ -675,7 +676,7 @@ public abstract class PlayerList {
|
||||
while (iterator.hasNext()) {
|
||||
entityplayer = (ServerPlayer) iterator.next();
|
||||
this.save(entityplayer); // CraftBukkit - Force the player's inventory to be saved
|
||||
@@ -697,7 +697,7 @@ index 97ff19efa0b3943ccb7a6e02cba6ed2fea61adac..b2ae2bd8bd4ff3cb6457e8c08172e348
|
||||
private EquipmentSlot(EquipmentSlot.Type type, int entityId, int armorStandId, String name) {
|
||||
this.type = type;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 197c99b23584ef1aed1be821d9673bacabb561e5..6ad1e6c4a20bec34b56276736ee616b5dcff0354 100644
|
||||
index b3bac6c7366c27a2c31e13118a51123daab92d75..c60cabeff2058663ba05d6c41ff80756b43355a4 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -3103,7 +3103,7 @@ public abstract class LivingEntity extends Entity {
|
||||
|
||||
@@ -13,7 +13,7 @@ As part of: VMP (https://github.com/RelativityMC/VMP-fabric)
|
||||
Licensed under: MIT (https://opensource.org/licenses/MIT)
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 660e8d27bb8733f01d7e60b841877ee14579ede4..7841fd24b2f4e4310a6d34660e7c7cd265af835e 100644
|
||||
index fa6bcab86726a874a2f3f565afc8364b51d876fc..92c9ccf9a05fe54b5c7e5a72da5498115a6d5bd9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -299,6 +299,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -36,7 +36,7 @@ index 660e8d27bb8733f01d7e60b841877ee14579ede4..7841fd24b2f4e4310a6d34660e7c7cd2
|
||||
// Paper start - detailed watchdog information
|
||||
io.papermc.paper.util.TickThread.ensureTickThread("Cannot move an entity off-main");
|
||||
synchronized (this.posLock) {
|
||||
@@ -3781,6 +3787,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -3788,6 +3794,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
}
|
||||
|
||||
public final void setBoundingBox(AABB boundingBox) {
|
||||
|
||||
@@ -37,10 +37,10 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 52071101c16ae84f69f1a00857b4895f328f6edd..dfaef7423c6df404a267e9163ea50abdd75bb9e5 100644
|
||||
index 99bf1485ddecb5fc88850242e9c32850781c4b36..53a5464aa0261d50ce9a0b7528af56f9436e3c1c 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -1848,6 +1848,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -1849,6 +1849,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
return !this.hiddenEntities.containsKey(entity.getUniqueId());
|
||||
}
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index c0226f0445e2554000f2fc0a3906f9b3ed404097..5d21b033ac5ee10efe77ae1fbff0585414bd2d74 100644
|
||||
index ede2eb274ca715dccfbfd98e0e2c410990508ced..d2fc479811087a7536fbe1226ae2efa02ca700db 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -15,6 +15,8 @@ import java.net.SocketAddress;
|
||||
@@ -62,7 +62,7 @@ index c0226f0445e2554000f2fc0a3906f9b3ed404097..5d21b033ac5ee10efe77ae1fbff05854
|
||||
private final Map<UUID, ServerPlayer> playersByUUID = Maps.newHashMap();
|
||||
private final UserBanList bans;
|
||||
private final IpBanList ipBans;
|
||||
@@ -363,6 +366,7 @@ public abstract class PlayerList {
|
||||
@@ -301,6 +304,7 @@ public abstract class PlayerList {
|
||||
player.sendServerStatus(this.server.getStatus());
|
||||
player.connection.send(ClientboundPlayerInfoUpdatePacket.createPlayerInitializing(this.players));
|
||||
this.players.add(player);
|
||||
@@ -70,7 +70,7 @@ index c0226f0445e2554000f2fc0a3906f9b3ed404097..5d21b033ac5ee10efe77ae1fbff05854
|
||||
this.playersByName.put(player.getScoreboardName().toLowerCase(java.util.Locale.ROOT), player); // Spigot
|
||||
this.playersByUUID.put(player.getUUID(), player);
|
||||
// this.broadcastAll(ClientboundPlayerInfoUpdatePacket.createPlayerInitializing(List.of(entityplayer))); // CraftBukkit - replaced with loop below
|
||||
@@ -683,6 +687,7 @@ public abstract class PlayerList {
|
||||
@@ -622,6 +626,7 @@ public abstract class PlayerList {
|
||||
worldserver.removePlayerImmediately(entityplayer, Entity.RemovalReason.UNLOADED_WITH_PLAYER);
|
||||
entityplayer.getAdvancements().stopListening();
|
||||
this.players.remove(entityplayer);
|
||||
@@ -78,7 +78,7 @@ index c0226f0445e2554000f2fc0a3906f9b3ed404097..5d21b033ac5ee10efe77ae1fbff05854
|
||||
this.playersByName.remove(entityplayer.getScoreboardName().toLowerCase(java.util.Locale.ROOT)); // Spigot
|
||||
this.server.getCustomBossEvents().onPlayerDisconnect(entityplayer);
|
||||
UUID uuid = entityplayer.getUUID();
|
||||
@@ -850,6 +855,7 @@ public abstract class PlayerList {
|
||||
@@ -775,6 +780,7 @@ public abstract class PlayerList {
|
||||
// Paper end
|
||||
entityplayer.stopRiding(); // CraftBukkit
|
||||
this.players.remove(entityplayer);
|
||||
@@ -86,7 +86,7 @@ index c0226f0445e2554000f2fc0a3906f9b3ed404097..5d21b033ac5ee10efe77ae1fbff05854
|
||||
this.playersByName.remove(entityplayer.getScoreboardName().toLowerCase(java.util.Locale.ROOT)); // Spigot
|
||||
entityplayer.getLevel().removePlayerImmediately(entityplayer, Entity.RemovalReason.DISCARDED);
|
||||
BlockPos blockposition = entityplayer.getRespawnPosition();
|
||||
@@ -987,6 +993,7 @@ public abstract class PlayerList {
|
||||
@@ -912,6 +918,7 @@ public abstract class PlayerList {
|
||||
if (!entityplayer.connection.isDisconnected()) {
|
||||
worldserver1.addRespawnedPlayer(entityplayer1);
|
||||
this.players.add(entityplayer1);
|
||||
@@ -94,7 +94,7 @@ index c0226f0445e2554000f2fc0a3906f9b3ed404097..5d21b033ac5ee10efe77ae1fbff05854
|
||||
this.playersByName.put(entityplayer1.getScoreboardName().toLowerCase(java.util.Locale.ROOT), entityplayer1); // Spigot
|
||||
this.playersByUUID.put(entityplayer1.getUUID(), entityplayer1);
|
||||
}
|
||||
@@ -1037,20 +1044,55 @@ public abstract class PlayerList {
|
||||
@@ -962,20 +969,55 @@ public abstract class PlayerList {
|
||||
this.sendPlayerPermissionLevel(player, i);
|
||||
}
|
||||
|
||||
|
||||
@@ -37,10 +37,10 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 5d21b033ac5ee10efe77ae1fbff0585414bd2d74..42a79988c14770cb3b19d31f6df41a3d5cf14f9b 100644
|
||||
index d2fc479811087a7536fbe1226ae2efa02ca700db..b34d64de19f387b4a95cc24b57aa98f81c4f2a9c 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1080,14 +1080,18 @@ public abstract class PlayerList {
|
||||
@@ -1005,14 +1005,18 @@ public abstract class PlayerList {
|
||||
// Gale start - Purpur - spread out sending all player info
|
||||
ServerPlayer[] sendAllPlayerInfoBucket = this.sendAllPlayerInfoBuckets[this.sendAllPlayerInfoIn];
|
||||
if (sendAllPlayerInfoBucket != null) {
|
||||
|
||||
@@ -37,7 +37,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 51a336fa29e92669ce48b7724de0134480ac6adb..f0648c94029796653c8c8a5bdd191cf99de7b58a 100644
|
||||
index 60e2b951216003ae1861b1ee218e38da107b1760..315c7737f75c426a7e5c091fb340187df12235de 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -7,6 +7,8 @@ import com.mojang.brigadier.StringReader;
|
||||
@@ -69,7 +69,7 @@ index 51a336fa29e92669ce48b7724de0134480ac6adb..f0648c94029796653c8c8a5bdd191cf9
|
||||
private static final int MAX_SIGN_LINE_LENGTH = Integer.getInteger("Paper.maxSignLength", 80); // Paper
|
||||
|
||||
private String clientBrandName = null; // Paper - Brand name
|
||||
@@ -399,6 +405,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -395,6 +401,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
long currentTime = Util.getMillis();
|
||||
long elapsedTime = currentTime - this.keepAliveTime;
|
||||
|
||||
@@ -91,7 +91,7 @@ index 51a336fa29e92669ce48b7724de0134480ac6adb..f0648c94029796653c8c8a5bdd191cf9
|
||||
if (this.keepAlivePending) {
|
||||
if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected
|
||||
ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getScoreboardName()); // more info
|
||||
@@ -3457,6 +3478,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -3453,6 +3474,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
|
||||
@Override
|
||||
public void handleKeepAlive(ServerboundKeepAlivePacket packet) {
|
||||
|
||||
@@ -7,10 +7,10 @@ License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
|
||||
Gale - https://galemc.org
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 9470446a73518c049e65e324e91438076ada2979..13871dcc503e50ed75e22ac015d97fb8f04385f5 100644
|
||||
index 3107642e3e0888ff599e89ca21dd5f2c8b152448..52e6d550d1e761dfbb45bced098d4bed30dc5bdb 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -2728,6 +2728,25 @@ public final class CraftServer implements Server {
|
||||
@@ -2731,6 +2731,25 @@ public final class CraftServer implements Server {
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -79,10 +79,10 @@ index 81bb87b729f20be8ca4e5be0c2f5b1b6c1ce4422..1d45eefe9c791b742946cb162b0a7358
|
||||
tps5.add(currentTps, diff);
|
||||
tps15.add(currentTps, diff);
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 13871dcc503e50ed75e22ac015d97fb8f04385f5..506936f78081a73be3cce676c1a24f56b65ccd8f 100644
|
||||
index 52e6d550d1e761dfbb45bced098d4bed30dc5bdb..c36ad6c7681afdf9cb022b556d82f78f987c0f22 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -2730,6 +2730,13 @@ public final class CraftServer implements Server {
|
||||
@@ -2733,6 +2733,13 @@ public final class CraftServer implements Server {
|
||||
|
||||
// Gale start - specific interval TPS API
|
||||
|
||||
|
||||
@@ -23,10 +23,10 @@ The above copyright notice and this permission notice shall be included in all c
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 506936f78081a73be3cce676c1a24f56b65ccd8f..41013054b6046a17a94d3e181b3ffbc7a3824cd2 100644
|
||||
index c36ad6c7681afdf9cb022b556d82f78f987c0f22..959294ff90db8806b1a114b3a6fe365b317a157b 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -2977,4 +2977,22 @@ public final class CraftServer implements Server {
|
||||
@@ -2980,4 +2980,22 @@ public final class CraftServer implements Server {
|
||||
}
|
||||
|
||||
// Paper end
|
||||
|
||||
@@ -26,10 +26,10 @@ index 23dcdc71a8a6fd5472cdc1c22331b56c6bb3ded9..c3f88980f1ea2f7b04ad110494962725
|
||||
double d1 = (double) (center.y - maxRange);
|
||||
double d2 = (double) (center.x + maxRange);
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index c0b0a7fdb75266a7064d54bda6441953184ecc64..1a272d716a23ddf6bd7b8c2733199c5729f333c5 100644
|
||||
index 9d74ef6973f6a9e12861256aa7032f8d746a97f5..6ed357bff6cafce563774ca2f5e2944bcdfb7f92 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -392,7 +392,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -391,7 +391,7 @@ public class ServerPlayer extends Player {
|
||||
long l = k * k;
|
||||
int i1 = l > 2147483647L ? Integer.MAX_VALUE : (int) l;
|
||||
int j1 = this.getCoprime(i1);
|
||||
@@ -38,7 +38,7 @@ index c0b0a7fdb75266a7064d54bda6441953184ecc64..1a272d716a23ddf6bd7b8c2733199c57
|
||||
|
||||
for (int l1 = 0; l1 < i1; ++l1) {
|
||||
int i2 = (k1 + j1 * l1) % i1;
|
||||
@@ -429,7 +429,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -428,7 +428,7 @@ public class ServerPlayer extends Player {
|
||||
long l = k * k;
|
||||
int i1 = l > 2147483647L ? Integer.MAX_VALUE : (int) l;
|
||||
int j1 = this.getCoprime(i1);
|
||||
@@ -96,7 +96,7 @@ index b13ef853419d2783d09b3e685b9b506a4ff5676e..7a7e87954868c3eb267d3255652d67d3
|
||||
this.level = world;
|
||||
this.id = nbt.getInt("Id");
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
index e7ce14ab0732034107e735787354a6fb0ec90f54..d300629f99332b00c06264ab09a1dbac175d93b8 100644
|
||||
index d3ade2eb7c492cd8fdb24c78fa2886db8986fc09..b6e537dd77f2eda819b00962284f36546a2bd158 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
@@ -81,7 +81,7 @@ public class Explosion {
|
||||
|
||||
@@ -130,7 +130,7 @@ index 3088d5f008a8cb5a75f1e11bd80a2614a4c1b75d..0c771f024cec0b3fbb68e4eeeeb77818
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
diff --git a/src/main/java/io/papermc/paper/util/MCUtil.java b/src/main/java/io/papermc/paper/util/MCUtil.java
|
||||
index 1e812c4f5a8d54293084de29e8731e0b8ddcc0ae..ab870c98210d6654230335db5c8ff6739bb2357f 100644
|
||||
index 3fad7e58a1461d897526d63efd27075f044f2962..79b375c921f9d94b269bac4af9637569bc75c1af 100644
|
||||
--- a/src/main/java/io/papermc/paper/util/MCUtil.java
|
||||
+++ b/src/main/java/io/papermc/paper/util/MCUtil.java
|
||||
@@ -2,12 +2,10 @@ package io.papermc.paper.util;
|
||||
@@ -1342,7 +1342,7 @@ index 8ed18a158a13dceca7cd342125c09e52ac0d013c..d513245ec5fadfa511895feeef73d2a5
|
||||
// CraftBukkit start - process pending Chunk loadCallback() and unloadCallback() after each run task
|
||||
public boolean pollTask() {
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 7b9b2ac6f7b7413849c4a9144abdb8dcc80a22e3..b1885dbccf3b0b52cc048eb93849f60484a751ed 100644
|
||||
index f69ea29648b090334d98dd8f3ed71cf8f10427ac..5e8ae0114ef0a55e13d32480951ea5b006ecae6f 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -22,6 +22,8 @@ import java.io.Writer;
|
||||
@@ -1363,7 +1363,7 @@ index 7b9b2ac6f7b7413849c4a9144abdb8dcc80a22e3..b1885dbccf3b0b52cc048eb93849f604
|
||||
import org.slf4j.Logger;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
@@ -190,6 +194,10 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -189,6 +193,10 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
private static final int MAX_SCHEDULED_TICKS_PER_TICK = 65536;
|
||||
final List<ServerPlayer> players;
|
||||
public final ServerChunkCache chunkSource;
|
||||
@@ -1374,7 +1374,7 @@ index 7b9b2ac6f7b7413849c4a9144abdb8dcc80a22e3..b1885dbccf3b0b52cc048eb93849f604
|
||||
private final MinecraftServer server;
|
||||
public final PrimaryLevelData serverLevelData; // CraftBukkit - type
|
||||
final EntityTickList entityTickList;
|
||||
@@ -2550,7 +2558,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -2548,7 +2556,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
// Spigot start
|
||||
if ( entity instanceof Player )
|
||||
{
|
||||
@@ -1384,7 +1384,7 @@ index 7b9b2ac6f7b7413849c4a9144abdb8dcc80a22e3..b1885dbccf3b0b52cc048eb93849f604
|
||||
for (Object o : worldData.cache.values() )
|
||||
{
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index f0648c94029796653c8c8a5bdd191cf99de7b58a..a4731aba0022f4b2a38a41bfe41a21a86389d6fe 100644
|
||||
index 315c7737f75c426a7e5c091fb340187df12235de..99e684ae2f5ac07660e4f724b15cf1bba185d438 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -186,6 +186,8 @@ import net.minecraft.world.phys.shapes.Shapes;
|
||||
@@ -1396,7 +1396,7 @@ index f0648c94029796653c8c8a5bdd191cf99de7b58a..a4731aba0022f4b2a38a41bfe41a21a8
|
||||
import org.slf4j.Logger;
|
||||
|
||||
// CraftBukkit start
|
||||
@@ -548,7 +550,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -544,7 +546,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
|
||||
Objects.requireNonNull(this.connection);
|
||||
// CraftBukkit - Don't wait
|
||||
@@ -1405,7 +1405,7 @@ index f0648c94029796653c8c8a5bdd191cf99de7b58a..a4731aba0022f4b2a38a41bfe41a21a8
|
||||
}
|
||||
|
||||
private <T, R> CompletableFuture<R> filterTextPacket(T text, BiFunction<TextFilter, T, CompletableFuture<R>> filterer) {
|
||||
@@ -879,21 +881,20 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -875,21 +877,20 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
}
|
||||
|
||||
// Paper start
|
||||
@@ -1430,7 +1430,7 @@ index f0648c94029796653c8c8a5bdd191cf99de7b58a..a4731aba0022f4b2a38a41bfe41a21a8
|
||||
return;
|
||||
}
|
||||
// Paper end
|
||||
@@ -918,7 +919,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -914,7 +915,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
if (!event.isHandled()) {
|
||||
if (!event.isCancelled()) {
|
||||
|
||||
@@ -1439,7 +1439,7 @@ index f0648c94029796653c8c8a5bdd191cf99de7b58a..a4731aba0022f4b2a38a41bfe41a21a8
|
||||
ParseResults<CommandSourceStack> parseresults = this.server.getCommands().getDispatcher().parse(stringreader, this.player.createCommandSourceStack());
|
||||
|
||||
this.server.getCommands().getDispatcher().getCompletionSuggestions(parseresults).thenAccept((suggestions) -> {
|
||||
@@ -929,7 +930,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -925,7 +926,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
this.connection.send(new ClientboundCommandSuggestionsPacket(packet.getId(), suggestEvent.getSuggestions()));
|
||||
// Paper end - Brigadier API
|
||||
});
|
||||
@@ -1448,7 +1448,7 @@ index f0648c94029796653c8c8a5bdd191cf99de7b58a..a4731aba0022f4b2a38a41bfe41a21a8
|
||||
}
|
||||
} else if (!completions.isEmpty()) {
|
||||
final com.mojang.brigadier.suggestion.SuggestionsBuilder builder0 = new com.mojang.brigadier.suggestion.SuggestionsBuilder(command, stringreader.getTotalLength());
|
||||
@@ -1238,7 +1239,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -1234,7 +1235,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
int byteLength = testString.getBytes(java.nio.charset.StandardCharsets.UTF_8).length;
|
||||
if (byteLength > 256 * 4) {
|
||||
ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " tried to send a book with with a page too large!");
|
||||
@@ -1457,7 +1457,7 @@ index f0648c94029796653c8c8a5bdd191cf99de7b58a..a4731aba0022f4b2a38a41bfe41a21a8
|
||||
return;
|
||||
}
|
||||
byteTotal += byteLength;
|
||||
@@ -1261,14 +1262,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -1257,14 +1258,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
|
||||
if (byteTotal > byteAllowed) {
|
||||
ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " tried to send too large of a book. Book Size: " + byteTotal + " - Allowed: "+ byteAllowed + " - Pages: " + pageList.size());
|
||||
@@ -1474,7 +1474,7 @@ index f0648c94029796653c8c8a5bdd191cf99de7b58a..a4731aba0022f4b2a38a41bfe41a21a8
|
||||
return;
|
||||
}
|
||||
this.lastBookTick = MinecraftServer.currentTick;
|
||||
@@ -2072,10 +2073,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -2068,10 +2069,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
public void handleTeleportToEntityPacket(ServerboundTeleportToEntityPacket packet) {
|
||||
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel());
|
||||
if (this.player.isSpectator()) {
|
||||
@@ -1486,7 +1486,7 @@ index f0648c94029796653c8c8a5bdd191cf99de7b58a..a4731aba0022f4b2a38a41bfe41a21a8
|
||||
Entity entity = packet.getEntity(worldserver);
|
||||
|
||||
if (entity != null) {
|
||||
@@ -2224,9 +2222,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -2220,9 +2218,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
}
|
||||
// CraftBukkit end
|
||||
if (ServerGamePacketListenerImpl.isChatMessageIllegal(packet.message())) {
|
||||
@@ -1498,7 +1498,7 @@ index f0648c94029796653c8c8a5bdd191cf99de7b58a..a4731aba0022f4b2a38a41bfe41a21a8
|
||||
} else {
|
||||
Optional<LastSeenMessages> optional = this.tryHandleChat(packet.message(), packet.timeStamp(), packet.lastSeenMessages());
|
||||
|
||||
@@ -2260,9 +2258,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -2256,9 +2254,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@Override
|
||||
public void handleChatCommand(ServerboundChatCommandPacket packet) {
|
||||
if (ServerGamePacketListenerImpl.isChatMessageIllegal(packet.command())) {
|
||||
@@ -1510,7 +1510,7 @@ index f0648c94029796653c8c8a5bdd191cf99de7b58a..a4731aba0022f4b2a38a41bfe41a21a8
|
||||
} else {
|
||||
Optional<LastSeenMessages> optional = this.tryHandleChat(packet.command(), packet.timeStamp(), packet.lastSeenMessages());
|
||||
|
||||
@@ -2342,9 +2340,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -2338,9 +2336,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
private Optional<LastSeenMessages> tryHandleChat(String message, Instant timestamp, LastSeenMessages.Update acknowledgment) {
|
||||
if (!this.updateChatOrder(timestamp)) {
|
||||
ServerGamePacketListenerImpl.LOGGER.warn("{} sent out-of-order chat: '{}': {} > {}", this.player.getName().getString(), message, this.lastChatTimeStamp.get().getEpochSecond(), timestamp.getEpochSecond()); // Paper
|
||||
@@ -1523,7 +1523,7 @@ index f0648c94029796653c8c8a5bdd191cf99de7b58a..a4731aba0022f4b2a38a41bfe41a21a8
|
||||
return Optional.empty();
|
||||
} else if (this.player.isRemoved() || this.player.getChatVisibility() == ChatVisiblity.HIDDEN) { // CraftBukkit - dead men tell no tales
|
||||
this.send(new ClientboundSystemChatPacket(Component.translatable("chat.disabled.options").withStyle(ChatFormatting.RED), false));
|
||||
@@ -3274,7 +3272,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -3270,7 +3268,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
// Paper start
|
||||
if (!org.bukkit.Bukkit.isPrimaryThread()) {
|
||||
if (recipeSpamPackets.addAndGet(io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamIncrement) > io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamLimit) {
|
||||
@@ -1562,7 +1562,7 @@ index 4b3d2280326c7eeda4952c36edff141cbff90e16..fa3a58f09178604e301b107f1a029e59
|
||||
|
||||
private static URL getEndpoint(URI root, @Nullable JsonObject endpoints, String key, String fallback) throws MalformedURLException {
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 42a79988c14770cb3b19d31f6df41a3d5cf14f9b..7ff86594779c54dc8c1d02ce2c3c298bd8a78047 100644
|
||||
index b34d64de19f387b4a95cc24b57aa98f81c4f2a9c..636a5afca868b05f7dbb4da8a7e04b968ada5048 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -15,7 +15,6 @@ import java.net.SocketAddress;
|
||||
@@ -1585,25 +1585,66 @@ index 42a79988c14770cb3b19d31f6df41a3d5cf14f9b..7ff86594779c54dc8c1d02ce2c3c298b
|
||||
import net.minecraft.server.dedicated.DedicatedServer;
|
||||
import net.minecraft.server.level.ServerLevel;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
@@ -313,7 +312,7 @@ public abstract class PlayerList {
|
||||
worldserver1, chunkX, chunkZ, net.minecraft.server.level.ChunkHolder.FullChunkStatus.ENTITY_TICKING, true,
|
||||
ca.spottedleaf.concurrentutil.executor.standard.PrioritisedExecutor.Priority.HIGHEST,
|
||||
(chunk) -> {
|
||||
- MinecraftServer.getServer().scheduleOnMain(() -> {
|
||||
@@ -289,6 +288,58 @@ public abstract class PlayerList {
|
||||
player.getRecipeBook().sendInitialRecipeBook(player);
|
||||
this.updateEntireScoreboard(worldserver1.getScoreboard(), player);
|
||||
this.server.invalidateStatus();
|
||||
+/* // Gale - base thread pools - this patch was removed from Paper but might be useful later
|
||||
+ // Paper start - async load spawn in chunk
|
||||
+ ServerLevel finalWorldserver = worldserver1;
|
||||
+ finalWorldserver.pendingLogin.add(player);
|
||||
+ int chunkX = loc.getBlockX() >> 4;
|
||||
+ int chunkZ = loc.getBlockZ() >> 4;
|
||||
+ final net.minecraft.world.level.ChunkPos pos = new net.minecraft.world.level.ChunkPos(chunkX, chunkZ);
|
||||
+ net.minecraft.server.level.ChunkMap playerChunkMap = worldserver1.getChunkSource().chunkMap;
|
||||
+ net.minecraft.server.level.DistanceManager distanceManager = playerChunkMap.distanceManager;
|
||||
+ io.papermc.paper.chunk.system.ChunkSystem.scheduleTickingState(
|
||||
+ worldserver1, chunkX, chunkZ, net.minecraft.server.level.ChunkHolder.FullChunkStatus.ENTITY_TICKING, true,
|
||||
+ ca.spottedleaf.concurrentutil.executor.standard.PrioritisedExecutor.Priority.HIGHEST,
|
||||
+ (chunk) -> {
|
||||
+ ScheduledServerThreadTaskQueues.add(() -> { // Gale - base thread pools
|
||||
try {
|
||||
if (!playerconnection.connection.isConnected()) {
|
||||
return;
|
||||
@@ -326,7 +325,7 @@ public abstract class PlayerList {
|
||||
} finally {
|
||||
finalWorldserver.pendingLogin.remove(player);
|
||||
}
|
||||
- });
|
||||
+ try {
|
||||
+ if (!playerconnection.connection.isConnected()) {
|
||||
+ return;
|
||||
+ }
|
||||
+ PlayerList.this.postChunkLoadJoin(
|
||||
+ player, finalWorldserver, connection, playerconnection,
|
||||
+ nbttagcompound, s1, lastKnownName
|
||||
+ );
|
||||
+ distanceManager.addTicket(net.minecraft.server.level.TicketType.LOGIN, pos, 31, pos.toLong());
|
||||
+ } finally {
|
||||
+ finalWorldserver.pendingLogin.remove(player);
|
||||
+ }
|
||||
+ }, ScheduledServerThreadTaskQueues.POST_CHUNK_LOAD_JOIN_TASK_MAX_DELAY); // Gale - base thread pools
|
||||
}
|
||||
);
|
||||
}
|
||||
@@ -1569,10 +1568,8 @@ public abstract class PlayerList {
|
||||
+ }
|
||||
+ );
|
||||
+ }
|
||||
+
|
||||
+ public ServerPlayer getActivePlayer(UUID uuid) {
|
||||
+ ServerPlayer player = this.playersByUUID.get(uuid);
|
||||
+ return player != null ? player : pendingPlayers.get(uuid);
|
||||
+ }
|
||||
+
|
||||
+ void disconnectPendingPlayer(ServerPlayer entityplayer) {
|
||||
+ Component msg = Component.translatable("multiplayer.disconnect.duplicate_login");
|
||||
+ entityplayer.networkManager.send(new net.minecraft.network.protocol.game.ClientboundDisconnectPacket(msg), net.minecraft.network.PacketSendListener.thenRun(() -> {
|
||||
+ entityplayer.networkManager.disconnect(msg);
|
||||
+ entityplayer.networkManager = null;
|
||||
+ }));
|
||||
+ }
|
||||
+
|
||||
+ private void postChunkLoadJoin(ServerPlayer player, ServerLevel worldserver1, Connection networkmanager, ServerGamePacketListenerImpl playerconnection, CompoundTag nbttagcompound, String s1, String s) {
|
||||
+ pendingPlayers.remove(player.getUUID(), player);
|
||||
+ if (!networkmanager.isConnected()) {
|
||||
+ return;
|
||||
+ }
|
||||
+ player.didPlayerJoinEvent = true;
|
||||
+ // Paper end
|
||||
+*/ // Gale - base thread pools - this patch was removed from Paper but might be useful later
|
||||
MutableComponent ichatmutablecomponent;
|
||||
|
||||
if (player.getGameProfile().getName().equalsIgnoreCase(s)) {
|
||||
@@ -1494,10 +1545,8 @@ public abstract class PlayerList {
|
||||
public void setViewDistance(int viewDistance) {
|
||||
this.viewDistance = viewDistance;
|
||||
//this.broadcastAll(new ClientboundSetChunkCacheRadiusPacket(viewDistance)); // Paper - move into setViewDistance
|
||||
@@ -1615,7 +1656,7 @@ index 42a79988c14770cb3b19d31f6df41a3d5cf14f9b..7ff86594779c54dc8c1d02ce2c3c298b
|
||||
|
||||
if (worldserver != null) {
|
||||
worldserver.getChunkSource().setViewDistance(viewDistance);
|
||||
@@ -1584,10 +1581,8 @@ public abstract class PlayerList {
|
||||
@@ -1509,10 +1558,8 @@ public abstract class PlayerList {
|
||||
public void setSimulationDistance(int simulationDistance) {
|
||||
this.simulationDistance = simulationDistance;
|
||||
//this.broadcastAll(new ClientboundSetSimulationDistancePacket(simulationDistance)); // Paper - handled by playerchunkloader
|
||||
@@ -1695,7 +1736,7 @@ index 9948cc4c65d5681c171b38cdf7cf3e63a01e4364..c37793871951b0044168610bc05ee052
|
||||
final Entity entity = level.getEntity(this.ownerUUID);
|
||||
if (entity != null) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index c2ad33e5fbce8a16498dde2bfd555012660af969..d12ec5f506755d17a57ccdf431a0917eac871ef2 100644
|
||||
index 404a0469cdb8b6b1c37e348e1b8a59f89f7469d2..68ea5eff62875732a0d276d96d39a5b2494df964 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -982,7 +982,7 @@ public final class CraftServer implements Server {
|
||||
@@ -1716,7 +1757,7 @@ index c2ad33e5fbce8a16498dde2bfd555012660af969..d12ec5f506755d17a57ccdf431a0917e
|
||||
//Preconditions.checkState(!this.console.isIteratingOverLevels, "Cannot create a world while worlds are being ticked"); // Paper - Cat - Temp disable. We'll see how this goes.
|
||||
Validate.notNull(creator, "Creator may not be null");
|
||||
|
||||
@@ -2522,7 +2522,7 @@ public final class CraftServer implements Server {
|
||||
@@ -2525,7 +2525,7 @@ public final class CraftServer implements Server {
|
||||
public Entity getEntity(UUID uuid) {
|
||||
Validate.notNull(uuid, "UUID cannot be null");
|
||||
|
||||
@@ -1776,7 +1817,7 @@ index f8d321e925bf2708e51590542325c1bdc67d5964..a190bb9ce7b3701963f315452359f6f9
|
||||
|
||||
return ret;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index 6cd6cb256bde958416a0e4b13fc1d3df74f230fd..0b062d6c7c7806a4099374944c8e9f16042b5a1d 100644
|
||||
index 78f53ee557276de85f0431ebcb146445b1f4fb92..c8b0a191832523e6c2e0fe4fd6cb1b8fa5104f86 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -190,6 +190,7 @@ import org.bukkit.plugin.Plugin;
|
||||
@@ -1787,7 +1828,7 @@ index 6cd6cb256bde958416a0e4b13fc1d3df74f230fd..0b062d6c7c7806a4099374944c8e9f16
|
||||
|
||||
public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
private static PermissibleBase perm;
|
||||
@@ -1268,7 +1269,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -1280,7 +1281,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
for (net.minecraft.world.level.chunk.ChunkAccess chunk : list) {
|
||||
chunkProviderServer.addTicketAtLevel(net.minecraft.server.level.TicketType.POST_TELEPORT, chunk.getPos(), 33, CraftEntity.this.getEntityId());
|
||||
}
|
||||
@@ -1796,7 +1837,7 @@ index 6cd6cb256bde958416a0e4b13fc1d3df74f230fd..0b062d6c7c7806a4099374944c8e9f16
|
||||
try {
|
||||
ret.complete(CraftEntity.this.teleport(locationClone, cause) ? Boolean.TRUE : Boolean.FALSE);
|
||||
} catch (Throwable throwable) {
|
||||
@@ -1278,7 +1279,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -1290,7 +1291,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
net.minecraft.server.MinecraftServer.LOGGER.error("Failed to teleport entity " + CraftEntity.this, throwable);
|
||||
ret.completeExceptionally(throwable);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user