From a829cdf70184379c2d7feea6bae7c4ab11756774 Mon Sep 17 00:00:00 2001 From: ThisTestUser Date: Mon, 21 Nov 2022 16:26:53 -0500 Subject: [PATCH] Fix doTick() not being called Fixes potion ticking and fire damage effects --- .../net/nuggetmc/tplus/api/Terminator.java | 4 -- .../main/java/net/nuggetmc/tplus/bot/Bot.java | 58 +------------------ .../net/nuggetmc/tplus/utils/Debugger.java | 4 -- 3 files changed, 3 insertions(+), 63 deletions(-) diff --git a/TerminatorPlus-API/src/main/java/net/nuggetmc/tplus/api/Terminator.java b/TerminatorPlus-API/src/main/java/net/nuggetmc/tplus/api/Terminator.java index c43f686..a54919c 100644 --- a/TerminatorPlus-API/src/main/java/net/nuggetmc/tplus/api/Terminator.java +++ b/TerminatorPlus-API/src/main/java/net/nuggetmc/tplus/api/Terminator.java @@ -43,8 +43,6 @@ public interface Terminator { float getBotMaxHealth(); - void ignite(); - boolean isBotOnFire(); boolean isFalling(); @@ -119,8 +117,6 @@ public interface Terminator { void renderBot(Object packetListener, boolean login); - void setOnFirePackets(boolean onFire); - UUID getTargetPlayer(); void setTargetPlayer(UUID target); diff --git a/TerminatorPlus-Plugin/src/main/java/net/nuggetmc/tplus/bot/Bot.java b/TerminatorPlus-Plugin/src/main/java/net/nuggetmc/tplus/bot/Bot.java index c8dacd6..69b3d77 100644 --- a/TerminatorPlus-Plugin/src/main/java/net/nuggetmc/tplus/bot/Bot.java +++ b/TerminatorPlus-Plugin/src/main/java/net/nuggetmc/tplus/bot/Bot.java @@ -71,7 +71,6 @@ public class Bot extends ServerPlayer implements Terminator { private boolean removeOnDeath; private int aliveTicks; private int kills; - private byte fireTicks; // Fire animation isn't played? Bot still takes damage. private byte groundTicks; private byte jumpTicks; private byte noFallTicks; @@ -89,7 +88,6 @@ public class Bot extends ServerPlayer implements Terminator { this.velocity = new Vector(0, 0, 0); this.oldVelocity = velocity.clone(); this.noFallTicks = 60; - this.fireTicks = 0; this.removeOnDeath = true; this.offset = MathUtils.circleOffset(3); if (addToPlayerList) { @@ -291,7 +289,6 @@ public class Bot extends ServerPlayer implements Terminator { aliveTicks++; - if (fireTicks > 0) --fireTicks; if (jumpTicks > 0) --jumpTicks; if (noFallTicks > 0) --noFallTicks; @@ -318,14 +315,11 @@ public class Bot extends ServerPlayer implements Terminator { setHealth(amount); - fireDamageCheck(); fallDamageCheck(); - if (position().y < -64) { - die(DamageSource.OUT_OF_WORLD); - } - oldVelocity = velocity.clone(); + + doTick(); } private void loadChunks() { @@ -342,52 +336,6 @@ public class Bot extends ServerPlayer implements Terminator { } } - private void fireDamageCheck() { - if (!isAlive()) { - return; // maybe also have packet reset thing - } - - Material type = getLocation().getBlock().getType(); - - if (type == Material.WATER) { - setOnFirePackets(false); // maybe also play extinguish noise? - fireTicks = 0; - return; - } - - boolean lava = type == org.bukkit.Material.LAVA; - - if (lava || type == org.bukkit.Material.FIRE || type == Material.SOUL_FIRE) { - ignite(); - } - - if (invulnerableTime == 0) { - if (lava) { - hurt(DamageSource.LAVA, 4); - invulnerableTime = 10; - } else if (fireTicks > 1) { - hurt(DamageSource.IN_FIRE, 1); - invulnerableTime = 10; - } - } - - if (fireTicks == 1) { - setOnFirePackets(false); - } - } - - @Override - public void ignite() { - if (fireTicks <= 1) setOnFirePackets(true); - fireTicks = 100; - } - - @Override - public void setOnFirePackets(boolean onFire) { - //entityData.set(new EntityDataAccessor<>(0, EntityDataSerializers.BYTE), onFire ? (byte) 1 : (byte) 0); - //sendPacket(new ClientboundSetEntityDataPacket(getId(), entityData, false)); - } - @Override public UUID getTargetPlayer() { return targetPlayer; @@ -400,7 +348,7 @@ public class Bot extends ServerPlayer implements Terminator { @Override public boolean isBotOnFire() { - return fireTicks != 0; + return this.isOnFire(); } private void fallDamageCheck() { // TODO create a better bot event system in the future, also have bot.getAgent() diff --git a/TerminatorPlus-Plugin/src/main/java/net/nuggetmc/tplus/utils/Debugger.java b/TerminatorPlus-Plugin/src/main/java/net/nuggetmc/tplus/utils/Debugger.java index 42a5caf..e3fcfb8 100644 --- a/TerminatorPlus-Plugin/src/main/java/net/nuggetmc/tplus/utils/Debugger.java +++ b/TerminatorPlus-Plugin/src/main/java/net/nuggetmc/tplus/utils/Debugger.java @@ -365,10 +365,6 @@ public class Debugger { print("This has been established as a feature as \"" + ChatColor.AQUA + "/bot settings setgoal" + ChatColor.RESET + "\"!"); } - public void fire(boolean b) { - TerminatorPlus.getInstance().getManager().fetch().forEach(bot -> bot.setOnFirePackets(b)); - } - public void trackYVel() { if (!(sender instanceof Player)) return;