add back random populator seed

This commit is contained in:
Ben Kerllenevich
2021-06-25 18:46:30 -04:00
parent 6d5a686a1d
commit 44e4acda63
151 changed files with 601 additions and 890 deletions

View File

@@ -1,104 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
Date: Sat, 18 Jul 2020 11:27:43 -0500
Subject: [PATCH] Populator seed controls
1.17: add back with tuinity
diff --git a/src/main/java/co/aikar/timings/TimingsExport.java b/src/main/java/co/aikar/timings/TimingsExport.java
index 5e672a0660d0aceffcdb26d185590ca18aa4f023..4b171a2a60e24947e884f8988920f335bd99a471 100644
--- a/src/main/java/co/aikar/timings/TimingsExport.java
+++ b/src/main/java/co/aikar/timings/TimingsExport.java
@@ -293,7 +293,7 @@ public class TimingsExport extends Thread {
JSONObject object = new JSONObject();
for (String key : config.getKeys(false)) {
String fullKey = (parentKey != null ? parentKey + "." + key : key);
- if (fullKey.equals("database") || fullKey.equals("settings.bungeecord-addresses") || TimingsManager.hiddenConfigs.contains(fullKey) || key.startsWith("seed-") || key.equals("worldeditregentempworld")) {
+ if (fullKey.equals("database") || fullKey.equals("settings.bungeecord-addresses") || TimingsManager.hiddenConfigs.contains(fullKey) || key.startsWith("seed-") || key.equals("worldeditregentempworld") || fullKey.contains("worldgen.seeds.populator")) { // Tuinity
continue;
}
final Object val = config.get(key);
diff --git a/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java b/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java
index 6736b6c29a1b4c8eac7ca0d012b73b501fd99042..1938b780d20c1d29d63aefeed7ba42fcd2495986 100644
--- a/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java
+++ b/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java
@@ -1,5 +1,6 @@
package com.tuinity.tuinity.config;
+import co.aikar.timings.TimingsManager;
import com.destroystokyo.paper.util.SneakyThrow;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.level.TicketType;
@@ -449,6 +450,20 @@ public final class TuinityConfig {
final int threads = this.getInt("tick-threads", -1);
this.threads = threads == -1 ? TuinityConfig.tickThreads : threads;
}*/
+
+ public Long populatorSeed;
+ public boolean useRandomPopulatorSeed;
+
+ private void populatorSeed() {
+ final String seedString = this.getString("worldgen.seeds.populator", "default");
+ if (seedString.equalsIgnoreCase("random")) {
+ this.useRandomPopulatorSeed = true;
+ } else if (!seedString.equalsIgnoreCase("default")) {
+ this.populatorSeed = Long.parseLong(seedString);
+ }
+ if (!TimingsManager.hiddenConfigs.contains("worldgen.seeds.populator")) TimingsManager.hiddenConfigs.add("worldgen.seeds.populator");
+ }
+
}
}
\ No newline at end of file
diff --git a/src/main/java/net/minecraft/world/level/biome/BiomeBase.java b/src/main/java/net/minecraft/world/level/biome/BiomeBase.java
index 9bbd175f7e20591bbefdbddcb5e998e7098c5adb..c4fb051739c1c186c1574185e0653f513755987d 100644
--- a/src/main/java/net/minecraft/world/level/biome/BiomeBase.java
+++ b/src/main/java/net/minecraft/world/level/biome/BiomeBase.java
@@ -23,7 +23,9 @@ import net.minecraft.core.SectionPosition;
import net.minecraft.data.RegistryGeneration;
import net.minecraft.resources.MinecraftKey;
import net.minecraft.resources.RegistryFileCodec;
+import net.minecraft.server.level.ChunkProviderServer;
import net.minecraft.server.level.RegionLimitedWorldAccess;
+import net.minecraft.server.level.WorldServer;
import net.minecraft.util.INamable;
import net.minecraft.world.level.ChunkCoordIntPair;
import net.minecraft.world.level.EnumSkyBlock;
@@ -257,6 +259,10 @@ public final class BiomeBase {
return this.k;
}
+ // Tuinity start - populator seed control
+ private static final java.security.SecureRandom SECURE_RANDOM = new java.security.SecureRandom();
+ // Tuinity end - populator seed control
+
public void a(StructureManager structuremanager, ChunkGenerator chunkgenerator, RegionLimitedWorldAccess regionlimitedworldaccess, long i, SeededRandom seededrandom, BlockPosition blockposition) {
List<List<Supplier<WorldGenFeatureConfigured<?, ?>>>> list = this.k.c();
int j = WorldGenStage.Decoration.values().length;
@@ -293,12 +299,24 @@ public final class BiomeBase {
}
}
+ // Tuinity start - populator seed control
+ long populatorSeed;
+ WorldServer world = (WorldServer)((ChunkProviderServer)regionlimitedworldaccess.getChunkProvider()).getWorld();
+ if (world.tuinityConfig.useRandomPopulatorSeed) {
+ populatorSeed = SECURE_RANDOM.nextLong();
+ } else if (world.tuinityConfig.populatorSeed != null) {
+ populatorSeed = world.tuinityConfig.populatorSeed.longValue();
+ } else {
+ populatorSeed = i;
+ }
+ // Tuinity end - populator seed control
+
if (list.size() > k) {
for (Iterator iterator1 = ((List) list.get(k)).iterator(); iterator1.hasNext(); ++l) {
Supplier<WorldGenFeatureConfigured<?, ?>> supplier = (Supplier) iterator1.next();
WorldGenFeatureConfigured<?, ?> worldgenfeatureconfigured = (WorldGenFeatureConfigured) supplier.get();
- seededrandom.b(i, l, k);
+ seededrandom.b(populatorSeed, l, k); // Tuinity - populator seed control - move i up into default branch
try {
worldgenfeatureconfigured.a(regionlimitedworldaccess, chunkgenerator, seededrandom, blockposition);

View File

@@ -1,66 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Phoenix616 <max@themoep.de>
Date: Mon, 19 Oct 2020 17:20:53 +0100
Subject: [PATCH] Origami - Fix ProtocolLib issues on Java 15
1.17: add back with tuinity
diff --git a/src/main/java/net/minecraft/network/NetworkManager.java b/src/main/java/net/minecraft/network/NetworkManager.java
index b6c0ef0df93f0350fa70e857e06d79ae34d7d4b1..1dce5d3b1e994a060067de4901912dd5a9be7e15 100644
--- a/src/main/java/net/minecraft/network/NetworkManager.java
+++ b/src/main/java/net/minecraft/network/NetworkManager.java
@@ -435,9 +435,9 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
// note: since the type is not dynamic here, we need to actually copy the old executor code
// into two branches. On conflict, just re-copy - no changes were made inside the executor code.
if (flush) {
- choice1 = () -> {
+ choice1 = new Runnable() { public void run() { // Origami - flatten lambda
if (enumprotocol != enumprotocol1) {
- this.setProtocol(enumprotocol);
+ NetworkManager.this.setProtocol(enumprotocol); // Origami - flatten lambda
}
// Paper start
@@ -447,7 +447,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
}
try {
// Paper end
- ChannelFuture channelfuture1 = (flush) ? this.channel.writeAndFlush(packet) : this.channel.write(packet); // Tuinity - add flush parameter
+ ChannelFuture channelfuture1 = (flush) ? NetworkManager.this.channel.writeAndFlush(packet) : NetworkManager.this.channel.write(packet); // Tuinity - add flush parameter // Origami - flatten lambda
if (genericfuturelistener != null) {
@@ -467,12 +467,12 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
packet.onPacketDispatchFinish(player, null);
}
// Paper end
- };
+ }}; // Origami - flatten lambda
} else {
// explicitly declare a variable to make the lambda use the type
- choice2 = () -> {
+ choice2 = new AbstractEventExecutor.LazyRunnable() { public void run() { // Origami - flatten lambda
if (enumprotocol != enumprotocol1) {
- this.setProtocol(enumprotocol);
+ NetworkManager.this.setProtocol(enumprotocol); // Origami - flatten lambda
}
// Paper start
@@ -482,7 +482,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
}
try {
// Paper end
- ChannelFuture channelfuture1 = (flush) ? this.channel.writeAndFlush(packet) : this.channel.write(packet); // Tuinity - add flush parameter
+ ChannelFuture channelfuture1 = (flush) ? NetworkManager.this.channel.writeAndFlush(packet) : NetworkManager.this.channel.write(packet); // Tuinity - add flush parameter // Origami - flatten lambda
if (genericfuturelistener != null) {
@@ -502,7 +502,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
packet.onPacketDispatchFinish(player, null);
}
// Paper end
- };
+ }}; // Origami - flatten lambda
}
this.channel.eventLoop().execute(choice1 != null ? choice1 : choice2);
// Tuinity end - optimise packets that are not flushed

View File

@@ -1,53 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
Date: Wed, 2 Dec 2020 14:49:10 -0800
Subject: [PATCH] Config migration: climbing should not bypass cramming
gamerule
This migration isnt needed anymore. It's served its purpose. People running super old builds will
just have to deal with the migration themselves if they care.
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index f4fab86ed176aea7d5fca3836e76f53e6101575f..36cfcd57fa3c3d33d46be5e3f70f4cf9a84f8b77 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -145,6 +145,17 @@ public class PurpurConfig {
}
}
+ private static void migrateClimbingCrammingFix() {
+ if (PurpurConfig.version < 7) {
+ final boolean climbingCrammingFix = getBoolean("world-settings.default.gameplay-mechanics.fix-climbing-bypassing-cramming-rule", false);
+ set("world-settings.default.gameplay-mechanics.fix-climbing-bypassing-cramming-rule", null);
+ if (climbingCrammingFix) {
+ PaperConfig.config.set("world-settings.default.fix-climbing-bypassing-cramming-rule", true);
+ PaperConfig.saveConfig();
+ }
+ }
+ }
+
public static String afkBroadcastAway = "§e§o%s is now AFK";
public static String afkBroadcastBack = "§e§o%s is no longer AFK";
public static String afkTabListPrefix = "[AFK] ";
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index ed2b682b3717e58eb18ef12c18f362a75174f069..3e2898e3582efc00764885739e1df3a2ab5d5f6e 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -96,6 +96,17 @@ public class PurpurWorldConfig {
}
}
+ private void migrateClimbingCrammingFix() {
+ if (PurpurConfig.version < 7) {
+ final boolean climbingCrammingFix = PurpurConfig.config.getBoolean("world-settings." + worldName + ".gameplay-mechanics.fix-climbing-bypassing-cramming-rule", false);
+ PurpurConfig.config.set("world-settings." + worldName + ".gameplay-mechanics.fix-climbing-bypassing-cramming-rule", null);
+ if (climbingCrammingFix) {
+ PaperConfig.config.set("world-settings." + worldName + ".fix-climbing-bypassing-cramming-rule", true);
+ PaperConfig.saveConfig();
+ }
+ }
+ }
+
public boolean armorstandSetNameVisible = false;
public boolean armorstandFixNametags = false;
public float armorstandStepHeight = 0.0F;

View File

@@ -1,60 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Sat, 13 Feb 2021 14:02:43 -0600
Subject: [PATCH] Add ghast allow-griefing option
fireball griefing is already covered by another patch
diff --git a/src/main/java/net/minecraft/world/entity/monster/EntityGhast.java b/src/main/java/net/minecraft/world/entity/monster/EntityGhast.java
index e83d9aae4a04fc67587d40cec1f24ba5ebb58e10..5834b38ab206a9db6d3e336074095ce85bdbcc50 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EntityGhast.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EntityGhast.java
@@ -230,6 +230,7 @@ public class EntityGhast extends EntityFlying implements IMonster {
}
EntityLargeFireball entitylargefireball = new EntityLargeFireball(world, this.ghast, d2, d3, d4);
+ entitylargefireball.canCauseGrief = world.purpurConfig.ghastAllowGriefing; // Purpur
// CraftBukkit - set bukkitYield when setting explosionpower
entitylargefireball.bukkitYield = entitylargefireball.yield = this.ghast.getPower();
diff --git a/src/main/java/net/minecraft/world/entity/projectile/EntityLargeFireball.java b/src/main/java/net/minecraft/world/entity/projectile/EntityLargeFireball.java
index 61f06eacb4ea4ef869b60c9014cc23b25583eead..627915ee205fdcc93c5424ad7d7ea05783bc07ad 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/EntityLargeFireball.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/EntityLargeFireball.java
@@ -16,6 +16,7 @@ import org.bukkit.event.entity.ExplosionPrimeEvent; // CraftBukkit
public class EntityLargeFireball extends EntityFireballFireball {
public int yield = 1;
+ public boolean canCauseGrief = true; // Purpur
public EntityLargeFireball(EntityTypes<? extends EntityLargeFireball> entitytypes, World world) {
super(entitytypes, world);
@@ -31,7 +32,7 @@ public class EntityLargeFireball extends EntityFireballFireball {
protected void a(MovingObjectPosition movingobjectposition) {
super.a(movingobjectposition);
if (!this.world.isClientSide) {
- boolean flag = this.world.purpurConfig.fireballsBypassMobGriefing || this.world.getGameRules().getBoolean(GameRules.MOB_GRIEFING); // Purpur
+ boolean flag = isIncendiary = canCauseGrief && (this.world.purpurConfig.fireballsBypassMobGriefing || this.world.getGameRules().getBoolean(GameRules.MOB_GRIEFING)); // Purpur
// CraftBukkit start - fire ExplosionPrimeEvent
ExplosionPrimeEvent event = new ExplosionPrimeEvent((org.bukkit.entity.Explosive) this.getBukkitEntity());
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 266b64abb949fca2cc667395d175c962c55435db..23f7a3af8f92fd6e89601b0e1b4b2d1635dfe0b0 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -926,6 +926,7 @@ public class PurpurWorldConfig {
public boolean ghastRidable = false;
public boolean ghastRidableInWater = false;
public double ghastMaxY = 256D;
+ public boolean ghastAllowGriefing = true;
public double ghastMaxHealth = 10.0D;
private void ghastSettings() {
ghastRidable = getBoolean("mobs.ghast.ridable", ghastRidable);
@@ -936,6 +937,7 @@ public class PurpurWorldConfig {
set("mobs.ghast.attributes.max-health", null);
set("mobs.ghast.attributes.max_health", oldValue);
}
+ ghastAllowGriefing = getBoolean("mobs.ghast.allow-griefing", ghastAllowGriefing);
ghastMaxHealth = getDouble("mobs.ghast.attributes.max_health", ghastMaxHealth);
}

View File

@@ -1,80 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: DoctaEnkoda <bierquejason@gmail.com>
Date: Tue, 11 May 2021 00:28:13 +0200
Subject: [PATCH] Optimize collisions
1.17: add back with tuinity
diff --git a/src/main/java/net/minecraft/server/level/WorldServer.java b/src/main/java/net/minecraft/server/level/WorldServer.java
index 7d0c5d28597c51d332146a82df06ba519711f836..fbc7f3e489be0ac5939af29a9aef75a56c38eb4a 100644
--- a/src/main/java/net/minecraft/server/level/WorldServer.java
+++ b/src/main/java/net/minecraft/server/level/WorldServer.java
@@ -678,16 +678,10 @@ public class WorldServer extends World implements GeneratorAccessSeed {
}
}
- int minBlockX = MathHelper.floor(axisalignedbb.minX - MCUtil.COLLISION_EPSILON) - 1;
- int maxBlockX = MathHelper.floor(axisalignedbb.maxX + MCUtil.COLLISION_EPSILON) + 1;
-
+ // Purpur Start Rebase - Calculate when needed only
int minBlockY = MathHelper.floor(axisalignedbb.minY - MCUtil.COLLISION_EPSILON) - 1;
int maxBlockY = MathHelper.floor(axisalignedbb.maxY + MCUtil.COLLISION_EPSILON) + 1;
- int minBlockZ = MathHelper.floor(axisalignedbb.minZ - MCUtil.COLLISION_EPSILON) - 1;
- int maxBlockZ = MathHelper.floor(axisalignedbb.maxZ + MCUtil.COLLISION_EPSILON) + 1;
-
-
BlockPosition.MutableBlockPosition mutablePos = new BlockPosition.MutableBlockPosition();
net.minecraft.world.phys.shapes.VoxelShapeCollision collisionShape = null;
@@ -697,6 +691,13 @@ public class WorldServer extends World implements GeneratorAccessSeed {
return ret;
}
+ int minBlockX = MathHelper.floor(axisalignedbb.minX - MCUtil.COLLISION_EPSILON) - 1;
+ int maxBlockX = MathHelper.floor(axisalignedbb.maxX + MCUtil.COLLISION_EPSILON) + 1;
+
+ int minBlockZ = MathHelper.floor(axisalignedbb.minZ - MCUtil.COLLISION_EPSILON) - 1;
+ int maxBlockZ = MathHelper.floor(axisalignedbb.maxZ + MCUtil.COLLISION_EPSILON) + 1;
+ // Purpur End
+
int minYIterate = Math.max(0, minBlockY);
int maxYIterate = Math.min(255, maxBlockY);
diff --git a/src/main/java/net/minecraft/world/level/ChunkCache.java b/src/main/java/net/minecraft/world/level/ChunkCache.java
index b547eb352f90f68cf36ffb82e43ad7acb1892f6a..456ef170f8885ad42c3c2bd2a54c5bc46bfe30cd 100644
--- a/src/main/java/net/minecraft/world/level/ChunkCache.java
+++ b/src/main/java/net/minecraft/world/level/ChunkCache.java
@@ -60,16 +60,10 @@ public class ChunkCache implements IBlockAccess, ICollisionAccess {
}
}
- int minBlockX = net.minecraft.util.MathHelper.floor(axisalignedbb.minX - net.minecraft.server.MCUtil.COLLISION_EPSILON) - 1;
- int maxBlockX = net.minecraft.util.MathHelper.floor(axisalignedbb.maxX + net.minecraft.server.MCUtil.COLLISION_EPSILON) + 1;
-
+ // Purpur Rebase - Calculate when needed only
int minBlockY = net.minecraft.util.MathHelper.floor(axisalignedbb.minY - net.minecraft.server.MCUtil.COLLISION_EPSILON) - 1;
int maxBlockY = net.minecraft.util.MathHelper.floor(axisalignedbb.maxY + net.minecraft.server.MCUtil.COLLISION_EPSILON) + 1;
-
- int minBlockZ = net.minecraft.util.MathHelper.floor(axisalignedbb.minZ - net.minecraft.server.MCUtil.COLLISION_EPSILON) - 1;
- int maxBlockZ = net.minecraft.util.MathHelper.floor(axisalignedbb.maxZ + net.minecraft.server.MCUtil.COLLISION_EPSILON) + 1;
-
-
+
BlockPosition.MutableBlockPosition mutablePos = new BlockPosition.MutableBlockPosition();
net.minecraft.world.phys.shapes.VoxelShapeCollision collisionShape = null;
@@ -79,6 +73,13 @@ public class ChunkCache implements IBlockAccess, ICollisionAccess {
return ret;
}
+ int minBlockX = net.minecraft.util.MathHelper.floor(axisalignedbb.minX - net.minecraft.server.MCUtil.COLLISION_EPSILON) - 1;
+ int maxBlockX = net.minecraft.util.MathHelper.floor(axisalignedbb.maxX + net.minecraft.server.MCUtil.COLLISION_EPSILON) + 1;
+
+ int minBlockZ = net.minecraft.util.MathHelper.floor(axisalignedbb.minZ - net.minecraft.server.MCUtil.COLLISION_EPSILON) - 1;
+ int maxBlockZ = net.minecraft.util.MathHelper.floor(axisalignedbb.maxZ + net.minecraft.server.MCUtil.COLLISION_EPSILON) + 1;
+ // Purpur End
+
int minYIterate = Math.max(0, minBlockY);
int maxYIterate = Math.min(255, maxBlockY);

View File

@@ -142,7 +142,7 @@ index ca7718053a6a2eb715ea3671bd4bc15304ede420..bf31ae9f1ea08d67e7e828cff07b30a3
public void sendMessage(Component message, UUID sender) {}
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 862553e98a7237d39a26036c615b9cbd001bd3bf..a2e9b3139ce8e2a9a1d294f47d77e153c51d2eb0 100644
index 862553e98a7237d39a26036c615b9cbd001bd3bf..b5347e768a17e0771163cb73f2d5ccc0d2b50ee3 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -168,6 +168,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -158,7 +158,7 @@ index 862553e98a7237d39a26036c615b9cbd001bd3bf..a2e9b3139ce8e2a9a1d294f47d77e153
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
this.paperConfig = new com.destroystokyo.paper.PaperWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), this.spigotConfig); // Paper
this.tuinityConfig = new com.tuinity.tuinity.config.TuinityConfig.WorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData)worlddatamutable).getLevelName()); // Tuinity - Server Config
+ this.purpurConfig = new net.pl3x.purpur.PurpurWorldConfig((((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName())); // Purpur
+ this.purpurConfig = new net.pl3x.purpur.PurpurWorldConfig((ServerLevel) this, ((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Purpur
this.generator = gen;
this.world = new CraftWorld((ServerLevel) this, gen, env);
this.ticksPerAnimalSpawns = this.getCraftServer().getTicksPerAnimalSpawns(); // CraftBukkit
@@ -300,21 +300,23 @@ index 0000000000000000000000000000000000000000..7c5ecdbd5a05ae07a440cadf79d59a43
+}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
new file mode 100644
index 0000000000000000000000000000000000000000..361f7857e461578e90cb71e15027dadaf794cb69
index 0000000000000000000000000000000000000000..b760473245a50941129b4063998e7725366db4da
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -0,0 +1,59 @@
@@ -0,0 +1,61 @@
+package net.pl3x.purpur;
+
+import net.minecraft.server.level.ServerLevel;
+import org.bukkit.configuration.ConfigurationSection;
+import java.util.List;
+import static net.pl3x.purpur.PurpurConfig.log;
+
+public class PurpurWorldConfig {
+
+ private final ServerLevel level;
+ private final String worldName;
+
+ public PurpurWorldConfig(String worldName) {
+ public PurpurWorldConfig(ServerLevel level, String worldName) {
+ this.level = level;
+ this.worldName = worldName;
+ init();
+ }

View File

@@ -4540,10 +4540,10 @@ index 7c5ecdbd5a05ae07a440cadf79d59a439e4db524..bd0807e5647ad4745fa585bf7e6c8532
+ }
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 361f7857e461578e90cb71e15027dadaf794cb69..9d261356c549a41e4bd676d5be60f6470501f0ae 100644
index b760473245a50941129b4063998e7725366db4da..8699631fecc1bcaa943514a012ea042a3c425af5 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -56,4 +56,532 @@ public class PurpurWorldConfig {
@@ -58,4 +58,532 @@ public class PurpurWorldConfig {
PurpurConfig.config.addDefault("world-settings.default." + path, def);
return PurpurConfig.config.getString("world-settings." + worldName + "." + path, PurpurConfig.config.getString("world-settings.default." + path));
}

View File

@@ -414,7 +414,7 @@ index 4d5ceb4ce913248ad404393e4f0c75cad24029bb..5ab75a110d45dd9a2c341820b53838a5
public static String getPredefinedName(int variant) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
index c86f13d190b41cb18dd833af39c7b4916068fd69..31568adcf4a89b11e61f455a15326c7f72bf487e 100644
index 631539a752a038926355c23aeb160af64f363a61..66c01b8300bc09ace27e4d1a30ee9274c69fcc9a 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
@@ -100,6 +100,11 @@ public class Turtle extends Animal {
@@ -706,7 +706,7 @@ index d328e36015b6b7d6a9e093fbe232eb5ecda46d96..6ca7b168a1ea26102922d9377e52662f
public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index a1a64591e6a6fb8a4550b91f89e3cdbd35c6d249..1f40e8d1e73fec0aaee29c658e3d24f499fa9501 100644
index 00e74d4fb1c719475bed27db13774bc7cc7447a7..177c5b385613ac08a75500013326874ff31a1992 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -154,6 +154,11 @@ public class EnderDragon extends Mob implements Enemy {
@@ -990,7 +990,7 @@ index 7d39f25734f2c52b11931e141524acd2c244c2c5..87aae8fa18704e58f2b1fc0abd1a9898
public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
index 60bfeb0e5a667899a02fb59c13d637d87416e483..359f5d01d144121e0ea129aebc45b3e796c16bf7 100644
index 61aff98a7b56eab6a43ddc9f07618cbbedb6b77d..5e069ac0c57d2a3a23f6e4483d12ce298d172691 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
@@ -112,6 +112,11 @@ public class Phantom extends FlyingMob implements Enemy {
@@ -1038,7 +1038,7 @@ index 32ef769b2b3e3ab42c7a50bf4c8ec7ec548d5e7b..b8c753a574487cdc045ea334229aafd2
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
index 9dc36967a63ef3753e798b237b05f45fdc48135f..176c68513669c7bbcee49b56456ba470c98916b6 100644
index 42635be6183d86978df3f174c74a71691f2bfcdd..d6fdaa9f9033d8b1e8aa9ef0aace387e286ebce9 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
@@ -102,6 +102,11 @@ public class Shulker extends AbstractGolem implements Enemy {
@@ -1417,12 +1417,12 @@ index d6c31596e21041a124a263054ccb6447829eccdd..d2588a91b55aebdecf8e1644498111cc
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 9d261356c549a41e4bd676d5be60f6470501f0ae..c4fb8a14bf11df94acc7806f458e976c4e30e7c4 100644
index 8699631fecc1bcaa943514a012ea042a3c425af5..70afdc5bd924e3a3e812d4029887da1208526cae 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1,7 +1,10 @@
package net.pl3x.purpur;
@@ -2,7 +2,10 @@ package net.pl3x.purpur;
import net.minecraft.server.level.ServerLevel;
import org.bukkit.configuration.ConfigurationSection;
+
+import java.util.HashMap;
@@ -1431,7 +1431,7 @@ index 9d261356c549a41e4bd676d5be60f6470501f0ae..c4fb8a14bf11df94acc7806f458e976c
import static net.pl3x.purpur.PurpurConfig.log;
public class PurpurWorldConfig {
@@ -67,257 +70,573 @@ public class PurpurWorldConfig {
@@ -69,257 +72,573 @@ public class PurpurWorldConfig {
}
public boolean axolotlRidable = false;
@@ -2005,7 +2005,7 @@ index 9d261356c549a41e4bd676d5be60f6470501f0ae..c4fb8a14bf11df94acc7806f458e976c
}
public boolean phantomRidable = false;
@@ -326,6 +645,7 @@ public class PurpurWorldConfig {
@@ -328,6 +647,7 @@ public class PurpurWorldConfig {
public float phantomFlameDamage = 1.0F;
public int phantomFlameFireTime = 8;
public boolean phantomAllowGriefing = false;
@@ -2013,7 +2013,7 @@ index 9d261356c549a41e4bd676d5be60f6470501f0ae..c4fb8a14bf11df94acc7806f458e976c
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -333,255 +653,559 @@ public class PurpurWorldConfig {
@@ -335,255 +655,559 @@ public class PurpurWorldConfig {
phantomFlameDamage = (float) getDouble("mobs.phantom.flames.damage", phantomFlameDamage);
phantomFlameFireTime = getInt("mobs.phantom.flames.fire-time", phantomFlameFireTime);
phantomAllowGriefing = getBoolean("mobs.phantom.allow-griefing", phantomAllowGriefing);

View File

@@ -198,10 +198,10 @@ index 409948bf86d7b3a30106598cf9ee3cdff05b928d..3efc51e347ae0d5224eae4727867eaf1
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
index c4fb8a14bf11df94acc7806f458e976c4e30e7c4..0a9024e766ed12b321008b3b19ce92d2f5fdfcab 100644
index 70afdc5bd924e3a3e812d4029887da1208526cae..608c2f3daaebcf48990ab513f1b765cb3a19b1ec 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -60,6 +60,17 @@ public class PurpurWorldConfig {
@@ -62,6 +62,17 @@ public class PurpurWorldConfig {
return PurpurConfig.config.getString("world-settings." + worldName + "." + path, PurpurConfig.config.getString("world-settings.default." + path));
}

View File

@@ -90,10 +90,10 @@ index d65ca67bb0d46ecd8a4003e44cfec71661679480..51ef325fab982c2fd8a7eb3d7e73cbfd
return entityplayer1;
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 0a9024e766ed12b321008b3b19ce92d2f5fdfcab..52d30f1ece8b48bba953b11013b7aa10f4891991 100644
index 608c2f3daaebcf48990ab513f1b765cb3a19b1ec..11866148ebd3ad94af2092eba314082f2a98759c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -64,11 +64,15 @@ public class PurpurWorldConfig {
@@ -66,11 +66,15 @@ public class PurpurWorldConfig {
public boolean idleTimeoutTickNearbyEntities = true;
public boolean idleTimeoutCountAsSleeping = false;
public boolean idleTimeoutUpdateTabList = false;

View File

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

View File

@@ -130,24 +130,24 @@ index b1e04d41de80971a7a1616beb0860226ecc25045..a42375b6789bb0a386103ad826879032
public void spawnAfterBreak(BlockState state, ServerLevel world, BlockPos pos, ItemStack 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
index eed56c24c0c5bceef42addaa7e1cc17662fd1c49..c13a37baf05af23ad332d5ee2892c0efc3f79b5e 100644
index b81cd054e385643f76b0b4c0b4aaf26ca75e7974..7cd4106d1db45d2b7cd7f08c55804fb6f5e78cdd 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1,7 +1,13 @@
@@ -1,8 +1,13 @@
package net.pl3x.purpur;
import net.minecraft.server.level.ServerLevel;
+import net.minecraft.core.Registry;
+import net.minecraft.resources.ResourceLocation;
+import net.minecraft.world.item.Item;
+import net.minecraft.world.item.Items;
+
import org.bukkit.configuration.ConfigurationSection;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -75,6 +81,29 @@ public class PurpurWorldConfig {
@@ -77,6 +82,29 @@ public class PurpurWorldConfig {
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
index c13a37baf05af23ad332d5ee2892c0efc3f79b5e..ed4c61a934b5bf470961a384813eb25ffe416082 100644
index 7cd4106d1db45d2b7cd7f08c55804fb6f5e78cdd..271d0f1ff56fd13d2134d5213952de5bd0f10b4b 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1035,7 +1035,10 @@ public class PurpurWorldConfig {
@@ -1036,7 +1036,10 @@ public class PurpurWorldConfig {
public boolean turtleRidable = false;
public boolean turtleRidableInWater = false;
public double turtleMaxHealth = 30.0D;
@@ -65,7 +65,7 @@ index c13a37baf05af23ad332d5ee2892c0efc3f79b5e..ed4c61a934b5bf470961a384813eb25f
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
if (PurpurConfig.version < 10) {
@@ -1044,6 +1047,9 @@ public class PurpurWorldConfig {
@@ -1045,6 +1048,9 @@ public class PurpurWorldConfig {
set("mobs.turtle.attributes.max_health", oldValue);
}
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
index ed4c61a934b5bf470961a384813eb25ffe416082..3c69825659439a0a5a7ee6fc97d98bf0ca3c8c5a 100644
index 271d0f1ff56fd13d2134d5213952de5bd0f10b4b..9e690ab6304a5aeb07ca98aa217c6bb588e72a4d 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -424,6 +424,10 @@ public class PurpurWorldConfig {
@@ -425,6 +425,10 @@ public class PurpurWorldConfig {
public double giantMovementSpeed = 0.5D;
public double giantAttackDamage = 50.0D;
public double giantMaxHealth = 100.0D;
@@ -134,7 +134,7 @@ index ed4c61a934b5bf470961a384813eb25ffe416082..3c69825659439a0a5a7ee6fc97d98bf0
private void giantSettings() {
giantRidable = getBoolean("mobs.giant.ridable", giantRidable);
giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater);
@@ -439,6 +443,10 @@ public class PurpurWorldConfig {
@@ -440,6 +444,10 @@ public class PurpurWorldConfig {
set("mobs.giant.attributes.max_health", oldValue);
}
giantMaxHealth = getDouble("mobs.giant.attributes.max_health", giantMaxHealth);

View File

@@ -42,10 +42,10 @@ index 004bdf930769974ed02c68b8939af8e96bad88a7..39402063a73fbdbefdbcd7b4f7ea675c
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
index 3c69825659439a0a5a7ee6fc97d98bf0ca3c8c5a..bddf84e9830c4e46f0648f76523af471c3b03e66 100644
index 9e690ab6304a5aeb07ca98aa217c6bb588e72a4d..9e46b2a6e8ec7da40bce1cd010593f2c96b6f44a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1222,6 +1222,7 @@ public class PurpurWorldConfig {
@@ -1223,6 +1223,7 @@ public class PurpurWorldConfig {
public double zombieHorseJumpStrengthMax = 1.0D;
public double zombieHorseMovementSpeedMin = 0.2D;
public double zombieHorseMovementSpeedMax = 0.2D;
@@ -53,7 +53,7 @@ index 3c69825659439a0a5a7ee6fc97d98bf0ca3c8c5a..bddf84e9830c4e46f0648f76523af471
private void zombieHorseSettings() {
zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater);
zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim);
@@ -1237,6 +1238,7 @@ public class PurpurWorldConfig {
@@ -1238,6 +1239,7 @@ public class PurpurWorldConfig {
zombieHorseJumpStrengthMax = getDouble("mobs.zombie_horse.attributes.jump_strength.max", zombieHorseJumpStrengthMax);
zombieHorseMovementSpeedMin = getDouble("mobs.zombie_horse.attributes.movement_speed.min", zombieHorseMovementSpeedMin);
zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax);

View File

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

View File

@@ -38,10 +38,10 @@ index 587feda351efae19407cb9f23c6c1d42d5ed0cc9..e0ba1ef404c9f8ba1eae563b733d10d9
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
index cfd14b07e733434f208199def72626437b7a69ba..92b19b28abffdab961550c001fbed7c26d62a05d 100644
index fa0ff30f15931e63a1daa36fafc8bed103686a8c..40ee3268f4e050846bdedea1181f3076cb595a0e 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -800,6 +800,8 @@ public class PurpurWorldConfig {
@@ -801,6 +801,8 @@ public class PurpurWorldConfig {
public boolean rabbitRidable = false;
public boolean rabbitRidableInWater = false;
public double rabbitMaxHealth = 3.0D;
@@ -50,7 +50,7 @@ index cfd14b07e733434f208199def72626437b7a69ba..92b19b28abffdab961550c001fbed7c2
private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -809,6 +811,8 @@ public class PurpurWorldConfig {
@@ -810,6 +812,8 @@ public class PurpurWorldConfig {
set("mobs.rabbit.attributes.max_health", oldValue);
}
rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Tulips change fox type
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
index 9ce846d057a08b6a2b6576255bc55293707e3d24..d31b906c87e22f505bee22f21dd8ec1e047f6ffe 100644
index 80749df5d00df415a1b9e7c0e8586625b6453ffb..406b6ed8084c18da1062d8e8049bdfff65101565 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -34,6 +34,7 @@ import net.minecraft.tags.Tag;
@@ -75,10 +75,10 @@ index 9ce846d057a08b6a2b6576255bc55293707e3d24..d31b906c87e22f505bee22f21dd8ec1e
// Paper start - Cancellable death event
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
index 92b19b28abffdab961550c001fbed7c26d62a05d..6def31d73b17856518c065ea35b2aa094f8ffe89 100644
index 40ee3268f4e050846bdedea1181f3076cb595a0e..cdf0357c2941511a6606e0dd0cb8f27d3a0e4b53 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -394,6 +394,7 @@ public class PurpurWorldConfig {
@@ -395,6 +395,7 @@ public class PurpurWorldConfig {
public boolean foxRidable = false;
public boolean foxRidableInWater = false;
public double foxMaxHealth = 10.0D;
@@ -86,7 +86,7 @@ index 92b19b28abffdab961550c001fbed7c26d62a05d..6def31d73b17856518c065ea35b2aa09
private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -403,6 +404,7 @@ public class PurpurWorldConfig {
@@ -404,6 +405,7 @@ public class PurpurWorldConfig {
set("mobs.fox.attributes.max_health", oldValue);
}
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(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
index 6def31d73b17856518c065ea35b2aa094f8ffe89..3f851b16e3410cd5c655a04eddbc9396aefe4927 100644
index cdf0357c2941511a6606e0dd0cb8f27d3a0e4b53..8e3c1ed3dd273ec8da0f89bd3417f2fd3f4fdc2a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -776,6 +776,8 @@ public class PurpurWorldConfig {
@@ -777,6 +777,8 @@ public class PurpurWorldConfig {
public boolean polarBearRidable = false;
public boolean polarBearRidableInWater = false;
public double polarBearMaxHealth = 30.0D;
@@ -71,7 +71,7 @@ index 6def31d73b17856518c065ea35b2aa094f8ffe89..3f851b16e3410cd5c655a04eddbc9396
private void polarBearSettings() {
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
@@ -785,6 +787,9 @@ public class PurpurWorldConfig {
@@ -786,6 +788,9 @@ public class PurpurWorldConfig {
set("mobs.polar_bear.attributes.max_health", oldValue);
}
polarBearMaxHealth = getDouble("mobs.polar_bear.attributes.max_health", polarBearMaxHealth);

View File

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

View File

@@ -17,10 +17,10 @@ index 5fc66d7096afcfe63eba774e1dc330ac3263e4b0..7a3a364f5e3b025cc0a5694401cb9298
if (!this.canTick) {
if (this.noTickPoseDirty) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index b4c09f8a37efd66a2d79373923c774b798fa6e35..eb318f03866927fb4e81bdb814d7c0931a6960cb 100644
index a2029fb5700f208929b88747453cca64d85173f6..6ca36b4637fbef94e61a5f14c0c7059e1ee39278 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -66,6 +66,11 @@ public class PurpurWorldConfig {
@@ -67,6 +67,11 @@ public class PurpurWorldConfig {
return PurpurConfig.config.getString("world-settings." + worldName + "." + path, PurpurConfig.config.getString("world-settings.default." + path));
}

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
index eb318f03866927fb4e81bdb814d7c0931a6960cb..88f2405c531574b6042d2be5a358f003200c1879 100644
index 6ca36b4637fbef94e61a5f14c0c7059e1ee39278..db90479d1d84ffaa5bd348d90c813696c02bbb8d 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -183,6 +183,9 @@ public class PurpurWorldConfig {
@@ -184,6 +184,9 @@ public class PurpurWorldConfig {
public boolean catRidable = false;
public boolean catRidableInWater = false;
public double catMaxHealth = 10.0D;
@@ -62,7 +62,7 @@ index eb318f03866927fb4e81bdb814d7c0931a6960cb..88f2405c531574b6042d2be5a358f003
private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -192,6 +195,9 @@ public class PurpurWorldConfig {
@@ -193,6 +196,9 @@ public class PurpurWorldConfig {
set("mobs.cat.attributes.max_health", oldValue);
}
catMaxHealth = getDouble("mobs.cat.attributes.max_health", catMaxHealth);

View File

@@ -114,10 +114,10 @@ index bee82d5bf600cbeacfcede600e5606529af1435e..9da76357da891a70e20ad80f50873b3b
public Cow getBreedOffspring(ServerLevel world, AgeableMob entity) {
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
index 88f2405c531574b6042d2be5a358f003200c1879..0e8efd3a41b121e54f67b6f07d1b7462d4fd190f 100644
index db90479d1d84ffaa5bd348d90c813696c02bbb8d..35e9a071e76d130e2550391cfc41c4e9959949e4 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -245,6 +245,7 @@ public class PurpurWorldConfig {
@@ -246,6 +246,7 @@ public class PurpurWorldConfig {
public boolean cowRidable = false;
public boolean cowRidableInWater = false;
public double cowMaxHealth = 10.0D;
@@ -125,7 +125,7 @@ index 88f2405c531574b6042d2be5a358f003200c1879..0e8efd3a41b121e54f67b6f07d1b7462
private void cowSettings() {
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
@@ -254,6 +255,7 @@ public class PurpurWorldConfig {
@@ -255,6 +256,7 @@ public class PurpurWorldConfig {
set("mobs.cow.attributes.max_health", oldValue);
}
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
index 0e8efd3a41b121e54f67b6f07d1b7462d4fd190f..6629a895a3f0f8b1ccb760941c6bd37e912d7a64 100644
index 35e9a071e76d130e2550391cfc41c4e9959949e4..ccf98f04240b563c1ebfca21d3baa8e3d30f887d 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -735,6 +735,7 @@ public class PurpurWorldConfig {
@@ -736,6 +736,7 @@ public class PurpurWorldConfig {
public boolean pigRidable = false;
public boolean pigRidableInWater = false;
public double pigMaxHealth = 10.0D;
@@ -39,7 +39,7 @@ index 0e8efd3a41b121e54f67b6f07d1b7462d4fd190f..6629a895a3f0f8b1ccb760941c6bd37e
private void pigSettings() {
pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
@@ -744,6 +745,7 @@ public class PurpurWorldConfig {
@@ -745,6 +746,7 @@ public class PurpurWorldConfig {
set("mobs.pig.attributes.max_health", oldValue);
}
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
index 6629a895a3f0f8b1ccb760941c6bd37e912d7a64..002064c2660e746c9ea1ef0d1b0c7610d5c97681 100644
index ccf98f04240b563c1ebfca21d3baa8e3d30f887d..bba25fff203fe3169293d9965b5226a672bacb28 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -966,6 +966,8 @@ public class PurpurWorldConfig {
@@ -967,6 +967,8 @@ public class PurpurWorldConfig {
public boolean snowGolemRidableInWater = false;
public boolean snowGolemLeaveTrailWhenRidden = false;
public double snowGolemMaxHealth = 4.0D;
@@ -44,7 +44,7 @@ index 6629a895a3f0f8b1ccb760941c6bd37e912d7a64..002064c2660e746c9ea1ef0d1b0c7610
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -976,6 +978,8 @@ public class PurpurWorldConfig {
@@ -977,6 +979,8 @@ public class PurpurWorldConfig {
set("mobs.snow_golem.attributes.max_health", oldValue);
}
snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Ender dragon always drop full exp
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index 1f40e8d1e73fec0aaee29c658e3d24f499fa9501..1e97d52e02d401c905e1dfcd758c63e44857835b 100644
index 177c5b385613ac08a75500013326874ff31a1992..a70c631691512a633c7fe4df9e9f2881f7397298 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -709,7 +709,7 @@ public class EnderDragon extends Mob implements Enemy {
@@ -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
index 002064c2660e746c9ea1ef0d1b0c7610d5c97681..6a2632924054c199cba560cfef67e40fe1aef446 100644
index bba25fff203fe3169293d9965b5226a672bacb28..2553712a4488b3eb8179ea5c25852534e4129f26 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -348,6 +348,7 @@ public class PurpurWorldConfig {
@@ -349,6 +349,7 @@ public class PurpurWorldConfig {
public boolean enderDragonRidableInWater = false;
public double enderDragonMaxY = 256D;
public double enderDragonMaxHealth = 200.0D;
@@ -29,7 +29,7 @@ index 002064c2660e746c9ea1ef0d1b0c7610d5c97681..6a2632924054c199cba560cfef67e40f
private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
@@ -362,6 +363,7 @@ public class PurpurWorldConfig {
@@ -363,6 +364,7 @@ public class PurpurWorldConfig {
set("mobs.ender_dragon.attributes.max_health", oldValue);
}
enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth);

View File

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

View File

@@ -68,10 +68,10 @@ index 9b5d11ece006d7aa893360a84ba652c666517ac1..2519e8946064a2326ef9acde1e66d067
@Override
public ClientboundBlockEntityDataPacket getUpdatePacket() {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 6ec28fc27b5362fe6928677b8c17dc60e56b36cc..9eda28fd9b10df4ae2f2df1b03b4321b203608bc 100644
index 925d50b1b1e83dda6f06e26c9fac3dc82c72b1da..d8de869f820d49bebd8facad96d127504b16c2fe 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -109,8 +109,10 @@ public class PurpurWorldConfig {
@@ -110,8 +110,10 @@ public class PurpurWorldConfig {
});
}

View File

@@ -42,10 +42,10 @@ index a242a80b16c7d074d52a52728646224b1a0091d4..5d9d77cb382c8075af2713a0ce26c28a
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 9eda28fd9b10df4ae2f2df1b03b4321b203608bc..267f2efb10fb1603631efbb0b675a1525492f5aa 100644
index d8de869f820d49bebd8facad96d127504b16c2fe..0edacc1fd38f9552701563f61f2879b378521e02 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -109,6 +109,11 @@ public class PurpurWorldConfig {
@@ -110,6 +110,11 @@ public class PurpurWorldConfig {
});
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Minecart settings and WASD controls
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index ce9a348796a8c262e144c09d753cda2e28998fbf..5d9d9d2d7a1cb68e245157e48cf938f3f7843b2f 100644
index 373a0e9cb219a9ec3236771a28ba522a9cc452c3..182b9e850be72b72636d03c4d303fb264ca875f6 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -986,6 +986,7 @@ public class ServerPlayer extends Player {
@@ -135,7 +135,7 @@ index 9ea3837acc315e5c57f28c63c356efd633f1e6cf..e8b76b67f972c2f44e7611434246a822
}
}
diff --git a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
index 1179c62695da4dcf02590c97d8da3c6fcdbee9ef..a107304351381d68fdaa35a4d7ff214e6c1546a6 100644
index 04d5ef90cd4171f9360017ac0c01ce48ae6ec983..7538262e14c86e4da9cd4cb887b76f649bfef2e6 100644
--- a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
+++ b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
@@ -70,7 +70,7 @@ import net.minecraft.world.phys.shapes.VoxelShape;
@@ -148,19 +148,19 @@ index 1179c62695da4dcf02590c97d8da3c6fcdbee9ef..a107304351381d68fdaa35a4d7ff214e
protected final float explosionResistance;
protected final boolean isRandomlyTicking;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 267f2efb10fb1603631efbb0b675a1525492f5aa..340546a3478337081978c7394ec92769926b36e6 100644
index 0edacc1fd38f9552701563f61f2879b378521e02..dfcb9e6109f30ec3c5c828dc705a06f1a6479917 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -4,6 +4,8 @@ import net.minecraft.core.Registry;
@@ -5,6 +5,8 @@ import net.minecraft.core.Registry;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.Items;
+import net.minecraft.world.level.block.Block;
+import net.minecraft.world.level.block.Blocks;
import org.bukkit.configuration.ConfigurationSection;
@@ -71,6 +73,68 @@ public class PurpurWorldConfig {
import java.util.ArrayList;
@@ -72,6 +74,68 @@ public class PurpurWorldConfig {
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Disable loot drops on death by cramming
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index bc4c210a7161c8af3817a828dbdd7601dc649df8..e284106d762735a7c203c19e3c5a06a6404b27b8 100644
index 28d5fc868498a4a6746b9defa1c06da27a4aa495..5b25fc620161053e1f3811dbdd7fac01491024fd 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1700,8 +1700,10 @@ public abstract class LivingEntity extends Entity {
@@ -20,10 +20,10 @@ index bc4c210a7161c8af3817a828dbdd7601dc649df8..e284106d762735a7c203c19e3c5a06a6
// CraftBukkit start - Call death event
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
index 340546a3478337081978c7394ec92769926b36e6..408a9b6777497961280706f6a2860f9ea9d02518 100644
index dfcb9e6109f30ec3c5c828dc705a06f1a6479917..9e94fa19b81d40ddc770468a9ce2397f0698542c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -173,6 +173,11 @@ public class PurpurWorldConfig {
@@ -174,6 +174,11 @@ public class PurpurWorldConfig {
});
}

View File

@@ -28,10 +28,10 @@ index f33977d95b6db473be4f95075ba99caf90ad0220..56dc04d8875971ee9a5d077a695509af
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
index 408a9b6777497961280706f6a2860f9ea9d02518..928bddf54f77bd97cffc31e8bada979f42fb9120 100644
index 9e94fa19b81d40ddc770468a9ce2397f0698542c..3a3a5569af14d128f4e812af121f7e9d6f69873c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -174,8 +174,10 @@ public class PurpurWorldConfig {
@@ -175,8 +175,10 @@ public class PurpurWorldConfig {
}
public boolean disableDropsOnCrammingDeath = 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
index 928bddf54f77bd97cffc31e8bada979f42fb9120..2788371531f09876a4e5e0d53c58de631187410c 100644
index 3a3a5569af14d128f4e812af121f7e9d6f69873c..a11816a409bbbed1925cf4b9852fb19957d49e9f 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1278,6 +1278,7 @@ public class PurpurWorldConfig {
@@ -1279,6 +1279,7 @@ public class PurpurWorldConfig {
public boolean witherSkeletonRidable = false;
public boolean witherSkeletonRidableInWater = false;
public double witherSkeletonMaxHealth = 20.0D;
@@ -28,7 +28,7 @@ index 928bddf54f77bd97cffc31e8bada979f42fb9120..2788371531f09876a4e5e0d53c58de63
private void witherSkeletonSettings() {
witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable);
witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater);
@@ -1287,6 +1288,7 @@ public class PurpurWorldConfig {
@@ -1288,6 +1289,7 @@ public class PurpurWorldConfig {
set("mobs.wither_skeleton.attributes.max_health", oldValue);
}
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) {
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
index 2788371531f09876a4e5e0d53c58de631187410c..fd62ec22aa21b8c129c4f9fa304fe75b88cd2728 100644
index a11816a409bbbed1925cf4b9852fb19957d49e9f..91ffc2462433477f4a7d9a200db2455759a2b48b 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -175,9 +175,11 @@ public class PurpurWorldConfig {
@@ -176,9 +176,11 @@ public class PurpurWorldConfig {
public boolean disableDropsOnCrammingDeath = false;
public boolean milkCuresBadOmen = true;

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
index fd62ec22aa21b8c129c4f9fa304fe75b88cd2728..a0183eefc826d8c8d8abfa7a3d8e9eba22c9b233 100644
index 91ffc2462433477f4a7d9a200db2455759a2b48b..6ed0c49462280d48346fe358235175c02c9edce6 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -347,6 +347,7 @@ public class PurpurWorldConfig {
@@ -348,6 +348,7 @@ public class PurpurWorldConfig {
public boolean creeperRidableInWater = false;
public double creeperMaxHealth = 20.0D;
public double creeperChargedChance = 0.0D;
@@ -49,7 +49,7 @@ index fd62ec22aa21b8c129c4f9fa304fe75b88cd2728..a0183eefc826d8c8d8abfa7a3d8e9eba
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -357,6 +358,7 @@ public class PurpurWorldConfig {
@@ -358,6 +359,7 @@ public class PurpurWorldConfig {
}
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth);
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
@@ -57,7 +57,7 @@ index fd62ec22aa21b8c129c4f9fa304fe75b88cd2728..a0183eefc826d8c8d8abfa7a3d8e9eba
}
public boolean dolphinRidable = false;
@@ -454,6 +456,7 @@ public class PurpurWorldConfig {
@@ -455,6 +457,7 @@ public class PurpurWorldConfig {
public boolean endermanRidable = false;
public boolean endermanRidableInWater = false;
public double endermanMaxHealth = 40.0D;
@@ -65,7 +65,7 @@ index fd62ec22aa21b8c129c4f9fa304fe75b88cd2728..a0183eefc826d8c8d8abfa7a3d8e9eba
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -463,6 +466,7 @@ public class PurpurWorldConfig {
@@ -464,6 +467,7 @@ public class PurpurWorldConfig {
set("mobs.enderman.attributes.max_health", oldValue);
}
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);

View File

@@ -41,10 +41,10 @@ index d2588a91b55aebdecf8e1644498111ccf84a9dc9..393061e13375bf7a7ee57973b4abac83
this.goalSelector.addGoal(8, new WaterAvoidingRandomStrollGoal(this, 0.35D));
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
index a0183eefc826d8c8d8abfa7a3d8e9eba22c9b233..eb9b74f2ed55dbfc458acbc989b2ad773605e13f 100644
index 6ed0c49462280d48346fe358235175c02c9edce6..c3037cc2400160a2bd61fbb9d3dbf5c6f068738b 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1206,6 +1206,7 @@ public class PurpurWorldConfig {
@@ -1207,6 +1207,7 @@ public class PurpurWorldConfig {
public double villagerMaxHealth = 20.0D;
public int villagerBrainTicks = 1;
public boolean villagerUseBrainTicksOnlyWhenLagging = true;
@@ -52,7 +52,7 @@ index a0183eefc826d8c8d8abfa7a3d8e9eba22c9b233..eb9b74f2ed55dbfc458acbc989b2ad77
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1217,6 +1218,7 @@ public class PurpurWorldConfig {
@@ -1218,6 +1219,7 @@ public class PurpurWorldConfig {
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);
villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks);
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
@@ -60,7 +60,7 @@ index a0183eefc826d8c8d8abfa7a3d8e9eba22c9b233..eb9b74f2ed55dbfc458acbc989b2ad77
}
public boolean vindicatorRidable = false;
@@ -1236,6 +1238,7 @@ public class PurpurWorldConfig {
@@ -1237,6 +1239,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderRidable = false;
public boolean wanderingTraderRidableInWater = false;
public double wanderingTraderMaxHealth = 20.0D;
@@ -68,7 +68,7 @@ index a0183eefc826d8c8d8abfa7a3d8e9eba22c9b233..eb9b74f2ed55dbfc458acbc989b2ad77
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -1245,6 +1248,7 @@ public class PurpurWorldConfig {
@@ -1246,6 +1249,7 @@ public class PurpurWorldConfig {
set("mobs.wandering_trader.attributes.max_health", oldValue);
}
wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth);

View File

@@ -49,10 +49,10 @@ index 393061e13375bf7a7ee57973b4abac83ffa15fa3..c48935d35a6141c41db22e3ec172d599
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index eb9b74f2ed55dbfc458acbc989b2ad773605e13f..eaa3843b155f60ca118ebe039e80834c535eae4d 100644
index c3037cc2400160a2bd61fbb9d3dbf5c6f068738b..af5cc5812ca32d641b57d0889bdc9ff1265919b9 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1207,6 +1207,7 @@ public class PurpurWorldConfig {
@@ -1208,6 +1208,7 @@ public class PurpurWorldConfig {
public int villagerBrainTicks = 1;
public boolean villagerUseBrainTicksOnlyWhenLagging = true;
public boolean villagerFollowEmeraldBlock = false;
@@ -60,7 +60,7 @@ index eb9b74f2ed55dbfc458acbc989b2ad773605e13f..eaa3843b155f60ca118ebe039e80834c
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1219,6 +1220,7 @@ public class PurpurWorldConfig {
@@ -1220,6 +1221,7 @@ public class PurpurWorldConfig {
villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks);
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
@@ -68,7 +68,7 @@ index eb9b74f2ed55dbfc458acbc989b2ad773605e13f..eaa3843b155f60ca118ebe039e80834c
}
public boolean vindicatorRidable = false;
@@ -1239,6 +1241,7 @@ public class PurpurWorldConfig {
@@ -1240,6 +1242,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderRidableInWater = false;
public double wanderingTraderMaxHealth = 20.0D;
public boolean wanderingTraderFollowEmeraldBlock = false;
@@ -76,7 +76,7 @@ index eb9b74f2ed55dbfc458acbc989b2ad773605e13f..eaa3843b155f60ca118ebe039e80834c
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -1249,6 +1252,7 @@ public class PurpurWorldConfig {
@@ -1250,6 +1253,7 @@ public class PurpurWorldConfig {
}
wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth);
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) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index eaa3843b155f60ca118ebe039e80834c535eae4d..322077863db0bfab4538e7c2b6b1dcc4dd576368 100644
index af5cc5812ca32d641b57d0889bdc9ff1265919b9..131999b8d456e12a21a995f1cef211816a679d23 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1208,6 +1208,8 @@ public class PurpurWorldConfig {
@@ -1209,6 +1209,8 @@ public class PurpurWorldConfig {
public boolean villagerUseBrainTicksOnlyWhenLagging = true;
public boolean villagerFollowEmeraldBlock = false;
public boolean villagerCanBeLeashed = false;
@@ -30,7 +30,7 @@ index eaa3843b155f60ca118ebe039e80834c535eae4d..322077863db0bfab4538e7c2b6b1dcc4
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1221,6 +1223,8 @@ public class PurpurWorldConfig {
@@ -1222,6 +1224,8 @@ public class PurpurWorldConfig {
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);

View File

@@ -58,10 +58,10 @@ index 695783e64564b1d2a178d57a89737d2a97ab9014..cd1a33a1f10d04a91358f51d736bda34
protected boolean canConvertToSource() {
return false;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 322077863db0bfab4538e7c2b6b1dcc4dd576368..96b97e2facd4bb27ccec2a3b971092f98277ca89 100644
index 131999b8d456e12a21a995f1cef211816a679d23..8e408a7636c7b1fde8d8cb331b0bf776781bd4d9 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -187,6 +187,13 @@ public class PurpurWorldConfig {
@@ -188,6 +188,13 @@ public class PurpurWorldConfig {
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
}

View File

@@ -18,10 +18,10 @@ index cd1a33a1f10d04a91358f51d736bda34110324c4..b0d671ba015d1ad37fdf600b8e70def2
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 96b97e2facd4bb27ccec2a3b971092f98277ca89..9c5112e80d6321dbc138b93bdc4bb750b52c019e 100644
index 8e408a7636c7b1fde8d8cb331b0bf776781bd4d9..587192b0509d5ea0724ed09eefb0e98e0a155e09 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -189,9 +189,13 @@ public class PurpurWorldConfig {
@@ -190,9 +190,13 @@ public class PurpurWorldConfig {
public boolean lavaInfinite = false;
public int lavaInfiniteRequiredSources = 2;

View File

@@ -40,10 +40,10 @@ index e0544699714fd4c6ef2deb17f49b8246a7021463..3dc2ebc102fe3f575eede672509f3302
return 0;
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 9c5112e80d6321dbc138b93bdc4bb750b52c019e..f8784ee4d4299ce2a262852e2fd297c66b0fba45 100644
index 587192b0509d5ea0724ed09eefb0e98e0a155e09..39a06008f0947808d2b0f3be6cf0f04a97ed99b0 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -141,6 +141,8 @@ public class PurpurWorldConfig {
@@ -142,6 +142,8 @@ public class PurpurWorldConfig {
public boolean idleTimeoutUpdateTabList = false;
public int playerSpawnInvulnerableTicks = 60;
public boolean playerInvulnerableWhileAcceptingResourcePack = false;
@@ -52,7 +52,7 @@ index 9c5112e80d6321dbc138b93bdc4bb750b52c019e..f8784ee4d4299ce2a262852e2fd297c6
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 {
@@ -149,6 +151,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);

View File

@@ -31,10 +31,10 @@ index 54bc16b6971259f6083ca530d4109909c86a3e1e..b4640aa8fe8a37a6f27a626862b68b63
protected void updateSwingTime() {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index f8784ee4d4299ce2a262852e2fd297c66b0fba45..cd0700332234a585beb786f14625fd7224daf23e 100644
index 39a06008f0947808d2b0f3be6cf0f04a97ed99b0..bfdb8ea6b6c687b3a10fdc988d630e583713977f 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -180,10 +180,14 @@ public class PurpurWorldConfig {
@@ -181,10 +181,14 @@ public class PurpurWorldConfig {
public boolean disableDropsOnCrammingDeath = false;
public boolean milkCuresBadOmen = true;
public double tridentLoyaltyVoidReturnHeight = 0.0D;

View File

@@ -43,10 +43,10 @@ index aab4a63e61aced51b1b6c885fd8b8426a4f14408..ad095c6bc7e00d286c83e37f84d8ed5d
// CraftBukkit start
Level world = pointer.getLevel();
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index cd0700332234a585beb786f14625fd7224daf23e..ee1ffc538333e4cd319fc8c6a37a8371ae4c2aba 100644
index bfdb8ea6b6c687b3a10fdc988d630e583713977f..b568f01d929718a61bd8e49adbcb9f5ef5bd5dce 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -190,6 +190,11 @@ public class PurpurWorldConfig {
@@ -191,6 +191,11 @@ public class PurpurWorldConfig {
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
}

View File

@@ -17,10 +17,10 @@ index aa7c022c4faade23bd9061311d4152cf845d3331..d4a19fc38027717e43353bc62ef23e56
} else {
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
index ee1ffc538333e4cd319fc8c6a37a8371ae4c2aba..edd40fa85f97a99d7b8e61a03ae2399952a6941c 100644
index b568f01d929718a61bd8e49adbcb9f5ef5bd5dce..baccb96be4654f595ae27913588bb69b39092627 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -177,12 +177,14 @@ public class PurpurWorldConfig {
@@ -178,12 +178,14 @@ public class PurpurWorldConfig {
});
}

View File

@@ -73,10 +73,10 @@ index e246bf034a86deba5a15e7c639f5e08213fe7eee..585b29a214d0306ac2d6a170125270c1
Entry<EquipmentSlot, ItemStack> entry = getRandomItemWith(enchantment, entityliving);
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
index edd40fa85f97a99d7b8e61a03ae2399952a6941c..fa206651a72e5826b4e8e2431774cd08f86d0e89 100644
index baccb96be4654f595ae27913588bb69b39092627..84a77fc5ee29bbd8cbc72367d5d20fa1a864f128 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -177,6 +177,7 @@ public class PurpurWorldConfig {
@@ -178,6 +178,7 @@ public class PurpurWorldConfig {
});
}
@@ -84,7 +84,7 @@ index edd40fa85f97a99d7b8e61a03ae2399952a6941c..fa206651a72e5826b4e8e2431774cd08
public boolean boatEjectPlayersOnLand = false;
public boolean disableDropsOnCrammingDeath = false;
public boolean milkCuresBadOmen = true;
@@ -184,6 +185,7 @@ public class PurpurWorldConfig {
@@ -185,6 +186,7 @@ public class PurpurWorldConfig {
public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D;
private void miscGameplayMechanicsSettings() {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Implement elytra settings
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index fda3a3f8fd354aa6dcb0696f0381a6ddb9bdbeb6..5de1f9729ad0d2857e4c25bb3b9bf3f575217e99 100644
index b4640aa8fe8a37a6f27a626862b68b630bd370cd..7192cc7e5a78af2a611bfd853972ac92a5490f23 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3278,7 +3278,16 @@ public abstract class LivingEntity extends Entity {
@@ -99,10 +99,10 @@ index 510ed67a7de2b503ab8b01db57ed09ee33b0d825..3f53dc8f250ad3f7616ce7ef0a2353ca
entityhuman.startAutoSpinAttack(20);
if (entityhuman.isOnGround()) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index fa206651a72e5826b4e8e2431774cd08f86d0e89..a4935e0192ee0d117521f8aee441effae4a25e4a 100644
index 84a77fc5ee29bbd8cbc72367d5d20fa1a864f128..41abe076b82aa3f37cfff1d35e6ce79e57e53183 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -73,6 +73,19 @@ public class PurpurWorldConfig {
@@ -74,6 +74,19 @@ public class PurpurWorldConfig {
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
}

View File

@@ -94,10 +94,10 @@ index 158719d46c96bb733a00e08c8285f41a48406abf..5201e59c7ce9e92790c185279ba69d7f
+ // Purpur end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a4935e0192ee0d117521f8aee441effae4a25e4a..d23ad60007ae246c66d9dc9d6cf180cc3675b31b 100644
index 41abe076b82aa3f37cfff1d35e6ce79e57e53183..4187dacabc3ef1995fdaa15da1847ddd5b38e93f 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -86,6 +86,49 @@ public class PurpurWorldConfig {
@@ -87,6 +87,49 @@ public class PurpurWorldConfig {
elytraDamagePerTridentBoost = getInt("gameplay-mechanics.elytra.damage-per-boost.trident", elytraDamagePerTridentBoost);
}

View File

@@ -167,10 +167,10 @@ index 04d09123f70a192f1283c0d7e8a8254f3d30889a..43ef93d2c0c59e0d7021ee9aa2b44345
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d23ad60007ae246c66d9dc9d6cf180cc3675b31b..f29c21a93c5f608f74885f702bd443759f344044 100644
index 4187dacabc3ef1995fdaa15da1847ddd5b38e93f..3333c2cc765b6315b604662f8236fa53f1b636ee 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -491,6 +491,9 @@ public class PurpurWorldConfig {
@@ -492,6 +492,9 @@ public class PurpurWorldConfig {
public boolean drownedRidableInWater = false;
public double drownedMaxHealth = 20.0D;
public double drownedSpawnReinforcements = 0.1D;
@@ -180,7 +180,7 @@ index d23ad60007ae246c66d9dc9d6cf180cc3675b31b..f29c21a93c5f608f74885f702bd44375
private void drownedSettings() {
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater);
@@ -501,6 +504,9 @@ public class PurpurWorldConfig {
@@ -502,6 +505,9 @@ public class PurpurWorldConfig {
}
drownedMaxHealth = getDouble("mobs.drowned.attributes.max_health", drownedMaxHealth);
drownedSpawnReinforcements = getDouble("mobs.drowned.attributes.spawn_reinforcements", drownedSpawnReinforcements);
@@ -190,7 +190,7 @@ index d23ad60007ae246c66d9dc9d6cf180cc3675b31b..f29c21a93c5f608f74885f702bd44375
}
public boolean elderGuardianRidable = false;
@@ -713,6 +719,9 @@ public class PurpurWorldConfig {
@@ -714,6 +720,9 @@ public class PurpurWorldConfig {
public boolean huskRidableInWater = false;
public double huskMaxHealth = 20.0D;
public double huskSpawnReinforcements = 0.1D;
@@ -200,7 +200,7 @@ index d23ad60007ae246c66d9dc9d6cf180cc3675b31b..f29c21a93c5f608f74885f702bd44375
private void huskSettings() {
huskRidable = getBoolean("mobs.husk.ridable", huskRidable);
huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater);
@@ -723,6 +732,9 @@ public class PurpurWorldConfig {
@@ -724,6 +733,9 @@ public class PurpurWorldConfig {
}
huskMaxHealth = getDouble("mobs.husk.attributes.max_health", huskMaxHealth);
huskSpawnReinforcements = getDouble("mobs.husk.attributes.spawn_reinforcements", huskSpawnReinforcements);
@@ -210,7 +210,7 @@ index d23ad60007ae246c66d9dc9d6cf180cc3675b31b..f29c21a93c5f608f74885f702bd44375
}
public boolean illusionerRidable = false;
@@ -1425,6 +1437,9 @@ public class PurpurWorldConfig {
@@ -1426,6 +1438,9 @@ public class PurpurWorldConfig {
public boolean zombieRidableInWater = false;
public double zombieMaxHealth = 20.0D;
public double zombieSpawnReinforcements = 0.1D;
@@ -220,7 +220,7 @@ index d23ad60007ae246c66d9dc9d6cf180cc3675b31b..f29c21a93c5f608f74885f702bd44375
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1435,6 +1450,9 @@ public class PurpurWorldConfig {
@@ -1436,6 +1451,9 @@ public class PurpurWorldConfig {
}
zombieMaxHealth = getDouble("mobs.zombie.attributes.max_health", zombieMaxHealth);
zombieSpawnReinforcements = getDouble("mobs.zombie.attributes.spawn_reinforcements", zombieSpawnReinforcements);
@@ -230,7 +230,7 @@ index d23ad60007ae246c66d9dc9d6cf180cc3675b31b..f29c21a93c5f608f74885f702bd44375
}
public boolean zombieHorseRidableInWater = false;
@@ -1468,6 +1486,9 @@ public class PurpurWorldConfig {
@@ -1469,6 +1487,9 @@ public class PurpurWorldConfig {
public boolean zombieVillagerRidableInWater = false;
public double zombieVillagerMaxHealth = 20.0D;
public double zombieVillagerSpawnReinforcements = 0.1D;
@@ -240,7 +240,7 @@ index d23ad60007ae246c66d9dc9d6cf180cc3675b31b..f29c21a93c5f608f74885f702bd44375
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -1478,12 +1499,18 @@ public class PurpurWorldConfig {
@@ -1479,12 +1500,18 @@ public class PurpurWorldConfig {
}
zombieVillagerMaxHealth = getDouble("mobs.zombie_villager.attributes.max_health", zombieVillagerMaxHealth);
zombieVillagerSpawnReinforcements = getDouble("mobs.zombie_villager.attributes.spawn_reinforcements", zombieVillagerSpawnReinforcements);
@@ -259,7 +259,7 @@ index d23ad60007ae246c66d9dc9d6cf180cc3675b31b..f29c21a93c5f608f74885f702bd44375
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -1494,5 +1521,8 @@ public class PurpurWorldConfig {
@@ -1495,5 +1522,8 @@ public class PurpurWorldConfig {
}
zombifiedPiglinMaxHealth = getDouble("mobs.zombified_piglin.attributes.max_health", zombifiedPiglinMaxHealth);
zombifiedPiglinSpawnReinforcements = getDouble("mobs.zombified_piglin.attributes.spawn_reinforcements", zombifiedPiglinSpawnReinforcements);

View File

@@ -258,10 +258,10 @@ index 5e069ac0c57d2a3a23f6e4483d12ce298d172691..916c29d08fbcf245ad6f50f8e8cc1736
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
index f29c21a93c5f608f74885f702bd443759f344044..cbba8100719c4a02271081c789a45d52d79f5279 100644
index 3333c2cc765b6315b604662f8236fa53f1b636ee..dd6ed02b70b76ffc0872acff6a02e7779ad6c239 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -904,6 +904,9 @@ public class PurpurWorldConfig {
@@ -905,6 +905,9 @@ public class PurpurWorldConfig {
public int phantomFlameFireTime = 8;
public boolean phantomAllowGriefing = false;
public double phantomMaxHealth = 20.0D;
@@ -271,7 +271,7 @@ index f29c21a93c5f608f74885f702bd443759f344044..cbba8100719c4a02271081c789a45d52
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -917,6 +920,9 @@ public class PurpurWorldConfig {
@@ -918,6 +921,9 @@ public class PurpurWorldConfig {
set("mobs.phantom.attributes.max_health", oldValue);
}
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
index cbba8100719c4a02271081c789a45d52d79f5279..e63a5b2f8d750386b8b89d512ae93855779d48f1 100644
index dd6ed02b70b76ffc0872acff6a02e7779ad6c239..85e2fa56c9e111b0716f9907467b2a61bc0f5e5c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -907,6 +907,18 @@ public class PurpurWorldConfig {
@@ -908,6 +908,18 @@ public class PurpurWorldConfig {
public double phantomAttackedByCrystalRadius = 0.0D;
public float phantomAttackedByCrystalDamage = 1.0F;
public double phantomOrbitCrystalRadius = 0.0D;
@@ -211,7 +211,7 @@ index cbba8100719c4a02271081c789a45d52d79f5279..e63a5b2f8d750386b8b89d512ae93855
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -923,6 +935,18 @@ public class PurpurWorldConfig {
@@ -924,6 +936,18 @@ public class PurpurWorldConfig {
phantomAttackedByCrystalRadius = getDouble("mobs.phantom.attacked-by-crystal-range", phantomAttackedByCrystalRadius);
phantomAttackedByCrystalDamage = (float) getDouble("mobs.phantom.attacked-by-crystal-damage", phantomAttackedByCrystalDamage);
phantomOrbitCrystalRadius = getDouble("mobs.phantom.orbit-crystal-radius", phantomOrbitCrystalRadius);

View File

@@ -18,17 +18,17 @@ index 163a7861f987c3832aac51cc6df950c768546731..cfe4cdbd28ff11ea2781d47fe6d8c2de
} else if ((Boolean) state.getValue(BedBlock.OCCUPIED)) {
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
index e63a5b2f8d750386b8b89d512ae93855779d48f1..aef00994ecb56e83500c2005b41cbeb992bf5ea2 100644
index 85e2fa56c9e111b0716f9907467b2a61bc0f5e5c..af52e400d2ac2d76539271a52676f0910ef45e6b 100644
--- a/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;
@@ -5,6 +5,7 @@ import net.minecraft.core.Registry;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.Items;
+import net.minecraft.world.level.Explosion;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks;
import org.bukkit.configuration.ConfigurationSection;
@@ -13,6 +14,8 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -38,7 +38,7 @@ index e63a5b2f8d750386b8b89d512ae93855779d48f1..aef00994ecb56e83500c2005b41cbeb9
import static net.pl3x.purpur.PurpurConfig.log;
public class PurpurWorldConfig {
@@ -250,6 +253,22 @@ public class PurpurWorldConfig {
@@ -251,6 +254,22 @@ public class PurpurWorldConfig {
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
}

View File

@@ -18,10 +18,10 @@ index af4eb4a8814491afef449a2874521636957d7557..365c28300ecfbe0161716972adf22a8a
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
index aef00994ecb56e83500c2005b41cbeb992bf5ea2..2d24f0002b63f83ef3950c218eeadf630a1591f4 100644
index af52e400d2ac2d76539271a52676f0910ef45e6b..b701a6ca68244d2ac2a87a84c3920cc5f90b5b06 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -290,6 +290,22 @@ public class PurpurWorldConfig {
@@ -291,6 +291,22 @@ public class PurpurWorldConfig {
lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether);
}

View File

@@ -89,10 +89,10 @@ index de3f7b0798d803e6d13a3c95aaaef3045ea22fed..9b8b82bf5bb276be51b8ba5c023879b3
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 2d24f0002b63f83ef3950c218eeadf630a1591f4..5a1f8bc6dca2f9e65ee2bd95a46f3bb3a3c5b447 100644
index b701a6ca68244d2ac2a87a84c3920cc5f90b5b06..c220e1f06e65f945f12b05818e3cffaa756f624e 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -89,6 +89,11 @@ public class PurpurWorldConfig {
@@ -90,6 +90,11 @@ public class PurpurWorldConfig {
elytraDamagePerTridentBoost = getInt("gameplay-mechanics.elytra.damage-per-boost.trident", elytraDamagePerTridentBoost);
}

View File

@@ -55,10 +55,10 @@ index 7192cc7e5a78af2a611bfd853972ac92a5490f23..d96c4d52282e69180273322cb9a83f73
}
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 5a1f8bc6dca2f9e65ee2bd95a46f3bb3a3c5b447..6b982ddaa5ee787561ce1ebd7eecf7fe464271fe 100644
index c220e1f06e65f945f12b05818e3cffaa756f624e..cad7a47268ac0ded1622e6ff8c033fa403df7ace 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -207,6 +207,7 @@ public class PurpurWorldConfig {
@@ -208,6 +208,7 @@ public class PurpurWorldConfig {
public boolean playerInvulnerableWhileAcceptingResourcePack = false;
public String playerDeathExpDropEquation = "expLevel * 7";
public int playerDeathExpDropMax = 100;
@@ -66,7 +66,7 @@ index 5a1f8bc6dca2f9e65ee2bd95a46f3bb3a3c5b447..6b982ddaa5ee787561ce1ebd7eecf7fe
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 {
@@ -217,6 +218,7 @@ public class PurpurWorldConfig {
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);

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
index 6b982ddaa5ee787561ce1ebd7eecf7fe464271fe..dd88d36794257e053c80f73323bfdf1672bbfb4a 100644
index cad7a47268ac0ded1622e6ff8c033fa403df7ace..dfe9465686878ca22d2a36c872d39f5a5759aa27 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1243,6 +1243,7 @@ public class PurpurWorldConfig {
@@ -1244,6 +1244,7 @@ public class PurpurWorldConfig {
public boolean squidRidable = false;
public double squidMaxHealth = 10.0D;
@@ -16,7 +16,7 @@ index 6b982ddaa5ee787561ce1ebd7eecf7fe464271fe..dd88d36794257e053c80f73323bfdf16
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
if (PurpurConfig.version < 10) {
@@ -1251,6 +1252,7 @@ public class PurpurWorldConfig {
@@ -1252,6 +1253,7 @@ public class PurpurWorldConfig {
set("mobs.squid.attributes.max_health", oldValue);
}
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);
@@ -25,7 +25,7 @@ index 6b982ddaa5ee787561ce1ebd7eecf7fe464271fe..dd88d36794257e053c80f73323bfdf16
public boolean spiderRidable = false;
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index f36c97529edbd3642d0ba37887a232226f766a35..6b6750f20a70bd7dd74db431321d57e306b1e2cd 100644
index 48ce9975b872c259dae1348148203fdbcb25e2ee..073b0e6dbd4be7cb7edd8864b1be1c4b6a56e641 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -14,6 +14,7 @@ import net.minecraft.world.entity.ambient.AmbientCreature;

View File

@@ -47,10 +47,10 @@ index 916c29d08fbcf245ad6f50f8e8cc173677b01081..c55aba456aa144e58fc35877c61eff30
list.sort(Comparator.<Player, Double>comparing(Entity::getY).reversed()); // Paper - remap fix
Iterator iterator = list.iterator();
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index dd88d36794257e053c80f73323bfdf1672bbfb4a..5cd4122edfaaeff27bbb605922442454fc4d925b 100644
index dfe9465686878ca22d2a36c872d39f5a5759aa27..c5bf161afb49eec474968ee112997f6bc902e943 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -961,6 +961,9 @@ public class PurpurWorldConfig {
@@ -962,6 +962,9 @@ public class PurpurWorldConfig {
public int phantomSpawnOverheadRadius = 10;
public int phantomSpawnMinPerAttempt = 1;
public int phantomSpawnMaxPerAttempt = -1;
@@ -60,7 +60,7 @@ index dd88d36794257e053c80f73323bfdf1672bbfb4a..5cd4122edfaaeff27bbb605922442454
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -989,6 +992,9 @@ public class PurpurWorldConfig {
@@ -990,6 +993,9 @@ public class PurpurWorldConfig {
phantomSpawnOverheadRadius = getInt("mobs.phantom.spawn.overhead.radius", phantomSpawnOverheadRadius);
phantomSpawnMinPerAttempt = getInt("mobs.phantom.spawn.per-attempt.min", phantomSpawnMinPerAttempt);
phantomSpawnMaxPerAttempt = getInt("mobs.phantom.spawn.per-attempt.max", phantomSpawnMaxPerAttempt);

View File

@@ -18,10 +18,10 @@ index 5e100dbdbd6cfb4aa34b0d6b1ce0913899f60b7c..1e05cc98a332e5b115c4670e5331e679
private boolean hungry() {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 5cd4122edfaaeff27bbb605922442454fc4d925b..68439a33a3cc8c55506dc0e6d977ac0c9d00fb50 100644
index c5bf161afb49eec474968ee112997f6bc902e943..2be05180781a75fa2d4cf8271edddf0faa0feea1 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1386,6 +1386,7 @@ public class PurpurWorldConfig {
@@ -1387,6 +1387,7 @@ public class PurpurWorldConfig {
public boolean villagerCanBeLeashed = false;
public int villagerSpawnIronGolemRadius = 0;
public int villagerSpawnIronGolemLimit = 0;
@@ -29,7 +29,7 @@ index 5cd4122edfaaeff27bbb605922442454fc4d925b..68439a33a3cc8c55506dc0e6d977ac0c
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1401,6 +1402,7 @@ public class PurpurWorldConfig {
@@ -1402,6 +1403,7 @@ public class PurpurWorldConfig {
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius);
villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit);

View File

@@ -17,10 +17,10 @@ index 9228c0bc797fb95c8ac949bdc568eadafee84a80..f2c9f841d397f445cd3d0420f19e765c
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 68439a33a3cc8c55506dc0e6d977ac0c9d00fb50..12c3a1bd4bb991828084409a88c2375001f5ad01 100644
index 2be05180781a75fa2d4cf8271edddf0faa0feea1..517e3f807b3dd8420b9152fd47f24eedf905994a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -320,6 +320,11 @@ public class PurpurWorldConfig {
@@ -321,6 +321,11 @@ public class PurpurWorldConfig {
signRightClickEdit = getBoolean("blocks.sign.right-click-edit", signRightClickEdit);
}

View File

@@ -29,10 +29,10 @@ index d96c4d52282e69180273322cb9a83f7365667fe3..0fa7a658af3dc1766e06d90d396a426c
event.setCancelled(itemstack == null);
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
index 12c3a1bd4bb991828084409a88c2375001f5ad01..bebbe0fc92cabdd719f8ed5f61a470a94dfb7099 100644
index 517e3f807b3dd8420b9152fd47f24eedf905994a..bd00932e1dcbd83545be745d0a1d62f7905912f8 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -208,6 +208,7 @@ public class PurpurWorldConfig {
@@ -209,6 +209,7 @@ public class PurpurWorldConfig {
public String playerDeathExpDropEquation = "expLevel * 7";
public int playerDeathExpDropMax = 100;
public boolean teleportIfOutsideBorder = false;
@@ -40,7 +40,7 @@ index 12c3a1bd4bb991828084409a88c2375001f5ad01..bebbe0fc92cabdd719f8ed5f61a470a9
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 {
@@ -219,6 +220,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);

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
index bebbe0fc92cabdd719f8ed5f61a470a94dfb7099..d75b01c785986f9cc4174aea6b3afce303d4130e 100644
index bd00932e1dcbd83545be745d0a1d62f7905912f8..82946ea3a5492b540fef3d1a269a229875928c83 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1415,6 +1415,7 @@ public class PurpurWorldConfig {
@@ -1416,6 +1416,7 @@ public class PurpurWorldConfig {
public boolean vindicatorRidable = false;
public boolean vindicatorRidableInWater = false;
public double vindicatorMaxHealth = 24.0D;
@@ -41,7 +41,7 @@ index bebbe0fc92cabdd719f8ed5f61a470a94dfb7099..d75b01c785986f9cc4174aea6b3afce3
private void vindicatorSettings() {
vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable);
vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater);
@@ -1424,6 +1425,7 @@ public class PurpurWorldConfig {
@@ -1425,6 +1426,7 @@ public class PurpurWorldConfig {
set("mobs.vindicator.attributes.max_health", oldValue);
}
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) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d75b01c785986f9cc4174aea6b3afce303d4130e..78f3a0f2e9ccf855b91aa36bdd987c2616fc5544 100644
index 82946ea3a5492b540fef3d1a269a229875928c83..accc3e94c8ef3ffb485ef87ddf821b0a0275e81b 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -279,8 +279,10 @@ public class PurpurWorldConfig {
@@ -280,8 +280,10 @@ public class PurpurWorldConfig {
}
public boolean dispenserApplyCursedArmor = true;

View File

@@ -37,10 +37,10 @@ index c81af461fa01dac0b7b26becc1a5e7ae31bb5f95..2dbc71a3d76cc87e2683b8f351bd8db0
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 78f3a0f2e9ccf855b91aa36bdd987c2616fc5544..36ab21f01abc8700a89c04266b9054dc38dfdbca 100644
index accc3e94c8ef3ffb485ef87ddf821b0a0275e81b..20424aeb972ac8ea81797cc9ce2b5c9615a49b66 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -262,6 +262,11 @@ public class PurpurWorldConfig {
@@ -263,6 +263,11 @@ public class PurpurWorldConfig {
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
}

View File

@@ -35,7 +35,7 @@ index 7538262e14c86e4da9cd4cb887b76f649bfef2e6..f34973be478de4f088a0593b45bd89e5
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 36ab21f01abc8700a89c04266b9054dc38dfdbca..37c6816545d8b449e519454bc22c7b7d5e6aa44d 100644
index 20424aeb972ac8ea81797cc9ce2b5c9615a49b66..9c84e332ccfd430c780edb0bbe7fcb61ea302b15 100644
--- a/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;
@@ -49,7 +49,7 @@ index 36ab21f01abc8700a89c04266b9054dc38dfdbca..37c6816545d8b449e519454bc22c7b7d
import java.util.logging.Level;
import static net.pl3x.purpur.PurpurConfig.log;
@@ -262,6 +264,28 @@ public class PurpurWorldConfig {
@@ -263,6 +265,28 @@ public class PurpurWorldConfig {
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
}

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
index 37c6816545d8b449e519454bc22c7b7d5e6aa44d..12dd2095643721189d8f6b7bcc04591f8290da06 100644
index 9c84e332ccfd430c780edb0bbe7fcb61ea302b15..10ad83ad209e0e9e408d112908bb78243cd36a87 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -530,6 +530,7 @@ public class PurpurWorldConfig {
@@ -531,6 +531,7 @@ public class PurpurWorldConfig {
public float dolphinSpitSpeed = 1.0F;
public float dolphinSpitDamage = 2.0F;
public double dolphinMaxHealth = 10.0D;
@@ -28,7 +28,7 @@ index 37c6816545d8b449e519454bc22c7b7d5e6aa44d..12dd2095643721189d8f6b7bcc04591f
private void dolphinSettings() {
dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable);
dolphinSpitCooldown = getInt("mobs.dolphin.spit.cooldown", dolphinSpitCooldown);
@@ -541,6 +542,7 @@ public class PurpurWorldConfig {
@@ -542,6 +543,7 @@ public class PurpurWorldConfig {
set("mobs.dolphin.attributes.max_health", oldValue);
}
dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth);

View File

@@ -60,10 +60,10 @@ index 6f7e6429c35eea346517cbf08cf223fc6d838a8c..6a77112180556675af38cb1b3ce0b38a
+ // Purpur
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 12dd2095643721189d8f6b7bcc04591f8290da06..20dc02807c5416da15fc63e2c5975dc29d6cdf36 100644
index 10ad83ad209e0e9e408d112908bb78243cd36a87..6b0e3963e7ce797f09d8c19f17eaf28b573f2181 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1290,6 +1290,7 @@ public class PurpurWorldConfig {
@@ -1291,6 +1291,7 @@ public class PurpurWorldConfig {
public boolean squidRidable = false;
public double squidMaxHealth = 10.0D;
public boolean squidImmuneToEAR = true;
@@ -71,7 +71,7 @@ index 12dd2095643721189d8f6b7bcc04591f8290da06..20dc02807c5416da15fc63e2c5975dc2
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
if (PurpurConfig.version < 10) {
@@ -1299,6 +1300,7 @@ public class PurpurWorldConfig {
@@ -1300,6 +1301,7 @@ public class PurpurWorldConfig {
}
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);
squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);

View File

@@ -27,10 +27,10 @@ index 429f710c6814ad796d78ad6d5dbbffd66c4961df..fce6d351277c2de8eaaaf93e0b166e40
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
index 20dc02807c5416da15fc63e2c5975dc29d6cdf36..7a611f8b16a5549be4d6d8681a74d2c6bd50f80c 100644
index 6b0e3963e7ce797f09d8c19f17eaf28b573f2181..721510d5d83369116c21e43bcfde01d5eb7ddcd7 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -250,6 +250,7 @@ public class PurpurWorldConfig {
@@ -251,6 +251,7 @@ public class PurpurWorldConfig {
public boolean useBetterMending = false;
public boolean boatEjectPlayersOnLand = false;
public boolean disableDropsOnCrammingDeath = false;
@@ -38,7 +38,7 @@ index 20dc02807c5416da15fc63e2c5975dc29d6cdf36..7a611f8b16a5549be4d6d8681a74d2c6
public boolean milkCuresBadOmen = true;
public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D;
@@ -258,6 +259,7 @@ public class PurpurWorldConfig {
@@ -259,6 +260,7 @@ public class PurpurWorldConfig {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);

View File

@@ -23,10 +23,10 @@ index 22dd455b3b9c148f38a63f72901009f864e63a4b..689df66281ef84f0cc31d89c6f2e654c
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
index 7a611f8b16a5549be4d6d8681a74d2c6bd50f80c..9825fe8dd51f5dda74f6645f0ea78ee22746366e 100644
index 721510d5d83369116c21e43bcfde01d5eb7ddcd7..d821a0544a4bb3a5f015a81d64e73e3ed10f3bad 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1501,6 +1501,8 @@ public class PurpurWorldConfig {
@@ -1502,6 +1502,8 @@ public class PurpurWorldConfig {
public boolean witherRidableInWater = false;
public double witherMaxY = 256D;
public double witherMaxHealth = 300.0D;
@@ -35,7 +35,7 @@ index 7a611f8b16a5549be4d6d8681a74d2c6bd50f80c..9825fe8dd51f5dda74f6645f0ea78ee2
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1515,6 +1517,8 @@ public class PurpurWorldConfig {
@@ -1516,6 +1518,8 @@ public class PurpurWorldConfig {
set("mobs.wither.attributes.max_health", oldValue);
}
witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth);

View File

@@ -94,26 +94,26 @@ index f8ede3588bfda9a7d4d5807311a3e9c2651fd0a3..56967cef0f184def046935e20148574f
if (NaturalSpawner.isSpawnPositionOk(SpawnPlacements.Type.ON_GROUND, world, blockposition2, EntityType.WANDERING_TRADER)) {
blockposition1 = blockposition2;
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 73d2977dda0482ff2574719dfec4ca359699c485..65faed60a42cc058e242481afcc54081f4b9921c 100644
index 19d32ceea05206680b8d9a20f28c618b5817606c..65aba9a17a76e56c0140220ab00645a1e02cc8b5 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -310,7 +310,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
this.paperConfig = new com.destroystokyo.paper.PaperWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), this.spigotConfig); // Paper
this.tuinityConfig = new com.tuinity.tuinity.config.TuinityConfig.WorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData)worlddatamutable).getLevelName()); // Tuinity - Server Config
- this.purpurConfig = new net.pl3x.purpur.PurpurWorldConfig((((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName())); // Purpur
+ this.purpurConfig = new net.pl3x.purpur.PurpurWorldConfig((((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()), env); // Purpur
- this.purpurConfig = new net.pl3x.purpur.PurpurWorldConfig((ServerLevel) this, ((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Purpur
+ this.purpurConfig = new net.pl3x.purpur.PurpurWorldConfig((ServerLevel) this, ((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), env); // Purpur
this.generator = gen;
this.world = new CraftWorld((ServerLevel) this, gen, env);
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
index 9825fe8dd51f5dda74f6645f0ea78ee22746366e..ea1e7d9c917762457ecb8b22bcf790cdbe674da7 100644
index d821a0544a4bb3a5f015a81d64e73e3ed10f3bad..51997b73e5020e722915bce5db18909174d6697d 100644
--- a/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.item.Items;
import net.minecraft.world.level.Explosion;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks;
+import org.apache.commons.lang.BooleanUtils;
+import org.bukkit.World;
import org.bukkit.configuration.ConfigurationSection;
@@ -127,20 +127,20 @@ index 9825fe8dd51f5dda74f6645f0ea78ee22746366e..ea1e7d9c917762457ecb8b22bcf790cd
import java.util.logging.Level;
import static net.pl3x.purpur.PurpurConfig.log;
@@ -23,9 +26,11 @@ import static net.pl3x.purpur.PurpurConfig.log;
public class PurpurWorldConfig {
@@ -24,9 +27,11 @@ public class PurpurWorldConfig {
private final ServerLevel level;
private final String worldName;
- public PurpurWorldConfig(ServerLevel level, String worldName) {
+ private final World.Environment environment;
- public PurpurWorldConfig(String worldName) {
+ public PurpurWorldConfig(String worldName, World.Environment environment) {
+ public PurpurWorldConfig(ServerLevel level, String worldName, World.Environment environment) {
this.level = level;
this.worldName = worldName;
+ this.environment = environment;
init();
}
@@ -53,6 +58,12 @@ public class PurpurWorldConfig {
@@ -54,6 +59,12 @@ public class PurpurWorldConfig {
return PurpurConfig.config.getBoolean("world-settings." + worldName + "." + path, PurpurConfig.config.getBoolean("world-settings.default." + path));
}
@@ -153,7 +153,7 @@ index 9825fe8dd51f5dda74f6645f0ea78ee22746366e..ea1e7d9c917762457ecb8b22bcf790cd
private double getDouble(String path, double def) {
PurpurConfig.config.addDefault("world-settings.default." + path, def);
return PurpurConfig.config.getDouble("world-settings." + worldName + "." + path, PurpurConfig.config.getDouble("world-settings.default." + path));
@@ -201,6 +212,21 @@ public class PurpurWorldConfig {
@@ -202,6 +213,21 @@ public class PurpurWorldConfig {
}
}

View File

@@ -52,10 +52,10 @@ index 45e369aa69a6b78def42b619b1b1b8259d4b30ea..de7443e7a27e51eabaed2d6d348ec8ea
if (!this.raidMap.containsKey(raid.getId())) {
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
index ea1e7d9c917762457ecb8b22bcf790cdbe674da7..9fabe3754c6097fbb3850b68ecf8873cc48beeac 100644
index 51997b73e5020e722915bce5db18909174d6697d..b29acbf963689293daeaefc252f4a73b5ce0d65a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -281,6 +281,7 @@ public class PurpurWorldConfig {
@@ -282,6 +282,7 @@ public class PurpurWorldConfig {
public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D;
@@ -63,7 +63,7 @@ index ea1e7d9c917762457ecb8b22bcf790cdbe674da7..9fabe3754c6097fbb3850b68ecf8873c
private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
@@ -290,6 +291,7 @@ public class PurpurWorldConfig {
@@ -291,6 +292,7 @@ public class PurpurWorldConfig {
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

@@ -289,10 +289,10 @@ index 4a11f7417b438ee5711a720aca3321c88e970b2a..46b74271ce5f614f07754db14d2a552c
+ // Purpur end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 9fabe3754c6097fbb3850b68ecf8873cc48beeac..ba8ecb633f612be228970473e3c2824102464520 100644
index b29acbf963689293daeaefc252f4a73b5ce0d65a..c99e0f3572cb8f52343cd31f7574608d84d82c0d 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -250,6 +250,35 @@ public class PurpurWorldConfig {
@@ -251,6 +251,35 @@ public class PurpurWorldConfig {
totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory);
}

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));
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index ba8ecb633f612be228970473e3c2824102464520..ca0fc3079c48650f90535e356aa500928b92e693 100644
index c99e0f3572cb8f52343cd31f7574608d84d82c0d..18ea23e93dedeb578cdf2a94bc3ec959f9c8863e 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1629,6 +1629,7 @@ public class PurpurWorldConfig {
@@ -1630,6 +1630,7 @@ public class PurpurWorldConfig {
public boolean zombieJockeyOnlyBaby = true;
public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true;
@@ -82,7 +82,7 @@ index ba8ecb633f612be228970473e3c2824102464520..ca0fc3079c48650f90535e356aa50092
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1642,6 +1643,7 @@ public class PurpurWorldConfig {
@@ -1643,6 +1644,7 @@ public class PurpurWorldConfig {
zombieJockeyOnlyBaby = getBoolean("mobs.zombie.jockey.only-babies", zombieJockeyOnlyBaby);
zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance);
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);

View File

@@ -189,10 +189,10 @@ index c3a07ccccd5cc38552363c82398f432c8d624288..132c9e6a643995d9fde535a78d9edc9e
+ // Purpur end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index ca0fc3079c48650f90535e356aa500928b92e693..267ca0aa7187f8aac27d0b675c702f181da6d13a 100644
index 18ea23e93dedeb578cdf2a94bc3ec959f9c8863e..ed2cd6fd49ff64fe9bda7429003481dc705a2edb 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -307,6 +307,7 @@ public class PurpurWorldConfig {
@@ -308,6 +308,7 @@ public class PurpurWorldConfig {
public boolean disableDropsOnCrammingDeath = false;
public boolean entitiesCanUsePortals = true;
public boolean milkCuresBadOmen = true;
@@ -200,7 +200,7 @@ index ca0fc3079c48650f90535e356aa500928b92e693..267ca0aa7187f8aac27d0b675c702f18
public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D;
@@ -317,6 +318,7 @@ public class PurpurWorldConfig {
@@ -318,6 +319,7 @@ public class PurpurWorldConfig {
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals);
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);

View File

@@ -58,10 +58,10 @@ index 2affff346a7fe81480e86cb61996039df0569853..12be4a2f25a7def8341acda47d10a256
float f1 = Mth.cos(f) * 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
index 267ca0aa7187f8aac27d0b675c702f181da6d13a..26ca63448f9c5feeb6b4d137b46239dc8c2ea420 100644
index ed2cd6fd49ff64fe9bda7429003481dc705a2edb..4905bc50ed99b22cbb89cb1f192c055575242e43 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -794,9 +794,11 @@ public class PurpurWorldConfig {
@@ -795,9 +795,11 @@ public class PurpurWorldConfig {
public boolean glowSquidRidable = false;
public double glowSquidMaxHealth = 10.0D;
@@ -73,7 +73,7 @@ index 267ca0aa7187f8aac27d0b675c702f181da6d13a..26ca63448f9c5feeb6b4d137b46239dc
}
public boolean goatRidable = false;
@@ -1352,6 +1354,7 @@ public class PurpurWorldConfig {
@@ -1353,6 +1355,7 @@ public class PurpurWorldConfig {
public double squidMaxHealth = 10.0D;
public boolean squidImmuneToEAR = true;
public double squidOffsetWaterCheck = 0.0D;
@@ -81,7 +81,7 @@ index 267ca0aa7187f8aac27d0b675c702f181da6d13a..26ca63448f9c5feeb6b4d137b46239dc
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
if (PurpurConfig.version < 10) {
@@ -1362,6 +1365,7 @@ public class PurpurWorldConfig {
@@ -1363,6 +1366,7 @@ public class PurpurWorldConfig {
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);
squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);
squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck);

View File

@@ -27,10 +27,10 @@ index afe33f20578177cb517e1c116e6319481642e66c..fe4695adbb506733b4029ecfabcfda3d
} else {
user.startUsingItem(hand);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 26ca63448f9c5feeb6b4d137b46239dc8c2ea420..a19a055ea1eec6155070f99e9c49421201316c06 100644
index 4905bc50ed99b22cbb89cb1f192c055575242e43..351e6936f8e44ff00404884ba5ae339d15a37017 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -107,6 +107,17 @@ public class PurpurWorldConfig {
@@ -108,6 +108,17 @@ public class PurpurWorldConfig {
entityLifeSpan = getInt("gameplay-mechanics.entity-lifespan", entityLifeSpan);
}

View File

@@ -61,10 +61,10 @@ index 2ad5ff9a1d7de54e75436e99da8a73db9dc91bde..60605a8a021cc56f9c3ba22bc43c43c3
} else if (blockState.is(Blocks.HONEY_BLOCK)) {
return BlockPathTypes.STICKY_HONEY;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a19a055ea1eec6155070f99e9c49421201316c06..cd689953a4a9967fd507bc9f371d7e62c2ec0af6 100644
index 351e6936f8e44ff00404884ba5ae339d15a37017..b44c049afb115fe3fe6e4c567012211a7af93876 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -430,6 +430,11 @@ public class PurpurWorldConfig {
@@ -431,6 +431,11 @@ public class PurpurWorldConfig {
spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone);
}

View File

@@ -81,10 +81,10 @@ index 13bee6ce45fd718484a9cf08645556717c9934e8..dbdaadfaeea555904556136a7cca02aa
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
index cd689953a4a9967fd507bc9f371d7e62c2ec0af6..c7b664e753c4ef53607f74ac24436ff6c8df32b2 100644
index b44c049afb115fe3fe6e4c567012211a7af93876..edc850edd034d547e29bf58f3c4d718f33c8b656 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -89,6 +89,13 @@ public class PurpurWorldConfig {
@@ -90,6 +90,13 @@ public class PurpurWorldConfig {
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
}

View File

@@ -48,10 +48,10 @@ index 348e485897c34cca19113cc35f055a58778ca38b..1eab83cefdf1484b8cf80072d9a0ee61
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
index c7b664e753c4ef53607f74ac24436ff6c8df32b2..bb37ccea3237737cc717910e93f63a67ec972221 100644
index edc850edd034d547e29bf58f3c4d718f33c8b656..c50eb36531f1926cf2ae2cc855b1c1e66fc9841a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -398,6 +398,11 @@ public class PurpurWorldConfig {
@@ -399,6 +399,11 @@ public class PurpurWorldConfig {
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
}

View File

@@ -24,10 +24,10 @@ index 5d9d77cb382c8075af2713a0ce26c28a35a0aaa8..2d4d59eb5a534e4c283933b734c44776
return;
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index bb37ccea3237737cc717910e93f63a67ec972221..67491e34f5cdf3c0fdc860841f62af674f7c9757 100644
index c50eb36531f1926cf2ae2cc855b1c1e66fc9841a..dbea3485a528c49873b7d7fb83fb498edeabd66e 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -394,8 +394,10 @@ public class PurpurWorldConfig {
@@ -395,8 +395,10 @@ public class PurpurWorldConfig {
}
public boolean farmlandGetsMoistFromBelow = false;

View File

@@ -33,7 +33,7 @@ index 5a503a255b4e7e684a8f42d8190430397ca81683..7a90c6a628571730eee382e1efcfe1b9
entityageable.setBaby(true);
entityageable.moveTo(this.getX(), this.getY(), this.getZ(), 0.0F, 0.0F);
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 65faed60a42cc058e242481afcc54081f4b9921c..162b5a4626af5e1190d51a1e80680241325b8088 100644
index 65aba9a17a76e56c0140220ab00645a1e02cc8b5..bfac7888f71232ac095e2615bddf05d71384f359 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -187,6 +187,49 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -89,16 +89,16 @@ index 65faed60a42cc058e242481afcc54081f4b9921c..162b5a4626af5e1190d51a1e80680241
@@ -311,6 +354,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
this.paperConfig = new com.destroystokyo.paper.PaperWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), this.spigotConfig); // Paper
this.tuinityConfig = new com.tuinity.tuinity.config.TuinityConfig.WorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData)worlddatamutable).getLevelName()); // Tuinity - Server Config
this.purpurConfig = new net.pl3x.purpur.PurpurWorldConfig((((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()), env); // Purpur
this.purpurConfig = new net.pl3x.purpur.PurpurWorldConfig((ServerLevel) this, ((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), env); // Purpur
+ this.playerBreedingCooldowns = this.getNewBreedingCooldownCache(); // Purpur
this.generator = gen;
this.world = new CraftWorld((ServerLevel) this, gen, env);
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
index 67491e34f5cdf3c0fdc860841f62af674f7c9757..e804fdab0637c4a35968246463330eeb2376d7a9 100644
index dbea3485a528c49873b7d7fb83fb498edeabd66e..897db98ad82b8168908018f5fce30f661a00fe72 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -330,6 +330,7 @@ public class PurpurWorldConfig {
@@ -331,6 +331,7 @@ public class PurpurWorldConfig {
public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D;
public int raidCooldownSeconds = 0;
@@ -106,7 +106,7 @@ index 67491e34f5cdf3c0fdc860841f62af674f7c9757..e804fdab0637c4a35968246463330eeb
private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
@@ -341,6 +342,7 @@ public class PurpurWorldConfig {
@@ -342,6 +343,7 @@ public class PurpurWorldConfig {
voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight);
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds);

View File

@@ -266,7 +266,7 @@ index 497be3182c72b5a0f3bc42088c4168702119b527..607823661ba942ec03b1f61dac5a786b
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
index 31568adcf4a89b11e61f455a15326c7f72bf487e..c1202540383ef991d7b8c3767132c4fc54d4c570 100644
index 66c01b8300bc09ace27e4d1a30ee9274c69fcc9a..3e8c90c2d44d906fae3dfc068a30c81a494a3268 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
@@ -105,6 +105,11 @@ public class Turtle extends Animal {
@@ -474,10 +474,10 @@ index 5d289be8f0ef003abbce992e7662f6ddce4f4a99..5e3d7321a73144c3e4c43c18c5b748b2
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc053019317 100644
index 897db98ad82b8168908018f5fce30f661a00fe72..87dbb11dbad933689c7b574964d7d200f40d07ff 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -462,9 +462,11 @@ public class PurpurWorldConfig {
@@ -463,9 +463,11 @@ public class PurpurWorldConfig {
public boolean axolotlRidable = false;
public double axolotlMaxHealth = 14.0D;
@@ -489,7 +489,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
}
public boolean batRidable = false;
@@ -494,6 +496,7 @@ public class PurpurWorldConfig {
@@ -495,6 +497,7 @@ public class PurpurWorldConfig {
public boolean beeRidableInWater = false;
public double beeMaxY = 256D;
public double beeMaxHealth = 10.0D;
@@ -497,7 +497,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
private void beeSettings() {
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
@@ -504,6 +507,7 @@ public class PurpurWorldConfig {
@@ -505,6 +508,7 @@ public class PurpurWorldConfig {
set("mobs.bee.attributes.max_health", oldValue);
}
beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth);
@@ -505,7 +505,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
}
public boolean blazeRidable = false;
@@ -528,6 +532,7 @@ public class PurpurWorldConfig {
@@ -529,6 +533,7 @@ public class PurpurWorldConfig {
public int catSpawnDelay = 1200;
public int catSpawnSwampHutScanRange = 16;
public int catSpawnVillageScanRange = 48;
@@ -513,7 +513,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -540,6 +545,7 @@ public class PurpurWorldConfig {
@@ -541,6 +546,7 @@ public class PurpurWorldConfig {
catSpawnDelay = getInt("mobs.cat.spawn-delay", catSpawnDelay);
catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange);
catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange);
@@ -521,7 +521,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
}
public boolean caveSpiderRidable = false;
@@ -560,6 +566,7 @@ public class PurpurWorldConfig {
@@ -561,6 +567,7 @@ public class PurpurWorldConfig {
public boolean chickenRidableInWater = false;
public double chickenMaxHealth = 4.0D;
public boolean chickenRetaliate = false;
@@ -529,7 +529,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
private void chickenSettings() {
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
@@ -570,6 +577,7 @@ public class PurpurWorldConfig {
@@ -571,6 +578,7 @@ public class PurpurWorldConfig {
}
chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth);
chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate);
@@ -537,7 +537,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
}
public boolean codRidable = false;
@@ -588,6 +596,7 @@ public class PurpurWorldConfig {
@@ -589,6 +597,7 @@ public class PurpurWorldConfig {
public boolean cowRidableInWater = false;
public double cowMaxHealth = 10.0D;
public int cowFeedMushrooms = 0;
@@ -545,7 +545,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
private void cowSettings() {
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
@@ -598,6 +607,7 @@ public class PurpurWorldConfig {
@@ -599,6 +608,7 @@ public class PurpurWorldConfig {
}
cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth);
cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms);
@@ -553,7 +553,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
}
public boolean creeperRidable = false;
@@ -645,6 +655,7 @@ public class PurpurWorldConfig {
@@ -646,6 +656,7 @@ public class PurpurWorldConfig {
public double donkeyJumpStrengthMax = 0.5D;
public double donkeyMovementSpeedMin = 0.175D;
public double donkeyMovementSpeedMax = 0.175D;
@@ -561,7 +561,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
private void donkeySettings() {
donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater);
if (PurpurConfig.version < 10) {
@@ -660,6 +671,7 @@ public class PurpurWorldConfig {
@@ -661,6 +672,7 @@ public class PurpurWorldConfig {
donkeyJumpStrengthMax = getDouble("mobs.donkey.attributes.jump_strength.max", donkeyJumpStrengthMax);
donkeyMovementSpeedMin = getDouble("mobs.donkey.attributes.movement_speed.min", donkeyMovementSpeedMin);
donkeyMovementSpeedMax = getDouble("mobs.donkey.attributes.movement_speed.max", donkeyMovementSpeedMax);
@@ -569,7 +569,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
}
public boolean drownedRidable = false;
@@ -766,6 +778,7 @@ public class PurpurWorldConfig {
@@ -767,6 +779,7 @@ public class PurpurWorldConfig {
public boolean foxRidableInWater = false;
public double foxMaxHealth = 10.0D;
public boolean foxTypeChangesWithTulips = false;
@@ -577,7 +577,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -776,6 +789,7 @@ public class PurpurWorldConfig {
@@ -777,6 +790,7 @@ public class PurpurWorldConfig {
}
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
@@ -585,7 +585,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
}
public boolean ghastRidable = false;
@@ -836,10 +850,12 @@ public class PurpurWorldConfig {
@@ -837,10 +851,12 @@ public class PurpurWorldConfig {
public boolean goatRidable = false;
public boolean goatRidableInWater = false;
public double goatMaxHealth = 10.0D;
@@ -598,7 +598,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
}
public boolean guardianRidable = false;
@@ -857,6 +873,7 @@ public class PurpurWorldConfig {
@@ -858,6 +874,7 @@ public class PurpurWorldConfig {
public boolean hoglinRidable = false;
public boolean hoglinRidableInWater = false;
public double hoglinMaxHealth = 40.0D;
@@ -606,7 +606,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
private void hoglinSettings() {
hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable);
hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater);
@@ -866,6 +883,7 @@ public class PurpurWorldConfig {
@@ -867,6 +884,7 @@ public class PurpurWorldConfig {
set("mobs.hoglin.attributes.max_health", oldValue);
}
hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth);
@@ -614,7 +614,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
}
public boolean horseRidableInWater = false;
@@ -875,6 +893,7 @@ public class PurpurWorldConfig {
@@ -876,6 +894,7 @@ public class PurpurWorldConfig {
public double horseJumpStrengthMax = 1.0D;
public double horseMovementSpeedMin = 0.1125D;
public double horseMovementSpeedMax = 0.3375D;
@@ -622,7 +622,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
private void horseSettings() {
horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater);
if (PurpurConfig.version < 10) {
@@ -890,6 +909,7 @@ public class PurpurWorldConfig {
@@ -891,6 +910,7 @@ public class PurpurWorldConfig {
horseJumpStrengthMax = getDouble("mobs.horse.attributes.jump_strength.max", horseJumpStrengthMax);
horseMovementSpeedMin = getDouble("mobs.horse.attributes.movement_speed.min", horseMovementSpeedMin);
horseMovementSpeedMax = getDouble("mobs.horse.attributes.movement_speed.max", horseMovementSpeedMax);
@@ -630,7 +630,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
}
public boolean huskRidable = false;
@@ -960,6 +980,7 @@ public class PurpurWorldConfig {
@@ -961,6 +981,7 @@ public class PurpurWorldConfig {
public double llamaJumpStrengthMax = 0.5D;
public double llamaMovementSpeedMin = 0.175D;
public double llamaMovementSpeedMax = 0.175D;
@@ -638,7 +638,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
private void llamaSettings() {
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
@@ -976,6 +997,7 @@ public class PurpurWorldConfig {
@@ -977,6 +998,7 @@ public class PurpurWorldConfig {
llamaJumpStrengthMax = getDouble("mobs.llama.attributes.jump_strength.max", llamaJumpStrengthMax);
llamaMovementSpeedMin = getDouble("mobs.llama.attributes.movement_speed.min", llamaMovementSpeedMin);
llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax);
@@ -646,7 +646,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
}
public boolean magmaCubeRidable = false;
@@ -995,6 +1017,7 @@ public class PurpurWorldConfig {
@@ -996,6 +1018,7 @@ public class PurpurWorldConfig {
public boolean mooshroomRidable = false;
public boolean mooshroomRidableInWater = false;
public double mooshroomMaxHealth = 10.0D;
@@ -654,7 +654,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
private void mooshroomSettings() {
mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable);
mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater);
@@ -1004,6 +1027,7 @@ public class PurpurWorldConfig {
@@ -1005,6 +1028,7 @@ public class PurpurWorldConfig {
set("mobs.mooshroom.attributes.max_health", oldValue);
}
mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth);
@@ -662,7 +662,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
}
public boolean muleRidableInWater = false;
@@ -1013,6 +1037,7 @@ public class PurpurWorldConfig {
@@ -1014,6 +1038,7 @@ public class PurpurWorldConfig {
public double muleJumpStrengthMax = 0.5D;
public double muleMovementSpeedMin = 0.175D;
public double muleMovementSpeedMax = 0.175D;
@@ -670,7 +670,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
private void muleSettings() {
muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater);
if (PurpurConfig.version < 10) {
@@ -1028,11 +1053,13 @@ public class PurpurWorldConfig {
@@ -1029,11 +1054,13 @@ public class PurpurWorldConfig {
muleJumpStrengthMax = getDouble("mobs.mule.attributes.jump_strength.max", muleJumpStrengthMax);
muleMovementSpeedMin = getDouble("mobs.mule.attributes.movement_speed.min", muleMovementSpeedMin);
muleMovementSpeedMax = getDouble("mobs.mule.attributes.movement_speed.max", muleMovementSpeedMax);
@@ -684,7 +684,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
private void ocelotSettings() {
ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable);
ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater);
@@ -1042,11 +1069,13 @@ public class PurpurWorldConfig {
@@ -1043,11 +1070,13 @@ public class PurpurWorldConfig {
set("mobs.ocelot.attributes.max_health", oldValue);
}
ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth);
@@ -698,7 +698,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
private void pandaSettings() {
pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable);
pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater);
@@ -1056,6 +1085,7 @@ public class PurpurWorldConfig {
@@ -1057,6 +1086,7 @@ public class PurpurWorldConfig {
set("mobs.panda.attributes.max_health", oldValue);
}
pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth);
@@ -706,7 +706,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
}
public boolean parrotRidable = false;
@@ -1136,6 +1166,7 @@ public class PurpurWorldConfig {
@@ -1137,6 +1167,7 @@ public class PurpurWorldConfig {
public boolean pigRidableInWater = false;
public double pigMaxHealth = 10.0D;
public boolean pigGiveSaddleBack = false;
@@ -714,7 +714,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
private void pigSettings() {
pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
@@ -1146,6 +1177,7 @@ public class PurpurWorldConfig {
@@ -1147,6 +1178,7 @@ public class PurpurWorldConfig {
}
pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth);
pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack);
@@ -722,7 +722,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
}
public boolean piglinRidable = false;
@@ -1195,6 +1227,7 @@ public class PurpurWorldConfig {
@@ -1196,6 +1228,7 @@ public class PurpurWorldConfig {
public double polarBearMaxHealth = 30.0D;
public String polarBearBreedableItemString = "";
public Item polarBearBreedableItem = null;
@@ -730,7 +730,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
private void polarBearSettings() {
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
@@ -1207,6 +1240,7 @@ public class PurpurWorldConfig {
@@ -1208,6 +1241,7 @@ public class PurpurWorldConfig {
polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString);
Item item = Registry.ITEM.get(new ResourceLocation(polarBearBreedableItemString));
if (item != Items.AIR) polarBearBreedableItem = item;
@@ -738,7 +738,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
}
public boolean pufferfishRidable = false;
@@ -1226,6 +1260,7 @@ public class PurpurWorldConfig {
@@ -1227,6 +1261,7 @@ public class PurpurWorldConfig {
public double rabbitMaxHealth = 3.0D;
public double rabbitNaturalToast = 0.0D;
public double rabbitNaturalKiller = 0.0D;
@@ -746,7 +746,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -1237,6 +1272,7 @@ public class PurpurWorldConfig {
@@ -1238,6 +1273,7 @@ public class PurpurWorldConfig {
rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth);
rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast);
rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
@@ -754,7 +754,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
}
public boolean ravagerRidable = false;
@@ -1268,6 +1304,7 @@ public class PurpurWorldConfig {
@@ -1269,6 +1305,7 @@ public class PurpurWorldConfig {
public boolean sheepRidable = false;
public boolean sheepRidableInWater = false;
public double sheepMaxHealth = 8.0D;
@@ -762,7 +762,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
private void sheepSettings() {
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
@@ -1277,6 +1314,7 @@ public class PurpurWorldConfig {
@@ -1278,6 +1315,7 @@ public class PurpurWorldConfig {
set("mobs.sheep.attributes.max_health", oldValue);
}
sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth);
@@ -770,7 +770,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
}
public boolean shulkerRidable = false;
@@ -1431,6 +1469,7 @@ public class PurpurWorldConfig {
@@ -1432,6 +1470,7 @@ public class PurpurWorldConfig {
public boolean striderRidable = false;
public boolean striderRidableInWater = false;
public double striderMaxHealth = 20.0D;
@@ -778,7 +778,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1440,6 +1479,7 @@ public class PurpurWorldConfig {
@@ -1441,6 +1480,7 @@ public class PurpurWorldConfig {
set("mobs.strider.attributes.max_health", oldValue);
}
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
@@ -786,7 +786,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
}
public boolean traderLlamaRidable = false;
@@ -1450,6 +1490,7 @@ public class PurpurWorldConfig {
@@ -1451,6 +1491,7 @@ public class PurpurWorldConfig {
public double traderLlamaJumpStrengthMax = 0.5D;
public double traderLlamaMovementSpeedMin = 0.175D;
public double traderLlamaMovementSpeedMax = 0.175D;
@@ -794,7 +794,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
private void traderLlamaSettings() {
traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable);
traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater);
@@ -1466,6 +1507,7 @@ public class PurpurWorldConfig {
@@ -1467,6 +1508,7 @@ public class PurpurWorldConfig {
traderLlamaJumpStrengthMax = getDouble("mobs.trader_llama.attributes.jump_strength.max", traderLlamaJumpStrengthMax);
traderLlamaMovementSpeedMin = getDouble("mobs.trader_llama.attributes.movement_speed.min", traderLlamaMovementSpeedMin);
traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax);
@@ -802,7 +802,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
}
public boolean tropicalFishRidable = false;
@@ -1486,6 +1528,7 @@ public class PurpurWorldConfig {
@@ -1487,6 +1529,7 @@ public class PurpurWorldConfig {
public boolean turtleEggsBreakFromExpOrbs = true;
public boolean turtleEggsBreakFromItems = true;
public boolean turtleEggsBreakFromMinecarts = true;
@@ -810,7 +810,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
private void turtleEggSettings() {
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
@@ -1498,6 +1541,7 @@ public class PurpurWorldConfig {
@@ -1499,6 +1542,7 @@ public class PurpurWorldConfig {
turtleEggsBreakFromExpOrbs = getBoolean("blocks.turtle_egg.break-from-exp-orbs", turtleEggsBreakFromExpOrbs);
turtleEggsBreakFromItems = getBoolean("blocks.turtle_egg.break-from-items", turtleEggsBreakFromItems);
turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts);
@@ -818,7 +818,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
}
public boolean vexRidable = false;
@@ -1526,6 +1570,7 @@ public class PurpurWorldConfig {
@@ -1527,6 +1571,7 @@ public class PurpurWorldConfig {
public int villagerSpawnIronGolemRadius = 0;
public int villagerSpawnIronGolemLimit = 0;
public boolean villagerCanBreed = true;
@@ -826,7 +826,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1542,6 +1587,7 @@ public class PurpurWorldConfig {
@@ -1543,6 +1588,7 @@ public class PurpurWorldConfig {
villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius);
villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit);
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
@@ -834,7 +834,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
}
public boolean vindicatorRidable = false;
@@ -1635,6 +1681,7 @@ public class PurpurWorldConfig {
@@ -1636,6 +1682,7 @@ public class PurpurWorldConfig {
public boolean wolfRidable = false;
public boolean wolfRidableInWater = false;
public double wolfMaxHealth = 8.0D;
@@ -842,7 +842,7 @@ index e804fdab0637c4a35968246463330eeb2376d7a9..7685cc102d2a5640b61fc50ec9ed3fc0
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -1644,6 +1691,7 @@ public class PurpurWorldConfig {
@@ -1645,6 +1692,7 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
}
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -142,10 +142,10 @@ index 282bfe4904637aaff1bd29e30ed18ba843c07cab..ddd50db8bb92c147d7c1eef4d1df3ac5
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 7685cc102d2a5640b61fc50ec9ed3fc053019317..e1a58d2eac73f32c58dfc92cfd9710e385cf1173 100644
index 87dbb11dbad933689c7b574964d7d200f40d07ff..30943421f23908d481e77434413baa599a9fc883 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 {
@@ -86,8 +86,10 @@ public class PurpurWorldConfig {
}
public float armorstandStepHeight = 0.0F;
@@ -156,7 +156,7 @@ index 7685cc102d2a5640b61fc50ec9ed3fc053019317..e1a58d2eac73f32c58dfc92cfd9710e3
}
public int daytimeTicks = 12000;
@@ -326,6 +328,7 @@ public class PurpurWorldConfig {
@@ -327,6 +329,7 @@ public class PurpurWorldConfig {
public boolean entitiesCanUsePortals = true;
public boolean milkCuresBadOmen = true;
public boolean persistentTileEntityDisplayNames = false;
@@ -164,7 +164,7 @@ index 7685cc102d2a5640b61fc50ec9ed3fc053019317..e1a58d2eac73f32c58dfc92cfd9710e3
public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D;
@@ -338,6 +341,7 @@ public class PurpurWorldConfig {
@@ -339,6 +342,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);

View File

@@ -17,10 +17,10 @@ index 623f78c078fb3aa2665d7e8a37672438227bce6b..500c69e555c7247e20ef8cc59d834155
((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 e1a58d2eac73f32c58dfc92cfd9710e385cf1173..dc02f93c4a34e8f52b05699073723529cee34b66 100644
index 30943421f23908d481e77434413baa599a9fc883..a15aa128d8f128ea6fdd1974dba3236d1223a614 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 {
@@ -87,9 +87,11 @@ public class PurpurWorldConfig {
public float armorstandStepHeight = 0.0F;
public boolean armorstandSetNameVisible = false;

View File

@@ -82,10 +82,10 @@ index 35b2bad76c45b5a94ba7f2e9c7a8cfeb8c3f498b..d2cb1a7e7ea364cb8e2af4c4e756d8e4
+ // Purpur end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index dc02f93c4a34e8f52b05699073723529cee34b66..d0c574af9f7c487e9813d5b81c771ac57e200ee9 100644
index a15aa128d8f128ea6fdd1974dba3236d1223a614..4b57c5dbc9ab0d78df5eb6600e649ad14446ecde 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -394,6 +394,11 @@ public class PurpurWorldConfig {
@@ -395,6 +395,11 @@ public class PurpurWorldConfig {
}
}
@@ -97,7 +97,7 @@ index dc02f93c4a34e8f52b05699073723529cee34b66..d0c574af9f7c487e9813d5b81c771ac5
public boolean dispenserApplyCursedArmor = true;
public boolean dispenserPlaceAnvils = false;
private void dispenserSettings() {
@@ -457,6 +462,16 @@ public class PurpurWorldConfig {
@@ -458,6 +463,16 @@ public class PurpurWorldConfig {
stonecutterDamage = (float) getDouble("blocks.stonecutter.damage", stonecutterDamage);
}

View File

@@ -103,10 +103,10 @@ index d2cb1a7e7ea364cb8e2af4c4e756d8e45bc0ca10..bb99dda3c5167f23b2500a1f37cbc1ca
// Purpur end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d0c574af9f7c487e9813d5b81c771ac57e200ee9..e46deed65f34a8d7445c74cea4d37e9cdb900846 100644
index 4b57c5dbc9ab0d78df5eb6600e649ad14446ecde..1f7c0b8d3efee6e68bb3d22334550efd98193053 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -395,8 +395,10 @@ public class PurpurWorldConfig {
@@ -396,8 +396,10 @@ public class PurpurWorldConfig {
}
public double caveVinesGrowthModifier = 0.10D;
@@ -117,7 +117,7 @@ index d0c574af9f7c487e9813d5b81c771ac57e200ee9..e46deed65f34a8d7445c74cea4d37e9c
}
public boolean dispenserApplyCursedArmor = true;
@@ -429,6 +431,11 @@ public class PurpurWorldConfig {
@@ -430,6 +432,11 @@ public class PurpurWorldConfig {
lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether);
}
@@ -129,7 +129,7 @@ index d0c574af9f7c487e9813d5b81c771ac57e200ee9..e46deed65f34a8d7445c74cea4d37e9c
public boolean respawnAnchorExplode = true;
public double respawnAnchorExplosionPower = 5.0D;
public boolean respawnAnchorExplosionFire = true;
@@ -463,13 +470,17 @@ public class PurpurWorldConfig {
@@ -464,13 +471,17 @@ public class PurpurWorldConfig {
}
public double twistingVinesGrowthModifier = 0.10D;

View File

@@ -21,10 +21,10 @@ index 5ebedd6a156b06e98aded57c817f63429a1ae380..c99d295b999a28dd1eb504179250445d
private static class EndermanFreezeWhenLookedAt extends Goal {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index e46deed65f34a8d7445c74cea4d37e9cdb900846..0b57449ce9f8af036a90047c00d2c90963ed1ca7 100644
index 1f7c0b8d3efee6e68bb3d22334550efd98193053..fd7c9a8a2dc8080158b73e57eec8d8f40b13b82d 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -766,6 +766,7 @@ public class PurpurWorldConfig {
@@ -767,6 +767,7 @@ public class PurpurWorldConfig {
public boolean endermanRidableInWater = false;
public double endermanMaxHealth = 40.0D;
public boolean endermanAllowGriefing = true;
@@ -32,7 +32,7 @@ index e46deed65f34a8d7445c74cea4d37e9cdb900846..0b57449ce9f8af036a90047c00d2c909
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -776,6 +777,7 @@ public class PurpurWorldConfig {
@@ -777,6 +778,7 @@ public class PurpurWorldConfig {
}
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);
endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);

View File

@@ -18,10 +18,10 @@ index ed2f039c4042861bcfa2e41d8281eefd37daa9fa..d5d84893c77b4e60a19032d765d76bfd
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 0b57449ce9f8af036a90047c00d2c90963ed1ca7..21850e0aa760b6e4f0d88515cf917676b1ed4f3a 100644
index fd7c9a8a2dc8080158b73e57eec8d8f40b13b82d..63edaa4e36b842676a83c9664ff2eb8991689267 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -272,6 +272,11 @@ public class PurpurWorldConfig {
@@ -273,6 +273,11 @@ public class PurpurWorldConfig {
totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory);
}

View File

@@ -44,18 +44,18 @@ index fe045f8e35fe2aac51032a67ce52b27a53a8eff0..03bc86c776596ca5964c22adb757115d
+ // Purpur end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 21850e0aa760b6e4f0d88515cf917676b1ed4f3a..77b1d0429712ccfc5560f96639b872c4f9b35600 100644
index 63edaa4e36b842676a83c9664ff2eb8991689267..b69d7eb4f79984123ebbee7de1a2fb0c7ad90655 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -2,6 +2,7 @@ package net.pl3x.purpur;
@@ -3,6 +3,7 @@ package net.pl3x.purpur;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.core.Registry;
import net.minecraft.resources.ResourceLocation;
+import net.minecraft.world.Difficulty;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.Items;
import net.minecraft.world.level.Explosion;
@@ -1755,6 +1756,7 @@ public class PurpurWorldConfig {
@@ -1756,6 +1757,7 @@ public class PurpurWorldConfig {
public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true;
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
@@ -63,7 +63,7 @@ index 21850e0aa760b6e4f0d88515cf917676b1ed4f3a..77b1d0429712ccfc5560f96639b872c4
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1769,6 +1771,11 @@ public class PurpurWorldConfig {
@@ -1770,6 +1772,11 @@ public class PurpurWorldConfig {
zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance);
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);
zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging);

View File

@@ -18,10 +18,10 @@ index 9b8b82bf5bb276be51b8ba5c023879b3a45212cb..13b256c7d9723e38d1a1f5766fb2a28b
} else {
this.setLeftHanded(false);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 77b1d0429712ccfc5560f96639b872c4f9b35600..36cb6ffe08b9e9140a182b33763f40437b49decc 100644
index b69d7eb4f79984123ebbee7de1a2fb0c7ad90655..86ae04b462b43c9f7ff4a1c515cf5b8f5b6cd794 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -115,8 +115,10 @@ public class PurpurWorldConfig {
@@ -116,8 +116,10 @@ public class PurpurWorldConfig {
}
public int entityLifeSpan = 0;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add boat fall damage config
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 8c46b88bb8bfdea6410ad870da92bef084a0089e..820e1b059fedcc5fe4ccbec772594dddce71fecb 100644
index 045bdac43418ff34381e5908cb666e616c77ece2..d362c9efbad593a7cd7efbcdba4acf1457abe4f7 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -986,7 +986,16 @@ public class ServerPlayer extends Player {
@@ -27,10 +27,10 @@ index 8c46b88bb8bfdea6410ad870da92bef084a0089e..820e1b059fedcc5fe4ccbec772594ddd
if (!flag && isSpawnInvulnerable() && source != DamageSource.OUT_OF_WORLD) { // Purpur
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 36cb6ffe08b9e9140a182b33763f40437b49decc..7d039e5dc91f07aa06061a235cebd782587a1f2e 100644
index 86ae04b462b43c9f7ff4a1c515cf5b8f5b6cd794..e262aaa65dd668ee9279231888282a4cc70d2866 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -334,6 +334,7 @@ public class PurpurWorldConfig {
@@ -335,6 +335,7 @@ public class PurpurWorldConfig {
public boolean useBetterMending = false;
public boolean boatEjectPlayersOnLand = false;
@@ -38,7 +38,7 @@ index 36cb6ffe08b9e9140a182b33763f40437b49decc..7d039e5dc91f07aa06061a235cebd782
public boolean disableDropsOnCrammingDeath = false;
public boolean entitiesCanUsePortals = true;
public boolean milkCuresBadOmen = true;
@@ -347,6 +348,7 @@ public class PurpurWorldConfig {
@@ -348,6 +349,7 @@ public class PurpurWorldConfig {
private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);

View File

@@ -23,10 +23,10 @@ index 0733f9c057fef17fd79a4769f19b78f4c83a7784..1697b573ffd0c5d17d2d538c40f5ce4b
this.goalSelector.addGoal(3, new LookAtPlayerGoal(this, Player.class, 6.0F));
this.goalSelector.addGoal(4, new RandomLookAroundGoal(this));
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 7d039e5dc91f07aa06061a235cebd782587a1f2e..d14b5f367fa86e9247f6d15bbe3a7fb6414c5e44 100644
index e262aaa65dd668ee9279231888282a4cc70d2866..3308066e65f835bd916d91bfd100e713cd508710 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1450,6 +1450,10 @@ public class PurpurWorldConfig {
@@ -1451,6 +1451,10 @@ public class PurpurWorldConfig {
public double snowGolemMaxHealth = 4.0D;
public boolean snowGolemDropsPumpkin = true;
public boolean snowGolemPutPumpkinBack = false;
@@ -37,7 +37,7 @@ index 7d039e5dc91f07aa06061a235cebd782587a1f2e..d14b5f367fa86e9247f6d15bbe3a7fb6
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1462,6 +1466,10 @@ public class PurpurWorldConfig {
@@ -1463,6 +1467,10 @@ public class PurpurWorldConfig {
snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth);
snowGolemDropsPumpkin = getBoolean("mobs.snow_golem.drop-pumpkin-when-sheared", snowGolemDropsPumpkin);
snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack);

View File

@@ -53,10 +53,10 @@ index 1e05cc98a332e5b115c4670e5331e679117c6629..84142a42111ff03827297c522b7ce164
if (this.assignProfessionWhenSpawned) {
this.assignProfessionWhenSpawned = false;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d14b5f367fa86e9247f6d15bbe3a7fb6414c5e44..09f350642fb343e3294e6adcb5ca61c93f29b6ec 100644
index 3308066e65f835bd916d91bfd100e713cd508710..d6729a1fd7449dcd6ae57ec52affa059b7a30031 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1623,6 +1623,8 @@ public class PurpurWorldConfig {
@@ -1624,6 +1624,8 @@ public class PurpurWorldConfig {
public int villagerSpawnIronGolemLimit = 0;
public boolean villagerCanBreed = true;
public int villagerBreedingTicks = 6000;
@@ -65,7 +65,7 @@ index d14b5f367fa86e9247f6d15bbe3a7fb6414c5e44..09f350642fb343e3294e6adcb5ca61c9
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1640,6 +1642,13 @@ public class PurpurWorldConfig {
@@ -1641,6 +1643,13 @@ public class PurpurWorldConfig {
villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit);
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);

View File

@@ -185,10 +185,10 @@ index 901fc6520d58a5fa5f2cf1b4fa78fec6008aa409..9050cd25663c71197c597aac0ab2e612
public static final VillagerProfession FISHERMAN = register("fisherman", PoiType.FISHERMAN, SoundEvents.VILLAGER_WORK_FISHERMAN);
public static final VillagerProfession FLETCHER = register("fletcher", PoiType.FLETCHER, SoundEvents.VILLAGER_WORK_FLETCHER);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 09f350642fb343e3294e6adcb5ca61c93f29b6ec..a6ce2ed10c7b0bf1e1b6f1e75da03d00a82c2778 100644
index d6729a1fd7449dcd6ae57ec52affa059b7a30031..37379782788f1c2509c0e1c57a7c6ee760122e8c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1625,6 +1625,8 @@ public class PurpurWorldConfig {
@@ -1626,6 +1626,8 @@ public class PurpurWorldConfig {
public int villagerBreedingTicks = 6000;
public boolean villagerLobotomizeEnabled = false;
public int villagerLobotomizeCheck = 60;
@@ -197,7 +197,7 @@ index 09f350642fb343e3294e6adcb5ca61c93f29b6ec..a6ce2ed10c7b0bf1e1b6f1e75da03d00
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1649,6 +1651,8 @@ public class PurpurWorldConfig {
@@ -1650,6 +1652,8 @@ public class PurpurWorldConfig {
}
villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled);
villagerLobotomizeCheck = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheck);

View File

@@ -35,10 +35,10 @@ index 43ef93d2c0c59e0d7021ee9aa2b44345192cc0a9..ce780a2ba7dcbd9c1c9dc24c07387861
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a6ce2ed10c7b0bf1e1b6f1e75da03d00a82c2778..afc54067f00bb0fd24ee193cd85891cbea6962ac 100644
index 37379782788f1c2509c0e1c57a7c6ee760122e8c..13ffd0e4d74502e6ae0c638d9e074e29a1804ec9 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1859,6 +1859,7 @@ public class PurpurWorldConfig {
@@ -1860,6 +1860,7 @@ public class PurpurWorldConfig {
public boolean zombifiedPiglinJockeyOnlyBaby = true;
public double zombifiedPiglinJockeyChance = 0.05D;
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
@@ -46,7 +46,7 @@ index a6ce2ed10c7b0bf1e1b6f1e75da03d00a82c2778..afc54067f00bb0fd24ee193cd85891cb
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -1872,5 +1873,6 @@ public class PurpurWorldConfig {
@@ -1873,5 +1874,6 @@ public class PurpurWorldConfig {
zombifiedPiglinJockeyOnlyBaby = getBoolean("mobs.zombified_piglin.jockey.only-babies", zombifiedPiglinJockeyOnlyBaby);
zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance);
zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens);

View File

@@ -201,10 +201,10 @@ index ef4abaf68de01b0879f7d0b330d2d57cc6bd10f9..3e7409ebf1f94b9cf55f2d0b0fe17ca8
return super.mobInteract(player, hand);
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index afc54067f00bb0fd24ee193cd85891cbea6962ac..3d69682134c0d88fe4f8a140c596ff6cfe3b2118 100644
index 13ffd0e4d74502e6ae0c638d9e074e29a1804ec9..fef0887d77de7df7b3814147203f4ab18d4f2367 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1746,6 +1746,8 @@ public class PurpurWorldConfig {
@@ -1747,6 +1747,8 @@ public class PurpurWorldConfig {
public boolean wolfRidable = false;
public boolean wolfRidableInWater = false;
public double wolfMaxHealth = 8.0D;
@@ -213,7 +213,7 @@ index afc54067f00bb0fd24ee193cd85891cbea6962ac..3d69682134c0d88fe4f8a140c596ff6c
public int wolfBreedingTicks = 6000;
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
@@ -1756,6 +1758,8 @@ public class PurpurWorldConfig {
@@ -1757,6 +1759,8 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
}
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -24,10 +24,10 @@ index 3e7409ebf1f94b9cf55f2d0b0fe17ca8ec44659f..518dd0e6b4889c049e438b393baa795a
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 3d69682134c0d88fe4f8a140c596ff6cfe3b2118..e08946f536a566c94609eaee7a96f11fdfe50533 100644
index fef0887d77de7df7b3814147203f4ab18d4f2367..ff97331171f8167a1f0ff86dbf99d19410b917ce 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -3,6 +3,7 @@ package net.pl3x.purpur;
@@ -4,6 +4,7 @@ import net.minecraft.server.level.ServerLevel;
import net.minecraft.core.Registry;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.Difficulty;
@@ -35,7 +35,7 @@ index 3d69682134c0d88fe4f8a140c596ff6cfe3b2118..e08946f536a566c94609eaee7a96f11f
import net.minecraft.world.item.Item;
import net.minecraft.world.item.Items;
import net.minecraft.world.level.Explosion;
@@ -1746,6 +1747,7 @@ public class PurpurWorldConfig {
@@ -1747,6 +1748,7 @@ public class PurpurWorldConfig {
public boolean wolfRidable = false;
public boolean wolfRidableInWater = false;
public double wolfMaxHealth = 8.0D;
@@ -43,7 +43,7 @@ index 3d69682134c0d88fe4f8a140c596ff6cfe3b2118..e08946f536a566c94609eaee7a96f11f
public boolean wolfMilkCuresRabies = true;
public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000;
@@ -1758,6 +1760,11 @@ public class PurpurWorldConfig {
@@ -1759,6 +1761,11 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
}
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Phantom flames on swoop
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
index 007437edff2db6044adf9afca4a098509d007edf..a8d8b524cd8e532f78ee6e61a883bd0aa340a718 100644
index c55aba456aa144e58fc35877c61eff309eaa391f..c39e2d05fa81279a684532ee796880b1345e8c1c 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
@@ -227,6 +227,7 @@ public class Phantom extends FlyingMob implements Enemy {
@@ -17,10 +17,10 @@ index 007437edff2db6044adf9afca4a098509d007edf..a8d8b524cd8e532f78ee6e61a883bd0a
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index e08946f536a566c94609eaee7a96f11fdfe50533..449d5f9de232adcbeb72ba9d840da6f503f9af9d 100644
index ff97331171f8167a1f0ff86dbf99d19410b917ce..c7248c71ebc08acb0437ee2d9419311984dfad51 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1155,6 +1155,7 @@ public class PurpurWorldConfig {
@@ -1156,6 +1156,7 @@ public class PurpurWorldConfig {
public float phantomFlameDamage = 1.0F;
public int phantomFlameFireTime = 8;
public boolean phantomAllowGriefing = false;
@@ -28,7 +28,7 @@ index e08946f536a566c94609eaee7a96f11fdfe50533..449d5f9de232adcbeb72ba9d840da6f5
public double phantomMaxHealth = 20.0D;
public double phantomAttackedByCrystalRadius = 0.0D;
public float phantomAttackedByCrystalDamage = 1.0F;
@@ -1181,6 +1182,7 @@ public class PurpurWorldConfig {
@@ -1182,6 +1183,7 @@ public class PurpurWorldConfig {
phantomFlameDamage = (float) getDouble("mobs.phantom.flames.damage", phantomFlameDamage);
phantomFlameFireTime = getInt("mobs.phantom.flames.fire-time", phantomFlameFireTime);
phantomAllowGriefing = getBoolean("mobs.phantom.allow-griefing", phantomAllowGriefing);

View File

@@ -17,10 +17,10 @@ index d980a556785b52fe827310b83638139df0816b11..3c8c02fc92374def12254f7ffad604b2
return world.getBlockState(blockposition1).isRedstoneConductor(world, blockposition1);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 449d5f9de232adcbeb72ba9d840da6f503f9af9d..fd2a79583c73014944cdbda3f0cb1e9b2ea214e6 100644
index c7248c71ebc08acb0437ee2d9419311984dfad51..44c6e3273dd69022aa66c3fbe100ac8a015083d2 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -412,6 +412,11 @@ public class PurpurWorldConfig {
@@ -413,6 +413,11 @@ public class PurpurWorldConfig {
caveVinesMaxGrowthAge = getInt("blocks.cave_vines.max-growth-age", caveVinesMaxGrowthAge);
}

View File

@@ -28,10 +28,10 @@ index 294f276fa8d2d754abde11ebc3d39e5e68996b05..b3928617f732b49cfc124e9bdb879110
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index fd2a79583c73014944cdbda3f0cb1e9b2ea214e6..ad1e00a21015655d1d93a3fb09dc212550e3cb0b 100644
index 44c6e3273dd69022aa66c3fbe100ac8a015083d2..c557ea186824df0777e482ea97b2050ffc0b1023 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1530,6 +1530,7 @@ public class PurpurWorldConfig {
@@ -1531,6 +1531,7 @@ public class PurpurWorldConfig {
public boolean striderRidableInWater = false;
public double striderMaxHealth = 20.0D;
public int striderBreedingTicks = 6000;
@@ -39,7 +39,7 @@ index fd2a79583c73014944cdbda3f0cb1e9b2ea214e6..ad1e00a21015655d1d93a3fb09dc2125
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1540,6 +1541,7 @@ public class PurpurWorldConfig {
@@ -1541,6 +1542,7 @@ public class PurpurWorldConfig {
}
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Full netherite armor grants fire resistance
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 328a9849bb601e1cc9fd31066c2313f9bdfa07b8..dc5ce9a61a20870f4321412ea1e78cc4aa340f97 100644
index e15155c01b94d2f52182d28bebf2b5db65acdb97..1109abd6ba6eeac9b81d23816efd731950b9d0eb 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -362,6 +362,16 @@ public abstract class Player extends LivingEntity {
@@ -26,10 +26,10 @@ index 328a9849bb601e1cc9fd31066c2313f9bdfa07b8..dc5ce9a61a20870f4321412ea1e78cc4
protected ItemCooldowns createItemCooldowns() {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index ad1e00a21015655d1d93a3fb09dc212550e3cb0b..2889fefb433b7a7611eb8a168ad5de671cc342b4 100644
index c557ea186824df0777e482ea97b2050ffc0b1023..472a493599a1263dfb0be6167cda164cc02d83e0 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -253,6 +253,19 @@ public class PurpurWorldConfig {
@@ -254,6 +254,19 @@ public class PurpurWorldConfig {
villageSiegeSpawning = getBoolean("gameplay-mechanics.mob-spawning.village-sieges", predicate);
}

View File

@@ -131,7 +131,7 @@ index 1697b573ffd0c5d17d2d538c40f5ce4b709f261a..69bb27e8223b4be0e410ab9dd10e4db2
}
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index 1e97d52e02d401c905e1dfcd758c63e44857835b..c4800d71a96d3530ba8693638fad6d119f48dbb7 100644
index a70c631691512a633c7fe4df9e9f2881f7397298..0324f69918de432e6e726fee3bd8e86c7d180523 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -560,7 +560,7 @@ public class EnderDragon extends Mob implements Enemy {
@@ -393,10 +393,10 @@ index e98fc3c235f9160f1928a8afb0d7991a6d3430cb..db35f756b7adb6b113659ae13b08ab89
return true;
// Purpur end
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 2889fefb433b7a7611eb8a168ad5de671cc342b4..fa8bc169febef0f0513c584d558238cc28decfac 100644
index 472a493599a1263dfb0be6167cda164cc02d83e0..8f6589574f8ff7e2ad6676611e6a6ad617025e5e 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -351,9 +351,12 @@ public class PurpurWorldConfig {
@@ -352,9 +352,12 @@ public class PurpurWorldConfig {
public boolean boatsDoFallDamage = true;
public boolean disableDropsOnCrammingDeath = false;
public boolean entitiesCanUsePortals = true;
@@ -409,7 +409,7 @@ index 2889fefb433b7a7611eb8a168ad5de671cc342b4..fa8bc169febef0f0513c584d558238cc
public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D;
@@ -365,9 +368,12 @@ public class PurpurWorldConfig {
@@ -366,9 +369,12 @@ public class PurpurWorldConfig {
boatsDoFallDamage = getBoolean("gameplay-mechanics.boat.do-fall-damage", boatsDoFallDamage);
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals);
@@ -422,7 +422,7 @@ index 2889fefb433b7a7611eb8a168ad5de671cc342b4..fa8bc169febef0f0513c584d558238cc
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);
@@ -437,9 +443,11 @@ public class PurpurWorldConfig {
@@ -438,9 +444,11 @@ public class PurpurWorldConfig {
dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils);
}
@@ -434,7 +434,7 @@ index 2889fefb433b7a7611eb8a168ad5de671cc342b4..fa8bc169febef0f0513c584d558238cc
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
farmlandAlpha = getBoolean("blocks.farmland.use-alpha-farmland", farmlandAlpha);
}
@@ -465,6 +473,11 @@ public class PurpurWorldConfig {
@@ -466,6 +474,11 @@ public class PurpurWorldConfig {
kelpMaxGrowthAge = getInt("blocks.kelp.max-growth-age", kelpMaxGrowthAge);
}
@@ -446,7 +446,7 @@ index 2889fefb433b7a7611eb8a168ad5de671cc342b4..fa8bc169febef0f0513c584d558238cc
public boolean respawnAnchorExplode = true;
public double respawnAnchorExplosionPower = 5.0D;
public boolean respawnAnchorExplosionFire = true;
@@ -498,6 +511,11 @@ public class PurpurWorldConfig {
@@ -499,6 +512,11 @@ public class PurpurWorldConfig {
stonecutterDamage = (float) getDouble("blocks.stonecutter.damage", stonecutterDamage);
}
@@ -458,7 +458,7 @@ index 2889fefb433b7a7611eb8a168ad5de671cc342b4..fa8bc169febef0f0513c584d558238cc
public double twistingVinesGrowthModifier = 0.10D;
public int twistingVinesMaxGrowthAge = 25;
private void twistingVinesSettings() {
@@ -676,6 +694,7 @@ public class PurpurWorldConfig {
@@ -677,6 +695,7 @@ public class PurpurWorldConfig {
public double creeperMaxHealth = 20.0D;
public double creeperChargedChance = 0.0D;
public boolean creeperAllowGriefing = true;
@@ -466,7 +466,7 @@ index 2889fefb433b7a7611eb8a168ad5de671cc342b4..fa8bc169febef0f0513c584d558238cc
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -687,6 +706,7 @@ public class PurpurWorldConfig {
@@ -688,6 +707,7 @@ public class PurpurWorldConfig {
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth);
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing);
@@ -474,7 +474,7 @@ index 2889fefb433b7a7611eb8a168ad5de671cc342b4..fa8bc169febef0f0513c584d558238cc
}
public boolean dolphinRidable = false;
@@ -774,6 +794,7 @@ public class PurpurWorldConfig {
@@ -775,6 +795,7 @@ public class PurpurWorldConfig {
public double enderDragonMaxY = 256D;
public double enderDragonMaxHealth = 200.0D;
public boolean enderDragonAlwaysDropsFullExp = false;
@@ -482,7 +482,7 @@ index 2889fefb433b7a7611eb8a168ad5de671cc342b4..fa8bc169febef0f0513c584d558238cc
private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
@@ -789,6 +810,7 @@ public class PurpurWorldConfig {
@@ -790,6 +811,7 @@ public class PurpurWorldConfig {
}
enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth);
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
@@ -490,7 +490,7 @@ index 2889fefb433b7a7611eb8a168ad5de671cc342b4..fa8bc169febef0f0513c584d558238cc
}
public boolean endermanRidable = false;
@@ -796,6 +818,7 @@ public class PurpurWorldConfig {
@@ -797,6 +819,7 @@ public class PurpurWorldConfig {
public double endermanMaxHealth = 40.0D;
public boolean endermanAllowGriefing = true;
public boolean endermanDespawnEvenWithBlock = false;
@@ -498,7 +498,7 @@ index 2889fefb433b7a7611eb8a168ad5de671cc342b4..fa8bc169febef0f0513c584d558238cc
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -807,6 +830,7 @@ public class PurpurWorldConfig {
@@ -808,6 +831,7 @@ public class PurpurWorldConfig {
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);
endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);
endermanDespawnEvenWithBlock = getBoolean("mobs.enderman.can-despawn-with-held-block", endermanDespawnEvenWithBlock);
@@ -506,7 +506,7 @@ index 2889fefb433b7a7611eb8a168ad5de671cc342b4..fa8bc169febef0f0513c584d558238cc
}
public boolean endermiteRidable = false;
@@ -826,6 +850,7 @@ public class PurpurWorldConfig {
@@ -827,6 +851,7 @@ public class PurpurWorldConfig {
public boolean evokerRidable = false;
public boolean evokerRidableInWater = false;
public double evokerMaxHealth = 24.0D;
@@ -514,7 +514,7 @@ index 2889fefb433b7a7611eb8a168ad5de671cc342b4..fa8bc169febef0f0513c584d558238cc
private void evokerSettings() {
evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable);
evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater);
@@ -835,6 +860,7 @@ public class PurpurWorldConfig {
@@ -836,6 +861,7 @@ public class PurpurWorldConfig {
set("mobs.evoker.attributes.max_health", oldValue);
}
evokerMaxHealth = getDouble("mobs.evoker.attributes.max_health", evokerMaxHealth);
@@ -522,7 +522,7 @@ index 2889fefb433b7a7611eb8a168ad5de671cc342b4..fa8bc169febef0f0513c584d558238cc
}
public boolean foxRidable = false;
@@ -842,6 +868,7 @@ public class PurpurWorldConfig {
@@ -843,6 +869,7 @@ public class PurpurWorldConfig {
public double foxMaxHealth = 10.0D;
public boolean foxTypeChangesWithTulips = false;
public int foxBreedingTicks = 6000;
@@ -530,7 +530,7 @@ index 2889fefb433b7a7611eb8a168ad5de671cc342b4..fa8bc169febef0f0513c584d558238cc
private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -853,6 +880,7 @@ public class PurpurWorldConfig {
@@ -854,6 +881,7 @@ public class PurpurWorldConfig {
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks);
@@ -538,7 +538,7 @@ index 2889fefb433b7a7611eb8a168ad5de671cc342b4..fa8bc169febef0f0513c584d558238cc
}
public boolean ghastRidable = false;
@@ -1248,6 +1276,7 @@ public class PurpurWorldConfig {
@@ -1249,6 +1277,7 @@ public class PurpurWorldConfig {
public boolean piglinRidable = false;
public boolean piglinRidableInWater = false;
public double piglinMaxHealth = 16.0D;
@@ -546,7 +546,7 @@ index 2889fefb433b7a7611eb8a168ad5de671cc342b4..fa8bc169febef0f0513c584d558238cc
private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -1257,6 +1286,7 @@ public class PurpurWorldConfig {
@@ -1258,6 +1287,7 @@ public class PurpurWorldConfig {
set("mobs.piglin.attributes.max_health", oldValue);
}
piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth);
@@ -554,7 +554,7 @@ index 2889fefb433b7a7611eb8a168ad5de671cc342b4..fa8bc169febef0f0513c584d558238cc
}
public boolean piglinBruteRidable = false;
@@ -1276,6 +1306,7 @@ public class PurpurWorldConfig {
@@ -1277,6 +1307,7 @@ public class PurpurWorldConfig {
public boolean pillagerRidable = false;
public boolean pillagerRidableInWater = false;
public double pillagerMaxHealth = 24.0D;
@@ -562,7 +562,7 @@ index 2889fefb433b7a7611eb8a168ad5de671cc342b4..fa8bc169febef0f0513c584d558238cc
private void pillagerSettings() {
pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable);
pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater);
@@ -1285,6 +1316,7 @@ public class PurpurWorldConfig {
@@ -1286,6 +1317,7 @@ public class PurpurWorldConfig {
set("mobs.pillager.attributes.max_health", oldValue);
}
pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth);
@@ -570,7 +570,7 @@ index 2889fefb433b7a7611eb8a168ad5de671cc342b4..fa8bc169febef0f0513c584d558238cc
}
public boolean polarBearRidable = false;
@@ -1326,6 +1358,7 @@ public class PurpurWorldConfig {
@@ -1327,6 +1359,7 @@ public class PurpurWorldConfig {
public double rabbitNaturalToast = 0.0D;
public double rabbitNaturalKiller = 0.0D;
public int rabbitBreedingTicks = 6000;
@@ -578,7 +578,7 @@ index 2889fefb433b7a7611eb8a168ad5de671cc342b4..fa8bc169febef0f0513c584d558238cc
private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -1338,11 +1371,13 @@ public class PurpurWorldConfig {
@@ -1339,11 +1372,13 @@ public class PurpurWorldConfig {
rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast);
rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks);
@@ -592,7 +592,7 @@ index 2889fefb433b7a7611eb8a168ad5de671cc342b4..fa8bc169febef0f0513c584d558238cc
private void ravagerSettings() {
ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable);
ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater);
@@ -1352,6 +1387,7 @@ public class PurpurWorldConfig {
@@ -1353,6 +1388,7 @@ public class PurpurWorldConfig {
set("mobs.ravager.attributes.max_health", oldValue);
}
ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth);
@@ -600,7 +600,7 @@ index 2889fefb433b7a7611eb8a168ad5de671cc342b4..fa8bc169febef0f0513c584d558238cc
}
public boolean salmonRidable = false;
@@ -1370,6 +1406,7 @@ public class PurpurWorldConfig {
@@ -1371,6 +1407,7 @@ public class PurpurWorldConfig {
public boolean sheepRidableInWater = false;
public double sheepMaxHealth = 8.0D;
public int sheepBreedingTicks = 6000;
@@ -608,7 +608,7 @@ index 2889fefb433b7a7611eb8a168ad5de671cc342b4..fa8bc169febef0f0513c584d558238cc
private void sheepSettings() {
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
@@ -1380,6 +1417,7 @@ public class PurpurWorldConfig {
@@ -1381,6 +1418,7 @@ public class PurpurWorldConfig {
}
sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth);
sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks);
@@ -616,7 +616,7 @@ index 2889fefb433b7a7611eb8a168ad5de671cc342b4..fa8bc169febef0f0513c584d558238cc
}
public boolean shulkerRidable = false;
@@ -1399,6 +1437,7 @@ public class PurpurWorldConfig {
@@ -1400,6 +1438,7 @@ public class PurpurWorldConfig {
public boolean silverfishRidable = false;
public boolean silverfishRidableInWater = false;
public double silverfishMaxHealth = 8.0D;
@@ -624,7 +624,7 @@ index 2889fefb433b7a7611eb8a168ad5de671cc342b4..fa8bc169febef0f0513c584d558238cc
private void silverfishSettings() {
silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable);
silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater);
@@ -1408,6 +1447,7 @@ public class PurpurWorldConfig {
@@ -1409,6 +1448,7 @@ public class PurpurWorldConfig {
set("mobs.silverfish.attributes.max_health", oldValue);
}
silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth);
@@ -632,7 +632,7 @@ index 2889fefb433b7a7611eb8a168ad5de671cc342b4..fa8bc169febef0f0513c584d558238cc
}
public boolean skeletonRidable = false;
@@ -1475,6 +1515,7 @@ public class PurpurWorldConfig {
@@ -1476,6 +1516,7 @@ public class PurpurWorldConfig {
public int snowGolemSnowBallMax = 20;
public float snowGolemSnowBallModifier = 10.0F;
public double snowGolemAttackDistance = 1.25D;
@@ -640,7 +640,7 @@ index 2889fefb433b7a7611eb8a168ad5de671cc342b4..fa8bc169febef0f0513c584d558238cc
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1491,6 +1532,7 @@ public class PurpurWorldConfig {
@@ -1492,6 +1533,7 @@ public class PurpurWorldConfig {
snowGolemSnowBallMax = getInt("mobs.snow_golem.max-shoot-interval-ticks", snowGolemSnowBallMax);
snowGolemSnowBallModifier = (float) getDouble("mobs.snow_golem.snow-ball-modifier", snowGolemSnowBallModifier);
snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance);
@@ -648,7 +648,7 @@ index 2889fefb433b7a7611eb8a168ad5de671cc342b4..fa8bc169febef0f0513c584d558238cc
}
public boolean squidRidable = false;
@@ -1650,6 +1692,7 @@ public class PurpurWorldConfig {
@@ -1651,6 +1693,7 @@ public class PurpurWorldConfig {
public int villagerLobotomizeCheck = 60;
public boolean villagerClericsFarmWarts = false;
public boolean villagerClericFarmersThrowWarts = true;
@@ -656,7 +656,7 @@ index 2889fefb433b7a7611eb8a168ad5de671cc342b4..fa8bc169febef0f0513c584d558238cc
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1676,6 +1719,7 @@ public class PurpurWorldConfig {
@@ -1677,6 +1720,7 @@ public class PurpurWorldConfig {
villagerLobotomizeCheck = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheck);
villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts);
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
@@ -664,7 +664,7 @@ index 2889fefb433b7a7611eb8a168ad5de671cc342b4..fa8bc169febef0f0513c584d558238cc
}
public boolean vindicatorRidable = false;
@@ -1732,6 +1776,7 @@ public class PurpurWorldConfig {
@@ -1733,6 +1777,7 @@ public class PurpurWorldConfig {
public double witherMaxHealth = 300.0D;
public float witherHealthRegenAmount = 1.0f;
public int witherHealthRegenDelay = 20;
@@ -672,7 +672,7 @@ index 2889fefb433b7a7611eb8a168ad5de671cc342b4..fa8bc169febef0f0513c584d558238cc
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1748,6 +1793,7 @@ public class PurpurWorldConfig {
@@ -1749,6 +1794,7 @@ public class PurpurWorldConfig {
witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth);
witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount);
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
@@ -680,7 +680,7 @@ index 2889fefb433b7a7611eb8a168ad5de671cc342b4..fa8bc169febef0f0513c584d558238cc
}
public boolean witherSkeletonRidable = false;
@@ -1815,6 +1861,7 @@ public class PurpurWorldConfig {
@@ -1816,6 +1862,7 @@ public class PurpurWorldConfig {
public boolean zombieJockeyTryExistingChickens = true;
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
public Difficulty zombieBreakDoorMinDifficulty = Difficulty.HARD;
@@ -688,7 +688,7 @@ index 2889fefb433b7a7611eb8a168ad5de671cc342b4..fa8bc169febef0f0513c584d558238cc
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1834,6 +1881,7 @@ public class PurpurWorldConfig {
@@ -1835,6 +1882,7 @@ public class PurpurWorldConfig {
} catch (IllegalArgumentException ignore) {
zombieBreakDoorMinDifficulty = Difficulty.HARD;
}

Some files were not shown because too many files have changed in this diff Show More