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 d68368f0d620e3d7a843c149cf06ad96f10662d1..7d671a5a095f8c47ce21bc498046d5065e4dd4ce 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 5ebef8ad47b8dc27de23b878eec86f5136e4c9ec..8acd9a0037e12670472734cd86c95336a04f9f13 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) {