diff --git a/lophine-server/minecraft-patches/features/0005-Add-config-to-enable-datapack-command.patch b/lophine-server/minecraft-patches/features/0005-Add-config-to-enable-datapack-command.patch new file mode 100644 index 0000000..2c75afb --- /dev/null +++ b/lophine-server/minecraft-patches/features/0005-Add-config-to-enable-datapack-command.patch @@ -0,0 +1,34 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Helvetica Volubi +Date: Wed, 2 Jul 2025 23:36:25 +0800 +Subject: [PATCH] Add config to enable datapack command + + +diff --git a/net/minecraft/commands/Commands.java b/net/minecraft/commands/Commands.java +index 0d5ed9602492c8393088954105e9a19032067b8b..e2fc15d84fafde6847ecead23c55169449275e1b 100644 +--- a/net/minecraft/commands/Commands.java ++++ b/net/minecraft/commands/Commands.java +@@ -192,7 +192,9 @@ public class Commands { + if(me.earthme.luminol.config.modules.experiment.CommandDataConfig.enabled) { + DataCommands.register(this.dispatcher); // Folia - region threading - TODO + } +- //DataPackCommand.register(this.dispatcher, context); // Folia - region threading - TODO ++ if (fun.bm.lophine.config.modules.experiment.CommandConfig.datapack) { ++ DataPackCommand.register(this.dispatcher, context); // Folia - region threading - TODO ++ } + //DebugCommand.register(this.dispatcher); // Folia - region threading - TODO + DefaultGameModeCommands.register(this.dispatcher); + //DialogCommand.register(this.dispatcher, context); // Folia - region threading - TODO +diff --git a/net/minecraft/server/commands/DataPackCommand.java b/net/minecraft/server/commands/DataPackCommand.java +index 3eaa9c85d06f6ecc8ed639d8befa861439390eb7..6b649bf5b00126f62801a1bfa5e205d5f9c4d071 100644 +--- a/net/minecraft/server/commands/DataPackCommand.java ++++ b/net/minecraft/server/commands/DataPackCommand.java +@@ -238,7 +238,7 @@ public class DataPackCommand { + List list = Lists.newArrayList(packRepository.getSelectedPacks()); + priorityCallback.apply(list, pack); + source.sendSuccess(() -> Component.translatable("commands.datapack.modify.enable", pack.getChatLink(true)), true); +- ReloadCommand.reloadPacks(list.stream().map(Pack::getId).collect(Collectors.toList()), source); ++ // ReloadCommand.reloadPacks(list.stream().map(Pack::getId).collect(Collectors.toList()), source); // Lophine - region thread skip reload // TODO - add reload support + return list.size(); + } + diff --git a/lophine-server/minecraft-patches/features/0005-Add-config-to-revert-raid-changes.patch b/lophine-server/minecraft-patches/features/0006-Add-config-to-revert-raid-changes.patch similarity index 97% rename from lophine-server/minecraft-patches/features/0005-Add-config-to-revert-raid-changes.patch rename to lophine-server/minecraft-patches/features/0006-Add-config-to-revert-raid-changes.patch index a769826..9ab0b9d 100644 --- a/lophine-server/minecraft-patches/features/0005-Add-config-to-revert-raid-changes.patch +++ b/lophine-server/minecraft-patches/features/0006-Add-config-to-revert-raid-changes.patch @@ -3,6 +3,9 @@ From: Helvetica Volubi Date: Fri, 11 Apr 2025 16:53:57 +0800 Subject: [PATCH] Add config to revert raid changes +Co-authored by: huanli233 <392352840@qq.com> +Some of changes is a part of : Leaves (https://github.com/LeavesMC/Leaves/blob/b5793e809b6346e16b7ea218496806a312562e27/leaves-server/minecraft-patches/features/0106-Revert-raid-changes.patch) +Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) diff --git a/net/minecraft/world/effect/BadOmenMobEffect.java b/net/minecraft/world/effect/BadOmenMobEffect.java index 80f17f33f670018240c854df589cf90cdeab6e70..985f27d249810bf133a520d937b7006e57f553ec 100644 diff --git a/lophine-server/minecraft-patches/features/0006-Add-config-to-enable-Cross-Region-Damage-trace.patch b/lophine-server/minecraft-patches/features/0007-Add-config-to-enable-Cross-Region-Damage-trace.patch similarity index 97% rename from lophine-server/minecraft-patches/features/0006-Add-config-to-enable-Cross-Region-Damage-trace.patch rename to lophine-server/minecraft-patches/features/0007-Add-config-to-enable-Cross-Region-Damage-trace.patch index 796d26a..c94fe1d 100644 --- a/lophine-server/minecraft-patches/features/0006-Add-config-to-enable-Cross-Region-Damage-trace.patch +++ b/lophine-server/minecraft-patches/features/0007-Add-config-to-enable-Cross-Region-Damage-trace.patch @@ -134,7 +134,7 @@ index 19b44e5b5c4c0b7caee7f67420ac4732da52c375..b66d4ccaff4a3168d08b36590bd42d66 return (float)this.getAttributeValue(Attributes.MAX_HEALTH); } diff --git a/net/minecraft/world/entity/raid/Raider.java b/net/minecraft/world/entity/raid/Raider.java -index 510514e363f4816a6e286fb9b5488153e03c9e55..89d6e4deebba271d3a73e296cf0015f407c224b0 100644 +index 510514e363f4816a6e286fb9b5488153e03c9e55..4638af10539a316acae64fb26881c8e699c496e0 100644 --- a/net/minecraft/world/entity/raid/Raider.java +++ b/net/minecraft/world/entity/raid/Raider.java @@ -157,7 +157,13 @@ public abstract class Raider extends PatrollingMonster { @@ -142,8 +142,8 @@ index 510514e363f4816a6e286fb9b5488153e03c9e55..89d6e4deebba271d3a73e296cf0015f4 if (!serverLevel.getGameRules().getBoolean(net.minecraft.world.level.GameRules.RULE_DISABLE_RAIDS)) { - entityhuman.addEffect(mobeffect1, entityhuman, org.bukkit.event.entity.EntityPotionEffectEvent.Cause.PATROL_CAPTAIN, true); // CraftBukkit ++ // Luminol start - Raid changes adapt DamageSource trace + if (fun.bm.lophine.config.modules.experiment.EntityDamageSourceTraceConfig.enabled) { -+ // Luminol start - Raid changes adapt DamageSource trace + entityhuman.addEffect(mobeffect1, entityhuman, org.bukkit.event.entity.EntityPotionEffectEvent.Cause.PATROL_CAPTAIN, true, true); + } else { + entityhuman.addEffect(mobeffect1, entityhuman, org.bukkit.event.entity.EntityPotionEffectEvent.Cause.PATROL_CAPTAIN, true); // CraftBukkit diff --git a/lophine-server/minecraft-patches/features/0007-Add-config-to-enable-Raytracing-tracker.patch b/lophine-server/minecraft-patches/features/0008-Add-config-to-enable-Raytracing-tracker.patch similarity index 100% rename from lophine-server/minecraft-patches/features/0007-Add-config-to-enable-Raytracing-tracker.patch rename to lophine-server/minecraft-patches/features/0008-Add-config-to-enable-Raytracing-tracker.patch diff --git a/lophine-server/minecraft-patches/features/0008-Purpur-Barrels-and-enderchests-6-rows.patch b/lophine-server/minecraft-patches/features/0009-Purpur-Barrels-and-enderchests-6-rows.patch similarity index 100% rename from lophine-server/minecraft-patches/features/0008-Purpur-Barrels-and-enderchests-6-rows.patch rename to lophine-server/minecraft-patches/features/0009-Purpur-Barrels-and-enderchests-6-rows.patch diff --git a/lophine-server/minecraft-patches/features/0009-Stackable-ShulkerBoxes.patch b/lophine-server/minecraft-patches/features/0010-Stackable-ShulkerBoxes.patch similarity index 100% rename from lophine-server/minecraft-patches/features/0009-Stackable-ShulkerBoxes.patch rename to lophine-server/minecraft-patches/features/0010-Stackable-ShulkerBoxes.patch diff --git a/lophine-server/minecraft-patches/features/0010-Spawn-invulnerable-time.patch b/lophine-server/minecraft-patches/features/0011-Spawn-invulnerable-time.patch similarity index 100% rename from lophine-server/minecraft-patches/features/0010-Spawn-invulnerable-time.patch rename to lophine-server/minecraft-patches/features/0011-Spawn-invulnerable-time.patch diff --git a/lophine-server/minecraft-patches/features/0011-Old-zombie-reinforcement.patch b/lophine-server/minecraft-patches/features/0012-Old-zombie-reinforcement.patch similarity index 100% rename from lophine-server/minecraft-patches/features/0011-Old-zombie-reinforcement.patch rename to lophine-server/minecraft-patches/features/0012-Old-zombie-reinforcement.patch diff --git a/lophine-server/minecraft-patches/features/0012-Old-replaceable-by-mushrooms.patch b/lophine-server/minecraft-patches/features/0013-Old-replaceable-by-mushrooms.patch similarity index 82% rename from lophine-server/minecraft-patches/features/0012-Old-replaceable-by-mushrooms.patch rename to lophine-server/minecraft-patches/features/0013-Old-replaceable-by-mushrooms.patch index 9418308..26c36b7 100644 --- a/lophine-server/minecraft-patches/features/0012-Old-replaceable-by-mushrooms.patch +++ b/lophine-server/minecraft-patches/features/0013-Old-replaceable-by-mushrooms.patch @@ -5,24 +5,15 @@ Subject: [PATCH] Old replaceable by mushrooms diff --git a/net/minecraft/world/level/Level.java b/net/minecraft/world/level/Level.java -index 93d722d437121e605cee0e168ac17ee9bef0610e..3f2755aab2c3c1715f7b6056181fff4a1c9e94b6 100644 +index 93d722d437121e605cee0e168ac17ee9bef0610e..cb2a2fbd17157726b285665fdca0ab9663e0d1de 100644 --- a/net/minecraft/world/level/Level.java +++ b/net/minecraft/world/level/Level.java -@@ -11,6 +11,8 @@ import java.util.function.Consumer; - import java.util.function.Predicate; - import java.util.stream.Collectors; - import javax.annotation.Nullable; -+ -+import fun.bm.lophine.config.modules.misc.OldFeatureConfig; - import net.minecraft.CrashReport; - import net.minecraft.CrashReportCategory; - import net.minecraft.ReportedException; -@@ -1111,7 +1113,7 @@ public abstract class Level implements LevelAccessor, UUIDLookup, AutoCl +@@ -1111,7 +1111,7 @@ public abstract class Level implements LevelAccessor, UUIDLookup, AutoCl if (worldData.captureTreeGeneration) { // Folia - region threading // Paper start - Protect Bedrock and End Portal/Frames from being destroyed BlockState type = getBlockState(pos); - if (!type.isDestroyable()) return false; -+ if (!type.isDestroyable() && !(OldFeatureConfig.oldReplaceableByMushrooms && flags == 3)) return false; ++ if (!type.isDestroyable() && !(fun.bm.lophine.config.modules.misc.OldFeatureConfig.oldReplaceableByMushrooms && flags == 3)) return false; // Paper end - Protect Bedrock and End Portal/Frames from being destroyed CraftBlockState blockstate = worldData.capturedBlockStates.get(pos); // Folia - region threading if (blockstate == null) { diff --git a/lophine-server/minecraft-patches/features/0013-I18n-support.patch b/lophine-server/minecraft-patches/features/0014-I18n-support.patch similarity index 100% rename from lophine-server/minecraft-patches/features/0013-I18n-support.patch rename to lophine-server/minecraft-patches/features/0014-I18n-support.patch diff --git a/lophine-server/src/main/java/fun/bm/lophine/config/modules/experiment/CommandConfig.java b/lophine-server/src/main/java/fun/bm/lophine/config/modules/experiment/CommandConfig.java index 084286e..2cc206f 100644 --- a/lophine-server/src/main/java/fun/bm/lophine/config/modules/experiment/CommandConfig.java +++ b/lophine-server/src/main/java/fun/bm/lophine/config/modules/experiment/CommandConfig.java @@ -15,6 +15,12 @@ public class CommandConfig implements IConfigModule { Allow to use tick command""") public static boolean tick = false; + @ConfigInfo(baseName = "datapack_command_enabled", comments = + """ + Allow to use datapack command + --- datapack hot-update unsupported, please restart server""") + public static boolean datapack = false; + @Override public EnumConfigCategory getCategory() { return EnumConfigCategory.EXPERIMENT;