Configurable food attributes

This commit is contained in:
BillyGalbreath
2022-01-18 04:55:37 -06:00
parent 930084af05
commit db6920e35e
39 changed files with 231 additions and 134 deletions

View File

@@ -172,35 +172,46 @@ index 55bae3efbc630be6d40d415509de4c3e744a5004..9d649923e28f4839106b336fce41bd3f
.withRequiredArg()
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
new file mode 100644
index 0000000000000000000000000000000000000000..806ed097578eb75b25a222b95ef7cc32a4293416
index 0000000000000000000000000000000000000000..720233b1dce48d23c5852765c8614ee86dc14695
--- /dev/null
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -0,0 +1,159 @@
@@ -0,0 +1,170 @@
+package org.purpurmc.purpur;
+
+import co.aikar.timings.TimingsManager;
+import com.google.common.base.Throwables;
+import com.google.common.collect.ImmutableMap;
+import com.mojang.datafixers.util.Pair;
+import net.kyori.adventure.bossbar.BossBar;
+import net.minecraft.core.Registry;
+import net.minecraft.resources.ResourceLocation;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.world.effect.MobEffect;
+import net.minecraft.world.effect.MobEffectInstance;
+import net.minecraft.world.entity.EntityDimensions;
+import net.minecraft.world.entity.EntityType;
+import org.purpurmc.purpur.command.PurpurCommand;
+import org.purpurmc.purpur.task.TPSBarTask;
+import net.minecraft.world.food.FoodProperties;
+import net.minecraft.world.food.Foods;
+import net.minecraft.world.item.enchantment.Enchantment;
+import org.bukkit.Bukkit;
+import org.bukkit.command.Command;
+import org.bukkit.configuration.ConfigurationSection;
+import org.bukkit.configuration.InvalidConfigurationException;
+import org.bukkit.configuration.file.YamlConfiguration;
+import org.purpurmc.purpur.command.PurpurCommand;
+import org.purpurmc.purpur.task.TPSBarTask;
+
+import java.io.File;
+import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.logging.Level;
+
+@SuppressWarnings("unused")

View File

@@ -4653,10 +4653,10 @@ index 35cc150adf51f79e2fccef8b094c90554aafbee2..b6f2bae38781f16c46ad515f34d82907
event = new EntityDamageEvent(damagee.getBukkitEntity(), cause, modifiers, modifierFunctions);
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 806ed097578eb75b25a222b95ef7cc32a4293416..b6a1701f98d831b3c8794f63f33fad3aa40fac67 100644
index 720233b1dce48d23c5852765c8614ee86dc14695..85208c8d1058d46f3b2500efa752647138c74751 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -156,4 +156,9 @@ public class PurpurConfig {
@@ -167,4 +167,9 @@ public class PurpurConfig {
}
return builder.build();
}

View File

@@ -208,10 +208,10 @@ index 396a4ae3d5a829eda78ef98561333aea300aa722..91478d614a56d1ac371187515d4c92b2
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 5350ffab8477a2da4891132cf8b7a65cf776574b..b404fcddc67b7593201f1679587d0ac4c4bfd51c 100644
index 85208c8d1058d46f3b2500efa752647138c74751..f9f0585c86f5d421d0265c8e9b24610e6e8e4533 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -161,4 +161,39 @@ public class PurpurConfig {
@@ -172,4 +172,39 @@ public class PurpurConfig {
private static void messages() {
cannotRideMob = getString("settings.messages.cannot-ride-mob", cannotRideMob);
}

View File

@@ -255,10 +255,10 @@ index c5e3dfd91aba27d9b0115d264a3bbf3d50066356..59d375e9a02c990afa5037819593654f
// Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 59398d99da9e81a047c6ed4b927398db5abec1ff..6e10eb700827a9ad63f9ebab9fd1029e0a089888 100644
index f9f0585c86f5d421d0265c8e9b24610e6e8e4533..6f743cdf0e68fe393ca4bbb19d97d9ac2796b6ea 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -158,8 +158,16 @@ public class PurpurConfig {
@@ -169,8 +169,16 @@ public class PurpurConfig {
}
public static String cannotRideMob = "<red>You cannot mount that mob";

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable server mod name
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index a8a711c96a38c3d1c9d9b86418d389d5fa81ca29..11f96558f195cc60b4376f8554a4bc5cd93014b9 100644
index 54ce8f0b9219790f6317c3eb95b81cadd64ac9b7..9d28c613cacc050ac62c89f6f742ee99cdb99649 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1712,7 +1712,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -18,10 +18,10 @@ index a8a711c96a38c3d1c9d9b86418d389d5fa81ca29..11f96558f195cc60b4376f8554a4bc5c
public SystemReport fillSystemReport(SystemReport details) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 25f31ce77337079ebc2074f1ae2990ccaac03860..1037f51ab043a8808220765805d58800dff01096 100644
index 6f743cdf0e68fe393ca4bbb19d97d9ac2796b6ea..1824edeb26413e562e8d36ae17c3b91fb17a036b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -170,6 +170,11 @@ public class PurpurConfig {
@@ -181,6 +181,11 @@ public class PurpurConfig {
afkTabListSuffix = getString("settings.messages.afk-tab-list-suffix", afkTabListSuffix);
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Lagging threshold
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 11f96558f195cc60b4376f8554a4bc5cd93014b9..bb4b6194583cf65a98aaf099d0c37acc47570b38 100644
index 9d28c613cacc050ac62c89f6f742ee99cdb99649..17f0167cd38a7f2e0dbef42738f03f2f92944f1a 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -304,6 +304,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -25,7 +25,7 @@ index 11f96558f195cc60b4376f8554a4bc5cd93014b9..bb4b6194583cf65a98aaf099d0c37acc
}
// Spigot end
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 2551044b41483dd719e5944e5536888acc3a1968..64f20aa2a4f87fa39c5ba9c2ce2b32ff01dd222d 100644
index 666bb641f4be7a5125f9c574e5af8823bd7b5184..2f7f31c195bd92b798d83da4accd7d210cff9134 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2842,5 +2842,10 @@ public final class CraftServer implements Server {
@@ -40,10 +40,10 @@ index 2551044b41483dd719e5944e5536888acc3a1968..64f20aa2a4f87fa39c5ba9c2ce2b32ff
// Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 1037f51ab043a8808220765805d58800dff01096..71ff4ddc1cad11e9b25c2889c8385242a8bdc113 100644
index 1824edeb26413e562e8d36ae17c3b91fb17a036b..c35585458042b75b82950fe2f0c06b5930d98563 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -175,6 +175,11 @@ public class PurpurConfig {
@@ -186,6 +186,11 @@ public class PurpurConfig {
serverModName = getString("settings.server-mod-name", serverModName);
}

View File

@@ -56,10 +56,10 @@ index 5e2769dac191d725a1e38e61a871baa644d29b44..a1079a9f524e9efcc0b29b1c1b5f4e5a
if (this.keepAlivePending && packet.getId() == this.keepAliveChallenge) {
int i = (int) (Util.getMillis() - this.keepAliveTime);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 71ff4ddc1cad11e9b25c2889c8385242a8bdc113..f230912cea515c0c671b24e12df5cf0c454b18f0 100644
index c35585458042b75b82950fe2f0c06b5930d98563..7abbdaa54ce3b9471792e4f71842e363b903c2fa 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -180,6 +180,11 @@ public class PurpurConfig {
@@ -191,6 +191,11 @@ public class PurpurConfig {
laggingThreshold = getDouble("settings.lagging-threshold", laggingThreshold);
}

View File

@@ -41,10 +41,10 @@ index b2a15c986c7500a0ce227a54cb61ec3f5378f6f3..14600a7bc01bf61e8ffb736816d23df6
if (MinecraftServer.getServer() != null && MinecraftServer.getServer().isDebugging()) {
new Exception().printStackTrace();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index f230912cea515c0c671b24e12df5cf0c454b18f0..f11d1486f2e3f2ba359aabbf189a71ae42eeb0f8 100644
index 7abbdaa54ce3b9471792e4f71842e363b903c2fa..d2e19fdaae731253b38311fbc1c7146ae4a2c026 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -219,4 +219,13 @@ public class PurpurConfig {
@@ -230,4 +230,13 @@ public class PurpurConfig {
org.bukkit.event.inventory.InventoryType.ENDER_CHEST.setDefaultSize(enderChestSixRows ? 54 : 27);
enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows);
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable TPS Catchup
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index bb4b6194583cf65a98aaf099d0c37acc47570b38..ec2edb4b62f692aa39652845e81daf5de2798607 100644
index 17f0167cd38a7f2e0dbef42738f03f2f92944f1a..2d24ddd09730ce0807d89d081b439c1a77cb14d8 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1268,7 +1268,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -24,10 +24,10 @@ index bb4b6194583cf65a98aaf099d0c37acc47570b38..ec2edb4b62f692aa39652845e81daf5d
this.profiler.pop();
this.endMetricsRecordingTick();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index f11d1486f2e3f2ba359aabbf189a71ae42eeb0f8..20d56b2e85a4b03fb13848d4eff1c84a6711b821 100644
index d2e19fdaae731253b38311fbc1c7146ae4a2c026..25747c6f1aa2415217bf65ba49a6090319c740c1 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -228,4 +228,9 @@ public class PurpurConfig {
@@ -239,4 +239,9 @@ public class PurpurConfig {
loggerSuppressIgnoredAdvancementWarnings = getBoolean("settings.logger.suppress-ignored-advancement-warnings", loggerSuppressIgnoredAdvancementWarnings);
loggerSuppressUnrecognizedRecipeErrors = getBoolean("settings.logger.suppress-unrecognized-recipe-errors", loggerSuppressUnrecognizedRecipeErrors);
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add ping command
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
index 2474594f165aff55d4a08ccf0a602203cc908f65..ae0fe6f7ed45f38fab0fe427d7a65173a825b465 100644
index beac966ddf6348ac956920a803dd509a80dd1132..0d864e0e9de1af810c09a47730ce60bfba235fa4 100644
--- a/src/main/java/net/minecraft/commands/Commands.java
+++ b/src/main/java/net/minecraft/commands/Commands.java
@@ -205,6 +205,7 @@ public class Commands {
@@ -17,10 +17,10 @@ index 2474594f165aff55d4a08ccf0a602203cc908f65..ae0fe6f7ed45f38fab0fe427d7a65173
if (environment.includeIntegrated) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index a4c61fe79d3d94d8659c9861a7788d962f743bb2..c866bce11114b98429f663d9bafa1522ed7ed7e3 100644
index 25747c6f1aa2415217bf65ba49a6090319c740c1..b87447d084fb752749f224ecf488c69dc6ab4bcb 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -162,12 +162,14 @@ public class PurpurConfig {
@@ -173,12 +173,14 @@ public class PurpurConfig {
public static String afkBroadcastBack = "<yellow><italic>%s is no longer AFK";
public static String afkTabListPrefix = "[AFK] ";
public static String afkTabListSuffix = "";

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add demo command
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
index ae0fe6f7ed45f38fab0fe427d7a65173a825b465..1c46781ad2ce2042ded7dc69806d65cc0d0a2047 100644
index 0d864e0e9de1af810c09a47730ce60bfba235fa4..d0d5aeb92c0b25643003b17a73c7580c3310e353 100644
--- a/src/main/java/net/minecraft/commands/Commands.java
+++ b/src/main/java/net/minecraft/commands/Commands.java
@@ -205,6 +205,7 @@ public class Commands {
@@ -17,10 +17,10 @@ index ae0fe6f7ed45f38fab0fe427d7a65173a825b465..1c46781ad2ce2042ded7dc69806d65cc
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index c866bce11114b98429f663d9bafa1522ed7ed7e3..46ac9fd96ab11a6f1ed0af97beded2eb0e2feab9 100644
index b87447d084fb752749f224ecf488c69dc6ab4bcb..fecc844b8eaf735ad6802a50ab117bdd9f65c398 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -162,6 +162,7 @@ public class PurpurConfig {
@@ -173,6 +173,7 @@ public class PurpurConfig {
public static String afkBroadcastBack = "<yellow><italic>%s is no longer AFK";
public static String afkTabListPrefix = "[AFK] ";
public static String afkTabListSuffix = "";
@@ -28,7 +28,7 @@ index c866bce11114b98429f663d9bafa1522ed7ed7e3..46ac9fd96ab11a6f1ed0af97beded2eb
public static String pingCommandOutput = "<green>%s's ping is %sms";
private static void messages() {
cannotRideMob = getString("settings.messages.cannot-ride-mob", cannotRideMob);
@@ -169,6 +170,7 @@ public class PurpurConfig {
@@ -180,6 +181,7 @@ public class PurpurConfig {
afkBroadcastBack = getString("settings.messages.afk-broadcast-back", afkBroadcastBack);
afkTabListPrefix = getString("settings.messages.afk-tab-list-prefix", afkTabListPrefix);
afkTabListSuffix = getString("settings.messages.afk-tab-list-suffix", afkTabListSuffix);

View File

@@ -17,10 +17,10 @@ index d0d5aeb92c0b25643003b17a73c7580c3310e353..40735237cc87a476d08f1ffcb1b67ce5
org.purpurmc.purpur.command.PingCommand.register(this.dispatcher); // Purpur
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 37e6285c68a4c4e20e752ab7484ac199ea22925b..e95b4a1f07facda1daf1e83560e98e649a1b79ec 100644
index fecc844b8eaf735ad6802a50ab117bdd9f65c398..4a2c8deefe9259b974be33a0d648a17a98845122 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -162,6 +162,7 @@ public class PurpurConfig {
@@ -173,6 +173,7 @@ public class PurpurConfig {
public static String afkBroadcastBack = "<yellow><italic>%s is no longer AFK";
public static String afkTabListPrefix = "[AFK] ";
public static String afkTabListSuffix = "";
@@ -28,7 +28,7 @@ index 37e6285c68a4c4e20e752ab7484ac199ea22925b..e95b4a1f07facda1daf1e83560e98e64
public static String demoCommandOutput = "<green>%s has been shown the demo screen";
public static String pingCommandOutput = "<green>%s's ping is %sms";
private static void messages() {
@@ -170,6 +171,7 @@ public class PurpurConfig {
@@ -181,6 +182,7 @@ public class PurpurConfig {
afkBroadcastBack = getString("settings.messages.afk-broadcast-back", afkBroadcastBack);
afkTabListPrefix = getString("settings.messages.afk-tab-list-prefix", afkTabListPrefix);
afkTabListSuffix = getString("settings.messages.afk-tab-list-suffix", afkTabListSuffix);

View File

@@ -68,10 +68,10 @@ index 2676cddca511ea775766cec0001269407599df6e..1dacd2e3a9340420c9b4443cc2f8a3c6
} else {
world.setBlockAndUpdate(pos, Blocks.WATER.defaultBlockState());
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index e95b4a1f07facda1daf1e83560e98e649a1b79ec..ef94029ca1c695291562325de4ce77ab4647164d 100644
index 4a2c8deefe9259b974be33a0d648a17a98845122..a372fa3b3220a9b449d836cad3612f328aec0cab 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -226,6 +226,11 @@ public class PurpurConfig {
@@ -237,6 +237,11 @@ public class PurpurConfig {
enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows);
}

View File

@@ -125,10 +125,10 @@ index 16e11e31077f160198e0b04abdfeabb97ed20c6f..7dd423f6b92b7f27dd43e5ef3f4029a1
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index ef94029ca1c695291562325de4ce77ab4647164d..90deba209710608839276cce46ffe8e6674ec4fd 100644
index a372fa3b3220a9b449d836cad3612f328aec0cab..88db2e1c32601288d33fe6ea0b8f2c7fc30ce68f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -231,6 +231,15 @@ public class PurpurConfig {
@@ -242,6 +242,15 @@ public class PurpurConfig {
allowWaterPlacementInTheEnd = getBoolean("settings.allow-water-placement-in-the-end", allowWaterPlacementInTheEnd);
}

View File

@@ -31,10 +31,10 @@ index 434e51325cbfe4539470f9ec5164e8ebdd482748..37fe7d448ae40e67cc8c7c1856df3c8a
Entity entity = source.getDirectEntity();
boolean flag;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 90deba209710608839276cce46ffe8e6674ec4fd..2b980cde739495c1ba80cf4a34f38072f25b0507 100644
index 88db2e1c32601288d33fe6ea0b8f2c7fc30ce68f..b1f52990e3dd57973efefc84c18010e5e2bad4cb 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -226,6 +226,12 @@ public class PurpurConfig {
@@ -237,6 +237,12 @@ public class PurpurConfig {
enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows);
}

View File

@@ -18,10 +18,10 @@ index 5d76674d5e181f012c0686e9915556bc93087706..3f3a8b577f707ad0a80d27fca2d61b09
private final LevelAccessor level;
private final Direction.Axis axis;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 2b980cde739495c1ba80cf4a34f38072f25b0507..f0051835d259ecfd0300653645c3942749a31937 100644
index b1f52990e3dd57973efefc84c18010e5e2bad4cb..77919711992c28baecb1c0f178232ed8bb06e9fe 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -194,6 +194,7 @@ public class PurpurConfig {
@@ -205,6 +205,7 @@ public class PurpurConfig {
public static int barrelRows = 3;
public static boolean enderChestSixRows = false;
public static boolean enderChestPermissionRows = false;
@@ -29,7 +29,7 @@ index 2b980cde739495c1ba80cf4a34f38072f25b0507..f0051835d259ecfd0300653645c39427
private static void blockSettings() {
if (version < 3) {
boolean oldValue = getBoolean("settings.barrel.packed-barrels", true);
@@ -224,6 +225,7 @@ public class PurpurConfig {
@@ -235,6 +236,7 @@ public class PurpurConfig {
enderChestSixRows = getBoolean("settings.blocks.ender_chest.six-rows", enderChestSixRows);
org.bukkit.event.inventory.InventoryType.ENDER_CHEST.setDefaultSize(enderChestSixRows ? 54 : 27);
enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows);

View File

@@ -95,10 +95,10 @@ index b6f2bae38781f16c46ad515f34d829074b58e70d..e1753ed5f7f72a4861666cd7929ab52b
throw new IllegalStateException(String.format("Unhandled damage of %s by %s from %s", entity, damager, source.msgId));
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index ed60935d58e8332ca9ccec48bd928373c3dc2091..8428da51def80e0b4e941362dd46b5d1a31ed690 100644
index 77919711992c28baecb1c0f178232ed8bb06e9fe..437d2a45f66c2f0f6304365fbc238c24c1571a9f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -176,6 +176,11 @@ public class PurpurConfig {
@@ -187,6 +187,11 @@ public class PurpurConfig {
pingCommandOutput = getString("settings.messages.ping-command-output", pingCommandOutput);
}

View File

@@ -17,10 +17,10 @@ index 3aece8245060dd1ba269c08d226c84247a6f0a83..5cebd7c16b82eea9dbf39c51c671bacb
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 161dc422a331d02132d5158efeef8ac2150a4d0f..b366630f15171493b6e098be5c313fa0cd6b68b8 100644
index 437d2a45f66c2f0f6304365fbc238c24c1571a9f..245239c45cac3340db4e3ab908df91cfec607e3d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -233,6 +233,16 @@ public class PurpurConfig {
@@ -244,6 +244,16 @@ public class PurpurConfig {
cryingObsidianValidForPortalFrame = getBoolean("settings.blocks.crying_obsidian.valid-for-portal-frame", cryingObsidianValidForPortalFrame);
}

View File

@@ -20,10 +20,10 @@ index a0dc380e90415de9068ea408d62a1605c82631df..fcd65feb5182b806b9aa8ecdcf11b386
itemStack.setCount(1);
ItemEntity itemEntity2 = serverPlayer.drop(itemStack, false, false, true); // Paper - Fix duplicating /give items on item drop cancel
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index b366630f15171493b6e098be5c313fa0cd6b68b8..9834a5617a7532b7f8e3fc927d6c89fcf1ea0183 100644
index 245239c45cac3340db4e3ab908df91cfec607e3d..92bef71629d982288a9ae928ec815c7cc0af42a9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -196,6 +196,11 @@ public class PurpurConfig {
@@ -207,6 +207,11 @@ public class PurpurConfig {
useAlternateKeepAlive = getBoolean("settings.use-alternate-keepalive", useAlternateKeepAlive);
}

View File

@@ -104,10 +104,10 @@ index e2d8631422eb90d050cf1335ab6883ca6fb9c3dc..d6413977a87613a88a155630fa3be9ee
entityplayer.awardStat(Stats.LEAVE_GAME);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 9834a5617a7532b7f8e3fc927d6c89fcf1ea0183..4592b84984d35ee4cc63beebacad089c5a0317ed 100644
index 92bef71629d982288a9ae928ec815c7cc0af42a9..bc0634f634526ef878dfb12cf3103c226b98bb22 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -201,6 +201,29 @@ public class PurpurConfig {
@@ -212,6 +212,29 @@ public class PurpurConfig {
disableGiveCommandDrops = getBoolean("settings.disable-give-dropping", disableGiveCommandDrops);
}

View File

@@ -68,10 +68,10 @@ index e1753ed5f7f72a4861666cd7929ab52b7891d5f0..8ccfbee93e98e20c07e733a42765a1a4
if (cause != null) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 716d93c1ffd97daa0e338932d7950390aea0afb6..fdc94326c7d803c1e167c0b8ca7549954766e711 100644
index bc0634f634526ef878dfb12cf3103c226b98bb22..9caca4599d9db887929b191aa85f5501891f9393 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -165,6 +165,7 @@ public class PurpurConfig {
@@ -176,6 +176,7 @@ public class PurpurConfig {
public static String creditsCommandOutput = "<green>%s has been shown the end credits";
public static String demoCommandOutput = "<green>%s has been shown the demo screen";
public static String pingCommandOutput = "<green>%s's ping is %sms";
@@ -79,7 +79,7 @@ index 716d93c1ffd97daa0e338932d7950390aea0afb6..fdc94326c7d803c1e167c0b8ca754995
private static void messages() {
cannotRideMob = getString("settings.messages.cannot-ride-mob", cannotRideMob);
afkBroadcastAway = getString("settings.messages.afk-broadcast-away", afkBroadcastAway);
@@ -174,11 +175,14 @@ public class PurpurConfig {
@@ -185,11 +186,14 @@ public class PurpurConfig {
creditsCommandOutput = getString("settings.messages.credits-command-output", creditsCommandOutput);
demoCommandOutput = getString("settings.messages.demo-command-output", demoCommandOutput);
pingCommandOutput = getString("settings.messages.ping-command-output", pingCommandOutput);

View File

@@ -77,10 +77,10 @@ index 11c1eb0e0bc326b28dc0cab16f67c413cc52e98c..7073985656ae5b17a7489518747dc858
return null;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 2cd5c8823eb8215b3e2a6eb7dd34b752a480dbd0..4a058214afcab26acaaf91c06a10e2cf77723d28 100644
index 9caca4599d9db887929b191aa85f5501891f9393..6a876e3e50d0fac0ef4370331f5f67917bb65a9a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -266,6 +266,7 @@ public class PurpurConfig {
@@ -277,6 +277,7 @@ public class PurpurConfig {
}
public static boolean allowInfinityMending = false;
@@ -88,7 +88,7 @@ index 2cd5c8823eb8215b3e2a6eb7dd34b752a480dbd0..4a058214afcab26acaaf91c06a10e2cf
private static void enchantmentSettings() {
if (version < 5) {
boolean oldValue = getBoolean("settings.enchantment.allow-infinite-and-mending-together", false);
@@ -273,6 +274,7 @@ public class PurpurConfig {
@@ -284,6 +285,7 @@ public class PurpurConfig {
set("settings.enchantment.allow-infinite-and-mending-together", null);
}
allowInfinityMending = getBoolean("settings.enchantment.allow-infinity-and-mending-together", allowInfinityMending);

View File

@@ -75,10 +75,10 @@ index 31ac7e1e5cc37cd9abf0ffd0bab1402f51bffed9..fd8d102ac8e84c4bfe6f4431bd1088b8
this.getOrCreateTag().put(key, element);
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 4a058214afcab26acaaf91c06a10e2cf77723d28..286fa3ea8822b09dceebd26ebe87ec11270a246b 100644
index 6a876e3e50d0fac0ef4370331f5f67917bb65a9a..2a1082c106d601c3fe08d6806751561755c6e7f7 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -267,6 +267,7 @@ public class PurpurConfig {
@@ -278,6 +278,7 @@ public class PurpurConfig {
public static boolean allowInfinityMending = false;
public static boolean allowCrossbowInfinity = false;
@@ -86,7 +86,7 @@ index 4a058214afcab26acaaf91c06a10e2cf77723d28..286fa3ea8822b09dceebd26ebe87ec11
private static void enchantmentSettings() {
if (version < 5) {
boolean oldValue = getBoolean("settings.enchantment.allow-infinite-and-mending-together", false);
@@ -275,6 +276,7 @@ public class PurpurConfig {
@@ -286,6 +287,7 @@ public class PurpurConfig {
}
allowInfinityMending = getBoolean("settings.enchantment.allow-infinity-and-mending-together", allowInfinityMending);
allowCrossbowInfinity = getBoolean("settings.enchantment.allow-infinity-on-crossbow", allowCrossbowInfinity);

View File

@@ -18,10 +18,10 @@ index b05ac56823feaf062b1418c9e6dbe4268225f00f..375f25807ca0f35784653d8fbe4e5086
public BeehiveBlockEntity(BlockPos pos, BlockState state) {
super(BlockEntityType.BEEHIVE, pos, state);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 286fa3ea8822b09dceebd26ebe87ec11270a246b..9a15cf1c2fd71d56062be77fd343881b0011768f 100644
index 2a1082c106d601c3fe08d6806751561755c6e7f7..9137c8d55fad15dd9981513c4322f0c8ef40a897 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -232,6 +232,7 @@ public class PurpurConfig {
@@ -243,6 +243,7 @@ public class PurpurConfig {
public static boolean enderChestSixRows = false;
public static boolean enderChestPermissionRows = false;
public static boolean cryingObsidianValidForPortalFrame = false;
@@ -29,7 +29,7 @@ index 286fa3ea8822b09dceebd26ebe87ec11270a246b..9a15cf1c2fd71d56062be77fd343881b
private static void blockSettings() {
if (version < 3) {
boolean oldValue = getBoolean("settings.barrel.packed-barrels", true);
@@ -263,6 +264,7 @@ public class PurpurConfig {
@@ -274,6 +275,7 @@ public class PurpurConfig {
org.bukkit.event.inventory.InventoryType.ENDER_CHEST.setDefaultSize(enderChestSixRows ? 54 : 27);
enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows);
cryingObsidianValidForPortalFrame = getBoolean("settings.blocks.crying_obsidian.valid-for-portal-frame", cryingObsidianValidForPortalFrame);

View File

@@ -75,10 +75,10 @@ index 6cc517b394bafefce50d877761e5b2eee8e14c78..46ca899a7abddea108f6ff1b4ca14ca5
DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "toggledownfall", "Allows the user to toggle rain on/off for a given world", PermissionDefault.OP, commands);
DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "defaultgamemode", "Allows the user to change the default gamemode of the server", PermissionDefault.OP, commands);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 9a15cf1c2fd71d56062be77fd343881b0011768f..f77735417b28f87c1f3ed74ae4fcd069f8bb4c65 100644
index 9137c8d55fad15dd9981513c4322f0c8ef40a897..be773b26586ffb2d54fd66af1644556765c75fd4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -215,6 +215,7 @@ public class PurpurConfig {
@@ -226,6 +226,7 @@ public class PurpurConfig {
public static String commandTPSBarTextColorMedium = "<gradient:#ffff55:#ffaa00><text></gradient>";
public static String commandTPSBarTextColorLow = "<gradient:#ff5555:#aa0000><text></gradient>";
public static int commandTPSBarTickInterval = 20;
@@ -86,7 +86,7 @@ index 9a15cf1c2fd71d56062be77fd343881b0011768f..f77735417b28f87c1f3ed74ae4fcd069
private static void commandSettings() {
commandTPSBarTitle = getString("settings.command.tpsbar.title", commandTPSBarTitle);
commandTPSBarProgressOverlay = BossBar.Overlay.valueOf(getString("settings.command.tpsbar.overlay", commandTPSBarProgressOverlay.name()));
@@ -226,6 +227,7 @@ public class PurpurConfig {
@@ -237,6 +238,7 @@ public class PurpurConfig {
commandTPSBarTextColorMedium = getString("settings.command.tpsbar.text-color.medium", commandTPSBarTextColorMedium);
commandTPSBarTextColorLow = getString("settings.command.tpsbar.text-color.low", commandTPSBarTextColorLow);
commandTPSBarTickInterval = getInt("settings.command.tpsbar.tick-interval", commandTPSBarTickInterval);

View File

@@ -29,10 +29,10 @@ index a50d5342c5981a7ff5b4c56beea19da7e8a1b77c..6d643998ee32de7f96b94e10fbd0b08a
if (scoreboardteambase.getDeathMessageVisibility() == Team.Visibility.HIDE_FOR_OTHER_TEAMS) {
this.server.getPlayerList().broadcastToTeam(this, ichatbasecomponent);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index f77735417b28f87c1f3ed74ae4fcd069f8bb4c65..9cdb9a52850194ebe13c456f46efc22fb12b2b57 100644
index be773b26586ffb2d54fd66af1644556765c75fd4..fdc752a830c1858ad0afd66c8247dd052b37162e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -185,6 +185,18 @@ public class PurpurConfig {
@@ -196,6 +196,18 @@ public class PurpurConfig {
deathMsgRunWithScissors = getString("settings.messages.death-message.run-with-scissors", deathMsgRunWithScissors);
}

View File

@@ -59,10 +59,10 @@ index 35cc3bba20afd4a47160cc674415ba6a3a0ec0ec..2cba35dcc479ed9ad3e698aa2e02b4aa
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 9cdb9a52850194ebe13c456f46efc22fb12b2b57..2a190278fcf98ef8a00f9d6682bb17111f619cc6 100644
index fdc752a830c1858ad0afd66c8247dd052b37162e..898ddc12b5a06b0497add689b4f82afe804745bd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -228,6 +228,7 @@ public class PurpurConfig {
@@ -239,6 +239,7 @@ public class PurpurConfig {
public static String commandTPSBarTextColorLow = "<gradient:#ff5555:#aa0000><text></gradient>";
public static int commandTPSBarTickInterval = 20;
public static boolean commandGamemodeRequiresPermission = false;
@@ -70,7 +70,7 @@ index 9cdb9a52850194ebe13c456f46efc22fb12b2b57..2a190278fcf98ef8a00f9d6682bb1711
private static void commandSettings() {
commandTPSBarTitle = getString("settings.command.tpsbar.title", commandTPSBarTitle);
commandTPSBarProgressOverlay = BossBar.Overlay.valueOf(getString("settings.command.tpsbar.overlay", commandTPSBarProgressOverlay.name()));
@@ -240,6 +241,7 @@ public class PurpurConfig {
@@ -251,6 +252,7 @@ public class PurpurConfig {
commandTPSBarTextColorLow = getString("settings.command.tpsbar.text-color.low", commandTPSBarTextColorLow);
commandTPSBarTickInterval = getInt("settings.command.tpsbar.tick-interval", commandTPSBarTickInterval);
commandGamemodeRequiresPermission = getBoolean("settings.command.gamemode.requires-specific-permission", commandGamemodeRequiresPermission);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Config for unverified username message
diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
index 96593919db8b140e55fe1a120c2835b679771e92..c25df7de9adf6cc06d8d49d53c51d843f61565fa 100644
index 60ba196e17df34c3ae2a9883e5d28830a2243517..3fa13053722387db199f482307559219c381f4da 100644
--- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
@@ -338,7 +338,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener
@@ -18,10 +18,10 @@ index 96593919db8b140e55fe1a120c2835b679771e92..c25df7de9adf6cc06d8d49d53c51d843
}
} catch (AuthenticationUnavailableException authenticationunavailableexception) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 2a190278fcf98ef8a00f9d6682bb17111f619cc6..bd506b0c95594adc416e6faf3184c3f8afac78f9 100644
index 898ddc12b5a06b0497add689b4f82afe804745bd..c131507a17f49efbdde01abc813092d37e632cfd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -166,6 +166,7 @@ public class PurpurConfig {
@@ -177,6 +177,7 @@ public class PurpurConfig {
public static String demoCommandOutput = "<green>%s has been shown the demo screen";
public static String pingCommandOutput = "<green>%s's ping is %sms";
public static String dontRunWithScissors = "<red><italic>Don't run with scissors!";
@@ -29,7 +29,7 @@ index 2a190278fcf98ef8a00f9d6682bb17111f619cc6..bd506b0c95594adc416e6faf3184c3f8
private static void messages() {
cannotRideMob = getString("settings.messages.cannot-ride-mob", cannotRideMob);
afkBroadcastAway = getString("settings.messages.afk-broadcast-away", afkBroadcastAway);
@@ -176,6 +177,7 @@ public class PurpurConfig {
@@ -187,6 +188,7 @@ public class PurpurConfig {
demoCommandOutput = getString("settings.messages.demo-command-output", demoCommandOutput);
pingCommandOutput = getString("settings.messages.ping-command-output", pingCommandOutput);
dontRunWithScissors = getString("settings.messages.dont-run-with-scissors", dontRunWithScissors);

View File

@@ -18,10 +18,10 @@ index 3f786be9c9efc069a3a1bc457f02421310941800..669093b7f531b4ff9d8348d0a08c8690
public void setItemName(String newItemName) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index bd506b0c95594adc416e6faf3184c3f8afac78f9..ec2a14f8571aa58c782405edac7f100c9131e905 100644
index c131507a17f49efbdde01abc813092d37e632cfd..315e96a09ef9f0e68b5255d041bc919f14895f31 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -251,6 +251,7 @@ public class PurpurConfig {
@@ -262,6 +262,7 @@ public class PurpurConfig {
public static boolean enderChestPermissionRows = false;
public static boolean cryingObsidianValidForPortalFrame = false;
public static int beeInsideBeeHive = 3;
@@ -29,7 +29,7 @@ index bd506b0c95594adc416e6faf3184c3f8afac78f9..ec2a14f8571aa58c782405edac7f100c
private static void blockSettings() {
if (version < 3) {
boolean oldValue = getBoolean("settings.barrel.packed-barrels", true);
@@ -283,6 +284,7 @@ public class PurpurConfig {
@@ -294,6 +295,7 @@ public class PurpurConfig {
enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows);
cryingObsidianValidForPortalFrame = getBoolean("settings.blocks.crying_obsidian.valid-for-portal-frame", cryingObsidianValidForPortalFrame);
beeInsideBeeHive = getInt("settings.blocks.beehive.max-bees-inside", beeInsideBeeHive);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Make lightning rod range configurable
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 4b0250d4c51c4f9c346671fba63abfbe137a1873..543cdbd0785aa83eaf79ae52f0e2e5d3c343f6d0 100644
index 763c414511c5660e7071fb6863e6f96428de2798..595ba2805aea2030be38703a4150e48a7e4199f5 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -915,7 +915,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -18,10 +18,10 @@ index 4b0250d4c51c4f9c346671fba63abfbe137a1873..543cdbd0785aa83eaf79ae52f0e2e5d3
return optional.map((blockposition1) -> {
return blockposition1.above(1);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index ec2a14f8571aa58c782405edac7f100c9131e905..1f48ae6381464f823650d2774fca1117f38d20e9 100644
index 315e96a09ef9f0e68b5255d041bc919f14895f31..ae9f4571a1fb3cb0d6d525f091b56f83eeac2f2a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -252,6 +252,7 @@ public class PurpurConfig {
@@ -263,6 +263,7 @@ public class PurpurConfig {
public static boolean cryingObsidianValidForPortalFrame = false;
public static int beeInsideBeeHive = 3;
public static boolean anvilCumulativeCost = true;
@@ -29,7 +29,7 @@ index ec2a14f8571aa58c782405edac7f100c9131e905..1f48ae6381464f823650d2774fca1117
private static void blockSettings() {
if (version < 3) {
boolean oldValue = getBoolean("settings.barrel.packed-barrels", true);
@@ -285,6 +286,7 @@ public class PurpurConfig {
@@ -296,6 +297,7 @@ public class PurpurConfig {
cryingObsidianValidForPortalFrame = getBoolean("settings.blocks.crying_obsidian.valid-for-portal-frame", cryingObsidianValidForPortalFrame);
beeInsideBeeHive = getInt("settings.blocks.beehive.max-bees-inside", beeInsideBeeHive);
anvilCumulativeCost = getBoolean("settings.blocks.anvil.cumulative-cost", anvilCumulativeCost);

View File

@@ -17,7 +17,7 @@ index 3156e7e43a5114aaaa1276b024f4ec45e797de88..e787ccc3c21f7e966c1e291579bf7550
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index dc95a1230ac6f86c32b3c6a8e4876725dbb3c033..022cf286342abe9f5349b70e096373a0db2a810d 100644
index e9a7da7f2f9d0661c128ca040e15676c6d72e38b..ba2c31e1b9f9bac1762ae53a12ebfb2da43612d1 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -294,6 +294,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -29,10 +29,10 @@ index dc95a1230ac6f86c32b3c6a8e4876725dbb3c033..022cf286342abe9f5349b70e096373a0
public int autosavePeriod;
public Commands vanillaCommandDispatcher;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 1f48ae6381464f823650d2774fca1117f38d20e9..bdad489cdcf21c951eba5fb295aaf1c1af563676 100644
index ae9f4571a1fb3cb0d6d525f091b56f83eeac2f2a..e518d572c75dd3b04a0296ebdd3a2d790d419787 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -166,6 +166,7 @@ public class PurpurConfig {
@@ -177,6 +177,7 @@ public class PurpurConfig {
public static String demoCommandOutput = "<green>%s has been shown the demo screen";
public static String pingCommandOutput = "<green>%s's ping is %sms";
public static String dontRunWithScissors = "<red><italic>Don't run with scissors!";
@@ -40,7 +40,7 @@ index 1f48ae6381464f823650d2774fca1117f38d20e9..bdad489cdcf21c951eba5fb295aaf1c1
public static String unverifiedUsername = "default";
private static void messages() {
cannotRideMob = getString("settings.messages.cannot-ride-mob", cannotRideMob);
@@ -177,6 +178,7 @@ public class PurpurConfig {
@@ -188,6 +189,7 @@ public class PurpurConfig {
demoCommandOutput = getString("settings.messages.demo-command-output", demoCommandOutput);
pingCommandOutput = getString("settings.messages.ping-command-output", pingCommandOutput);
dontRunWithScissors = getString("settings.messages.dont-run-with-scissors", dontRunWithScissors);
@@ -48,7 +48,7 @@ index 1f48ae6381464f823650d2774fca1117f38d20e9..bdad489cdcf21c951eba5fb295aaf1c1
unverifiedUsername = getString("settings.messages.unverified-username", unverifiedUsername);
}
@@ -231,6 +233,15 @@ public class PurpurConfig {
@@ -242,6 +244,15 @@ public class PurpurConfig {
public static int commandTPSBarTickInterval = 20;
public static boolean commandGamemodeRequiresPermission = false;
public static boolean hideHiddenPlayersFromEntitySelector = false;
@@ -64,7 +64,7 @@ index 1f48ae6381464f823650d2774fca1117f38d20e9..bdad489cdcf21c951eba5fb295aaf1c1
private static void commandSettings() {
commandTPSBarTitle = getString("settings.command.tpsbar.title", commandTPSBarTitle);
commandTPSBarProgressOverlay = BossBar.Overlay.valueOf(getString("settings.command.tpsbar.overlay", commandTPSBarProgressOverlay.name()));
@@ -244,6 +255,15 @@ public class PurpurConfig {
@@ -255,6 +266,15 @@ public class PurpurConfig {
commandTPSBarTickInterval = getInt("settings.command.tpsbar.tick-interval", commandTPSBarTickInterval);
commandGamemodeRequiresPermission = getBoolean("settings.command.gamemode.requires-specific-permission", commandGamemodeRequiresPermission);
hideHiddenPlayersFromEntitySelector = getBoolean("settings.command.hide-hidden-players-from-entity-selector", hideHiddenPlayersFromEntitySelector);

View File

@@ -52,10 +52,10 @@ index 45f11284bf65081b3b2e8da85114efbe5efd5b42..354a923350cbfc76645136858e8e9628
double d = (double)(context.config()).probability;
return worldgenRandom.nextDouble() >= d ? false : context.validBiome().test(context.chunkGenerator().getNoiseBiome(QuartPos.fromBlock(context.chunkPos().getMiddleBlockX()), QuartPos.fromBlock(50), QuartPos.fromBlock(context.chunkPos().getMiddleBlockZ())));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index bdad489cdcf21c951eba5fb295aaf1c1af563676..19caecd693a02171606d731572c81e6bfcd2b9ec 100644
index e518d572c75dd3b04a0296ebdd3a2d790d419787..80e00f96b4561c4d6bc69a01a25d568aff44f45f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -201,6 +201,17 @@ public class PurpurConfig {
@@ -212,6 +212,17 @@ public class PurpurConfig {
deathMessageOnlyBroadcastToAffectedPlayer = getBoolean("settings.broadcasts.death.only-broadcast-to-affected-player", deathMessageOnlyBroadcastToAffectedPlayer);
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Customizable sleeping actionbar messages
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 543cdbd0785aa83eaf79ae52f0e2e5d3c343f6d0..5dc9bbc5fe3de52a8a680b1864aeb6fc778c66f7 100644
index 595ba2805aea2030be38703a4150e48a7e4199f5..47bc9a51fa8ad5c3b100e4baff2cb243e9a22f35 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -964,11 +964,29 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -40,10 +40,10 @@ index 543cdbd0785aa83eaf79ae52f0e2e5d3c343f6d0..5dc9bbc5fe3de52a8a680b1864aeb6fc
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 19caecd693a02171606d731572c81e6bfcd2b9ec..d460f1186e1260855ad254b16b2748863946a20c 100644
index 80e00f96b4561c4d6bc69a01a25d568aff44f45f..3d857d6dcc93e622311252e1bfa66106fbbdb372 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -168,6 +168,8 @@ public class PurpurConfig {
@@ -179,6 +179,8 @@ public class PurpurConfig {
public static String dontRunWithScissors = "<red><italic>Don't run with scissors!";
public static String uptimeCommandOutput = "<green>Server uptime is <uptime>";
public static String unverifiedUsername = "default";
@@ -52,7 +52,7 @@ index 19caecd693a02171606d731572c81e6bfcd2b9ec..d460f1186e1260855ad254b16b274886
private static void messages() {
cannotRideMob = getString("settings.messages.cannot-ride-mob", cannotRideMob);
afkBroadcastAway = getString("settings.messages.afk-broadcast-away", afkBroadcastAway);
@@ -180,6 +182,8 @@ public class PurpurConfig {
@@ -191,6 +193,8 @@ public class PurpurConfig {
dontRunWithScissors = getString("settings.messages.dont-run-with-scissors", dontRunWithScissors);
uptimeCommandOutput = getString("settings.messages.uptime-command-output", uptimeCommandOutput);
unverifiedUsername = getString("settings.messages.unverified-username", unverifiedUsername);

View File

@@ -59,10 +59,10 @@ index 6d643998ee32de7f96b94e10fbd0b08a75628978..e2e83d8b39ddb154c0e69b63d5b99664
// Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 4db13b4e9b37e2b704a3b0967ce26356753ef662..c2a3f004208dbaa84c810f5013da185174cbf525 100644
index 3d857d6dcc93e622311252e1bfa66106fbbdb372..e5d6d1c583ac82bf957cbbceafa62a9c80d08de2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -246,6 +246,11 @@ public class PurpurConfig {
@@ -257,6 +257,11 @@ public class PurpurConfig {
public static String commandTPSBarTextColorMedium = "<gradient:#ffff55:#ffaa00><text></gradient>";
public static String commandTPSBarTextColorLow = "<gradient:#ff5555:#aa0000><text></gradient>";
public static int commandTPSBarTickInterval = 20;
@@ -74,7 +74,7 @@ index 4db13b4e9b37e2b704a3b0967ce26356753ef662..c2a3f004208dbaa84c810f5013da1851
public static boolean commandGamemodeRequiresPermission = false;
public static boolean hideHiddenPlayersFromEntitySelector = false;
public static String uptimeFormat = "<days><hours><minutes><seconds>";
@@ -268,6 +273,13 @@ public class PurpurConfig {
@@ -279,6 +284,13 @@ public class PurpurConfig {
commandTPSBarTextColorMedium = getString("settings.command.tpsbar.text-color.medium", commandTPSBarTextColorMedium);
commandTPSBarTextColorLow = getString("settings.command.tpsbar.text-color.low", commandTPSBarTextColorLow);
commandTPSBarTickInterval = getInt("settings.command.tpsbar.tick-interval", commandTPSBarTickInterval);

View File

@@ -57,37 +57,10 @@ index 0bdf874ddb951daf8d469575a44144504472d12d..855ff86696d27f7029ec8bd255820707
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 258ef634bac087710c77abff0a52954aa591ddd2..adeb257d6c7ec0fc3e390d17820a2ee42b684150 100644
index e5d6d1c583ac82bf957cbbceafa62a9c80d08de2..bc02b09176ac2b3b1a8307ef5db34d576c42d70e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -4,9 +4,13 @@ import co.aikar.timings.TimingsManager;
import com.google.common.base.Throwables;
import com.google.common.collect.ImmutableMap;
import net.kyori.adventure.bossbar.BossBar;
+import net.minecraft.core.Registry;
+import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.MinecraftServer;
import net.minecraft.world.entity.EntityDimensions;
import net.minecraft.world.entity.EntityType;
+import net.minecraft.world.item.enchantment.Enchantment;
+
import org.purpurmc.purpur.command.PurpurCommand;
import org.purpurmc.purpur.task.TPSBarTask;
import org.bukkit.Bukkit;
@@ -20,9 +24,12 @@ import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
+import java.util.ArrayList;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import java.util.logging.Level;
@SuppressWarnings("unused")
@@ -300,6 +307,9 @@ public class PurpurConfig {
@@ -311,6 +311,9 @@ public class PurpurConfig {
public static int beeInsideBeeHive = 3;
public static boolean anvilCumulativeCost = true;
public static int lightningRodRange = 128;
@@ -97,7 +70,7 @@ index 258ef634bac087710c77abff0a52954aa591ddd2..adeb257d6c7ec0fc3e390d17820a2ee4
private static void blockSettings() {
if (version < 3) {
boolean oldValue = getBoolean("settings.barrel.packed-barrels", true);
@@ -334,6 +344,19 @@ public class PurpurConfig {
@@ -345,6 +348,19 @@ public class PurpurConfig {
beeInsideBeeHive = getInt("settings.blocks.beehive.max-bees-inside", beeInsideBeeHive);
anvilCumulativeCost = getBoolean("settings.blocks.anvil.cumulative-cost", anvilCumulativeCost);
lightningRodRange = getInt("settings.blocks.lightning_rod.range", lightningRodRange);

View File

@@ -67,10 +67,10 @@ index 9e83f2dea73461f698185f5ffdb6060e422b9494..6b503d7bdd0eb202ff3466dc1f691102
// CraftBukkit start
// this.setPlayerList(new DedicatedPlayerList(this, this.registryHolder, this.playerDataStorage)); // Spigot - moved up
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index adeb257d6c7ec0fc3e390d17820a2ee42b684150..dfa5268c43c8c7726b581a6567d32838ac58eb6a 100644
index bc02b09176ac2b3b1a8307ef5db34d576c42d70e..966f09b29a0a83c54fd7b8bfa4c8cf2df09a0900 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -406,4 +406,9 @@ public class PurpurConfig {
@@ -410,4 +410,9 @@ public class PurpurConfig {
private static void tpsCatchup() {
tpsCatchup = getBoolean("settings.tps-catchup", tpsCatchup);
}

View File

@@ -18,10 +18,10 @@ index 3fa13053722387db199f482307559219c381f4da..fd0f5b13c4254dd976a38a6e60d9e156
char c = in.charAt(i);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index dfa5268c43c8c7726b581a6567d32838ac58eb6a..4aba19f579e2340aa0b8070de33a14483f85235d 100644
index 966f09b29a0a83c54fd7b8bfa4c8cf2df09a0900..effaa275749729dce59ab28de51609656bb9d4b5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -411,4 +411,11 @@ public class PurpurConfig {
@@ -415,4 +415,11 @@ public class PurpurConfig {
private static void networkSettings() {
useUPnP = getBoolean("settings.network.upnp-port-forwarding", useUPnP);
}

View File

@@ -158,10 +158,10 @@ index 6b8a1535086aae7e4e3229d05615fb903188f507..60af917083de1b790b1d93d61835a669
public int getMinCost(int level) {
return 15 + (level - 1) * 9;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 4aba19f579e2340aa0b8070de33a14483f85235d..9f7631b643ebfb3b472bf2fd4280140d0b32cfc5 100644
index effaa275749729dce59ab28de51609656bb9d4b5..013c3c41c6db66d44409fcd9df70704583efe113 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -361,6 +361,7 @@ public class PurpurConfig {
@@ -365,6 +365,7 @@ public class PurpurConfig {
public static boolean allowInfinityMending = false;
public static boolean allowCrossbowInfinity = false;
@@ -169,7 +169,7 @@ index 4aba19f579e2340aa0b8070de33a14483f85235d..9f7631b643ebfb3b472bf2fd4280140d
public static boolean allowUnsafeEnchants = false;
private static void enchantmentSettings() {
if (version < 5) {
@@ -370,6 +371,7 @@ public class PurpurConfig {
@@ -374,6 +375,7 @@ public class PurpurConfig {
}
allowInfinityMending = getBoolean("settings.enchantment.allow-infinity-and-mending-together", allowInfinityMending);
allowCrossbowInfinity = getBoolean("settings.enchantment.allow-infinity-on-crossbow", allowCrossbowInfinity);

View File

@@ -0,0 +1,113 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@Gmail.com>
Date: Tue, 18 Jan 2022 04:51:51 -0600
Subject: [PATCH] Configurable food attributes
diff --git a/src/main/java/net/minecraft/world/food/FoodProperties.java b/src/main/java/net/minecraft/world/food/FoodProperties.java
index 9967ba762567631f2bdb1e4f8fe16a13ea927b46..019f90257ea0a651b9b1fcbeab505dcb37400dc4 100644
--- a/src/main/java/net/minecraft/world/food/FoodProperties.java
+++ b/src/main/java/net/minecraft/world/food/FoodProperties.java
@@ -6,11 +6,13 @@ import java.util.List;
import net.minecraft.world.effect.MobEffectInstance;
public class FoodProperties {
- private final int nutrition;
- private final float saturationModifier;
- private final boolean isMeat;
- private final boolean canAlwaysEat;
- private final boolean fastFood;
+ // Purpur start
+ private int nutrition; public void setNutrition(int nutrition) { this.nutrition = nutrition; }
+ private float saturationModifier; public void setSaturationModifier(float saturation) { this.saturationModifier = saturation; }
+ private boolean isMeat; public void setIsMeat(boolean isMeat) { this.isMeat = isMeat; }
+ private boolean canAlwaysEat; public void setCanAlwaysEat(boolean canAlwaysEat) { this.canAlwaysEat = canAlwaysEat; }
+ private boolean fastFood; public void setFastFood(boolean isFastFood) { this.fastFood = isFastFood; }
+ // Purpur end
private final List<Pair<MobEffectInstance, Float>> effects;
FoodProperties(int hunger, float saturationModifier, boolean meat, boolean alwaysEdible, boolean snack, List<Pair<MobEffectInstance, Float>> statusEffects) {
diff --git a/src/main/java/net/minecraft/world/food/Foods.java b/src/main/java/net/minecraft/world/food/Foods.java
index b16d9e2eaa589f19c563ee70b1a56d67dbcdecb0..f31b689986d24bc21417cc3f25a4417bb5fc060f 100644
--- a/src/main/java/net/minecraft/world/food/Foods.java
+++ b/src/main/java/net/minecraft/world/food/Foods.java
@@ -4,6 +4,8 @@ import net.minecraft.world.effect.MobEffectInstance;
import net.minecraft.world.effect.MobEffects;
public class Foods {
+ public static final java.util.Map<String, FoodProperties> ALL_PROPERTIES = new java.util.HashMap<>(); // Purpur
+
public static final FoodProperties APPLE = (new FoodProperties.Builder()).nutrition(4).saturationMod(0.3F).build();
public static final FoodProperties BAKED_POTATO = (new FoodProperties.Builder()).nutrition(5).saturationMod(0.6F).build();
public static final FoodProperties BEEF = (new FoodProperties.Builder()).nutrition(3).saturationMod(0.3F).meat().build();
diff --git a/src/main/java/net/minecraft/world/item/Items.java b/src/main/java/net/minecraft/world/item/Items.java
index 513343d225a71e242b0f237eefcd25147709d9d1..b9233dde3f43a7420ea802b65f525d3827f82e4d 100644
--- a/src/main/java/net/minecraft/world/item/Items.java
+++ b/src/main/java/net/minecraft/world/item/Items.java
@@ -1164,6 +1164,8 @@ public class Items {
((BlockItem)item).registerBlocks(Item.BY_BLOCK, item);
}
+ if (item.getFoodProperties() != null) Foods.ALL_PROPERTIES.put(id.getPath(), item.getFoodProperties()); // Purpur
+
return Registry.register(Registry.ITEM, id, item);
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 013c3c41c6db66d44409fcd9df70704583efe113..57295abc0de7d8b95ec3bfb414be4a5693634890 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -424,4 +424,53 @@ public class PurpurConfig {
String setPattern = getString("settings.username-valid-characters", defaultPattern);
usernameValidCharactersPattern = java.util.regex.Pattern.compile(setPattern == null || setPattern.isBlank() ? defaultPattern : setPattern);
}
+
+ private static void foodSettings() {
+ ConfigurationSection properties = config.getConfigurationSection("settings.food-properties");
+ if (properties == null) {
+ PurpurConfig.log(Level.SEVERE, "missing food properties...");
+ config.addDefault("settings.food-properties", new HashMap<>());
+ return;
+ }
+ properties.getKeys(false).forEach(foodKey -> {
+ FoodProperties food = Foods.ALL_PROPERTIES.get(foodKey);
+ if (food == null) {
+ PurpurConfig.log(Level.SEVERE, "Invalid food property: " + foodKey);
+ return;
+ }
+ if (properties.contains(foodKey + ".nutrition")) food.setNutrition(properties.getInt(food + ".nutrition"));
+ if (properties.contains(foodKey + ".saturation-modifier")) food.setSaturationModifier((float) properties.getDouble(food + ".saturation-modifier"));
+ if (properties.contains(foodKey + ".is-meat")) food.setIsMeat(properties.getBoolean(food + ".is-meat"));
+ if (properties.contains(foodKey + ".can-always-eat")) food.setCanAlwaysEat(properties.getBoolean(food + ".can-always-eat"));
+ if (properties.contains(foodKey + ".fast-food")) food.setFastFood(properties.getBoolean(food + ".fast-food"));
+ ConfigurationSection effects = properties.getConfigurationSection(foodKey + ".effects");
+ if (effects != null) {
+ Map<String, Object> def = new HashMap<>();
+ food.getEffects().forEach(pair -> {
+ def.put("chance", pair.getSecond());
+ MobEffectInstance effect = pair.getFirst();
+ def.put("duration", effect.getDuration());
+ def.put("amplifier", effect.getAmplifier());
+ def.put("ambient", effect.isAmbient());
+ def.put("visible", effect.isVisible());
+ def.put("show-icon", effect.showIcon());
+ });
+ food.getEffects().clear();
+ effects.getKeys(false).forEach(effectKey -> {
+ MobEffect effect = Registry.MOB_EFFECT.get(new ResourceLocation(effectKey));
+ if (effect == null) {
+ PurpurConfig.log(Level.SEVERE, "Invalid food property effect for " + foodKey + ": " + effectKey);
+ return;
+ }
+ float chance = (float) effects.getDouble(effectKey + ".chance", (double) def.get("chance"));
+ int duration = effects.getInt(effectKey + ".duration", (int) def.get("duration"));
+ int amplifier = effects.getInt(effectKey + ".amplifier", (int) def.get("amplifier"));
+ boolean ambient = effects.getBoolean(effectKey + ".ambient", (boolean) def.get("ambient"));
+ boolean visible = effects.getBoolean(effectKey + ".visible", (boolean) def.get("visible"));
+ boolean showIcon = effects.getBoolean(effectKey + ".show-icon", (boolean) def.get("show-icon"));
+ food.getEffects().add(Pair.of(new MobEffectInstance(effect, duration, amplifier, ambient, visible, showIcon), chance));
+ });
+ }
+ });
+ }
}