2021-06-27 00:26:45 -05:00
|
|
|
package net.nuggetmc.ai.bot;
|
2021-06-26 19:43:58 -05:00
|
|
|
|
|
|
|
|
import net.minecraft.server.v1_16_R3.PlayerConnection;
|
|
|
|
|
import net.nuggetmc.ai.PlayerAI;
|
|
|
|
|
import org.bukkit.craftbukkit.v1_16_R3.entity.CraftPlayer;
|
|
|
|
|
import org.bukkit.event.EventHandler;
|
|
|
|
|
import org.bukkit.event.Listener;
|
|
|
|
|
import org.bukkit.event.player.PlayerJoinEvent;
|
|
|
|
|
|
|
|
|
|
import java.util.HashSet;
|
|
|
|
|
import java.util.Set;
|
|
|
|
|
|
2021-06-27 00:26:45 -05:00
|
|
|
public class BotManager implements Listener {
|
2021-06-26 19:43:58 -05:00
|
|
|
|
2021-06-26 19:26:46 -07:00
|
|
|
private final PlayerAI plugin;
|
2021-06-26 19:43:58 -05:00
|
|
|
|
2021-06-27 00:26:45 -05:00
|
|
|
private final Set<Bot> bots = new HashSet<>();
|
2021-06-26 19:43:58 -05:00
|
|
|
|
2021-06-27 00:26:45 -05:00
|
|
|
public Set<Bot> fetch() {
|
|
|
|
|
return bots;
|
2021-06-26 19:43:58 -05:00
|
|
|
}
|
|
|
|
|
|
2021-06-27 00:26:45 -05:00
|
|
|
public void add(Bot bot) {
|
|
|
|
|
bots.add(bot);
|
2021-06-26 19:43:58 -05:00
|
|
|
}
|
|
|
|
|
|
2021-06-27 00:26:45 -05:00
|
|
|
public BotManager(PlayerAI plugin) {
|
2021-06-26 19:26:46 -07:00
|
|
|
this.plugin = plugin;
|
2021-06-26 19:43:58 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void reset() {
|
2021-06-27 00:26:45 -05:00
|
|
|
for (Bot bot : bots) {
|
|
|
|
|
bot.despawn();
|
2021-06-26 19:43:58 -05:00
|
|
|
}
|
|
|
|
|
|
2021-06-27 00:26:45 -05:00
|
|
|
bots.clear();
|
2021-06-26 19:43:58 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@EventHandler
|
|
|
|
|
public void onJoin(PlayerJoinEvent event) {
|
|
|
|
|
PlayerConnection connection = ((CraftPlayer) event.getPlayer()).getHandle().playerConnection;
|
|
|
|
|
|
2021-06-27 00:26:45 -05:00
|
|
|
for (Bot bot : bots) {
|
|
|
|
|
bot.render(connection, true);
|
2021-06-26 19:43:58 -05:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|