mirror of
https://github.com/BX-Team/DivineMC.git
synced 2025-12-19 14:59:25 +00:00
[ci-skip] finish patches
This commit is contained in:
@@ -21,12 +21,14 @@
|
|||||||
- **Bug fixes** for several Minecraft issues.
|
- **Bug fixes** for several Minecraft issues.
|
||||||
- **Contains** PaperMC pull requests patches.
|
- **Contains** PaperMC pull requests patches.
|
||||||
- **Faster process** for Vanilla methods.
|
- **Faster process** for Vanilla methods.
|
||||||
|
- **Dynamic mine-carts speed**
|
||||||
- **Plugin compatibility** with Spigot & Paper plugins.
|
- **Plugin compatibility** with Spigot & Paper plugins.
|
||||||
|
|
||||||
## We use patches from the following projects
|
## We use patches from the following projects
|
||||||
|
|
||||||
* **[Paper](https://github.com/PaperMC/Paper)**
|
* **[Paper](https://github.com/PaperMC/Paper)**
|
||||||
* **[Purpur](https://github.com/PurpurMC/Purpur)**
|
* **[Purpur](https://github.com/PurpurMC/Purpur)**
|
||||||
|
* **[Kiterino](https://github.com/SoSeDiKs-Universe/Kiterino)**
|
||||||
* **[Mirai](https://github.com/etil2jz/Mirai)**
|
* **[Mirai](https://github.com/etil2jz/Mirai)**
|
||||||
* **NOTE: We also borrow some patches from [Yatopia](https://github.com/YatopiaMC/Yatopia).**
|
* **NOTE: We also borrow some patches from [Yatopia](https://github.com/YatopiaMC/Yatopia).**
|
||||||
|
|
||||||
@@ -47,4 +49,4 @@ In order to distribute and use this server software, you need a paperclip file:
|
|||||||
Patches are licensed under GPL-3.0.
|
Patches are licensed under GPL-3.0.
|
||||||
All other files are licensed under MIT.
|
All other files are licensed under MIT.
|
||||||
|
|
||||||
###### And we dont stealed logo from YatopiaMC!!!
|
###### And we don't steal logo from YatopiaMC!!!
|
||||||
|
|||||||
33
patches/api/0003-EMC-Add-ChatColor.getById.patch
Normal file
33
patches/api/0003-EMC-Add-ChatColor.getById.patch
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Aikar <aikar@aikar.co>
|
||||||
|
Date: Mon, 24 Apr 2017 20:27:23 -0400
|
||||||
|
Subject: [PATCH] EMC - Add ChatColor.getById
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/java/org/bukkit/ChatColor.java b/src/main/java/org/bukkit/ChatColor.java
|
||||||
|
index e3f185dc982d1c38195a4e01ddd485c13ffa58c0..8a3d05702ad0cfa8384d3a9c7a5695d82e13523e 100644
|
||||||
|
--- a/src/main/java/org/bukkit/ChatColor.java
|
||||||
|
+++ b/src/main/java/org/bukkit/ChatColor.java
|
||||||
|
@@ -233,6 +233,10 @@ public enum ChatColor {
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
+ public int getId() {
|
||||||
|
+ return intCode;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
/**
|
||||||
|
* The special character which prefixes all chat colour codes. Use this if
|
||||||
|
* you need to dynamically convert colour codes from your custom format.
|
||||||
|
@@ -296,6 +300,11 @@ public enum ChatColor {
|
||||||
|
return !isFormat && this != RESET;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ @Nullable
|
||||||
|
+ public static ChatColor getById(int id) {
|
||||||
|
+ return BY_ID.get(id);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
/**
|
||||||
|
* Gets the color represented by the specified color code
|
||||||
|
*
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Justin <justin@justinf.dev>
|
||||||
|
Date: Wed, 24 Aug 2022 05:08:52 -0700
|
||||||
|
Subject: [PATCH] Paper PR - Add Entity hidden by default API
|
||||||
|
|
||||||
|
This patch adds API that allows entities to be hidden by default. Entities that are hidden by
|
||||||
|
default are not shown to players until Player#showEntity is invoked on said entity. The same is
|
||||||
|
true for players that join the server after an Entity is hidden by default.
|
||||||
|
|
||||||
|
Hiding entities by default also respects precedent of keeping entities hidden when other plugins
|
||||||
|
explicitly hide them from a player. If an entity is hidden by default and by a plugin, the entity
|
||||||
|
must have the plugin that hid them from a player show them in order to be shown to a player again.
|
||||||
|
If no plugin had previously hidden the entity before the entity was hidden by default, then any
|
||||||
|
plugin that attempts to show the entity to a player will succeed in doing so.
|
||||||
|
|
||||||
|
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
|
||||||
|
index 365350d38b2eee00d22bad09ab95c6054f11d536..565a3bcc49ccb4650188263632751e9f6326a5d1 100644
|
||||||
|
--- a/src/main/java/org/bukkit/entity/Entity.java
|
||||||
|
+++ b/src/main/java/org/bukkit/entity/Entity.java
|
||||||
|
@@ -953,4 +953,25 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
|
||||||
|
*/
|
||||||
|
boolean wouldCollideUsing(@NotNull BoundingBox boundingBox);
|
||||||
|
// Paper End - Collision API
|
||||||
|
+
|
||||||
|
+ // Paper start - Entity hiddenByDefault
|
||||||
|
+ /**
|
||||||
|
+ * Sets whether the entity is hidden by default. When an entity is hidden by default,
|
||||||
|
+ * {@link Player#showEntity(org.bukkit.plugin.Plugin, Entity)} must be called in order to
|
||||||
|
+ * display the entity again. Players that join the server do not see entities that are
|
||||||
|
+ * hidden by default at first and must be shown the entity with the same method above.
|
||||||
|
+ *
|
||||||
|
+ * This method also respects plugins hiding entities - if another plugin still wishes for an entity
|
||||||
|
+ * to be hidden (via {@link Player#hideEntity(org.bukkit.plugin.Plugin, Entity)}), then the entity will
|
||||||
|
+ * remain hidden even if hiddenByDefault is set to false again or if another plugin tries to show the entity.
|
||||||
|
+ *
|
||||||
|
+ * @param hiddenByDefault
|
||||||
|
+ */
|
||||||
|
+ void setHiddenByDefault(boolean hiddenByDefault);
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * @return true if the Entity is hidden by default, false otherwise
|
||||||
|
+ */
|
||||||
|
+ boolean isHiddenByDefault();
|
||||||
|
+ // Paper end
|
||||||
|
}
|
||||||
|
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||||
|
index b5fd857896b3afcfa69cce55cbc2696dd625f805..7d44d455a550490e8e505c205dfe26e1d048719e 100644
|
||||||
|
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||||
|
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||||
|
@@ -1568,9 +1568,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Allows this player to see an entity that was previously hidden. If
|
||||||
|
- * another another plugin had hidden the entity too, then the entity will
|
||||||
|
+ * another plugin had hidden the entity too, then the entity will
|
||||||
|
* remain hidden until the other plugin calls this method too.
|
||||||
|
*
|
||||||
|
+ * If no other plugin is hiding the entity after this method is called,
|
||||||
|
+ * then this method also allows the player to see entities hidden by default
|
||||||
|
+ * with {@link Entity#setHiddenByDefault(boolean)}.
|
||||||
|
+ *
|
||||||
|
* @param plugin Plugin that wants to show the entity
|
||||||
|
* @param entity Entity to show
|
||||||
|
*/
|
||||||
@@ -1,69 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: James Lyne <jim+github@not-null.co.uk>
|
|
||||||
Date: Mon, 7 Dec 2020 17:52:36 +0000
|
|
||||||
Subject: [PATCH] Spread out and optimise player list ticksSpread out and
|
|
||||||
optimise player list ticks
|
|
||||||
|
|
||||||
This patch was removed from PurpurMC!
|
|
||||||
Original code by PurpurMC, licensed under MIT
|
|
||||||
You can find the original code on https://github.com/PurpurMC/Purpur
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
|
||||||
index faaf13f46bc7bf0ffc1fe61f45e9f11cb9c8b4d5..f4b554da231ed968c6fa7d71380da361d463d6c5 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
|
||||||
@@ -1032,22 +1032,22 @@ public abstract class PlayerList {
|
|
||||||
}
|
|
||||||
|
|
||||||
public void tick() {
|
|
||||||
- if (++this.sendAllPlayerInfoIn > 600) {
|
|
||||||
- // CraftBukkit start
|
|
||||||
- for (int i = 0; i < this.players.size(); ++i) {
|
|
||||||
- final ServerPlayer target = (ServerPlayer) this.players.get(i);
|
|
||||||
-
|
|
||||||
- target.connection.send(new ClientboundPlayerInfoPacket(ClientboundPlayerInfoPacket.Action.UPDATE_LATENCY, this.players.stream().filter(new Predicate<ServerPlayer>() {
|
|
||||||
- @Override
|
|
||||||
- public boolean test(ServerPlayer input) {
|
|
||||||
- return target.getBukkitEntity().canSee(input.getBukkitEntity());
|
|
||||||
- }
|
|
||||||
- }).collect(Collectors.toList())));
|
|
||||||
+ // Purpur start
|
|
||||||
+ if (this.sendAllPlayerInfoIn < this.players.size()) {
|
|
||||||
+ final org.bukkit.craftbukkit.entity.CraftPlayer target = this.players.get(this.sendAllPlayerInfoIn).getBukkitEntity();
|
|
||||||
+ final List<ServerPlayer> list = new java.util.ArrayList<>();
|
|
||||||
+ for (ServerPlayer player : this.players) {
|
|
||||||
+ if (target.canSee(player.getUUID())) {
|
|
||||||
+ list.add(player);
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
- // CraftBukkit end
|
|
||||||
- this.sendAllPlayerInfoIn = 0;
|
|
||||||
+ target.getHandle().connection.send(new ClientboundPlayerInfoPacket(ClientboundPlayerInfoPacket.Action.UPDATE_LATENCY, list));
|
|
||||||
}
|
|
||||||
|
|
||||||
+ if (++this.sendAllPlayerInfoIn > 600) {
|
|
||||||
+ this.sendAllPlayerInfoIn = 0;
|
|
||||||
+ }
|
|
||||||
+ // Purpur end
|
|
||||||
}
|
|
||||||
|
|
||||||
public void broadcastAll(Packet<?> packet) {
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
||||||
index b1136b9c39b16cbb9dfe460f88000f74ccd4f571..cfbabdcade291b2fcdbe83206b060b8762f50f41 100644
|
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
||||||
@@ -1883,7 +1883,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canSee(org.bukkit.entity.Entity entity) {
|
|
||||||
- return !this.hiddenEntities.containsKey(entity.getUniqueId());
|
|
||||||
+ // Purpur start
|
|
||||||
+ return this.canSee(entity.getUniqueId());
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ public boolean canSee(UUID uuid) {
|
|
||||||
+ return !this.hiddenEntities.containsKey(uuid);
|
|
||||||
+ // Purpur end
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: etil2jz <81570777+etil2jz@users.noreply.github.com>
|
|
||||||
Date: Fri, 8 Apr 2022 21:20:50 +0200
|
|
||||||
Subject: [PATCH] Fix tick function tag running before load
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/ServerFunctionManager.java b/src/main/java/net/minecraft/server/ServerFunctionManager.java
|
|
||||||
index 00a50196f6a4768d84acfbbeec79a0753308f091..3452ff5d378a2703fb0959c8163ee0274236e839 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/ServerFunctionManager.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/ServerFunctionManager.java
|
|
||||||
@@ -46,13 +46,14 @@ public class ServerFunctionManager {
|
|
||||||
}
|
|
||||||
|
|
||||||
public void tick() {
|
|
||||||
- this.executeTagFunctions(this.ticking, ServerFunctionManager.TICK_FUNCTION_TAG);
|
|
||||||
+ //this.executeTagFunctions(this.ticking, ServerFunctionManager.TICK_FUNCTION_TAG); // DivineMC - moved down
|
|
||||||
if (this.postReload) {
|
|
||||||
this.postReload = false;
|
|
||||||
Collection<CommandFunction> collection = this.library.getTag(ServerFunctionManager.LOAD_FUNCTION_TAG);
|
|
||||||
|
|
||||||
this.executeTagFunctions(collection, ServerFunctionManager.LOAD_FUNCTION_TAG);
|
|
||||||
}
|
|
||||||
+ this.executeTagFunctions(this.ticking, ServerFunctionManager.TICK_FUNCTION_TAG); // DivineMC - fix tick function tag running before load
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -3,12 +3,12 @@ From: NONPLAYT <76615486+NONPLAYT@users.noreply.github.com>
|
|||||||
Date: Sun, 19 Mar 2023 19:07:20 +0300
|
Date: Sun, 19 Mar 2023 19:07:20 +0300
|
||||||
Subject: [PATCH] NoChatReports Implementation
|
Subject: [PATCH] NoChatReports Implementation
|
||||||
|
|
||||||
|
idk why, but server status has been updated. waiting for ncr
|
||||||
|
|
||||||
diff --git a/src/main/java/gq/bxteam/divinemc/DivineConfig.java b/src/main/java/gq/bxteam/divinemc/DivineConfig.java
|
diff --git a/src/main/java/gq/bxteam/divinemc/DivineConfig.java b/src/main/java/gq/bxteam/divinemc/DivineConfig.java
|
||||||
index 541acfc832fe4caa13b5fb46bc455fc6a7294af8..8749af60221b53efa9f4bce43bbdad166a3f4506 100644
|
--- a/src/main/java/gq/bxteam/divinemc/DivineConfig.java (revision 5273f89dd19146a784cf4c584647befb8099b105)
|
||||||
--- a/src/main/java/gq/bxteam/divinemc/DivineConfig.java
|
+++ b/src/main/java/gq/bxteam/divinemc/DivineConfig.java (date 1679415878866)
|
||||||
+++ b/src/main/java/gq/bxteam/divinemc/DivineConfig.java
|
@@ -131,4 +131,14 @@
|
||||||
@@ -131,4 +131,14 @@ public class DivineConfig {
|
|
||||||
return config.getStringList(key);
|
return config.getStringList(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3,6 +3,7 @@ From: NONPLAYT <76615486+NONPLAYT@users.noreply.github.com>
|
|||||||
Date: Tue, 14 Mar 2023 21:03:19 +0300
|
Date: Tue, 14 Mar 2023 21:03:19 +0300
|
||||||
Subject: [PATCH] Update Bungeecord Chat API
|
Subject: [PATCH] Update Bungeecord Chat API
|
||||||
|
|
||||||
|
ok, it will be build 9
|
||||||
|
|
||||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||||
index 181e9cd8623995f40e696ccfe49754dc340405d8..ba11fc979aac6f9a4bc812bc83b42b5ff2916b6d 100644
|
index 181e9cd8623995f40e696ccfe49754dc340405d8..ba11fc979aac6f9a4bc812bc83b42b5ff2916b6d 100644
|
||||||
@@ -12,7 +13,7 @@ index 181e9cd8623995f40e696ccfe49754dc340405d8..ba11fc979aac6f9a4bc812bc83b42b5f
|
|||||||
// api dependencies are listed transitively to API consumers
|
// api dependencies are listed transitively to API consumers
|
||||||
api("com.google.guava:guava:31.1-jre")
|
api("com.google.guava:guava:31.1-jre")
|
||||||
api("com.google.code.gson:gson:2.10")
|
api("com.google.code.gson:gson:2.10")
|
||||||
- api("net.md-5:bungeecord-chat:1.16-R0.4-deprecated+build.6") // Paper
|
- api("net.md-5:bungeecord-chat:1.16-R0.4-deprecated+build.9") // Paper
|
||||||
+ api("net.md-5:bungeecord-chat:1.19-R0.1-SNAPSHOT") // Paper // DivineMC
|
+ api("net.md-5:bungeecord-chat:1.19-R0.1-SNAPSHOT") // Paper // DivineMC
|
||||||
api("org.yaml:snakeyaml:1.33")
|
api("org.yaml:snakeyaml:1.33")
|
||||||
// Paper start
|
// Paper start
|
||||||
@@ -4,7 +4,7 @@ Date: Tue, 4 Jun 2019 15:50:08 -0500
|
|||||||
Subject: [PATCH] Fix 'outdated server' showing in ping before server fully
|
Subject: [PATCH] Fix 'outdated server' showing in ping before server fully
|
||||||
boots
|
boots
|
||||||
|
|
||||||
Original code by PurpurMC, licensed under MIT
|
Original code by PurpurMC, licensed under MIT (removed now)
|
||||||
You can find the original code on https://github.com/PurpurMC/Purpur
|
You can find the original code on https://github.com/PurpurMC/Purpur
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/network/ServerStatusPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerStatusPacketListenerImpl.java
|
diff --git a/src/main/java/net/minecraft/server/network/ServerStatusPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerStatusPacketListenerImpl.java
|
||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Divine Branding
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||||
index 530159ef6307e092279824488652bbc94d3ad387..df5c8abe5fe5428f99fab668583c0af986adbd27 100644
|
index 3c8293f002f11b430083502362fdc801f44aa138..506456fd003dda0d544c9800301b1210a5d18457 100644
|
||||||
--- a/build.gradle.kts
|
--- a/build.gradle.kts
|
||||||
+++ b/build.gradle.kts
|
+++ b/build.gradle.kts
|
||||||
@@ -7,7 +7,7 @@ plugins {
|
@@ -7,7 +7,7 @@ plugins {
|
||||||
@@ -196,10 +196,10 @@ index 0000000000000000000000000000000000000000..0dc13e363448d7a0f20993e0576af625
|
|||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index 33a5e900c2cab99c311fa5f5b71a609cf8f802cb..0b414bcb1799d895d8d1b7dce42d7d5bee265ec8 100644
|
index 6d5e9400892b86562519a893349ca55e566bfb24..9945d6efac1e1ea0d22d6fdfe8aa5d2805c615b2 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -1656,7 +1656,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1683,7 +1683,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
|
|
||||||
@DontObfuscate
|
@DontObfuscate
|
||||||
public String getServerModName() {
|
public String getServerModName() {
|
||||||
@@ -209,10 +209,10 @@ index 33a5e900c2cab99c311fa5f5b71a609cf8f802cb..0b414bcb1799d895d8d1b7dce42d7d5b
|
|||||||
|
|
||||||
public SystemReport fillSystemReport(SystemReport details) {
|
public SystemReport fillSystemReport(SystemReport details) {
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
index 7ddf52de4b095f63c75b696008fcdde6345fc3c8..cfb665cf895cd96d1b6f78267abfd2c1ac113312 100644
|
index b2d94582037c091bd6a04451bf62b3f9c4923d19..efc137a8a9f1da4a7ffff6028af368cc7f90d20a 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
@@ -261,7 +261,7 @@ import javax.annotation.Nullable; // Paper
|
@@ -256,7 +256,7 @@ import javax.annotation.Nullable; // Paper
|
||||||
import javax.annotation.Nonnull; // Paper
|
import javax.annotation.Nonnull; // Paper
|
||||||
|
|
||||||
public final class CraftServer implements Server {
|
public final class CraftServer implements Server {
|
||||||
@@ -222,10 +222,10 @@ index 7ddf52de4b095f63c75b696008fcdde6345fc3c8..cfb665cf895cd96d1b6f78267abfd2c1
|
|||||||
private final String bukkitVersion = Versioning.getBukkitVersion();
|
private final String bukkitVersion = Versioning.getBukkitVersion();
|
||||||
private final Logger logger = Logger.getLogger("Minecraft");
|
private final Logger logger = Logger.getLogger("Minecraft");
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||||
index f30621be24c6c3a4f173436fce1ad1c13507c84f..07c2991774323e051844aa83a80b9fdaa0cbeb63 100644
|
index 4966a1e3dd35357a8ea6a7d2944c84c9c3e9058e..5b4d42fd74a32e4e97690f0cd9a33c66dc1ae141 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||||
@@ -278,7 +278,7 @@ public class Main {
|
@@ -285,7 +285,7 @@ public class Main {
|
||||||
if (buildDate.before(deadline.getTime())) {
|
if (buildDate.before(deadline.getTime())) {
|
||||||
// Paper start - This is some stupid bullshit
|
// Paper start - This is some stupid bullshit
|
||||||
System.err.println("*** Warning, you've not updated in a while! ***");
|
System.err.println("*** Warning, you've not updated in a while! ***");
|
||||||
@@ -235,7 +235,7 @@ index f30621be24c6c3a4f173436fce1ad1c13507c84f..07c2991774323e051844aa83a80b9fda
|
|||||||
//Thread.sleep(TimeUnit.SECONDS.toMillis(20));
|
//Thread.sleep(TimeUnit.SECONDS.toMillis(20));
|
||||||
// Paper End
|
// Paper End
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||||
index 0ccde7fe2a852f7da72f0b3f5a53cb48d28d1840..29c26e1ffa1d5212df6cdc954a286aba41fb50c3 100644
|
index d4f62940504e3ef7a70e13b1f4a7726f23b4c637..bd21dd728b6d47d354aeb879b083394e186d6a5c 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||||
@@ -464,7 +464,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
|
@@ -464,7 +464,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
|
||||||
|
|||||||
@@ -7,10 +7,10 @@ Original code by CaffeineMC, licensed under GNU Lesser General Public License v3
|
|||||||
You can find the original code on https://github.com/CaffeineMC/lithium-fabric (Yarn mappings)
|
You can find the original code on https://github.com/CaffeineMC/lithium-fabric (Yarn mappings)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/core/Direction.java b/src/main/java/net/minecraft/core/Direction.java
|
diff --git a/src/main/java/net/minecraft/core/Direction.java b/src/main/java/net/minecraft/core/Direction.java
|
||||||
index c1172ba542bc07e0c780a50d5b4ce26ac04c1720..4ebbd0bbbecb07eb1950231cf0b3a7f25e09f1c9 100644
|
index 82bce6109d59cba30178a446f0ff129da6f3692f..28f3145193e8bc22f3bbd0442248ea09ccc91973 100644
|
||||||
--- a/src/main/java/net/minecraft/core/Direction.java
|
--- a/src/main/java/net/minecraft/core/Direction.java
|
||||||
+++ b/src/main/java/net/minecraft/core/Direction.java
|
+++ b/src/main/java/net/minecraft/core/Direction.java
|
||||||
@@ -191,7 +191,7 @@ public enum Direction implements StringRepresentable {
|
@@ -192,7 +192,7 @@ public enum Direction implements StringRepresentable {
|
||||||
}
|
}
|
||||||
|
|
||||||
public Direction getOpposite() {
|
public Direction getOpposite() {
|
||||||
@@ -19,7 +19,7 @@ index c1172ba542bc07e0c780a50d5b4ce26ac04c1720..4ebbd0bbbecb07eb1950231cf0b3a7f2
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Direction getClockWise(Direction.Axis axis) {
|
public Direction getClockWise(Direction.Axis axis) {
|
||||||
@@ -441,7 +441,7 @@ public enum Direction implements StringRepresentable {
|
@@ -442,7 +442,7 @@ public enum Direction implements StringRepresentable {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Direction getRandom(RandomSource random) {
|
public static Direction getRandom(RandomSource random) {
|
||||||
@@ -29,7 +29,7 @@ index c1172ba542bc07e0c780a50d5b4ce26ac04c1720..4ebbd0bbbecb07eb1950231cf0b3a7f2
|
|||||||
|
|
||||||
public static Direction getNearest(double x, double y, double z) {
|
public static Direction getNearest(double x, double y, double z) {
|
||||||
diff --git a/src/main/java/net/minecraft/world/phys/AABB.java b/src/main/java/net/minecraft/world/phys/AABB.java
|
diff --git a/src/main/java/net/minecraft/world/phys/AABB.java b/src/main/java/net/minecraft/world/phys/AABB.java
|
||||||
index 68cc6f2a78a06293a29317fda72ab3ee79b3533a..c5ff387a78693b0d5b18653dae67eb4a03324ff7 100644
|
index ffc76354ead6937daf366c3d87bcb51d3e4c47f5..5be83bcfc719db1a71b00dc4a88fd794476a8ad9 100644
|
||||||
--- a/src/main/java/net/minecraft/world/phys/AABB.java
|
--- a/src/main/java/net/minecraft/world/phys/AABB.java
|
||||||
+++ b/src/main/java/net/minecraft/world/phys/AABB.java
|
+++ b/src/main/java/net/minecraft/world/phys/AABB.java
|
||||||
@@ -16,6 +16,15 @@ public class AABB {
|
@@ -16,6 +16,15 @@ public class AABB {
|
||||||
|
|||||||
@@ -295,10 +295,10 @@ index 0000000000000000000000000000000000000000..4128567173d3985257a1bdd4412c7db0
|
|||||||
+}
|
+}
|
||||||
\ No newline at end of file
|
\ No newline at end of file
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
index edd2c236ca7c37e1a3aec0048b8974f4cd62f2cc..f7da7be380062eb052ac0549f9d9dc810d6218a3 100644
|
index 6aec1983a0236d6aa0507a2b3ad1c08b3330f0fc..78069d2dbd4ee5624e99a76547cbba354ef0b96e 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
@@ -116,9 +116,9 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
@@ -118,9 +118,9 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||||
public static final int TICKS_PER_DAY = 24000;
|
public static final int TICKS_PER_DAY = 24000;
|
||||||
public static final int MAX_ENTITY_SPAWN_Y = 20000000;
|
public static final int MAX_ENTITY_SPAWN_Y = 20000000;
|
||||||
public static final int MIN_ENTITY_SPAWN_Y = -20000000;
|
public static final int MIN_ENTITY_SPAWN_Y = -20000000;
|
||||||
|
|||||||
@@ -7,10 +7,10 @@ Original code by YatopiaMC, licensed under MIT
|
|||||||
You can find the original code on https://github.com/YatopiaMC/Yatopia
|
You can find the original code on https://github.com/YatopiaMC/Yatopia
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index 0b414bcb1799d895d8d1b7dce42d7d5bee265ec8..3a378940093d2990b95a2097973fafe38589d4e9 100644
|
index 9945d6efac1e1ea0d22d6fdfe8aa5d2805c615b2..b91a634777065969a4f3bb569a32c3645d42c4af 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -1096,6 +1096,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1098,6 +1098,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
// Spigot End
|
// Spigot End
|
||||||
|
|
||||||
public static volatile RuntimeException chunkSystemCrash; // Paper - rewrite chunk system
|
public static volatile RuntimeException chunkSystemCrash; // Paper - rewrite chunk system
|
||||||
@@ -29,10 +29,10 @@ index 0b414bcb1799d895d8d1b7dce42d7d5bee265ec8..3a378940093d2990b95a2097973fafe3
|
|||||||
this.mayHaveDelayedTasks = true;
|
this.mayHaveDelayedTasks = true;
|
||||||
this.delayedTasksMaxNextTickTime = Math.max(Util.getMillis() + 50L, this.nextTickTime);
|
this.delayedTasksMaxNextTickTime = Math.max(Util.getMillis() + 50L, this.nextTickTime);
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
index cfb665cf895cd96d1b6f78267abfd2c1ac113312..ffde3c96f0593ca9719a3e1fb24ee5839b57f6db 100644
|
index efc137a8a9f1da4a7ffff6028af368cc7f90d20a..b8f51b262561fce967f99801ad595de8faaddd0d 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
@@ -2924,6 +2924,12 @@ public final class CraftServer implements Server {
|
@@ -2922,6 +2922,12 @@ public final class CraftServer implements Server {
|
||||||
public CraftPotionBrewer getPotionBrewer() {
|
public CraftPotionBrewer getPotionBrewer() {
|
||||||
return this.potionBrewer;
|
return this.potionBrewer;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,10 +7,10 @@ Original code by YatopiaMC, licensed under MIT
|
|||||||
You can find the original code on https://github.com/YatopiaMC/Yatopia
|
You can find the original code on https://github.com/YatopiaMC/Yatopia
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
index 4b754f6eae683248d7fe11d6d6cb168d5dd696a2..18cfe7746b1b6e04b22fc73345b789d5807dfa35 100644
|
index c0c14766adaac855112f85a203a6163b8adfdded..d4e3bc6dc71740d2f989e87f9b5cc48ac96ba8d5 100644
|
||||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
@@ -695,13 +695,19 @@ public abstract class PlayerList {
|
@@ -702,13 +702,19 @@ public abstract class PlayerList {
|
||||||
if (getBans().isBanned(gameprofile) && (gameprofilebanentry = getBans().get(gameprofile)) != null) {
|
if (getBans().isBanned(gameprofile) && (gameprofilebanentry = getBans().get(gameprofile)) != null) {
|
||||||
// Paper end
|
// Paper end
|
||||||
|
|
||||||
|
|||||||
@@ -7,10 +7,10 @@ Original code by PatinaMC, licensed under GNU General Public License v3.0
|
|||||||
You can find the original code on https://github.com/PatinaMC/Patina
|
You can find the original code on https://github.com/PatinaMC/Patina
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
index 7d6d3c8556033d289fdadc489e73fba478fce41a..180e189fb657453fd395ed0e845d3d90d883d08c 100644
|
index ca5291a9573a62cb5c19539cf5c7aceff11f9829..5f3658625c05e9e1ff3e4685ce4cb5f6eb66cc49 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
@@ -390,7 +390,7 @@ public class ServerPlayer extends Player {
|
@@ -396,7 +396,7 @@ public class ServerPlayer extends Player {
|
||||||
long l = k * k;
|
long l = k * k;
|
||||||
int i1 = l > 2147483647L ? Integer.MAX_VALUE : (int) l;
|
int i1 = l > 2147483647L ? Integer.MAX_VALUE : (int) l;
|
||||||
int j1 = this.getCoprime(i1);
|
int j1 = this.getCoprime(i1);
|
||||||
@@ -19,7 +19,7 @@ index 7d6d3c8556033d289fdadc489e73fba478fce41a..180e189fb657453fd395ed0e845d3d90
|
|||||||
|
|
||||||
for (int l1 = 0; l1 < i1; ++l1) {
|
for (int l1 = 0; l1 < i1; ++l1) {
|
||||||
int i2 = (k1 + j1 * l1) % i1;
|
int i2 = (k1 + j1 * l1) % i1;
|
||||||
@@ -427,7 +427,7 @@ public class ServerPlayer extends Player {
|
@@ -433,7 +433,7 @@ public class ServerPlayer extends Player {
|
||||||
long l = k * k;
|
long l = k * k;
|
||||||
int i1 = l > 2147483647L ? Integer.MAX_VALUE : (int) l;
|
int i1 = l > 2147483647L ? Integer.MAX_VALUE : (int) l;
|
||||||
int j1 = this.getCoprime(i1);
|
int j1 = this.getCoprime(i1);
|
||||||
@@ -7,10 +7,10 @@ Original code by PurpurMC, licensed under MIT
|
|||||||
You can find the original code on https://github.com/PurpurMC/Purpur
|
You can find the original code on https://github.com/PurpurMC/Purpur
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/core/Direction.java b/src/main/java/net/minecraft/core/Direction.java
|
diff --git a/src/main/java/net/minecraft/core/Direction.java b/src/main/java/net/minecraft/core/Direction.java
|
||||||
index 4ebbd0bbbecb07eb1950231cf0b3a7f25e09f1c9..61eadbc9bf353319d98df1135ded05dfe9bcc3f4 100644
|
index 28f3145193e8bc22f3bbd0442248ea09ccc91973..28ecd137dd37759e7890d71635289c3f6e994b87 100644
|
||||||
--- a/src/main/java/net/minecraft/core/Direction.java
|
--- a/src/main/java/net/minecraft/core/Direction.java
|
||||||
+++ b/src/main/java/net/minecraft/core/Direction.java
|
+++ b/src/main/java/net/minecraft/core/Direction.java
|
||||||
@@ -247,6 +247,12 @@ public enum Direction implements StringRepresentable {
|
@@ -248,6 +248,12 @@ public enum Direction implements StringRepresentable {
|
||||||
case EAST:
|
case EAST:
|
||||||
var10000 = SOUTH;
|
var10000 = SOUTH;
|
||||||
break;
|
break;
|
||||||
@@ -23,7 +23,7 @@ index 4ebbd0bbbecb07eb1950231cf0b3a7f25e09f1c9..61eadbc9bf353319d98df1135ded05df
|
|||||||
default:
|
default:
|
||||||
throw new IllegalStateException("Unable to get Y-rotated facing of " + this);
|
throw new IllegalStateException("Unable to get Y-rotated facing of " + this);
|
||||||
}
|
}
|
||||||
@@ -359,6 +365,12 @@ public enum Direction implements StringRepresentable {
|
@@ -360,6 +366,12 @@ public enum Direction implements StringRepresentable {
|
||||||
case EAST:
|
case EAST:
|
||||||
var10000 = NORTH;
|
var10000 = NORTH;
|
||||||
break;
|
break;
|
||||||
@@ -7,10 +7,10 @@ Original code by Titaniumtown, licensed under GNU General Public License v3.0
|
|||||||
You can find the original code on https://gitlab.com/Titaniumtown/JettPack
|
You can find the original code on https://gitlab.com/Titaniumtown/JettPack
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
index f7da7be380062eb052ac0549f9d9dc810d6218a3..0cfcf1c1c4f2fe0658b212b076e2cf9f7f0e974b 100644
|
index 78069d2dbd4ee5624e99a76547cbba354ef0b96e..234d7c309bd386862b6f9ddc8dc2d469ecf30030 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
@@ -175,8 +175,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
@@ -179,8 +179,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||||
public final com.destroystokyo.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray
|
public final com.destroystokyo.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray
|
||||||
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
|
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
|
||||||
public static BlockPos lastPhysicsProblem; // Spigot
|
public static BlockPos lastPhysicsProblem; // Spigot
|
||||||
@@ -21,7 +21,7 @@ index f7da7be380062eb052ac0549f9d9dc810d6218a3..0cfcf1c1c4f2fe0658b212b076e2cf9f
|
|||||||
private int tileTickPosition;
|
private int tileTickPosition;
|
||||||
public final Map<Explosion.CacheKey, Float> explosionDensityCache = new HashMap<>(); // Paper - Optimize explosions
|
public final Map<Explosion.CacheKey, Float> explosionDensityCache = new HashMap<>(); // Paper - Optimize explosions
|
||||||
public java.util.ArrayDeque<net.minecraft.world.level.block.RedstoneTorchBlock.Toggle> redstoneUpdateInfos; // Paper - Move from Map in BlockRedstoneTorch to here
|
public java.util.ArrayDeque<net.minecraft.world.level.block.RedstoneTorchBlock.Toggle> redstoneUpdateInfos; // Paper - Move from Map in BlockRedstoneTorch to here
|
||||||
@@ -370,8 +370,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
@@ -376,8 +376,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
timings = new co.aikar.timings.WorldTimingsHandler(this); // Paper - code below can generate new world and access timings
|
timings = new co.aikar.timings.WorldTimingsHandler(this); // Paper - code below can generate new world and access timings
|
||||||
this.keepSpawnInMemory = this.paperConfig().spawn.keepSpawnLoaded; // Paper
|
this.keepSpawnInMemory = this.paperConfig().spawn.keepSpawnLoaded; // Paper
|
||||||
@@ -7,10 +7,10 @@ Original code by Starlis, licensed under GNU General Public License v3.0
|
|||||||
You can find the original code on https://github.com/starlis/empirecraft
|
You can find the original code on https://github.com/starlis/empirecraft
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java b/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java b/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java
|
||||||
index 5406925cd66f46ab8744123c670d72cea7bfc3a1..ba9b29db6d6b9e73e1b8d305ad1d7e855290e758 100644
|
index fca27f98989bf106060ba08196255fe32f850df5..d154a5d84cbb56f62a028d32ff48e9eb0a5dd829 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java
|
--- a/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java
|
+++ b/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java
|
||||||
@@ -358,4 +358,11 @@ public class FireworkRocketEntity extends Projectile implements ItemSupplier {
|
@@ -357,4 +357,11 @@ public class FireworkRocketEntity extends Projectile implements ItemSupplier {
|
||||||
public boolean isAttackable() {
|
public boolean isAttackable() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Paper PR - BoneMeal API
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/item/BoneMealItem.java b/src/main/java/net/minecraft/world/item/BoneMealItem.java
|
diff --git a/src/main/java/net/minecraft/world/item/BoneMealItem.java b/src/main/java/net/minecraft/world/item/BoneMealItem.java
|
||||||
index 664c3a6b34035ebeff19926be311b1fd6f08dc19..dd67f7b3a4e7bf4d648a1b955b0beeec8cad9bd5 100644
|
index c26665bc59c18c4da467fb6ae33e51a65ecf1de6..db31b8e00f63f3fa265dcc669816a5a250ee4910 100644
|
||||||
--- a/src/main/java/net/minecraft/world/item/BoneMealItem.java
|
--- a/src/main/java/net/minecraft/world/item/BoneMealItem.java
|
||||||
+++ b/src/main/java/net/minecraft/world/item/BoneMealItem.java
|
+++ b/src/main/java/net/minecraft/world/item/BoneMealItem.java
|
||||||
@@ -36,15 +36,17 @@ public class BoneMealItem extends Item {
|
@@ -36,15 +36,17 @@ public class BoneMealItem extends Item {
|
||||||
@@ -39,7 +39,7 @@ index 664c3a6b34035ebeff19926be311b1fd6f08dc19..dd67f7b3a4e7bf4d648a1b955b0beeec
|
|||||||
}
|
}
|
||||||
|
|
||||||
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 54932d92b13b890b07f827c5f09bd137383d4ab5..c56005e062f2b5ce38109e4666c07b941fe22149 100644
|
index 5e9055fdf411029ea2fed91acd6b981f79156418..d3ceb6925c86640663439a9dc413df1d9126cc5f 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
|
||||||
@@ -2394,5 +2394,43 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
@@ -2394,5 +2394,43 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||||
@@ -7,7 +7,7 @@ Original code by Starlis, licensed under GNU General Public License v3.0
|
|||||||
You can find the original code on https://github.com/starlis/empirecraft
|
You can find the original code on https://github.com/starlis/empirecraft
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/commands/GiveCommand.java b/src/main/java/net/minecraft/server/commands/GiveCommand.java
|
diff --git a/src/main/java/net/minecraft/server/commands/GiveCommand.java b/src/main/java/net/minecraft/server/commands/GiveCommand.java
|
||||||
index 06e3a868e922f1b7a586d0ca28f64a67ae463b68..00c481ebf012efa5424e32521e7aecf4b36f24c0 100644
|
index ee7d29d85c8b024c9b23cba8ecd4192aa7e8aa7b..e50d8c5f6c4f2aa672732d1d42c4995c9b377530 100644
|
||||||
--- a/src/main/java/net/minecraft/server/commands/GiveCommand.java
|
--- a/src/main/java/net/minecraft/server/commands/GiveCommand.java
|
||||||
+++ b/src/main/java/net/minecraft/server/commands/GiveCommand.java
|
+++ b/src/main/java/net/minecraft/server/commands/GiveCommand.java
|
||||||
@@ -58,6 +58,7 @@ public class GiveCommand {
|
@@ -58,6 +58,7 @@ public class GiveCommand {
|
||||||
@@ -7,7 +7,7 @@ Original code by PurpurMC, licensed under MIT
|
|||||||
You can find the original code on https://github.com/PurpurMC/Purpur
|
You can find the original code on https://github.com/PurpurMC/Purpur
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
|
diff --git a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
|
||||||
index f80545f80948db27d1fbde77d0505c916eb504ed..95a6284026d17567deb7416abe2bc4d6975aaaf8 100644
|
index c73024cc62490c336ffe26313580e88d25ca7078..690d498a97b943a62e8ea415450ca44a2349fee0 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
|
--- a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
|
+++ b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
|
||||||
@@ -178,6 +178,7 @@ public class TheEndGatewayBlockEntity extends TheEndPortalBlockEntity {
|
@@ -178,6 +178,7 @@ public class TheEndGatewayBlockEntity extends TheEndPortalBlockEntity {
|
||||||
@@ -10,7 +10,7 @@ Original code by PurpurMC, licensed under MIT
|
|||||||
You can find the original code on https://github.com/PurpurMC/Purpur
|
You can find the original code on https://github.com/PurpurMC/Purpur
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
|
diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
|
||||||
index 9788e477ff1446ad2ea3669922cc7dfc09900ce8..056ba60a855a2628e0b72ceaa3257da756ee61d9 100644
|
index 5d6d26cfe8f0ab68a3145214b3fc126ca7a71a66..6d00e5d22147ae69de3723a46eabf0ecc577d421 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
|
--- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
|
+++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
|
||||||
@@ -312,7 +312,7 @@ public abstract class AbstractArrow extends Projectile {
|
@@ -312,7 +312,7 @@ public abstract class AbstractArrow extends Projectile {
|
||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Skip cloning loot parameters
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/advancements/Advancement.java b/src/main/java/net/minecraft/advancements/Advancement.java
|
diff --git a/src/main/java/net/minecraft/advancements/Advancement.java b/src/main/java/net/minecraft/advancements/Advancement.java
|
||||||
index dd4409790524293be07483f00df05d8a8743e3d9..49b40fd9adea5b6dc1d304c172acdc5da4f148fd 100644
|
index 31ef13a708db2e4a664b30090a562eb6e4597bab..f18357d4dffbfe35d7c205fec0cc026020afdf25 100644
|
||||||
--- a/src/main/java/net/minecraft/advancements/Advancement.java
|
--- a/src/main/java/net/minecraft/advancements/Advancement.java
|
||||||
+++ b/src/main/java/net/minecraft/advancements/Advancement.java
|
+++ b/src/main/java/net/minecraft/advancements/Advancement.java
|
||||||
@@ -45,7 +45,7 @@ public class Advancement {
|
@@ -45,7 +45,7 @@ public class Advancement {
|
||||||
@@ -7,10 +7,10 @@ Original code by PurpurMC, licensed under MIT
|
|||||||
You can find the original code on https://github.com/PurpurMC/Purpur
|
You can find the original code on https://github.com/PurpurMC/Purpur
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
index d939b1e3bc101e66bc1019cf49d8079665dadfcc..3d78c10a5442bfa5d4beae2546378b3822f0465d 100644
|
index 3ce4dbf4eed442d89d6bbc8e4c6a000172041da5..364d899f4fba65f0ecae522c7dde4f1ef8ee632e 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
@@ -995,7 +995,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
@@ -998,7 +998,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||||
return this.anyPlayerCloseEnoughForSpawning(this.getUpdatingChunkIfPresent(chunkcoordintpair.toLong()), chunkcoordintpair, reducedRange);
|
return this.anyPlayerCloseEnoughForSpawning(this.getUpdatingChunkIfPresent(chunkcoordintpair.toLong()), chunkcoordintpair, reducedRange);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -8,10 +8,10 @@ the displayed hunger bar never goes down. Hunger (or any related value, includin
|
|||||||
should not go down on peaceful. See https://bugs.mojang.com/browse/MC-31819.
|
should not go down on peaceful. See https://bugs.mojang.com/browse/MC-31819.
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||||
index 61597ebe2f9faff43994c475074b87d11905e582..6f6fdab36ed5a912ad655a466dd16644eb7139fc 100644
|
index 2b02800666b358159c8ecb63208a14855f90657b..f68d53f085f4cb9ae94f5aa110ca0bd2a88aa5e1 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||||
@@ -1901,6 +1901,7 @@ public abstract class Player extends LivingEntity {
|
@@ -1896,6 +1896,7 @@ public abstract class Player extends LivingEntity {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void causeFoodExhaustion(float f, EntityExhaustionEvent.ExhaustionReason reason) {
|
public void causeFoodExhaustion(float f, EntityExhaustionEvent.ExhaustionReason reason) {
|
||||||
@@ -8,10 +8,10 @@ Original project: https://github.com/PaperMC/Velocity
|
|||||||
Paper pull request: https://github.com/PaperMC/Paper/pull/8418
|
Paper pull request: https://github.com/PaperMC/Paper/pull/8418
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/network/FriendlyByteBuf.java b/src/main/java/net/minecraft/network/FriendlyByteBuf.java
|
diff --git a/src/main/java/net/minecraft/network/FriendlyByteBuf.java b/src/main/java/net/minecraft/network/FriendlyByteBuf.java
|
||||||
index 32ee4ed11aefd82dca2e3e78b3108f041fdc3695..888a9fd7b13630fec814d23f0a2035f88cffa6e8 100644
|
index 9938bb90bef84cf784f9a1ceb02a1a45aa8b48a1..015685c97dc4a3485e009e0bf6c8f04302249578 100644
|
||||||
--- a/src/main/java/net/minecraft/network/FriendlyByteBuf.java
|
--- a/src/main/java/net/minecraft/network/FriendlyByteBuf.java
|
||||||
+++ b/src/main/java/net/minecraft/network/FriendlyByteBuf.java
|
+++ b/src/main/java/net/minecraft/network/FriendlyByteBuf.java
|
||||||
@@ -93,15 +93,18 @@ public class FriendlyByteBuf extends ByteBuf {
|
@@ -102,15 +102,18 @@ public class FriendlyByteBuf extends ByteBuf {
|
||||||
this.source = parent;
|
this.source = parent;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -37,7 +37,7 @@ index 32ee4ed11aefd82dca2e3e78b3108f041fdc3695..888a9fd7b13630fec814d23f0a2035f8
|
|||||||
|
|
||||||
public static int getVarLongSize(long value) {
|
public static int getVarLongSize(long value) {
|
||||||
for (int j = 1; j < 10; ++j) {
|
for (int j = 1; j < 10; ++j) {
|
||||||
@@ -565,7 +568,22 @@ public class FriendlyByteBuf extends ByteBuf {
|
@@ -612,7 +615,22 @@ public class FriendlyByteBuf extends ByteBuf {
|
||||||
return new UUID(this.readLong(), this.readLong());
|
return new UUID(this.readLong(), this.readLong());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix MC-238526
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/WaterAnimal.java b/src/main/java/net/minecraft/world/entity/animal/WaterAnimal.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/WaterAnimal.java b/src/main/java/net/minecraft/world/entity/animal/WaterAnimal.java
|
||||||
index 18389f46902bb9879ac6d734723e9a720724dc48..a50dff923743c9f916747abbf5c7d8c729ac8efe 100644
|
index 35cfa366baf6747105faa93f1220bb9cc31a5bd5..55d2a130d056da10b79d5291ab5e4ad7a809972f 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/WaterAnimal.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/WaterAnimal.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/WaterAnimal.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/WaterAnimal.java
|
||||||
@@ -83,6 +83,6 @@ public abstract class WaterAnimal extends PathfinderMob {
|
@@ -82,6 +82,6 @@ public abstract class WaterAnimal extends PathfinderMob {
|
||||||
i = world.getMinecraftWorld().paperConfig().entities.spawning.wateranimalSpawnHeight.maximum.or(i);
|
i = world.getMinecraftWorld().paperConfig().entities.spawning.wateranimalSpawnHeight.maximum.or(i);
|
||||||
j = world.getMinecraftWorld().paperConfig().entities.spawning.wateranimalSpawnHeight.minimum.or(j);
|
j = world.getMinecraftWorld().paperConfig().entities.spawning.wateranimalSpawnHeight.minimum.or(j);
|
||||||
// Paper end
|
// Paper end
|
||||||
@@ -7,10 +7,10 @@ Original code by CaffeineMC, licensed under GNU Lesser General Public License v3
|
|||||||
You can find the original code on https://github.com/CaffeineMC/lithium-fabric (Yarn mappings)
|
You can find the original code on https://github.com/CaffeineMC/lithium-fabric (Yarn mappings)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java
|
diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java
|
||||||
index 40f0e57bed6866bff69231b9135987ca53125ba3..1e358cdabca103d65410b340db96a1ad6e479c59 100644
|
index a85e788ff5a55288df753a0e630b32270760f8de..ebb3808fbaaec82283db0839335b5efca28d4881 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/block/Block.java
|
--- a/src/main/java/net/minecraft/world/level/block/Block.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/block/Block.java
|
+++ b/src/main/java/net/minecraft/world/level/block/Block.java
|
||||||
@@ -608,11 +608,18 @@ public class Block extends BlockBehaviour implements ItemLike {
|
@@ -604,11 +604,18 @@ public class Block extends BlockBehaviour implements ItemLike {
|
||||||
private final BlockState first;
|
private final BlockState first;
|
||||||
private final BlockState second;
|
private final BlockState second;
|
||||||
private final Direction direction;
|
private final Direction direction;
|
||||||
@@ -29,7 +29,7 @@ index 40f0e57bed6866bff69231b9135987ca53125ba3..1e358cdabca103d65410b340db96a1ad
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean equals(Object object) {
|
public boolean equals(Object object) {
|
||||||
@@ -628,11 +635,7 @@ public class Block extends BlockBehaviour implements ItemLike {
|
@@ -624,11 +631,7 @@ public class Block extends BlockBehaviour implements ItemLike {
|
||||||
}
|
}
|
||||||
|
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
@@ -9,7 +9,7 @@ Original code by RelativityMC, licensed under MIT
|
|||||||
You can find the original code on https://github.com/RelativityMC/VMP-fabric (Yarn mappings)
|
You can find the original code on https://github.com/RelativityMC/VMP-fabric (Yarn mappings)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 3073b34a0e0281b6b0330721bb0440147de28511..f150d57ed1acc8423e86b1345ad3e1091c73ba95 100644
|
index 8a2429f915da389360dcb16609fef7701b4a863a..bc8cdffb58369a5c1796d3323ed1facbedf9c823 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/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 {
|
@@ -299,6 +299,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
@@ -20,7 +20,7 @@ index 3073b34a0e0281b6b0330721bb0440147de28511..f150d57ed1acc8423e86b1345ad3e109
|
|||||||
public boolean onGround;
|
public boolean onGround;
|
||||||
public boolean horizontalCollision;
|
public boolean horizontalCollision;
|
||||||
public boolean verticalCollision;
|
public boolean verticalCollision;
|
||||||
@@ -1034,6 +1035,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -1035,6 +1036,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
// Paper end - detailed watchdog information
|
// Paper end - detailed watchdog information
|
||||||
|
|
||||||
public void move(MoverType movementType, Vec3 movement) {
|
public void move(MoverType movementType, Vec3 movement) {
|
||||||
@@ -33,7 +33,7 @@ index 3073b34a0e0281b6b0330721bb0440147de28511..f150d57ed1acc8423e86b1345ad3e109
|
|||||||
// Paper start - detailed watchdog information
|
// Paper start - detailed watchdog information
|
||||||
io.papermc.paper.util.TickThread.ensureTickThread("Cannot move an entity off-main");
|
io.papermc.paper.util.TickThread.ensureTickThread("Cannot move an entity off-main");
|
||||||
synchronized (this.posLock) {
|
synchronized (this.posLock) {
|
||||||
@@ -3817,6 +3824,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -3862,6 +3869,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
}
|
}
|
||||||
|
|
||||||
public final void setBoundingBox(AABB boundingBox) {
|
public final void setBoundingBox(AABB boundingBox) {
|
||||||
@@ -9,10 +9,10 @@ Original license: GNU Lesser General Public License v3.0
|
|||||||
Original project: https://github.com/CaffeineMC/lithium-fabric (Yarn mappings)
|
Original project: https://github.com/CaffeineMC/lithium-fabric (Yarn mappings)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index f150d57ed1acc8423e86b1345ad3e1091c73ba95..49537da22dfc5f99edd64fbe351987ecb5ff4826 100644
|
index bc8cdffb58369a5c1796d3323ed1facbedf9c823..e273fed8e97c98bf5735d3a8c301968990d4cf32 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -2610,39 +2610,64 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -2623,39 +2623,64 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
return !this.isRemoved();
|
return !this.isRemoved();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -7,7 +7,7 @@ Original code by CaffeineMC, licensed under GNU Lesser General Public License v3
|
|||||||
You can find the original code on https://github.com/CaffeineMC/lithium-fabric (Yarn mappings)
|
You can find the original code on https://github.com/CaffeineMC/lithium-fabric (Yarn mappings)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/GameRules.java b/src/main/java/net/minecraft/world/level/GameRules.java
|
diff --git a/src/main/java/net/minecraft/world/level/GameRules.java b/src/main/java/net/minecraft/world/level/GameRules.java
|
||||||
index c15e4d95baacd30f9614dc5526dc8fc12ae5bd06..8577f80ccf84705b94d2cd1007a1a28ec3432d41 100644
|
index 29d1f78dbc8410f9292f409b17705acde55979df..81b9cbc717283021fc902337102fbb3af35db101 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/GameRules.java
|
--- a/src/main/java/net/minecraft/world/level/GameRules.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/GameRules.java
|
+++ b/src/main/java/net/minecraft/world/level/GameRules.java
|
||||||
@@ -27,6 +27,7 @@ import net.minecraft.network.protocol.game.ClientboundGameEventPacket;
|
@@ -27,6 +27,7 @@ import net.minecraft.network.protocol.game.ClientboundGameEventPacket;
|
||||||
@@ -18,7 +18,7 @@ index c15e4d95baacd30f9614dc5526dc8fc12ae5bd06..8577f80ccf84705b94d2cd1007a1a28e
|
|||||||
|
|
||||||
public class GameRules {
|
public class GameRules {
|
||||||
|
|
||||||
@@ -118,14 +119,16 @@ public class GameRules {
|
@@ -120,14 +121,16 @@ public class GameRules {
|
||||||
|
|
||||||
public GameRules() {
|
public GameRules() {
|
||||||
// Pufferfish start - use this to ensure gameruleArray is initialized
|
// Pufferfish start - use this to ensure gameruleArray is initialized
|
||||||
@@ -7,10 +7,10 @@ Original code by CaffeineMC, licensed under GNU Lesser General Public License v3
|
|||||||
You can find the original code on https://github.com/CaffeineMC/lithium-fabric (Yarn mappings)
|
You can find the original code on https://github.com/CaffeineMC/lithium-fabric (Yarn mappings)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/core/Direction.java b/src/main/java/net/minecraft/core/Direction.java
|
diff --git a/src/main/java/net/minecraft/core/Direction.java b/src/main/java/net/minecraft/core/Direction.java
|
||||||
index 61eadbc9bf353319d98df1135ded05dfe9bcc3f4..90297e355d2009ca134ff786925dd3c2ac3a08cc 100644
|
index 28ecd137dd37759e7890d71635289c3f6e994b87..c31da8e3709168d87ceb44826c9dee9fe7e117f0 100644
|
||||||
--- a/src/main/java/net/minecraft/core/Direction.java
|
--- a/src/main/java/net/minecraft/core/Direction.java
|
||||||
+++ b/src/main/java/net/minecraft/core/Direction.java
|
+++ b/src/main/java/net/minecraft/core/Direction.java
|
||||||
@@ -41,7 +41,7 @@ public enum Direction implements StringRepresentable {
|
@@ -42,7 +42,7 @@ public enum Direction implements StringRepresentable {
|
||||||
private final Direction.Axis axis;
|
private final Direction.Axis axis;
|
||||||
private final Direction.AxisDirection axisDirection;
|
private final Direction.AxisDirection axisDirection;
|
||||||
private final Vec3i normal;
|
private final Vec3i normal;
|
||||||
@@ -7,10 +7,10 @@ Original code by CaffeineMC, licensed under GNU Lesser General Public License v3
|
|||||||
You can find the original code on https://github.com/CaffeineMC/lithium-fabric (Yarn mappings)
|
You can find the original code on https://github.com/CaffeineMC/lithium-fabric (Yarn mappings)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
index 120c0804010fd5b38a5f806ca580962ff8b47339..577e6744eab8e01a1fab414e53c2263f1997def5 100644
|
index 791f672b30f2a4d3b329e2ce0f4fb9c2ca627b01..dcbeffd0b4ea7c245ac83fe7e097794fc24fe4e8 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
@@ -3478,6 +3478,8 @@ public abstract class LivingEntity extends Entity {
|
@@ -3440,6 +3440,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateFallFlying() {
|
private void updateFallFlying() {
|
||||||
@@ -7,10 +7,10 @@ Original code by CaffeineMC, licensed under GNU Lesser General Public License v3
|
|||||||
You can find the original code on https://github.com/CaffeineMC/lithium-fabric (Yarn mappings)
|
You can find the original code on https://github.com/CaffeineMC/lithium-fabric (Yarn mappings)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
index 577e6744eab8e01a1fab414e53c2263f1997def5..f24b8baf01c4e25c0ddff6f7726d1ac6d5345930 100644
|
index dcbeffd0b4ea7c245ac83fe7e097794fc24fe4e8..85f4b06cf4062fcc8199b66dd926dbe352584210 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
@@ -2519,6 +2519,8 @@ public abstract class LivingEntity extends Entity {
|
@@ -2459,6 +2459,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void updateSwingTime() {
|
protected void updateSwingTime() {
|
||||||
@@ -7,10 +7,10 @@ Original code by CaffeineMC, licensed under GNU Lesser General Public License v3
|
|||||||
You can find the original code on https://github.com/CaffeineMC/lithium-fabric (Yarn mappings)
|
You can find the original code on https://github.com/CaffeineMC/lithium-fabric (Yarn mappings)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
index f24b8baf01c4e25c0ddff6f7726d1ac6d5345930..857fb16dfb9593ea1ef1da7c4f80f0f7f5a729f7 100644
|
index 85f4b06cf4062fcc8199b66dd926dbe352584210..be8060a46399f5d9c09003c2144f4b46b659cef5 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
@@ -570,11 +570,11 @@ public abstract class LivingEntity extends Entity {
|
@@ -565,11 +565,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void tryAddFrost() {
|
protected void tryAddFrost() {
|
||||||
@@ -24,7 +24,7 @@ index f24b8baf01c4e25c0ddff6f7726d1ac6d5345930..857fb16dfb9593ea1ef1da7c4f80f0f7
|
|||||||
|
|
||||||
if (attributemodifiable == null) {
|
if (attributemodifiable == null) {
|
||||||
return;
|
return;
|
||||||
@@ -584,7 +584,7 @@ public abstract class LivingEntity extends Entity {
|
@@ -579,7 +579,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||||
|
|
||||||
attributemodifiable.addTransientModifier(new AttributeModifier(LivingEntity.SPEED_MODIFIER_POWDER_SNOW_UUID, "Powder snow slow", (double) f, AttributeModifier.Operation.ADDITION));
|
attributemodifiable.addTransientModifier(new AttributeModifier(LivingEntity.SPEED_MODIFIER_POWDER_SNOW_UUID, "Powder snow slow", (double) f, AttributeModifier.Operation.ADDITION));
|
||||||
}
|
}
|
||||||
@@ -309,7 +309,7 @@ index acae3eb30e0689048937f479dc3070f0688abdad..9c2b79655f2c63a208c7087d5d897db0
|
|||||||
int onResize(int newBits, T object);
|
int onResize(int newBits, T object);
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java b/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java
|
diff --git a/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java b/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java
|
||||||
index 3c7ef1e8e338a84eee34f39ce73e64876632ea87..ade64cbde3e9929557c3c7305af2568bc350938f 100644
|
index 7c770d131d39da6900fdd22df36707d5f43e8cd0..34e98db58044d87c8264c977e16dd17a36182501 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java
|
--- a/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java
|
+++ b/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java
|
||||||
@@ -22,8 +22,23 @@ import net.minecraft.util.Mth;
|
@@ -22,8 +22,23 @@ import net.minecraft.util.Mth;
|
||||||
@@ -336,7 +336,7 @@ index 3c7ef1e8e338a84eee34f39ce73e64876632ea87..ade64cbde3e9929557c3c7305af2568b
|
|||||||
private static final int MIN_PALETTE_BITS = 0;
|
private static final int MIN_PALETTE_BITS = 0;
|
||||||
private final PaletteResize<T> dummyPaletteResize = (newSize, added) -> {
|
private final PaletteResize<T> dummyPaletteResize = (newSize, added) -> {
|
||||||
return 0;
|
return 0;
|
||||||
@@ -299,30 +314,54 @@ public class PalettedContainer<T> implements PaletteResize<T>, PalettedContainer
|
@@ -303,30 +318,54 @@ public class PalettedContainer<T> implements PaletteResize<T>, PalettedContainer
|
||||||
public synchronized PalettedContainerRO.PackedData<T> pack(IdMap<T> idList, PalettedContainer.Strategy paletteProvider) { // Paper - synchronize
|
public synchronized PalettedContainerRO.PackedData<T> pack(IdMap<T> idList, PalettedContainer.Strategy paletteProvider) { // Paper - synchronize
|
||||||
this.acquire();
|
this.acquire();
|
||||||
|
|
||||||
@@ -408,7 +408,7 @@ index 3c7ef1e8e338a84eee34f39ce73e64876632ea87..ade64cbde3e9929557c3c7305af2568b
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static <T> void swapPalette(int[] is, IntUnaryOperator applier) {
|
private static <T> void swapPalette(int[] is, IntUnaryOperator applier) {
|
||||||
@@ -362,17 +401,37 @@ public class PalettedContainer<T> implements PaletteResize<T>, PalettedContainer
|
@@ -366,17 +405,37 @@ public class PalettedContainer<T> implements PaletteResize<T>, PalettedContainer
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void count(PalettedContainer.CountConsumer<T> counter) {
|
public void count(PalettedContainer.CountConsumer<T> counter) {
|
||||||
@@ -138,7 +138,7 @@ index 0000000000000000000000000000000000000000..493661ff3ac7247b68b7b02784b09b0e
|
|||||||
+}
|
+}
|
||||||
\ No newline at end of file
|
\ No newline at end of file
|
||||||
diff --git a/src/main/java/net/minecraft/core/BlockPos.java b/src/main/java/net/minecraft/core/BlockPos.java
|
diff --git a/src/main/java/net/minecraft/core/BlockPos.java b/src/main/java/net/minecraft/core/BlockPos.java
|
||||||
index b1d12c78edf21cc29a9f9ca54e7957ddc8875ffb..b52dc7290d40ed68d6ce3cfa6dd071ab98242b19 100644
|
index b37e0ff164a894d2033fb94bbbc2f630a0e66bcd..79eae7a38ecfdf438f13ec7573326585b3c5f466 100644
|
||||||
--- a/src/main/java/net/minecraft/core/BlockPos.java
|
--- a/src/main/java/net/minecraft/core/BlockPos.java
|
||||||
+++ b/src/main/java/net/minecraft/core/BlockPos.java
|
+++ b/src/main/java/net/minecraft/core/BlockPos.java
|
||||||
@@ -18,6 +18,12 @@ import net.minecraft.world.phys.AABB;
|
@@ -18,6 +18,12 @@ import net.minecraft.world.phys.AABB;
|
||||||
@@ -154,7 +154,7 @@ index b1d12c78edf21cc29a9f9ca54e7957ddc8875ffb..b52dc7290d40ed68d6ce3cfa6dd071ab
|
|||||||
|
|
||||||
@Immutable
|
@Immutable
|
||||||
public class BlockPos extends Vec3i {
|
public class BlockPos extends Vec3i {
|
||||||
@@ -288,7 +294,18 @@ public class BlockPos extends Vec3i {
|
@@ -279,7 +285,18 @@ public class BlockPos extends Vec3i {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9,10 +9,10 @@ Original code by RelativityMC, licensed under MIT
|
|||||||
You can find the original code on https://github.com/RelativityMC/VMP-fabric (Yarn mappings)
|
You can find the original code on https://github.com/RelativityMC/VMP-fabric (Yarn mappings)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
index 3d78c10a5442bfa5d4beae2546378b3822f0465d..d87f255670b9969040b26c9ba5571ceb2799756f 100644
|
index 364d899f4fba65f0ecae522c7dde4f1ef8ee632e..6ae3f09f01e7ad72d46aeb950cca83b0d2a8d88b 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
@@ -114,6 +114,7 @@ import org.bukkit.entity.Player;
|
@@ -117,6 +117,7 @@ import org.bukkit.entity.Player;
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
|
|
||||||
import it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet; // Paper
|
import it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet; // Paper
|
||||||
@@ -20,7 +20,7 @@ index 3d78c10a5442bfa5d4beae2546378b3822f0465d..d87f255670b9969040b26c9ba5571ceb
|
|||||||
|
|
||||||
public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider {
|
public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider {
|
||||||
|
|
||||||
@@ -295,7 +296,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
@@ -298,7 +299,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||||
// Paper - rewrite chunk system
|
// Paper - rewrite chunk system
|
||||||
this.tickingGenerated = new AtomicInteger();
|
this.tickingGenerated = new AtomicInteger();
|
||||||
this.playerMap = new PlayerMap();
|
this.playerMap = new PlayerMap();
|
||||||
@@ -43,7 +43,7 @@ index 01bdf134fc21220ab7ecca51f2dcd51c0b466bba..83373befc7357094a13c74bf87ac1480
|
|||||||
public boolean useDimensionTypeForCustomSpawners = false;
|
public boolean useDimensionTypeForCustomSpawners = false;
|
||||||
public boolean strictAdvancementDimensionCheck = false;
|
public boolean strictAdvancementDimensionCheck = false;
|
||||||
diff --git a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
|
diff --git a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
|
||||||
index 4532f3a0d74feae0a1249b53e1bfbc18a8808b32..dc7a555c8e2ccdf1b0451759efc33e915a416abe 100644
|
index 51cf0014c4229fc8671804d885b6381996810130..b4a3207ddb31d44e95732f2f01fbaceadfbf01b2 100644
|
||||||
--- a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
|
--- a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
|
||||||
+++ b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
|
+++ b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
|
||||||
@@ -115,9 +115,9 @@ public class WorldConfiguration extends ConfigurationPart {
|
@@ -115,9 +115,9 @@ public class WorldConfiguration extends ConfigurationPart {
|
||||||
208
patches/server/0047-Dynamic-minecart-speed.patch
Normal file
208
patches/server/0047-Dynamic-minecart-speed.patch
Normal file
@@ -0,0 +1,208 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: SoSeDiK <mrsosedik@gmail.com>
|
||||||
|
Date: Fri, 2 Dec 2022 21:44:23 +0200
|
||||||
|
Subject: [PATCH] Dynamic minecart speed
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
|
||||||
|
index 9a80cf593bbdd7681bc9395daf4545a98e07636f..012d4ad1651d7a9118b24e0589d8bdf28ed0b708 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
|
||||||
|
@@ -573,7 +573,108 @@ public abstract class AbstractMinecart extends Entity {
|
||||||
|
d5 = -d5;
|
||||||
|
}
|
||||||
|
|
||||||
|
- double d8 = Math.min(2.0D, vec3d1.horizontalDistance());
|
||||||
|
+ // Kiterino start - dynamic minecart speed
|
||||||
|
+ double vanillaMaxHorizontalMovementPerTick = 0.4D;
|
||||||
|
+ double horizontalMomentumPerTick = vec3d1.horizontalDistance();
|
||||||
|
+
|
||||||
|
+ java.util.function.DoubleSupplier calculateMaxHorizontalMovementPerTick = () -> {
|
||||||
|
+ final double fallbackSpeedFactor = 1.15D;
|
||||||
|
+ double fallback = this.getMaxSpeed();
|
||||||
|
+
|
||||||
|
+ if (this.getPassengers().isEmpty())
|
||||||
|
+ return fallback;
|
||||||
|
+
|
||||||
|
+ if (horizontalMomentumPerTick < vanillaMaxHorizontalMovementPerTick)
|
||||||
|
+ return fallback;
|
||||||
|
+
|
||||||
|
+ fallback *= fallbackSpeedFactor;
|
||||||
|
+
|
||||||
|
+ boolean hasEligibleShape = blockpropertytrackposition == RailShape.NORTH_SOUTH || blockpropertytrackposition == RailShape.EAST_WEST;
|
||||||
|
+ if (!hasEligibleShape)
|
||||||
|
+ return fallback;
|
||||||
|
+
|
||||||
|
+ boolean hasEligibleType = state.is(Blocks.RAIL) || (state.is(Blocks.POWERED_RAIL) && state.getValue(PoweredRailBlock.POWERED));
|
||||||
|
+ if (!hasEligibleType)
|
||||||
|
+ return fallback;
|
||||||
|
+
|
||||||
|
+ var eligibleNeighbors = new java.util.concurrent.atomic.AtomicInteger();
|
||||||
|
+
|
||||||
|
+ java.util.HashSet<BlockPos> checkedPositions = new java.util.HashSet<>();
|
||||||
|
+ checkedPositions.add(pos);
|
||||||
|
+
|
||||||
|
+ java.util.function.BiFunction<BlockPos, RailShape, java.util.ArrayList<Pair<BlockPos, RailShape>>> checkNeighbors = (cPos, cRailShape) -> {
|
||||||
|
+ Pair<Vec3i, Vec3i> cAdjPosDiff = AbstractMinecart.exits(cRailShape);
|
||||||
|
+ java.util.ArrayList<Pair<BlockPos, RailShape>> newNeighbors = new java.util.ArrayList<>();
|
||||||
|
+
|
||||||
|
+ BlockPos n1Pos = cPos.offset(cAdjPosDiff.getFirst());
|
||||||
|
+
|
||||||
|
+ if (!checkedPositions.contains(n1Pos)) {
|
||||||
|
+ BlockState n1State = this.level.getBlockState(n1Pos);
|
||||||
|
+ boolean n1HasEligibleType = n1State.is(Blocks.RAIL) || (n1State.is(Blocks.POWERED_RAIL) && n1State.getValue(PoweredRailBlock.POWERED));
|
||||||
|
+ if (!n1HasEligibleType)
|
||||||
|
+ return new java.util.ArrayList<>();
|
||||||
|
+
|
||||||
|
+ RailShape n1RailShape = n1State.getValue(((BaseRailBlock) n1State.getBlock()).getShapeProperty());
|
||||||
|
+ if (n1RailShape != blockpropertytrackposition)
|
||||||
|
+ return new java.util.ArrayList<>();
|
||||||
|
+
|
||||||
|
+ checkedPositions.add(n1Pos);
|
||||||
|
+ eligibleNeighbors.incrementAndGet();
|
||||||
|
+ newNeighbors.add(Pair.of(n1Pos, n1RailShape));
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ BlockPos n2Pos = cPos.offset(cAdjPosDiff.getSecond());
|
||||||
|
+ if (!checkedPositions.contains(n2Pos)) {
|
||||||
|
+ BlockState n2State = this.level.getBlockState(n2Pos);
|
||||||
|
+ boolean n2HasEligibleType = n2State.is(Blocks.RAIL) || (n2State.is(Blocks.POWERED_RAIL) && n2State.getValue(PoweredRailBlock.POWERED));
|
||||||
|
+ if (!n2HasEligibleType)
|
||||||
|
+ return new java.util.ArrayList<>();
|
||||||
|
+
|
||||||
|
+ RailShape n2RailShape = n2State.getValue(((BaseRailBlock) n2State.getBlock()).getShapeProperty());
|
||||||
|
+
|
||||||
|
+ if (n2RailShape != blockpropertytrackposition)
|
||||||
|
+ return new java.util.ArrayList<>();
|
||||||
|
+
|
||||||
|
+ checkedPositions.add(n2Pos);
|
||||||
|
+ eligibleNeighbors.incrementAndGet();
|
||||||
|
+ newNeighbors.add(Pair.of(n2Pos, n2RailShape));
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ return newNeighbors;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+ java.util.ArrayList<Pair<BlockPos, RailShape>> newNeighbors = checkNeighbors.apply(pos, blockpropertytrackposition);
|
||||||
|
+
|
||||||
|
+ while (!newNeighbors.isEmpty() && eligibleNeighbors.get() < 16) {
|
||||||
|
+ java.util.ArrayList<Pair<BlockPos, RailShape>> tempNewNeighbors = new java.util.ArrayList<>(newNeighbors);
|
||||||
|
+ newNeighbors.clear();
|
||||||
|
+
|
||||||
|
+ for (Pair<BlockPos, RailShape> newNeighbor : tempNewNeighbors) {
|
||||||
|
+ java.util.ArrayList<Pair<BlockPos, RailShape>> result = checkNeighbors.apply(newNeighbor.getFirst(), newNeighbor.getSecond());
|
||||||
|
+
|
||||||
|
+ if (result.isEmpty()) {
|
||||||
|
+ newNeighbors.clear();
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ newNeighbors.addAll(result);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ int eligibleForwardRailTrackCount = eligibleNeighbors.get() / 2;
|
||||||
|
+
|
||||||
|
+ if (eligibleForwardRailTrackCount <= 1)
|
||||||
|
+ return fallback;
|
||||||
|
+
|
||||||
|
+ return (2.01D + eligibleForwardRailTrackCount * 4D) / 20D;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ double maxHorizontalMovementPerTick = calculateMaxHorizontalMovementPerTick.getAsDouble();
|
||||||
|
+ double maxHorizontalMomentumPerTick = Math.max(maxHorizontalMovementPerTick * 5D, 4.2D);
|
||||||
|
+ // Kiterino end
|
||||||
|
+
|
||||||
|
+ double d8 = Math.min(maxHorizontalMomentumPerTick, vec3d1.horizontalDistance()); // Kiterino - dynamic minecart speed, unhardcode 2.0D
|
||||||
|
|
||||||
|
vec3d1 = new Vec3(d8 * d4 / d6, vec3d1.y, d8 * d5 / d6);
|
||||||
|
this.setDeltaMovement(vec3d1);
|
||||||
|
@@ -596,8 +697,15 @@ public abstract class AbstractMinecart extends Entity {
|
||||||
|
d11 = this.getDeltaMovement().horizontalDistance();
|
||||||
|
if (d11 < 0.03D) {
|
||||||
|
this.setDeltaMovement(Vec3.ZERO);
|
||||||
|
- } else {
|
||||||
|
- this.setDeltaMovement(this.getDeltaMovement().multiply(0.5D, 0.0D, 0.5D));
|
||||||
|
+ }
|
||||||
|
+ else {
|
||||||
|
+ // Kiterino start - dynamic minecart speed
|
||||||
|
+ double brakeFactor = 0.5D;
|
||||||
|
+ if (horizontalMomentumPerTick > 4D * vanillaMaxHorizontalMovementPerTick) {
|
||||||
|
+ brakeFactor = Math.pow(brakeFactor, 1D + ((horizontalMomentumPerTick - 3.99D * vanillaMaxHorizontalMovementPerTick) / 1.2D));
|
||||||
|
+ }
|
||||||
|
+ // Kiterino end
|
||||||
|
+ this.setDeltaMovement(this.getDeltaMovement().multiply(brakeFactor, 0.0D, brakeFactor)); // Kiterino - dynamic minecart speed, unhardcode 0.5D
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -626,9 +734,10 @@ public abstract class AbstractMinecart extends Entity {
|
||||||
|
d2 = d12 + d5 * d15;
|
||||||
|
this.setPos(d0, d1, d2);
|
||||||
|
d16 = this.isVehicle() ? 0.75D : 1.0D;
|
||||||
|
- d17 = this.getMaxSpeed();
|
||||||
|
+ d17 = maxHorizontalMomentumPerTick;
|
||||||
|
vec3d1 = this.getDeltaMovement();
|
||||||
|
- this.move(MoverType.SELF, new Vec3(Mth.clamp(d16 * vec3d1.x, -d17, d17), 0.0D, Mth.clamp(d16 * vec3d1.z, -d17, d17)));
|
||||||
|
+ var movement = new Vec3(Mth.clamp(d16 * vec3d1.x, -d17, d17), 0D, Mth.clamp(d16 * vec3d1.z, -d17, d17));
|
||||||
|
+ this.move(MoverType.SELF, movement); // Kiterino - dynamic minecart speed, expose into the variable
|
||||||
|
if (baseblockposition.getY() != 0 && Mth.floor(this.getX()) - pos.getX() == baseblockposition.getX() && Mth.floor(this.getZ()) - pos.getZ() == baseblockposition.getZ()) {
|
||||||
|
this.setPos(this.getX(), this.getY() + (double) baseblockposition.getY(), this.getZ());
|
||||||
|
} else if (baseblockposition1.getY() != 0 && Mth.floor(this.getX()) - pos.getX() == baseblockposition1.getX() && Mth.floor(this.getZ()) - pos.getZ() == baseblockposition1.getZ()) {
|
||||||
|
@@ -658,26 +767,52 @@ public abstract class AbstractMinecart extends Entity {
|
||||||
|
if (i != pos.getX() || j != pos.getZ()) {
|
||||||
|
vec3d4 = this.getDeltaMovement();
|
||||||
|
d18 = vec3d4.horizontalDistance();
|
||||||
|
- this.setDeltaMovement(d18 * (double) (i - pos.getX()), vec3d4.y, d18 * (double) (j - pos.getZ()));
|
||||||
|
+ this.setDeltaMovement(d18 * Mth.clamp((double) i - pos.getX(), -1D, 1D), vec3d4.y, d18 * Mth.clamp((double) j - pos.getZ(), -1D, 1D)); // Kiterino - dynamic minecart speed, clamp values
|
||||||
|
}
|
||||||
|
|
||||||
|
if (flag) {
|
||||||
|
vec3d4 = this.getDeltaMovement();
|
||||||
|
d18 = vec3d4.horizontalDistance();
|
||||||
|
+ final double basisAccelerationPerTick = 0.021D; // Kiterino - dynamic minecart speed
|
||||||
|
if (d18 > 0.01D) {
|
||||||
|
+ // Kiterino start - dynamic minecart speed
|
||||||
|
+ if (!getPassengers().isEmpty()) {
|
||||||
|
+ // Based on 10 ticks per second basis spent per powered block we calculate a fair acceleration per tick
|
||||||
|
+ // due to spending less ticks per powered block on higher speeds (and even skipping blocks)
|
||||||
|
+ final double basisTicksPerSecond = 10D;
|
||||||
|
+ // Tps = Ticks per second
|
||||||
|
+ final double tickMovementForBasisTps = 1D / basisTicksPerSecond;
|
||||||
|
+ final double maxSkippedBlocksToConsider = 3D;
|
||||||
|
+
|
||||||
|
+ double acceleration = basisAccelerationPerTick;
|
||||||
|
+ final double distanceMovedHorizontally = movement.horizontalDistance();
|
||||||
|
+
|
||||||
|
+ if (distanceMovedHorizontally > tickMovementForBasisTps) {
|
||||||
|
+ acceleration *= Math.min((1D + maxSkippedBlocksToConsider) * basisTicksPerSecond, distanceMovedHorizontally / tickMovementForBasisTps);
|
||||||
|
+
|
||||||
|
+ // Add progressively slower (or faster) acceleration for higher speeds;
|
||||||
|
+ double highspeedFactor = 1D + Mth.clamp(-0.45D * (distanceMovedHorizontally / tickMovementForBasisTps / basisTicksPerSecond), -0.7D, 2D);
|
||||||
|
+ acceleration *= highspeedFactor;
|
||||||
|
+ }
|
||||||
|
+ this.setDeltaMovement(vec3d4.add(acceleration * (vec3d4.x / d18), 0D, acceleration * (vec3d4.z / d18)));
|
||||||
|
+ } else {
|
||||||
|
+ this.setDeltaMovement(vec3d4.add(vec3d4.x / d18 * 0.06D, 0D, vec3d4.z / d18 * 0.06D));
|
||||||
|
+ }
|
||||||
|
+ // Kiterino end
|
||||||
|
double d20 = 0.06D;
|
||||||
|
|
||||||
|
- this.setDeltaMovement(vec3d4.add(vec3d4.x / d18 * 0.06D, 0.0D, vec3d4.z / d18 * 0.06D));
|
||||||
|
+ // this.setDeltaMovement(vec3d4.add(vec3d4.x / d18 * 0.06D, 0.0D, vec3d4.z / d18 * 0.06D)); // Kiterino - dynamic minecart speed
|
||||||
|
} else {
|
||||||
|
Vec3 vec3d5 = this.getDeltaMovement();
|
||||||
|
double d21 = vec3d5.x;
|
||||||
|
double d22 = vec3d5.z;
|
||||||
|
+ final double railStopperAcceleration = basisAccelerationPerTick * 16D; // Kiterino
|
||||||
|
|
||||||
|
if (blockpropertytrackposition == RailShape.EAST_WEST) {
|
||||||
|
if (this.isRedstoneConductor(pos.west())) {
|
||||||
|
- d21 = 0.02D;
|
||||||
|
+ d21 = railStopperAcceleration; // Kiterino - dynamic minecart speed, unhardcode 0.02D
|
||||||
|
} else if (this.isRedstoneConductor(pos.east())) {
|
||||||
|
- d21 = -0.02D;
|
||||||
|
+ d21 = -railStopperAcceleration; // Kiterino - dynamic minecart speed, unhardcode -0.02D
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (blockpropertytrackposition != RailShape.NORTH_SOUTH) {
|
||||||
21
patches/server/0048-Increase-manual-minecart-speed.patch
Normal file
21
patches/server/0048-Increase-manual-minecart-speed.patch
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: SoSeDiK <mrsosedik@gmail.com>
|
||||||
|
Date: Fri, 2 Dec 2022 23:05:04 +0200
|
||||||
|
Subject: [PATCH] Increase manual minecart speed
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
|
||||||
|
index 012d4ad1651d7a9118b24e0589d8bdf28ed0b708..522a04150da9473812f1ae3406664c2ea392d2ba 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
|
||||||
|
@@ -685,8 +685,8 @@ public abstract class AbstractMinecart extends Entity {
|
||||||
|
double d9 = vec3d2.horizontalDistanceSqr();
|
||||||
|
double d10 = this.getDeltaMovement().horizontalDistanceSqr();
|
||||||
|
|
||||||
|
- if (d9 > 1.0E-4D && d10 < 0.01D) {
|
||||||
|
- this.setDeltaMovement(this.getDeltaMovement().add(vec3d2.x * 0.1D, 0.0D, vec3d2.z * 0.1D));
|
||||||
|
+ if (d9 > 1.0E-4D && d10 < 0.04D) { // Kiterino - increase max manual speed
|
||||||
|
+ this.setDeltaMovement(this.getDeltaMovement().add(vec3d2.x * 0.12D, 0.0D, vec3d2.z * 0.12D)); // Kiterino - slightly increase speed buildup
|
||||||
|
flag1 = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: SoSeDiK <mrsosedik@gmail.com>
|
||||||
|
Date: Sun, 4 Dec 2022 21:57:07 +0200
|
||||||
|
Subject: [PATCH] Allow placing rails on more surfaces
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/level/block/BaseRailBlock.java b/src/main/java/net/minecraft/world/level/block/BaseRailBlock.java
|
||||||
|
index a3f877bf03f75cbfbd128c856322bcd427b95d21..96860dc68c7e7c59c27465a74b833e189db9d85b 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/level/block/BaseRailBlock.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/level/block/BaseRailBlock.java
|
||||||
|
@@ -51,7 +51,7 @@ public abstract class BaseRailBlock extends Block implements SimpleWaterloggedBl
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canSurvive(BlockState state, LevelReader world, BlockPos pos) {
|
||||||
|
- return canSupportRigidBlock(world, pos.below());
|
||||||
|
+ return canSupportCenter(world, pos.below(), Direction.UP); // Kiterino
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@@ -86,6 +86,7 @@ public abstract class BaseRailBlock extends Block implements SimpleWaterloggedBl
|
||||||
|
}
|
||||||
|
|
||||||
|
private static boolean shouldBeRemoved(BlockPos pos, Level world, RailShape shape) {
|
||||||
|
+ if (canSupportCenter(world, pos.below(), Direction.UP)) return false; // Kiterino
|
||||||
|
if (!canSupportRigidBlock(world, pos.below())) {
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
@@ -0,0 +1,160 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Justin <justin@justinf.dev>
|
||||||
|
Date: Wed, 24 Aug 2022 05:17:20 -0700
|
||||||
|
Subject: [PATCH] Paper PR - Add Entity hidden by default flag
|
||||||
|
|
||||||
|
Adds a boolean to the server Entity controlling if the entity should be hidden by default.
|
||||||
|
The TrackedEntity maintains a set of all players that will be able to see the entity even
|
||||||
|
when it is hidden by default. This set is modified when Player#showEntity and Player#hideEntity
|
||||||
|
are invoked. Changes are made to the way that TrackedEntity updates players when the entity is
|
||||||
|
hidden by default - if a player is not present in the above set, the update is abandoned.
|
||||||
|
|
||||||
|
This functionality is expanded when a Player is hidden by default. The player will send out
|
||||||
|
PlayerInfo packets to hide themselves from other Players when hiddenByDefault. There remains a
|
||||||
|
discrepancy when trying to getHiddenPlayers - players that are hidden by default are currently
|
||||||
|
not returned from this method, only those hidden with hideEntity or hidePlayer.
|
||||||
|
|
||||||
|
Hiding entities by default also respects precedent of keeping entities hidden when other plugins
|
||||||
|
explicitly hide them from a player. If an entity is hidden by default and by a plugin, the entity
|
||||||
|
must have the plugin that hid them from a player show them in order to be shown to a player again.
|
||||||
|
If no plugin had previously hidden the entity before the entity was hidden by default, then any
|
||||||
|
plugin that attempts to show the entity to a player will succeed in doing so.
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
|
index 6ae3f09f01e7ad72d46aeb950cca83b0d2a8d88b..07985de694f76e55f8eef2ac7dca6e404980519d 100644
|
||||||
|
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
|
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
|
@@ -1515,6 +1515,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||||
|
private final int range;
|
||||||
|
SectionPos lastSectionPos;
|
||||||
|
public final Set<ServerPlayerConnection> seenBy = new ReferenceOpenHashSet<>(); // Paper - optimise map impl
|
||||||
|
+ public final Set<ServerPlayerConnection> showToEvenWhenHiddenByDefault = new ReferenceOpenHashSet<>(); // Paper - Entity hiddenByDefault
|
||||||
|
|
||||||
|
public TrackedEntity(Entity entity, int i, int j, boolean flag) {
|
||||||
|
this.serverEntity = new ServerEntity(ChunkMap.this.level, entity, j, flag, this::broadcast, this.seenBy); // CraftBukkit
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
|
index e273fed8e97c98bf5735d3a8c301968990d4cf32..21d980628bcaf80ed8809122766b626713974ed4 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
|
@@ -400,6 +400,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
|
private UUID originWorld;
|
||||||
|
public boolean freezeLocked = false; // Paper - Freeze Tick Lock API
|
||||||
|
public boolean collidingWithWorldBorder; // Paper
|
||||||
|
+ public boolean hiddenByDefault; // Paper
|
||||||
|
|
||||||
|
public void setOrigin(@javax.annotation.Nonnull Location location) {
|
||||||
|
this.origin = location.toVector();
|
||||||
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||||
|
index 57a0dbb23a32123d30c3b3572f4d129be9d97847..6286431870438767e779f37aef1e6d9dd9fbec65 100644
|
||||||
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||||
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||||
|
@@ -1442,4 +1442,30 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||||
|
return !this.getHandle().level.noCollision(this.getHandle(), aabb);
|
||||||
|
}
|
||||||
|
// Paper End - Collision API
|
||||||
|
+
|
||||||
|
+ // Paper start - Entity hiddenByDefault
|
||||||
|
+ @Override
|
||||||
|
+ public void setHiddenByDefault(boolean hiddenByDefault) {
|
||||||
|
+ this.getHandle().hiddenByDefault = hiddenByDefault;
|
||||||
|
+
|
||||||
|
+ // We need to update the players again
|
||||||
|
+ ChunkMap.TrackedEntity entityTracker = this.getHandle().tracker;
|
||||||
|
+
|
||||||
|
+ // Tracker was not initialized yet
|
||||||
|
+ if (entityTracker == null) {
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ // If the entity is already hiddenByDefault, we reset our "show to" set to again hide the entity from all players that may be seeing the entity
|
||||||
|
+ // We also clear the "show to" set when we stop hiding by default
|
||||||
|
+ entityTracker.showToEvenWhenHiddenByDefault.clear();
|
||||||
|
+
|
||||||
|
+ entityTracker.updatePlayers(this.server.getHandle().getPlayers());
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public boolean isHiddenByDefault() {
|
||||||
|
+ return this.getHandle().hiddenByDefault;
|
||||||
|
+ }
|
||||||
|
+ // Paper end
|
||||||
|
}
|
||||||
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
|
index 1bada55af5d16437da4d16f9ded55f88a6121eb4..0fbc2971cdf15799c1f0beb1b3670894c41db9c8 100644
|
||||||
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
|
@@ -1814,6 +1814,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||||
|
ChunkMap tracker = ((ServerLevel) this.getHandle().level).getChunkSource().chunkMap;
|
||||||
|
ChunkMap.TrackedEntity entry = tracker.entityMap.get(other.getId());
|
||||||
|
if (entry != null) {
|
||||||
|
+ entry.showToEvenWhenHiddenByDefault.remove(this.getHandle().connection); // Paper - Entity hiddenByDefault
|
||||||
|
entry.removePlayer(this.getHandle());
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -1892,9 +1893,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||||
|
}
|
||||||
|
|
||||||
|
ChunkMap.TrackedEntity entry = tracker.entityMap.get(other.getId());
|
||||||
|
- if (entry != null && !entry.seenBy.contains(this.getHandle().connection)) {
|
||||||
|
- entry.updatePlayer(this.getHandle());
|
||||||
|
+ // Paper start - Entity hiddenByDefault
|
||||||
|
+ if (entry != null) {
|
||||||
|
+ entry.showToEvenWhenHiddenByDefault.add(this.getHandle().connection);
|
||||||
|
+
|
||||||
|
+ if (!entry.seenBy.contains(this.getHandle().connection)) {
|
||||||
|
+ entry.updatePlayer(this.getHandle());
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
+ // Paper end
|
||||||
|
server.getPluginManager().callEvent(new PlayerShowEntityEvent(this, entity)); // Paper
|
||||||
|
}
|
||||||
|
// Paper start
|
||||||
|
@@ -1970,7 +1977,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canSee(org.bukkit.entity.Entity entity) {
|
||||||
|
- return entity.isVisibleByDefault() ^ this.invertedVisibilityEntities.containsKey(entity.getUniqueId());
|
||||||
|
+ // Paper start - Entity hiddenByDefault
|
||||||
|
+ boolean shownWhenHiddenByDefault = true;
|
||||||
|
+
|
||||||
|
+ if (entity.isHiddenByDefault()) {
|
||||||
|
+ ChunkMap.TrackedEntity tracker = ((CraftEntity) entity).getHandle().tracker;
|
||||||
|
+ shownWhenHiddenByDefault = tracker == null || tracker.showToEvenWhenHiddenByDefault.contains(this.getHandle().connection);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ return shownWhenHiddenByDefault && (entity.isVisibleByDefault() ^ this.invertedVisibilityEntities.containsKey(entity.getUniqueId()));
|
||||||
|
+ // Paper end
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean canSee(UUID uuid) {
|
||||||
|
@@ -3143,6 +3159,30 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||||
|
}
|
||||||
|
// Paper end
|
||||||
|
|
||||||
|
+ // Paper start - Entity hiddenByDefault
|
||||||
|
+ @Override
|
||||||
|
+ public void setHiddenByDefault(boolean hiddenByDefault) {
|
||||||
|
+ // Update server lists
|
||||||
|
+ if (hiddenByDefault) {
|
||||||
|
+ for (CraftPlayer player : this.server.getOnlinePlayers()) {
|
||||||
|
+ if (player == this || !player.canSee(this)) continue;
|
||||||
|
+
|
||||||
|
+ player.getHandle().connection.send(new ClientboundPlayerInfoRemovePacket(List.of(this.getHandle().getUUID())));
|
||||||
|
+ }
|
||||||
|
+ } else {
|
||||||
|
+ for (CraftPlayer player : this.server.getOnlinePlayers()) {
|
||||||
|
+ if (player == this || player.canSee(this)) continue;
|
||||||
|
+
|
||||||
|
+ player.getHandle().connection.send(new ClientboundPlayerInfoUpdatePacket(ClientboundPlayerInfoUpdatePacket.Action.ADD_PLAYER, this.getHandle()));
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ // Now, process trackers
|
||||||
|
+ super.setHiddenByDefault(hiddenByDefault);
|
||||||
|
+ }
|
||||||
|
+ // Paper end
|
||||||
|
+
|
||||||
|
+
|
||||||
|
public Player.Spigot spigot()
|
||||||
|
{
|
||||||
|
return this.spigot;
|
||||||
Reference in New Issue
Block a user