mirror of
https://github.com/YatopiaMC/Yatopia.git
synced 2024-11-05 10:23:15 +01:00
21db600711
Fixes #152 There is still the issue with doors which I will try to fix later on, but the new option should make them more "vanilla". See the description of the new patch for more information.
42 lines
2.8 KiB
Diff
42 lines
2.8 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Ivan Pekov <ivan@mrivanplays.com>
|
|
Date: Wed, 26 Aug 2020 21:01:33 +0300
|
|
Subject: [PATCH] Load also the chunk that you're teleporting to
|
|
|
|
Fixes Tuinity-178
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
|
index ce0ecfc0dc2986ab686dc3e474c4f5a25bb2bee1..82a98a60d3ca06533fa3e6db53394fe6c6c77cb8 100644
|
|
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
|
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
|
@@ -225,7 +225,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
|
return true;
|
|
}
|
|
|
|
- public final void loadChunksForMoveAsync(AxisAlignedBB axisalignedbb, double toX, double toZ,
|
|
+ public final void loadChunksForMoveAsync(AxisAlignedBB axisalignedbb, int toX, int toZ, // Yatopia
|
|
java.util.function.Consumer<List<IChunkAccess>> onLoad) {
|
|
if (Thread.currentThread() != this.serverThread) {
|
|
this.getChunkProvider().serverThreadQueue.execute(() -> {
|
|
@@ -282,6 +282,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
|
chunkProvider.getChunkAtAsynchronously(cx, cz, ChunkStatus.FULL, true, false, consumer);
|
|
}
|
|
}
|
|
+ chunkProvider.getChunkAtAsynchronously(toX >> 4, toZ >> 4, ChunkStatus.FULL, true, false, consumer); // Yatopia
|
|
}
|
|
// Tuinity end
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
|
index 407c03408a312d54ab16a80ccdee5308af43c62f..f938732a64e8672873b8387d20776a5a73f4c01b 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
|
@@ -545,7 +545,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
|
net.minecraft.server.WorldServer world = ((CraftWorld)locationClone.getWorld()).getHandle();
|
|
java.util.concurrent.CompletableFuture<Boolean> ret = new java.util.concurrent.CompletableFuture<>();
|
|
|
|
- world.loadChunksForMoveAsync(getHandle().getBoundingBoxAt(locationClone.getX(), locationClone.getY(), locationClone.getZ()), location.getX(), location.getZ(), (list) -> {
|
|
+ world.loadChunksForMoveAsync(getHandle().getBoundingBoxAt(locationClone.getX(), locationClone.getY(), locationClone.getZ()), location.getBlockX(), location.getBlockZ(), (list) -> { // Yatopia
|
|
net.minecraft.server.ChunkProviderServer chunkProviderServer = world.getChunkProvider();
|
|
for (net.minecraft.server.IChunkAccess chunk : list) {
|
|
chunkProviderServer.addTicketAtLevel(net.minecraft.server.TicketType.POST_TELEPORT, chunk.getPos(), 33, CraftEntity.this.getEntityId());
|