mirror of
https://github.com/Samsuik/Sakura.git
synced 2025-12-21 15:59:26 +00:00
Add final to sakura classes and methods
This commit is contained in:
@@ -6,7 +6,7 @@ Subject: [PATCH] Sakura Utils
|
||||
|
||||
diff --git a/src/main/java/me/samsuik/sakura/utils/collections/OrderedComparatorList.java b/src/main/java/me/samsuik/sakura/utils/collections/OrderedComparatorList.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..ff4909a2ba8f451a7c6aa55ee98e33c88dd69e5e
|
||||
index 0000000000000000000000000000000000000000..239fc8823b32ae5c8f6e3bfd6ecdde0ccd1e5a8b
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/me/samsuik/sakura/utils/collections/OrderedComparatorList.java
|
||||
@@ -0,0 +1,51 @@
|
||||
@@ -17,7 +17,7 @@ index 0000000000000000000000000000000000000000..ff4909a2ba8f451a7c6aa55ee98e33c8
|
||||
+import java.util.Arrays;
|
||||
+import java.util.Comparator;
|
||||
+
|
||||
+public class OrderedComparatorList<T> extends ObjectArrayList<T> {
|
||||
+public final class OrderedComparatorList<T> extends ObjectArrayList<T> {
|
||||
+
|
||||
+ private final Comparator<T> comparator;
|
||||
+ private boolean binarySearch = true;
|
||||
@@ -63,7 +63,7 @@ index 0000000000000000000000000000000000000000..ff4909a2ba8f451a7c6aa55ee98e33c8
|
||||
+}
|
||||
diff --git a/src/main/java/me/samsuik/sakura/utils/collections/TrackedEntityChunkMap.java b/src/main/java/me/samsuik/sakura/utils/collections/TrackedEntityChunkMap.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..e31998ac50b8bda8687d07b0022c0e039fa2e774
|
||||
index 0000000000000000000000000000000000000000..267db86c5d12a804d2f9c868df996a3391910cbd
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/me/samsuik/sakura/utils/collections/TrackedEntityChunkMap.java
|
||||
@@ -0,0 +1,34 @@
|
||||
@@ -74,7 +74,7 @@ index 0000000000000000000000000000000000000000..e31998ac50b8bda8687d07b0022c0e03
|
||||
+import it.unimi.dsi.fastutil.objects.ObjectCollection;
|
||||
+import net.minecraft.server.level.ChunkMap;
|
||||
+
|
||||
+public class TrackedEntityChunkMap extends Int2ObjectOpenHashMap<ChunkMap.TrackedEntity> {
|
||||
+public final class TrackedEntityChunkMap extends Int2ObjectOpenHashMap<ChunkMap.TrackedEntity> {
|
||||
+
|
||||
+ private final ObjectArrayList<ChunkMap.TrackedEntity> entityList = new UnorderedIndexedList<>();
|
||||
+
|
||||
@@ -103,7 +103,7 @@ index 0000000000000000000000000000000000000000..e31998ac50b8bda8687d07b0022c0e03
|
||||
+}
|
||||
diff --git a/src/main/java/me/samsuik/sakura/utils/collections/UnorderedIndexedList.java b/src/main/java/me/samsuik/sakura/utils/collections/UnorderedIndexedList.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..be4f5b4999c85fc6765e37cc9af0a87292327dbf
|
||||
index 0000000000000000000000000000000000000000..4ca3bf6d6c7aec3a1b31e6ef4f863fa5c34888bd
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/me/samsuik/sakura/utils/collections/UnorderedIndexedList.java
|
||||
@@ -0,0 +1,65 @@
|
||||
@@ -112,7 +112,7 @@ index 0000000000000000000000000000000000000000..be4f5b4999c85fc6765e37cc9af0a872
|
||||
+import it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap;
|
||||
+import it.unimi.dsi.fastutil.objects.ObjectArrayList;
|
||||
+
|
||||
+public class UnorderedIndexedList<T> extends ObjectArrayList<T> {
|
||||
+public final class UnorderedIndexedList<T> extends ObjectArrayList<T> {
|
||||
+
|
||||
+ private final Int2IntOpenHashMap elementToIndex = new Int2IntOpenHashMap();
|
||||
+
|
||||
@@ -174,13 +174,13 @@ index 0000000000000000000000000000000000000000..be4f5b4999c85fc6765e37cc9af0a872
|
||||
+}
|
||||
diff --git a/src/main/java/me/samsuik/sakura/utils/objects/Expiry.java b/src/main/java/me/samsuik/sakura/utils/objects/Expiry.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..a05e7d03f17f675e190d63a4206129a74f42cadc
|
||||
index 0000000000000000000000000000000000000000..93a5655d9dc355d0596c86ea7b592d14ff941476
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/me/samsuik/sakura/utils/objects/Expiry.java
|
||||
@@ -0,0 +1,21 @@
|
||||
+package me.samsuik.sakura.utils.objects;
|
||||
+
|
||||
+public class Expiry {
|
||||
+public final class Expiry {
|
||||
+
|
||||
+ private long expireAt;
|
||||
+ private final int inc;
|
||||
|
||||
@@ -136,7 +136,7 @@ index 0000000000000000000000000000000000000000..9b5af05f7a4593eb44f36fff90d94e98
|
||||
+}
|
||||
diff --git a/src/main/java/me/samsuik/sakura/command/SakuraCommand.java b/src/main/java/me/samsuik/sakura/command/SakuraCommand.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..f4e75ba8f2c53a82cb40868f0e1ab77ffcc19e3e
|
||||
index 0000000000000000000000000000000000000000..2b145614bf189ae56622016436bfefd63f5271eb
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/me/samsuik/sakura/command/SakuraCommand.java
|
||||
@@ -0,0 +1,93 @@
|
||||
@@ -161,7 +161,7 @@ index 0000000000000000000000000000000000000000..f4e75ba8f2c53a82cb40868f0e1ab77f
|
||||
+import java.util.List;
|
||||
+
|
||||
+@DefaultQualifier(NonNull.class)
|
||||
+public class SakuraCommand extends Command {
|
||||
+public final class SakuraCommand extends Command {
|
||||
+
|
||||
+ private static final Component INFORMATION_MESSAGE = MiniMessage.miniMessage().deserialize("""
|
||||
+ <dark_purple>.</dark_purple>
|
||||
@@ -235,7 +235,7 @@ index 0000000000000000000000000000000000000000..f4e75ba8f2c53a82cb40868f0e1ab77f
|
||||
+}
|
||||
diff --git a/src/main/java/me/samsuik/sakura/command/SakuraCommands.java b/src/main/java/me/samsuik/sakura/command/SakuraCommands.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..c2651cac1dcf85fb67fe981b97efee4e56431de2
|
||||
index 0000000000000000000000000000000000000000..3b08454cf7411d12bb33225df59800bd73312123
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/me/samsuik/sakura/command/SakuraCommands.java
|
||||
@@ -0,0 +1,26 @@
|
||||
@@ -249,7 +249,7 @@ index 0000000000000000000000000000000000000000..c2651cac1dcf85fb67fe981b97efee4e
|
||||
+import java.util.HashMap;
|
||||
+import java.util.Map;
|
||||
+
|
||||
+public class SakuraCommands {
|
||||
+public final class SakuraCommands {
|
||||
+
|
||||
+ static final Map<String, Command> COMMANDS = new HashMap<>();
|
||||
+ static {
|
||||
@@ -267,7 +267,7 @@ index 0000000000000000000000000000000000000000..c2651cac1dcf85fb67fe981b97efee4e
|
||||
+}
|
||||
diff --git a/src/main/java/me/samsuik/sakura/command/subcommands/ConfigCommand.java b/src/main/java/me/samsuik/sakura/command/subcommands/ConfigCommand.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..0b5f50c7447d1c1732a745bae54c4fcd4f45da46
|
||||
index 0000000000000000000000000000000000000000..75febc3f40910a27a9fc651dac9697da48338cc1
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/me/samsuik/sakura/command/subcommands/ConfigCommand.java
|
||||
@@ -0,0 +1,45 @@
|
||||
@@ -290,7 +290,7 @@ index 0000000000000000000000000000000000000000..0b5f50c7447d1c1732a745bae54c4fcd
|
||||
+import static net.kyori.adventure.text.format.NamedTextColor.RED;
|
||||
+
|
||||
+@DefaultQualifier(NonNull.class)
|
||||
+public class ConfigCommand extends BaseSubCommand {
|
||||
+public final class ConfigCommand extends BaseSubCommand {
|
||||
+
|
||||
+ public ConfigCommand(String name) {
|
||||
+ super(name);
|
||||
@@ -942,7 +942,7 @@ index 6934e9dac0d69c043b73b7c46d59f2d39b37c67f..5c125a044536f65637ca82870a4a9d8d
|
||||
this.convertable = convertable_conversionsession;
|
||||
this.uuid = WorldUUID.getUUID(convertable_conversionsession.levelDirectory.path().toFile());
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 19f23a6c8fb5c02843c27fb8a242ec9d0d1b538b..18a26062c114ef2b67cb7fbbffc8e2dc14b4e097 100644
|
||||
index 19f23a6c8fb5c02843c27fb8a242ec9d0d1b538b..8be02651774f7f7c5b383759df41ee18a8b5c267 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -171,6 +171,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -951,7 +951,7 @@ index 19f23a6c8fb5c02843c27fb8a242ec9d0d1b538b..18a26062c114ef2b67cb7fbbffc8e2dc
|
||||
// Paper end - add paper world config
|
||||
+ // Sakura start
|
||||
+ private final me.samsuik.sakura.configuration.WorldConfiguration sakuraConfig;
|
||||
+ public me.samsuik.sakura.configuration.WorldConfiguration sakuraConfig() {
|
||||
+ public final me.samsuik.sakura.configuration.WorldConfiguration sakuraConfig() {
|
||||
+ return this.sakuraConfig;
|
||||
+ }
|
||||
+ // Sakura end
|
||||
|
||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Local Config and Value Storage API
|
||||
|
||||
diff --git a/src/main/java/me/samsuik/sakura/local/config/LocalConfigManager.java b/src/main/java/me/samsuik/sakura/local/config/LocalConfigManager.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..3508755c11cc8f577d27a440f2f4a08d9856f5ae
|
||||
index 0000000000000000000000000000000000000000..ff54d6b5d3f0299a37f36dde86fd00c5d04115dc
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/me/samsuik/sakura/local/config/LocalConfigManager.java
|
||||
@@ -0,0 +1,143 @@
|
||||
@@ -31,7 +31,7 @@ index 0000000000000000000000000000000000000000..3508755c11cc8f577d27a440f2f4a08d
|
||||
+import java.util.List;
|
||||
+import java.util.Map;
|
||||
+
|
||||
+public class LocalConfigManager implements LocalStorageHandler {
|
||||
+public final class LocalConfigManager implements LocalStorageHandler {
|
||||
+
|
||||
+ private final Map<LocalRegion, LocalValueStorage> storageMap = new Object2ObjectOpenHashMap<>();
|
||||
+ // tree is a tree. it may not be correct but it works.
|
||||
@@ -155,7 +155,7 @@ index 0000000000000000000000000000000000000000..3508755c11cc8f577d27a440f2f4a08d
|
||||
+}
|
||||
diff --git a/src/main/java/me/samsuik/sakura/local/config/LocalValueConfig.java b/src/main/java/me/samsuik/sakura/local/config/LocalValueConfig.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..fbd877356594f0cf8934452522cef4349801e5d7
|
||||
index 0000000000000000000000000000000000000000..f0037f98e93fd1f0dea9c224ba402ebcacf9b21f
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/me/samsuik/sakura/local/config/LocalValueConfig.java
|
||||
@@ -0,0 +1,59 @@
|
||||
@@ -174,7 +174,7 @@ index 0000000000000000000000000000000000000000..fbd877356594f0cf8934452522cef434
|
||||
+
|
||||
+import java.util.Map;
|
||||
+
|
||||
+public class LocalValueConfig {
|
||||
+public final class LocalValueConfig {
|
||||
+
|
||||
+ private final Expiry expiry;
|
||||
+ public Map<Block, DurableMaterial> durableMaterials;
|
||||
@@ -231,17 +231,16 @@ index eb04fab84e266b11ef4e531cb7ea8504a1e46aac..23e5fcffe6e1b1a12af5c7399dd8b2f6
|
||||
this.isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 18a26062c114ef2b67cb7fbbffc8e2dc14b4e097..65a9b601204eb8e958e579a47cb0241d134228e2 100644
|
||||
index 8be02651774f7f7c5b383759df41ee18a8b5c267..d40c3aefde1e3b70657b48241cda2d0b0c457531 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -177,6 +177,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -177,6 +177,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
return this.sakuraConfig;
|
||||
}
|
||||
// Sakura end
|
||||
+ // Sakura start
|
||||
+ private final me.samsuik.sakura.local.config.LocalConfigManager localConfig = new me.samsuik.sakura.local.config.LocalConfigManager(this);
|
||||
+
|
||||
+ public me.samsuik.sakura.local.config.LocalConfigManager localConfig() {
|
||||
+ public final me.samsuik.sakura.local.config.LocalConfigManager localConfig() {
|
||||
+ return this.localConfig;
|
||||
+ }
|
||||
+ // Sakura end
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Visibility API and Command
|
||||
|
||||
|
||||
diff --git a/src/main/java/me/samsuik/sakura/command/SakuraCommands.java b/src/main/java/me/samsuik/sakura/command/SakuraCommands.java
|
||||
index c2651cac1dcf85fb67fe981b97efee4e56431de2..d7d0c49cc5d576c594dee16ddba037cd147e11fa 100644
|
||||
index 3b08454cf7411d12bb33225df59800bd73312123..22676ec7a7ae9494b198e5e65e6be6d32e0feb85 100644
|
||||
--- a/src/main/java/me/samsuik/sakura/command/SakuraCommands.java
|
||||
+++ b/src/main/java/me/samsuik/sakura/command/SakuraCommands.java
|
||||
@@ -2,6 +2,9 @@ package me.samsuik.sakura.command;
|
||||
@@ -18,7 +18,7 @@ index c2651cac1dcf85fb67fe981b97efee4e56431de2..d7d0c49cc5d576c594dee16ddba037cd
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
import org.bukkit.command.Command;
|
||||
|
||||
@@ -14,6 +17,10 @@ public class SakuraCommands {
|
||||
@@ -14,6 +17,10 @@ public final class SakuraCommands {
|
||||
static {
|
||||
COMMANDS.put("sakura", new SakuraCommand("sakura"));
|
||||
COMMANDS.put("config", new ConfigCommand("config"));
|
||||
@@ -31,7 +31,7 @@ index c2651cac1dcf85fb67fe981b97efee4e56431de2..d7d0c49cc5d576c594dee16ddba037cd
|
||||
public static void registerCommands(final MinecraftServer server) {
|
||||
diff --git a/src/main/java/me/samsuik/sakura/command/subcommands/FPSCommand.java b/src/main/java/me/samsuik/sakura/command/subcommands/FPSCommand.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..1dc2a98123d671c945e85b97a898f56e527a81f5
|
||||
index 0000000000000000000000000000000000000000..aa5ddf696b09226a0bd3d967d2ac2b11fc2deb32
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/me/samsuik/sakura/command/subcommands/FPSCommand.java
|
||||
@@ -0,0 +1,26 @@
|
||||
@@ -45,7 +45,7 @@ index 0000000000000000000000000000000000000000..1dc2a98123d671c945e85b97a898f56e
|
||||
+import org.checkerframework.framework.qual.DefaultQualifier;
|
||||
+
|
||||
+@DefaultQualifier(NonNull.class)
|
||||
+public class FPSCommand extends BaseSubCommand {
|
||||
+public final class FPSCommand extends BaseSubCommand {
|
||||
+
|
||||
+ private final VisibilityGUI VISIBILITY_GUI = new VisibilityGUI();
|
||||
+
|
||||
@@ -63,7 +63,7 @@ index 0000000000000000000000000000000000000000..1dc2a98123d671c945e85b97a898f56e
|
||||
+}
|
||||
diff --git a/src/main/java/me/samsuik/sakura/command/subcommands/VisualCommand.java b/src/main/java/me/samsuik/sakura/command/subcommands/VisualCommand.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..6027e4741e2de7c6d3bd7b094c196a212e34e2f5
|
||||
index 0000000000000000000000000000000000000000..148a583279333eeb3e5db16652623082cd5e0e60
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/me/samsuik/sakura/command/subcommands/VisualCommand.java
|
||||
@@ -0,0 +1,45 @@
|
||||
@@ -82,7 +82,7 @@ index 0000000000000000000000000000000000000000..6027e4741e2de7c6d3bd7b094c196a21
|
||||
+import java.util.Arrays;
|
||||
+
|
||||
+@DefaultQualifier(NonNull.class)
|
||||
+public class VisualCommand extends BaseSubCommand {
|
||||
+public final class VisualCommand extends BaseSubCommand {
|
||||
+
|
||||
+ private final Visibility.Setting type;
|
||||
+
|
||||
@@ -114,7 +114,7 @@ index 0000000000000000000000000000000000000000..6027e4741e2de7c6d3bd7b094c196a21
|
||||
+}
|
||||
diff --git a/src/main/java/me/samsuik/sakura/player/visibility/VisibilityGUI.java b/src/main/java/me/samsuik/sakura/player/visibility/VisibilityGUI.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..d5bd47426a219a3825deaa0b62386c88d17b4aac
|
||||
index 0000000000000000000000000000000000000000..115addbbed36b9c10c123450a0f6400c2b8cf97d
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/me/samsuik/sakura/player/visibility/VisibilityGUI.java
|
||||
@@ -0,0 +1,119 @@
|
||||
@@ -137,7 +137,7 @@ index 0000000000000000000000000000000000000000..d5bd47426a219a3825deaa0b62386c88
|
||||
+
|
||||
+import java.util.function.BiFunction;
|
||||
+
|
||||
+public class VisibilityGUI extends PlayerGUI {
|
||||
+public final class VisibilityGUI extends PlayerGUI {
|
||||
+
|
||||
+ private static final BiFunction<Player, Holder, Inventory> CREATE_INVENTORY = (player, holder) -> {
|
||||
+ Inventory inventory = Bukkit.createInventory(holder, 45, Component.text("FPS GUI"));
|
||||
@@ -600,10 +600,10 @@ index cd7b955754b809826048b80723e2e9055b373a4a..3c5e8c594ff63d93bdd052a6b648120c
|
||||
|
||||
public PrimedTnt(Level world, double x, double y, double z, @Nullable LivingEntity igniter) {
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 65a9b601204eb8e958e579a47cb0241d134228e2..89a6fc46b6cc2d0a2e3192cfd258cf358ffb25ca 100644
|
||||
index d40c3aefde1e3b70657b48241cda2d0b0c457531..0b616dfdf9eb60cd0ca8ee00829f7181a728bc4a 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -220,6 +220,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -219,6 +219,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
|
||||
public abstract ResourceKey<LevelStem> getTypeKey();
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] TPS Graph Command
|
||||
|
||||
|
||||
diff --git a/src/main/java/me/samsuik/sakura/command/SakuraCommands.java b/src/main/java/me/samsuik/sakura/command/SakuraCommands.java
|
||||
index d7d0c49cc5d576c594dee16ddba037cd147e11fa..2ed50a4fc9cddc036adc5b4288bd5d83442b1572 100644
|
||||
index 22676ec7a7ae9494b198e5e65e6be6d32e0feb85..6edc5195c3b496a12b17b2b9b528505d37ffdb12 100644
|
||||
--- a/src/main/java/me/samsuik/sakura/command/SakuraCommands.java
|
||||
+++ b/src/main/java/me/samsuik/sakura/command/SakuraCommands.java
|
||||
@@ -4,6 +4,7 @@ import io.papermc.paper.command.PaperPluginsCommand;
|
||||
@@ -16,7 +16,7 @@ index d7d0c49cc5d576c594dee16ddba037cd147e11fa..2ed50a4fc9cddc036adc5b4288bd5d83
|
||||
import me.samsuik.sakura.player.visibility.Visibility;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
import org.bukkit.command.Command;
|
||||
@@ -21,6 +22,7 @@ public class SakuraCommands {
|
||||
@@ -21,6 +22,7 @@ public final class SakuraCommands {
|
||||
COMMANDS.put("tntvisibility", new VisualCommand(Visibility.Setting.TNT_VISIBILITY, "tnttoggle"));
|
||||
COMMANDS.put("sandvisibility", new VisualCommand(Visibility.Setting.SAND_VISIBILITY, "sandtoggle"));
|
||||
COMMANDS.put("minimal", new VisualCommand(Visibility.Setting.MINIMAL, "minimaltnt", "tntlag"));
|
||||
@@ -26,7 +26,7 @@ index d7d0c49cc5d576c594dee16ddba037cd147e11fa..2ed50a4fc9cddc036adc5b4288bd5d83
|
||||
public static void registerCommands(final MinecraftServer server) {
|
||||
diff --git a/src/main/java/me/samsuik/sakura/command/subcommands/TPSCommand.java b/src/main/java/me/samsuik/sakura/command/subcommands/TPSCommand.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..13ad8f19806413ead42ab4d33265bf79b96b5a49
|
||||
index 0000000000000000000000000000000000000000..7bd4c5696911730170320060c273f3a7f6a610be
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/me/samsuik/sakura/command/subcommands/TPSCommand.java
|
||||
@@ -0,0 +1,67 @@
|
||||
@@ -46,7 +46,7 @@ index 0000000000000000000000000000000000000000..13ad8f19806413ead42ab4d33265bf79
|
||||
+import net.minecraft.util.Mth;
|
||||
+import org.bukkit.command.CommandSender;
|
||||
+
|
||||
+public class TPSCommand extends BaseSubCommand {
|
||||
+public final class TPSCommand extends BaseSubCommand {
|
||||
+
|
||||
+ public TPSCommand(String name) {
|
||||
+ super(name);
|
||||
@@ -99,7 +99,7 @@ index 0000000000000000000000000000000000000000..13ad8f19806413ead42ab4d33265bf79
|
||||
+}
|
||||
diff --git a/src/main/java/me/samsuik/sakura/utils/tps/TPSGraph.java b/src/main/java/me/samsuik/sakura/utils/tps/TPSGraph.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..efbf8360657c862dd522d0264aa1c5d8f73bd8b5
|
||||
index 0000000000000000000000000000000000000000..fa5d0c046d979901dd302ee3973df27442172add
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/me/samsuik/sakura/utils/tps/TPSGraph.java
|
||||
@@ -0,0 +1,255 @@
|
||||
@@ -116,7 +116,7 @@ index 0000000000000000000000000000000000000000..efbf8360657c862dd522d0264aa1c5d8
|
||||
+import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
|
||||
+import net.minecraft.util.Mth;
|
||||
+
|
||||
+public class TPSGraph {
|
||||
+public final class TPSGraph {
|
||||
+
|
||||
+ private final Parts[][] parts;
|
||||
+ private final TickTracking tracked;
|
||||
@@ -360,7 +360,7 @@ index 0000000000000000000000000000000000000000..efbf8360657c862dd522d0264aa1c5d8
|
||||
+}
|
||||
diff --git a/src/main/java/me/samsuik/sakura/utils/tps/TickTracking.java b/src/main/java/me/samsuik/sakura/utils/tps/TickTracking.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..2886262ed8420f4e28cd264159e5cd70a39fe495
|
||||
index 0000000000000000000000000000000000000000..59765bb2f4ca16421027bdd0c3e03d890a90d3e1
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/me/samsuik/sakura/utils/tps/TickTracking.java
|
||||
@@ -0,0 +1,53 @@
|
||||
@@ -374,7 +374,7 @@ index 0000000000000000000000000000000000000000..2886262ed8420f4e28cd264159e5cd70
|
||||
+import java.util.List;
|
||||
+import java.util.stream.IntStream;
|
||||
+
|
||||
+public class TickTracking {
|
||||
+public final class TickTracking {
|
||||
+
|
||||
+ private final List<Point> history = new ArrayList<>();
|
||||
+ private final double[] msptSamples = new double[20];
|
||||
|
||||
@@ -91,10 +91,10 @@ index 9a7b9f72531dfaecb55c089eea412e81ee00ef65..88735691892aa19f30d4e686e88a3c09
|
||||
public Entity(EntityType<?> type, Level world) {
|
||||
this.id = Entity.ENTITY_COUNTER.incrementAndGet();
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 89a6fc46b6cc2d0a2e3192cfd258cf358ffb25ca..a9cf8f2cd435f38fda48f2c4d0a7732a589ce455 100644
|
||||
index 0b616dfdf9eb60cd0ca8ee00829f7181a728bc4a..b8b9566157e87334f3c7909b96effa0385ebbbf5 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -1322,6 +1322,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -1321,6 +1321,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
|
||||
public <T extends Entity> void guardEntityTick(Consumer<T> tickConsumer, T entity) {
|
||||
try {
|
||||
|
||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Merge Cannon Entities
|
||||
|
||||
diff --git a/src/main/java/me/samsuik/sakura/entity/merge/MergeHistory.java b/src/main/java/me/samsuik/sakura/entity/merge/MergeHistory.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..90f36b2d3847e058cfa2b748838fc6ea3294c159
|
||||
index 0000000000000000000000000000000000000000..3216f20b93b73277c4ad2ebb054eeee4db4fb8b6
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/me/samsuik/sakura/entity/merge/MergeHistory.java
|
||||
@@ -0,0 +1,127 @@
|
||||
@@ -23,7 +23,7 @@ index 0000000000000000000000000000000000000000..90f36b2d3847e058cfa2b748838fc6ea
|
||||
+
|
||||
+import java.util.List;
|
||||
+
|
||||
+public class MergeHistory {
|
||||
+public final class MergeHistory {
|
||||
+
|
||||
+ // packed position -> known merging information
|
||||
+ private final Long2ObjectMap<MergeData> mergeDataMap = new Long2ObjectOpenHashMap<>();
|
||||
@@ -464,10 +464,10 @@ index 46680f551f83b91581440d89a1c35c048db03638..72fb1690e6a0692b453b9c0997a6eb85
|
||||
this.explode();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index a9cf8f2cd435f38fda48f2c4d0a7732a589ce455..4176c5ef6489d74d1063e8f857a085270a188e28 100644
|
||||
index b8b9566157e87334f3c7909b96effa0385ebbbf5..b12ab07a8ff72c91ff0edfaa54b11032817c467f 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -221,6 +221,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -220,6 +220,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
public abstract ResourceKey<LevelStem> getTypeKey();
|
||||
|
||||
public final it.unimi.dsi.fastutil.longs.Long2IntMap minimalTNT = new it.unimi.dsi.fastutil.longs.Long2IntOpenHashMap(); // Sakura - visibility api
|
||||
|
||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Optimised Explosions
|
||||
|
||||
diff --git a/src/main/java/me/samsuik/sakura/explosion/DensityCache.java b/src/main/java/me/samsuik/sakura/explosion/DensityCache.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..3f6f34cc617efaad420485a7f613cfcad88e3783
|
||||
index 0000000000000000000000000000000000000000..5c6d4124189d98421e2d6f351840c5d69bf2faf4
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/me/samsuik/sakura/explosion/DensityCache.java
|
||||
@@ -0,0 +1,130 @@
|
||||
@@ -21,7 +21,7 @@ index 0000000000000000000000000000000000000000..3f6f34cc617efaad420485a7f613cfca
|
||||
+
|
||||
+import javax.annotation.Nullable;
|
||||
+
|
||||
+public class DensityCache {
|
||||
+public final class DensityCache {
|
||||
+
|
||||
+ private final Int2ObjectMap<Density> densityMap = new Int2ObjectOpenHashMap<>();
|
||||
+
|
||||
@@ -142,7 +142,7 @@ index 0000000000000000000000000000000000000000..3f6f34cc617efaad420485a7f613cfca
|
||||
+}
|
||||
diff --git a/src/main/java/me/samsuik/sakura/explosion/SakuraExplosion.java b/src/main/java/me/samsuik/sakura/explosion/SakuraExplosion.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..4b5c431e6d9e2b170a1db0984b8426919466f4c5
|
||||
index 0000000000000000000000000000000000000000..fbdd4c4ec21cff4c9651402a9e94dd99996723e1
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/me/samsuik/sakura/explosion/SakuraExplosion.java
|
||||
@@ -0,0 +1,405 @@
|
||||
@@ -192,7 +192,7 @@ index 0000000000000000000000000000000000000000..4b5c431e6d9e2b170a1db0984b842691
|
||||
+ * realistic to explode a big block of tnt in survival or factions. They only cause
|
||||
+ * harm to a server and extremely wasteful for resources with minimal impact to terrain.
|
||||
+ */
|
||||
+public class SakuraExplosion extends Explosion {
|
||||
+public final class SakuraExplosion extends Explosion {
|
||||
+
|
||||
+ private final Level level;
|
||||
+
|
||||
@@ -553,7 +553,7 @@ index 0000000000000000000000000000000000000000..4b5c431e6d9e2b170a1db0984b842691
|
||||
+}
|
||||
diff --git a/src/main/java/me/samsuik/sakura/utils/ExplosionUtil.java b/src/main/java/me/samsuik/sakura/utils/ExplosionUtil.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..e0387f16ff49031fdcbc8990613417da88d84e87
|
||||
index 0000000000000000000000000000000000000000..84e5fe09f7432cdeec846dc1e26404706f1c298c
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/me/samsuik/sakura/utils/ExplosionUtil.java
|
||||
@@ -0,0 +1,64 @@
|
||||
@@ -564,7 +564,7 @@ index 0000000000000000000000000000000000000000..e0387f16ff49031fdcbc8990613417da
|
||||
+import java.util.ArrayList;
|
||||
+import java.util.List;
|
||||
+
|
||||
+public class ExplosionUtil {
|
||||
+public final class ExplosionUtil {
|
||||
+
|
||||
+ private static final java.util.function.Function<double[], Double> highestOf = (vector) -> {
|
||||
+ double highest = 0;
|
||||
@@ -1007,10 +1007,10 @@ index f529f5d0f28533ec89f3ee712e59745991d068ee..d0ff7710577c1cfedae494796e6db420
|
||||
public float getEntityDamageAmount(Explosion explosion, Entity entity, double seenPercent) {
|
||||
// Paper end - actually optimise explosions
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 4176c5ef6489d74d1063e8f857a085270a188e28..dc376192830321e173036da00897df2c6fbb7d5f 100644
|
||||
index b12ab07a8ff72c91ff0edfaa54b11032817c467f..fd93fe7c5ab596c51e2ee30b0aca51fd513a0912 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -222,6 +222,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -221,6 +221,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
|
||||
public final it.unimi.dsi.fastutil.longs.Long2IntMap minimalTNT = new it.unimi.dsi.fastutil.longs.Long2IntOpenHashMap(); // Sakura - visibility api
|
||||
public final me.samsuik.sakura.entity.merge.MergeHistory mergeHistory = new me.samsuik.sakura.entity.merge.MergeHistory(); // Sakura - cannon entity merging
|
||||
@@ -1018,7 +1018,7 @@ index 4176c5ef6489d74d1063e8f857a085270a188e28..dc376192830321e173036da00897df2c
|
||||
|
||||
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, RegistryAccess iregistrycustom, Holder<DimensionType> holder, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function<org.spigotmc.SpigotWorldConfig, io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator, Supplier<me.samsuik.sakura.configuration.WorldConfiguration> sakuraWorldConfigCreator, java.util.concurrent.Executor executor) { // Sakura // Paper - create paper world config; Async-Anti-Xray: Pass executor
|
||||
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
|
||||
@@ -1410,7 +1411,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -1409,7 +1410,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
}
|
||||
|
||||
Explosion.BlockInteraction explosion_effect1 = explosion_effect;
|
||||
|
||||
@@ -329,10 +329,10 @@ index d917a19c838ed3d74322abd85e1f737e852b5d7b..1ba10713c85d6f19f075cc267602a04c
|
||||
if (this.count == 0) {
|
||||
return;
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index dc376192830321e173036da00897df2c6fbb7d5f..1b018d329fe0ad102e9d7a47d0f6668ad9327591 100644
|
||||
index fd93fe7c5ab596c51e2ee30b0aca51fd513a0912..5316c8802111ea969334a075e542437eabe89f04 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -224,6 +224,39 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -223,6 +223,39 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
public final me.samsuik.sakura.entity.merge.MergeHistory mergeHistory = new me.samsuik.sakura.entity.merge.MergeHistory(); // Sakura - cannon entity merging
|
||||
public final me.samsuik.sakura.explosion.DensityCache densityCache = new me.samsuik.sakura.explosion.DensityCache(); // Sakura - specialised density cache for swinging explosions
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Explosion Durable Blocks
|
||||
|
||||
diff --git a/src/main/java/me/samsuik/sakura/explosion/durable/DurableBlockManager.java b/src/main/java/me/samsuik/sakura/explosion/durable/DurableBlockManager.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..2e11ba36e9e820f17839d696e5d7d876e7437fbf
|
||||
index 0000000000000000000000000000000000000000..c58e52f7cc012babf4235e405e5fb5015c6e95d9
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/me/samsuik/sakura/explosion/durable/DurableBlockManager.java
|
||||
@@ -0,0 +1,63 @@
|
||||
@@ -17,7 +17,7 @@ index 0000000000000000000000000000000000000000..2e11ba36e9e820f17839d696e5d7d876
|
||||
+import net.minecraft.core.BlockPos;
|
||||
+import net.minecraft.server.MinecraftServer;
|
||||
+
|
||||
+public class DurableBlockManager {
|
||||
+public final class DurableBlockManager {
|
||||
+
|
||||
+ private final Long2ObjectOpenHashMap<DurableBlock> blocks = new Long2ObjectOpenHashMap<>();
|
||||
+
|
||||
@@ -163,10 +163,10 @@ index f7b2ebc636b8f01654ac917e2b9c4aa590454a8c..08c7109b0bb613388b5a98a5d312b4ba
|
||||
Entity sourceEntity = this.source == null ? null : this.source;
|
||||
BlockPos sourceBlock = sourceEntity == null ? BlockPos.containing(this.x, this.y, this.z) : null;
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 1b018d329fe0ad102e9d7a47d0f6668ad9327591..5b1c87a10140bb407f3c87b5f230e657b629f4bb 100644
|
||||
index 5316c8802111ea969334a075e542437eabe89f04..403d12ecd56d7ed56b19bbdafcbcf33c06c13679 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -223,6 +223,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -222,6 +222,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
public final it.unimi.dsi.fastutil.longs.Long2IntMap minimalTNT = new it.unimi.dsi.fastutil.longs.Long2IntOpenHashMap(); // Sakura - visibility api
|
||||
public final me.samsuik.sakura.entity.merge.MergeHistory mergeHistory = new me.samsuik.sakura.entity.merge.MergeHistory(); // Sakura - cannon entity merging
|
||||
public final me.samsuik.sakura.explosion.DensityCache densityCache = new me.samsuik.sakura.explosion.DensityCache(); // Sakura - specialised density cache for swinging explosions
|
||||
|
||||
@@ -53,7 +53,7 @@ index fa062e6543e8a0377e3d4715996955dba005ee80..ca8b5066e2db3dc5df97091fa8821493
|
||||
|
||||
diff --git a/src/main/java/me/samsuik/sakura/redstone/RedstoneTracker.java b/src/main/java/me/samsuik/sakura/redstone/RedstoneTracker.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..455e51b93c50f8bf3e84d11f373be7b1dc9fc6eb
|
||||
index 0000000000000000000000000000000000000000..c4150b062ee1a15f1938fea2da926699edb804a9
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/me/samsuik/sakura/redstone/RedstoneTracker.java
|
||||
@@ -0,0 +1,283 @@
|
||||
@@ -80,7 +80,7 @@ index 0000000000000000000000000000000000000000..455e51b93c50f8bf3e84d11f373be7b1
|
||||
+import java.util.List;
|
||||
+import java.util.function.Predicate;
|
||||
+
|
||||
+public class RedstoneTracker {
|
||||
+public final class RedstoneTracker {
|
||||
+
|
||||
+ private static final int DEPTH_LIMIT = 512;
|
||||
+
|
||||
@@ -353,10 +353,10 @@ index a3aa2c38169de2636f2e2a1c352e618959c4ac7a..c24fc4df2c835267160dc8355419904a
|
||||
this.isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 5b1c87a10140bb407f3c87b5f230e657b629f4bb..81b1c4849e3a42582af424e6f548b1e3bc9f6ae0 100644
|
||||
index 403d12ecd56d7ed56b19bbdafcbcf33c06c13679..96d67bae33543b90013c6cd312f01f5ab98ff5ab 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -224,6 +224,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -223,6 +223,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
public final me.samsuik.sakura.entity.merge.MergeHistory mergeHistory = new me.samsuik.sakura.entity.merge.MergeHistory(); // Sakura - cannon entity merging
|
||||
public final me.samsuik.sakura.explosion.DensityCache densityCache = new me.samsuik.sakura.explosion.DensityCache(); // Sakura - specialised density cache for swinging explosions
|
||||
public final me.samsuik.sakura.explosion.durable.DurableBlockManager durabilityManager = new me.samsuik.sakura.explosion.durable.DurableBlockManager(); // Sakura - explosion durable blocks
|
||||
@@ -364,7 +364,7 @@ index 5b1c87a10140bb407f3c87b5f230e657b629f4bb..81b1c4849e3a42582af424e6f548b1e3
|
||||
|
||||
// Sakura start - add entity retrival methods with search limits
|
||||
public void getLimitedEntities(Entity except, AABB box, Predicate<? super Entity> predicate, List<Entity> into, int limit, int search) {
|
||||
@@ -1001,6 +1002,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -1000,6 +1001,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
} else {
|
||||
BlockState iblockdata2 = this.getBlockState(pos);
|
||||
|
||||
|
||||
@@ -36,10 +36,10 @@ index 19086bbfdf3a015eafec5ca868c8d2451f554ef0..a40dcbde87860fd6d3b60d0b9e2d5e63
|
||||
if (xSmaller && z != 0.0) {
|
||||
z = performAABBCollisionsZ(axisalignedbb, z, aabbs);
|
||||
diff --git a/src/main/java/me/samsuik/sakura/explosion/SakuraExplosion.java b/src/main/java/me/samsuik/sakura/explosion/SakuraExplosion.java
|
||||
index 4b5c431e6d9e2b170a1db0984b8426919466f4c5..40c4efa6745d0c9ecb1c4a444c1a3efbe1de8928 100644
|
||||
index fbdd4c4ec21cff4c9651402a9e94dd99996723e1..0dd7b5dcb59e9eee2af769cc0989d30cf231b490 100644
|
||||
--- a/src/main/java/me/samsuik/sakura/explosion/SakuraExplosion.java
|
||||
+++ b/src/main/java/me/samsuik/sakura/explosion/SakuraExplosion.java
|
||||
@@ -167,7 +167,7 @@ public class SakuraExplosion extends Explosion {
|
||||
@@ -167,7 +167,7 @@ public final class SakuraExplosion extends Explosion {
|
||||
|
||||
// update explosion position
|
||||
x = source.getX();
|
||||
@@ -48,7 +48,7 @@ index 4b5c431e6d9e2b170a1db0984b8426919466f4c5..40c4efa6745d0c9ecb1c4a444c1a3efb
|
||||
z = source.getZ();
|
||||
}
|
||||
|
||||
@@ -260,10 +260,17 @@ public class SakuraExplosion extends Explosion {
|
||||
@@ -260,10 +260,17 @@ public final class SakuraExplosion extends Explosion {
|
||||
if (distanceFromBottom > 1.0) continue;
|
||||
|
||||
double x = entity.getX() - pos.x;
|
||||
@@ -67,7 +67,7 @@ index 4b5c431e6d9e2b170a1db0984b8426919466f4c5..40c4efa6745d0c9ecb1c4a444c1a3efb
|
||||
if (distance == 0.0D) continue;
|
||||
|
||||
x /= distance;
|
||||
@@ -308,10 +315,17 @@ public class SakuraExplosion extends Explosion {
|
||||
@@ -308,10 +315,17 @@ public final class SakuraExplosion extends Explosion {
|
||||
|
||||
if (distanceFromBottom <= 1.0) {
|
||||
double x = entity.getX() - pos.x;
|
||||
@@ -544,10 +544,10 @@ index e09d159007922d29a2cdc1b2597a52c16958b819..e10a78213da1514f54e0659960f76338
|
||||
if (data == null || !data.isExpandable() && (blockDensity == 0.0f || blockDensity == 1.0f)) {
|
||||
level.densityCache.createCache(key, entity, vec3d, blockDensity);
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 81b1c4849e3a42582af424e6f548b1e3bc9f6ae0..d2f22ad58d10358e7515cb18b570bbcd4ae9e8c6 100644
|
||||
index 96d67bae33543b90013c6cd312f01f5ab98ff5ab..e4783deff8eafdb6e84bbe8e5f636dd5f4ad10d8 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -258,6 +258,205 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -257,6 +257,205 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
return this.getLimitedEntities(except, box, net.minecraft.world.entity.EntitySelector.NO_SPECTATORS, limit, search);
|
||||
}
|
||||
// Sakura end - add entity retrival methods with search limits
|
||||
@@ -983,7 +983,7 @@ index 5301095fa3baac1bde3767153ee2343026596688..1ef830d5e34f25c08d53d693db99a6eb
|
||||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/piston/PistonMovingBlockEntity.java b/src/main/java/net/minecraft/world/level/block/piston/PistonMovingBlockEntity.java
|
||||
index 3a4a6c635337bb10482cfadf1a4673c56fcc2ed4..09b434839cd8ae5c38579aa4a7639cee813f94e7 100644
|
||||
index 3a4a6c635337bb10482cfadf1a4673c56fcc2ed4..356ce30678fe9428c950582e0d8b47c9ac75f87d 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/piston/PistonMovingBlockEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/piston/PistonMovingBlockEntity.java
|
||||
@@ -159,6 +159,13 @@ public class PistonMovingBlockEntity extends BlockEntity {
|
||||
@@ -1046,7 +1046,7 @@ index 3a4a6c635337bb10482cfadf1a4673c56fcc2ed4..09b434839cd8ae5c38579aa4a7639cee
|
||||
+ return null;
|
||||
+ }
|
||||
+
|
||||
+ public VoxelShape getCollisionShapeFromProgress(Level level, BlockPos pos) {
|
||||
+ public final VoxelShape getCollisionShapeFromProgress(Level level, BlockPos pos) {
|
||||
+ float progress = this.getProgress(0.0f);
|
||||
+
|
||||
+ if (this.extending) {
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: [PATCH] Fix paper findSupportingBlock not updating last chunk
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index d2f22ad58d10358e7515cb18b570bbcd4ae9e8c6..41b9bda5d378efd51bd6d14322bf6808e52f4400 100644
|
||||
index e4783deff8eafdb6e84bbe8e5f636dd5f4ad10d8..20ca6517a15e755b2faf0e1892e5a33b0210ae31 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -888,6 +888,10 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -887,6 +887,10 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
|
||||
if (chunkDiff != 0) {
|
||||
lastChunk = chunkProvider.getChunkAtIfLoadedImmediately(newChunkX, newChunkZ);
|
||||
|
||||
Reference in New Issue
Block a user