mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-18 17:07:43 +01:00
Upstream has released updates that appear to apply and compile correctly Paper Changes: 8a29f5894 [Auto] Updated Upstream (Bukkit/CraftBukkit) 8756d232c Expose server protocol version (#5416) 4492bc4cc remove l4j class no longer in existence from preload list be1370517 Updated Upstream (CraftBukkit) (#5484) d560151ec Bump mysql-connector-java to 8.0.23 (Fixes #5473) (#5474) 61f400f11 Update log4j to 2.11.2 for JDK 9+ compat (#5400) a98196585 Updated Upstream (Bukkit/CraftBukkit) de138fac4 [Auto] Updated Upstream (Bukkit) 304a216ba [CI-SKIP] Ignore gitignore when adding files in automation d8e384a16 [CI-SKIP] Drop `Allow PlayerEditBookEvent to fire for off hand` (#5471) Tuinity Changes: d5261ad29 Do not load chunks for getCubes by default da9cf9828 Don't read neighbor chunk data off disk when converting chunks a0aa5ab07 Do not load 1 radius neighbors for lighting 5ccfa52a2 Fix terrible patch times af53d703a Stop large move vectors in player packet handling from killing the server 6e56ee735 Fix OBFHELPER for flushHeaderin RegionFile 995d05c1c Do not update TE's in generating chunks Airplane Changes: 8de8e82a2 Update upstream (Tuinity)
58 lines
3.6 KiB
Diff
58 lines
3.6 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
|
Date: Sun, 7 Jul 2019 19:52:16 -0500
|
|
Subject: [PATCH] Zombie horse naturally spawn
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/level/WorldServer.java b/src/main/java/net/minecraft/server/level/WorldServer.java
|
|
index 946c49ef50ed9360467b6e29d7121da676832156..12bac4dbf7164c4d674897ed067958965a862864 100644
|
|
--- a/src/main/java/net/minecraft/server/level/WorldServer.java
|
|
+++ b/src/main/java/net/minecraft/server/level/WorldServer.java
|
|
@@ -96,6 +96,7 @@ import net.minecraft.world.entity.ai.village.poi.VillagePlace;
|
|
import net.minecraft.world.entity.ai.village.poi.VillagePlaceType;
|
|
import net.minecraft.world.entity.animal.EntityAnimal;
|
|
import net.minecraft.world.entity.animal.EntityWaterAnimal;
|
|
+import net.minecraft.world.entity.animal.horse.EntityHorseAbstract;
|
|
import net.minecraft.world.entity.animal.horse.EntityHorseSkeleton;
|
|
import net.minecraft.world.entity.boss.EntityComplexPart;
|
|
import net.minecraft.world.entity.boss.enderdragon.EntityEnderDragon;
|
|
@@ -1243,12 +1244,18 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
|
boolean flag1 = this.getGameRules().getBoolean(GameRules.DO_MOB_SPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.b() * paperConfig.skeleHorseSpawnChance; // Paper
|
|
|
|
if (flag1) {
|
|
- EntityHorseSkeleton entityhorseskeleton = (EntityHorseSkeleton) EntityTypes.SKELETON_HORSE.a((World) this);
|
|
-
|
|
- entityhorseskeleton.t(true);
|
|
- entityhorseskeleton.setAgeRaw(0);
|
|
- entityhorseskeleton.setPosition((double) blockposition.getX(), (double) blockposition.getY(), (double) blockposition.getZ());
|
|
- this.addEntity(entityhorseskeleton, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.LIGHTNING); // CraftBukkit
|
|
+ // Purpur start
|
|
+ EntityHorseAbstract horse;
|
|
+ if (purpurConfig.zombieHorseSpawnChance > 0D && random.nextDouble() <= purpurConfig.zombieHorseSpawnChance) {
|
|
+ horse = EntityTypes.ZOMBIE_HORSE.create(this);
|
|
+ } else {
|
|
+ horse = EntityTypes.SKELETON_HORSE.create(this);
|
|
+ ((EntityHorseSkeleton) horse).setTrap(true);
|
|
+ }
|
|
+ horse.setAgeRaw(0);
|
|
+ horse.setPosition(blockposition.getX(), blockposition.getY(), blockposition.getZ());
|
|
+ addEntity(horse, CreatureSpawnEvent.SpawnReason.LIGHTNING); // CraftBukkit
|
|
+ // Purpur end
|
|
}
|
|
|
|
EntityLightning entitylightning = (EntityLightning) EntityTypes.LIGHTNING_BOLT.a((World) this);
|
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
|
index d6bd971a62af7341f8dc8b3afe32786ced6fcd41..81b0e17a4bc5022ea757f03c2546808148d6e957 100644
|
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
|
@@ -155,4 +155,9 @@ public class PurpurWorldConfig {
|
|
villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks);
|
|
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
|
|
}
|
|
+
|
|
+ public double zombieHorseSpawnChance = 0.0D;
|
|
+ private void zombieHorseSettings() {
|
|
+ zombieHorseSpawnChance = getDouble("mobs.zombie_horse.spawn-chance", zombieHorseSpawnChance);
|
|
+ }
|
|
}
|