From c1f1b14ecff59968c6ed8e2fd9ca9700db5a48ba Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sun, 19 May 2019 06:44:58 -0500 Subject: [PATCH] Add config options for snowman's pumpkin --- ...pumpkin-on-off-by-player-interaction.patch | 48 ++++++++++++++----- patches/server/0011-Integrate-ridables.patch | 6 +-- ...fig-to-suppress-specific-log-outputs.patch | 16 ++++--- ...e-giants-naturally-spawn-and-have-AI.patch | 16 ++++--- 4 files changed, 58 insertions(+), 28 deletions(-) diff --git a/patches/server/0007-Snowman-set-pumpkin-on-off-by-player-interaction.patch b/patches/server/0007-Snowman-set-pumpkin-on-off-by-player-interaction.patch index 18837aad8..2da6ba784 100644 --- a/patches/server/0007-Snowman-set-pumpkin-on-off-by-player-interaction.patch +++ b/patches/server/0007-Snowman-set-pumpkin-on-off-by-player-interaction.patch @@ -1,17 +1,25 @@ -From fccb0a779a6fcf0809341268d16dbaa072999566 Mon Sep 17 00:00:00 2001 +From 84f371a48a082ec8dbc2469d3e750876617509fe Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Fri, 3 May 2019 23:58:44 -0500 Subject: [PATCH] Snowman set pumpkin on/off by player interaction --- - .../net/minecraft/server/EntitySnowman.java | 17 ++++++++++++++++- - 1 file changed, 16 insertions(+), 1 deletion(-) + .../net/minecraft/server/EntitySnowman.java | 20 ++++++++++++++++++- + .../java/net/pl3x/purpur/PurpurConfig.java | 7 +++++++ + 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/minecraft/server/EntitySnowman.java b/src/main/java/net/minecraft/server/EntitySnowman.java -index 8677f0818..c13dfc6cc 100644 +index 8677f0818..fb36306b9 100644 --- a/src/main/java/net/minecraft/server/EntitySnowman.java +++ b/src/main/java/net/minecraft/server/EntitySnowman.java -@@ -8,6 +8,7 @@ import org.bukkit.event.player.PlayerShearEntityEvent; +@@ -2,12 +2,14 @@ package net.minecraft.server; + + import javax.annotation.Nullable; + // CraftBukkit start ++import net.pl3x.purpur.PurpurConfig; + import org.bukkit.craftbukkit.event.CraftEventFactory; + import org.bukkit.event.player.PlayerShearEntityEvent; + // CraftBukkit end public class EntitySnowman extends EntityGolem implements IRangedEntity { @@ -19,7 +27,7 @@ index 8677f0818..c13dfc6cc 100644 private static final DataWatcherObject b = DataWatcher.a(EntitySnowman.class, DataWatcherRegistry.a); public EntitySnowman(EntityTypes entitytypes, World world) { -@@ -112,7 +113,7 @@ public class EntitySnowman extends EntityGolem implements IRangedEntity { +@@ -112,7 +114,7 @@ public class EntitySnowman extends EntityGolem implements IRangedEntity { protected boolean a(EntityHuman entityhuman, EnumHand enumhand) { ItemStack itemstack = entityhuman.b(enumhand); @@ -28,18 +36,20 @@ index 8677f0818..c13dfc6cc 100644 // CraftBukkit start PlayerShearEntityEvent event = new PlayerShearEntityEvent((org.bukkit.entity.Player) entityhuman.getBukkitEntity(), this.getBukkitEntity()); this.world.getServer().getPluginManager().callEvent(event); -@@ -126,6 +127,20 @@ public class EntitySnowman extends EntityGolem implements IRangedEntity { +@@ -126,6 +128,22 @@ public class EntitySnowman extends EntityGolem implements IRangedEntity { itemstack.damage(1, entityhuman, (entityhuman1) -> { entityhuman1.d(enumhand); }); + + // Purpur start -+ EntityItem pumpkin = new EntityItem(world, locX, locY, locZ, new ItemStack(Blocks.PUMPKIN.getItem())); -+ pumpkin.pickupDelay = 10; -+ world.addEntity(pumpkin); ++ if (PurpurConfig.snowmanDropsPumpkin) { ++ EntityItem pumpkin = new EntityItem(world, locX, locY, locZ, new ItemStack(Blocks.PUMPKIN.getItem())); ++ pumpkin.pickupDelay = 10; ++ world.addEntity(pumpkin); ++ } + return true; + }} else { -+ if (PUMPKIN.test(itemstack)) { ++ if (PurpurConfig.snowmanPumpkinPutBack && PUMPKIN.test(itemstack)) { + setHasPumpkin(true); + if (!entityhuman.abilities.canInstantlyBuild) { + itemstack.subtract(1); @@ -49,6 +59,22 @@ index 8677f0818..c13dfc6cc 100644 } return super.a(entityhuman, enumhand); +diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java +index 88835089c..8f3367ae1 100644 +--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java ++++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java +@@ -107,4 +107,11 @@ public class PurpurConfig { + private static void cowsSettings() { + feedMushroomsToCows = getInt("settings.mobs.cow.feed-mushrooms-for-mooshroom", feedMushroomsToCows); + } ++ ++ public static boolean snowmanDropsPumpkin = true; ++ public static boolean snowmanPumpkinPutBack = true; ++ private static void snowmansSettings() { ++ snowmanDropsPumpkin = getBoolean("settings.mobs.snow_golem.drops-pumpkin-when-sheared", snowmanDropsPumpkin); ++ snowmanPumpkinPutBack = getBoolean("settings.mobs.snow_golem.pumpkin-can-be-added-back", snowmanPumpkinPutBack); ++ } + } -- 2.20.1 diff --git a/patches/server/0011-Integrate-ridables.patch b/patches/server/0011-Integrate-ridables.patch index 105339fff..73606c997 100644 --- a/patches/server/0011-Integrate-ridables.patch +++ b/patches/server/0011-Integrate-ridables.patch @@ -1,4 +1,4 @@ -From 3ad2b56f69e8fe52b9820dd5366d30389a202651 Mon Sep 17 00:00:00 2001 +From f9ce19e5fc6f8f23906c90d87730d4fbb72b803c Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Tue, 30 Apr 2019 19:17:21 -0500 Subject: [PATCH] Integrate ridables @@ -857,10 +857,10 @@ index e28c0673d..f88cd9e94 100644 this.setMot(vec3d.x, 0.41999998688697815D, vec3d.z); diff --git a/src/main/java/net/minecraft/server/EntitySnowman.java b/src/main/java/net/minecraft/server/EntitySnowman.java -index c13dfc6cc..fca5fde34 100644 +index fb36306b9..fb6287f50 100644 --- a/src/main/java/net/minecraft/server/EntitySnowman.java +++ b/src/main/java/net/minecraft/server/EntitySnowman.java -@@ -74,6 +74,7 @@ public class EntitySnowman extends EntityGolem implements IRangedEntity { +@@ -75,6 +75,7 @@ public class EntitySnowman extends EntityGolem implements IRangedEntity { return; } diff --git a/patches/server/0013-Add-config-to-suppress-specific-log-outputs.patch b/patches/server/0013-Add-config-to-suppress-specific-log-outputs.patch index 0981003ec..60348e0c1 100644 --- a/patches/server/0013-Add-config-to-suppress-specific-log-outputs.patch +++ b/patches/server/0013-Add-config-to-suppress-specific-log-outputs.patch @@ -1,4 +1,4 @@ -From 09b27be73afdc7b7caa83fbe80a5e2b963faa628 Mon Sep 17 00:00:00 2001 +From 0bc10c468cdf8d88d2569bd702d5e4827d4ec82e Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Fri, 10 May 2019 19:17:36 -0500 Subject: [PATCH] Add config to suppress specific log outputs @@ -35,21 +35,23 @@ index 3ed12672e..d82102bd8 100644 WorldServer.LOGGER.error("Deleting duplicate entity {}", entity); // CraftBukkit // paper diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 88835089c..b74868b9c 100644 +index 8f3367ae1..d552076b3 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java -@@ -107,4 +107,11 @@ public class PurpurConfig { - private static void cowsSettings() { - feedMushroomsToCows = getInt("settings.mobs.cow.feed-mushrooms-for-mooshroom", feedMushroomsToCows); +@@ -103,6 +103,13 @@ public class PurpurConfig { + return config.getString(path, config.getString(path)); } -+ + + public static boolean showDuplicateEntityUUIDErrors = true; + public static boolean showUnknownAttributeWarnings = true; + private static void loggerSettings() { + showDuplicateEntityUUIDErrors = getBoolean("settings.logger.show-duplicate-entity-uuid-errors", showDuplicateEntityUUIDErrors); + showUnknownAttributeWarnings = getBoolean("settings.logger.show-unknown-attribute-warnings", showUnknownAttributeWarnings); + } - } ++ + public static int feedMushroomsToCows = 5; + private static void cowsSettings() { + feedMushroomsToCows = getInt("settings.mobs.cow.feed-mushrooms-for-mooshroom", feedMushroomsToCows); -- 2.20.1 diff --git a/patches/server/0015-Make-giants-naturally-spawn-and-have-AI.patch b/patches/server/0015-Make-giants-naturally-spawn-and-have-AI.patch index 6f3819f67..a0832af5a 100644 --- a/patches/server/0015-Make-giants-naturally-spawn-and-have-AI.patch +++ b/patches/server/0015-Make-giants-naturally-spawn-and-have-AI.patch @@ -1,4 +1,4 @@ -From 59d40521715a6724ac7f4ca690d07bedf5acad85 Mon Sep 17 00:00:00 2001 +From 79319fa688c3b43d63b2ed5a1c7d427995bcf970 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sun, 12 May 2019 00:43:12 -0500 Subject: [PATCH] Make giants naturally spawn and have AI @@ -106,21 +106,23 @@ index 19b8312f2..b58b681a9 100644 } } diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index b74868b9c..f7d24f18a 100644 +index d552076b3..d7236ebd6 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java -@@ -114,4 +114,11 @@ public class PurpurConfig { - showDuplicateEntityUUIDErrors = getBoolean("settings.logger.show-duplicate-entity-uuid-errors", showDuplicateEntityUUIDErrors); - showUnknownAttributeWarnings = getBoolean("settings.logger.show-unknown-attribute-warnings", showUnknownAttributeWarnings); +@@ -115,6 +115,13 @@ public class PurpurConfig { + feedMushroomsToCows = getInt("settings.mobs.cow.feed-mushrooms-for-mooshroom", feedMushroomsToCows); } -+ + + public static boolean giantsNaturallySpawn = true; + public static boolean giantsHaveAI = true; + private static void giantsSettings() { + giantsNaturallySpawn = getBoolean("settings.mobs.giant.naturally-spawn", giantsNaturallySpawn); + giantsHaveAI = getBoolean("settings.mobs.giant.have-ai", giantsHaveAI); + } - } ++ + public static boolean snowmanDropsPumpkin = true; + public static boolean snowmanPumpkinPutBack = true; + private static void snowmansSettings() { -- 2.20.1