From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Encode42 Date: Thu, 10 Dec 2020 13:43:28 -0500 Subject: [PATCH] Configurable default wolf collar color This allows for the server to set a default collar color when a wolf is tamed. Resets to RED when the value is invalid. diff --git a/src/main/java/net/minecraft/server/EntityWolf.java b/src/main/java/net/minecraft/server/EntityWolf.java index 5fe2e9f4bfbdc08690eacd6196e59529dc7953e8..fd62dc51258876275adbe02f750fd88107c38a6b 100644 --- a/src/main/java/net/minecraft/server/EntityWolf.java +++ b/src/main/java/net/minecraft/server/EntityWolf.java @@ -115,6 +115,12 @@ public class EntityWolf extends EntityTameableAnimal implements IEntityAngerable this.updatePathfinders(false); return super.prepare(worldaccess, difficultydamagescaler, enummobspawn, groupdataentity, nbttagcompound); } + + @Override + public void tame(EntityHuman entityhuman) { + setCollarColor(world.purpurConfig.wolfDefaultCollarColor); + super.tame(entityhuman); + } // Purpur end @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java index 56e1af807e3f2763c0878c5003bc062bdf50355e..f025bc73be48716310f1716d2cabbd5af5c39727 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; import com.destroystokyo.paper.PaperConfig; import net.minecraft.server.Block; import net.minecraft.server.Blocks; +import net.minecraft.server.EnumColor; import net.minecraft.server.EnumDifficulty; import net.minecraft.server.Explosion; import net.minecraft.server.IRegistry; @@ -1159,12 +1160,18 @@ public class PurpurWorldConfig { public boolean wolfRidable = false; public boolean wolfRidableInWater = false; + public EnumColor wolfDefaultCollarColor = EnumColor.RED; public boolean wolfMilkCuresRabies = true; public double wolfNaturalRabid = 0.0D; public int wolfBreedingTicks = 6000; private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater); + try { + wolfDefaultCollarColor = EnumColor.valueOf(getString("mobs.wolf.default-collar-color", wolfDefaultCollarColor.name())); + } catch (IllegalArgumentException ignore) { + wolfDefaultCollarColor = EnumColor.RED; + } wolfMilkCuresRabies = getBoolean("mobs.wolf.milk-cures-rabid-wolves", wolfMilkCuresRabies); wolfNaturalRabid = getDouble("mobs.wolf.spawn-rabid-chance", wolfNaturalRabid); wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks);