diff --git a/.gradle/9.0.0/checksums/checksums.lock b/.gradle/9.0.0/checksums/checksums.lock
index 8f25d8f..6616e0b 100644
Binary files a/.gradle/9.0.0/checksums/checksums.lock and b/.gradle/9.0.0/checksums/checksums.lock differ
diff --git a/.gradle/9.0.0/checksums/sha1-checksums.bin b/.gradle/9.0.0/checksums/sha1-checksums.bin
index 95c188b..7962ed7 100644
Binary files a/.gradle/9.0.0/checksums/sha1-checksums.bin and b/.gradle/9.0.0/checksums/sha1-checksums.bin differ
diff --git a/.gradle/9.0.0/executionHistory/executionHistory.bin b/.gradle/9.0.0/executionHistory/executionHistory.bin
index 2109a05..6fc408a 100644
Binary files a/.gradle/9.0.0/executionHistory/executionHistory.bin and b/.gradle/9.0.0/executionHistory/executionHistory.bin differ
diff --git a/.gradle/9.0.0/executionHistory/executionHistory.lock b/.gradle/9.0.0/executionHistory/executionHistory.lock
index 14b44ab..2742ad3 100644
Binary files a/.gradle/9.0.0/executionHistory/executionHistory.lock and b/.gradle/9.0.0/executionHistory/executionHistory.lock differ
diff --git a/.gradle/9.0.0/fileHashes/fileHashes.bin b/.gradle/9.0.0/fileHashes/fileHashes.bin
index df13234..532a2cc 100644
Binary files a/.gradle/9.0.0/fileHashes/fileHashes.bin and b/.gradle/9.0.0/fileHashes/fileHashes.bin differ
diff --git a/.gradle/9.0.0/fileHashes/fileHashes.lock b/.gradle/9.0.0/fileHashes/fileHashes.lock
index 099e643..9393f96 100644
Binary files a/.gradle/9.0.0/fileHashes/fileHashes.lock and b/.gradle/9.0.0/fileHashes/fileHashes.lock differ
diff --git a/.gradle/9.0.0/fileHashes/resourceHashesCache.bin b/.gradle/9.0.0/fileHashes/resourceHashesCache.bin
index 35c0b72..e5d38a8 100644
Binary files a/.gradle/9.0.0/fileHashes/resourceHashesCache.bin and b/.gradle/9.0.0/fileHashes/resourceHashesCache.bin differ
diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock
index 690fae8..00965d1 100644
Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ
diff --git a/.gradle/file-system.probe b/.gradle/file-system.probe
index 8c4da3a..7d2763c 100644
Binary files a/.gradle/file-system.probe and b/.gradle/file-system.probe differ
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
new file mode 100644
index 0000000..e6fb5ba
--- /dev/null
+++ b/.idea/gradle.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..6ed36dd
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
new file mode 100644
index 0000000..896870d
--- /dev/null
+++ b/.idea/workspace.xml
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1772637332226
+
+
+ 1772637332226
+
+
+
+
\ No newline at end of file
diff --git a/TerminatorPlus-API/bin/main/net/nuggetmc/tplus/api/Terminator.class b/TerminatorPlus-API/bin/main/net/nuggetmc/tplus/api/Terminator.class
index 2634dfa..1689c33 100644
Binary files a/TerminatorPlus-API/bin/main/net/nuggetmc/tplus/api/Terminator.class and b/TerminatorPlus-API/bin/main/net/nuggetmc/tplus/api/Terminator.class differ
diff --git a/TerminatorPlus-API/bin/main/net/nuggetmc/tplus/api/agent/botagent/BotAgent.class b/TerminatorPlus-API/bin/main/net/nuggetmc/tplus/api/agent/botagent/BotAgent.class
index 178cef5..414a384 100644
Binary files a/TerminatorPlus-API/bin/main/net/nuggetmc/tplus/api/agent/botagent/BotAgent.class and b/TerminatorPlus-API/bin/main/net/nuggetmc/tplus/api/agent/botagent/BotAgent.class differ
diff --git a/TerminatorPlus-API/bin/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyAgent$1.class b/TerminatorPlus-API/bin/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyAgent$1.class
index bce63c5..89d3c20 100644
Binary files a/TerminatorPlus-API/bin/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyAgent$1.class and b/TerminatorPlus-API/bin/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyAgent$1.class differ
diff --git a/TerminatorPlus-API/bin/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyAgent$2.class b/TerminatorPlus-API/bin/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyAgent$2.class
index b550443..b09c7cf 100644
Binary files a/TerminatorPlus-API/bin/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyAgent$2.class and b/TerminatorPlus-API/bin/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyAgent$2.class differ
diff --git a/TerminatorPlus-API/bin/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyAgent.class b/TerminatorPlus-API/bin/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyAgent.class
index c1bc696..6a61b9f 100644
Binary files a/TerminatorPlus-API/bin/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyAgent.class and b/TerminatorPlus-API/bin/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyAgent.class differ
diff --git a/TerminatorPlus-API/bin/main/net/nuggetmc/tplus/api/utils/ItemUtils.class b/TerminatorPlus-API/bin/main/net/nuggetmc/tplus/api/utils/ItemUtils.class
index 2bd322b..3180dda 100644
Binary files a/TerminatorPlus-API/bin/main/net/nuggetmc/tplus/api/utils/ItemUtils.class and b/TerminatorPlus-API/bin/main/net/nuggetmc/tplus/api/utils/ItemUtils.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/AIManager.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/AIManager.class
new file mode 100644
index 0000000..f4bf75e
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/AIManager.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/BotManager.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/BotManager.class
new file mode 100644
index 0000000..8a1f1d9
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/BotManager.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/InternalBridge.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/InternalBridge.class
new file mode 100644
index 0000000..1668ff0
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/InternalBridge.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/Terminator.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/Terminator.class
new file mode 100644
index 0000000..80cf7a4
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/Terminator.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/TerminatorPlusAPI.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/TerminatorPlusAPI.class
new file mode 100644
index 0000000..89052a7
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/TerminatorPlusAPI.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/Agent.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/Agent.class
new file mode 100644
index 0000000..ec83b27
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/Agent.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/botagent/BotAgent.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/botagent/BotAgent.class
new file mode 100644
index 0000000..74e7709
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/botagent/BotAgent.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/botagent/BotSituation.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/botagent/BotSituation.class
new file mode 100644
index 0000000..e530bab
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/botagent/BotSituation.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/botagent/VerticalDisplacement.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/botagent/VerticalDisplacement.class
new file mode 100644
index 0000000..922d4fd
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/botagent/VerticalDisplacement.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/CustomListMode.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/CustomListMode.class
new file mode 100644
index 0000000..164ef82
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/CustomListMode.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/EnumTargetGoal$1.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/EnumTargetGoal$1.class
new file mode 100644
index 0000000..b83dca0
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/EnumTargetGoal$1.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/EnumTargetGoal.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/EnumTargetGoal.class
new file mode 100644
index 0000000..e65c2d2
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/EnumTargetGoal.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyAgent$1.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyAgent$1.class
new file mode 100644
index 0000000..99ca602
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyAgent$1.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyAgent$2.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyAgent$2.class
new file mode 100644
index 0000000..e9c0d21
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyAgent$2.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyAgent$3.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyAgent$3.class
new file mode 100644
index 0000000..e183f90
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyAgent$3.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyAgent.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyAgent.class
new file mode 100644
index 0000000..3c738c5
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyAgent.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyBlockCheck.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyBlockCheck.class
new file mode 100644
index 0000000..c7774ac
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyBlockCheck.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyItems.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyItems.class
new file mode 100644
index 0000000..c347800
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyItems.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyLevel$LevelWrapper.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyLevel$LevelWrapper.class
new file mode 100644
index 0000000..d0f8981
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyLevel$LevelWrapper.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyLevel.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyLevel.class
new file mode 100644
index 0000000..edcf616
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyLevel.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyMats$1.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyMats$1.class
new file mode 100644
index 0000000..bc21aba
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyMats$1.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyMats.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyMats.class
new file mode 100644
index 0000000..642a06e
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyMats.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyUtils.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyUtils.class
new file mode 100644
index 0000000..4f99e36
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyUtils.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyWorldManager.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyWorldManager.class
new file mode 100644
index 0000000..7094e9d
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/LegacyWorldManager.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/ai/ActivationType.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/ai/ActivationType.class
new file mode 100644
index 0000000..295e3e1
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/ai/ActivationType.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/ai/BotData.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/ai/BotData.class
new file mode 100644
index 0000000..995c305
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/ai/BotData.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/ai/BotDataType.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/ai/BotDataType.class
new file mode 100644
index 0000000..5ef91ef
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/ai/BotDataType.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/ai/BotNode.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/ai/BotNode.class
new file mode 100644
index 0000000..5f34868
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/ai/BotNode.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/ai/IntelligenceAgent.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/ai/IntelligenceAgent.class
new file mode 100644
index 0000000..6f66434
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/ai/IntelligenceAgent.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/ai/NeuralNetwork.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/ai/NeuralNetwork.class
new file mode 100644
index 0000000..dce162a
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/ai/NeuralNetwork.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/ai/NodeConnections.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/ai/NodeConnections.class
new file mode 100644
index 0000000..21f91f2
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/agent/legacyagent/ai/NodeConnections.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/event/BotDamageByPlayerEvent.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/event/BotDamageByPlayerEvent.class
new file mode 100644
index 0000000..3e00769
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/event/BotDamageByPlayerEvent.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/event/BotDeathEvent.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/event/BotDeathEvent.class
new file mode 100644
index 0000000..be05bd6
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/event/BotDeathEvent.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/event/BotFallDamageEvent.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/event/BotFallDamageEvent.class
new file mode 100644
index 0000000..73cbbda
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/event/BotFallDamageEvent.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/event/BotKilledByPlayerEvent.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/event/BotKilledByPlayerEvent.class
new file mode 100644
index 0000000..b92facd
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/event/BotKilledByPlayerEvent.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/event/TerminatorLocateTargetEvent.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/event/TerminatorLocateTargetEvent.class
new file mode 100644
index 0000000..9c9b027
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/event/TerminatorLocateTargetEvent.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/utils/BotUtils.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/utils/BotUtils.class
new file mode 100644
index 0000000..d1d42f9
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/utils/BotUtils.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/utils/ChatUtils.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/utils/ChatUtils.class
new file mode 100644
index 0000000..2b34b2c
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/utils/ChatUtils.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/utils/CustomGameProfile.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/utils/CustomGameProfile.class
new file mode 100644
index 0000000..e616eba
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/utils/CustomGameProfile.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/utils/DebugLogUtils.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/utils/DebugLogUtils.class
new file mode 100644
index 0000000..17e0beb
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/utils/DebugLogUtils.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/utils/ItemUtils$1.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/utils/ItemUtils$1.class
new file mode 100644
index 0000000..f94fa03
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/utils/ItemUtils$1.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/utils/ItemUtils.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/utils/ItemUtils.class
new file mode 100644
index 0000000..db94d31
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/utils/ItemUtils.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/utils/MathUtils.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/utils/MathUtils.class
new file mode 100644
index 0000000..39d3a2b
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/utils/MathUtils.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/utils/MojangAPI.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/utils/MojangAPI.class
new file mode 100644
index 0000000..87b25ea
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/utils/MojangAPI.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/utils/PlayerUtils.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/utils/PlayerUtils.class
new file mode 100644
index 0000000..3be92cb
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/utils/PlayerUtils.class differ
diff --git a/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/utils/Singularity.class b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/utils/Singularity.class
new file mode 100644
index 0000000..c0b2fb4
Binary files /dev/null and b/TerminatorPlus-API/build/classes/java/main/net/nuggetmc/tplus/api/utils/Singularity.class differ
diff --git a/TerminatorPlus-API/build/libs/TerminatorPlus-API-4.5.1-BETA.jar b/TerminatorPlus-API/build/libs/TerminatorPlus-API-4.5.1-BETA.jar
new file mode 100644
index 0000000..7c15caf
Binary files /dev/null and b/TerminatorPlus-API/build/libs/TerminatorPlus-API-4.5.1-BETA.jar differ
diff --git a/TerminatorPlus-API/build/tmp/compileJava/previous-compilation-data.bin b/TerminatorPlus-API/build/tmp/compileJava/previous-compilation-data.bin
new file mode 100644
index 0000000..c86d7d2
Binary files /dev/null and b/TerminatorPlus-API/build/tmp/compileJava/previous-compilation-data.bin differ
diff --git a/TerminatorPlus-API/build/tmp/jar/MANIFEST.MF b/TerminatorPlus-API/build/tmp/jar/MANIFEST.MF
new file mode 100644
index 0000000..59499bc
--- /dev/null
+++ b/TerminatorPlus-API/build/tmp/jar/MANIFEST.MF
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+
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 a12600c..05e98fe 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
@@ -18,7 +18,6 @@ import java.util.List;
import java.util.UUID;
public interface Terminator {
-
String getBotName();
int getEntityId();
@@ -74,6 +73,7 @@ public interface Terminator {
void faceLocation(Location location);
void attack(Entity target);
+ void attack(Entity target, double extra);
void attemptBlockPlace(Location loc, Material type, boolean down);
@@ -103,6 +103,8 @@ public interface Terminator {
void setDefaultItem(ItemStack item);
+ ItemStack getDefaultItem();
+
Vector getOffset();
Vector getVelocity();
diff --git a/TerminatorPlus-API/src/main/java/net/nuggetmc/tplus/api/agent/botagent/BotAgent.java b/TerminatorPlus-API/src/main/java/net/nuggetmc/tplus/api/agent/botagent/BotAgent.java
index bac02ec..4d0013e 100644
--- a/TerminatorPlus-API/src/main/java/net/nuggetmc/tplus/api/agent/botagent/BotAgent.java
+++ b/TerminatorPlus-API/src/main/java/net/nuggetmc/tplus/api/agent/botagent/BotAgent.java
@@ -7,7 +7,10 @@ import net.nuggetmc.tplus.api.utils.MathUtils;
import net.nuggetmc.tplus.api.utils.PlayerUtils;
import org.bukkit.Bukkit;
import org.bukkit.Location;
+import org.bukkit.Material;
+import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;
+import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.Plugin;
import org.bukkit.util.Vector;
diff --git a/TerminatorPlus-API/src/main/java/net/nuggetmc/tplus/api/agent/legacyagent/LegacyAgent.java b/TerminatorPlus-API/src/main/java/net/nuggetmc/tplus/api/agent/legacyagent/LegacyAgent.java
index b1bc39c..ce86655 100644
--- a/TerminatorPlus-API/src/main/java/net/nuggetmc/tplus/api/agent/legacyagent/LegacyAgent.java
+++ b/TerminatorPlus-API/src/main/java/net/nuggetmc/tplus/api/agent/legacyagent/LegacyAgent.java
@@ -13,6 +13,7 @@ import net.nuggetmc.tplus.api.event.BotDeathEvent;
import net.nuggetmc.tplus.api.event.BotFallDamageEvent;
import net.nuggetmc.tplus.api.event.TerminatorLocateTargetEvent;
import net.nuggetmc.tplus.api.utils.BotUtils;
+import net.nuggetmc.tplus.api.utils.ItemUtils;
import net.nuggetmc.tplus.api.utils.MathUtils;
import net.nuggetmc.tplus.api.utils.PlayerUtils;
import org.bukkit.*;
@@ -1394,12 +1395,111 @@ public class LegacyAgent extends Agent {
return check;
}
+ private double clamp(double value, double min, double max) {
+ return Math.max(min, Math.min(max, value));
+ }
+
+ /*private double getdistfromfloor(LivingEntity entity) {
+ return Math.abs(entity.getWorld().getHighestBlockYAt(entity.getLocation()) - entity.getLocation().getY());
+ }*/
+
+ private boolean tryWindchargeMaceAttack(Terminator bot, LivingEntity target) {
+ LivingEntity botEntity = bot.getBukkitEntity();
+ if (botEntity == null) {
+ return false;
+ }
+
+ // Get inventory - Citizens NPCs should have inventory even if not Player instance
+ ItemStack mainHand;
+ if (botEntity instanceof Player player) {
+ mainHand = player.getInventory().getItemInMainHand();
+ } else {
+ return false;
+ }
+
+ // Check if bot has a mace in main hand
+ if (bot.getDefaultItem().getType() != Material.MACE && mainHand.getType() != Material.MACE) {
+ return false;
+ }
+
+ if (!bot.isBotOnGround() && Math.random() >= 0.5) return false;
+
+ // Face the ground at own position to launch upward
+ bot.look(org.bukkit.block.BlockFace.DOWN);
+
+ // Jump boost from windcharge with higher velocity
+ bot.setItem(new ItemStack(Material.WIND_CHARGE, 1));
+ Vector jumpVel = new Vector(0, 0.6, 0);
+ Vector cvel = bot.getVelocity().add(jumpVel);
+ cvel.setX(clamp(cvel.getX(), -0.05, 0.05));
+ cvel.setZ(clamp(cvel.getZ(), -0.05, 0.05));
+ bot.setVelocity(cvel);
+ World world = bot.getLocation().getWorld();
+ if (world != null) {
+ world.playSound(bot.getLocation(), Sound.ENTITY_WIND_CHARGE_WIND_BURST, SoundCategory.PLAYERS, 1, 1);
+ world.spawnParticle(Particle.GUST_EMITTER_SMALL, target.getLocation(), 1, 0, 0, 0, 0.1);
+ }
+
+ Bukkit.getScheduler().scheduleAsyncDelayedTask(plugin, () -> {
+ while (!bot.isBotOnGround() && bot.getLocation().distanceSquared(target.getLocation()) > 3) {}
+
+ Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, () -> {
+ double falldist = -(bot.getVelocity().getY()*10); // CERTAINLY not the best way but meh
+ //Bukkit.getLogger().info("fall dist: "+falldist+" cvy: "+bot.getVelocity().getY());
+
+ if (bot.isBotOnGround()) {
+ //Bukkit.getLogger().info("Bot -> ground, no mace");
+ return;
+ }
+
+ double extradmg = 0;
+ if (falldist >= 1.5) {
+ extradmg += clamp(falldist,0,3)*4; // first 3 blocks handling
+ falldist = clamp(falldist-3,0,Double.MAX_VALUE);
+ extradmg += clamp(falldist,0,5)*2; // next 5 blocks handling
+ falldist = clamp(falldist-5,0,Double.MAX_VALUE);
+ extradmg += falldist; // remaining blocks handling
+ }
+ bot.setItem(bot.getDefaultItem());
+ bot.faceLocation(target.getLocation());
+ bot.punch();
+ if (bot.getLocation().distanceSquared(target.getLocation()) <= 5) {
+ double exdmg = extradmg;
+ Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, () -> {
+ bot.attack(target, exdmg); // apply damage only if within range
+ // effect stuff
+ if (world != null && exdmg > 0) {
+ bot.setVelocity(bot.getVelocity().setY(0.1)); // no fall damage
+
+ // schedule next mace attempt to make a streak potentially
+ Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, () -> {tryWindchargeMaceAttack(bot, target);}, 0);
+
+ world.playSound(bot.getLocation(), Sound.ITEM_MACE_SMASH_GROUND, SoundCategory.PLAYERS, 1, 1);
+ world.spawnParticle(Particle.EXPLOSION, target.getLocation(), 10, 0.5, 0.5, 0.5, 0.1);
+ } else {
+ //Bukkit.getLogger().info("exdmg !> 0");
+ }
+ }, 1);
+ } else {
+ //Bukkit.getLogger().info("Bot out of range.");
+ }
+ }, 0);
+ }, 8);
+
+ return true;
+ }
+
private void attack(Terminator bot, LivingEntity target, Location loc) {
if ((target instanceof Player && PlayerUtils.isInvincible(((Player) target).getGameMode())) || target.getNoDamageTicks() >= 5 || loc.distance(target.getLocation()) >= 4)
return;
+ if (tryWindchargeMaceAttack(bot, target)) {
+ return;
+ }
bot.attack(target);
}
+
+
public void setRegion(BoundingBox region, double regionWeightX, double regionWeightY, double regionWeightZ) {
this.region = region;
diff --git a/TerminatorPlus-API/src/main/java/net/nuggetmc/tplus/api/utils/ItemUtils.java b/TerminatorPlus-API/src/main/java/net/nuggetmc/tplus/api/utils/ItemUtils.java
index c582351..1957ec1 100644
--- a/TerminatorPlus-API/src/main/java/net/nuggetmc/tplus/api/utils/ItemUtils.java
+++ b/TerminatorPlus-API/src/main/java/net/nuggetmc/tplus/api/utils/ItemUtils.java
@@ -46,6 +46,7 @@ public class ItemUtils {
case IRON_SWORD:
case DIAMOND_AXE:
case NETHERITE_PICKAXE:
+ case MACE:
return 6;
case DIAMOND_SWORD:
diff --git a/TerminatorPlus-Plugin/.gradle/caches/paperweight/taskCache/reobfJar.log b/TerminatorPlus-Plugin/.gradle/caches/paperweight/taskCache/reobfJar.log
index acb128b..93884bb 100644
--- a/TerminatorPlus-Plugin/.gradle/caches/paperweight/taskCache/reobfJar.log
+++ b/TerminatorPlus-Plugin/.gradle/caches/paperweight/taskCache/reobfJar.log
@@ -1,2 +1,2 @@
Command: C:\Program Files\Java\jdk-21.0.10\bin\java.exe -Xmx1G -classpath C:\Users\JUFS-STL-SECONDARY\.gradle\caches\modules-2\files-2.1\net.fabricmc\tiny-remapper\0.12.0\bfb93e1bfb66d47272ccd37ce894dcfc20ba0b6\tiny-remapper-0.12.0-fat.jar net.fabricmc.tinyremapper.Main C:\Users\JUFS-STL-SECONDARY\Desktop\terminatorplus\TerminatorPlus-Plugin\build\libs\TerminatorPlus-Plugin-4.5.1-BETA.jar C:\Users\JUFS-STL-SECONDARY\Desktop\terminatorplus\TerminatorPlus-Plugin\build\libs\TerminatorPlus-Plugin-4.5.1-BETA-reobf.jar C:\Users\JUFS-STL-SECONDARY\Desktop\terminatorplus\TerminatorPlus-Plugin\.gradle\caches\paperweight\taskCache\reobfMappings.tiny mojang spigot C:\Users\JUFS-STL-SECONDARY\Desktop\terminatorplus\TerminatorPlus-Plugin\.gradle\caches\paperweight\taskCache\mappedServerJar.jar --threads=1
-[INFO] Finished after 1642.84 ms.
+[INFO] Finished after 1622.09 ms.
diff --git a/TerminatorPlus-Plugin/bin/main/net/nuggetmc/tplus/bot/Bot.class b/TerminatorPlus-Plugin/bin/main/net/nuggetmc/tplus/bot/Bot.class
index 14dd186..1758803 100644
Binary files a/TerminatorPlus-Plugin/bin/main/net/nuggetmc/tplus/bot/Bot.class and b/TerminatorPlus-Plugin/bin/main/net/nuggetmc/tplus/bot/Bot.class differ
diff --git a/TerminatorPlus-Plugin/bin/main/net/nuggetmc/tplus/bot/BotManagerImpl.class b/TerminatorPlus-Plugin/bin/main/net/nuggetmc/tplus/bot/BotManagerImpl.class
index 54fd547..f38e2e8 100644
Binary files a/TerminatorPlus-Plugin/bin/main/net/nuggetmc/tplus/bot/BotManagerImpl.class and b/TerminatorPlus-Plugin/bin/main/net/nuggetmc/tplus/bot/BotManagerImpl.class differ
diff --git a/TerminatorPlus-Plugin/bin/main/net/nuggetmc/tplus/bot/CitizensNPC.class b/TerminatorPlus-Plugin/bin/main/net/nuggetmc/tplus/bot/CitizensNPC.class
index b48c93d..ce51105 100644
Binary files a/TerminatorPlus-Plugin/bin/main/net/nuggetmc/tplus/bot/CitizensNPC.class and b/TerminatorPlus-Plugin/bin/main/net/nuggetmc/tplus/bot/CitizensNPC.class differ
diff --git a/TerminatorPlus-Plugin/bin/main/net/nuggetmc/tplus/utils/Debugger.class b/TerminatorPlus-Plugin/bin/main/net/nuggetmc/tplus/utils/Debugger.class
index f26a138..4e97a0a 100644
Binary files a/TerminatorPlus-Plugin/bin/main/net/nuggetmc/tplus/utils/Debugger.class and b/TerminatorPlus-Plugin/bin/main/net/nuggetmc/tplus/utils/Debugger.class differ
diff --git a/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/TerminatorPlus.class b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/TerminatorPlus.class
new file mode 100644
index 0000000..9d92608
Binary files /dev/null and b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/TerminatorPlus.class differ
diff --git a/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/bot/Bot.class b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/bot/Bot.class
new file mode 100644
index 0000000..cf7de0a
Binary files /dev/null and b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/bot/Bot.class differ
diff --git a/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/bot/BotManagerImpl.class b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/bot/BotManagerImpl.class
new file mode 100644
index 0000000..4564faa
Binary files /dev/null and b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/bot/BotManagerImpl.class differ
diff --git a/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/bot/CitizensNPC.class b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/bot/CitizensNPC.class
new file mode 100644
index 0000000..1ed3753
Binary files /dev/null and b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/bot/CitizensNPC.class differ
diff --git a/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/bot/trait/BotBehaviorTrait.class b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/bot/trait/BotBehaviorTrait.class
new file mode 100644
index 0000000..a238942
Binary files /dev/null and b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/bot/trait/BotBehaviorTrait.class differ
diff --git a/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/bridge/InternalBridgeImpl.class b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/bridge/InternalBridgeImpl.class
new file mode 100644
index 0000000..040804c
Binary files /dev/null and b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/bridge/InternalBridgeImpl.class differ
diff --git a/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/CommandHandler.class b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/CommandHandler.class
new file mode 100644
index 0000000..20a4d6b
Binary files /dev/null and b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/CommandHandler.class differ
diff --git a/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/CommandInstance.class b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/CommandInstance.class
new file mode 100644
index 0000000..043ed4b
Binary files /dev/null and b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/CommandInstance.class differ
diff --git a/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/CommandMethod.class b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/CommandMethod.class
new file mode 100644
index 0000000..1d1c3ec
Binary files /dev/null and b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/CommandMethod.class differ
diff --git a/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/annotation/Arg.class b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/annotation/Arg.class
new file mode 100644
index 0000000..f60a52a
Binary files /dev/null and b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/annotation/Arg.class differ
diff --git a/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/annotation/Autofill.class b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/annotation/Autofill.class
new file mode 100644
index 0000000..f9e05ce
Binary files /dev/null and b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/annotation/Autofill.class differ
diff --git a/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/annotation/Command.class b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/annotation/Command.class
new file mode 100644
index 0000000..add6144
Binary files /dev/null and b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/annotation/Command.class differ
diff --git a/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/annotation/OptArg.class b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/annotation/OptArg.class
new file mode 100644
index 0000000..71ac1b9
Binary files /dev/null and b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/annotation/OptArg.class differ
diff --git a/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/annotation/Require.class b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/annotation/Require.class
new file mode 100644
index 0000000..2ab55d8
Binary files /dev/null and b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/annotation/Require.class differ
diff --git a/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/annotation/TextArg.class b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/annotation/TextArg.class
new file mode 100644
index 0000000..380f7cf
Binary files /dev/null and b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/annotation/TextArg.class differ
diff --git a/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/commands/AICommand.class b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/commands/AICommand.class
new file mode 100644
index 0000000..5475ac4
Binary files /dev/null and b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/commands/AICommand.class differ
diff --git a/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/commands/BotCommand.class b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/commands/BotCommand.class
new file mode 100644
index 0000000..9e16983
Binary files /dev/null and b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/commands/BotCommand.class differ
diff --git a/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/commands/BotEnvironmentCommand.class b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/commands/BotEnvironmentCommand.class
new file mode 100644
index 0000000..14ef6b0
Binary files /dev/null and b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/commands/BotEnvironmentCommand.class differ
diff --git a/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/commands/MainCommand.class b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/commands/MainCommand.class
new file mode 100644
index 0000000..9309a31
Binary files /dev/null and b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/commands/MainCommand.class differ
diff --git a/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/exception/ArgCountException.class b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/exception/ArgCountException.class
new file mode 100644
index 0000000..29dfb96
Binary files /dev/null and b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/exception/ArgCountException.class differ
diff --git a/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/exception/ArgParseException.class b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/exception/ArgParseException.class
new file mode 100644
index 0000000..3aadff6
Binary files /dev/null and b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/exception/ArgParseException.class differ
diff --git a/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/exception/NonPlayerException.class b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/exception/NonPlayerException.class
new file mode 100644
index 0000000..ddcc6c2
Binary files /dev/null and b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/exception/NonPlayerException.class differ
diff --git a/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/nms/TPCommand.class b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/nms/TPCommand.class
new file mode 100644
index 0000000..864a279
Binary files /dev/null and b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/command/nms/TPCommand.class differ
diff --git a/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/nms/MockChannel.class b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/nms/MockChannel.class
new file mode 100644
index 0000000..3641c5a
Binary files /dev/null and b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/nms/MockChannel.class differ
diff --git a/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/nms/MockConnection$1.class b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/nms/MockConnection$1.class
new file mode 100644
index 0000000..bf2dd19
Binary files /dev/null and b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/nms/MockConnection$1.class differ
diff --git a/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/nms/MockConnection.class b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/nms/MockConnection.class
new file mode 100644
index 0000000..2ddd394
Binary files /dev/null and b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/nms/MockConnection.class differ
diff --git a/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/utils/Debugger.class b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/utils/Debugger.class
new file mode 100644
index 0000000..70ee34a
Binary files /dev/null and b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/utils/Debugger.class differ
diff --git a/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/utils/MCLogs.class b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/utils/MCLogs.class
new file mode 100644
index 0000000..363f5e4
Binary files /dev/null and b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/utils/MCLogs.class differ
diff --git a/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/utils/NMSUtils.class b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/utils/NMSUtils.class
new file mode 100644
index 0000000..d44ee41
Binary files /dev/null and b/TerminatorPlus-Plugin/build/classes/java/main/net/nuggetmc/tplus/utils/NMSUtils.class differ
diff --git a/TerminatorPlus-Plugin/build/libs/TerminatorPlus-Plugin-4.5.1-BETA-reobf.jar b/TerminatorPlus-Plugin/build/libs/TerminatorPlus-Plugin-4.5.1-BETA-reobf.jar
new file mode 100644
index 0000000..997b3bb
Binary files /dev/null and b/TerminatorPlus-Plugin/build/libs/TerminatorPlus-Plugin-4.5.1-BETA-reobf.jar differ
diff --git a/TerminatorPlus-Plugin/build/libs/TerminatorPlus-Plugin-4.5.1-BETA.jar b/TerminatorPlus-Plugin/build/libs/TerminatorPlus-Plugin-4.5.1-BETA.jar
new file mode 100644
index 0000000..fb8673f
Binary files /dev/null and b/TerminatorPlus-Plugin/build/libs/TerminatorPlus-Plugin-4.5.1-BETA.jar differ
diff --git a/TerminatorPlus-Plugin/build/tmp/compileJava/previous-compilation-data.bin b/TerminatorPlus-Plugin/build/tmp/compileJava/previous-compilation-data.bin
new file mode 100644
index 0000000..7021815
Binary files /dev/null and b/TerminatorPlus-Plugin/build/tmp/compileJava/previous-compilation-data.bin differ
diff --git a/TerminatorPlus-Plugin/build/tmp/jar/MANIFEST.MF b/TerminatorPlus-Plugin/build/tmp/jar/MANIFEST.MF
new file mode 100644
index 0000000..58e78b1
--- /dev/null
+++ b/TerminatorPlus-Plugin/build/tmp/jar/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+paperweight-mappings-namespace: mojang
+
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 e7373f1..9211eb0 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
@@ -345,6 +345,11 @@ public class Bot extends ServerPlayer implements Terminator {
}
}
+ @Override
+ public ItemStack getDefaultItem() {
+ return defaultItem;
+ }
+
@Override
public UUID getTargetPlayer() {
return targetPlayer;
@@ -367,7 +372,8 @@ public class Bot extends ServerPlayer implements Terminator {
plugin.getManager().getAgent().onFallDamage(event);
if (!event.isCancelled()) {
- hurt(damageSources().fall(), (float) Math.pow(3.6, -oldVelocity.getY()));
+ Bukkit.getLogger().info("clutch failed");
+ //hurt(damageSources().fall(), (float) Math.pow(3.6, -oldVelocity.getY()));
}
}
}
@@ -505,17 +511,22 @@ public class Bot extends ServerPlayer implements Terminator {
}
@Override
- public void attack(org.bukkit.entity.Entity entity) {
+ public void attack(org.bukkit.entity.Entity entity, double extra) {
faceLocation(entity.getLocation());
punch();
- double damage = ItemUtils.getLegacyAttackDamage(defaultItem);
+ double damage = ItemUtils.getLegacyAttackDamage(defaultItem)+extra;
if (entity instanceof Damageable) {
((Damageable) entity).damage(damage, getBukkitEntity());
}
}
+ @Override
+ public void attack(org.bukkit.entity.Entity entity) {
+ attack(entity, 0);
+ }
+
@Override
public void punch() {
swing(InteractionHand.MAIN_HAND);
diff --git a/TerminatorPlus-Plugin/src/main/java/net/nuggetmc/tplus/bot/BotManagerImpl.java b/TerminatorPlus-Plugin/src/main/java/net/nuggetmc/tplus/bot/BotManagerImpl.java
index 3af3292..f979ffe 100644
--- a/TerminatorPlus-Plugin/src/main/java/net/nuggetmc/tplus/bot/BotManagerImpl.java
+++ b/TerminatorPlus-Plugin/src/main/java/net/nuggetmc/tplus/bot/BotManagerImpl.java
@@ -17,7 +17,6 @@ import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDeathEvent;
import org.bukkit.event.entity.EntityTargetLivingEntityEvent;
-import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.util.Vector;
@@ -284,17 +283,4 @@ public class BotManagerImpl implements BotManager, Listener {
event.setCancelled(true);
}
}
-
- @EventHandler
- public void onPlayerDeath(PlayerDeathEvent event) {
- Player player = event.getEntity();
- Entity killer = player.getKiller();
-
- if (killer != null) {
- Terminator bot = getBot(killer.getEntityId());
- if (bot != null) {
- bot.incrementKills();
- }
- }
- }
}
diff --git a/TerminatorPlus-Plugin/src/main/java/net/nuggetmc/tplus/bot/CitizensNPC.java b/TerminatorPlus-Plugin/src/main/java/net/nuggetmc/tplus/bot/CitizensNPC.java
index a6e384e..8e25a53 100644
--- a/TerminatorPlus-Plugin/src/main/java/net/nuggetmc/tplus/bot/CitizensNPC.java
+++ b/TerminatorPlus-Plugin/src/main/java/net/nuggetmc/tplus/bot/CitizensNPC.java
@@ -124,6 +124,11 @@ public class CitizensNPC implements Terminator {
return citizensNPC;
}
+ @Override
+ public ItemStack getDefaultItem() {
+ return defaultItem;
+ }
+
public static CitizensNPC createNPC(Location loc, String name) {
return createNPC(loc, name, name);
}
@@ -204,7 +209,7 @@ public class CitizensNPC implements Terminator {
@Override
public boolean isFalling() {
- return velocity.getY() < -0.8;
+ return velocity.getY() < 0;
}
@Override
@@ -318,18 +323,22 @@ public class CitizensNPC implements Terminator {
look(location.toVector().subtract(entity.getLocation().toVector()), false);
}
}
-
+
@Override
- public void attack(Entity target) {
+ public void attack(Entity target, double extra) {
faceLocation(target.getLocation());
punch();
- double damage = ItemUtils.getLegacyAttackDamage(defaultItem);
+ double damage = ItemUtils.getLegacyAttackDamage(defaultItem)+extra;
if (target instanceof Damageable) {
((Damageable) target).damage(damage, getBukkitEntity());
}
}
+ @Override
+ public void attack(Entity target) {
+ attack(target,0);
+ }
@Override
public void attemptBlockPlace(Location loc, Material type, boolean down) {
@@ -527,8 +536,13 @@ public class CitizensNPC implements Terminator {
}
public void tick() {
- if (!isBotAlive()) return;
-
+ if (!isBotAlive()) {
+ this.removeBot();
+ return;
+ }
+
+ getBukkitEntity().setFallDistance(0);
+
aliveTicks++;
if (jumpTicks > 0) --jumpTicks;
@@ -596,7 +610,7 @@ public class CitizensNPC implements Terminator {
}
private void doTick() {
- // Can be extended for additional tick logic
+ // Custom behavior can be implemented here or in a trait
}
private void fallDamageCheck() {
@@ -606,10 +620,11 @@ public class CitizensNPC implements Terminator {
agent.onFallDamage(event);
if (!event.isCancelled()) {
+ Bukkit.getLogger().info("clutch failed");
LivingEntity entity = getBukkitEntity();
if (entity != null && entity instanceof Damageable damageable) {
float damage = (float) Math.pow(3.6, -oldVelocity.getY());
- damageable.damage(damage);
+ //damageable.damage(damage);
}
}
}
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 02022b0..0891a3d 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
@@ -8,7 +8,6 @@ import net.nuggetmc.tplus.api.agent.legacyagent.ai.IntelligenceAgent;
import net.nuggetmc.tplus.api.agent.legacyagent.ai.NeuralNetwork;
import net.nuggetmc.tplus.api.utils.DebugLogUtils;
import net.nuggetmc.tplus.api.utils.MathUtils;
-import net.nuggetmc.tplus.api.utils.MojangAPI;
import net.nuggetmc.tplus.api.utils.PlayerUtils;
import net.nuggetmc.tplus.bot.CitizensNPC;
import net.nuggetmc.tplus.command.commands.AICommand;
diff --git a/build/libs/TerminatorPlus-4.5.1-BETA.jar b/build/libs/TerminatorPlus-4.5.1-BETA.jar
new file mode 100644
index 0000000..1b77621
Binary files /dev/null and b/build/libs/TerminatorPlus-4.5.1-BETA.jar differ
diff --git a/build/reports/problems/problems-report.html b/build/reports/problems/problems-report.html
new file mode 100644
index 0000000..6c60a5e
--- /dev/null
+++ b/build/reports/problems/problems-report.html
@@ -0,0 +1,663 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ Gradle Configuration Cache
+
+
+
+
+
+
+ Loading...
+
+
+
+
+
+
+
diff --git a/build/resources/main/plugin.yml b/build/resources/main/plugin.yml
new file mode 100644
index 0000000..47c965d
--- /dev/null
+++ b/build/resources/main/plugin.yml
@@ -0,0 +1,17 @@
+name: TerminatorPlus
+main: net.nuggetmc.tplus.TerminatorPlus
+version: 4.5.1-BETA
+api-version: 1.16 # Set to 1.16 so the plugin loads, and we can tell the user that it may not be compatible with their version, because people can't scroll up.
+author: HorseNuggets
+depend:
+ - Citizens
+
+permissions:
+ terminatorplus.*:
+ description: TerminatorPlus parent permission.
+ default: op
+ children:
+ terminatorplus.manage: true
+ terminatorplus.manage:
+ description: Allows for TerminatorPlus bot management.
+ default: op
diff --git a/build/tmp/jar/MANIFEST.MF b/build/tmp/jar/MANIFEST.MF
new file mode 100644
index 0000000..59499bc
--- /dev/null
+++ b/build/tmp/jar/MANIFEST.MF
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+
diff --git a/buildSrc/.gradle/9.0.0/executionHistory/executionHistory.lock b/buildSrc/.gradle/9.0.0/executionHistory/executionHistory.lock
index ba790c3..6cc3b0a 100644
Binary files a/buildSrc/.gradle/9.0.0/executionHistory/executionHistory.lock and b/buildSrc/.gradle/9.0.0/executionHistory/executionHistory.lock differ
diff --git a/buildSrc/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/buildSrc/.gradle/buildOutputCleanup/buildOutputCleanup.lock
index 13d5e4e..d285843 100644
Binary files a/buildSrc/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/buildSrc/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ
diff --git a/buildSrc/.gradle/file-system.probe b/buildSrc/.gradle/file-system.probe
index d3abbf4..7d2763c 100644
Binary files a/buildSrc/.gradle/file-system.probe and b/buildSrc/.gradle/file-system.probe differ