more progress

This commit is contained in:
BillyGalbreath
2021-06-19 15:58:07 -05:00
parent f3e366449c
commit 526a0beb38
78 changed files with 628 additions and 674 deletions

View File

@@ -1,186 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
Date: Tue, 17 Nov 2020 03:23:48 -0800
Subject: [PATCH] Apply display names from item forms of entities to entities
and vice versa
diff --git a/src/main/java/net/minecraft/world/entity/decoration/EntityArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/EntityArmorStand.java
index 89d3734489b65245e815376edf4e2d9baea1563a..43dc0925887e2e9e86445cccff57be7994ca0d58 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/EntityArmorStand.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/EntityArmorStand.java
@@ -588,7 +588,13 @@ public class EntityArmorStand extends EntityLiving {
}
private void f(DamageSource damagesource) {
- drops.add(org.bukkit.craftbukkit.inventory.CraftItemStack.asBukkitCopy(new ItemStack(Items.ARMOR_STAND))); // CraftBukkit - add to drops
+ // Purpur start
+ final ItemStack armorStand = new ItemStack(Items.ARMOR_STAND);
+ if (this.world.purpurConfig.persistentDroppableEntityDisplayNames && this.hasCustomName()) {
+ armorStand.setName(this.getCustomName());
+ }
+ drops.add(org.bukkit.craftbukkit.inventory.CraftItemStack.asBukkitCopy(armorStand)); // CraftBukkit - add to drops
+ // Purpur end
this.g(damagesource);
}
diff --git a/src/main/java/net/minecraft/world/entity/decoration/EntityItemFrame.java b/src/main/java/net/minecraft/world/entity/decoration/EntityItemFrame.java
index 43152a6c70c9433d627a58051101530ddd693307..eb07db442c5a0da73249f4a02be7dacae0ff0e45 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/EntityItemFrame.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/EntityItemFrame.java
@@ -229,7 +229,13 @@ public class EntityItemFrame extends EntityHanging {
}
if (flag) {
- this.a((IMaterial) Items.ITEM_FRAME);
+ // Purpur start
+ final ItemStack itemFrame = new ItemStack(Items.ITEM_FRAME);
+ if (this.world.purpurConfig.persistentDroppableEntityDisplayNames && this.hasCustomName()) {
+ itemFrame.setName(this.getCustomName());
+ }
+ this.dropItem(itemFrame);
+ // Purpur end
}
if (!itemstack.isEmpty()) {
diff --git a/src/main/java/net/minecraft/world/entity/decoration/EntityPainting.java b/src/main/java/net/minecraft/world/entity/decoration/EntityPainting.java
index 3de0f21648ca60bdfcbc078bca896d51bf84e207..7517e861301e0c329c70aa6f2bf5aa40114b6589 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/EntityPainting.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/EntityPainting.java
@@ -108,7 +108,13 @@ public class EntityPainting extends EntityHanging {
}
}
- this.a((IMaterial) Items.PAINTING);
+ // Purpur start
+ final ItemStack painting = new ItemStack(Items.PAINTING);
+ if (this.world.purpurConfig.persistentDroppableEntityDisplayNames && this.hasCustomName()) {
+ painting.setName(this.getCustomName());
+ }
+ this.dropItem(painting);
+ // Purpur end
}
}
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/EntityBoat.java b/src/main/java/net/minecraft/world/entity/vehicle/EntityBoat.java
index e5cda8c040c93639211dacbf5b0c7cd6a9df9e6d..9cd1a2a2a8db1d8daf7c712d6bd03fad1b048485 100644
--- a/src/main/java/net/minecraft/world/entity/vehicle/EntityBoat.java
+++ b/src/main/java/net/minecraft/world/entity/vehicle/EntityBoat.java
@@ -201,7 +201,13 @@ public class EntityBoat extends Entity {
}
// CraftBukkit end
if (!flag && this.world.getGameRules().getBoolean(GameRules.DO_ENTITY_DROPS)) {
- this.a((IMaterial) this.g());
+ // Purpur start
+ final ItemStack boat = new ItemStack(this.getBoatItem());
+ if (this.world.purpurConfig.persistentDroppableEntityDisplayNames && this.hasCustomName()) {
+ boat.setName(this.getCustomName());
+ }
+ this.dropItem(boat);
+ // Purpur end
}
this.die();
diff --git a/src/main/java/net/minecraft/world/item/ItemArmorStand.java b/src/main/java/net/minecraft/world/item/ItemArmorStand.java
index cd46df5485ebfd597ea72360a27872d46174ee19..245d3fe09feb9dc27b097642d40664a9f2377581 100644
--- a/src/main/java/net/minecraft/world/item/ItemArmorStand.java
+++ b/src/main/java/net/minecraft/world/item/ItemArmorStand.java
@@ -63,6 +63,14 @@ public class ItemArmorStand extends Item {
return EnumInteractionResult.FAIL;
}
// CraftBukkit end
+ // Purpur start
+ if (itemactioncontext.getWorld().purpurConfig.persistentDroppableEntityDisplayNames && itemactioncontext.getItemStack().hasName()) {
+ entityarmorstand.setCustomName(itemactioncontext.getItemStack().getName());
+ if (itemactioncontext.getWorld().purpurConfig.armorstandSetNameVisible) {
+ entityarmorstand.setCustomNameVisible(true);
+ }
+ }
+ // Purpur end
worldserver.addAllEntities(entityarmorstand); // Paper - moved down
world.playSound((EntityHuman) null, entityarmorstand.locX(), entityarmorstand.locY(), entityarmorstand.locZ(), SoundEffects.ENTITY_ARMOR_STAND_PLACE, SoundCategory.BLOCKS, 0.75F, 0.8F);
}
diff --git a/src/main/java/net/minecraft/world/item/ItemBoat.java b/src/main/java/net/minecraft/world/item/ItemBoat.java
index 1d812b3e27f87213afc3e441eb20ca984458ce2a..636a8bc76d436fc770b4e05a93f1991210b64230 100644
--- a/src/main/java/net/minecraft/world/item/ItemBoat.java
+++ b/src/main/java/net/minecraft/world/item/ItemBoat.java
@@ -65,6 +65,11 @@ public class ItemBoat extends Item {
entityboat.setType(this.b);
entityboat.yaw = entityhuman.yaw;
+ // Purpur start
+ if (world.purpurConfig.persistentDroppableEntityDisplayNames && itemstack.hasName()) {
+ entityboat.setCustomName(itemstack.getName());
+ }
+ // Purpur end
if (!world.getCubes(entityboat, entityboat.getBoundingBox().g(-0.1D))) {
return InteractionResultWrapper.fail(itemstack);
} else {
diff --git a/src/main/java/net/minecraft/world/item/ItemHanging.java b/src/main/java/net/minecraft/world/item/ItemHanging.java
index bbd3bb2d12e500d15485598783d39b0cb63a6d83..8e4c3304779cfccf7d45d4843f9c15bffce8ba07 100644
--- a/src/main/java/net/minecraft/world/item/ItemHanging.java
+++ b/src/main/java/net/minecraft/world/item/ItemHanging.java
@@ -39,7 +39,7 @@ public class ItemHanging extends Item {
return EnumInteractionResult.FAIL;
} else {
World world = itemactioncontext.getWorld();
- Object object;
+ Entity object; // Purpur
if (this.a == EntityTypes.PAINTING) {
object = new EntityPainting(world, blockposition1, enumdirection);
@@ -55,6 +55,11 @@ public class ItemHanging extends Item {
if (nbttagcompound != null) {
EntityTypes.a(world, entityhuman, (Entity) object, nbttagcompound);
+ // Purpur start
+ if (itemactioncontext.getWorld().purpurConfig.persistentDroppableEntityDisplayNames && itemactioncontext.getItemStack().hasName()) {
+ object.setCustomName(itemactioncontext.getItemStack().getName());
+ }
+ // Purpur end
}
if (((EntityHanging) object).survives()) {
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
index 2aa761656ce75f78732c502fd4ce65034b6c2919..a4c41caae425e054db3f40a9abc41f45ccd20730 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -788,6 +788,7 @@ public final class ItemStack {
return this.getItem().h(this);
}
+ public ItemStack setName(@Nullable IChatBaseComponent component) { return this.a(component); } // Purpur - OBFHELPER
public ItemStack a(@Nullable IChatBaseComponent ichatbasecomponent) {
NBTTagCompound nbttagcompound = this.a("display");
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index bd37234624a720c1077aabf0123de61a0d4e05cb..b650293ff3315760e29307113e29fb2731af472b 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -83,8 +83,10 @@ public class PurpurWorldConfig {
return PurpurConfig.config.getString("world-settings." + worldName + "." + path, PurpurConfig.config.getString("world-settings.default." + path));
}
+ public boolean armorstandSetNameVisible = false;
public float armorstandStepHeight = 0.0F;
private void armorstandSettings() {
+ armorstandSetNameVisible = getBoolean("gameplay-mechanics.armorstand.set-name-visible-when-placing-with-custom-name", armorstandSetNameVisible);
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
}
@@ -261,6 +263,7 @@ public class PurpurWorldConfig {
public boolean entitiesCanUsePortals = true;
public boolean milkCuresBadOmen = true;
public boolean persistentTileEntityDisplayNames = false;
+ public boolean persistentDroppableEntityDisplayNames = false;
public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D;
@@ -274,6 +277,7 @@ public class PurpurWorldConfig {
entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals);
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);
persistentTileEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-tileentity-display-names-and-lore", persistentTileEntityDisplayNames);
+ persistentDroppableEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-droppable-entity-display-names", persistentDroppableEntityDisplayNames);
tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight);
voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight);
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);

View File

@@ -1,46 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
Date: Tue, 17 Nov 2020 13:12:09 -0800
Subject: [PATCH] Set name visible when using a Name Tag on an Armor Stand
diff --git a/src/main/java/net/minecraft/world/item/ItemNameTag.java b/src/main/java/net/minecraft/world/item/ItemNameTag.java
index b9b2b27e534ba87a1aae3c521f393a066a18a199..4f4e9ebb9af4970fe920a540d40dbc56682efd57 100644
--- a/src/main/java/net/minecraft/world/item/ItemNameTag.java
+++ b/src/main/java/net/minecraft/world/item/ItemNameTag.java
@@ -5,6 +5,7 @@ import net.minecraft.world.EnumHand;
import net.minecraft.world.EnumInteractionResult;
import net.minecraft.world.entity.EntityInsentient;
import net.minecraft.world.entity.EntityLiving;
+import net.minecraft.world.entity.decoration.EntityArmorStand;
import net.minecraft.world.entity.player.EntityHuman;
// Paper start
@@ -27,6 +28,11 @@ public class ItemNameTag extends Item {
if (!event.callEvent()) return EnumInteractionResult.PASS;
EntityLiving newEntityLiving = ((org.bukkit.craftbukkit.entity.CraftLivingEntity) event.getEntity()).getHandle();
newEntityLiving.setCustomName(event.getName() != null ? PaperAdventure.asVanilla(event.getName()) : null);
+ // Purpur start
+ if (entityhuman.world.purpurConfig.armorstandFixNametags && entityliving instanceof EntityArmorStand) {
+ entityliving.setCustomNameVisible(true);
+ }
+ // Purpur end
if (event.isPersistent() && newEntityLiving instanceof EntityInsentient) {
((EntityInsentient) newEntityLiving).setPersistent();
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index b650293ff3315760e29307113e29fb2731af472b..dc1418f8f324eae24af3e993c6c720ff73702c92 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -84,9 +84,11 @@ public class PurpurWorldConfig {
}
public boolean armorstandSetNameVisible = false;
+ public boolean armorstandFixNametags = false;
public float armorstandStepHeight = 0.0F;
private void armorstandSettings() {
armorstandSetNameVisible = getBoolean("gameplay-mechanics.armorstand.set-name-visible-when-placing-with-custom-name", armorstandSetNameVisible);
+ armorstandFixNametags = getBoolean("gameplay-mechanics.armorstand.fix-nametags", armorstandFixNametags);
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
}

View File

@@ -1,113 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <blake.galbreath@gmail.com>
Date: Sun, 22 Nov 2020 06:02:32 -0600
Subject: [PATCH] Add twisting and weeping vines growth rates
diff --git a/src/main/java/net/minecraft/world/level/block/BlockGrowingTop.java b/src/main/java/net/minecraft/world/level/block/BlockGrowingTop.java
index 84bd1fa9edb59b8515685a47783ed5e6abe7333f..546c7877647bac41753a600bd25c630a0510be56 100644
--- a/src/main/java/net/minecraft/world/level/block/BlockGrowingTop.java
+++ b/src/main/java/net/minecraft/world/level/block/BlockGrowingTop.java
@@ -38,9 +38,11 @@ public abstract class BlockGrowingTop extends BlockGrowingAbstract implements IB
return (Integer) iblockdata.get(BlockGrowingTop.d) < 25;
}
+ public abstract double getGrowthModifier(WorldServer worldserver); // Purpur
+
@Override
public void tick(IBlockData iblockdata, WorldServer worldserver, BlockPosition blockposition, Random random) {
- if ((Integer) iblockdata.get(BlockGrowingTop.d) < 25 && random.nextDouble() < (100.0D / worldserver.spigotConfig.kelpModifier) * this.e) { // Spigot
+ if ((Integer) iblockdata.get(BlockGrowingTop.d) < 25 && random.nextDouble() < (100.0D / getGrowthModifier(worldserver)) * this.e) { // Spigot // Purpur
BlockPosition blockposition1 = blockposition.shift(this.a);
if (this.h(worldserver.getType(blockposition1))) {
diff --git a/src/main/java/net/minecraft/world/level/block/BlockKelp.java b/src/main/java/net/minecraft/world/level/block/BlockKelp.java
index 424b9b3c1263910eb6113f19efc14607dd2bf638..27f1cbe8786d7c37d62193a21baf0a2bdc6f0294 100644
--- a/src/main/java/net/minecraft/world/level/block/BlockKelp.java
+++ b/src/main/java/net/minecraft/world/level/block/BlockKelp.java
@@ -4,6 +4,7 @@ import java.util.Random;
import javax.annotation.Nullable;
import net.minecraft.core.BlockPosition;
import net.minecraft.core.EnumDirection;
+import net.minecraft.server.level.WorldServer;
import net.minecraft.tags.Tag;
import net.minecraft.tags.TagsFluid;
import net.minecraft.world.item.context.BlockActionContext;
@@ -66,4 +67,10 @@ public class BlockKelp extends BlockGrowingTop implements IFluidContainer {
public Fluid d(IBlockData iblockdata) {
return FluidTypes.WATER.a(false);
}
+
+ // Purpur start
+ public double getGrowthModifier(WorldServer worldserver) {
+ return worldserver.spigotConfig.kelpModifier;
+ }
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/world/level/block/BlockTwistingVines.java b/src/main/java/net/minecraft/world/level/block/BlockTwistingVines.java
index 2cfa96f144391e664207ac8e8bdd3f11bfed4dff..3a8d08a1ee8f066cea36e6acff492e5af62993c5 100644
--- a/src/main/java/net/minecraft/world/level/block/BlockTwistingVines.java
+++ b/src/main/java/net/minecraft/world/level/block/BlockTwistingVines.java
@@ -2,6 +2,7 @@ package net.minecraft.world.level.block;
import java.util.Random;
import net.minecraft.core.EnumDirection;
+import net.minecraft.server.level.WorldServer;
import net.minecraft.world.level.block.state.BlockBase;
import net.minecraft.world.level.block.state.IBlockData;
import net.minecraft.world.phys.shapes.VoxelShape;
@@ -28,4 +29,10 @@ public class BlockTwistingVines extends BlockGrowingTop {
protected boolean h(IBlockData iblockdata) {
return BlockNetherVinesUtil.a(iblockdata);
}
+
+ // Purpur start
+ public double getGrowthModifier(WorldServer worldserver) {
+ return worldserver.purpurConfig.twistingVinesGrowthModifier;
+ }
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/world/level/block/BlockWeepingVines.java b/src/main/java/net/minecraft/world/level/block/BlockWeepingVines.java
index 2552631084926c2fad40b3f21ae479c0e1cfdb77..198bd8857571872ed3f7437529c330dceeb825db 100644
--- a/src/main/java/net/minecraft/world/level/block/BlockWeepingVines.java
+++ b/src/main/java/net/minecraft/world/level/block/BlockWeepingVines.java
@@ -2,6 +2,7 @@ package net.minecraft.world.level.block;
import java.util.Random;
import net.minecraft.core.EnumDirection;
+import net.minecraft.server.level.WorldServer;
import net.minecraft.world.level.block.state.BlockBase;
import net.minecraft.world.level.block.state.IBlockData;
import net.minecraft.world.phys.shapes.VoxelShape;
@@ -28,4 +29,10 @@ public class BlockWeepingVines extends BlockGrowingTop {
protected boolean h(IBlockData iblockdata) {
return BlockNetherVinesUtil.a(iblockdata);
}
+
+ // Purpur start
+ public double getGrowthModifier(WorldServer worldserver) {
+ return worldserver.purpurConfig.weepingVinesGrowthModifier;
+ }
+ // Purpur end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index dc1418f8f324eae24af3e993c6c720ff73702c92..17bbe2ceea016bcb00dc5542bea47e083e723ea5 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -477,6 +477,16 @@ public class PurpurWorldConfig {
turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts);
}
+ public double twistingVinesGrowthModifier = 0.10D;
+ private void twistingVinesSettings() {
+ twistingVinesGrowthModifier = getDouble("blocks.twisting_vines.growth-modifier", twistingVinesGrowthModifier);
+ }
+
+ public double weepingVinesGrowthModifier = 0.10D;
+ private void weepingVinesSettings() {
+ weepingVinesGrowthModifier = getDouble("blocks.weeping_vines.growth-modifier", weepingVinesGrowthModifier);
+ }
+
public boolean babiesAreRidable = true;
public boolean untamedTamablesAreRidable = true;
public boolean useNightVisionWhenRiding = false;

View File

@@ -192,7 +192,7 @@ index 7bb30fba98b5b217df72e6df5b2dc4e6082d1a6a..5365a4a047c759f36177716237c2bb98
public static String timingsUrl = "https://timings.pl3x.net"; public static String timingsUrl = "https://timings.pl3x.net";
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index c4fb8a14bf11df94acc7806f458e976c4e30e7c4..f2c6f2984bb4009b6dca36d041f1dd1436660de7 100644 index c4fb8a14bf11df94acc7806f458e976c4e30e7c4..0a9024e766ed12b321008b3b19ce92d2f5fdfcab 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -60,6 +60,17 @@ public class PurpurWorldConfig { @@ -60,6 +60,17 @@ public class PurpurWorldConfig {
@@ -203,7 +203,7 @@ index c4fb8a14bf11df94acc7806f458e976c4e30e7c4..f2c6f2984bb4009b6dca36d041f1dd14
+ public boolean idleTimeoutTickNearbyEntities = true; + public boolean idleTimeoutTickNearbyEntities = true;
+ public boolean idleTimeoutCountAsSleeping = false; + public boolean idleTimeoutCountAsSleeping = false;
+ public boolean idleTimeoutUpdateTabList = false; + public boolean idleTimeoutUpdateTabList = false;
+ private void playerIdleTimeoutSettings() { + private void playerSettings() {
+ idleTimeoutKick = getBoolean("gameplay-mechanics.player.idle-timeout.kick-if-idle", idleTimeoutKick); + idleTimeoutKick = getBoolean("gameplay-mechanics.player.idle-timeout.kick-if-idle", idleTimeoutKick);
+ idleTimeoutTickNearbyEntities = getBoolean("gameplay-mechanics.player.idle-timeout.tick-nearby-entities", idleTimeoutTickNearbyEntities); + idleTimeoutTickNearbyEntities = getBoolean("gameplay-mechanics.player.idle-timeout.tick-nearby-entities", idleTimeoutTickNearbyEntities);
+ idleTimeoutCountAsSleeping = getBoolean("gameplay-mechanics.player.idle-timeout.count-as-sleeping", idleTimeoutCountAsSleeping); + idleTimeoutCountAsSleeping = getBoolean("gameplay-mechanics.player.idle-timeout.count-as-sleeping", idleTimeoutCountAsSleeping);

View File

@@ -90,23 +90,25 @@ index d76d8d8db7921d16f87dd162ccd115e351cde106..fb29b0cb962db93489ff4268c72e7c67
return entityplayer1; return entityplayer1;
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index f2c6f2984bb4009b6dca36d041f1dd1436660de7..cd6c1251222e8ed377f775248ba874ed9941bfba 100644 index 0a9024e766ed12b321008b3b19ce92d2f5fdfcab..52d30f1ece8b48bba953b11013b7aa10f4891991 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -71,6 +71,13 @@ public class PurpurWorldConfig { @@ -64,11 +64,15 @@ public class PurpurWorldConfig {
idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList); public boolean idleTimeoutTickNearbyEntities = true;
} public boolean idleTimeoutCountAsSleeping = false;
public boolean idleTimeoutUpdateTabList = false;
+ public int playerSpawnInvulnerableTicks = 60; + public int playerSpawnInvulnerableTicks = 60;
+ public boolean playerInvulnerableWhileAcceptingResourcePack = false; + public boolean playerInvulnerableWhileAcceptingResourcePack = false;
+ private void playerInvulnerabilities() { private void playerSettings() {
idleTimeoutKick = getBoolean("gameplay-mechanics.player.idle-timeout.kick-if-idle", idleTimeoutKick);
idleTimeoutTickNearbyEntities = getBoolean("gameplay-mechanics.player.idle-timeout.tick-nearby-entities", idleTimeoutTickNearbyEntities);
idleTimeoutCountAsSleeping = getBoolean("gameplay-mechanics.player.idle-timeout.count-as-sleeping", idleTimeoutCountAsSleeping);
idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList);
+ playerSpawnInvulnerableTicks = getInt("gameplay-mechanics.player.spawn-invulnerable-ticks", playerSpawnInvulnerableTicks); + playerSpawnInvulnerableTicks = getInt("gameplay-mechanics.player.spawn-invulnerable-ticks", playerSpawnInvulnerableTicks);
+ playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack); + playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack);
+ } }
+
public boolean babiesAreRidable = true; public boolean babiesAreRidable = true;
public boolean untamedTamablesAreRidable = true;
public boolean useNightVisionWhenRiding = false;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 38b7bc0399be51eec4c00e5ce1240d7468878aea..676d98f183d798f1ea894cd78539f9034edb3659 100644 index 38b7bc0399be51eec4c00e5ce1240d7468878aea..676d98f183d798f1ea894cd78539f9034edb3659 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java

View File

@@ -36,10 +36,10 @@ index 07686c678cd47defd9e0b742a71fd13e83142870..bd6a707962ac4d3961e1ce74570909e2
this.level.getProfiler().pop(); this.level.getProfiler().pop();
if (this.assignProfessionWhenSpawned) { if (this.assignProfessionWhenSpawned) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index cd6c1251222e8ed377f775248ba874ed9941bfba..39891436be088064c3096999763641cc722d9bac 100644 index 52d30f1ece8b48bba953b11013b7aa10f4891991..eed56c24c0c5bceef42addaa7e1cc17662fd1c49 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1039,6 +1039,8 @@ public class PurpurWorldConfig { @@ -1036,6 +1036,8 @@ public class PurpurWorldConfig {
public boolean villagerRidable = false; public boolean villagerRidable = false;
public boolean villagerRidableInWater = false; public boolean villagerRidableInWater = false;
public double villagerMaxHealth = 20.0D; public double villagerMaxHealth = 20.0D;
@@ -48,7 +48,7 @@ index cd6c1251222e8ed377f775248ba874ed9941bfba..39891436be088064c3096999763641cc
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1048,6 +1050,8 @@ public class PurpurWorldConfig { @@ -1045,6 +1047,8 @@ public class PurpurWorldConfig {
set("mobs.villager.attributes.max_health", oldValue); set("mobs.villager.attributes.max_health", oldValue);
} }
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth); villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);

View File

@@ -170,7 +170,7 @@ index b1e04d41de80971a7a1616beb0860226ecc25045..9ce53046b7f67309c2d4636b95e6fb05
public void spawnAfterBreak(BlockState state, ServerLevel world, BlockPos pos, ItemStack stack) { public void spawnAfterBreak(BlockState state, ServerLevel world, BlockPos pos, ItemStack stack) {
super.spawnAfterBreak(state, world, pos, stack); super.spawnAfterBreak(state, world, pos, stack);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 39891436be088064c3096999763641cc722d9bac..d583fdd73b85e6792fd04fe8d8f9b52c898c423c 100644 index eed56c24c0c5bceef42addaa7e1cc17662fd1c49..c13a37baf05af23ad332d5ee2892c0efc3f79b5e 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1,7 +1,13 @@ @@ -1,7 +1,13 @@
@@ -187,7 +187,7 @@ index 39891436be088064c3096999763641cc722d9bac..d583fdd73b85e6792fd04fe8d8f9b52c
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -78,6 +84,29 @@ public class PurpurWorldConfig { @@ -75,6 +81,29 @@ public class PurpurWorldConfig {
playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack); playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack);
} }

View File

@@ -50,10 +50,10 @@ index fdb3ab919a78221605257ae82bfd026346ce2ffb..e98fc3c235f9160f1928a8afb0d7991a
} }
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d583fdd73b85e6792fd04fe8d8f9b52c898c423c..96202520c0f42db814fdb60ffb77dd0cdef12410 100644 index c13a37baf05af23ad332d5ee2892c0efc3f79b5e..ed4c61a934b5bf470961a384813eb25ffe416082 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1038,7 +1038,10 @@ public class PurpurWorldConfig { @@ -1035,7 +1035,10 @@ public class PurpurWorldConfig {
public boolean turtleRidable = false; public boolean turtleRidable = false;
public boolean turtleRidableInWater = false; public boolean turtleRidableInWater = false;
public double turtleMaxHealth = 30.0D; public double turtleMaxHealth = 30.0D;
@@ -65,7 +65,7 @@ index d583fdd73b85e6792fd04fe8d8f9b52c898c423c..96202520c0f42db814fdb60ffb77dd0c
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable); turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater); turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
if (PurpurConfig.version < 10) { if (PurpurConfig.version < 10) {
@@ -1047,6 +1050,9 @@ public class PurpurWorldConfig { @@ -1044,6 +1047,9 @@ public class PurpurWorldConfig {
set("mobs.turtle.attributes.max_health", oldValue); set("mobs.turtle.attributes.max_health", oldValue);
} }
turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth); turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth);

View File

@@ -120,10 +120,10 @@ index a8ffdc8810152d77668aad7bad15a00c4d194d4c..91e28c414545d2bbb4e2f22c516d0f68
} }
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 96202520c0f42db814fdb60ffb77dd0cdef12410..25db072223e7833c470b0023861df376af19831b 100644 index ed4c61a934b5bf470961a384813eb25ffe416082..3c69825659439a0a5a7ee6fc97d98bf0ca3c8c5a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -427,6 +427,10 @@ public class PurpurWorldConfig { @@ -424,6 +424,10 @@ public class PurpurWorldConfig {
public double giantMovementSpeed = 0.5D; public double giantMovementSpeed = 0.5D;
public double giantAttackDamage = 50.0D; public double giantAttackDamage = 50.0D;
public double giantMaxHealth = 100.0D; public double giantMaxHealth = 100.0D;
@@ -134,7 +134,7 @@ index 96202520c0f42db814fdb60ffb77dd0cdef12410..25db072223e7833c470b0023861df376
private void giantSettings() { private void giantSettings() {
giantRidable = getBoolean("mobs.giant.ridable", giantRidable); giantRidable = getBoolean("mobs.giant.ridable", giantRidable);
giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater); giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater);
@@ -442,6 +446,10 @@ public class PurpurWorldConfig { @@ -439,6 +443,10 @@ public class PurpurWorldConfig {
set("mobs.giant.attributes.max_health", oldValue); set("mobs.giant.attributes.max_health", oldValue);
} }
giantMaxHealth = getDouble("mobs.giant.attributes.max_health", giantMaxHealth); giantMaxHealth = getDouble("mobs.giant.attributes.max_health", giantMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Zombie horse naturally spawn
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index ce49e2a5ac80280ae03579d72a436e836a03cf8e..e98cfb02e6432992259c23d3e81aa8cfef6882b3 100644 index f0b9ff60b6122473bc2f87f56a6d190994079da6..14c3e9fcdfb088d3fe0a15266b50a7da82a5d240 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -87,6 +87,7 @@ import net.minecraft.world.entity.ai.village.poi.PoiManager; @@ -87,6 +87,7 @@ import net.minecraft.world.entity.ai.village.poi.PoiManager;
@@ -42,10 +42,10 @@ index ce49e2a5ac80280ae03579d72a436e836a03cf8e..e98cfb02e6432992259c23d3e81aa8cf
LightningBolt entitylightning = (LightningBolt) EntityType.LIGHTNING_BOLT.create((net.minecraft.world.level.Level) this); LightningBolt entitylightning = (LightningBolt) EntityType.LIGHTNING_BOLT.create((net.minecraft.world.level.Level) this);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 25db072223e7833c470b0023861df376af19831b..8154d79de126105233bd04b6935761236b10c6c0 100644 index 3c69825659439a0a5a7ee6fc97d98bf0ca3c8c5a..bddf84e9830c4e46f0648f76523af471c3b03e66 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1225,6 +1225,7 @@ public class PurpurWorldConfig { @@ -1222,6 +1222,7 @@ public class PurpurWorldConfig {
public double zombieHorseJumpStrengthMax = 1.0D; public double zombieHorseJumpStrengthMax = 1.0D;
public double zombieHorseMovementSpeedMin = 0.2D; public double zombieHorseMovementSpeedMin = 0.2D;
public double zombieHorseMovementSpeedMax = 0.2D; public double zombieHorseMovementSpeedMax = 0.2D;
@@ -53,7 +53,7 @@ index 25db072223e7833c470b0023861df376af19831b..8154d79de126105233bd04b693576123
private void zombieHorseSettings() { private void zombieHorseSettings() {
zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater); zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater);
zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim); zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim);
@@ -1240,6 +1241,7 @@ public class PurpurWorldConfig { @@ -1237,6 +1238,7 @@ public class PurpurWorldConfig {
zombieHorseJumpStrengthMax = getDouble("mobs.zombie_horse.attributes.jump_strength.max", zombieHorseJumpStrengthMax); zombieHorseJumpStrengthMax = getDouble("mobs.zombie_horse.attributes.jump_strength.max", zombieHorseJumpStrengthMax);
zombieHorseMovementSpeedMin = getDouble("mobs.zombie_horse.attributes.movement_speed.min", zombieHorseMovementSpeedMin); zombieHorseMovementSpeedMin = getDouble("mobs.zombie_horse.attributes.movement_speed.min", zombieHorseMovementSpeedMin);
zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax); zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax);

View File

@@ -24,10 +24,10 @@ index b71a6af3c2d1ca2a946b23efb11b0e794840cf25..b2b3630a90c685b0a692efb9bf8bb111
@Override @Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 8154d79de126105233bd04b6935761236b10c6c0..4e4541c05a6ed9eb96012d5a5584f1e81e354846 100644 index bddf84e9830c4e46f0648f76523af471c3b03e66..cfd14b07e733434f208199def72626437b7a69ba 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -249,6 +249,7 @@ public class PurpurWorldConfig { @@ -246,6 +246,7 @@ public class PurpurWorldConfig {
public boolean creeperRidable = false; public boolean creeperRidable = false;
public boolean creeperRidableInWater = false; public boolean creeperRidableInWater = false;
public double creeperMaxHealth = 20.0D; public double creeperMaxHealth = 20.0D;
@@ -35,7 +35,7 @@ index 8154d79de126105233bd04b6935761236b10c6c0..4e4541c05a6ed9eb96012d5a5584f1e8
private void creeperSettings() { private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -258,6 +259,7 @@ public class PurpurWorldConfig { @@ -255,6 +256,7 @@ public class PurpurWorldConfig {
set("mobs.creeper.attributes.max_health", oldValue); set("mobs.creeper.attributes.max_health", oldValue);
} }
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth); creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth);

View File

@@ -38,10 +38,10 @@ index 587feda351efae19407cb9f23c6c1d42d5ed0cc9..e0ba1ef404c9f8ba1eae563b733d10d9
int i = this.random.nextInt(100); int i = this.random.nextInt(100);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 4e4541c05a6ed9eb96012d5a5584f1e81e354846..9f025b574aa6a0841a438d039333604b0bf95af4 100644 index cfd14b07e733434f208199def72626437b7a69ba..92b19b28abffdab961550c001fbed7c26d62a05d 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -803,6 +803,8 @@ public class PurpurWorldConfig { @@ -800,6 +800,8 @@ public class PurpurWorldConfig {
public boolean rabbitRidable = false; public boolean rabbitRidable = false;
public boolean rabbitRidableInWater = false; public boolean rabbitRidableInWater = false;
public double rabbitMaxHealth = 3.0D; public double rabbitMaxHealth = 3.0D;
@@ -50,7 +50,7 @@ index 4e4541c05a6ed9eb96012d5a5584f1e81e354846..9f025b574aa6a0841a438d039333604b
private void rabbitSettings() { private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -812,6 +814,8 @@ public class PurpurWorldConfig { @@ -809,6 +811,8 @@ public class PurpurWorldConfig {
set("mobs.rabbit.attributes.max_health", oldValue); set("mobs.rabbit.attributes.max_health", oldValue);
} }
rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth); rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth);

View File

@@ -75,10 +75,10 @@ index 9ce846d057a08b6a2b6576255bc55293707e3d24..d31b906c87e22f505bee22f21dd8ec1e
// Paper start - Cancellable death event // Paper start - Cancellable death event
protected org.bukkit.event.entity.EntityDeathEvent dropAllDeathLoot(DamageSource source) { protected org.bukkit.event.entity.EntityDeathEvent dropAllDeathLoot(DamageSource source) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 9f025b574aa6a0841a438d039333604b0bf95af4..5b0b9e17e3ca490ed32a98983fdba94aa423814f 100644 index 92b19b28abffdab961550c001fbed7c26d62a05d..6def31d73b17856518c065ea35b2aa094f8ffe89 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -397,6 +397,7 @@ public class PurpurWorldConfig { @@ -394,6 +394,7 @@ public class PurpurWorldConfig {
public boolean foxRidable = false; public boolean foxRidable = false;
public boolean foxRidableInWater = false; public boolean foxRidableInWater = false;
public double foxMaxHealth = 10.0D; public double foxMaxHealth = 10.0D;
@@ -86,7 +86,7 @@ index 9f025b574aa6a0841a438d039333604b0bf95af4..5b0b9e17e3ca490ed32a98983fdba94a
private void foxSettings() { private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -406,6 +407,7 @@ public class PurpurWorldConfig { @@ -403,6 +404,7 @@ public class PurpurWorldConfig {
set("mobs.fox.attributes.max_health", oldValue); set("mobs.fox.attributes.max_health", oldValue);
} }
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth); foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);

View File

@@ -59,10 +59,10 @@ index 18780fb268cabb47bb0deb84c44520831c1a762b..d39c88af3882a09ff1a06f9052d7b9b8
this.goalSelector.addGoal(5, new RandomStrollGoal(this, 1.0D)); this.goalSelector.addGoal(5, new RandomStrollGoal(this, 1.0D));
this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F)); this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F));
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 5b0b9e17e3ca490ed32a98983fdba94aa423814f..f15a49cedd7555f14199a4c6a13b23ebef881f52 100644 index 6def31d73b17856518c065ea35b2aa094f8ffe89..3f851b16e3410cd5c655a04eddbc9396aefe4927 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -779,6 +779,8 @@ public class PurpurWorldConfig { @@ -776,6 +776,8 @@ public class PurpurWorldConfig {
public boolean polarBearRidable = false; public boolean polarBearRidable = false;
public boolean polarBearRidableInWater = false; public boolean polarBearRidableInWater = false;
public double polarBearMaxHealth = 30.0D; public double polarBearMaxHealth = 30.0D;
@@ -71,7 +71,7 @@ index 5b0b9e17e3ca490ed32a98983fdba94aa423814f..f15a49cedd7555f14199a4c6a13b23eb
private void polarBearSettings() { private void polarBearSettings() {
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable); polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater); polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
@@ -788,6 +790,9 @@ public class PurpurWorldConfig { @@ -785,6 +787,9 @@ public class PurpurWorldConfig {
set("mobs.polar_bear.attributes.max_health", oldValue); set("mobs.polar_bear.attributes.max_health", oldValue);
} }
polarBearMaxHealth = getDouble("mobs.polar_bear.attributes.max_health", polarBearMaxHealth); polarBearMaxHealth = getDouble("mobs.polar_bear.attributes.max_health", polarBearMaxHealth);

View File

@@ -51,10 +51,10 @@ index 55dccf338f9fba17fbcb88672d36b83e7bbec88b..eaec6eba96db3b8ce046208a4a1e5fc4
@Override @Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index f15a49cedd7555f14199a4c6a13b23ebef881f52..df0631f55f74fed00a6dc3e942d37613fc34c067 100644 index 3f851b16e3410cd5c655a04eddbc9396aefe4927..b4c09f8a37efd66a2d79373923c774b798fa6e35 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -209,6 +209,7 @@ public class PurpurWorldConfig { @@ -206,6 +206,7 @@ public class PurpurWorldConfig {
public boolean chickenRidable = false; public boolean chickenRidable = false;
public boolean chickenRidableInWater = false; public boolean chickenRidableInWater = false;
public double chickenMaxHealth = 4.0D; public double chickenMaxHealth = 4.0D;
@@ -62,7 +62,7 @@ index f15a49cedd7555f14199a4c6a13b23ebef881f52..df0631f55f74fed00a6dc3e942d37613
private void chickenSettings() { private void chickenSettings() {
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable); chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater); chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
@@ -218,6 +219,7 @@ public class PurpurWorldConfig { @@ -215,6 +216,7 @@ public class PurpurWorldConfig {
set("mobs.chicken.attributes.max_health", oldValue); set("mobs.chicken.attributes.max_health", oldValue);
} }
chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth); chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth);

View File

@@ -49,10 +49,10 @@ index 4cab98b5e441a174482893d3d289bbafa1f7a5fc..fa3cdff99a16b67ed86c8f7940ffa139
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 853cf252723820bc7578c876e9cb79c9adc38918..616fcd50cf88aec7dc32ad3bcdae89349e3369e9 100644 index eb318f03866927fb4e81bdb814d7c0931a6960cb..88f2405c531574b6042d2be5a358f003200c1879 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -186,6 +186,9 @@ public class PurpurWorldConfig { @@ -183,6 +183,9 @@ public class PurpurWorldConfig {
public boolean catRidable = false; public boolean catRidable = false;
public boolean catRidableInWater = false; public boolean catRidableInWater = false;
public double catMaxHealth = 10.0D; public double catMaxHealth = 10.0D;
@@ -62,7 +62,7 @@ index 853cf252723820bc7578c876e9cb79c9adc38918..616fcd50cf88aec7dc32ad3bcdae8934
private void catSettings() { private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable); catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater); catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -195,6 +198,9 @@ public class PurpurWorldConfig { @@ -192,6 +195,9 @@ public class PurpurWorldConfig {
set("mobs.cat.attributes.max_health", oldValue); set("mobs.cat.attributes.max_health", oldValue);
} }
catMaxHealth = getDouble("mobs.cat.attributes.max_health", catMaxHealth); catMaxHealth = getDouble("mobs.cat.attributes.max_health", catMaxHealth);

View File

@@ -114,10 +114,10 @@ index bee82d5bf600cbeacfcede600e5606529af1435e..9da76357da891a70e20ad80f50873b3b
public Cow getBreedOffspring(ServerLevel world, AgeableMob entity) { public Cow getBreedOffspring(ServerLevel world, AgeableMob entity) {
return (Cow) EntityType.COW.create((Level) world); return (Cow) EntityType.COW.create((Level) world);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 616fcd50cf88aec7dc32ad3bcdae89349e3369e9..1a30365c146e195d487b77c2e31c08644f2e6ae5 100644 index 88f2405c531574b6042d2be5a358f003200c1879..0e8efd3a41b121e54f67b6f07d1b7462d4fd190f 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -248,6 +248,7 @@ public class PurpurWorldConfig { @@ -245,6 +245,7 @@ public class PurpurWorldConfig {
public boolean cowRidable = false; public boolean cowRidable = false;
public boolean cowRidableInWater = false; public boolean cowRidableInWater = false;
public double cowMaxHealth = 10.0D; public double cowMaxHealth = 10.0D;
@@ -125,7 +125,7 @@ index 616fcd50cf88aec7dc32ad3bcdae89349e3369e9..1a30365c146e195d487b77c2e31c0864
private void cowSettings() { private void cowSettings() {
cowRidable = getBoolean("mobs.cow.ridable", cowRidable); cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater); cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
@@ -257,6 +258,7 @@ public class PurpurWorldConfig { @@ -254,6 +255,7 @@ public class PurpurWorldConfig {
set("mobs.cow.attributes.max_health", oldValue); set("mobs.cow.attributes.max_health", oldValue);
} }
cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth); cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth);

View File

@@ -28,10 +28,10 @@ index f4a099e691dce3c57069e76d67859161b459098e..518d28dc0b5b8c04263c93a4347e4c97
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 1a30365c146e195d487b77c2e31c08644f2e6ae5..387741730f7b8e4c1670af9e6af0b97e06fdd493 100644 index 0e8efd3a41b121e54f67b6f07d1b7462d4fd190f..6629a895a3f0f8b1ccb760941c6bd37e912d7a64 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -738,6 +738,7 @@ public class PurpurWorldConfig { @@ -735,6 +735,7 @@ public class PurpurWorldConfig {
public boolean pigRidable = false; public boolean pigRidable = false;
public boolean pigRidableInWater = false; public boolean pigRidableInWater = false;
public double pigMaxHealth = 10.0D; public double pigMaxHealth = 10.0D;
@@ -39,7 +39,7 @@ index 1a30365c146e195d487b77c2e31c08644f2e6ae5..387741730f7b8e4c1670af9e6af0b97e
private void pigSettings() { private void pigSettings() {
pigRidable = getBoolean("mobs.pig.ridable", pigRidable); pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater); pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
@@ -747,6 +748,7 @@ public class PurpurWorldConfig { @@ -744,6 +745,7 @@ public class PurpurWorldConfig {
set("mobs.pig.attributes.max_health", oldValue); set("mobs.pig.attributes.max_health", oldValue);
} }
pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth); pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth);

View File

@@ -32,10 +32,10 @@ index 7fbe1a62e9c67a8bdaf13aaa9fae1d8742d75148..0733f9c057fef17fd79a4769f19b78f4
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 387741730f7b8e4c1670af9e6af0b97e06fdd493..ae59b5f67407c80c16e6a1f55dd4d51b47e3d422 100644 index 6629a895a3f0f8b1ccb760941c6bd37e912d7a64..002064c2660e746c9ea1ef0d1b0c7610d5c97681 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -969,6 +969,8 @@ public class PurpurWorldConfig { @@ -966,6 +966,8 @@ public class PurpurWorldConfig {
public boolean snowGolemRidableInWater = false; public boolean snowGolemRidableInWater = false;
public boolean snowGolemLeaveTrailWhenRidden = false; public boolean snowGolemLeaveTrailWhenRidden = false;
public double snowGolemMaxHealth = 4.0D; public double snowGolemMaxHealth = 4.0D;
@@ -44,7 +44,7 @@ index 387741730f7b8e4c1670af9e6af0b97e06fdd493..ae59b5f67407c80c16e6a1f55dd4d51b
private void snowGolemSettings() { private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -979,6 +981,8 @@ public class PurpurWorldConfig { @@ -976,6 +978,8 @@ public class PurpurWorldConfig {
set("mobs.snow_golem.attributes.max_health", oldValue); set("mobs.snow_golem.attributes.max_health", oldValue);
} }
snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth); snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth);

View File

@@ -18,10 +18,10 @@ index 1f40e8d1e73fec0aaee29c658e3d24f499fa9501..1e97d52e02d401c905e1dfcd758c63e4
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index ae59b5f67407c80c16e6a1f55dd4d51b47e3d422..c0d3b4646aa0e45dad91747778192334c3527b9a 100644 index 002064c2660e746c9ea1ef0d1b0c7610d5c97681..6a2632924054c199cba560cfef67e40fe1aef446 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -351,6 +351,7 @@ public class PurpurWorldConfig { @@ -348,6 +348,7 @@ public class PurpurWorldConfig {
public boolean enderDragonRidableInWater = false; public boolean enderDragonRidableInWater = false;
public double enderDragonMaxY = 256D; public double enderDragonMaxY = 256D;
public double enderDragonMaxHealth = 200.0D; public double enderDragonMaxHealth = 200.0D;
@@ -29,7 +29,7 @@ index ae59b5f67407c80c16e6a1f55dd4d51b47e3d422..c0d3b4646aa0e45dad91747778192334
private void enderDragonSettings() { private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable); enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater); enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
@@ -365,6 +366,7 @@ public class PurpurWorldConfig { @@ -362,6 +363,7 @@ public class PurpurWorldConfig {
set("mobs.ender_dragon.attributes.max_health", oldValue); set("mobs.ender_dragon.attributes.max_health", oldValue);
} }
enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth); enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth);

View File

@@ -35,10 +35,10 @@ index 1844ea93f8cea420f01937f85ed17c0ec1bb8bf0..9e80ba8970cad91ea22ac701f76e1413
} else { } else {
return InteractionResult.PASS; return InteractionResult.PASS;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index c0d3b4646aa0e45dad91747778192334c3527b9a..dda469098ffac8b41531b05c0363e82d43ff6f6a 100644 index 6a2632924054c199cba560cfef67e40fe1aef446..6ec28fc27b5362fe6928677b8c17dc60e56b36cc 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -112,6 +112,11 @@ public class PurpurWorldConfig { @@ -109,6 +109,11 @@ public class PurpurWorldConfig {
}); });
} }

View File

@@ -77,10 +77,10 @@ index 9b5d11ece006d7aa893360a84ba652c666517ac1..3373c21f90eb08e2bfbb71bc348d085a
@Override @Override
public ClientboundBlockEntityDataPacket getUpdatePacket() { public ClientboundBlockEntityDataPacket getUpdatePacket() {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index dda469098ffac8b41531b05c0363e82d43ff6f6a..3129e8f7156276298b5bdec9aa52cb546893d1a6 100644 index 6ec28fc27b5362fe6928677b8c17dc60e56b36cc..9eda28fd9b10df4ae2f2df1b03b4321b203608bc 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -112,8 +112,10 @@ public class PurpurWorldConfig { @@ -109,8 +109,10 @@ public class PurpurWorldConfig {
}); });
} }

View File

@@ -36,10 +36,10 @@ index aa1ba8b74ab70b6cede99e4853ac0203f388ab06..97e5cb4fd9f97c0bfa9d66c0ceac84e1
@Override @Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 3129e8f7156276298b5bdec9aa52cb546893d1a6..624de1ba34417234244e7ba5d7bd248fdd19c095 100644 index 9eda28fd9b10df4ae2f2df1b03b4321b203608bc..267f2efb10fb1603631efbb0b675a1525492f5aa 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -112,6 +112,11 @@ public class PurpurWorldConfig { @@ -109,6 +109,11 @@ public class PurpurWorldConfig {
}); });
} }

View File

@@ -20,11 +20,11 @@ index bc4c210a7161c8af3817a828dbdd7601dc649df8..e284106d762735a7c203c19e3c5a06a6
// CraftBukkit start - Call death event // CraftBukkit start - Call death event
org.bukkit.event.entity.EntityDeathEvent deathEvent = CraftEventFactory.callEntityDeathEvent(this, this.drops); // Paper org.bukkit.event.entity.EntityDeathEvent deathEvent = CraftEventFactory.callEntityDeathEvent(this, this.drops); // Paper
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 86892775f8aeaac1e6ffdcb4dad4c3e5016fc91c..435c6f5c561b645c04aca6ea83566da1e0047acb 100644 index 340546a3478337081978c7394ec92769926b36e6..408a9b6777497961280706f6a2860f9ea9d02518 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -73,6 +73,11 @@ public class PurpurWorldConfig { @@ -173,6 +173,11 @@ public class PurpurWorldConfig {
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight); });
} }
+ public boolean disableDropsOnCrammingDeath = false; + public boolean disableDropsOnCrammingDeath = false;
@@ -32,6 +32,6 @@ index 86892775f8aeaac1e6ffdcb4dad4c3e5016fc91c..435c6f5c561b645c04aca6ea83566da1
+ disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath); + disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
+ } + }
+ +
public double minecartMaxSpeed = 0.4D; public boolean farmlandGetsMoistFromBelow = false;
public boolean minecartPlaceAnywhere = false; private void farmlandSettings() {
public boolean minecartControllable = false; farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);

View File

@@ -28,10 +28,10 @@ index f33977d95b6db473be4f95075ba99caf90ad0220..56dc04d8875971ee9a5d077a695509af
return stack.isEmpty() ? new ItemStack(Items.BUCKET) : stack; return stack.isEmpty() ? new ItemStack(Items.BUCKET) : stack;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 435c6f5c561b645c04aca6ea83566da1e0047acb..5d363a5103d159415d7d201ad9079502bff4de53 100644 index 408a9b6777497961280706f6a2860f9ea9d02518..928bddf54f77bd97cffc31e8bada979f42fb9120 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -74,8 +74,10 @@ public class PurpurWorldConfig { @@ -174,8 +174,10 @@ public class PurpurWorldConfig {
} }
public boolean disableDropsOnCrammingDeath = false; public boolean disableDropsOnCrammingDeath = false;
@@ -41,4 +41,4 @@ index 435c6f5c561b645c04aca6ea83566da1e0047acb..5d363a5103d159415d7d201ad9079502
+ milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen); + milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);
} }
public double minecartMaxSpeed = 0.4D; public boolean farmlandGetsMoistFromBelow = false;

View File

@@ -17,10 +17,10 @@ index 8212ee2cc1242c0a3626f3643c455f3be0de18c2..aaf6f43c0f37a51a7b2db57b8da43365
} }
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 5d363a5103d159415d7d201ad9079502bff4de53..48f6faad6977aa5b5e7e3780a1466a4f222b6f71 100644 index 928bddf54f77bd97cffc31e8bada979f42fb9120..2788371531f09876a4e5e0d53c58de631187410c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1281,6 +1281,7 @@ public class PurpurWorldConfig { @@ -1278,6 +1278,7 @@ public class PurpurWorldConfig {
public boolean witherSkeletonRidable = false; public boolean witherSkeletonRidable = false;
public boolean witherSkeletonRidableInWater = false; public boolean witherSkeletonRidableInWater = false;
public double witherSkeletonMaxHealth = 20.0D; public double witherSkeletonMaxHealth = 20.0D;
@@ -28,7 +28,7 @@ index 5d363a5103d159415d7d201ad9079502bff4de53..48f6faad6977aa5b5e7e3780a1466a4f
private void witherSkeletonSettings() { private void witherSkeletonSettings() {
witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable); witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable);
witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater); witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater);
@@ -1290,6 +1291,7 @@ public class PurpurWorldConfig { @@ -1287,6 +1288,7 @@ public class PurpurWorldConfig {
set("mobs.wither_skeleton.attributes.max_health", oldValue); set("mobs.wither_skeleton.attributes.max_health", oldValue);
} }
witherSkeletonMaxHealth = getDouble("mobs.wither_skeleton.attributes.max_health", witherSkeletonMaxHealth); witherSkeletonMaxHealth = getDouble("mobs.wither_skeleton.attributes.max_health", witherSkeletonMaxHealth);

View File

@@ -18,10 +18,10 @@ index c95eef8596fe3e1ca83e620a6c54b164c797cbe1..1e6a5404d767318de29184b3e3a2bc41
if (!this.level.isClientSide && this.pickup == AbstractArrow.Pickup.ALLOWED) { if (!this.level.isClientSide && this.pickup == AbstractArrow.Pickup.ALLOWED) {
this.spawnAtLocation(this.getPickupItem(), 0.1F); this.spawnAtLocation(this.getPickupItem(), 0.1F);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 48f6faad6977aa5b5e7e3780a1466a4f222b6f71..14551d5fc853dfde458040e806e84f44d716b9c9 100644 index 2788371531f09876a4e5e0d53c58de631187410c..fd62ec22aa21b8c129c4f9fa304fe75b88cd2728 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -75,9 +75,11 @@ public class PurpurWorldConfig { @@ -175,9 +175,11 @@ public class PurpurWorldConfig {
public boolean disableDropsOnCrammingDeath = false; public boolean disableDropsOnCrammingDeath = false;
public boolean milkCuresBadOmen = true; public boolean milkCuresBadOmen = true;
@@ -32,4 +32,4 @@ index 48f6faad6977aa5b5e7e3780a1466a4f222b6f71..14551d5fc853dfde458040e806e84f44
+ tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight); + tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight);
} }
public double minecartMaxSpeed = 0.4D; public boolean farmlandGetsMoistFromBelow = false;

View File

@@ -38,10 +38,10 @@ index b061ecc42122ef66fbf87fe017023abca5728a01..6e0b5fbf5b0d216b6b7c647d45ef37cd
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 14551d5fc853dfde458040e806e84f44d716b9c9..1687e191ef9557e8bb0014960188207162ab8948 100644 index fd62ec22aa21b8c129c4f9fa304fe75b88cd2728..a0183eefc826d8c8d8abfa7a3d8e9eba22c9b233 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -350,6 +350,7 @@ public class PurpurWorldConfig { @@ -347,6 +347,7 @@ public class PurpurWorldConfig {
public boolean creeperRidableInWater = false; public boolean creeperRidableInWater = false;
public double creeperMaxHealth = 20.0D; public double creeperMaxHealth = 20.0D;
public double creeperChargedChance = 0.0D; public double creeperChargedChance = 0.0D;
@@ -49,7 +49,7 @@ index 14551d5fc853dfde458040e806e84f44d716b9c9..1687e191ef9557e8bb00149601882071
private void creeperSettings() { private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -360,6 +361,7 @@ public class PurpurWorldConfig { @@ -357,6 +358,7 @@ public class PurpurWorldConfig {
} }
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth); creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth);
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance); creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
@@ -57,7 +57,7 @@ index 14551d5fc853dfde458040e806e84f44d716b9c9..1687e191ef9557e8bb00149601882071
} }
public boolean dolphinRidable = false; public boolean dolphinRidable = false;
@@ -457,6 +459,7 @@ public class PurpurWorldConfig { @@ -454,6 +456,7 @@ public class PurpurWorldConfig {
public boolean endermanRidable = false; public boolean endermanRidable = false;
public boolean endermanRidableInWater = false; public boolean endermanRidableInWater = false;
public double endermanMaxHealth = 40.0D; public double endermanMaxHealth = 40.0D;
@@ -65,7 +65,7 @@ index 14551d5fc853dfde458040e806e84f44d716b9c9..1687e191ef9557e8bb00149601882071
private void endermanSettings() { private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -466,6 +469,7 @@ public class PurpurWorldConfig { @@ -463,6 +466,7 @@ public class PurpurWorldConfig {
set("mobs.enderman.attributes.max_health", oldValue); set("mobs.enderman.attributes.max_health", oldValue);
} }
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth); endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);

View File

@@ -18,10 +18,10 @@ index 75931cce0f430975fc54216f20e235833a74a72c..0dbce3ab5ff891b94d4209203b97fd78
Iterator iterator = list.iterator(); Iterator iterator = list.iterator();
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 1687e191ef9557e8bb0014960188207162ab8948..e24301d143ac29501f8f6dca15c1e5ed0a2b8281 100644 index a0183eefc826d8c8d8abfa7a3d8e9eba22c9b233..74850de943a3c0209358e872ea2c8ff2c8a2e4ee 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -74,10 +74,12 @@ public class PurpurWorldConfig { @@ -174,10 +174,12 @@ public class PurpurWorldConfig {
} }
public boolean disableDropsOnCrammingDeath = false; public boolean disableDropsOnCrammingDeath = false;

View File

@@ -18,10 +18,10 @@ index 41b5652578e4a703cb6f03e82654b27ea6302b99..2d83b7252814a3a921db32a62f6bfb71
} else if (entity.getVillagerData().getProfession() != VillagerProfession.FARMER) { } else if (entity.getVillagerData().getProfession() != VillagerProfession.FARMER) {
return false; return false;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index e24301d143ac29501f8f6dca15c1e5ed0a2b8281..73bea53e7e4d0a0a937b6a8964fc2a49b16d3db6 100644 index 74850de943a3c0209358e872ea2c8ff2c8a2e4ee..f674500a8e7cd50cf94ae2d13d0c54a9b29309f5 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1211,6 +1211,7 @@ public class PurpurWorldConfig { @@ -1208,6 +1208,7 @@ public class PurpurWorldConfig {
public double villagerMaxHealth = 20.0D; public double villagerMaxHealth = 20.0D;
public int villagerBrainTicks = 1; public int villagerBrainTicks = 1;
public boolean villagerUseBrainTicksOnlyWhenLagging = true; public boolean villagerUseBrainTicksOnlyWhenLagging = true;
@@ -29,7 +29,7 @@ index e24301d143ac29501f8f6dca15c1e5ed0a2b8281..73bea53e7e4d0a0a937b6a8964fc2a49
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1222,6 +1223,7 @@ public class PurpurWorldConfig { @@ -1219,6 +1220,7 @@ public class PurpurWorldConfig {
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth); villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);
villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks); villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks);
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging); villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);

View File

@@ -41,10 +41,10 @@ index d2588a91b55aebdecf8e1644498111ccf84a9dc9..393061e13375bf7a7ee57973b4abac83
this.goalSelector.addGoal(8, new WaterAvoidingRandomStrollGoal(this, 0.35D)); this.goalSelector.addGoal(8, new WaterAvoidingRandomStrollGoal(this, 0.35D));
this.goalSelector.addGoal(9, new InteractGoal(this, Player.class, 3.0F, 1.0F)); this.goalSelector.addGoal(9, new InteractGoal(this, Player.class, 3.0F, 1.0F));
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 73bea53e7e4d0a0a937b6a8964fc2a49b16d3db6..5e340655c472a3e8c7c017ce7eda7881f1530b43 100644 index f674500a8e7cd50cf94ae2d13d0c54a9b29309f5..fcecd4391d43f6a56d8ca562c95973b53f053d63 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1212,6 +1212,7 @@ public class PurpurWorldConfig { @@ -1209,6 +1209,7 @@ public class PurpurWorldConfig {
public int villagerBrainTicks = 1; public int villagerBrainTicks = 1;
public boolean villagerUseBrainTicksOnlyWhenLagging = true; public boolean villagerUseBrainTicksOnlyWhenLagging = true;
public boolean villagerFarmingBypassMobGriefing = false; public boolean villagerFarmingBypassMobGriefing = false;
@@ -52,7 +52,7 @@ index 73bea53e7e4d0a0a937b6a8964fc2a49b16d3db6..5e340655c472a3e8c7c017ce7eda7881
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1224,6 +1225,7 @@ public class PurpurWorldConfig { @@ -1221,6 +1222,7 @@ public class PurpurWorldConfig {
villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks); villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks);
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging); villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
villagerFarmingBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerFarmingBypassMobGriefing); villagerFarmingBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerFarmingBypassMobGriefing);
@@ -60,7 +60,7 @@ index 73bea53e7e4d0a0a937b6a8964fc2a49b16d3db6..5e340655c472a3e8c7c017ce7eda7881
} }
public boolean vindicatorRidable = false; public boolean vindicatorRidable = false;
@@ -1243,6 +1245,7 @@ public class PurpurWorldConfig { @@ -1240,6 +1242,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderRidable = false; public boolean wanderingTraderRidable = false;
public boolean wanderingTraderRidableInWater = false; public boolean wanderingTraderRidableInWater = false;
public double wanderingTraderMaxHealth = 20.0D; public double wanderingTraderMaxHealth = 20.0D;
@@ -68,7 +68,7 @@ index 73bea53e7e4d0a0a937b6a8964fc2a49b16d3db6..5e340655c472a3e8c7c017ce7eda7881
private void wanderingTraderSettings() { private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -1252,6 +1255,7 @@ public class PurpurWorldConfig { @@ -1249,6 +1252,7 @@ public class PurpurWorldConfig {
set("mobs.wandering_trader.attributes.max_health", oldValue); set("mobs.wandering_trader.attributes.max_health", oldValue);
} }
wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth); wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth);

View File

@@ -49,10 +49,10 @@ index 393061e13375bf7a7ee57973b4abac83ffa15fa3..c48935d35a6141c41db22e3ec172d599
@Override @Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 5e340655c472a3e8c7c017ce7eda7881f1530b43..4133c929d53556d25c4fe51e54c09fd259c212cb 100644 index fcecd4391d43f6a56d8ca562c95973b53f053d63..a245101344ce1e2db2c57938644757364447963c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1213,6 +1213,7 @@ public class PurpurWorldConfig { @@ -1210,6 +1210,7 @@ public class PurpurWorldConfig {
public boolean villagerUseBrainTicksOnlyWhenLagging = true; public boolean villagerUseBrainTicksOnlyWhenLagging = true;
public boolean villagerFarmingBypassMobGriefing = false; public boolean villagerFarmingBypassMobGriefing = false;
public boolean villagerFollowEmeraldBlock = false; public boolean villagerFollowEmeraldBlock = false;
@@ -60,7 +60,7 @@ index 5e340655c472a3e8c7c017ce7eda7881f1530b43..4133c929d53556d25c4fe51e54c09fd2
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1226,6 +1227,7 @@ public class PurpurWorldConfig { @@ -1223,6 +1224,7 @@ public class PurpurWorldConfig {
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging); villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
villagerFarmingBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerFarmingBypassMobGriefing); villagerFarmingBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerFarmingBypassMobGriefing);
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock); villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
@@ -68,7 +68,7 @@ index 5e340655c472a3e8c7c017ce7eda7881f1530b43..4133c929d53556d25c4fe51e54c09fd2
} }
public boolean vindicatorRidable = false; public boolean vindicatorRidable = false;
@@ -1246,6 +1248,7 @@ public class PurpurWorldConfig { @@ -1243,6 +1245,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderRidableInWater = false; public boolean wanderingTraderRidableInWater = false;
public double wanderingTraderMaxHealth = 20.0D; public double wanderingTraderMaxHealth = 20.0D;
public boolean wanderingTraderFollowEmeraldBlock = false; public boolean wanderingTraderFollowEmeraldBlock = false;
@@ -76,7 +76,7 @@ index 5e340655c472a3e8c7c017ce7eda7881f1530b43..4133c929d53556d25c4fe51e54c09fd2
private void wanderingTraderSettings() { private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -1256,6 +1259,7 @@ public class PurpurWorldConfig { @@ -1253,6 +1256,7 @@ public class PurpurWorldConfig {
} }
wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth); wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth);
wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock); wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock);

View File

@@ -18,10 +18,10 @@ index 52a592e569d020dca45916be7b5fad28c9d480de..5e100dbdbd6cfb4aa34b0d6b1ce09138
for (int i = 0; i < 10; ++i) { for (int i = 0; i < 10; ++i) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 4133c929d53556d25c4fe51e54c09fd259c212cb..420eeef9ab551210eedebfd027dd5d9e1b1b9eb5 100644 index a245101344ce1e2db2c57938644757364447963c..c84ca5ddc36bf91252950ec609ce405b18348dcd 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1214,6 +1214,8 @@ public class PurpurWorldConfig { @@ -1211,6 +1211,8 @@ public class PurpurWorldConfig {
public boolean villagerFarmingBypassMobGriefing = false; public boolean villagerFarmingBypassMobGriefing = false;
public boolean villagerFollowEmeraldBlock = false; public boolean villagerFollowEmeraldBlock = false;
public boolean villagerCanBeLeashed = false; public boolean villagerCanBeLeashed = false;
@@ -30,7 +30,7 @@ index 4133c929d53556d25c4fe51e54c09fd259c212cb..420eeef9ab551210eedebfd027dd5d9e
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1228,6 +1230,8 @@ public class PurpurWorldConfig { @@ -1225,6 +1227,8 @@ public class PurpurWorldConfig {
villagerFarmingBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerFarmingBypassMobGriefing); villagerFarmingBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerFarmingBypassMobGriefing);
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock); villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed); villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);

View File

@@ -58,10 +58,10 @@ index 695783e64564b1d2a178d57a89737d2a97ab9014..cd1a33a1f10d04a91358f51d736bda34
protected boolean canConvertToSource() { protected boolean canConvertToSource() {
return false; return false;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 420eeef9ab551210eedebfd027dd5d9e1b1b9eb5..82bb16a56f9c81a0f9a4fa29756ad793b8a24476 100644 index c84ca5ddc36bf91252950ec609ce405b18348dcd..8f0d4cf26d85de197fbddcdb7d42ee5f12cbd078 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -192,6 +192,13 @@ public class PurpurWorldConfig { @@ -189,6 +189,13 @@ public class PurpurWorldConfig {
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow); farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
} }

View File

@@ -18,10 +18,10 @@ index cd1a33a1f10d04a91358f51d736bda34110324c4..b0d671ba015d1ad37fdf600b8e70def2
@Override @Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 82bb16a56f9c81a0f9a4fa29756ad793b8a24476..92de2b4521ff5b462f7ff93c05a3f13d8e8c21f3 100644 index 8f0d4cf26d85de197fbddcdb7d42ee5f12cbd078..3485b925d113a2619601a696acded3a16f9985f5 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -194,9 +194,13 @@ public class PurpurWorldConfig { @@ -191,9 +191,13 @@ public class PurpurWorldConfig {
public boolean lavaInfinite = false; public boolean lavaInfinite = false;
public int lavaInfiniteRequiredSources = 2; public int lavaInfiniteRequiredSources = 2;

View File

@@ -40,20 +40,24 @@ index 721767812c765ac70c66f5445950c39167f344de..3fd54f7d0f3372d83ccd135db44870fb
return 0; return 0;
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 92de2b4521ff5b462f7ff93c05a3f13d8e8c21f3..c29e6acfd2dce0b8483ac324a1720d2cdb38d109 100644 index 3485b925d113a2619601a696acded3a16f9985f5..a54fbb952a3334350453ee6df1e6954798f66876 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -146,6 +146,13 @@ public class PurpurWorldConfig { @@ -141,6 +141,8 @@ public class PurpurWorldConfig {
} public boolean idleTimeoutUpdateTabList = false;
} public int playerSpawnInvulnerableTicks = 60;
public boolean playerInvulnerableWhileAcceptingResourcePack = false;
+ public String playerDeathExpDropEquation = "expLevel * 7"; + public String playerDeathExpDropEquation = "expLevel * 7";
+ public int playerDeathExpDropMax = 100; + public int playerDeathExpDropMax = 100;
+ private void playerDeathExpSettings() { private void playerSettings() {
idleTimeoutKick = getBoolean("gameplay-mechanics.player.idle-timeout.kick-if-idle", idleTimeoutKick);
idleTimeoutTickNearbyEntities = getBoolean("gameplay-mechanics.player.idle-timeout.tick-nearby-entities", idleTimeoutTickNearbyEntities);
@@ -148,6 +150,8 @@ public class PurpurWorldConfig {
idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList);
playerSpawnInvulnerableTicks = getInt("gameplay-mechanics.player.spawn-invulnerable-ticks", playerSpawnInvulnerableTicks);
playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack);
+ playerDeathExpDropEquation = getString("gameplay-mechanics.player.exp-dropped-on-death.equation", playerDeathExpDropEquation); + playerDeathExpDropEquation = getString("gameplay-mechanics.player.exp-dropped-on-death.equation", playerDeathExpDropEquation);
+ playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax); + playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax);
+ } }
+
public boolean idleTimeoutKick = true; public boolean silkTouchEnabled = false;
public boolean idleTimeoutTickNearbyEntities = true;
public boolean idleTimeoutCountAsSleeping = false;

View File

@@ -31,10 +31,10 @@ index 59988294eeba527ab28765ab2482e477802f5240..fda3a3f8fd354aa6dcb0696f0381a6dd
protected void updateSwingTime() { protected void updateSwingTime() {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index c29e6acfd2dce0b8483ac324a1720d2cdb38d109..ed53228bc74cf4429aa7ef65de4ece47a437e99f 100644 index a54fbb952a3334350453ee6df1e6954798f66876..0e2f3e1ed22c72e8089d7c41c2cd2e55614416a3 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -77,11 +77,15 @@ public class PurpurWorldConfig { @@ -181,11 +181,15 @@ public class PurpurWorldConfig {
public boolean entitiesPickUpLootBypassMobGriefing = false; public boolean entitiesPickUpLootBypassMobGriefing = false;
public boolean milkCuresBadOmen = true; public boolean milkCuresBadOmen = true;
public double tridentLoyaltyVoidReturnHeight = 0.0D; public double tridentLoyaltyVoidReturnHeight = 0.0D;
@@ -49,4 +49,4 @@ index c29e6acfd2dce0b8483ac324a1720d2cdb38d109..ed53228bc74cf4429aa7ef65de4ece47
+ voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt); + voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
} }
public double minecartMaxSpeed = 0.4D; public boolean farmlandGetsMoistFromBelow = false;

View File

@@ -43,11 +43,11 @@ index aab4a63e61aced51b1b6c885fd8b8426a4f14408..ad095c6bc7e00d286c83e37f84d8ed5d
// CraftBukkit start // CraftBukkit start
Level world = pointer.getLevel(); Level world = pointer.getLevel();
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index ed53228bc74cf4429aa7ef65de4ece47a437e99f..1266ddfe01e30923189633b11301465118c47581 100644 index 0e2f3e1ed22c72e8089d7c41c2cd2e55614416a3..d876899a14de21498055fe776907241c075ab009 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -198,6 +198,11 @@ public class PurpurWorldConfig { @@ -192,6 +192,11 @@ public class PurpurWorldConfig {
}); voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
} }
+ public boolean dispenserApplyCursedArmor = true; + public boolean dispenserApplyCursedArmor = true;

View File

@@ -17,18 +17,18 @@ index aa7c022c4faade23bd9061311d4152cf845d3331..d4a19fc38027717e43353bc62ef23e56
} else { } else {
return Boat.Status.IN_AIR; return Boat.Status.IN_AIR;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 1266ddfe01e30923189633b11301465118c47581..59c0d2640042f1070d7a4818209c6bdd17afb03c 100644 index d876899a14de21498055fe776907241c075ab009..203e491dd43c39dbbf60e53aca7bb32e22f16fbb 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -73,6 +73,7 @@ public class PurpurWorldConfig { @@ -177,6 +177,7 @@ public class PurpurWorldConfig {
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight); });
} }
+ public boolean boatEjectPlayersOnLand = false; + public boolean boatEjectPlayersOnLand = false;
public boolean disableDropsOnCrammingDeath = false; public boolean disableDropsOnCrammingDeath = false;
public boolean entitiesPickUpLootBypassMobGriefing = false; public boolean entitiesPickUpLootBypassMobGriefing = false;
public boolean milkCuresBadOmen = true; public boolean milkCuresBadOmen = true;
@@ -80,6 +81,7 @@ public class PurpurWorldConfig { @@ -184,6 +185,7 @@ public class PurpurWorldConfig {
public double voidDamageHeight = -64.0D; public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D; public double voidDamageDealt = 4.0D;
private void miscGameplayMechanicsSettings() { private void miscGameplayMechanicsSettings() {

View File

@@ -73,18 +73,18 @@ index e246bf034a86deba5a15e7c639f5e08213fe7eee..585b29a214d0306ac2d6a170125270c1
Entry<EquipmentSlot, ItemStack> entry = getRandomItemWith(enchantment, entityliving); Entry<EquipmentSlot, ItemStack> entry = getRandomItemWith(enchantment, entityliving);
return entry != null ? entry.getValue() : ItemStack.EMPTY; return entry != null ? entry.getValue() : ItemStack.EMPTY;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 59c0d2640042f1070d7a4818209c6bdd17afb03c..35b05b753ebbcecb887b093647a2a4bf6f439df7 100644 index 203e491dd43c39dbbf60e53aca7bb32e22f16fbb..99b021c43290309a96dfa0976c7d87f8f938d427 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -73,6 +73,7 @@ public class PurpurWorldConfig { @@ -177,6 +177,7 @@ public class PurpurWorldConfig {
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight); });
} }
+ public boolean useBetterMending = false; + public boolean useBetterMending = false;
public boolean boatEjectPlayersOnLand = false; public boolean boatEjectPlayersOnLand = false;
public boolean disableDropsOnCrammingDeath = false; public boolean disableDropsOnCrammingDeath = false;
public boolean entitiesPickUpLootBypassMobGriefing = false; public boolean entitiesPickUpLootBypassMobGriefing = false;
@@ -81,6 +82,7 @@ public class PurpurWorldConfig { @@ -185,6 +186,7 @@ public class PurpurWorldConfig {
public double voidDamageHeight = -64.0D; public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D; public double voidDamageDealt = 4.0D;
private void miscGameplayMechanicsSettings() { private void miscGameplayMechanicsSettings() {

View File

@@ -99,11 +99,11 @@ index 510ed67a7de2b503ab8b01db57ed09ee33b0d825..3f53dc8f250ad3f7616ce7ef0a2353ca
entityhuman.startAutoSpinAttack(20); entityhuman.startAutoSpinAttack(20);
if (entityhuman.isOnGround()) { if (entityhuman.isOnGround()) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 35b05b753ebbcecb887b093647a2a4bf6f439df7..7ea265ced069fa0121a8ca8b8f436957527494ee 100644 index 99b021c43290309a96dfa0976c7d87f8f938d427..f0b7a5616040cb7d7f88bd98f43abf364b18343f 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -92,6 +92,19 @@ public class PurpurWorldConfig { @@ -73,6 +73,19 @@ public class PurpurWorldConfig {
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt); armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
} }
+ public int elytraDamagePerSecond = 1; + public int elytraDamagePerSecond = 1;

View File

@@ -93,10 +93,10 @@ index 158719d46c96bb733a00e08c8285f41a48406abf..623a8b38b9d0ccbfe807afe328495b19
+ // Purpur end + // Purpur end
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 7ea265ced069fa0121a8ca8b8f436957527494ee..d733d01678689107449fcad0b94171799de2a626 100644 index f0b7a5616040cb7d7f88bd98f43abf364b18343f..59096e683f1ed1675d142a9a737519f3f7cdc89a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -105,6 +105,49 @@ public class PurpurWorldConfig { @@ -86,6 +86,49 @@ public class PurpurWorldConfig {
elytraDamagePerTridentBoost = getInt("gameplay-mechanics.elytra.damage-per-boost.trident", elytraDamagePerTridentBoost); elytraDamagePerTridentBoost = getInt("gameplay-mechanics.elytra.damage-per-boost.trident", elytraDamagePerTridentBoost);
} }

View File

@@ -167,10 +167,10 @@ index 04d09123f70a192f1283c0d7e8a8254f3d30889a..43ef93d2c0c59e0d7021ee9aa2b44345
@Override @Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d733d01678689107449fcad0b94171799de2a626..999c73c5a3fca531cc886025865df1464b8f80da 100644 index 59096e683f1ed1675d142a9a737519f3f7cdc89a..d3796ea8bb8ad36a79d79a06ee250456ce541e23 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -499,6 +499,9 @@ public class PurpurWorldConfig { @@ -493,6 +493,9 @@ public class PurpurWorldConfig {
public boolean drownedRidableInWater = false; public boolean drownedRidableInWater = false;
public double drownedMaxHealth = 20.0D; public double drownedMaxHealth = 20.0D;
public double drownedSpawnReinforcements = 0.1D; public double drownedSpawnReinforcements = 0.1D;
@@ -180,7 +180,7 @@ index d733d01678689107449fcad0b94171799de2a626..999c73c5a3fca531cc886025865df146
private void drownedSettings() { private void drownedSettings() {
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable); drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater); drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater);
@@ -509,6 +512,9 @@ public class PurpurWorldConfig { @@ -503,6 +506,9 @@ public class PurpurWorldConfig {
} }
drownedMaxHealth = getDouble("mobs.drowned.attributes.max_health", drownedMaxHealth); drownedMaxHealth = getDouble("mobs.drowned.attributes.max_health", drownedMaxHealth);
drownedSpawnReinforcements = getDouble("mobs.drowned.attributes.spawn_reinforcements", drownedSpawnReinforcements); drownedSpawnReinforcements = getDouble("mobs.drowned.attributes.spawn_reinforcements", drownedSpawnReinforcements);
@@ -190,7 +190,7 @@ index d733d01678689107449fcad0b94171799de2a626..999c73c5a3fca531cc886025865df146
} }
public boolean elderGuardianRidable = false; public boolean elderGuardianRidable = false;
@@ -721,6 +727,9 @@ public class PurpurWorldConfig { @@ -715,6 +721,9 @@ public class PurpurWorldConfig {
public boolean huskRidableInWater = false; public boolean huskRidableInWater = false;
public double huskMaxHealth = 20.0D; public double huskMaxHealth = 20.0D;
public double huskSpawnReinforcements = 0.1D; public double huskSpawnReinforcements = 0.1D;
@@ -200,7 +200,7 @@ index d733d01678689107449fcad0b94171799de2a626..999c73c5a3fca531cc886025865df146
private void huskSettings() { private void huskSettings() {
huskRidable = getBoolean("mobs.husk.ridable", huskRidable); huskRidable = getBoolean("mobs.husk.ridable", huskRidable);
huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater); huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater);
@@ -731,6 +740,9 @@ public class PurpurWorldConfig { @@ -725,6 +734,9 @@ public class PurpurWorldConfig {
} }
huskMaxHealth = getDouble("mobs.husk.attributes.max_health", huskMaxHealth); huskMaxHealth = getDouble("mobs.husk.attributes.max_health", huskMaxHealth);
huskSpawnReinforcements = getDouble("mobs.husk.attributes.spawn_reinforcements", huskSpawnReinforcements); huskSpawnReinforcements = getDouble("mobs.husk.attributes.spawn_reinforcements", huskSpawnReinforcements);
@@ -210,7 +210,7 @@ index d733d01678689107449fcad0b94171799de2a626..999c73c5a3fca531cc886025865df146
} }
public boolean illusionerRidable = false; public boolean illusionerRidable = false;
@@ -1435,6 +1447,9 @@ public class PurpurWorldConfig { @@ -1429,6 +1441,9 @@ public class PurpurWorldConfig {
public boolean zombieRidableInWater = false; public boolean zombieRidableInWater = false;
public double zombieMaxHealth = 20.0D; public double zombieMaxHealth = 20.0D;
public double zombieSpawnReinforcements = 0.1D; public double zombieSpawnReinforcements = 0.1D;
@@ -220,7 +220,7 @@ index d733d01678689107449fcad0b94171799de2a626..999c73c5a3fca531cc886025865df146
private void zombieSettings() { private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1445,6 +1460,9 @@ public class PurpurWorldConfig { @@ -1439,6 +1454,9 @@ public class PurpurWorldConfig {
} }
zombieMaxHealth = getDouble("mobs.zombie.attributes.max_health", zombieMaxHealth); zombieMaxHealth = getDouble("mobs.zombie.attributes.max_health", zombieMaxHealth);
zombieSpawnReinforcements = getDouble("mobs.zombie.attributes.spawn_reinforcements", zombieSpawnReinforcements); zombieSpawnReinforcements = getDouble("mobs.zombie.attributes.spawn_reinforcements", zombieSpawnReinforcements);
@@ -230,7 +230,7 @@ index d733d01678689107449fcad0b94171799de2a626..999c73c5a3fca531cc886025865df146
} }
public boolean zombieHorseRidableInWater = false; public boolean zombieHorseRidableInWater = false;
@@ -1478,6 +1496,9 @@ public class PurpurWorldConfig { @@ -1472,6 +1490,9 @@ public class PurpurWorldConfig {
public boolean zombieVillagerRidableInWater = false; public boolean zombieVillagerRidableInWater = false;
public double zombieVillagerMaxHealth = 20.0D; public double zombieVillagerMaxHealth = 20.0D;
public double zombieVillagerSpawnReinforcements = 0.1D; public double zombieVillagerSpawnReinforcements = 0.1D;
@@ -240,7 +240,7 @@ index d733d01678689107449fcad0b94171799de2a626..999c73c5a3fca531cc886025865df146
private void zombieVillagerSettings() { private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -1488,12 +1509,18 @@ public class PurpurWorldConfig { @@ -1482,12 +1503,18 @@ public class PurpurWorldConfig {
} }
zombieVillagerMaxHealth = getDouble("mobs.zombie_villager.attributes.max_health", zombieVillagerMaxHealth); zombieVillagerMaxHealth = getDouble("mobs.zombie_villager.attributes.max_health", zombieVillagerMaxHealth);
zombieVillagerSpawnReinforcements = getDouble("mobs.zombie_villager.attributes.spawn_reinforcements", zombieVillagerSpawnReinforcements); zombieVillagerSpawnReinforcements = getDouble("mobs.zombie_villager.attributes.spawn_reinforcements", zombieVillagerSpawnReinforcements);
@@ -259,7 +259,7 @@ index d733d01678689107449fcad0b94171799de2a626..999c73c5a3fca531cc886025865df146
private void zombifiedPiglinSettings() { private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -1504,5 +1531,8 @@ public class PurpurWorldConfig { @@ -1498,5 +1525,8 @@ public class PurpurWorldConfig {
} }
zombifiedPiglinMaxHealth = getDouble("mobs.zombified_piglin.attributes.max_health", zombifiedPiglinMaxHealth); zombifiedPiglinMaxHealth = getDouble("mobs.zombified_piglin.attributes.max_health", zombifiedPiglinMaxHealth);
zombifiedPiglinSpawnReinforcements = getDouble("mobs.zombified_piglin.attributes.spawn_reinforcements", zombifiedPiglinSpawnReinforcements); zombifiedPiglinSpawnReinforcements = getDouble("mobs.zombified_piglin.attributes.spawn_reinforcements", zombifiedPiglinSpawnReinforcements);

View File

@@ -258,10 +258,10 @@ index 359f5d01d144121e0ea129aebc45b3e796c16bf7..fcb383cea17217b6ee26fcd8b59e5ce6
private float speed = 0.1F; private float speed = 0.1F;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 999c73c5a3fca531cc886025865df1464b8f80da..99803a6bc3d63b31ddb2c137ba9ea311f955b9c9 100644 index d3796ea8bb8ad36a79d79a06ee250456ce541e23..f8a0044435e8c20395b8bc6700c625b391ca1a9e 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -912,6 +912,9 @@ public class PurpurWorldConfig { @@ -906,6 +906,9 @@ public class PurpurWorldConfig {
public int phantomFlameFireTime = 8; public int phantomFlameFireTime = 8;
public boolean phantomAllowGriefing = false; public boolean phantomAllowGriefing = false;
public double phantomMaxHealth = 20.0D; public double phantomMaxHealth = 20.0D;
@@ -271,7 +271,7 @@ index 999c73c5a3fca531cc886025865df1464b8f80da..99803a6bc3d63b31ddb2c137ba9ea311
private void phantomSettings() { private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -925,6 +928,9 @@ public class PurpurWorldConfig { @@ -919,6 +922,9 @@ public class PurpurWorldConfig {
set("mobs.phantom.attributes.max_health", oldValue); set("mobs.phantom.attributes.max_health", oldValue);
} }
phantomMaxHealth = getDouble("mobs.phantom.attributes.max_health", phantomMaxHealth); phantomMaxHealth = getDouble("mobs.phantom.attributes.max_health", phantomMaxHealth);

View File

@@ -189,10 +189,10 @@ index 79504dc3448402e73b09c4232b1fd0488872cf68..5c7683058b79953aa4f7427d7654b7e4
} }
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 99803a6bc3d63b31ddb2c137ba9ea311f955b9c9..7eda42e4ffd91e1619dc59acdb60b9a7ef83f0c9 100644 index f8a0044435e8c20395b8bc6700c625b391ca1a9e..9b94df72ec46c37afc26f84e9faf484bef213dbb 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -915,6 +915,18 @@ public class PurpurWorldConfig { @@ -909,6 +909,18 @@ public class PurpurWorldConfig {
public double phantomAttackedByCrystalRadius = 0.0D; public double phantomAttackedByCrystalRadius = 0.0D;
public float phantomAttackedByCrystalDamage = 1.0F; public float phantomAttackedByCrystalDamage = 1.0F;
public double phantomOrbitCrystalRadius = 0.0D; public double phantomOrbitCrystalRadius = 0.0D;
@@ -211,7 +211,7 @@ index 99803a6bc3d63b31ddb2c137ba9ea311f955b9c9..7eda42e4ffd91e1619dc59acdb60b9a7
private void phantomSettings() { private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -931,6 +943,18 @@ public class PurpurWorldConfig { @@ -925,6 +937,18 @@ public class PurpurWorldConfig {
phantomAttackedByCrystalRadius = getDouble("mobs.phantom.attacked-by-crystal-range", phantomAttackedByCrystalRadius); phantomAttackedByCrystalRadius = getDouble("mobs.phantom.attacked-by-crystal-range", phantomAttackedByCrystalRadius);
phantomAttackedByCrystalDamage = (float) getDouble("mobs.phantom.attacked-by-crystal-damage", phantomAttackedByCrystalDamage); phantomAttackedByCrystalDamage = (float) getDouble("mobs.phantom.attacked-by-crystal-damage", phantomAttackedByCrystalDamage);
phantomOrbitCrystalRadius = getDouble("mobs.phantom.orbit-crystal-radius", phantomOrbitCrystalRadius); phantomOrbitCrystalRadius = getDouble("mobs.phantom.orbit-crystal-radius", phantomOrbitCrystalRadius);

View File

@@ -18,7 +18,7 @@ index 163a7861f987c3832aac51cc6df950c768546731..cfe4cdbd28ff11ea2781d47fe6d8c2de
} else if ((Boolean) state.getValue(BedBlock.OCCUPIED)) { } else if ((Boolean) state.getValue(BedBlock.OCCUPIED)) {
if (!this.kickVillagerOutOfBed(world, pos)) { if (!this.kickVillagerOutOfBed(world, pos)) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 7eda42e4ffd91e1619dc59acdb60b9a7ef83f0c9..ce0e2f9eb940e1e79d129667bc6444b83ca4b235 100644 index 9b94df72ec46c37afc26f84e9faf484bef213dbb..71b2eb0695a208a2d746589b4c60127a6c8cf91c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -4,6 +4,7 @@ import net.minecraft.core.Registry; @@ -4,6 +4,7 @@ import net.minecraft.core.Registry;
@@ -38,8 +38,8 @@ index 7eda42e4ffd91e1619dc59acdb60b9a7ef83f0c9..ce0e2f9eb940e1e79d129667bc6444b8
import static net.pl3x.purpur.PurpurConfig.log; import static net.pl3x.purpur.PurpurConfig.log;
public class PurpurWorldConfig { public class PurpurWorldConfig {
@@ -258,6 +261,22 @@ public class PurpurWorldConfig { @@ -252,6 +255,22 @@ public class PurpurWorldConfig {
}); voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
} }
+ public boolean bedExplode = true; + public boolean bedExplode = true;

View File

@@ -18,10 +18,10 @@ index af4eb4a8814491afef449a2874521636957d7557..365c28300ecfbe0161716972adf22a8a
public static boolean canSetSpawn(Level world) { public static boolean canSetSpawn(Level world) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index ce0e2f9eb940e1e79d129667bc6444b83ca4b235..a62fb5a9655e29d4327ebf5725e93dded5f02113 100644 index 71b2eb0695a208a2d746589b4c60127a6c8cf91c..3e76349fb02722653c5765915941386f1fea3e00 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -298,6 +298,22 @@ public class PurpurWorldConfig { @@ -292,6 +292,22 @@ public class PurpurWorldConfig {
lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether); lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether);
} }

View File

@@ -89,10 +89,10 @@ index 45c9c4d751a51a524ff881d9fe3c1a48d141ba54..568c11075c7a45f210bb2ddc81c313d0
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a62fb5a9655e29d4327ebf5725e93dded5f02113..059da9c67be01f5d495cca4828a639355b5668d4 100644 index 3e76349fb02722653c5765915941386f1fea3e00..f495a57ae90d5ca10d63a1f2e7fc6f215b1b04ec 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -108,6 +108,11 @@ public class PurpurWorldConfig { @@ -89,6 +89,11 @@ public class PurpurWorldConfig {
elytraDamagePerTridentBoost = getInt("gameplay-mechanics.elytra.damage-per-boost.trident", elytraDamagePerTridentBoost); elytraDamagePerTridentBoost = getInt("gameplay-mechanics.elytra.damage-per-boost.trident", elytraDamagePerTridentBoost);
} }

View File

@@ -55,18 +55,22 @@ index 5de1f9729ad0d2857e4c25bb3b9bf3f575217e99..f4eb8ea592e259bca1b961bbbf3f99c9
} }
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 059da9c67be01f5d495cca4828a639355b5668d4..679bd772139a6b03eb346ebd4e080bd0167dc294 100644 index f495a57ae90d5ca10d63a1f2e7fc6f215b1b04ec..f798517c786d8d887786deafa5c9c82a1f785114 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -243,6 +243,11 @@ public class PurpurWorldConfig { @@ -207,6 +207,7 @@ public class PurpurWorldConfig {
public boolean playerInvulnerableWhileAcceptingResourcePack = false;
public String playerDeathExpDropEquation = "expLevel * 7";
public int playerDeathExpDropMax = 100;
+ public boolean teleportIfOutsideBorder = false;
private void playerSettings() {
idleTimeoutKick = getBoolean("gameplay-mechanics.player.idle-timeout.kick-if-idle", idleTimeoutKick);
idleTimeoutTickNearbyEntities = getBoolean("gameplay-mechanics.player.idle-timeout.tick-nearby-entities", idleTimeoutTickNearbyEntities);
@@ -216,6 +217,7 @@ public class PurpurWorldConfig {
playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack); playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack);
playerDeathExpDropEquation = getString("gameplay-mechanics.player.exp-dropped-on-death.equation", playerDeathExpDropEquation);
playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax);
+ teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder);
} }
+ public boolean teleportIfOutsideBorder = false;
+ private void teleportIfOutsideBorder() {
+ teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder);
+ }
+
public boolean silkTouchEnabled = false; public boolean silkTouchEnabled = false;
public String silkTouchSpawnerName = "Spawner";
public List<String> silkTouchSpawnerLore = new ArrayList<>();

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Squid EAR immunity
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 679bd772139a6b03eb346ebd4e080bd0167dc294..70a89abe116da4e9267988b40cb141ad937b1a3c 100644 index f798517c786d8d887786deafa5c9c82a1f785114..a6da4fb3799b9c3ce624f90479e7546fc071b9a5 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1254,6 +1254,7 @@ public class PurpurWorldConfig { @@ -1245,6 +1245,7 @@ public class PurpurWorldConfig {
public boolean squidRidable = false; public boolean squidRidable = false;
public double squidMaxHealth = 10.0D; public double squidMaxHealth = 10.0D;
@@ -16,7 +16,7 @@ index 679bd772139a6b03eb346ebd4e080bd0167dc294..70a89abe116da4e9267988b40cb141ad
private void squidSettings() { private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
if (PurpurConfig.version < 10) { if (PurpurConfig.version < 10) {
@@ -1262,6 +1263,7 @@ public class PurpurWorldConfig { @@ -1253,6 +1254,7 @@ public class PurpurWorldConfig {
set("mobs.squid.attributes.max_health", oldValue); set("mobs.squid.attributes.max_health", oldValue);
} }
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth); squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);

View File

@@ -47,10 +47,10 @@ index fcb383cea17217b6ee26fcd8b59e5ce6a7ca0f8e..782d4499f925950d66072b63f34a828b
list.sort(Comparator.<Player, Double>comparing(Entity::getY).reversed()); // Paper - remap fix list.sort(Comparator.<Player, Double>comparing(Entity::getY).reversed()); // Paper - remap fix
Iterator iterator = list.iterator(); Iterator iterator = list.iterator();
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 70a89abe116da4e9267988b40cb141ad937b1a3c..d29600f27eeacf831ec532a79cdd280b2253574f 100644 index a6da4fb3799b9c3ce624f90479e7546fc071b9a5..ef7dc4fe0eb958e0b8faca8768a18054d0adcf15 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -972,6 +972,9 @@ public class PurpurWorldConfig { @@ -963,6 +963,9 @@ public class PurpurWorldConfig {
public int phantomSpawnOverheadRadius = 10; public int phantomSpawnOverheadRadius = 10;
public int phantomSpawnMinPerAttempt = 1; public int phantomSpawnMinPerAttempt = 1;
public int phantomSpawnMaxPerAttempt = -1; public int phantomSpawnMaxPerAttempt = -1;
@@ -60,7 +60,7 @@ index 70a89abe116da4e9267988b40cb141ad937b1a3c..d29600f27eeacf831ec532a79cdd280b
private void phantomSettings() { private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -1000,6 +1003,9 @@ public class PurpurWorldConfig { @@ -991,6 +994,9 @@ public class PurpurWorldConfig {
phantomSpawnOverheadRadius = getInt("mobs.phantom.spawn.overhead.radius", phantomSpawnOverheadRadius); phantomSpawnOverheadRadius = getInt("mobs.phantom.spawn.overhead.radius", phantomSpawnOverheadRadius);
phantomSpawnMinPerAttempt = getInt("mobs.phantom.spawn.per-attempt.min", phantomSpawnMinPerAttempt); phantomSpawnMinPerAttempt = getInt("mobs.phantom.spawn.per-attempt.min", phantomSpawnMinPerAttempt);
phantomSpawnMaxPerAttempt = getInt("mobs.phantom.spawn.per-attempt.max", phantomSpawnMaxPerAttempt); phantomSpawnMaxPerAttempt = getInt("mobs.phantom.spawn.per-attempt.max", phantomSpawnMaxPerAttempt);

View File

@@ -18,10 +18,10 @@ index 5e100dbdbd6cfb4aa34b0d6b1ce0913899f60b7c..1e05cc98a332e5b115c4670e5331e679
private boolean hungry() { private boolean hungry() {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d29600f27eeacf831ec532a79cdd280b2253574f..e047403632621a979c3e8d3859c43be8a70d3b92 100644 index ef7dc4fe0eb958e0b8faca8768a18054d0adcf15..ad02fcc56677635448ec4b89932fe58bb676408e 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1398,6 +1398,7 @@ public class PurpurWorldConfig { @@ -1389,6 +1389,7 @@ public class PurpurWorldConfig {
public boolean villagerCanBeLeashed = false; public boolean villagerCanBeLeashed = false;
public int villagerSpawnIronGolemRadius = 0; public int villagerSpawnIronGolemRadius = 0;
public int villagerSpawnIronGolemLimit = 0; public int villagerSpawnIronGolemLimit = 0;
@@ -29,7 +29,7 @@ index d29600f27eeacf831ec532a79cdd280b2253574f..e047403632621a979c3e8d3859c43be8
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1414,6 +1415,7 @@ public class PurpurWorldConfig { @@ -1405,6 +1406,7 @@ public class PurpurWorldConfig {
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed); villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius); villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius);
villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit); villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit);

View File

@@ -17,11 +17,11 @@ index 9228c0bc797fb95c8ac949bdc568eadafee84a80..f2c9f841d397f445cd3d0420f19e765c
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index e047403632621a979c3e8d3859c43be8a70d3b92..9d35930b8e5f27b0cf65b347dfb829a09965c607 100644 index ad02fcc56677635448ec4b89932fe58bb676408e..bb4a7534911b9718ec383f464ae2853a8efea2a2 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1352,6 +1352,11 @@ public class PurpurWorldConfig { @@ -322,6 +322,11 @@ public class PurpurWorldConfig {
tropicalFishMaxHealth = getDouble("mobs.tropical_fish.attributes.max_health", tropicalFishMaxHealth); signRightClickEdit = getBoolean("blocks.sign.right-click-edit", signRightClickEdit);
} }
+ public boolean spawnerDeactivateByRedstone = false; + public boolean spawnerDeactivateByRedstone = false;
@@ -29,6 +29,6 @@ index e047403632621a979c3e8d3859c43be8a70d3b92..9d35930b8e5f27b0cf65b347dfb829a0
+ spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone); + spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone);
+ } + }
+ +
public boolean turtleRidable = false; public boolean babiesAreRidable = true;
public boolean turtleRidableInWater = false; public boolean untamedTamablesAreRidable = true;
public double turtleMaxHealth = 30.0D; public boolean useNightVisionWhenRiding = false;

View File

@@ -29,18 +29,22 @@ index f4eb8ea592e259bca1b961bbbf3f99c9cb058640..c3aa354635d7e784726ec5086e652433
event.setCancelled(itemstack == null); event.setCancelled(itemstack == null);
this.level.getCraftServer().getPluginManager().callEvent(event); this.level.getCraftServer().getPluginManager().callEvent(event);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 9d35930b8e5f27b0cf65b347dfb829a09965c607..337da14979d8f209d250d98df1247434d6610472 100644 index bb4a7534911b9718ec383f464ae2853a8efea2a2..f911e276e94016a4911e5685b3bb382f7e45f894 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -248,6 +248,11 @@ public class PurpurWorldConfig { @@ -208,6 +208,7 @@ public class PurpurWorldConfig {
public String playerDeathExpDropEquation = "expLevel * 7";
public int playerDeathExpDropMax = 100;
public boolean teleportIfOutsideBorder = false;
+ public boolean totemOfUndyingWorksInInventory = false;
private void playerSettings() {
idleTimeoutKick = getBoolean("gameplay-mechanics.player.idle-timeout.kick-if-idle", idleTimeoutKick);
idleTimeoutTickNearbyEntities = getBoolean("gameplay-mechanics.player.idle-timeout.tick-nearby-entities", idleTimeoutTickNearbyEntities);
@@ -218,6 +219,7 @@ public class PurpurWorldConfig {
playerDeathExpDropEquation = getString("gameplay-mechanics.player.exp-dropped-on-death.equation", playerDeathExpDropEquation);
playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax);
teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder); teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder);
+ totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory);
} }
+ public boolean totemOfUndyingWorksInInventory = false;
+ private void totemOfUndyingWorksInInventory() {
+ totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory);
+ }
+
public boolean silkTouchEnabled = false; public boolean silkTouchEnabled = false;
public String silkTouchSpawnerName = "Spawner";
public List<String> silkTouchSpawnerLore = new ArrayList<>();

View File

@@ -30,10 +30,10 @@ index 76e6ea34db3942e9dd7646ad7ca1259f4387a4d8..9096c40ad5784d9097e889f0f43b6cf1
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 337da14979d8f209d250d98df1247434d6610472..8feb4bab5e11f6240e6224f5e9a1ffbcebf8e0f6 100644 index f911e276e94016a4911e5685b3bb382f7e45f894..6697c7b15917c3d7213ccf329b564372239a5228 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1431,6 +1431,7 @@ public class PurpurWorldConfig { @@ -1419,6 +1419,7 @@ public class PurpurWorldConfig {
public boolean vindicatorRidable = false; public boolean vindicatorRidable = false;
public boolean vindicatorRidableInWater = false; public boolean vindicatorRidableInWater = false;
public double vindicatorMaxHealth = 24.0D; public double vindicatorMaxHealth = 24.0D;
@@ -41,7 +41,7 @@ index 337da14979d8f209d250d98df1247434d6610472..8feb4bab5e11f6240e6224f5e9a1ffbc
private void vindicatorSettings() { private void vindicatorSettings() {
vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable); vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable);
vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater); vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater);
@@ -1440,6 +1441,7 @@ public class PurpurWorldConfig { @@ -1428,6 +1429,7 @@ public class PurpurWorldConfig {
set("mobs.vindicator.attributes.max_health", oldValue); set("mobs.vindicator.attributes.max_health", oldValue);
} }
vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth); vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth);

View File

@@ -41,10 +41,10 @@ index 92623ae25249d63efb92be8bd6c95228f9155ad2..20bf6d01046488eff53a109f5239351a
static void setEntityPokingOutOfBlock(BlockSource pointer, Entity entity, Direction direction) { static void setEntityPokingOutOfBlock(BlockSource pointer, Entity entity, Direction direction) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 8feb4bab5e11f6240e6224f5e9a1ffbcebf8e0f6..b17e156f543f408ae60d59766f2a35af87b8844a 100644 index 6697c7b15917c3d7213ccf329b564372239a5228..b67352c0f4d538ba4fc8dc41590fb4f871d46d3b 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -293,8 +293,10 @@ public class PurpurWorldConfig { @@ -281,8 +281,10 @@ public class PurpurWorldConfig {
} }
public boolean dispenserApplyCursedArmor = true; public boolean dispenserApplyCursedArmor = true;

View File

@@ -37,11 +37,11 @@ index 2db80c986e1dbd4aa9be288cc802f650169dc11a..1d186f9e3c2b10420abf8b3334cbcc42
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index b17e156f543f408ae60d59766f2a35af87b8844a..7f19823c5044ee056ec45c6db94f9cce665ba4c6 100644 index b67352c0f4d538ba4fc8dc41590fb4f871d46d3b..f9d66b7aa5d2c13190f438b14bd4bf6626e2c123 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -276,6 +276,11 @@ public class PurpurWorldConfig { @@ -264,6 +264,11 @@ public class PurpurWorldConfig {
}); voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
} }
+ public boolean anvilAllowColors = false; + public boolean anvilAllowColors = false;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add no-random-tick block list
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index e98cfb02e6432992259c23d3e81aa8cfef6882b3..34be3abec773b4b2bcd9b3faca33d2c72ef4d895 100644 index 14c3e9fcdfb088d3fe0a15266b50a7da82a5d240..0ef7b405ad9174045128fb5445f0bc0e22a3f2e2 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -318,7 +318,7 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl @@ -318,7 +318,7 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl
@@ -35,7 +35,7 @@ index a107304351381d68fdaa35a4d7ff214e6c1546a6..6e5dcf3c8a537729a18c085ebb5ab46b
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 7f19823c5044ee056ec45c6db94f9cce665ba4c6..ea0e9c3ff13888899952b4bb8c04d20ebd5de542 100644 index f9d66b7aa5d2c13190f438b14bd4bf6626e2c123..7d7644863256cc69077292fd1d2fdc38f9e378f1 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -12,8 +12,10 @@ import org.bukkit.configuration.ConfigurationSection; @@ -12,8 +12,10 @@ import org.bukkit.configuration.ConfigurationSection;
@@ -49,8 +49,8 @@ index 7f19823c5044ee056ec45c6db94f9cce665ba4c6..ea0e9c3ff13888899952b4bb8c04d20e
import java.util.logging.Level; import java.util.logging.Level;
import static net.pl3x.purpur.PurpurConfig.log; import static net.pl3x.purpur.PurpurConfig.log;
@@ -243,6 +245,28 @@ public class PurpurWorldConfig { @@ -264,6 +266,28 @@ public class PurpurWorldConfig {
playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack); voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
} }
+ public Set<Block> noRandomTickBlocks = new HashSet<>(); + public Set<Block> noRandomTickBlocks = new HashSet<>();
@@ -75,6 +75,6 @@ index 7f19823c5044ee056ec45c6db94f9cce665ba4c6..ea0e9c3ff13888899952b4bb8c04d20e
+ }); + });
+ } + }
+ +
public boolean teleportIfOutsideBorder = false; public boolean anvilAllowColors = false;
private void teleportIfOutsideBorder() { private void anvilSettings() {
teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder); anvilAllowColors = getBoolean("blocks.anvil.allow-colors", anvilAllowColors);

View File

@@ -17,10 +17,10 @@ index c372d47a929e06c8cfb0df86cf4e9bfee4d4b300..2aead13e8f879b614445715fb1912a20
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index ea0e9c3ff13888899952b4bb8c04d20ebd5de542..e42de65078ee46de2122200bb662d4366443b4a2 100644 index 7d7644863256cc69077292fd1d2fdc38f9e378f1..ad7b6e2df7d0579e95b7f0b82481868e21358ddb 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -539,6 +539,7 @@ public class PurpurWorldConfig { @@ -532,6 +532,7 @@ public class PurpurWorldConfig {
public float dolphinSpitSpeed = 1.0F; public float dolphinSpitSpeed = 1.0F;
public float dolphinSpitDamage = 2.0F; public float dolphinSpitDamage = 2.0F;
public double dolphinMaxHealth = 10.0D; public double dolphinMaxHealth = 10.0D;
@@ -28,7 +28,7 @@ index ea0e9c3ff13888899952b4bb8c04d20ebd5de542..e42de65078ee46de2122200bb662d436
private void dolphinSettings() { private void dolphinSettings() {
dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable); dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable);
dolphinSpitCooldown = getInt("mobs.dolphin.spit.cooldown", dolphinSpitCooldown); dolphinSpitCooldown = getInt("mobs.dolphin.spit.cooldown", dolphinSpitCooldown);
@@ -550,6 +551,7 @@ public class PurpurWorldConfig { @@ -543,6 +544,7 @@ public class PurpurWorldConfig {
set("mobs.dolphin.attributes.max_health", oldValue); set("mobs.dolphin.attributes.max_health", oldValue);
} }
dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth); dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth);

View File

@@ -60,10 +60,10 @@ index 120498a39b7ca7aee9763084507508d4a1c425aa..0dfc639043998cd3bd32afaaf8153459
+ // Purpur + // Purpur
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index e42de65078ee46de2122200bb662d4366443b4a2..73955b07947852ddd2aa8bad6642cea19dc7f6c5 100644 index ad7b6e2df7d0579e95b7f0b82481868e21358ddb..b7987fe0d7a73ed4ab0c47648f5da23f8c15560c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1299,6 +1299,7 @@ public class PurpurWorldConfig { @@ -1292,6 +1292,7 @@ public class PurpurWorldConfig {
public boolean squidRidable = false; public boolean squidRidable = false;
public double squidMaxHealth = 10.0D; public double squidMaxHealth = 10.0D;
public boolean squidImmuneToEAR = true; public boolean squidImmuneToEAR = true;
@@ -71,7 +71,7 @@ index e42de65078ee46de2122200bb662d4366443b4a2..73955b07947852ddd2aa8bad6642cea1
private void squidSettings() { private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
if (PurpurConfig.version < 10) { if (PurpurConfig.version < 10) {
@@ -1308,6 +1309,7 @@ public class PurpurWorldConfig { @@ -1301,6 +1302,7 @@ public class PurpurWorldConfig {
} }
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth); squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);
squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR); squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);

View File

@@ -27,10 +27,10 @@ index 3bf97664158760355263f4b3dcd48b9388d44231..70d436a272d03d1f2eb754a83f1ea7e8
public float getBlockExplosionResistance(Explosion explosion, BlockGetter world, BlockPos pos, BlockState blockState, FluidState fluidState, float max) { public float getBlockExplosionResistance(Explosion explosion, BlockGetter world, BlockPos pos, BlockState blockState, FluidState fluidState, float max) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 73955b07947852ddd2aa8bad6642cea19dc7f6c5..02a249afc39239327c1bd99f40d73d6cc616644a 100644 index b7987fe0d7a73ed4ab0c47648f5da23f8c15560c..842bc3d16f13d1a3daf663b2bdfb0135832c95da 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -82,6 +82,7 @@ public class PurpurWorldConfig { @@ -251,6 +251,7 @@ public class PurpurWorldConfig {
public boolean boatEjectPlayersOnLand = false; public boolean boatEjectPlayersOnLand = false;
public boolean disableDropsOnCrammingDeath = false; public boolean disableDropsOnCrammingDeath = false;
public boolean entitiesPickUpLootBypassMobGriefing = false; public boolean entitiesPickUpLootBypassMobGriefing = false;
@@ -38,7 +38,7 @@ index 73955b07947852ddd2aa8bad6642cea19dc7f6c5..02a249afc39239327c1bd99f40d73d6c
public boolean milkCuresBadOmen = true; public boolean milkCuresBadOmen = true;
public double tridentLoyaltyVoidReturnHeight = 0.0D; public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D; public double voidDamageHeight = -64.0D;
@@ -91,6 +92,7 @@ public class PurpurWorldConfig { @@ -260,6 +261,7 @@ public class PurpurWorldConfig {
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand); boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath); disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
entitiesPickUpLootBypassMobGriefing = getBoolean("gameplay-mechanics.entities-pick-up-loot-bypass-mob-griefing", entitiesPickUpLootBypassMobGriefing); entitiesPickUpLootBypassMobGriefing = getBoolean("gameplay-mechanics.entities-pick-up-loot-bypass-mob-griefing", entitiesPickUpLootBypassMobGriefing);

View File

@@ -6,22 +6,10 @@ Subject: [PATCH] Customizable wither health and healing
Adds the ability to customize the health of the wither, as well as the amount that it heals, and how often. Adds the ability to customize the health of the wither, as well as the amount that it heals, and how often.
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index 96631591db018545120ba1c9980a03eb596eb6e5..b447c1c4d7d3133e953d8f70e6720ddfba4f7553 100644 index 96631591db018545120ba1c9980a03eb596eb6e5..9c45c0e232da2597f071081443f9db3df57b5513 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -197,6 +197,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -499,8 +499,10 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
level.addFreshEntity(skull);
}
+ @Override
+ public void initAttributes() {
+ this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(level.purpurConfig.witherMaxHealth);
+ }
+
@Override
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.witherMaxHealth);
@@ -499,8 +504,10 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
} }
} }
@@ -35,10 +23,10 @@ index 96631591db018545120ba1c9980a03eb596eb6e5..b447c1c4d7d3133e953d8f70e6720ddf
this.bossEvent.setProgress(this.getHealth() / this.getMaxHealth()); this.bossEvent.setProgress(this.getHealth() / this.getMaxHealth());
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 02a249afc39239327c1bd99f40d73d6cc616644a..a956362ed2b724a50c8f7023799bd3314b287020 100644 index 842bc3d16f13d1a3daf663b2bdfb0135832c95da..8d70915300f563affb7d8ab631699c484fb9c8f8 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1517,6 +1517,8 @@ public class PurpurWorldConfig { @@ -1505,6 +1505,8 @@ public class PurpurWorldConfig {
public boolean witherRidableInWater = false; public boolean witherRidableInWater = false;
public double witherMaxY = 256D; public double witherMaxY = 256D;
public double witherMaxHealth = 300.0D; public double witherMaxHealth = 300.0D;
@@ -47,7 +35,7 @@ index 02a249afc39239327c1bd99f40d73d6cc616644a..a956362ed2b724a50c8f7023799bd331
private void witherSettings() { private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1531,6 +1533,8 @@ public class PurpurWorldConfig { @@ -1519,6 +1521,8 @@ public class PurpurWorldConfig {
set("mobs.wither.attributes.max_health", oldValue); set("mobs.wither.attributes.max_health", oldValue);
} }
witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth); witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth);

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Allow toggling special MobSpawners per world
In vanilla, these are all hardcoded on for world type 0 (overworld) and hardcoded off for every other world type. Default config behaviour matches this. In vanilla, these are all hardcoded on for world type 0 (overworld) and hardcoded off for every other world type. Default config behaviour matches this.
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 34be3abec773b4b2bcd9b3faca33d2c72ef4d895..dc968864cef387d362b116a9e733859b7460f967 100644 index 0ef7b405ad9174045128fb5445f0bc0e22a3f2e2..d10ebe9b094a0e8b62e6607a4fefaf0bcd412413 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -83,6 +83,7 @@ import net.minecraft.world.entity.MobCategory; @@ -83,6 +83,7 @@ import net.minecraft.world.entity.MobCategory;
@@ -107,7 +107,7 @@ index 1f9129180badb6df786b080edf926d04ef95125c..917a671894e16e024db941cea1845e39
this.world = new CraftWorld((ServerLevel) this, gen, env); this.world = new CraftWorld((ServerLevel) this, gen, env);
this.ticksPerAnimalSpawns = this.getCraftServer().getTicksPerAnimalSpawns(); // CraftBukkit this.ticksPerAnimalSpawns = this.getCraftServer().getTicksPerAnimalSpawns(); // CraftBukkit
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a956362ed2b724a50c8f7023799bd3314b287020..bba3f5f0d2802d706b8b8ac17ae194157870bbf6 100644 index 8d70915300f563affb7d8ab631699c484fb9c8f8..81b278aa74073b2e01a33635c33cb723de8cc3ad 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -8,6 +8,8 @@ import net.minecraft.world.level.Explosion; @@ -8,6 +8,8 @@ import net.minecraft.world.level.Explosion;
@@ -153,8 +153,8 @@ index a956362ed2b724a50c8f7023799bd3314b287020..bba3f5f0d2802d706b8b8ac17ae19415
private double getDouble(String path, double def) { private double getDouble(String path, double def) {
PurpurConfig.config.addDefault("world-settings.default." + path, def); PurpurConfig.config.addDefault("world-settings.default." + path, def);
return PurpurConfig.config.getDouble("world-settings." + worldName + "." + path, PurpurConfig.config.getDouble("world-settings.default." + path)); return PurpurConfig.config.getDouble("world-settings." + worldName + "." + path, PurpurConfig.config.getDouble("world-settings.default." + path));
@@ -99,6 +110,21 @@ public class PurpurWorldConfig { @@ -201,6 +212,21 @@ public class PurpurWorldConfig {
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt); }
} }
+ public boolean catSpawning; + public boolean catSpawning;
@@ -172,6 +172,6 @@ index a956362ed2b724a50c8f7023799bd3314b287020..bba3f5f0d2802d706b8b8ac17ae19415
+ villageSiegeSpawning = getBoolean("gameplay-mechanics.mob-spawning.village-sieges", predicate); + villageSiegeSpawning = getBoolean("gameplay-mechanics.mob-spawning.village-sieges", predicate);
+ } + }
+ +
public int elytraDamagePerSecond = 1; public boolean idleTimeoutKick = true;
public double elytraDamageMultiplyBySpeed = 0; public boolean idleTimeoutTickNearbyEntities = true;
public boolean elytraIgnoreUnbreaking = false; public boolean idleTimeoutCountAsSleeping = false;

View File

@@ -52,10 +52,10 @@ index 45e369aa69a6b78def42b619b1b1b8259d4b30ea..de7443e7a27e51eabaed2d6d348ec8ea
if (!this.raidMap.containsKey(raid.getId())) { if (!this.raidMap.containsKey(raid.getId())) {
this.raidMap.put(raid.getId(), raid); this.raidMap.put(raid.getId(), raid);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index bba3f5f0d2802d706b8b8ac17ae194157870bbf6..3f9602e6820e8a8e17e8e7e292a5b95b20eea697 100644 index 81b278aa74073b2e01a33635c33cb723de8cc3ad..e708ac646839854d20f0a88a1c1b81336b0cb850 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -98,6 +98,7 @@ public class PurpurWorldConfig { @@ -282,6 +282,7 @@ public class PurpurWorldConfig {
public double tridentLoyaltyVoidReturnHeight = 0.0D; public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D; public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D; public double voidDamageDealt = 4.0D;
@@ -63,11 +63,11 @@ index bba3f5f0d2802d706b8b8ac17ae194157870bbf6..3f9602e6820e8a8e17e8e7e292a5b95b
private void miscGameplayMechanicsSettings() { private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand); boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
@@ -108,6 +109,7 @@ public class PurpurWorldConfig { @@ -292,6 +293,7 @@ public class PurpurWorldConfig {
tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight); tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight);
voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight); voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight);
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt); voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
+ raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds); + raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds);
} }
public boolean catSpawning; public Set<Block> noRandomTickBlocks = new HashSet<>();

View File

@@ -271,11 +271,11 @@ index 4a11f7417b438ee5711a720aca3321c88e970b2a..46b74271ce5f614f07754db14d2a552c
+ // Purpur end + // Purpur end
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 3f9602e6820e8a8e17e8e7e292a5b95b20eea697..2d46a4f3a806764155f2e819e103491abd9a3fdf 100644 index e708ac646839854d20f0a88a1c1b81336b0cb850..6b44a1dce76913d2351c4491babef0c9ce59e5bf 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -89,6 +89,35 @@ public class PurpurWorldConfig { @@ -250,6 +250,35 @@ public class PurpurWorldConfig {
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight); totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory);
} }
+ public int dragonFireballDespawnRate = -1; + public int dragonFireballDespawnRate = -1;
@@ -307,6 +307,6 @@ index 3f9602e6820e8a8e17e8e7e292a5b95b20eea697..2d46a4f3a806764155f2e819e103491a
+ witherSkullDespawnRate = getInt("gameplay-mechanics.projectile-despawn-rates.wither_skull", witherSkullDespawnRate); + witherSkullDespawnRate = getInt("gameplay-mechanics.projectile-despawn-rates.wither_skull", witherSkullDespawnRate);
+ } + }
+ +
public boolean useBetterMending = false; public boolean silkTouchEnabled = false;
public boolean boatEjectPlayersOnLand = false; public String silkTouchSpawnerName = "Spawner";
public boolean disableDropsOnCrammingDeath = false; public List<String> silkTouchSpawnerLore = new ArrayList<>();

View File

@@ -71,10 +71,10 @@ index 77002a4c3b03e0397515fd922f14e56b8e81074a..b80f7c71cbf7b10bda6fac3cfe673ac7
this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR)); this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR));
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 2d46a4f3a806764155f2e819e103491abd9a3fdf..a55906d57840a471078a411f706b0f353462b03f 100644 index 6b44a1dce76913d2351c4491babef0c9ce59e5bf..eb9c4b2b3c5fdcb85e4e66afc745d62bf9cc2726 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1645,6 +1645,7 @@ public class PurpurWorldConfig { @@ -1633,6 +1633,7 @@ public class PurpurWorldConfig {
public boolean zombieJockeyOnlyBaby = true; public boolean zombieJockeyOnlyBaby = true;
public double zombieJockeyChance = 0.05D; public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true; public boolean zombieJockeyTryExistingChickens = true;
@@ -82,7 +82,7 @@ index 2d46a4f3a806764155f2e819e103491abd9a3fdf..a55906d57840a471078a411f706b0f35
private void zombieSettings() { private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1658,6 +1659,7 @@ public class PurpurWorldConfig { @@ -1646,6 +1647,7 @@ public class PurpurWorldConfig {
zombieJockeyOnlyBaby = getBoolean("mobs.zombie.jockey.only-babies", zombieJockeyOnlyBaby); zombieJockeyOnlyBaby = getBoolean("mobs.zombie.jockey.only-babies", zombieJockeyOnlyBaby);
zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance); zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance);
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens); zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);

View File

@@ -189,10 +189,10 @@ index c3a07ccccd5cc38552363c82398f432c8d624288..132c9e6a643995d9fde535a78d9edc9e
+ // Purpur end + // Purpur end
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a55906d57840a471078a411f706b0f353462b03f..1615b807510cf5150526362195cbadaba3289afa 100644 index eb9c4b2b3c5fdcb85e4e66afc745d62bf9cc2726..ab5d9375d20c38e0eb73a030524d59f78b58e3e5 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -124,6 +124,7 @@ public class PurpurWorldConfig { @@ -308,6 +308,7 @@ public class PurpurWorldConfig {
public boolean entitiesPickUpLootBypassMobGriefing = false; public boolean entitiesPickUpLootBypassMobGriefing = false;
public boolean entitiesCanUsePortals = true; public boolean entitiesCanUsePortals = true;
public boolean milkCuresBadOmen = true; public boolean milkCuresBadOmen = true;
@@ -200,7 +200,7 @@ index a55906d57840a471078a411f706b0f353462b03f..1615b807510cf5150526362195cbadab
public double tridentLoyaltyVoidReturnHeight = 0.0D; public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D; public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D; public double voidDamageDealt = 4.0D;
@@ -135,6 +136,7 @@ public class PurpurWorldConfig { @@ -319,6 +320,7 @@ public class PurpurWorldConfig {
entitiesPickUpLootBypassMobGriefing = getBoolean("gameplay-mechanics.entities-pick-up-loot-bypass-mob-griefing", entitiesPickUpLootBypassMobGriefing); entitiesPickUpLootBypassMobGriefing = getBoolean("gameplay-mechanics.entities-pick-up-loot-bypass-mob-griefing", entitiesPickUpLootBypassMobGriefing);
entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals); entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals);
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen); milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);

View File

@@ -38,10 +38,10 @@ index 2affff346a7fe81480e86cb61996039df0569853..be9b800d81b4d5faed7a3fb95d605bfd
float f1 = Mth.cos(f) * 0.2F; float f1 = Mth.cos(f) * 0.2F;
float f2 = -0.1F + this.squid.getRandom().nextFloat() * 0.2F; float f2 = -0.1F + this.squid.getRandom().nextFloat() * 0.2F;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 1615b807510cf5150526362195cbadaba3289afa..03347dbf377458220d8ccc24b0993919562d352a 100644 index ab5d9375d20c38e0eb73a030524d59f78b58e3e5..78391c281e649fbf4b8c13544536755edc09dd68 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1361,6 +1361,7 @@ public class PurpurWorldConfig { @@ -1354,6 +1354,7 @@ public class PurpurWorldConfig {
public double squidMaxHealth = 10.0D; public double squidMaxHealth = 10.0D;
public boolean squidImmuneToEAR = true; public boolean squidImmuneToEAR = true;
public double squidOffsetWaterCheck = 0.0D; public double squidOffsetWaterCheck = 0.0D;
@@ -49,7 +49,7 @@ index 1615b807510cf5150526362195cbadaba3289afa..03347dbf377458220d8ccc24b0993919
private void squidSettings() { private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
if (PurpurConfig.version < 10) { if (PurpurConfig.version < 10) {
@@ -1371,6 +1372,7 @@ public class PurpurWorldConfig { @@ -1364,6 +1365,7 @@ public class PurpurWorldConfig {
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth); squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);
squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR); squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);
squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck); squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck);

View File

@@ -18,11 +18,11 @@ index afe33f20578177cb517e1c116e6319481642e66c..93c58f7ef7f00c7f843444ad6d00bd85
if (!world.isClientSide) { if (!world.isClientSide) {
ArrowItem itemarrow = (ArrowItem) (itemstack1.getItem() instanceof ArrowItem ? itemstack1.getItem() : Items.ARROW); ArrowItem itemarrow = (ArrowItem) (itemstack1.getItem() instanceof ArrowItem ? itemstack1.getItem() : Items.ARROW);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 03347dbf377458220d8ccc24b0993919562d352a..7c2a081585b37346fa9ace6290352e5b58f1261c 100644 index 78391c281e649fbf4b8c13544536755edc09dd68..7f4860ee1b0b95096e71b51059a29b9fbe541e2c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -299,6 +299,15 @@ public class PurpurWorldConfig { @@ -107,6 +107,15 @@ public class PurpurWorldConfig {
idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList); entityLifeSpan = getInt("gameplay-mechanics.entity-lifespan", entityLifeSpan);
} }
+ public boolean infinityWorksWithNormalArrows = true; + public boolean infinityWorksWithNormalArrows = true;
@@ -34,6 +34,6 @@ index 03347dbf377458220d8ccc24b0993919562d352a..7c2a081585b37346fa9ace6290352e5b
+ infinityWorksWithTippedArrows = getBoolean("gameplay-mechanics.infinity-bow.tipped-arrows", infinityWorksWithTippedArrows); + infinityWorksWithTippedArrows = getBoolean("gameplay-mechanics.infinity-bow.tipped-arrows", infinityWorksWithTippedArrows);
+ } + }
+ +
public int playerSpawnInvulnerableTicks = 60; public List<Item> itemImmuneToCactus = new ArrayList<>();
public boolean playerInvulnerableWhileAcceptingResourcePack = false; public List<Item> itemImmuneToExplosion = new ArrayList<>();
private void playerInvulnerabilities() { public List<Item> itemImmuneToFire = new ArrayList<>();

View File

@@ -61,10 +61,10 @@ index 2ad5ff9a1d7de54e75436e99da8a73db9dc91bde..60605a8a021cc56f9c3ba22bc43c43c3
} else if (blockState.is(Blocks.HONEY_BLOCK)) { } else if (blockState.is(Blocks.HONEY_BLOCK)) {
return BlockPathTypes.STICKY_HONEY; return BlockPathTypes.STICKY_HONEY;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 7c2a081585b37346fa9ace6290352e5b58f1261c..192896f331967b057c56bd3deeca1c4f740f7dff 100644 index 7f4860ee1b0b95096e71b51059a29b9fbe541e2c..e3156b6ed40620d146fe28d7e60650fa7ab67bb0 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1469,6 +1469,11 @@ public class PurpurWorldConfig { @@ -430,6 +430,11 @@ public class PurpurWorldConfig {
spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone); spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone);
} }
@@ -73,6 +73,6 @@ index 7c2a081585b37346fa9ace6290352e5b58f1261c..192896f331967b057c56bd3deeca1c4f
+ stonecutterDamage = (float) getDouble("blocks.stonecutter.damage", stonecutterDamage); + stonecutterDamage = (float) getDouble("blocks.stonecutter.damage", stonecutterDamage);
+ } + }
+ +
public boolean turtleRidable = false; public boolean babiesAreRidable = true;
public boolean turtleRidableInWater = false; public boolean untamedTamablesAreRidable = true;
public double turtleMaxHealth = 30.0D; public boolean useNightVisionWhenRiding = false;

View File

@@ -18,7 +18,7 @@ index 689ad22925b2561f7c8db961743eb1f821dbb25f..fa3c960992cc240161817e54659d83fe
public ClientboundSetTimePacket(long time, long timeOfDay, boolean doDaylightCycle) { public ClientboundSetTimePacket(long time, long timeOfDay, boolean doDaylightCycle) {
this.gameTime = time % 192000; // Paper - fix guardian beam this.gameTime = time % 192000; // Paper - fix guardian beam
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index dc968864cef387d362b116a9e733859b7460f967..52f5429b8ba95968da28226d75ba47618e1b99f4 100644 index d10ebe9b094a0e8b62e6607a4fefaf0bcd412413..97697f2ee49ef1f3b0bfb291b1df99f5681992af 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -55,6 +55,7 @@ import net.minecraft.network.protocol.game.ClientboundExplodePacket; @@ -55,6 +55,7 @@ import net.minecraft.network.protocol.game.ClientboundExplodePacket;
@@ -80,11 +80,11 @@ index dc968864cef387d362b116a9e733859b7460f967..52f5429b8ba95968da28226d75ba4761
public void tickCustomSpawners(boolean spawnMonsters, boolean spawnAnimals) { public void tickCustomSpawners(boolean spawnMonsters, boolean spawnAnimals) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 192896f331967b057c56bd3deeca1c4f740f7dff..d1472eb116e82bbb7c0c6aec814371a9935d40b3 100644 index e3156b6ed40620d146fe28d7e60650fa7ab67bb0..0dd7436691d5d009c360bbdb1645cd4f30bdeecf 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -171,6 +171,13 @@ public class PurpurWorldConfig { @@ -89,6 +89,13 @@ public class PurpurWorldConfig {
elytraDamagePerTridentBoost = getInt("gameplay-mechanics.elytra.damage-per-boost.trident", elytraDamagePerTridentBoost); armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
} }
+ public int daytimeTicks = 12000; + public int daytimeTicks = 12000;
@@ -94,6 +94,6 @@ index 192896f331967b057c56bd3deeca1c4f740f7dff..d1472eb116e82bbb7c0c6aec814371a9
+ nighttimeTicks = getInt("gameplay-mechanics.daylight-cycle-ticks.nighttime", nighttimeTicks); + nighttimeTicks = getInt("gameplay-mechanics.daylight-cycle-ticks.nighttime", nighttimeTicks);
+ } + }
+ +
public int entityLifeSpan = 0; public int elytraDamagePerSecond = 1;
private void entitySettings() { public double elytraDamageMultiplyBySpeed = 0;
entityLifeSpan = getInt("gameplay-mechanics.entity-lifespan", entityLifeSpan); public boolean elytraIgnoreUnbreaking = false;

View File

@@ -48,10 +48,10 @@ index c559ec5041474e585e4d95a664c84e1fa895cf16..806277d029a1c1a2d334a05d94163415
private static boolean canBurn(@Nullable Recipe<?> recipe, NonNullList<ItemStack> slots, int count) { private static boolean canBurn(@Nullable Recipe<?> recipe, NonNullList<ItemStack> slots, int count) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d1472eb116e82bbb7c0c6aec814371a9935d40b3..994928c1bc24f836f957563780cbb2c1b415ba44 100644 index 0dd7436691d5d009c360bbdb1645cd4f30bdeecf..42a9dbddefef715c5c21003a76fdfc33621d1f89 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -410,6 +410,11 @@ public class PurpurWorldConfig { @@ -398,6 +398,11 @@ public class PurpurWorldConfig {
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow); farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
} }

View File

@@ -24,10 +24,10 @@ index 97e5cb4fd9f97c0bfa9d66c0ceac84e134f1053f..e92f6ffcda47aad76ad647bc2ad3d186
return; return;
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 994928c1bc24f836f957563780cbb2c1b415ba44..0fad44563547eb3643019a42d1d38a371df0613d 100644 index 42a9dbddefef715c5c21003a76fdfc33621d1f89..54bab3e1bcffadf9674d50169c44c9ffa04b8685 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -406,8 +406,10 @@ public class PurpurWorldConfig { @@ -394,8 +394,10 @@ public class PurpurWorldConfig {
} }
public boolean farmlandGetsMoistFromBelow = false; public boolean farmlandGetsMoistFromBelow = false;

View File

@@ -95,10 +95,10 @@ index 917a671894e16e024db941cea1845e39eaf93ef8..b17f250eec710c91a1d5995136d7dec2
this.world = new CraftWorld((ServerLevel) this, gen, env); this.world = new CraftWorld((ServerLevel) this, gen, env);
this.ticksPerAnimalSpawns = this.getCraftServer().getTicksPerAnimalSpawns(); // CraftBukkit this.ticksPerAnimalSpawns = this.getCraftServer().getTicksPerAnimalSpawns(); // CraftBukkit
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 0fad44563547eb3643019a42d1d38a371df0613d..788884481c4df2e25843245b484682371e5267fe 100644 index 54bab3e1bcffadf9674d50169c44c9ffa04b8685..a312da168c16d8fd2f28b43d7edb2a8002f8ac64 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -129,6 +129,7 @@ public class PurpurWorldConfig { @@ -329,6 +329,7 @@ public class PurpurWorldConfig {
public double voidDamageHeight = -64.0D; public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D; public double voidDamageDealt = 4.0D;
public int raidCooldownSeconds = 0; public int raidCooldownSeconds = 0;
@@ -106,14 +106,14 @@ index 0fad44563547eb3643019a42d1d38a371df0613d..788884481c4df2e25843245b48468237
private void miscGameplayMechanicsSettings() { private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand); boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
@@ -141,6 +142,7 @@ public class PurpurWorldConfig { @@ -341,6 +342,7 @@ public class PurpurWorldConfig {
voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight); voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight);
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt); voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds); raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds);
+ animalBreedingCooldownSeconds = getInt("gameplay-mechanics.animal-breeding-cooldown-seconds", animalBreedingCooldownSeconds); + animalBreedingCooldownSeconds = getInt("gameplay-mechanics.animal-breeding-cooldown-seconds", animalBreedingCooldownSeconds);
} }
public boolean catSpawning; public Set<Block> noRandomTickBlocks = new HashSet<>();
diff --git a/src/main/java/net/pl3x/purpur/command/PurpurCommand.java b/src/main/java/net/pl3x/purpur/command/PurpurCommand.java diff --git a/src/main/java/net/pl3x/purpur/command/PurpurCommand.java b/src/main/java/net/pl3x/purpur/command/PurpurCommand.java
index 6e7f56fe2b78d7a09d5d130f2c88338fb8ae628e..cd63e9e556fa4931ab33c63931cf916757c51a62 100644 index 6e7f56fe2b78d7a09d5d130f2c88338fb8ae628e..cd63e9e556fa4931ab33c63931cf916757c51a62 100644
--- a/src/main/java/net/pl3x/purpur/command/PurpurCommand.java --- a/src/main/java/net/pl3x/purpur/command/PurpurCommand.java

View File

@@ -474,10 +474,10 @@ index 5d289be8f0ef003abbce992e7662f6ddce4f4a99..5e3d7321a73144c3e4c43c18c5b748b2
@Override @Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24cdcad342 100644 index a312da168c16d8fd2f28b43d7edb2a8002f8ac64..fd773f696d5f3940a16debd545bf9fee0ea9288d 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -464,9 +464,11 @@ public class PurpurWorldConfig { @@ -462,9 +462,11 @@ public class PurpurWorldConfig {
public boolean axolotlRidable = false; public boolean axolotlRidable = false;
public double axolotlMaxHealth = 14.0D; public double axolotlMaxHealth = 14.0D;
@@ -489,7 +489,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
} }
public boolean batRidable = false; public boolean batRidable = false;
@@ -496,6 +498,7 @@ public class PurpurWorldConfig { @@ -494,6 +496,7 @@ public class PurpurWorldConfig {
public boolean beeRidableInWater = false; public boolean beeRidableInWater = false;
public double beeMaxY = 256D; public double beeMaxY = 256D;
public double beeMaxHealth = 10.0D; public double beeMaxHealth = 10.0D;
@@ -497,7 +497,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
private void beeSettings() { private void beeSettings() {
beeRidable = getBoolean("mobs.bee.ridable", beeRidable); beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater); beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
@@ -506,6 +509,7 @@ public class PurpurWorldConfig { @@ -504,6 +507,7 @@ public class PurpurWorldConfig {
set("mobs.bee.attributes.max_health", oldValue); set("mobs.bee.attributes.max_health", oldValue);
} }
beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth); beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth);
@@ -505,7 +505,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
} }
public boolean blazeRidable = false; public boolean blazeRidable = false;
@@ -530,6 +534,7 @@ public class PurpurWorldConfig { @@ -528,6 +532,7 @@ public class PurpurWorldConfig {
public int catSpawnDelay = 1200; public int catSpawnDelay = 1200;
public int catSpawnSwampHutScanRange = 16; public int catSpawnSwampHutScanRange = 16;
public int catSpawnVillageScanRange = 48; public int catSpawnVillageScanRange = 48;
@@ -513,7 +513,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
private void catSettings() { private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable); catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater); catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -542,6 +547,7 @@ public class PurpurWorldConfig { @@ -540,6 +545,7 @@ public class PurpurWorldConfig {
catSpawnDelay = getInt("mobs.cat.spawn-delay", catSpawnDelay); catSpawnDelay = getInt("mobs.cat.spawn-delay", catSpawnDelay);
catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange); catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange);
catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange); catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange);
@@ -521,7 +521,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
} }
public boolean caveSpiderRidable = false; public boolean caveSpiderRidable = false;
@@ -562,6 +568,7 @@ public class PurpurWorldConfig { @@ -560,6 +566,7 @@ public class PurpurWorldConfig {
public boolean chickenRidableInWater = false; public boolean chickenRidableInWater = false;
public double chickenMaxHealth = 4.0D; public double chickenMaxHealth = 4.0D;
public boolean chickenRetaliate = false; public boolean chickenRetaliate = false;
@@ -529,7 +529,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
private void chickenSettings() { private void chickenSettings() {
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable); chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater); chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
@@ -572,6 +579,7 @@ public class PurpurWorldConfig { @@ -570,6 +577,7 @@ public class PurpurWorldConfig {
} }
chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth); chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth);
chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate); chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate);
@@ -537,7 +537,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
} }
public boolean codRidable = false; public boolean codRidable = false;
@@ -590,6 +598,7 @@ public class PurpurWorldConfig { @@ -588,6 +596,7 @@ public class PurpurWorldConfig {
public boolean cowRidableInWater = false; public boolean cowRidableInWater = false;
public double cowMaxHealth = 10.0D; public double cowMaxHealth = 10.0D;
public int cowFeedMushrooms = 0; public int cowFeedMushrooms = 0;
@@ -545,7 +545,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
private void cowSettings() { private void cowSettings() {
cowRidable = getBoolean("mobs.cow.ridable", cowRidable); cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater); cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
@@ -600,6 +609,7 @@ public class PurpurWorldConfig { @@ -598,6 +607,7 @@ public class PurpurWorldConfig {
} }
cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth); cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth);
cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms); cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms);
@@ -553,7 +553,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
} }
public boolean creeperRidable = false; public boolean creeperRidable = false;
@@ -647,6 +657,7 @@ public class PurpurWorldConfig { @@ -645,6 +655,7 @@ public class PurpurWorldConfig {
public double donkeyJumpStrengthMax = 0.5D; public double donkeyJumpStrengthMax = 0.5D;
public double donkeyMovementSpeedMin = 0.175D; public double donkeyMovementSpeedMin = 0.175D;
public double donkeyMovementSpeedMax = 0.175D; public double donkeyMovementSpeedMax = 0.175D;
@@ -561,7 +561,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
private void donkeySettings() { private void donkeySettings() {
donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater); donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater);
if (PurpurConfig.version < 10) { if (PurpurConfig.version < 10) {
@@ -662,6 +673,7 @@ public class PurpurWorldConfig { @@ -660,6 +671,7 @@ public class PurpurWorldConfig {
donkeyJumpStrengthMax = getDouble("mobs.donkey.attributes.jump_strength.max", donkeyJumpStrengthMax); donkeyJumpStrengthMax = getDouble("mobs.donkey.attributes.jump_strength.max", donkeyJumpStrengthMax);
donkeyMovementSpeedMin = getDouble("mobs.donkey.attributes.movement_speed.min", donkeyMovementSpeedMin); donkeyMovementSpeedMin = getDouble("mobs.donkey.attributes.movement_speed.min", donkeyMovementSpeedMin);
donkeyMovementSpeedMax = getDouble("mobs.donkey.attributes.movement_speed.max", donkeyMovementSpeedMax); donkeyMovementSpeedMax = getDouble("mobs.donkey.attributes.movement_speed.max", donkeyMovementSpeedMax);
@@ -569,7 +569,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
} }
public boolean drownedRidable = false; public boolean drownedRidable = false;
@@ -768,6 +780,7 @@ public class PurpurWorldConfig { @@ -766,6 +778,7 @@ public class PurpurWorldConfig {
public boolean foxRidableInWater = false; public boolean foxRidableInWater = false;
public double foxMaxHealth = 10.0D; public double foxMaxHealth = 10.0D;
public boolean foxTypeChangesWithTulips = false; public boolean foxTypeChangesWithTulips = false;
@@ -577,7 +577,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
private void foxSettings() { private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -778,6 +791,7 @@ public class PurpurWorldConfig { @@ -776,6 +789,7 @@ public class PurpurWorldConfig {
} }
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth); foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips); foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
@@ -585,7 +585,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
} }
public boolean ghastRidable = false; public boolean ghastRidable = false;
@@ -836,10 +850,12 @@ public class PurpurWorldConfig { @@ -834,10 +848,12 @@ public class PurpurWorldConfig {
public boolean goatRidable = false; public boolean goatRidable = false;
public boolean goatRidableInWater = false; public boolean goatRidableInWater = false;
public double goatMaxHealth = 10.0D; public double goatMaxHealth = 10.0D;
@@ -598,7 +598,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
} }
public boolean guardianRidable = false; public boolean guardianRidable = false;
@@ -857,6 +873,7 @@ public class PurpurWorldConfig { @@ -855,6 +871,7 @@ public class PurpurWorldConfig {
public boolean hoglinRidable = false; public boolean hoglinRidable = false;
public boolean hoglinRidableInWater = false; public boolean hoglinRidableInWater = false;
public double hoglinMaxHealth = 40.0D; public double hoglinMaxHealth = 40.0D;
@@ -606,7 +606,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
private void hoglinSettings() { private void hoglinSettings() {
hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable); hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable);
hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater); hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater);
@@ -866,6 +883,7 @@ public class PurpurWorldConfig { @@ -864,6 +881,7 @@ public class PurpurWorldConfig {
set("mobs.hoglin.attributes.max_health", oldValue); set("mobs.hoglin.attributes.max_health", oldValue);
} }
hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth); hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth);
@@ -614,7 +614,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
} }
public boolean horseRidableInWater = false; public boolean horseRidableInWater = false;
@@ -875,6 +893,7 @@ public class PurpurWorldConfig { @@ -873,6 +891,7 @@ public class PurpurWorldConfig {
public double horseJumpStrengthMax = 1.0D; public double horseJumpStrengthMax = 1.0D;
public double horseMovementSpeedMin = 0.1125D; public double horseMovementSpeedMin = 0.1125D;
public double horseMovementSpeedMax = 0.3375D; public double horseMovementSpeedMax = 0.3375D;
@@ -622,7 +622,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
private void horseSettings() { private void horseSettings() {
horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater);
if (PurpurConfig.version < 10) { if (PurpurConfig.version < 10) {
@@ -890,6 +909,7 @@ public class PurpurWorldConfig { @@ -888,6 +907,7 @@ public class PurpurWorldConfig {
horseJumpStrengthMax = getDouble("mobs.horse.attributes.jump_strength.max", horseJumpStrengthMax); horseJumpStrengthMax = getDouble("mobs.horse.attributes.jump_strength.max", horseJumpStrengthMax);
horseMovementSpeedMin = getDouble("mobs.horse.attributes.movement_speed.min", horseMovementSpeedMin); horseMovementSpeedMin = getDouble("mobs.horse.attributes.movement_speed.min", horseMovementSpeedMin);
horseMovementSpeedMax = getDouble("mobs.horse.attributes.movement_speed.max", horseMovementSpeedMax); horseMovementSpeedMax = getDouble("mobs.horse.attributes.movement_speed.max", horseMovementSpeedMax);
@@ -630,7 +630,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
} }
public boolean huskRidable = false; public boolean huskRidable = false;
@@ -960,6 +980,7 @@ public class PurpurWorldConfig { @@ -958,6 +978,7 @@ public class PurpurWorldConfig {
public double llamaJumpStrengthMax = 0.5D; public double llamaJumpStrengthMax = 0.5D;
public double llamaMovementSpeedMin = 0.175D; public double llamaMovementSpeedMin = 0.175D;
public double llamaMovementSpeedMax = 0.175D; public double llamaMovementSpeedMax = 0.175D;
@@ -638,7 +638,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
private void llamaSettings() { private void llamaSettings() {
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
@@ -976,6 +997,7 @@ public class PurpurWorldConfig { @@ -974,6 +995,7 @@ public class PurpurWorldConfig {
llamaJumpStrengthMax = getDouble("mobs.llama.attributes.jump_strength.max", llamaJumpStrengthMax); llamaJumpStrengthMax = getDouble("mobs.llama.attributes.jump_strength.max", llamaJumpStrengthMax);
llamaMovementSpeedMin = getDouble("mobs.llama.attributes.movement_speed.min", llamaMovementSpeedMin); llamaMovementSpeedMin = getDouble("mobs.llama.attributes.movement_speed.min", llamaMovementSpeedMin);
llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax); llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax);
@@ -646,7 +646,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
} }
public boolean magmaCubeRidable = false; public boolean magmaCubeRidable = false;
@@ -995,6 +1017,7 @@ public class PurpurWorldConfig { @@ -993,6 +1015,7 @@ public class PurpurWorldConfig {
public boolean mooshroomRidable = false; public boolean mooshroomRidable = false;
public boolean mooshroomRidableInWater = false; public boolean mooshroomRidableInWater = false;
public double mooshroomMaxHealth = 10.0D; public double mooshroomMaxHealth = 10.0D;
@@ -654,7 +654,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
private void mooshroomSettings() { private void mooshroomSettings() {
mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable); mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable);
mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater); mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater);
@@ -1004,6 +1027,7 @@ public class PurpurWorldConfig { @@ -1002,6 +1025,7 @@ public class PurpurWorldConfig {
set("mobs.mooshroom.attributes.max_health", oldValue); set("mobs.mooshroom.attributes.max_health", oldValue);
} }
mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth); mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth);
@@ -662,7 +662,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
} }
public boolean muleRidableInWater = false; public boolean muleRidableInWater = false;
@@ -1013,6 +1037,7 @@ public class PurpurWorldConfig { @@ -1011,6 +1035,7 @@ public class PurpurWorldConfig {
public double muleJumpStrengthMax = 0.5D; public double muleJumpStrengthMax = 0.5D;
public double muleMovementSpeedMin = 0.175D; public double muleMovementSpeedMin = 0.175D;
public double muleMovementSpeedMax = 0.175D; public double muleMovementSpeedMax = 0.175D;
@@ -670,7 +670,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
private void muleSettings() { private void muleSettings() {
muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater); muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater);
if (PurpurConfig.version < 10) { if (PurpurConfig.version < 10) {
@@ -1028,11 +1053,13 @@ public class PurpurWorldConfig { @@ -1026,11 +1051,13 @@ public class PurpurWorldConfig {
muleJumpStrengthMax = getDouble("mobs.mule.attributes.jump_strength.max", muleJumpStrengthMax); muleJumpStrengthMax = getDouble("mobs.mule.attributes.jump_strength.max", muleJumpStrengthMax);
muleMovementSpeedMin = getDouble("mobs.mule.attributes.movement_speed.min", muleMovementSpeedMin); muleMovementSpeedMin = getDouble("mobs.mule.attributes.movement_speed.min", muleMovementSpeedMin);
muleMovementSpeedMax = getDouble("mobs.mule.attributes.movement_speed.max", muleMovementSpeedMax); muleMovementSpeedMax = getDouble("mobs.mule.attributes.movement_speed.max", muleMovementSpeedMax);
@@ -684,7 +684,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
private void ocelotSettings() { private void ocelotSettings() {
ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable); ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable);
ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater); ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater);
@@ -1042,11 +1069,13 @@ public class PurpurWorldConfig { @@ -1040,11 +1067,13 @@ public class PurpurWorldConfig {
set("mobs.ocelot.attributes.max_health", oldValue); set("mobs.ocelot.attributes.max_health", oldValue);
} }
ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth); ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth);
@@ -698,7 +698,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
private void pandaSettings() { private void pandaSettings() {
pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable); pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable);
pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater); pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater);
@@ -1056,6 +1085,7 @@ public class PurpurWorldConfig { @@ -1054,6 +1083,7 @@ public class PurpurWorldConfig {
set("mobs.panda.attributes.max_health", oldValue); set("mobs.panda.attributes.max_health", oldValue);
} }
pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth); pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth);
@@ -706,7 +706,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
} }
public boolean parrotRidable = false; public boolean parrotRidable = false;
@@ -1136,6 +1166,7 @@ public class PurpurWorldConfig { @@ -1134,6 +1164,7 @@ public class PurpurWorldConfig {
public boolean pigRidableInWater = false; public boolean pigRidableInWater = false;
public double pigMaxHealth = 10.0D; public double pigMaxHealth = 10.0D;
public boolean pigGiveSaddleBack = false; public boolean pigGiveSaddleBack = false;
@@ -714,7 +714,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
private void pigSettings() { private void pigSettings() {
pigRidable = getBoolean("mobs.pig.ridable", pigRidable); pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater); pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
@@ -1146,6 +1177,7 @@ public class PurpurWorldConfig { @@ -1144,6 +1175,7 @@ public class PurpurWorldConfig {
} }
pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth); pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth);
pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack); pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack);
@@ -722,7 +722,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
} }
public boolean piglinRidable = false; public boolean piglinRidable = false;
@@ -1195,6 +1227,7 @@ public class PurpurWorldConfig { @@ -1193,6 +1225,7 @@ public class PurpurWorldConfig {
public double polarBearMaxHealth = 30.0D; public double polarBearMaxHealth = 30.0D;
public String polarBearBreedableItemString = ""; public String polarBearBreedableItemString = "";
public Item polarBearBreedableItem = null; public Item polarBearBreedableItem = null;
@@ -730,7 +730,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
private void polarBearSettings() { private void polarBearSettings() {
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable); polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater); polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
@@ -1207,6 +1240,7 @@ public class PurpurWorldConfig { @@ -1205,6 +1238,7 @@ public class PurpurWorldConfig {
polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString); polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString);
Item item = Registry.ITEM.get(new ResourceLocation(polarBearBreedableItemString)); Item item = Registry.ITEM.get(new ResourceLocation(polarBearBreedableItemString));
if (item != Items.AIR) polarBearBreedableItem = item; if (item != Items.AIR) polarBearBreedableItem = item;
@@ -738,7 +738,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
} }
public boolean pufferfishRidable = false; public boolean pufferfishRidable = false;
@@ -1226,6 +1260,7 @@ public class PurpurWorldConfig { @@ -1224,6 +1258,7 @@ public class PurpurWorldConfig {
public double rabbitMaxHealth = 3.0D; public double rabbitMaxHealth = 3.0D;
public double rabbitNaturalToast = 0.0D; public double rabbitNaturalToast = 0.0D;
public double rabbitNaturalKiller = 0.0D; public double rabbitNaturalKiller = 0.0D;
@@ -746,7 +746,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
private void rabbitSettings() { private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -1237,6 +1272,7 @@ public class PurpurWorldConfig { @@ -1235,6 +1270,7 @@ public class PurpurWorldConfig {
rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth); rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth);
rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast); rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast);
rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller); rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
@@ -754,7 +754,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
} }
public boolean ravagerRidable = false; public boolean ravagerRidable = false;
@@ -1268,6 +1304,7 @@ public class PurpurWorldConfig { @@ -1266,6 +1302,7 @@ public class PurpurWorldConfig {
public boolean sheepRidable = false; public boolean sheepRidable = false;
public boolean sheepRidableInWater = false; public boolean sheepRidableInWater = false;
public double sheepMaxHealth = 8.0D; public double sheepMaxHealth = 8.0D;
@@ -762,7 +762,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
private void sheepSettings() { private void sheepSettings() {
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
@@ -1277,6 +1314,7 @@ public class PurpurWorldConfig { @@ -1275,6 +1312,7 @@ public class PurpurWorldConfig {
set("mobs.sheep.attributes.max_health", oldValue); set("mobs.sheep.attributes.max_health", oldValue);
} }
sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth); sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth);
@@ -770,7 +770,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
} }
public boolean shulkerRidable = false; public boolean shulkerRidable = false;
@@ -1431,6 +1469,7 @@ public class PurpurWorldConfig { @@ -1429,6 +1467,7 @@ public class PurpurWorldConfig {
public boolean striderRidable = false; public boolean striderRidable = false;
public boolean striderRidableInWater = false; public boolean striderRidableInWater = false;
public double striderMaxHealth = 20.0D; public double striderMaxHealth = 20.0D;
@@ -778,7 +778,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
private void striderSettings() { private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1440,6 +1479,7 @@ public class PurpurWorldConfig { @@ -1438,6 +1477,7 @@ public class PurpurWorldConfig {
set("mobs.strider.attributes.max_health", oldValue); set("mobs.strider.attributes.max_health", oldValue);
} }
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth); striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
@@ -786,7 +786,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
} }
public boolean traderLlamaRidable = false; public boolean traderLlamaRidable = false;
@@ -1450,6 +1490,7 @@ public class PurpurWorldConfig { @@ -1448,6 +1488,7 @@ public class PurpurWorldConfig {
public double traderLlamaJumpStrengthMax = 0.5D; public double traderLlamaJumpStrengthMax = 0.5D;
public double traderLlamaMovementSpeedMin = 0.175D; public double traderLlamaMovementSpeedMin = 0.175D;
public double traderLlamaMovementSpeedMax = 0.175D; public double traderLlamaMovementSpeedMax = 0.175D;
@@ -794,7 +794,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
private void traderLlamaSettings() { private void traderLlamaSettings() {
traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable); traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable);
traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater); traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater);
@@ -1466,6 +1507,7 @@ public class PurpurWorldConfig { @@ -1464,6 +1505,7 @@ public class PurpurWorldConfig {
traderLlamaJumpStrengthMax = getDouble("mobs.trader_llama.attributes.jump_strength.max", traderLlamaJumpStrengthMax); traderLlamaJumpStrengthMax = getDouble("mobs.trader_llama.attributes.jump_strength.max", traderLlamaJumpStrengthMax);
traderLlamaMovementSpeedMin = getDouble("mobs.trader_llama.attributes.movement_speed.min", traderLlamaMovementSpeedMin); traderLlamaMovementSpeedMin = getDouble("mobs.trader_llama.attributes.movement_speed.min", traderLlamaMovementSpeedMin);
traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax); traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax);
@@ -802,7 +802,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
} }
public boolean tropicalFishRidable = false; public boolean tropicalFishRidable = false;
@@ -1496,6 +1538,7 @@ public class PurpurWorldConfig { @@ -1484,6 +1526,7 @@ public class PurpurWorldConfig {
public boolean turtleEggsBreakFromExpOrbs = true; public boolean turtleEggsBreakFromExpOrbs = true;
public boolean turtleEggsBreakFromItems = true; public boolean turtleEggsBreakFromItems = true;
public boolean turtleEggsBreakFromMinecarts = true; public boolean turtleEggsBreakFromMinecarts = true;
@@ -810,7 +810,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
private void turtleEggSettings() { private void turtleEggSettings() {
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable); turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater); turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
@@ -1508,6 +1551,7 @@ public class PurpurWorldConfig { @@ -1496,6 +1539,7 @@ public class PurpurWorldConfig {
turtleEggsBreakFromExpOrbs = getBoolean("blocks.turtle_egg.break-from-exp-orbs", turtleEggsBreakFromExpOrbs); turtleEggsBreakFromExpOrbs = getBoolean("blocks.turtle_egg.break-from-exp-orbs", turtleEggsBreakFromExpOrbs);
turtleEggsBreakFromItems = getBoolean("blocks.turtle_egg.break-from-items", turtleEggsBreakFromItems); turtleEggsBreakFromItems = getBoolean("blocks.turtle_egg.break-from-items", turtleEggsBreakFromItems);
turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts); turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts);
@@ -818,7 +818,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
} }
public boolean vexRidable = false; public boolean vexRidable = false;
@@ -1537,6 +1581,7 @@ public class PurpurWorldConfig { @@ -1525,6 +1569,7 @@ public class PurpurWorldConfig {
public int villagerSpawnIronGolemRadius = 0; public int villagerSpawnIronGolemRadius = 0;
public int villagerSpawnIronGolemLimit = 0; public int villagerSpawnIronGolemLimit = 0;
public boolean villagerCanBreed = true; public boolean villagerCanBreed = true;
@@ -826,7 +826,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1554,6 +1599,7 @@ public class PurpurWorldConfig { @@ -1542,6 +1587,7 @@ public class PurpurWorldConfig {
villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius); villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius);
villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit); villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit);
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed); villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
@@ -834,7 +834,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
} }
public boolean vindicatorRidable = false; public boolean vindicatorRidable = false;
@@ -1647,6 +1693,7 @@ public class PurpurWorldConfig { @@ -1635,6 +1681,7 @@ public class PurpurWorldConfig {
public boolean wolfRidable = false; public boolean wolfRidable = false;
public boolean wolfRidableInWater = false; public boolean wolfRidableInWater = false;
public double wolfMaxHealth = 8.0D; public double wolfMaxHealth = 8.0D;
@@ -842,7 +842,7 @@ index 788884481c4df2e25843245b484682371e5267fe..ff2be552313fe5543228838245dcfa24
private void wolfSettings() { private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater); wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -1656,6 +1703,7 @@ public class PurpurWorldConfig { @@ -1644,6 +1691,7 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue); set("mobs.wolf.attributes.max_health", oldValue);
} }
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth); wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -0,0 +1,174 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <blake.galbreath@gmail.com>
Date: Sat, 19 Jun 2021 14:45:41 -0500
Subject: [PATCH] Apply display names from item forms of entities to entities
and vice versa
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
index 7a3a364f5e3b025cc0a5694401cb9298c80cb733..796ab61f4513c02b0d55d34044d2f7084c447796 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
@@ -597,7 +597,13 @@ public class ArmorStand extends LivingEntity {
}
private void brokenByPlayer(DamageSource damageSource) {
- drops.add(org.bukkit.craftbukkit.inventory.CraftItemStack.asBukkitCopy(new ItemStack(Items.ARMOR_STAND))); // CraftBukkit - add to drops
+ // Purpur start
+ final ItemStack armorStand = new ItemStack(Items.ARMOR_STAND);
+ if (this.level.purpurConfig.persistentDroppableEntityDisplayNames && this.hasCustomName()) {
+ armorStand.setHoverName(this.getCustomName());
+ }
+ drops.add(org.bukkit.craftbukkit.inventory.CraftItemStack.asBukkitCopy(armorStand)); // CraftBukkit - add to drops
+ // Purpur end
this.brokenByAnything(damageSource);
}
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
index b829efdb40051a41b3bf1cabb8bf7d7c952797b5..90f1ecd97eef93316f61bf5d761d33c313e1a077 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
@@ -257,7 +257,13 @@ public class ItemFrame extends HangingEntity {
}
if (alwaysDrop) {
- this.spawnAtLocation(this.getFrameItemStack());
+ // Purpur start
+ final ItemStack itemFrame = this.getFrameItemStack();
+ if (this.level.purpurConfig.persistentDroppableEntityDisplayNames && this.hasCustomName()) {
+ itemFrame.setHoverName(this.getCustomName());
+ }
+ this.spawnAtLocation(itemFrame);
+ // Purpur end
}
if (!itemstack.isEmpty()) {
diff --git a/src/main/java/net/minecraft/world/entity/decoration/Painting.java b/src/main/java/net/minecraft/world/entity/decoration/Painting.java
index a853e2cc2e3f06a0ca0bb1799b3fd02890ae6521..a8265cd631d335d4eaec1918bd48570ee1fc9429 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/Painting.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/Painting.java
@@ -114,7 +114,13 @@ public class Painting extends HangingEntity {
}
}
- this.spawnAtLocation((ItemLike) Items.PAINTING);
+ // Purpur start
+ final ItemStack painting = new ItemStack(Items.PAINTING);
+ if (this.level.purpurConfig.persistentDroppableEntityDisplayNames && this.hasCustomName()) {
+ painting.setHoverName(this.getCustomName());
+ }
+ this.spawnAtLocation(painting);
+ // Purpur end
}
}
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
index d4a19fc38027717e43353bc62ef23e564f3b4c26..4f85cd75af97ce29211c5d4347292125c0ca527d 100644
--- a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
+++ b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
@@ -209,7 +209,13 @@ public class Boat extends Entity {
}
// CraftBukkit end
if (!flag && this.level.getGameRules().getBoolean(GameRules.RULE_DOENTITYDROPS)) {
- this.spawnAtLocation((ItemLike) this.getDropItem());
+ // Purpur start
+ final ItemStack boat = new ItemStack(this.getDropItem());
+ if (this.level.purpurConfig.persistentDroppableEntityDisplayNames && this.hasCustomName()) {
+ boat.setHoverName(this.getCustomName());
+ }
+ this.spawnAtLocation(boat);
+ // Purpur end
}
this.discard();
diff --git a/src/main/java/net/minecraft/world/item/ArmorStandItem.java b/src/main/java/net/minecraft/world/item/ArmorStandItem.java
index 44d63145480d38a4ec3a38be108200af070bcffa..7de67b75010f0da52004c911f6ee98eb133fdaed 100644
--- a/src/main/java/net/minecraft/world/item/ArmorStandItem.java
+++ b/src/main/java/net/minecraft/world/item/ArmorStandItem.java
@@ -63,6 +63,14 @@ public class ArmorStandItem extends Item {
return InteractionResult.FAIL;
}
// CraftBukkit end
+ // Purpur start
+ if (world.purpurConfig.persistentDroppableEntityDisplayNames && itemstack.hasCustomHoverName()) {
+ entityarmorstand.setCustomName(itemstack.getHoverName());
+ if (world.purpurConfig.armorstandSetNameVisible) {
+ entityarmorstand.setCustomNameVisible(true);
+ }
+ }
+ // Purpur end
worldserver.addFreshEntityWithPassengers(entityarmorstand);
world.playSound((Player) null, entityarmorstand.getX(), entityarmorstand.getY(), entityarmorstand.getZ(), SoundEvents.ARMOR_STAND_PLACE, SoundSource.BLOCKS, 0.75F, 0.8F);
world.gameEvent((Entity) context.getPlayer(), GameEvent.ENTITY_PLACE, (Entity) entityarmorstand);
diff --git a/src/main/java/net/minecraft/world/item/BoatItem.java b/src/main/java/net/minecraft/world/item/BoatItem.java
index c0864c833fd313e6ba9339ecc7f9e2359954bda3..8f5ed444ab430ae60d52e68ded605cfa0634331f 100644
--- a/src/main/java/net/minecraft/world/item/BoatItem.java
+++ b/src/main/java/net/minecraft/world/item/BoatItem.java
@@ -67,6 +67,11 @@ public class BoatItem extends Item {
entityboat.setType(this.type);
entityboat.setYRot(user.getYRot());
+ // Purpur start
+ if (world.purpurConfig.persistentDroppableEntityDisplayNames && itemstack.hasCustomHoverName()) {
+ entityboat.setCustomName(itemstack.getHoverName());
+ }
+ // Purpur end
if (!world.noCollision(entityboat, entityboat.getBoundingBox().inflate(-0.1D))) {
return InteractionResultHolder.fail(itemstack);
} else {
diff --git a/src/main/java/net/minecraft/world/item/HangingEntityItem.java b/src/main/java/net/minecraft/world/item/HangingEntityItem.java
index 282bfe4904637aaff1bd29e30ed18ba843c07cab..ddd50db8bb92c147d7c1eef4d1df3ac53e2d3e4b 100644
--- a/src/main/java/net/minecraft/world/item/HangingEntityItem.java
+++ b/src/main/java/net/minecraft/world/item/HangingEntityItem.java
@@ -40,7 +40,7 @@ public class HangingEntityItem extends Item {
return InteractionResult.FAIL;
} else {
Level world = context.getLevel();
- Object object;
+ Entity object; // Purpur
if (this.type == EntityType.PAINTING) {
object = new Painting(world, blockposition1, enumdirection);
@@ -58,6 +58,11 @@ public class HangingEntityItem extends Item {
if (nbttagcompound != null) {
EntityType.updateCustomEntityTag(world, entityhuman, (Entity) object, nbttagcompound);
+ // Purpur start
+ if (world.purpurConfig.persistentDroppableEntityDisplayNames && itemstack.hasCustomHoverName()) {
+ object.setCustomName(itemstack.getHoverName());
+ }
+ // Purpur end
}
if (((HangingEntity) object).survives()) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index fd773f696d5f3940a16debd545bf9fee0ea9288d..08a969b85553409160911ea77b9caa5437f6ef5d 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -85,8 +85,10 @@ public class PurpurWorldConfig {
}
public float armorstandStepHeight = 0.0F;
+ public boolean armorstandSetNameVisible = false;
private void armorstandSettings() {
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
+ armorstandSetNameVisible = getBoolean("gameplay-mechanics.armorstand.set-name-visible-when-placing-with-custom-name", armorstandSetNameVisible);
}
public int daytimeTicks = 12000;
@@ -325,6 +327,7 @@ public class PurpurWorldConfig {
public boolean entitiesCanUsePortals = true;
public boolean milkCuresBadOmen = true;
public boolean persistentTileEntityDisplayNames = false;
+ public boolean persistentDroppableEntityDisplayNames = false;
public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D;
@@ -338,6 +341,7 @@ public class PurpurWorldConfig {
entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals);
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);
persistentTileEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-tileentity-display-names-and-lore", persistentTileEntityDisplayNames);
+ persistentDroppableEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-droppable-entity-display-names", persistentDroppableEntityDisplayNames);
tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight);
voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight);
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);

View File

@@ -0,0 +1,34 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <blake.galbreath@gmail.com>
Date: Sat, 19 Jun 2021 14:53:40 -0500
Subject: [PATCH] Set name visible when using a Name Tag on an Armor Stand
diff --git a/src/main/java/net/minecraft/world/item/NameTagItem.java b/src/main/java/net/minecraft/world/item/NameTagItem.java
index 623f78c078fb3aa2665d7e8a37672438227bce6b..500c69e555c7247e20ef8cc59d83415578f44427 100644
--- a/src/main/java/net/minecraft/world/item/NameTagItem.java
+++ b/src/main/java/net/minecraft/world/item/NameTagItem.java
@@ -24,6 +24,7 @@ public class NameTagItem extends Item {
if (!event.callEvent()) return InteractionResult.PASS;
LivingEntity newEntityLiving = ((org.bukkit.craftbukkit.entity.CraftLivingEntity) event.getEntity()).getHandle();
newEntityLiving.setCustomName(event.getName() != null ? PaperAdventure.asVanilla(event.getName()) : null);
+ if (user.level.purpurConfig.armorstandFixNametags && entity instanceof net.minecraft.world.entity.decoration.ArmorStand) entity.setCustomNameVisible(true); // Purpur
if (event.isPersistent() && newEntityLiving instanceof Mob) {
((Mob) newEntityLiving).setPersistenceRequired();
// Paper end
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 08a969b85553409160911ea77b9caa5437f6ef5d..d2d5c5f92e5415f647cbebf16f3121f8230be24e 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -86,9 +86,11 @@ public class PurpurWorldConfig {
public float armorstandStepHeight = 0.0F;
public boolean armorstandSetNameVisible = false;
+ public boolean armorstandFixNametags = false;
private void armorstandSettings() {
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
armorstandSetNameVisible = getBoolean("gameplay-mechanics.armorstand.set-name-visible-when-placing-with-custom-name", armorstandSetNameVisible);
+ armorstandFixNametags = getBoolean("gameplay-mechanics.armorstand.fix-nametags", armorstandFixNametags);
}
public int daytimeTicks = 12000;

View File

@@ -0,0 +1,89 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <blake.galbreath@gmail.com>
Date: Sat, 19 Jun 2021 15:16:56 -0500
Subject: [PATCH] Add twisting and weeping vines growth rates
diff --git a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java b/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java
index 3129c8db32fd79ab5917ffc93ee6dd5db58b1aad..9f1d43ad720750f9d50cc3cfbe1fc9b335cffd0d 100644
--- a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java
@@ -39,9 +39,11 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements
return (Integer) state.getValue(GrowingPlantHeadBlock.AGE) < 25;
}
+ public abstract double getGrowthModifier(ServerLevel world); // Purpur
+
@Override
public void randomTick(BlockState state, ServerLevel world, BlockPos pos, Random random) {
- if ((Integer) state.getValue(GrowingPlantHeadBlock.AGE) < 25 && random.nextDouble() < (100.0D / world.spigotConfig.kelpModifier) * this.growPerTickProbability) { // Spigot
+ if (state.getValue(GrowingPlantHeadBlock.AGE) < 25 && random.nextDouble() < (100.0D / this.getGrowthModifier(world)) * this.growPerTickProbability) { // Spigot // Purpur
BlockPos blockposition1 = pos.relative(this.growthDirection);
if (this.canGrowInto(world.getBlockState(blockposition1))) {
diff --git a/src/main/java/net/minecraft/world/level/block/KelpBlock.java b/src/main/java/net/minecraft/world/level/block/KelpBlock.java
index 2bd5db55656c9ace95ad5ffdc4a6d07daa0948e4..5f9a8dd6b4f7c9285ffcce8bbe0e334a28cc9699 100644
--- a/src/main/java/net/minecraft/world/level/block/KelpBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/KelpBlock.java
@@ -64,4 +64,10 @@ public class KelpBlock extends GrowingPlantHeadBlock implements LiquidBlockConta
public FluidState getFluidState(BlockState state) {
return Fluids.WATER.getSource(false);
}
+
+ // Purpur start
+ public double getGrowthModifier(net.minecraft.server.level.ServerLevel world) {
+ return world.spigotConfig.kelpModifier;
+ }
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/world/level/block/TwistingVinesBlock.java b/src/main/java/net/minecraft/world/level/block/TwistingVinesBlock.java
index bc9813ad36d95d90eafe51afa27857937b6eecc6..c877f7e4e55c63d91ce58c15850e279be3e159a7 100644
--- a/src/main/java/net/minecraft/world/level/block/TwistingVinesBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/TwistingVinesBlock.java
@@ -27,4 +27,10 @@ public class TwistingVinesBlock extends GrowingPlantHeadBlock {
protected boolean canGrowInto(BlockState state) {
return NetherVines.isValidGrowthState(state);
}
+
+ // Purpur start
+ public double getGrowthModifier(net.minecraft.server.level.ServerLevel world) {
+ return world.purpurConfig.twistingVinesGrowthModifier;
+ }
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/world/level/block/WeepingVinesBlock.java b/src/main/java/net/minecraft/world/level/block/WeepingVinesBlock.java
index 35b2bad76c45b5a94ba7f2e9c7a8cfeb8c3f498b..d2cb1a7e7ea364cb8e2af4c4e756d8e45bc0ca10 100644
--- a/src/main/java/net/minecraft/world/level/block/WeepingVinesBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/WeepingVinesBlock.java
@@ -27,4 +27,10 @@ public class WeepingVinesBlock extends GrowingPlantHeadBlock {
protected boolean canGrowInto(BlockState state) {
return NetherVines.isValidGrowthState(state);
}
+
+ // Purpur start
+ public double getGrowthModifier(net.minecraft.server.level.ServerLevel world) {
+ return world.purpurConfig.weepingVinesGrowthModifier;
+ }
+ // Purpur end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d2d5c5f92e5415f647cbebf16f3121f8230be24e..f1b0d55f425b3028178323e710991fff481e0ba6 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -457,6 +457,16 @@ public class PurpurWorldConfig {
stonecutterDamage = (float) getDouble("blocks.stonecutter.damage", stonecutterDamage);
}
+ public double twistingVinesGrowthModifier = 0.10D;
+ private void twistingVinesSettings() {
+ twistingVinesGrowthModifier = getDouble("blocks.twisting_vines.growth-modifier", twistingVinesGrowthModifier);
+ }
+
+ public double weepingVinesGrowthModifier = 0.10D;
+ private void weepingVinesSettings() {
+ weepingVinesGrowthModifier = getDouble("blocks.weeping_vines.growth-modifier", weepingVinesGrowthModifier);
+ }
+
public boolean babiesAreRidable = true;
public boolean untamedTamablesAreRidable = true;
public boolean useNightVisionWhenRiding = false;