@@ -17,6 +17,6 @@ repositories {
|
||||
}
|
||||
|
||||
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")
|
||||
}
|
||||
|
||||
@@ -21,10 +21,7 @@ import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.*;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
// 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 Set<Terminator> fallDamageCooldown = new HashSet<>();
|
||||
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;
|
||||
|
||||
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)
|
||||
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);
|
||||
|
||||
mining.put(this, (byte) (i + 1));
|
||||
|
||||
@@ -2,7 +2,6 @@ package net.nuggetmc.tplus.api.agent.legacyagent.ai;
|
||||
|
||||
import net.nuggetmc.tplus.api.Terminator;
|
||||
import net.nuggetmc.tplus.api.utils.MathUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
@@ -48,6 +47,6 @@ public class BotData {
|
||||
|
||||
Collections.sort(strings);
|
||||
|
||||
return "BotData{" + StringUtils.join(strings, ",") + "}";
|
||||
return "BotData{" + NeuralNetwork.join(strings) + "}";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@ package net.nuggetmc.tplus.api.agent.legacyagent.ai;
|
||||
import net.md_5.bungee.api.ChatColor;
|
||||
import net.nuggetmc.tplus.api.utils.ChatUtils;
|
||||
import net.nuggetmc.tplus.api.utils.MathUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@@ -71,11 +70,19 @@ public class NeuralNetwork {
|
||||
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() {
|
||||
List<String> strings = new ArrayList<>();
|
||||
nodes.forEach((type, node) -> strings.add(type.name().toLowerCase() + "=" + (node.check() ? ChatUtils.ON + "1" : ChatUtils.OFF + "0") + ChatColor.RESET));
|
||||
Collections.sort(strings);
|
||||
return "[" + StringUtils.join(strings, ", ") + "]";
|
||||
return "[" + join(strings) + "]";
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -86,9 +93,9 @@ public class NeuralNetwork {
|
||||
List<String> values = new ArrayList<>();
|
||||
values.add("name=\"" + nodeType.name().toLowerCase() + "\"");
|
||||
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) + "]}";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ java {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paperDevBundle("1.18.1-R0.1-SNAPSHOT")
|
||||
paperDevBundle("1.19-R0.1-SNAPSHOT")
|
||||
|
||||
//add the TerminatorPlus-API module
|
||||
implementation(project(":TerminatorPlus-API"))
|
||||
|
||||
@@ -34,11 +34,11 @@ import net.nuggetmc.tplus.api.utils.*;
|
||||
import org.bukkit.*;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.block.BlockFace;
|
||||
import org.bukkit.craftbukkit.v1_18_R1.CraftEquipmentSlot;
|
||||
import org.bukkit.craftbukkit.v1_18_R1.CraftServer;
|
||||
import org.bukkit.craftbukkit.v1_18_R1.CraftWorld;
|
||||
import org.bukkit.craftbukkit.v1_18_R1.entity.CraftPlayer;
|
||||
import org.bukkit.craftbukkit.v1_18_R1.inventory.CraftItemStack;
|
||||
import org.bukkit.craftbukkit.v1_19_R1.CraftEquipmentSlot;
|
||||
import org.bukkit.craftbukkit.v1_19_R1.CraftServer;
|
||||
import org.bukkit.craftbukkit.v1_19_R1.CraftWorld;
|
||||
import org.bukkit.craftbukkit.v1_19_R1.entity.CraftPlayer;
|
||||
import org.bukkit.craftbukkit.v1_19_R1.inventory.CraftItemStack;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.entity.Damageable;
|
||||
import org.bukkit.entity.Player;
|
||||
@@ -74,7 +74,7 @@ public class Bot extends ServerPlayer implements Terminator {
|
||||
private byte noFallTicks;
|
||||
|
||||
private Bot(MinecraftServer minecraftServer, ServerLevel worldServer, GameProfile profile) {
|
||||
super(minecraftServer, worldServer, profile);
|
||||
super(minecraftServer, worldServer, profile, null);
|
||||
|
||||
this.plugin = TerminatorPlus.getInstance();
|
||||
this.scheduler = Bukkit.getScheduler();
|
||||
|
||||
@@ -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.utils.MojangAPI;
|
||||
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.LivingEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
@@ -9,8 +9,8 @@ import net.nuggetmc.tplus.api.InternalBridge;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.craftbukkit.v1_18_R1.CraftWorld;
|
||||
import org.bukkit.craftbukkit.v1_18_R1.entity.CraftPlayer;
|
||||
import org.bukkit.craftbukkit.v1_19_R1.CraftWorld;
|
||||
import org.bukkit.craftbukkit.v1_19_R1.entity.CraftPlayer;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class InternalBridgeImpl implements InternalBridge {
|
||||
|
||||
@@ -12,7 +12,7 @@ import net.nuggetmc.tplus.command.commands.MainCommand;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
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.util.ArrayList;
|
||||
|
||||
@@ -237,6 +237,7 @@ public abstract class CommandInstance extends BukkitCommand {
|
||||
|
||||
if (args.length > 1) {
|
||||
CommandMethod commandMethod = methods.get(args[0]);
|
||||
if (commandMethod == null) return new ArrayList<>();
|
||||
Method autofiller = commandMethod.getAutofiller();
|
||||
|
||||
if (autofiller != null) {
|
||||
|
||||
Reference in New Issue
Block a user