mirror of
https://github.com/Winds-Studio/Leaf.git
synced 2025-12-19 15:09:25 +00:00
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@88a3a870 Configurable xp orb merge group count (#12503) PaperMC/Paper@53d1d04e Disable Item Obfuscation for entity related stacks (#12297) PaperMC/Paper@c98cd658 Add configuration interface to expose certain config values (#12273) PaperMC/Paper@42a2a6c2 Supports the ability for commands to be registered internally (#12520) PaperMC/Paper@753cff7c Improvements for Dump paper commands (#12512) PaperMC/Paper@e2da5d2f Registry API for supported Mob Variants (#12417) PaperMC/Paper@ab0253fe Expand PlayerDeathEvent API (#12221) PaperMC/Paper@cbcf75a5 Update visual fire handling with TriState support (#12303) PaperMC/Paper@6c3964d2 Properly save level data async (#12530) PaperMC/Paper@d2ad2e66 Add missing EntityLookup#getAllMapped from Moonrise PaperMC/Paper@358e72ec Remove simplify remote item matching stuff for now PaperMC/Paper@04ffca0b Also remove CraftPlayer methods PaperMC/Paper@a2525819 Update mache PaperMC/Paper@d683970d Add FishHookStateChangeEvent (#12165) PaperMC/Paper@369ad170 Cached tag parser for itemstack reading (#12547) PaperMC/Paper@841d6342 Fix ItemStack#addUnsafeEnchantment ignored for missing enchantment component (#12549) PaperMC/Paper@c000b352 fix(bukkit-brig-forwarding-map): Invert isEmpty method (#12555) PaperMC/Paper@28d7df75 Backport HeroesOfTheVillage datafixer fix PaperMC/Paper@f1dbed07 Implement BlocksAttack DamageReduction and ItemDamage (#12538) PaperMC/Paper@cc38032b Deprecate TeleportCause CHORUS_FRUIT for CONSUMABLE_EFFECT (#12546) PaperMC/Paper@35878677 [ci/skip] Fix format and mentions for ItemDamageFunction (#12560) PaperMC/Paper@7171d299 [ci/skip] Mention CAN_PLACE/CAN_BREAK component in ItemMeta (#12559) PaperMC/Paper@6f73e62e Add getPickItemStack (#12552) PaperMC/Paper@ce0fa4c4 Replace old version command with brigadier equivalent (#12502) PaperMC/Paper@fa360aa8 Add some missing annotations and an incorrect one (#12204) PaperMC/Paper@113b18ee Update paperweight and Gradle wrapper (#12573) PaperMC/Paper@f303a076 fix: Don't hardcode checks for translation registries (#12571) PaperMC/Paper@87349c31 Fix CombatTracker stale on death (#12562) PaperMC/Paper@b70bca6b Revert "fix: Don't hardcode checks for translation registries (#12571)" Purpur Changes: PurpurMC/Purpur@93011bc1 Add configuration setting to re-add End void rings (#1656) PurpurMC/Purpur@c2f48591 [ci/skip] only set default world config values once PurpurMC/Purpur@6f5bbae5 [ci/skip] move some code around PurpurMC/Purpur@5c1a9835 fix issue with `shift-right-click-repairs-mending-points` PurpurMC/Purpur@3156e446 check damage value of tool correctly PurpurMC/Purpur@a9fe4f25 Updated Upstream (Paper) PurpurMC/Purpur@9d0aa8eb Updated Upstream (Paper) PurpurMC/Purpur@603c7557 Updated Upstream (Paper) PurpurMC/Purpur@eca78060 Updated Upstream (Paper) PurpurMC/Purpur@e4e9cfdf Updated Upstream (Paper) PurpurMC/Purpur@3de2fc7d Updated Upstream (Paper) PurpurMC/Purpur@09f547de add `mob-griefing-override` config options (#1661) PurpurMC/Purpur@1dd9bd0c Updated Upstream (Paper) PurpurMC/Purpur@7a8aa86a finish updating gradle PurpurMC/Purpur@fd78b90f bandaid fix: increase the daemon heap for now
420 lines
22 KiB
Diff
420 lines
22 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: AlphaKR93 <dev@alpha93.kr>
|
|
Date: Sat, 25 Mar 2023 00:52:11 +0900
|
|
Subject: [PATCH] Plazma: Add missing purpur configuration options
|
|
|
|
Original license: MIT
|
|
Original project: https://github.com/PlazmaMC/PlazmaBukkit
|
|
|
|
Add more Purpur configurable options for entities
|
|
|
|
diff --git a/net/minecraft/world/entity/animal/allay/Allay.java b/net/minecraft/world/entity/animal/allay/Allay.java
|
|
index 18107d9be4d9ba816852ee4595a5349867834bef..ffa224d6cff03ad903ed38636eb3857f5919912f 100644
|
|
--- a/net/minecraft/world/entity/animal/allay/Allay.java
|
|
+++ b/net/minecraft/world/entity/animal/allay/Allay.java
|
|
@@ -177,6 +177,18 @@ public class Allay extends PathfinderMob implements InventoryCarrier, VibrationS
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Leaf start - Plazma - Add missing purpur configuration options
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return level().purpurConfig.allayTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public boolean isAlwaysExperienceDropper() {
|
|
+ return level().purpurConfig.allayAlwaysDropExp;
|
|
+ }
|
|
+ // Leaf end - Plazma - Add missing purpur configuration options
|
|
+
|
|
@Override
|
|
protected Brain.Provider<Allay> brainProvider() {
|
|
return Brain.provider(MEMORY_TYPES, SENSOR_TYPES);
|
|
diff --git a/net/minecraft/world/entity/animal/camel/Camel.java b/net/minecraft/world/entity/animal/camel/Camel.java
|
|
index 8d2dc9b94a13c386b7e54788a9ec6baf15c09a13..29c264b70eb5ce15e8c24d444d3fd50c5cab6a1c 100644
|
|
--- a/net/minecraft/world/entity/animal/camel/Camel.java
|
|
+++ b/net/minecraft/world/entity/animal/camel/Camel.java
|
|
@@ -101,6 +101,18 @@ public class Camel extends AbstractHorse {
|
|
}
|
|
// Purpur end - Make entity breeding times configurable
|
|
|
|
+ // Leaf start - Plazma - Add missing purpur configuration options
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return level().purpurConfig.camelTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public boolean isAlwaysExperienceDropper() {
|
|
+ return level().purpurConfig.camelAlwaysDropExp;
|
|
+ }
|
|
+ // Leaf start - Plazma - Add missing purpur configuration options
|
|
+
|
|
@Override
|
|
public void addAdditionalSaveData(CompoundTag compound) {
|
|
super.addAdditionalSaveData(compound);
|
|
@@ -171,7 +183,7 @@ public class Camel extends AbstractHorse {
|
|
@Override
|
|
protected void customServerAiStep(ServerLevel level) {
|
|
Brain<?> brain = this.getBrain();
|
|
- if (this.behaviorTick++ % this.activatedPriority == 0) // Leaf - Plazma - Add missing Pufferfish configurations
|
|
+ if ((getRider() == null || !this.isControllable()) && this.behaviorTick++ % this.activatedPriority == 0) // Leaf - Plazma - Add missing Pufferfish configurations // Leaf - Plazma - Add missing purpur configuration options
|
|
((Brain<Camel>)brain).tick(level, this);
|
|
CamelAi.updateActivity(this);
|
|
super.customServerAiStep(level);
|
|
diff --git a/net/minecraft/world/entity/animal/frog/Frog.java b/net/minecraft/world/entity/animal/frog/Frog.java
|
|
index 50f9a11f8cb53fd1fa34017598ff3fe828b3ca25..9f9abbd3272cba17f79dc4da6cf2cd4d3ab2cc8b 100644
|
|
--- a/net/minecraft/world/entity/animal/frog/Frog.java
|
|
+++ b/net/minecraft/world/entity/animal/frog/Frog.java
|
|
@@ -169,6 +169,23 @@ public class Frog extends Animal {
|
|
}
|
|
// Purpur end - Make entity breeding times configurable
|
|
|
|
+ // Leaf start - Plazma - Add missing purpur configuration options
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return level().purpurConfig.frogTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public boolean isAlwaysExperienceDropper() {
|
|
+ return level().purpurConfig.frogAlwaysDropExp;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public void initAttributes() {
|
|
+ this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(level().purpurConfig.frogMaxHealth);
|
|
+ }
|
|
+ // Leaf end - Plazma - Add missing purpur configuration options
|
|
+
|
|
@Override
|
|
protected Brain.Provider<Frog> brainProvider() {
|
|
return Brain.provider(MEMORY_TYPES, SENSOR_TYPES);
|
|
diff --git a/net/minecraft/world/entity/animal/frog/Tadpole.java b/net/minecraft/world/entity/animal/frog/Tadpole.java
|
|
index 7a3bfa91ffc5c7c6b04eef7b1b1d3c04c5a6d856..649d0fd34fc807ee0c87577490c77b71d5d76ecf 100644
|
|
--- a/net/minecraft/world/entity/animal/frog/Tadpole.java
|
|
+++ b/net/minecraft/world/entity/animal/frog/Tadpole.java
|
|
@@ -106,6 +106,23 @@ public class Tadpole extends AbstractFish {
|
|
}
|
|
// Purpur end - Ridables
|
|
|
|
+ // Leaf start - Plazma - Add missing purpur configuration options
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return level().purpurConfig.tadpoleTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public boolean isAlwaysExperienceDropper() {
|
|
+ return level().purpurConfig.tadpoleAlwaysDropExp;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public void initAttributes() {
|
|
+ this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(level().purpurConfig.tadpoleMaxHealth);
|
|
+ }
|
|
+ // Leaf end - Plazma - Add missing purpur configuration options
|
|
+
|
|
@Override
|
|
protected PathNavigation createNavigation(Level level) {
|
|
return new WaterBoundPathNavigation(this, level);
|
|
diff --git a/net/minecraft/world/entity/animal/sniffer/Sniffer.java b/net/minecraft/world/entity/animal/sniffer/Sniffer.java
|
|
index 598216a2794d2c7b325a9e479dfb553427fa0bc7..fca5464de3fe07c74e26c9c608efaa3c150c11a1 100644
|
|
--- a/net/minecraft/world/entity/animal/sniffer/Sniffer.java
|
|
+++ b/net/minecraft/world/entity/animal/sniffer/Sniffer.java
|
|
@@ -118,6 +118,18 @@ public class Sniffer extends Animal {
|
|
}
|
|
// Purpur end - Make entity breeding times configurable
|
|
|
|
+ // Leaf start - Plazma - Add missing purpur configuration options
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return level().purpurConfig.snifferTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public boolean isAlwaysExperienceDropper() {
|
|
+ return level().purpurConfig.snifferAlwaysDropExp;
|
|
+ }
|
|
+ // Leaf end - Plazma - Add missing purpur configuration options
|
|
+
|
|
@Override
|
|
protected void defineSynchedData(SynchedEntityData.Builder builder) {
|
|
super.defineSynchedData(builder);
|
|
@@ -485,7 +497,7 @@ public class Sniffer extends Animal {
|
|
private int behaviorTick; // Leaf - Plazma - Add missing Pufferfish configurations
|
|
@Override
|
|
protected void customServerAiStep(ServerLevel level) {
|
|
- if (this.behaviorTick++ % this.activatedPriority == 0) // Leaf - Plazma - Add missing Pufferfish configurations
|
|
+ if ((getRider() == null || !this.isControllable()) && this.behaviorTick++ % this.activatedPriority == 0) // Leaf - Plazma - Add missing Pufferfish configurations // Leaf - Plazma - Add missing purpur configuration options
|
|
this.getBrain().tick(level, this);
|
|
SnifferAi.updateActivity(this);
|
|
super.customServerAiStep(level);
|
|
diff --git a/net/minecraft/world/entity/monster/creaking/Creaking.java b/net/minecraft/world/entity/monster/creaking/Creaking.java
|
|
index 91c6956311da3694cb3cda2f7a86c7e110c0d212..d4adacff205f6c6d94f2c7376485ac259aa94d61 100644
|
|
--- a/net/minecraft/world/entity/monster/creaking/Creaking.java
|
|
+++ b/net/minecraft/world/entity/monster/creaking/Creaking.java
|
|
@@ -131,6 +131,18 @@ public class Creaking extends Monster {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Leaf start - Plazma - Add missing purpur configuration options
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return level().purpurConfig.wardenTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public boolean isAlwaysExperienceDropper() {
|
|
+ return level().purpurConfig.wardenAlwaysDropExp;
|
|
+ }
|
|
+ // Leaf end - Plazma - Add missing purpur configuration options
|
|
+
|
|
@Override
|
|
protected BodyRotationControl createBodyControl() {
|
|
return new Creaking.CreakingBodyRotationControl(this);
|
|
@@ -234,7 +246,7 @@ public class Creaking extends Monster {
|
|
private int behaviorTick; // Leaf - Plazma - Add missing Pufferfish configurations
|
|
@Override
|
|
protected void customServerAiStep(ServerLevel level) {
|
|
- if (this.behaviorTick++ % this.activatedPriority == 0) // Leaf - Plazma - Add missing Pufferfish configurations
|
|
+ if ((getRider() == null || !this.isControllable()) && this.behaviorTick++ % this.activatedPriority == 0) // Leaf - Plazma - Add missing Pufferfish configurations // Leaf - Plazma - Add missing purpur configuration options
|
|
this.getBrain().tick((ServerLevel)this.level(), this);
|
|
CreakingAi.updateActivity(this);
|
|
}
|
|
diff --git a/net/minecraft/world/entity/monster/warden/Warden.java b/net/minecraft/world/entity/monster/warden/Warden.java
|
|
index e5193d7320ea17e86b776c705ec45010019493d6..ed221514a407f1c07986d138a17c588a523d76b8 100644
|
|
--- a/net/minecraft/world/entity/monster/warden/Warden.java
|
|
+++ b/net/minecraft/world/entity/monster/warden/Warden.java
|
|
@@ -150,6 +150,23 @@ public class Warden extends Monster implements VibrationSystem {
|
|
}
|
|
// Purpur end - Ridables
|
|
|
|
+ // Leaf start - Plazma - Add missing purpur configuration options
|
|
+ @Override
|
|
+ public boolean isSensitiveToWater() {
|
|
+ return level().purpurConfig.wardenTakeDamageFromWater;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public boolean isAlwaysExperienceDropper() {
|
|
+ return level().purpurConfig.wardenAlwaysDropExp;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public void initAttributes() {
|
|
+ this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(level().purpurConfig.wardenMaxHealth);
|
|
+ }
|
|
+ // Leaf end - Plazma - Add missing purpur configuration options
|
|
+
|
|
@Override
|
|
public Packet<ClientGamePacketListener> getAddEntityPacket(ServerEntity entity) {
|
|
return new ClientboundAddEntityPacket(this, entity, this.hasPose(Pose.EMERGING) ? 1 : 0);
|
|
@@ -304,7 +321,7 @@ public class Warden extends Monster implements VibrationSystem {
|
|
private int behaviorTick = 0; // Pufferfish
|
|
@Override
|
|
protected void customServerAiStep(ServerLevel level) {
|
|
- if (this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish
|
|
+ if ((getRider() == null || !this.isControllable()) && this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish // Leaf - Plazma - Add missing purpur configuration options
|
|
this.getBrain().tick(level, this);
|
|
super.customServerAiStep(level);
|
|
if ((this.tickCount + this.getId()) % 120 == 0) {
|
|
diff --git a/net/minecraft/world/entity/vehicle/AbstractChestBoat.java b/net/minecraft/world/entity/vehicle/AbstractChestBoat.java
|
|
index 900c2fdd58da1ba6441f74175b6967b608248315..bf7f1338584d67ed93bd73f5de83a9811d08558f 100644
|
|
--- a/net/minecraft/world/entity/vehicle/AbstractChestBoat.java
|
|
+++ b/net/minecraft/world/entity/vehicle/AbstractChestBoat.java
|
|
@@ -27,7 +27,7 @@ import net.minecraft.world.level.storage.loot.LootTable;
|
|
|
|
public abstract class AbstractChestBoat extends AbstractBoat implements HasCustomInventoryScreen, ContainerEntity {
|
|
private static final int CONTAINER_SIZE = 27;
|
|
- private NonNullList<ItemStack> itemStacks = NonNullList.withSize(27, ItemStack.EMPTY);
|
|
+ private NonNullList<ItemStack> itemStacks = NonNullList.withSize(org.purpurmc.purpur.PurpurConfig.chestBoatRows * 9, ItemStack.EMPTY); // Leaf - Plazma - Add missing purpur configuration options
|
|
@Nullable
|
|
private ResourceKey<LootTable> lootTable;
|
|
private long lootTableSeed;
|
|
@@ -111,7 +111,7 @@ public abstract class AbstractChestBoat extends AbstractBoat implements HasCusto
|
|
|
|
@Override
|
|
public int getContainerSize() {
|
|
- return 27;
|
|
+ return org.purpurmc.purpur.PurpurConfig.chestBoatRows * 9; // Leaf - Plazma - Add missing purpur configuration options
|
|
}
|
|
|
|
@Override
|
|
diff --git a/org/purpurmc/purpur/PurpurConfig.java b/org/purpurmc/purpur/PurpurConfig.java
|
|
index 234f123959830cc2adb78b9dc8752906140e5b11..e0dceff32b47b334ddcb76271e3cf3ea0d27e5f1 100644
|
|
--- a/org/purpurmc/purpur/PurpurConfig.java
|
|
+++ b/org/purpurmc/purpur/PurpurConfig.java
|
|
@@ -322,6 +322,7 @@ public class PurpurConfig {
|
|
}
|
|
|
|
public static int barrelRows = 3;
|
|
+ public static int chestBoatRows = 3; // Leaf - Plazma - Add missing purpur configuration options
|
|
public static boolean enderChestSixRows = false;
|
|
public static boolean enderChestPermissionRows = false;
|
|
public static boolean cryingObsidianValidForPortalFrame = false;
|
|
@@ -365,6 +366,7 @@ public class PurpurConfig {
|
|
case 1 -> 9;
|
|
default -> 27;
|
|
});
|
|
+ chestBoatRows = getInt("settings.blocks.chest_boat.rows", chestBoatRows); // Leaf - Plazma - Add missing purpur configuration options
|
|
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);
|
|
diff --git a/org/purpurmc/purpur/PurpurWorldConfig.java b/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
index 67739ba7cb82d615a5f0c4db7aaa5552c53a42c5..d81e06592aa9521f866c2c910b43a7364de3796e 100644
|
|
--- a/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
+++ b/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
@@ -1189,12 +1189,20 @@ public class PurpurWorldConfig {
|
|
public boolean allayControllable = true;
|
|
public double allayMaxHealth = 20.0D;
|
|
public double allayScale = 1.0D;
|
|
+ // Leaf start - Plazma - Add missing purpur configuration options
|
|
+ public boolean allayTakeDamageFromWater = false;
|
|
+ public boolean allayAlwaysDropExp = false;
|
|
+ // Leaf end - Plazma - Add missing purpur configuration options
|
|
private void allaySettings() {
|
|
allayRidable = getBoolean("mobs.allay.ridable", allayRidable);
|
|
allayRidableInWater = getBoolean("mobs.allay.ridable-in-water", allayRidableInWater);
|
|
allayControllable = getBoolean("mobs.allay.controllable", allayControllable);
|
|
allayMaxHealth = getDouble("mobs.allay.attributes.max_health", allayMaxHealth);
|
|
allayScale = Mth.clamp(getDouble("mobs.allay.attributes.scale", allayScale), 0.0625D, 16.0D);
|
|
+ // Leaf start - Plazma - Add missing purpur configuration options
|
|
+ allayTakeDamageFromWater = getBoolean("mobs.allay.take-damage-from-water", allayTakeDamageFromWater);
|
|
+ allayAlwaysDropExp = getBoolean("mobs.allay.always-drop-exp", allayAlwaysDropExp);
|
|
+ // Leaf end - Plazma - Add missing purpur configuration options
|
|
}
|
|
|
|
public boolean armadilloRidable = false;
|
|
@@ -1349,6 +1357,10 @@ public class PurpurWorldConfig {
|
|
public double camelMovementSpeedMin = 0.09D;
|
|
public double camelMovementSpeedMax = 0.09D;
|
|
public int camelBreedingTicks = 6000;
|
|
+ // Leaf start - Plazma - Add missing purpur configuration options
|
|
+ public boolean camelTakeDamageFromWater = false;
|
|
+ public boolean camelAlwaysDropExp = false;
|
|
+ // Leaf end - Plazma - Add missing purpur configuration options
|
|
private void camelSettings() {
|
|
camelRidableInWater = getBoolean("mobs.camel.ridable-in-water", camelRidableInWater);
|
|
camelMaxHealthMin = getDouble("mobs.camel.attributes.max_health.min", camelMaxHealthMin);
|
|
@@ -1358,6 +1370,10 @@ public class PurpurWorldConfig {
|
|
camelMovementSpeedMin = getDouble("mobs.camel.attributes.movement_speed.min", camelMovementSpeedMin);
|
|
camelMovementSpeedMax = getDouble("mobs.camel.attributes.movement_speed.max", camelMovementSpeedMax);
|
|
camelBreedingTicks = getInt("mobs.camel.breeding-delay-ticks", camelBreedingTicks);
|
|
+ // Leaf start - Plazma - Add missing purpur configuration options
|
|
+ camelTakeDamageFromWater = getBoolean("mobs.camel.takes-damage-from-water", camelTakeDamageFromWater);
|
|
+ camelAlwaysDropExp = getBoolean("mobs.camel.always-drop-exp", camelAlwaysDropExp);
|
|
+ // Leaf end - Plazma - Add missing purpur configuration options
|
|
}
|
|
|
|
public boolean catRidable = false;
|
|
@@ -1504,12 +1520,20 @@ public class PurpurWorldConfig {
|
|
public boolean creakingControllable = true;
|
|
public double creakingMaxHealth = 1.0D;
|
|
public double creakingScale = 1.0D;
|
|
+ // Leaf start - Plazma - Add missing purpur configuration options
|
|
+ public boolean creakingTakeDamageFromWater = false;
|
|
+ public boolean creakingAlwaysDropExp = false;
|
|
+ // Leaf end - Plazma - Add missing purpur configuration options
|
|
private void creakingSettings() {
|
|
creakingRidable = getBoolean("mobs.creaking.ridable", creakingRidable);
|
|
creakingRidableInWater = getBoolean("mobs.creaking.ridable-in-water", creakingRidableInWater);
|
|
creakingControllable = getBoolean("mobs.creaking.controllable", creakingControllable);
|
|
creakingMaxHealth = getDouble("mobs.creaking.attributes.max_health", creakingMaxHealth);
|
|
creakingScale = Mth.clamp(getDouble("mobs.creaking.attributes.scale", creakingScale), 0.0625D, 16.0D);
|
|
+ // Leaf start - Plazma - Add missing purpur configuration options
|
|
+ creakingTakeDamageFromWater = getBoolean("mobs.creaking.takes-damage-from-water", creakingTakeDamageFromWater);
|
|
+ creakingAlwaysDropExp = getBoolean("mobs.creaking.always-drop-exp", creakingAlwaysDropExp);
|
|
+ // Leaf end - Plazma - Add missing purpur configuration options
|
|
}
|
|
|
|
public boolean creeperRidable = false;
|
|
@@ -1841,12 +1865,22 @@ public class PurpurWorldConfig {
|
|
public boolean frogControllable = true;
|
|
public float frogRidableJumpHeight = 0.65F;
|
|
public int frogBreedingTicks = 6000;
|
|
+ // Leaf start - Plazma - Add missing purpur configuration options
|
|
+ public double frogMaxHealth = 10.0D;
|
|
+ public boolean frogTakeDamageFromWater = false;
|
|
+ public boolean frogAlwaysDropExp = false;
|
|
+ // Leaf end - Plazma - Add missing purpur configuration options
|
|
private void frogSettings() {
|
|
frogRidable = getBoolean("mobs.frog.ridable", frogRidable);
|
|
frogRidableInWater = getBoolean("mobs.frog.ridable-in-water", frogRidableInWater);
|
|
frogControllable = getBoolean("mobs.frog.controllable", frogControllable);
|
|
frogRidableJumpHeight = (float) getDouble("mobs.frog.ridable-jump-height", frogRidableJumpHeight);
|
|
frogBreedingTicks = getInt("mobs.frog.breeding-delay-ticks", frogBreedingTicks);
|
|
+ // Leaf start - Plazma - Add missing purpur configuration options
|
|
+ frogMaxHealth = getDouble("mobs.frog.attributes.max_health", frogMaxHealth);
|
|
+ frogTakeDamageFromWater = getBoolean("mobs.frog.takes-damage-from-water", frogTakeDamageFromWater);
|
|
+ frogAlwaysDropExp = getBoolean("mobs.frog.always-drop-exp", frogAlwaysDropExp);
|
|
+ // Leaf end - Plazma - Add missing purpur configuration options
|
|
}
|
|
|
|
public boolean ghastRidable = false;
|
|
@@ -2911,6 +2945,10 @@ public class PurpurWorldConfig {
|
|
public double snifferMaxHealth = 14.0D;
|
|
public double snifferScale = 1.0D;
|
|
public int snifferBreedingTicks = 6000;
|
|
+ // Leaf start - Plazma - Add missing purpur configuration options
|
|
+ public boolean snifferTakeDamageFromWater = false;
|
|
+ public boolean snifferAlwaysDropExp = false;
|
|
+ // Leaf end - Plazma - Add missing purpur configuration options
|
|
private void snifferSettings() {
|
|
snifferRidable = getBoolean("mobs.sniffer.ridable", snifferRidable);
|
|
snifferRidableInWater = getBoolean("mobs.sniffer.ridable-in-water", snifferRidableInWater);
|
|
@@ -2918,6 +2956,10 @@ public class PurpurWorldConfig {
|
|
snifferMaxHealth = getDouble("mobs.sniffer.attributes.max_health", snifferMaxHealth);
|
|
snifferScale = Mth.clamp(getDouble("mobs.sniffer.attributes.scale", snifferScale), 0.0625D, 16.0D);
|
|
snifferBreedingTicks = getInt("mobs.sniffer.breeding-delay-ticks", snifferBreedingTicks);
|
|
+ // Leaf start - Plazma - Add missing purpur configuration options
|
|
+ snifferTakeDamageFromWater = getBoolean("mobs.sniffer.takes-damage-from-water", snifferTakeDamageFromWater);
|
|
+ snifferAlwaysDropExp = getBoolean("mobs.sniffer.always-drop-exp", snifferAlwaysDropExp);
|
|
+ // Leaf end - Plazma - Add missing purpur configuration options
|
|
}
|
|
|
|
public boolean squidRidable = false;
|
|
@@ -3019,10 +3061,20 @@ public class PurpurWorldConfig {
|
|
public boolean tadpoleRidable = false;
|
|
public boolean tadpoleRidableInWater = true;
|
|
public boolean tadpoleControllable = true;
|
|
+ // Leaf start - Plazma - Add missing purpur configuration options
|
|
+ public double tadpoleMaxHealth = 6.0D; // Leaf - Tadpole health should be 6
|
|
+ public boolean tadpoleTakeDamageFromWater = false;
|
|
+ public boolean tadpoleAlwaysDropExp = false;
|
|
+ // Leaf end - Plazma - Add missing purpur configuration options
|
|
private void tadpoleSettings() {
|
|
tadpoleRidable = getBoolean("mobs.tadpole.ridable", tadpoleRidable);
|
|
tadpoleRidableInWater = getBoolean("mobs.tadpole.ridable-in-water", tadpoleRidableInWater);
|
|
tadpoleControllable = getBoolean("mobs.tadpole.controllable", tadpoleControllable);
|
|
+ // Leaf start - Plazma - Add missing purpur configuration options
|
|
+ tadpoleMaxHealth = getDouble("mobs.tadpole.attributes.max_health", tadpoleMaxHealth);
|
|
+ tadpoleTakeDamageFromWater = getBoolean("mobs.tadpole.takes-damage-from-water", tadpoleTakeDamageFromWater);
|
|
+ tadpoleAlwaysDropExp = getBoolean("mobs.tadpole.always-drop-exp", tadpoleAlwaysDropExp);
|
|
+ // Leaf end - Plazma - Add missing purpur configuration options
|
|
}
|
|
|
|
public boolean traderLlamaRidable = false;
|
|
@@ -3256,10 +3308,20 @@ public class PurpurWorldConfig {
|
|
public boolean wardenRidable = false;
|
|
public boolean wardenRidableInWater = true;
|
|
public boolean wardenControllable = true;
|
|
+ // Leaf start - Plazma - Add missing purpur configuration options
|
|
+ public double wardenMaxHealth = 500.0D;
|
|
+ public boolean wardenTakeDamageFromWater = false;
|
|
+ public boolean wardenAlwaysDropExp = false;
|
|
+ // Leaf end - Plazma - Add missing purpur configuration options
|
|
private void wardenSettings() {
|
|
wardenRidable = getBoolean("mobs.warden.ridable", wardenRidable);
|
|
wardenRidableInWater = getBoolean("mobs.warden.ridable-in-water", wardenRidableInWater);
|
|
wardenControllable = getBoolean("mobs.warden.controllable", wardenControllable);
|
|
+ // Leaf start - Plazma - Add missing purpur configuration options
|
|
+ wardenMaxHealth = getDouble("mobs.warden.attributes.max_health", wardenMaxHealth);
|
|
+ wardenTakeDamageFromWater = getBoolean("mobs.warden.takes-damage-from-water", wardenTakeDamageFromWater);
|
|
+ wardenAlwaysDropExp = getBoolean("mobs.warden.always-drop-exp", wardenAlwaysDropExp);
|
|
+ // Leaf end - Plazma - Add missing purpur configuration options
|
|
}
|
|
|
|
public boolean witchRidable = false;
|