@@ -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")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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));
|
||||||
|
|||||||
@@ -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) + "}";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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) + "]}";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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"))
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
Reference in New Issue
Block a user