From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 31 Aug 2019 17:47:11 -0500 Subject: [PATCH] Rabbit naturally spawn toast and killer diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java index 76ea5b3d0d70eb8bdbbbb4bf7bed31d0d7d712a3..5b30a1d34d7efb1a5c86ae187027313fec1fd700 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java +++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java @@ -435,7 +435,11 @@ public class Rabbit extends Animal { if (!this.hasCustomName()) { this.setCustomName(new TranslatableComponent(Util.makeDescriptionId("entity", Rabbit.KILLER_BUNNY))); } + // Purpur start + } else if (rabbitType == 98) { + setCustomName(new TranslatableComponent("Toast")); } + // Purpur end this.entityData.set(Rabbit.DATA_TYPE_ID, rabbitType); } @@ -456,6 +460,16 @@ public class Rabbit extends Animal { } private int getRandomRabbitType(LevelAccessor world) { + // Purpur start + Level level = world.getMinecraftWorld(); + if (level.purpurConfig.rabbitNaturalKiller > 0D && random.nextDouble() <= level.purpurConfig.rabbitNaturalKiller) { + return 99; + } + if (level.purpurConfig.rabbitNaturalToast > 0D && random.nextDouble() <= level.purpurConfig.rabbitNaturalToast) { + return 98; + } + // Purpur end + Holder holder = world.getBiome(this.blockPosition()); int i = this.random.nextInt(100); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java index a1d8065ef1ac0f065cf6bc030a8746e9418690aa..91f892e411b9f6ce2a64138ed3d3576b43e482ea 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -945,6 +945,8 @@ public class PurpurWorldConfig { public boolean rabbitRidableInWater = false; public boolean rabbitControllable = true; public double rabbitMaxHealth = 3.0D; + public double rabbitNaturalToast = 0.0D; + public double rabbitNaturalKiller = 0.0D; private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); @@ -955,6 +957,8 @@ public class PurpurWorldConfig { set("mobs.rabbit.attributes.max_health", oldValue); } 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); } public boolean ravagerRidable = false;