Compare commits

...

19 Commits

Author SHA1 Message Date
Sofiane H. Djerbi
034cf1e6d6 Merge pull request #43 from KaiijuMC/update-upstream
Update Upstream (Folia)
2023-04-11 04:19:40 +03:00
kugge
118cabf45c Update Upstream (Folia) 2023-04-11 01:08:48 +00:00
Sofiane H. Djerbi
5562bd750f Merge pull request #42 from KaiijuMC/update-upstream
Update Upstream (Folia)
2023-04-11 02:17:39 +03:00
kugge
cedc442598 Update Upstream (Folia) 2023-04-10 23:07:20 +00:00
Sofiane H. Djerbi
35983edbd3 [skip ci] Quickfix uncommented line 2023-04-09 18:03:48 +03:00
Sofiane H. Djerbi
8664b137ca Merge pull request #40 from KaiijuMC/update-upstream
Update Upstream (Folia)
2023-04-09 17:38:44 +03:00
kugge
94d5a28cc4 Update Upstream (Folia) 2023-04-09 14:32:34 +00:00
Sofiane H. Djerbi
76890444db Adding Purpur custom server mod name 2023-04-09 17:17:26 +03:00
Sofiane H. Djerbi
08dd766899 Consistency fixes 2023-04-09 17:17:16 +03:00
Sofiane H. Djerbi
7fb8ff8fd0 Merge pull request #39 from xymb-endcrystalme/ver/1.19.4
Add option to drop contents of shulker items when destroyed.
2023-04-09 00:10:38 +03:00
Sofiane H. Djerbi
32e02629a9 Quickfix patching conventions
UPSTREAM-CATEGORY-OPTION (for future automation purposes)
Split configuration commits (tracking adding config options)
Use per world config if possible
2023-04-09 00:09:39 +03:00
Xymb
ef8af2f22a Add option to drop contents of shulker items when destroyed. 2023-04-08 18:48:31 +02:00
Xymb
23b264963e Ensure atomicity on Btrfs 2023-04-08 18:38:25 +02:00
Sofiane H. Djerbi
95e8ffed83 Merge pull request #36 from KaiijuMC/update-upstream
Update Upstream (Folia)
2023-04-04 09:52:38 +02:00
kugge
e2b32c0b66 Update Upstream (Folia) 2023-04-04 07:52:26 +00:00
Sofiane H. Djerbi
12d82f3aa5 Merge pull request #35 from KaiijuMC/update-upstream
Update Upstream (Folia)
2023-04-01 17:32:23 +02:00
kugge
e7b45be456 Update Upstream (Folia) 2023-04-01 15:10:51 +00:00
Sofiane H. Djerbi
48a3fc55b7 Merge pull request #34 from KaiijuMC/update-upstream
Update Upstream (Folia)
2023-04-01 15:53:23 +02:00
kugge
29b6a8d59d Update Upstream (Folia) 2023-04-01 13:14:40 +00:00
7 changed files with 111 additions and 13 deletions

View File

@@ -2,7 +2,7 @@ group = dev.kaiijumc.kaiiju
version = 1.19.4-R0.1-SNAPSHOT version = 1.19.4-R0.1-SNAPSHOT
mcVersion = 1.19.4 mcVersion = 1.19.4
foliaRef = 76b06a1260ca71574e215f1b727efcf2bc64a4a0 foliaRef = 25e0cbdae46912d227a31703869594538b731931
org.gradle.caching=true org.gradle.caching=true
org.gradle.parallel=true org.gradle.parallel=true

View File

@@ -4,8 +4,6 @@ Date: Fri, 10 Feb 2023 22:21:56 +0200
Subject: [PATCH] Kaiiju RegionFormat Linear Subject: [PATCH] Kaiiju RegionFormat Linear
Documentation: https://github.com/xymb-endcrystalme/LinearRegionFileFormatTools Documentation: https://github.com/xymb-endcrystalme/LinearRegionFileFormatTools
Copyright xymb@endcrystal.me
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/build.gradle.kts b/build.gradle.kts diff --git a/build.gradle.kts b/build.gradle.kts
index 6dd416f65755ca0542e6661b8716672264120d59..4686019a152114e63e997ee103fc8424b24b4581 100644 index 6dd416f65755ca0542e6661b8716672264120d59..4686019a152114e63e997ee103fc8424b24b4581 100644
@@ -111,10 +109,10 @@ index 0000000000000000000000000000000000000000..dcfbabf54b19a4c29d5c95830242c5c2
+} +}
diff --git a/src/main/java/dev/kaiijumc/kaiiju/region/LinearRegionFile.java b/src/main/java/dev/kaiijumc/kaiiju/region/LinearRegionFile.java diff --git a/src/main/java/dev/kaiijumc/kaiiju/region/LinearRegionFile.java b/src/main/java/dev/kaiijumc/kaiiju/region/LinearRegionFile.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..f05d6313012560c32a3ec574b7169ec8e8930282 index 0000000000000000000000000000000000000000..32213e1f2432a2ee0c27331e83a04696d4cdd0cc
--- /dev/null --- /dev/null
+++ b/src/main/java/dev/kaiijumc/kaiiju/region/LinearRegionFile.java +++ b/src/main/java/dev/kaiijumc/kaiiju/region/LinearRegionFile.java
@@ -0,0 +1,334 @@ @@ -0,0 +1,336 @@
+package dev.kaiijumc.kaiiju.region; +package dev.kaiijumc.kaiiju.region;
+ +
+import com.github.luben.zstd.ZstdInputStream; +import com.github.luben.zstd.ZstdInputStream;
@@ -123,7 +121,6 @@ index 0000000000000000000000000000000000000000..f05d6313012560c32a3ec574b7169ec8
+import net.jpountz.lz4.LZ4Compressor; +import net.jpountz.lz4.LZ4Compressor;
+import net.jpountz.lz4.LZ4Factory; +import net.jpountz.lz4.LZ4Factory;
+import net.jpountz.lz4.LZ4FastDecompressor; +import net.jpountz.lz4.LZ4FastDecompressor;
+import net.jpountz.xxhash.XXHashFactory;
+import net.minecraft.nbt.CompoundTag; +import net.minecraft.nbt.CompoundTag;
+import net.minecraft.world.level.ChunkPos; +import net.minecraft.world.level.ChunkPos;
+import net.minecraft.world.level.chunk.ChunkStatus; +import net.minecraft.world.level.chunk.ChunkStatus;
@@ -329,11 +326,14 @@ index 0000000000000000000000000000000000000000..f05d6313012560c32a3ec574b7169ec8
+ byte[] compressed = zstdByteArray.toByteArray(); + byte[] compressed = zstdByteArray.toByteArray();
+ +
+ dataStream.writeInt(compressed.length); + dataStream.writeInt(compressed.length);
+ dataStream.writeLong(XXHashFactory.fastestInstance().hash64().hash(compressed, 0, compressed.length, 0)); // TODO: Hash the contents, not the whole thing + dataStream.writeLong(0);
+ +
+ dataStream.write(compressed, 0, compressed.length); + dataStream.write(compressed, 0, compressed.length);
+ dataStream.writeLong(SUPERBLOCK); + dataStream.writeLong(SUPERBLOCK);
+ +
+ dataStream.flush();
+ fileStream.getFD().sync();
+ fileStream.getChannel().force(true); // Ensure atomicity on Btrfs
+ dataStream.close(); + dataStream.close();
+ +
+ fileStream.close(); + fileStream.close();

View File

@@ -1,7 +1,7 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "Sofiane H. Djerbi" <46628754+kugge@users.noreply.github.com> From: "Sofiane H. Djerbi" <46628754+kugge@users.noreply.github.com>
Date: Thu, 16 Feb 2023 01:49:54 +0200 Date: Thu, 16 Feb 2023 01:49:54 +0200
Subject: [PATCH] Purpur Network Send Null Entity Packets Subject: [PATCH] Purpur Network SendNullEntityPackets
diff --git a/src/main/java/dev/kaiijumc/kaiiju/KaiijuConfig.java b/src/main/java/dev/kaiijumc/kaiiju/KaiijuConfig.java diff --git a/src/main/java/dev/kaiijumc/kaiiju/KaiijuConfig.java b/src/main/java/dev/kaiijumc/kaiiju/KaiijuConfig.java

View File

@@ -1,11 +1,11 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "Sofiane H. Djerbi" <46628754+kugge@users.noreply.github.com> From: "Sofiane H. Djerbi" <46628754+kugge@users.noreply.github.com>
Date: Fri, 31 Mar 2023 01:52:44 +0300 Date: Fri, 31 Mar 2023 01:52:44 +0300
Subject: [PATCH] Purpur Network Alternate Keepalive Subject: [PATCH] Purpur Network AlternateKeepalive
diff --git a/src/main/java/dev/kaiijumc/kaiiju/KaiijuConfig.java b/src/main/java/dev/kaiijumc/kaiiju/KaiijuConfig.java diff --git a/src/main/java/dev/kaiijumc/kaiiju/KaiijuConfig.java b/src/main/java/dev/kaiijumc/kaiiju/KaiijuConfig.java
index ab08e11f13921163b8ff1ff51ff9e9b86d2b47c7..edaeba20d871925ae05f7f1cabb3ac8eb71b4655 100644 index ab08e11f13921163b8ff1ff51ff9e9b86d2b47c7..b42a3466f145a92608c8746fd4beb529b4a60b01 100644
--- a/src/main/java/dev/kaiijumc/kaiiju/KaiijuConfig.java --- a/src/main/java/dev/kaiijumc/kaiiju/KaiijuConfig.java
+++ b/src/main/java/dev/kaiijumc/kaiiju/KaiijuConfig.java +++ b/src/main/java/dev/kaiijumc/kaiiju/KaiijuConfig.java
@@ -200,8 +200,10 @@ public class KaiijuConfig { @@ -200,8 +200,10 @@ public class KaiijuConfig {
@@ -16,11 +16,11 @@ index ab08e11f13921163b8ff1ff51ff9e9b86d2b47c7..edaeba20d871925ae05f7f1cabb3ac8e
private static void networkSettings() { private static void networkSettings() {
sendNullEntityPackets = getBoolean("network.send-null-entity-packets", sendNullEntityPackets); sendNullEntityPackets = getBoolean("network.send-null-entity-packets", sendNullEntityPackets);
+ alternateKeepAlive = getBoolean("network.alternate-keepalive", sendNullEntityPackets); + alternateKeepAlive = getBoolean("network.alternate-keepalive", alternateKeepAlive);
} }
} }
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 96203bd4d7af425236db220b746a9dcba38bfd08..40af4162787e03af9842d661835de806c71e6204 100644 index 4963e87adf11c9df90f0dd4b60d360a137c07bc9..5f73e794a248a4d11b58b169831622ca1f61aac6 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -261,6 +261,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -261,6 +261,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -52,7 +52,7 @@ index 96203bd4d7af425236db220b746a9dcba38bfd08..40af4162787e03af9842d661835de806
if (this.keepAlivePending) { if (this.keepAlivePending) {
if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected
ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getScoreboardName()); // more info ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getScoreboardName()); // more info
@@ -3517,6 +3532,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -3534,6 +3549,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@Override @Override
public void handleKeepAlive(ServerboundKeepAlivePacket packet) { public void handleKeepAlive(ServerboundKeepAlivePacket packet) {

View File

@@ -0,0 +1,31 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "Sofiane H. Djerbi" <46628754+kugge@users.noreply.github.com>
Date: Sat, 8 Apr 2023 23:32:34 +0300
Subject: [PATCH] Kaiiju Gameplay Configuration
diff --git a/src/main/java/dev/kaiijumc/kaiiju/KaiijuConfig.java b/src/main/java/dev/kaiijumc/kaiiju/KaiijuConfig.java
index b42a3466f145a92608c8746fd4beb529b4a60b01..6d0e1edfb7d3c020f70f6a194f16e836b462c4de 100644
--- a/src/main/java/dev/kaiijumc/kaiiju/KaiijuConfig.java
+++ b/src/main/java/dev/kaiijumc/kaiiju/KaiijuConfig.java
@@ -206,4 +206,7 @@ public class KaiijuConfig {
sendNullEntityPackets = getBoolean("network.send-null-entity-packets", sendNullEntityPackets);
alternateKeepAlive = getBoolean("network.alternate-keepalive", alternateKeepAlive);
}
+
+ private static void gameplaySettings() {
+ }
}
diff --git a/src/main/java/dev/kaiijumc/kaiiju/KaiijuWorldConfig.java b/src/main/java/dev/kaiijumc/kaiiju/KaiijuWorldConfig.java
index b194f4dbebcbbf5bb4e026a0169e2d24806b46ec..73d79fe0077b28db2f9e7fa13a1ae6eff9abd6a9 100644
--- a/src/main/java/dev/kaiijumc/kaiiju/KaiijuWorldConfig.java
+++ b/src/main/java/dev/kaiijumc/kaiiju/KaiijuWorldConfig.java
@@ -143,4 +143,7 @@ public class KaiijuWorldConfig {
regionFormatLinearCompressionLevel = 1;
}
}
+
+ private void gameplaySettings() {
+ }
}
\ No newline at end of file

View File

@@ -0,0 +1,34 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Xymb <xymb@endcrystal.me>
Date: Sat, 8 Apr 2023 23:38:13 +0300
Subject: [PATCH] Kaiiju Gameplay ShulkerDropContentsWhenDestroyed
diff --git a/src/main/java/dev/kaiijumc/kaiiju/KaiijuWorldConfig.java b/src/main/java/dev/kaiijumc/kaiiju/KaiijuWorldConfig.java
index 73d79fe0077b28db2f9e7fa13a1ae6eff9abd6a9..bac11b0e30a86d0689693ff129b53bcad7c2034c 100644
--- a/src/main/java/dev/kaiijumc/kaiiju/KaiijuWorldConfig.java
+++ b/src/main/java/dev/kaiijumc/kaiiju/KaiijuWorldConfig.java
@@ -144,6 +144,9 @@ public class KaiijuWorldConfig {
}
}
+ public boolean shulkerBoxDropContentsWhenDestroyed = true;
+
private void gameplaySettings() {
+ shulkerBoxDropContentsWhenDestroyed = getBoolean("gameplay.shulker-box-drop-contents-when-destroyed", shulkerBoxDropContentsWhenDestroyed);
}
}
\ No newline at end of file
diff --git a/src/main/java/net/minecraft/world/item/BlockItem.java b/src/main/java/net/minecraft/world/item/BlockItem.java
index b0204af850ee182773ad458208cccd946ad148d5..cb67928eb9d493b4c43489aa06a5c0c947999dac 100644
--- a/src/main/java/net/minecraft/world/item/BlockItem.java
+++ b/src/main/java/net/minecraft/world/item/BlockItem.java
@@ -288,7 +288,7 @@ public class BlockItem extends Item {
@Override
public void onDestroyed(ItemEntity entity) {
- if (this.block instanceof ShulkerBoxBlock) {
+ if (this.block instanceof ShulkerBoxBlock && entity.getLevel().kaiijuConfig.shulkerBoxDropContentsWhenDestroyed) { // Kaiiju
ItemStack itemstack = entity.getItem();
CompoundTag nbttagcompound = BlockItem.getBlockEntityData(itemstack);

View File

@@ -0,0 +1,33 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "Sofiane H. Djerbi" <46628754+kugge@users.noreply.github.com>
Date: Sun, 9 Apr 2023 17:06:46 +0300
Subject: [PATCH] Purpur Gameplay ServerModName
diff --git a/src/main/java/dev/kaiijumc/kaiiju/KaiijuConfig.java b/src/main/java/dev/kaiijumc/kaiiju/KaiijuConfig.java
index 6d0e1edfb7d3c020f70f6a194f16e836b462c4de..9fb33b35b4d6842ca8597f77a4116e3983ebfbcb 100644
--- a/src/main/java/dev/kaiijumc/kaiiju/KaiijuConfig.java
+++ b/src/main/java/dev/kaiijumc/kaiiju/KaiijuConfig.java
@@ -207,6 +207,9 @@ public class KaiijuConfig {
alternateKeepAlive = getBoolean("network.alternate-keepalive", alternateKeepAlive);
}
+ public static String serverModName = "Kaiiju";
+
private static void gameplaySettings() {
+ serverModName = getString("gameplay.server-mod-name", serverModName);
}
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index a7233bcc99e9bf148348ebb36bbb15b2eadb381f..865b022bb52d8d7b12355a01f3216a4ee8d4c045 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1833,7 +1833,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate
public String getServerModName() {
- return "Kaiiju"; // Kaiiju - Kaiiju > // Folia - Folia > // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
+ return dev.kaiijumc.kaiiju.KaiijuConfig.serverModName; // Kaiiju - Kaiiju > // Folia - Folia > // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
}
public SystemReport fillSystemReport(SystemReport details) {