From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: AlphaKR93 Date: Wed, 27 Sep 2023 18:29:51 +0900 Subject: [PATCH] Plazma: Add some missing Pufferfish configurations Original license: MIT Original project: https://github.com/PlazmaMC/PlazmaBukkit Add Pufferfish DAB support for Camel, Sniffer, Warden https://github.com/pufferfish-gg/Pufferfish/issues/83 diff --git a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java index 7b87ea3578f3bb8b7e93054171a0f66c0e0d1262..b0ec4b9623e0efa2f9bebdd704a77ce16f7e4cd6 100644 --- a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java +++ b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java @@ -168,9 +168,11 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Saddl return dimensions.height - 0.1F * this.getScale(); } + private int behaviorTick = 0; // Plazma - Add missing pufferfish configurations @Override protected void customServerAiStep() { Brain brain = (Brain) this.getBrain(); // Paper - decompile fix + if ((getRider() == null || !this.isControllable()) && this.behaviorTick++ % this.activatedPriority == 0) // Plazma - Add missing pufferfish configurations brain.tick((ServerLevel)this.level(), this); CamelAi.updateActivity(this); super.customServerAiStep(); diff --git a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java index 4e7867e7239eb573b287a70eee8191bdf434f686..2c6c153187f97cd07157d72cbe4c9829161f74b7 100644 --- a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java +++ b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java @@ -527,8 +527,10 @@ public class Sniffer extends Animal { return Brain.provider(SnifferAi.MEMORY_TYPES, SnifferAi.SENSOR_TYPES); } + private int behaviorTick; // Plazma - Add missing pufferfish configurations @Override protected void customServerAiStep() { + if ((getRider() == null || !this.isControllable()) && this.behaviorTick++ % this.activatedPriority == 0) // Plazma - Add missing pufferfish configurations this.getBrain().tick((ServerLevel) this.level(), this); SnifferAi.updateActivity(this); super.customServerAiStep(); diff --git a/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java b/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java index 141c41c05623ab5802ae3e03ee772d310efda3a8..695458d1d45169ae36344984a5b66fa8c3ee907d 100644 --- a/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java +++ b/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java @@ -319,7 +319,7 @@ public class Warden extends Monster implements VibrationSystem { protected void customServerAiStep() { ServerLevel worldserver = (ServerLevel) this.level(); - if (this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish + if ((getRider() == null || !this.isControllable()) && this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish // Plazma this.getBrain().tick(worldserver, this); super.customServerAiStep(); if ((this.tickCount + this.getId()) % 120 == 0) {