diff --git a/.github/workflows/dev-analysis.yml b/.github/workflows/dev-analysis.yml
new file mode 100644
index 0000000..b718f63
--- /dev/null
+++ b/.github/workflows/dev-analysis.yml
@@ -0,0 +1,51 @@
+name: "CodeQL"
+
+on: [push, pull_request]
+
+jobs:
+ analyze:
+ name: Analyze
+ runs-on: ubuntu-latest
+ permissions:
+ actions: read
+ contents: read
+ security-events: write
+
+ strategy:
+ fail-fast: false
+ matrix:
+ language: [ 'java' ]
+ # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
+ # Learn more:
+ # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
+
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v2
+
+ - name: Cache local repo
+ uses: actions/cache@v2
+ with:
+ path: ~/.m2/repository
+ key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+ restore-keys: |
+ ${{ runner.os }}-maven-
+
+ - name: Initialize CodeQL
+ uses: github/codeql-action/init@v1
+ with:
+ languages: ${{ matrix.language }}
+
+ - name: Autobuild
+ uses: github/codeql-action/autobuild@v1
+
+
+ - name: Perform CodeQL Analysis
+ uses: github/codeql-action/analyze@v1
+
+ - name: Upload a Build Artifact
+ uses: actions/upload-artifact@v2.2.4
+ if: success()
+ with:
+ name: TerminatorPlus
+ path: target/
diff --git a/pom.xml b/pom.xml
index 6f00317..4c201f0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,6 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
-
net.nuggetmc
TerminatorPlus
3.1-BETA
@@ -18,6 +17,7 @@
org.apache.maven.plugins
maven-compiler-plugin
+ 3.8.1
8
8
@@ -26,7 +26,7 @@
org.apache.maven.plugins
maven-shade-plugin
- 3.2.1
+ 3.2.4
package
@@ -49,9 +49,6 @@
org.apache.maven.plugins
maven-jar-plugin
2.3.1
-
- D:\Minecraft Server\plugins
-
@@ -62,12 +59,26 @@
+
+
+
+ spigot-repo
+ https://hub.spigotmc.org/nexus/content/repositories/snapshots/
+
+
+
+ dre-repo
+ https://erethon.de/repo/
+
+
+
+
org.spigotmc
spigot
- 1.16.4-R0.1-SNAPSHOT
+ 1.16.5-R0.1-SNAPSHOT
+ provided
-
-
\ No newline at end of file
+
diff --git a/src/main/java/net/nuggetmc/tplus/bot/Bot.java b/src/main/java/net/nuggetmc/tplus/bot/Bot.java
index dafd74c..e4bb0c6 100644
--- a/src/main/java/net/nuggetmc/tplus/bot/Bot.java
+++ b/src/main/java/net/nuggetmc/tplus/bot/Bot.java
@@ -498,8 +498,11 @@ public class Bot extends EntityPlayer {
private void dieCheck() {
if (removeOnDeath) {
- //scheduler.runTask(plugin, () -> plugin.getManager().remove(this)); // maybe making this later will fix the concurrentmodificationexception?
- plugin.getManager().remove(this); //I replaced HashSet with ConcurrentHashMap.newKeySet which creates a "ConcurrentHashSet"
+
+ // I replaced HashSet with ConcurrentHashMap.newKeySet which creates a "ConcurrentHashSet"
+ // this should fix the concurrentmodificationexception mentioned above, I used the ConcurrentHashMap.newKeySet to make a "ConcurrentHashSet"
+ plugin.getManager().remove(this);
+
scheduler.runTaskLater(plugin, this::setDead, 30);
this.removeTab();
diff --git a/src/main/java/net/nuggetmc/tplus/bot/agent/legacyagent/LegacyAgent.java b/src/main/java/net/nuggetmc/tplus/bot/agent/legacyagent/LegacyAgent.java
index df644a2..eba3835 100644
--- a/src/main/java/net/nuggetmc/tplus/bot/agent/legacyagent/LegacyAgent.java
+++ b/src/main/java/net/nuggetmc/tplus/bot/agent/legacyagent/LegacyAgent.java
@@ -297,7 +297,7 @@ public class LegacyAgent extends Agent {
Material itemType;
- if (bot.getBukkitEntity().getWorld().getName().equals("world_nether")) {
+ if (bot.getBukkitEntity().getWorld().getEnvironment() == World.Environment.NETHER) {
itemType = Material.TWISTING_VINES;
} else {
itemType = Material.WATER_BUCKET;
@@ -339,7 +339,7 @@ public class LegacyAgent extends Agent {
Material placeType;
Sound sound;
- if (world.getName().equals("world_nether")) {
+ if (bot.getBukkitEntity().getWorld().getEnvironment() == World.Environment.NETHER) {
itemType = Material.TWISTING_VINES;
sound = Sound.BLOCK_WEEPING_VINES_PLACE;
placeType = itemType;
@@ -934,7 +934,7 @@ public class LegacyAgent extends Agent {
Location loc = bot.getLocation();
if (bot.isOnFire()) {
- if (!worldName.equals("world_nether")) {
+ if (bot.getBukkitEntity().getWorld().getEnvironment() != World.Environment.NETHER) {
placeWaterDown(bot, world, loc);
}
}
@@ -942,7 +942,7 @@ public class LegacyAgent extends Agent {
Material atType = loc.getBlock().getType();
if (atType == Material.FIRE || atType == Material.SOUL_FIRE) {
- if (!worldName.equals("world_nether")) {
+ if (bot.getBukkitEntity().getWorld().getEnvironment() != World.Environment.NETHER) {
placeWaterDown(bot, world, loc);
world.playSound(loc, Sound.BLOCK_FIRE_EXTINGUISH, SoundCategory.BLOCKS, 1, 1);
} else {
@@ -954,7 +954,7 @@ public class LegacyAgent extends Agent {
}
if (atType == Material.LAVA) {
- if (worldName.equals("world_nether")) {
+ if (bot.getBukkitEntity().getWorld().getEnvironment() == World.Environment.NETHER) {
bot.attemptBlockPlace(loc, Material.COBBLESTONE, false);
} else {
placeWaterDown(bot, world, loc);
@@ -965,7 +965,7 @@ public class LegacyAgent extends Agent {
Material headType = head.getBlock().getType();
if (headType == Material.LAVA) {
- if (worldName.equals("world_nether")) {
+ if (bot.getBukkitEntity().getWorld().getEnvironment() == World.Environment.NETHER) {
bot.attemptBlockPlace(head, Material.COBBLESTONE, false);
} else {
placeWaterDown(bot, world, head);
@@ -973,7 +973,7 @@ public class LegacyAgent extends Agent {
}
if (headType == Material.FIRE || headType == Material.SOUL_FIRE) {
- if (worldName.equals("world_nether")) {
+ if (bot.getBukkitEntity().getWorld().getEnvironment() == World.Environment.NETHER) {
bot.look(BlockFace.DOWN);
bot.punch();
world.playSound(head, Sound.BLOCK_FIRE_EXTINGUISH, SoundCategory.BLOCKS, 1, 1);