Merge pull request #52 from Badbird5907/master

1.19 & bug fixes
This commit is contained in:
Badbird5907
2022-07-13 20:35:11 -04:00
committed by GitHub
10 changed files with 48 additions and 22 deletions

View File

@@ -17,6 +17,6 @@ repositories {
} }
dependencies { dependencies {
compileOnly("io.papermc.paper:paper-api:1.18.1-R0.1-SNAPSHOT") compileOnly("io.papermc.paper:paper-api:1.19-R0.1-SNAPSHOT")
compileOnly("com.mojang:authlib:3.2.38") compileOnly("com.mojang:authlib:3.2.38")
} }

View File

@@ -21,10 +21,7 @@ import org.bukkit.plugin.Plugin;
import org.bukkit.scheduler.BukkitRunnable; import org.bukkit.scheduler.BukkitRunnable;
import org.bukkit.util.Vector; import org.bukkit.util.Vector;
import java.util.HashMap; import java.util.*;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.regex.Pattern; import java.util.regex.Pattern;
// Yes, this code is very unoptimized, I know. // Yes, this code is very unoptimized, I know.
@@ -45,6 +42,23 @@ public class LegacyAgent extends Agent {
private final Map<BukkitRunnable, Byte> mining = new HashMap<>(); private final Map<BukkitRunnable, Byte> mining = new HashMap<>();
private final Set<Terminator> fallDamageCooldown = new HashSet<>(); private final Set<Terminator> fallDamageCooldown = new HashSet<>();
public boolean offsets = true; public boolean offsets = true;
private List<Material> instantBreakBlocks = Arrays.asList(
Material.TALL_GRASS,
Material.GRASS,
Material.KELP_PLANT,
Material.WHEAT,
Material.POTATOES,
Material.CARROT,
Material.BEETROOT,
Material.SUGAR_CANE,
Material.SWEET_BERRY_BUSH,
Material.LILY_PAD,
Material.DANDELION,
Material.POPPY,
Material.ROSE_BUSH,
Material.PUMPKIN_STEM,
Material.MELON_STEM
);
private EnumTargetGoal goal; private EnumTargetGoal goal;
public LegacyAgent(BotManager manager, Plugin plugin) { public LegacyAgent(BotManager manager, Plugin plugin) {
@@ -863,6 +877,11 @@ public class LegacyAgent extends Agent {
if (block.getType() == Material.BARRIER || block.getType() == Material.BEDROCK || block.getType() == Material.END_PORTAL_FRAME) if (block.getType() == Material.BARRIER || block.getType() == Material.BEDROCK || block.getType() == Material.END_PORTAL_FRAME)
return; return;
if (instantBreakBlocks.contains(block.getType())) { // instant break blocks
block.breakNaturally();
return;
}
TerminatorPlusAPI.getInternalBridge().sendBlockDestructionPacket(crackList.get(block), block.getX(), block.getY(), block.getZ(), i); TerminatorPlusAPI.getInternalBridge().sendBlockDestructionPacket(crackList.get(block), block.getX(), block.getY(), block.getZ(), i);
mining.put(this, (byte) (i + 1)); mining.put(this, (byte) (i + 1));

View File

@@ -2,7 +2,6 @@ package net.nuggetmc.tplus.api.agent.legacyagent.ai;
import net.nuggetmc.tplus.api.Terminator; import net.nuggetmc.tplus.api.Terminator;
import net.nuggetmc.tplus.api.utils.MathUtils; import net.nuggetmc.tplus.api.utils.MathUtils;
import org.apache.commons.lang.StringUtils;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.entity.LivingEntity; import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
@@ -48,6 +47,6 @@ public class BotData {
Collections.sort(strings); Collections.sort(strings);
return "BotData{" + StringUtils.join(strings, ",") + "}"; return "BotData{" + NeuralNetwork.join(strings) + "}";
} }
} }

View File

@@ -3,7 +3,6 @@ package net.nuggetmc.tplus.api.agent.legacyagent.ai;
import net.md_5.bungee.api.ChatColor; import net.md_5.bungee.api.ChatColor;
import net.nuggetmc.tplus.api.utils.ChatUtils; import net.nuggetmc.tplus.api.utils.ChatUtils;
import net.nuggetmc.tplus.api.utils.MathUtils; import net.nuggetmc.tplus.api.utils.MathUtils;
import org.apache.commons.lang.StringUtils;
import java.util.*; import java.util.*;
@@ -71,11 +70,19 @@ public class NeuralNetwork {
return output; return output;
} }
public static String join(Collection<String> collection) {
StringBuilder sb = new StringBuilder();
for (String s : collection) {
sb.append(s).append(", ");
}
return sb.substring(0, sb.length() - 2);
}
public String output() { public String output() {
List<String> strings = new ArrayList<>(); List<String> strings = new ArrayList<>();
nodes.forEach((type, node) -> strings.add(type.name().toLowerCase() + "=" + (node.check() ? ChatUtils.ON + "1" : ChatUtils.OFF + "0") + ChatColor.RESET)); nodes.forEach((type, node) -> strings.add(type.name().toLowerCase() + "=" + (node.check() ? ChatUtils.ON + "1" : ChatUtils.OFF + "0") + ChatColor.RESET));
Collections.sort(strings); Collections.sort(strings);
return "[" + StringUtils.join(strings, ", ") + "]"; return "[" + join(strings) + "]";
} }
@Override @Override
@@ -86,9 +93,9 @@ public class NeuralNetwork {
List<String> values = new ArrayList<>(); List<String> values = new ArrayList<>();
values.add("name=\"" + nodeType.name().toLowerCase() + "\""); values.add("name=\"" + nodeType.name().toLowerCase() + "\"");
node.getValues().forEach((dataType, value) -> values.add(dataType.getShorthand() + "=" + MathUtils.round2Dec(value))); node.getValues().forEach((dataType, value) -> values.add(dataType.getShorthand() + "=" + MathUtils.round2Dec(value)));
strings.add("{" + StringUtils.join(values, ",") + "}"); strings.add("{" + join(values) + "}");
}); });
return "NeuralNetwork{nodes:[" + StringUtils.join(strings, ",") + "]}"; return "NeuralNetwork{nodes:[" + join(strings) + "]}";
} }
} }

View File

@@ -13,7 +13,7 @@ java {
} }
dependencies { dependencies {
paperDevBundle("1.18.1-R0.1-SNAPSHOT") paperDevBundle("1.19-R0.1-SNAPSHOT")
//add the TerminatorPlus-API module //add the TerminatorPlus-API module
implementation(project(":TerminatorPlus-API")) implementation(project(":TerminatorPlus-API"))

View File

@@ -34,11 +34,11 @@ import net.nuggetmc.tplus.api.utils.*;
import org.bukkit.*; import org.bukkit.*;
import org.bukkit.block.Block; import org.bukkit.block.Block;
import org.bukkit.block.BlockFace; import org.bukkit.block.BlockFace;
import org.bukkit.craftbukkit.v1_18_R1.CraftEquipmentSlot; import org.bukkit.craftbukkit.v1_19_R1.CraftEquipmentSlot;
import org.bukkit.craftbukkit.v1_18_R1.CraftServer; import org.bukkit.craftbukkit.v1_19_R1.CraftServer;
import org.bukkit.craftbukkit.v1_18_R1.CraftWorld; import org.bukkit.craftbukkit.v1_19_R1.CraftWorld;
import org.bukkit.craftbukkit.v1_18_R1.entity.CraftPlayer; import org.bukkit.craftbukkit.v1_19_R1.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_18_R1.inventory.CraftItemStack; import org.bukkit.craftbukkit.v1_19_R1.inventory.CraftItemStack;
import org.bukkit.enchantments.Enchantment; import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Damageable; import org.bukkit.entity.Damageable;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
@@ -74,7 +74,7 @@ public class Bot extends ServerPlayer implements Terminator {
private byte noFallTicks; private byte noFallTicks;
private Bot(MinecraftServer minecraftServer, ServerLevel worldServer, GameProfile profile) { private Bot(MinecraftServer minecraftServer, ServerLevel worldServer, GameProfile profile) {
super(minecraftServer, worldServer, profile); super(minecraftServer, worldServer, profile, null);
this.plugin = TerminatorPlus.getInstance(); this.plugin = TerminatorPlus.getInstance();
this.scheduler = Bukkit.getScheduler(); this.scheduler = Bukkit.getScheduler();

View File

@@ -10,7 +10,7 @@ import net.nuggetmc.tplus.api.agent.legacyagent.ai.NeuralNetwork;
import net.nuggetmc.tplus.api.event.BotDeathEvent; import net.nuggetmc.tplus.api.event.BotDeathEvent;
import net.nuggetmc.tplus.api.utils.MojangAPI; import net.nuggetmc.tplus.api.utils.MojangAPI;
import org.bukkit.*; import org.bukkit.*;
import org.bukkit.craftbukkit.v1_18_R1.entity.CraftPlayer; import org.bukkit.craftbukkit.v1_19_R1.entity.CraftPlayer;
import org.bukkit.entity.Entity; import org.bukkit.entity.Entity;
import org.bukkit.entity.LivingEntity; import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;

View File

@@ -9,8 +9,8 @@ import net.nuggetmc.tplus.api.InternalBridge;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.Sound; import org.bukkit.Sound;
import org.bukkit.block.Block; import org.bukkit.block.Block;
import org.bukkit.craftbukkit.v1_18_R1.CraftWorld; import org.bukkit.craftbukkit.v1_19_R1.CraftWorld;
import org.bukkit.craftbukkit.v1_18_R1.entity.CraftPlayer; import org.bukkit.craftbukkit.v1_19_R1.entity.CraftPlayer;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
public class InternalBridgeImpl implements InternalBridge { public class InternalBridgeImpl implements InternalBridge {

View File

@@ -12,7 +12,7 @@ import net.nuggetmc.tplus.command.commands.MainCommand;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.command.SimpleCommandMap; import org.bukkit.command.SimpleCommandMap;
import org.bukkit.craftbukkit.v1_18_R1.CraftServer; import org.bukkit.craftbukkit.v1_19_R1.CraftServer;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.ArrayList; import java.util.ArrayList;

View File

@@ -237,6 +237,7 @@ public abstract class CommandInstance extends BukkitCommand {
if (args.length > 1) { if (args.length > 1) {
CommandMethod commandMethod = methods.get(args[0]); CommandMethod commandMethod = methods.get(args[0]);
if (commandMethod == null) return new ArrayList<>();
Method autofiller = commandMethod.getAutofiller(); Method autofiller = commandMethod.getAutofiller();
if (autofiller != null) { if (autofiller != null) {