diff --git a/docs/docs/admin/configuration.md b/docs/docs/admin/configuration.md index bad11e4..b9b8f08 100644 --- a/docs/docs/admin/configuration.md +++ b/docs/docs/admin/configuration.md @@ -57,9 +57,6 @@ Global settings affect all worlds on the server as well as the core server funct - ###### flush-max-threads - **default**: 1 - **description**: Maximum number of threads for flushing chunks -- #### do-not-process-chat-commands - - **default**: true - - **description**: Commands will not be proceeded while the player is joining the server - #### optimizations - ##### recipe-manager-optimization - **default**: true diff --git a/docs/docs/admin/getting-started.md b/docs/docs/admin/getting-started.md index 4e3313f..d5efd26 100644 --- a/docs/docs/admin/getting-started.md +++ b/docs/docs/admin/getting-started.md @@ -51,13 +51,14 @@ When you download the server jar, you will get the latest version of DivineMC. I Here is a list of all the versions of DivineMC: -| Name | Fork Of | Download | -|:---------------:|:-----------------:|:----------------------------------------------------------------------------------:| -| DivineMC 1.20.4 | Purpur 1.20.4 | [Download latest](https://github.com/DivineMC/DivineMC/releases/tag/latest-1.20.4) | -| DivineMC 1.20.2 | Purpur 1.20.2 | [Download latest](https://github.com/DivineMC/DivineMC/releases/tag/latest-1.20.2) | -| DivineMC 1.20.1 | Purpur 1.20.1 | [Download latest](https://github.com/DivineMC/DivineMC/releases/tag/latest-1.20.1) | -| DivineMC 1.20 | Purpur 1.20 | [Download latest](https://github.com/DivineMC/DivineMC/releases/tag/latest-1.20) | -| DivineMC 1.19.4 | Purpur 1.19.4 | [Download latest](https://github.com/DivineMC/DivineMC/releases/tag/latest-1.19.4) | -| DivineMC 1.19.4 | Pufferfish 1.19.4 | [Download latest](https://github.com/DivineMC/DivineMC/releases/tag/release-109) | -| DivineMC 1.19.3 | Pufferfish 1.19.3 | [Download latest](https://github.com/DivineMC/DivineMC/releases/tag/latest-1.19.3) | -| DivineMC 1.19.2 | Pufferfish 1.19.2 | [Download latest](https://github.com/DivineMC/DivineMC/releases/tag/latest-1.19.2) | \ No newline at end of file +| Name | Fork Of | Download | +|:----------------------:|:-----------------:|:---------------------------------------------------------------------------------------------------------------:| +| DivineMC 1.20.6 (beta) | Purpur 1.20.6 | [Download latest](https://github.com/DivineMC/DivineMC/actions/workflows/build.yml?query=branch%3Aver%2F1.20.6) | +| DivineMC 1.20.4 | Purpur 1.20.4 | [Download latest](https://github.com/DivineMC/DivineMC/releases/tag/latest-1.20.4) | +| DivineMC 1.20.2 | Purpur 1.20.2 | [Download latest](https://github.com/DivineMC/DivineMC/releases/tag/latest-1.20.2) | +| DivineMC 1.20.1 | Purpur 1.20.1 | [Download latest](https://github.com/DivineMC/DivineMC/releases/tag/latest-1.20.1) | +| DivineMC 1.20 | Purpur 1.20 | [Download latest](https://github.com/DivineMC/DivineMC/releases/tag/latest-1.20) | +| DivineMC 1.19.4 | Purpur 1.19.4 | [Download latest](https://github.com/DivineMC/DivineMC/releases/tag/latest-1.19.4) | +| DivineMC 1.19.4 | Pufferfish 1.19.4 | [Download latest](https://github.com/DivineMC/DivineMC/releases/tag/release-109) | +| DivineMC 1.19.3 | Pufferfish 1.19.3 | [Download latest](https://github.com/DivineMC/DivineMC/releases/tag/latest-1.19.3) | +| DivineMC 1.19.2 | Pufferfish 1.19.2 | [Download latest](https://github.com/DivineMC/DivineMC/releases/tag/latest-1.19.2) | \ No newline at end of file diff --git a/patches/unapplied/server/0022-Do-not-process-chat-commands-before-player-has-joine.patch b/patches/removed/1.20/server/0022-Do-not-process-chat-commands-before-player-has-joine.patch similarity index 100% rename from patches/unapplied/server/0022-Do-not-process-chat-commands-before-player-has-joine.patch rename to patches/removed/1.20/server/0022-Do-not-process-chat-commands-before-player-has-joine.patch diff --git a/patches/unapplied/server/0028-lithium-collections.goals.patch b/patches/removed/1.20/server/0028-lithium-collections.goals.patch similarity index 100% rename from patches/unapplied/server/0028-lithium-collections.goals.patch rename to patches/removed/1.20/server/0028-lithium-collections.goals.patch diff --git a/patches/unapplied/server/0030-lithium-collections.attributes.patch b/patches/removed/1.20/server/0030-lithium-collections.attributes.patch similarity index 100% rename from patches/unapplied/server/0030-lithium-collections.attributes.patch rename to patches/removed/1.20/server/0030-lithium-collections.attributes.patch diff --git a/patches/unapplied/server/0010-Boat-Settings.patch b/patches/server/0016-Boat-Settings.patch similarity index 93% rename from patches/unapplied/server/0010-Boat-Settings.patch rename to patches/server/0016-Boat-Settings.patch index 40e3bcb..75c3832 100644 --- a/patches/unapplied/server/0010-Boat-Settings.patch +++ b/patches/server/0016-Boat-Settings.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Boat Settings diff --git a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java -index 5036941829e4d98adbcfb0354b35244c52fc4472..76ef5000bbd805c40e0c927dc709c20c17d72f79 100644 +index 13e1c7594bf304b35ce8dcab2951329c527d7dea..efb2fac41a546ba312f4925f206f0975a0336406 100644 --- a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java +++ b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java -@@ -338,7 +338,18 @@ public class Boat extends VehicleEntity implements VariantHolder { +@@ -331,7 +331,18 @@ public class Boat extends VehicleEntity implements VariantHolder { } if (!this.level().isClientSide && this.outOfControlTicks >= 60.0F) { @@ -28,7 +28,7 @@ index 5036941829e4d98adbcfb0354b35244c52fc4472..76ef5000bbd805c40e0c927dc709c20c } if (this.getHurtTime() > 0) { -@@ -853,7 +864,13 @@ public class Boat extends VehicleEntity implements VariantHolder { +@@ -850,7 +861,13 @@ public class Boat extends VehicleEntity implements VariantHolder { @Override public InteractionResult interact(Player player, InteractionHand hand) { @@ -43,7 +43,7 @@ index 5036941829e4d98adbcfb0354b35244c52fc4472..76ef5000bbd805c40e0c927dc709c20c } @Override -@@ -925,7 +942,13 @@ public class Boat extends VehicleEntity implements VariantHolder { +@@ -922,7 +939,13 @@ public class Boat extends VehicleEntity implements VariantHolder { @Override protected boolean canAddPassenger(Entity passenger) { diff --git a/patches/unapplied/server/0012-Despawn-shulker-bullets-on-owner-death.patch b/patches/server/0017-Despawn-shulker-bullets-on-owner-death.patch similarity index 93% rename from patches/unapplied/server/0012-Despawn-shulker-bullets-on-owner-death.patch rename to patches/server/0017-Despawn-shulker-bullets-on-owner-death.patch index 1c82200..197dd5c 100644 --- a/patches/unapplied/server/0012-Despawn-shulker-bullets-on-owner-death.patch +++ b/patches/server/0017-Despawn-shulker-bullets-on-owner-death.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Despawn shulker bullets on owner death diff --git a/src/main/java/net/minecraft/world/entity/projectile/ShulkerBullet.java b/src/main/java/net/minecraft/world/entity/projectile/ShulkerBullet.java -index 1c50c870e59c35a39c83a0f136ee5d3c70268763..51077190b147e58b547c059abf0088715b37fea8 100644 +index 8242d0f292120be6cf3d6dcec2820a35809d83dd..4404b39d0777b314797ef86efdb996464c6200a9 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/ShulkerBullet.java +++ b/src/main/java/net/minecraft/world/entity/projectile/ShulkerBullet.java -@@ -221,6 +221,17 @@ public class ShulkerBullet extends Projectile { +@@ -225,6 +225,17 @@ public class ShulkerBullet extends Projectile { Vec3 vec3d; if (!this.level().isClientSide) { diff --git a/patches/unapplied/server/0014-Reduce-sensor-work.patch b/patches/server/0018-Reduce-sensor-work.patch similarity index 93% rename from patches/unapplied/server/0014-Reduce-sensor-work.patch rename to patches/server/0018-Reduce-sensor-work.patch index 8d30227..89ccb8d 100644 --- a/patches/unapplied/server/0014-Reduce-sensor-work.patch +++ b/patches/server/0018-Reduce-sensor-work.patch @@ -7,10 +7,10 @@ Original project: Bloom-host/Petal Link: https://github.com/Bloom-host/Petal diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index d6705dce3bc8c1964184fe425386b3f3c0a8202e..56811b7068450a56818dcc03d1777d082df88d52 100644 +index 66c353e3dcca3704094ec71c38219bf74e7d7fbb..8b946ed4f252c2ae881e179183559bb9aa98ea79 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1046,20 +1046,19 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1068,20 +1068,19 @@ public abstract class LivingEntity extends Entity implements Attackable { } if (entity != null) { diff --git a/patches/unapplied/server/0017-Optimize-Paper-Event-Manager.patch b/patches/server/0019-Optimize-Paper-Event-Manager.patch similarity index 100% rename from patches/unapplied/server/0017-Optimize-Paper-Event-Manager.patch rename to patches/server/0019-Optimize-Paper-Event-Manager.patch diff --git a/patches/unapplied/server/0019-Make-entity-goals-public.patch b/patches/server/0020-Make-entity-goals-public.patch similarity index 67% rename from patches/unapplied/server/0019-Make-entity-goals-public.patch rename to patches/server/0020-Make-entity-goals-public.patch index 9715cf4..5634879 100644 --- a/patches/unapplied/server/0019-Make-entity-goals-public.patch +++ b/patches/server/0020-Make-entity-goals-public.patch @@ -5,28 +5,28 @@ Subject: [PATCH] Make entity goals public diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java -index 997ab942be9f742804041b07d607e7dd6473ba96..aea0b36a52b2e9794daf8043f6a4279e52fec931 100644 +index 539170813921de2dfcd7ef84dd7512d73cd27e68..b5609aae461d7b9353287d99a6ebe517e2b3b82e 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Bee.java +++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java -@@ -774,7 +774,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { - return pos.closerThan(this.blockPosition(), (double) distance); +@@ -757,7 +757,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { + this.hivePos = pos; } - private class BeePollinateGoal extends Bee.BaseBeeGoal { -+ public class BeePollinateGoal extends Bee.BaseBeeGoal { // DivineMC - private -> public ++ public class BeePollinateGoal extends Bee.BaseBeeGoal { private static final int MIN_POLLINATION_TICKS = 400; private static final int MIN_FIND_FLOWER_RETRY_COOLDOWN = 20; -@@ -963,7 +963,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { +@@ -946,7 +946,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { } } - private class BeeLookControl extends org.purpurmc.purpur.controller.LookControllerWASD { // Purpur + public class BeeLookControl extends org.purpurmc.purpur.controller.LookControllerWASD { // Purpur // DivineMC - private -> public - BeeLookControl(Mob entity) { + BeeLookControl(final Mob entity) { super(entity); -@@ -999,7 +999,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { +@@ -982,7 +982,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { } } @@ -35,7 +35,7 @@ index 997ab942be9f742804041b07d607e7dd6473ba96..aea0b36a52b2e9794daf8043f6a4279e BeeEnterHiveGoal() { super(); -@@ -1044,7 +1044,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { +@@ -1025,7 +1025,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { } } @@ -44,7 +44,7 @@ index 997ab942be9f742804041b07d607e7dd6473ba96..aea0b36a52b2e9794daf8043f6a4279e BeeLocateHiveGoal() { super(); -@@ -1276,7 +1276,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { +@@ -1257,7 +1257,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { } } @@ -53,7 +53,7 @@ index 997ab942be9f742804041b07d607e7dd6473ba96..aea0b36a52b2e9794daf8043f6a4279e static final int GROW_CHANCE = 30; -@@ -1340,7 +1340,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { +@@ -1321,7 +1321,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { } } @@ -62,16 +62,16 @@ index 997ab942be9f742804041b07d607e7dd6473ba96..aea0b36a52b2e9794daf8043f6a4279e private static final int WANDER_THRESHOLD = 22; -@@ -1387,7 +1387,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { +@@ -1368,7 +1368,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { } } - private class BeeHurtByOtherGoal extends HurtByTargetGoal { + public class BeeHurtByOtherGoal extends HurtByTargetGoal { // DivineMC - private -> public - BeeHurtByOtherGoal(Bee entitybee) { + BeeHurtByOtherGoal(final Bee entitybee) { super(entitybee); -@@ -1407,7 +1407,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { +@@ -1388,7 +1388,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { } } @@ -80,7 +80,7 @@ index 997ab942be9f742804041b07d607e7dd6473ba96..aea0b36a52b2e9794daf8043f6a4279e BeeBecomeAngryTargetGoal(Bee bee) { // Objects.requireNonNull(entitybee); // CraftBukkit - decompile error -@@ -1438,7 +1438,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { +@@ -1419,7 +1419,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { } } @@ -90,10 +90,10 @@ index 997ab942be9f742804041b07d607e7dd6473ba96..aea0b36a52b2e9794daf8043f6a4279e BaseBeeGoal() {} diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java -index 6af5e1dfcfd739e0bc857f648c189151d5a795c8..149ff2637ca70e26cb7a36ae35ed82508183daa7 100644 +index 3e1345f1c534320e07820d573f5c8dba49746425..26ddab27ac1ca1902f849f98d000ffb801610691 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Cat.java +++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java -@@ -568,7 +568,7 @@ public class Cat extends TamableAnimal implements VariantHolder { +@@ -575,7 +575,7 @@ public class Cat extends TamableAnimal implements VariantHolder { +@@ -721,7 +721,7 @@ public class Cat extends TamableAnimal implements VariantHolder(this, 1.0D, 8.0F)); - this.goalSelector.addGoal(8, new RandomStrollGoal(this, 0.6D)); - this.goalSelector.addGoal(9, new LookAtPlayerGoal(this, Player.class, 15.0F, 1.0F)); diff --git a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java -index 960b5e2c290f82501384f79d4653f47bedf926fb..1f382f864209a4c8f654d019b0a5907734d44d0d 100644 +index e7703aa5467e7551bff06fab4c11d76237bda2e0..e5944bd3598bd82b2891f576462013a4692c1609 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java +++ b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java -@@ -95,7 +95,7 @@ public class Vindicator extends AbstractIllager { +@@ -89,7 +89,7 @@ public class Vindicator extends AbstractIllager { this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur this.goalSelector.addGoal(1, new Vindicator.VindicatorBreakDoorGoal(this)); this.goalSelector.addGoal(2, new AbstractIllager.RaiderOpenDoorGoal(this)); @@ -138,10 +125,10 @@ index 960b5e2c290f82501384f79d4653f47bedf926fb..1f382f864209a4c8f654d019b0a59077 this.targetSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur this.targetSelector.addGoal(1, new HurtByTargetGoal(this, Raider.class).setAlertOthers()); diff --git a/src/main/java/net/minecraft/world/entity/raid/Raider.java b/src/main/java/net/minecraft/world/entity/raid/Raider.java -index b3912881892b4f1bca577761083c5da1568c8187..5e8c9177644896d8f9243c3e7ce903fcdc6e9fa2 100644 +index 4a8fa7e5844b5cd12ef6b113f988b715c7a3ef64..f6e89565e793d346302498c1108069d3435ab082 100644 --- a/src/main/java/net/minecraft/world/entity/raid/Raider.java +++ b/src/main/java/net/minecraft/world/entity/raid/Raider.java -@@ -355,7 +355,7 @@ public abstract class Raider extends PatrollingMonster { +@@ -374,7 +374,7 @@ public abstract class Raider extends PatrollingMonster { } } @@ -150,7 +137,7 @@ index b3912881892b4f1bca577761083c5da1568c8187..5e8c9177644896d8f9243c3e7ce903fc private final Raider raider; private final double speedModifier; -@@ -503,7 +503,7 @@ public abstract class Raider extends PatrollingMonster { +@@ -522,7 +522,7 @@ public abstract class Raider extends PatrollingMonster { } } diff --git a/patches/unapplied/server/0024-Optimize-CraftServer.getWorld-UUID.patch b/patches/server/0021-Optimize-CraftServer.getWorld-UUID.patch similarity index 77% rename from patches/unapplied/server/0024-Optimize-CraftServer.getWorld-UUID.patch rename to patches/server/0021-Optimize-CraftServer.getWorld-UUID.patch index b4bfa51..be067d2 100644 --- a/patches/unapplied/server/0024-Optimize-CraftServer.getWorld-UUID.patch +++ b/patches/server/0021-Optimize-CraftServer.getWorld-UUID.patch @@ -6,27 +6,26 @@ Subject: [PATCH] Optimize CraftServer.getWorld(UUID) Original code by MultiPaper - https://github.com/MultiPaper/MultiPaper diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 1e3c4131e9dd155e4a0830d4c3f76f7f93146fff..a59a786049bfe1ca341a6f8833163a01d51535c5 100644 +index 8d75e43d1c0d8a65ebbf146dcccd23509c236540..71b40f824949dedfe35fe3012b9715a7c598dfb8 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -265,6 +265,8 @@ import net.md_5.bungee.api.chat.BaseComponent; // Spigot - import javax.annotation.Nullable; // Paper +@@ -268,6 +268,7 @@ import javax.annotation.Nullable; // Paper import javax.annotation.Nonnull; // Paper + import space.bxteam.divinemc.configuration.DivineConfig; // DivineMC +import it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenHashMap; // DivineMC -+ + public final class CraftServer implements Server { private final String serverName = "DivineMC"; // Paper // Pufferfish // Purpur // DivineMC - private final String serverVersion; -@@ -281,6 +283,7 @@ public final class CraftServer implements Server { - protected final DedicatedServer console; +@@ -286,6 +287,7 @@ public final class CraftServer implements Server { protected final DedicatedPlayerList playerList; private final Map worlds = new LinkedHashMap(); + // private final Map, Registry> registries = new HashMap<>(); // Paper - replace with RegistryAccess + private final Map worldsByUUID = new Object2ObjectLinkedOpenHashMap<>(); // DivineMC - MultiPaper - optimize getWorld(UUID) - private final Map, Registry> registries = new HashMap<>(); private YamlConfiguration configuration; private YamlConfiguration commandsConfiguration; -@@ -1481,6 +1484,7 @@ public final class CraftServer implements Server { + private final Yaml yaml = new Yaml(new SafeConstructor(new LoaderOptions())); +@@ -1483,6 +1485,7 @@ public final class CraftServer implements Server { this.getLogger().log(Level.SEVERE, null, ex); } @@ -34,7 +33,7 @@ index 1e3c4131e9dd155e4a0830d4c3f76f7f93146fff..a59a786049bfe1ca341a6f8833163a01 this.worlds.remove(world.getName().toLowerCase(java.util.Locale.ENGLISH)); this.console.removeLevel(handle); return true; -@@ -1499,6 +1503,7 @@ public final class CraftServer implements Server { +@@ -1501,6 +1504,7 @@ public final class CraftServer implements Server { @Override public World getWorld(UUID uid) { @@ -42,7 +41,7 @@ index 1e3c4131e9dd155e4a0830d4c3f76f7f93146fff..a59a786049bfe1ca341a6f8833163a01 for (World world : this.worlds.values()) { if (world.getUID().equals(uid)) { return world; -@@ -1522,6 +1527,7 @@ public final class CraftServer implements Server { +@@ -1524,6 +1528,7 @@ public final class CraftServer implements Server { System.out.println("World " + world.getName() + " is a duplicate of another world and has been prevented from loading. Please delete the uid.dat file from " + world.getName() + "'s world directory if you want to be able to load the duplicate world."); return; } diff --git a/patches/unapplied/server/0026-Carpet-Fixes-getBiome-Optimize.patch b/patches/server/0022-Carpet-Fixes-getBiome-Optimize.patch similarity index 95% rename from patches/unapplied/server/0026-Carpet-Fixes-getBiome-Optimize.patch rename to patches/server/0022-Carpet-Fixes-getBiome-Optimize.patch index 46033c1..7d5f107 100644 --- a/patches/unapplied/server/0026-Carpet-Fixes-getBiome-Optimize.patch +++ b/patches/server/0022-Carpet-Fixes-getBiome-Optimize.patch @@ -152,16 +152,16 @@ index 01352cc83b25eb0e30b7e0ff521fc7c1b3d5155b..c042287e12b5ce814afe8557e4dfa8e8 public Holder getNoiseBiomeAtPosition(double x, double y, double z) { diff --git a/src/main/java/space/bxteam/divinemc/configuration/DivineConfig.java b/src/main/java/space/bxteam/divinemc/configuration/DivineConfig.java -index 6cf0675cf5affb989e75d6a1cbab69f0a3ce1e34..50db7431ec4a05a73ba3a5fb04b4c68427628982 100644 +index c10403d781d25e4bb9e43d3f064fb1aebde00bfb..73b6c3590dad95cddd9cc1a1cff36492175da232 100644 --- a/src/main/java/space/bxteam/divinemc/configuration/DivineConfig.java +++ b/src/main/java/space/bxteam/divinemc/configuration/DivineConfig.java -@@ -164,7 +164,9 @@ public class DivineConfig { +@@ -152,4 +152,9 @@ public class DivineConfig { + } + return builder.build(); } - - public static boolean recipeManagerOptimization = true; ++ + public static boolean biomeManagerOptimization = true; - private static void optimizations() { - recipeManagerOptimization = getBoolean("settings.optimizations.recipe-manager-optimization", recipeManagerOptimization); ++ private static void optimizations() { + biomeManagerOptimization = getBoolean("settings.optimizations.biome-manager-optimization", biomeManagerOptimization); - } ++ } } diff --git a/patches/unapplied/server/0025-Carpet-Fixes-RecipeManager-Optimize.patch b/patches/server/0023-Carpet-Fixes-RecipeManager-Optimize.patch similarity index 64% rename from patches/unapplied/server/0025-Carpet-Fixes-RecipeManager-Optimize.patch rename to patches/server/0023-Carpet-Fixes-RecipeManager-Optimize.patch index 93e128e..16a712c 100644 --- a/patches/unapplied/server/0025-Carpet-Fixes-RecipeManager-Optimize.patch +++ b/patches/server/0023-Carpet-Fixes-RecipeManager-Optimize.patch @@ -7,46 +7,46 @@ Original project: https://github.com/fxmorin/carpet-fixes Improves: [Blast]Furnace/Campfire/Smoker/Stonecutter/Crafting/Sheep Color Choosing diff --git a/src/main/java/net/minecraft/world/item/crafting/RecipeManager.java b/src/main/java/net/minecraft/world/item/crafting/RecipeManager.java -index d87124f5356180a37e581febc6141fdc5f1395a7..4ae4d1203df960c109c1b70d6d710eaa00537008 100644 +index a31326e24cb68472c81cd781c5e3041772712862..6113cf0ff4090e06c40a6f439fde07bf74a34745 100644 --- a/src/main/java/net/minecraft/world/item/crafting/RecipeManager.java +++ b/src/main/java/net/minecraft/world/item/crafting/RecipeManager.java -@@ -11,14 +11,9 @@ import com.google.gson.JsonParseException; - import com.mojang.datafixers.util.Pair; +@@ -12,15 +12,7 @@ import com.google.gson.JsonObject; + import com.google.gson.JsonParseException; import com.mojang.logging.LogUtils; import com.mojang.serialization.JsonOps; -import java.util.Collection; --import java.util.Collections; -import java.util.Comparator; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -+ -+import java.util.*; - import java.util.Map.Entry; +-import java.util.Map.Entry; -import java.util.Optional; - import java.util.stream.Collectors; - import java.util.stream.Stream; +-import java.util.stream.Collectors; +-import java.util.stream.Stream; ++import java.util.*; import javax.annotation.Nullable; -@@ -137,7 +132,7 @@ public class RecipeManager extends SimpleJsonResourceReloadListener { + import net.minecraft.core.HolderLookup; + import net.minecraft.core.NonNullList; +@@ -132,7 +124,7 @@ public class RecipeManager extends SimpleJsonResourceReloadListener { } public > List> getAllRecipesFor(RecipeType type) { -- return List.copyOf(this.byType(type).values()); -+ return space.bxteam.divinemc.configuration.DivineConfig.recipeManagerOptimization ? new ArrayList<>(this.byType(type).values()) : List.copyOf(this.byType(type).values()); // DivineMC - Carpet-Fixes: RecipeManager Optimize +- return List.copyOf(this.byType(type)); ++ return space.bxteam.divinemc.configuration.DivineConfig.recipeManagerOptimization ? new ArrayList<>(this.byType(type)) : List.copyOf(this.byType(type)); // DivineMC - Carpet-Fixes: RecipeManager Optimize } public > List> getRecipesFor(RecipeType type, C inventory, Level world) { diff --git a/src/main/java/space/bxteam/divinemc/configuration/DivineConfig.java b/src/main/java/space/bxteam/divinemc/configuration/DivineConfig.java -index b9223f4778de0c2ed6efed6f8c192cb0212cbda8..6cf0675cf5affb989e75d6a1cbab69f0a3ce1e34 100644 +index 73b6c3590dad95cddd9cc1a1cff36492175da232..67ff4450b58c1df2f595a136c53d60bbefa2e8d5 100644 --- a/src/main/java/space/bxteam/divinemc/configuration/DivineConfig.java +++ b/src/main/java/space/bxteam/divinemc/configuration/DivineConfig.java -@@ -162,4 +162,9 @@ public class DivineConfig { - private static void chatMessageSignatures() { - chatMessageSignatures = getBoolean("settings.disable-chat-reports", chatMessageSignatures); +@@ -154,7 +154,9 @@ public class DivineConfig { } -+ + + public static boolean biomeManagerOptimization = true; + public static boolean recipeManagerOptimization = true; -+ private static void optimizations() { + private static void optimizations() { + biomeManagerOptimization = getBoolean("settings.optimizations.biome-manager-optimization", biomeManagerOptimization); + recipeManagerOptimization = getBoolean("settings.optimizations.recipe-manager-optimization", recipeManagerOptimization); -+ } + } } diff --git a/patches/unapplied/server/0037-vmp-skip-entity-move-if-movement-is-zero.patch b/patches/server/0024-vmp-skip-entity-move-if-movement-is-zero.patch similarity index 81% rename from patches/unapplied/server/0037-vmp-skip-entity-move-if-movement-is-zero.patch rename to patches/server/0024-vmp-skip-entity-move-if-movement-is-zero.patch index 1f40966..b26ea2d 100644 --- a/patches/unapplied/server/0037-vmp-skip-entity-move-if-movement-is-zero.patch +++ b/patches/server/0024-vmp-skip-entity-move-if-movement-is-zero.patch @@ -7,10 +7,10 @@ Original code by RelativityMC, licensed under MIT 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 -index 2702de4408df4c74fef1951add2e38d92abc144c..30b72f4434b9fe9e490890c30400d058ecf3fa13 100644 +index 288edb7bcf2159822d6bd14e9a6378a8bad0c689..0acd53f74682b968828c539055c7a7cb6f3dc705 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -317,6 +317,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -320,6 +320,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess public float yRotO; public float xRotO; private AABB bb; @@ -18,7 +18,7 @@ index 2702de4408df4c74fef1951add2e38d92abc144c..30b72f4434b9fe9e490890c30400d058 public boolean onGround; public boolean horizontalCollision; public boolean verticalCollision; -@@ -1119,6 +1120,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -1153,6 +1154,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess // Paper end - detailed watchdog information public void move(MoverType movementType, Vec3 movement) { @@ -31,7 +31,7 @@ index 2702de4408df4c74fef1951add2e38d92abc144c..30b72f4434b9fe9e490890c30400d058 final Vec3 originalMovement = movement; // Paper - Expose pre-collision velocity // Paper start - detailed watchdog information io.papermc.paper.util.TickThread.ensureTickThread("Cannot move an entity off-main"); -@@ -4165,6 +4172,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -4217,6 +4224,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } public final void setBoundingBox(AABB boundingBox) { diff --git a/patches/unapplied/server/0034-vmp-use-linked-map-for-entity-trackers-for-faster-it.patch b/patches/server/0025-vmp-use-linked-map-for-entity-trackers-for-faster-it.patch similarity index 88% rename from patches/unapplied/server/0034-vmp-use-linked-map-for-entity-trackers-for-faster-it.patch rename to patches/server/0025-vmp-use-linked-map-for-entity-trackers-for-faster-it.patch index d634534..6fe98a8 100644 --- a/patches/unapplied/server/0034-vmp-use-linked-map-for-entity-trackers-for-faster-it.patch +++ b/patches/server/0025-vmp-use-linked-map-for-entity-trackers-for-faster-it.patch @@ -7,10 +7,10 @@ Original code by RelativityMC, licensed under MIT 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 -index bb412ca874b85d777c0e3565fcefcee15b23182b..e0a52d5b74754a5b30a1fc250b5a2200682b748b 100644 +index 4e6fccec4f5ca14562bf5bae495ac36c14982d85..be8870d01262b37d130d518a500db7117f568950 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java -@@ -107,6 +107,8 @@ import org.slf4j.Logger; +@@ -110,6 +110,8 @@ import org.slf4j.Logger; import org.bukkit.craftbukkit.generator.CustomChunkGenerator; // CraftBukkit end @@ -19,7 +19,7 @@ index bb412ca874b85d777c0e3565fcefcee15b23182b..e0a52d5b74754a5b30a1fc250b5a2200 public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider { private static final byte CHUNK_TYPE_REPLACEABLE = -1; -@@ -251,7 +253,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -254,7 +256,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider // Paper - rewrite chunk system this.tickingGenerated = new AtomicInteger(); this.playerMap = new PlayerMap(); diff --git a/patches/unapplied/server/0027-lithium-ai.raid.patch b/patches/server/0026-lithium-ai.raid.patch similarity index 90% rename from patches/unapplied/server/0027-lithium-ai.raid.patch rename to patches/server/0026-lithium-ai.raid.patch index 1678481..06f6f4b 100644 --- a/patches/unapplied/server/0027-lithium-ai.raid.patch +++ b/patches/server/0026-lithium-ai.raid.patch @@ -10,10 +10,10 @@ As part of: Lithium (https://github.com/CaffeineMC/lithium-fabric) Licensed under: LGPL-3.0 (https://www.gnu.org/licenses/lgpl-3.0.html) diff --git a/src/main/java/net/minecraft/world/entity/raid/Raid.java b/src/main/java/net/minecraft/world/entity/raid/Raid.java -index bf2c23fad919820512ce031cf28a000b249b2876..85f56c79d60fa5b5a269b044c5b3710ef30a827d 100644 +index fdff9788eaf663be79214b2ca491f0f0444f6136..e09f137f4f412eee55a18c0d14593f7b5b7c6319 100644 --- a/src/main/java/net/minecraft/world/entity/raid/Raid.java +++ b/src/main/java/net/minecraft/world/entity/raid/Raid.java -@@ -106,6 +106,7 @@ public class Raid { +@@ -110,6 +110,7 @@ public class Raid { private Raid.RaidStatus status; private int celebrationTicks; private Optional waveSpawnPos; @@ -21,7 +21,7 @@ index bf2c23fad919820512ce031cf28a000b249b2876..85f56c79d60fa5b5a269b044c5b3710e // Paper start private static final String PDC_NBT_KEY = "BukkitValues"; private static final org.bukkit.craftbukkit.persistence.CraftPersistentDataTypeRegistry PDC_TYPE_REGISTRY = new org.bukkit.craftbukkit.persistence.CraftPersistentDataTypeRegistry(); -@@ -283,6 +284,12 @@ public class Raid { +@@ -295,6 +296,12 @@ public class Raid { public void tick() { if (!this.isStopped()) { @@ -34,7 +34,7 @@ index bf2c23fad919820512ce031cf28a000b249b2876..85f56c79d60fa5b5a269b044c5b3710e if (this.status == Raid.RaidStatus.ONGOING) { boolean flag = this.active; -@@ -651,9 +658,15 @@ public class Raid { +@@ -663,9 +670,15 @@ public class Raid { } diff --git a/patches/unapplied/server/0029-lithium-collections.gamerules.patch b/patches/server/0027-lithium-collections.gamerules.patch similarity index 85% rename from patches/unapplied/server/0029-lithium-collections.gamerules.patch rename to patches/server/0027-lithium-collections.gamerules.patch index 73ef1c2..37fc0c7 100644 --- a/patches/unapplied/server/0029-lithium-collections.gamerules.patch +++ b/patches/server/0027-lithium-collections.gamerules.patch @@ -7,10 +7,10 @@ Original code by CaffeineMC, licensed under LGPL v3 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 -index 4a340bd1f1859e43bb58e68aee4018fdb4ca7a5a..7f9345b195fe34129b28dd6c486abe9a1582364c 100644 +index 89e327bc3a45879fe68887c7aadb077f31a770eb..bb0fcf15fa49d6b352b11d4cffe4e2c8b0fe5c30 100644 --- a/src/main/java/net/minecraft/world/level/GameRules.java +++ b/src/main/java/net/minecraft/world/level/GameRules.java -@@ -28,6 +28,7 @@ import net.minecraft.server.MinecraftServer; +@@ -30,6 +30,7 @@ import net.minecraft.server.MinecraftServer; import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import org.slf4j.Logger; @@ -18,7 +18,7 @@ index 4a340bd1f1859e43bb58e68aee4018fdb4ca7a5a..7f9345b195fe34129b28dd6c486abe9a public class GameRules { -@@ -142,7 +143,7 @@ public class GameRules { +@@ -149,7 +150,7 @@ public class GameRules { } private GameRules(Map, GameRules.Value> rules) { diff --git a/patches/unapplied/server/0031-lithium-collections.entity_by_type.patch b/patches/server/0028-lithium-collections.entity_by_type.patch similarity index 91% rename from patches/unapplied/server/0031-lithium-collections.entity_by_type.patch rename to patches/server/0028-lithium-collections.entity_by_type.patch index 76f7068..2888f25 100644 --- a/patches/unapplied/server/0031-lithium-collections.entity_by_type.patch +++ b/patches/server/0028-lithium-collections.entity_by_type.patch @@ -7,7 +7,7 @@ Original code by CaffeineMC, licensed under LGPL v3 You can find the original code on https://github.com/CaffeineMC/lithium-fabric (Yarn mappings) diff --git a/src/main/java/net/minecraft/util/ClassInstanceMultiMap.java b/src/main/java/net/minecraft/util/ClassInstanceMultiMap.java -index ebad17e6ec90a7f385cd38c5ec6c2772798d4562..535359546393de76b86fd4e66fc5d9faebb5c854 100644 +index 038710ba934a9a57815dfe9f414b98223b848385..f631aa8bc724d0fc899783967417c3e01aac3c9c 100644 --- a/src/main/java/net/minecraft/util/ClassInstanceMultiMap.java +++ b/src/main/java/net/minecraft/util/ClassInstanceMultiMap.java @@ -3,7 +3,6 @@ package net.minecraft.util; @@ -21,7 +21,7 @@ index ebad17e6ec90a7f385cd38c5ec6c2772798d4562..535359546393de76b86fd4e66fc5d9fa @@ -12,9 +11,10 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; - import java.util.stream.Collectors; + import net.minecraft.Util; +import it.unimi.dsi.fastutil.objects.Reference2ReferenceOpenHashMap; // DivineMC public class ClassInstanceMultiMap extends AbstractCollection { diff --git a/patches/unapplied/server/0032-lithium-entity.fast_elytra_check-entity.fast_hand_sw.patch b/patches/server/0029-lithium-entity.fast_elytra_check-entity.fast_hand_sw.patch similarity index 84% rename from patches/unapplied/server/0032-lithium-entity.fast_elytra_check-entity.fast_hand_sw.patch rename to patches/server/0029-lithium-entity.fast_elytra_check-entity.fast_hand_sw.patch index f119a3a..49acb32 100644 --- a/patches/unapplied/server/0032-lithium-entity.fast_elytra_check-entity.fast_hand_sw.patch +++ b/patches/server/0029-lithium-entity.fast_elytra_check-entity.fast_hand_sw.patch @@ -7,10 +7,10 @@ Original code by CaffeineMC, licensed under LGPL v3 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 -index b48736a9f60c92d904e31f1faaacb6caf47d4070..45b51affcdafc6afb5cf6fd043310c85eb3fb7d1 100644 +index 8b946ed4f252c2ae881e179183559bb9aa98ea79..9a29daf32c31a33babb5526bbf21907aaa0aeca3 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -2623,6 +2623,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2653,6 +2653,7 @@ public abstract class LivingEntity extends Entity implements Attackable { } protected void updateSwingTime() { @@ -18,7 +18,7 @@ index b48736a9f60c92d904e31f1faaacb6caf47d4070..45b51affcdafc6afb5cf6fd043310c85 int i = this.getCurrentSwingDuration(); if (this.swinging) { -@@ -3660,6 +3661,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3626,6 +3627,7 @@ public abstract class LivingEntity extends Entity implements Attackable { } private void updateFallFlying() { diff --git a/patches/unapplied/server/0042-lithium-precompute-shape-arrays.patch b/patches/server/0030-lithium-precompute-shape-arrays.patch similarity index 95% rename from patches/unapplied/server/0042-lithium-precompute-shape-arrays.patch rename to patches/server/0030-lithium-precompute-shape-arrays.patch index 423e83c..2ce7ca6 100644 --- a/patches/unapplied/server/0042-lithium-precompute-shape-arrays.patch +++ b/patches/server/0030-lithium-precompute-shape-arrays.patch @@ -7,10 +7,10 @@ Original code by CaffeineMC, licensed under LGPL v3 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 -index 84a760fdc50bdafc9150f977e9c5d557a30ee220..8bfe5c8c559d5e68f5b95bea37f63363b343e9b1 100644 +index ab289a6ca85459e03acb2089c6b9e931caa9c873..377e327432ae2ba7edde7fac807d542f16568e3d 100644 --- a/src/main/java/net/minecraft/core/Direction.java +++ b/src/main/java/net/minecraft/core/Direction.java -@@ -39,7 +39,7 @@ public enum Direction implements StringRepresentable { +@@ -46,7 +46,7 @@ public enum Direction implements StringRepresentable { private final Direction.Axis axis; private final Direction.AxisDirection axisDirection; private final Vec3i normal; diff --git a/patches/unapplied/server/0033-Carpet-Fixes-Sheep-Optimization.patch b/patches/server/0031-Carpet-Fixes-Sheep-Optimization.patch similarity index 94% rename from patches/unapplied/server/0033-Carpet-Fixes-Sheep-Optimization.patch rename to patches/server/0031-Carpet-Fixes-Sheep-Optimization.patch index 3830d66..d0f95b0 100644 --- a/patches/unapplied/server/0033-Carpet-Fixes-Sheep-Optimization.patch +++ b/patches/server/0031-Carpet-Fixes-Sheep-Optimization.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Carpet-Fixes: Sheep Optimization Original project: https://github.com/fxmorin/carpet-fixes diff --git a/src/main/java/net/minecraft/world/entity/animal/Sheep.java b/src/main/java/net/minecraft/world/entity/animal/Sheep.java -index 658f7943d275267d3fc556572831cc095259d12e..5ee9005f65edcfc3e3d20198ec1f69108a6f8205 100644 +index 6b1244d3957e7f62c96ffd34692b8916337839fd..994d81bb16040439ecbdf427dfde70d255a9076c 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Sheep.java +++ b/src/main/java/net/minecraft/world/entity/animal/Sheep.java -@@ -70,6 +70,7 @@ import net.minecraft.world.item.Item; +@@ -68,6 +68,7 @@ import net.minecraft.world.item.Item; import org.bukkit.craftbukkit.event.CraftEventFactory; import org.bukkit.event.entity.SheepRegrowWoolEvent; import org.bukkit.inventory.InventoryView; @@ -17,8 +17,8 @@ index 658f7943d275267d3fc556572831cc095259d12e..5ee9005f65edcfc3e3d20198ec1f6910 // CraftBukkit end public class Sheep extends Animal implements Shearable { -@@ -457,21 +458,30 @@ public class Sheep extends Animal implements Shearable { - return super.finalizeSpawn(world, difficulty, spawnReason, entityData, entityNbt); +@@ -460,21 +461,30 @@ public class Sheep extends Animal implements Shearable { + return super.finalizeSpawn(world, difficulty, spawnReason, entityData); } + // DivineMC start - Carpet-Fixes: Sheep Optimization @@ -62,17 +62,17 @@ index 658f7943d275267d3fc556572831cc095259d12e..5ee9005f65edcfc3e3d20198ec1f6910 private static CraftingContainer makeContainer(DyeColor firstColor, DyeColor secondColor) { TransientCraftingContainer transientcraftingcontainer = new TransientCraftingContainer(new AbstractContainerMenu((MenuType) null, -1) { diff --git a/src/main/java/space/bxteam/divinemc/configuration/DivineConfig.java b/src/main/java/space/bxteam/divinemc/configuration/DivineConfig.java -index 50db7431ec4a05a73ba3a5fb04b4c68427628982..15e0aa2a82a0be51ef04736ec636932092b34b32 100644 +index 67ff4450b58c1df2f595a136c53d60bbefa2e8d5..13ea61e380ea8d0772107b06008bf86e274e5f91 100644 --- a/src/main/java/space/bxteam/divinemc/configuration/DivineConfig.java +++ b/src/main/java/space/bxteam/divinemc/configuration/DivineConfig.java -@@ -165,8 +165,10 @@ public class DivineConfig { +@@ -155,8 +155,10 @@ public class DivineConfig { - public static boolean recipeManagerOptimization = true; public static boolean biomeManagerOptimization = true; + public static boolean recipeManagerOptimization = true; + public static boolean sheepOptimization = true; private static void optimizations() { - recipeManagerOptimization = getBoolean("settings.optimizations.recipe-manager-optimization", recipeManagerOptimization); biomeManagerOptimization = getBoolean("settings.optimizations.biome-manager-optimization", biomeManagerOptimization); + recipeManagerOptimization = getBoolean("settings.optimizations.recipe-manager-optimization", recipeManagerOptimization); + sheepOptimization = getBoolean("settings.optimizations.sheep-optimization", sheepOptimization); } } diff --git a/patches/unapplied/server/0041-Snowball-and-Egg-knockback.patch b/patches/server/0032-Snowball-and-Egg-knockback.patch similarity index 89% rename from patches/unapplied/server/0041-Snowball-and-Egg-knockback.patch rename to patches/server/0032-Snowball-and-Egg-knockback.patch index eeb6fa9..72b2920 100644 --- a/patches/unapplied/server/0041-Snowball-and-Egg-knockback.patch +++ b/patches/server/0032-Snowball-and-Egg-knockback.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Snowball and Egg knockback diff --git a/src/main/java/net/minecraft/world/entity/projectile/Snowball.java b/src/main/java/net/minecraft/world/entity/projectile/Snowball.java -index bb61e1132c28274175215a679befdcfa2496b099..8598b0ea5f4f847fa14ac5c3b32ba010bf909d6e 100644 +index 1b9d0e28e518c501b4b93ae385ddd64aeade97d5..727df038b20bb826a630d3f2c835c7ad7d9d651e 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/Snowball.java +++ b/src/main/java/net/minecraft/world/entity/projectile/Snowball.java @@ -3,6 +3,7 @@ package net.minecraft.world.entity.projectile; @@ -51,12 +51,12 @@ index 82bb8004635865f5202578d5a6f520048e7269d5..f1ac568258170d76c242d4083c080ae5 @Override diff --git a/src/main/java/space/bxteam/divinemc/configuration/DivineWorldConfig.java b/src/main/java/space/bxteam/divinemc/configuration/DivineWorldConfig.java -index 8b65a405a9a1f03c4df78aed5a587fe5eb7fd54a..7b3e5f1c8d917e42944639795dd260ae8674ab96 100644 +index 7e62ee9418d5add5b0b4ddb885d3a1745ce799b2..242da697c957508c8e75bfd232c44ea34ba3a62a 100644 --- a/src/main/java/space/bxteam/divinemc/configuration/DivineWorldConfig.java +++ b/src/main/java/space/bxteam/divinemc/configuration/DivineWorldConfig.java -@@ -120,4 +120,11 @@ public class DivineWorldConfig { - } - linearCrashOnBrokenSymlink = getBoolean("region-format.linear.crash-on-broken-symlink", linearCrashOnBrokenSymlink); +@@ -94,4 +94,11 @@ public class DivineWorldConfig { + private void despawnShulkerBulletsOnOwnerDeath() { + despawnShulkerBulletsOnOwnerDeath = getBoolean("gameplay-mechanics.mob.shulker.despawn-bullets-on-player-death", despawnShulkerBulletsOnOwnerDeath); } + + public boolean snowballCanKnockback = true; diff --git a/patches/unapplied/server/0036-Suppress-errors-from-dirty-attributes.patch b/patches/server/0033-Suppress-errors-from-dirty-attributes.patch similarity index 81% rename from patches/unapplied/server/0036-Suppress-errors-from-dirty-attributes.patch rename to patches/server/0033-Suppress-errors-from-dirty-attributes.patch index 7b55403..d97e064 100644 --- a/patches/unapplied/server/0036-Suppress-errors-from-dirty-attributes.patch +++ b/patches/server/0033-Suppress-errors-from-dirty-attributes.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Suppress errors from dirty attributes diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java -index 04b98e23eed926d8473cc2464e04a5b9f18f1140..68463f809aea61d818fc428f1c8b80682b05538b 100644 +index 39e7dcf3c92c9203c190782be401c00c010b8aeb..78ce9687a163255098eb8408dacefa1c9525b636 100644 --- a/src/main/java/net/minecraft/server/level/ServerEntity.java +++ b/src/main/java/net/minecraft/server/level/ServerEntity.java @@ -386,7 +386,10 @@ public class ServerEntity { @@ -30,12 +30,12 @@ index 04b98e23eed926d8473cc2464e04a5b9f18f1140..68463f809aea61d818fc428f1c8b8068 } diff --git a/src/main/java/space/bxteam/divinemc/configuration/DivineWorldConfig.java b/src/main/java/space/bxteam/divinemc/configuration/DivineWorldConfig.java -index 7e62ee9418d5add5b0b4ddb885d3a1745ce799b2..53082033dfb58b8097ac326025472ef64358b890 100644 +index 242da697c957508c8e75bfd232c44ea34ba3a62a..d94c51ea18d299dd52b9a8521a9cdc0d95b79356 100644 --- a/src/main/java/space/bxteam/divinemc/configuration/DivineWorldConfig.java +++ b/src/main/java/space/bxteam/divinemc/configuration/DivineWorldConfig.java -@@ -94,4 +94,9 @@ public class DivineWorldConfig { - private void despawnShulkerBulletsOnOwnerDeath() { - despawnShulkerBulletsOnOwnerDeath = getBoolean("gameplay-mechanics.mob.shulker.despawn-bullets-on-player-death", despawnShulkerBulletsOnOwnerDeath); +@@ -101,4 +101,9 @@ public class DivineWorldConfig { + snowballCanKnockback = getBoolean("gameplay-mechanics.projectiles.snowball.knockback", snowballCanKnockback); + eggCanKnockback = getBoolean("gameplay-mechanics.projectiles.egg.knockback", eggCanKnockback); } + + public boolean suppressErrorsFromDirtyAttributes = true;