Added 2 new example chat bots, removed a really old one which was useless.

This commit is contained in:
Milutinke 2022-10-26 21:31:31 +02:00
parent 80e227c3a7
commit 0468bde434
4 changed files with 73 additions and 30 deletions

View file

@ -0,0 +1,22 @@
//MCCScript 1.0
MCC.LoadBot(new AutoLeaveOnLowHp());
//MCCScript Extensions
namespace MinecraftClient.ChatBots
{
public class AutoLeaveOnLowHp : ChatBot
{
private float HEALTH_BOUNDARY = 10.0f; // 10 HP
public override void OnHealthUpdate(float health, int food)
{
if (health <= HEALTH_BOUNDARY)
{
LogToConsole("Leaving because of low HP (Reconnecting in 5 minutes)!");
ReconnectToTheServer(-1, 300); // Disconnect and reconnect after 5 minutes (300 seconds)
}
}
}
}

View file

@ -1,29 +0,0 @@
//MCCScript 1.0
//using System.Threading.Tasks;
MCC.LoadBot(new ClckRuAPIBot());
//MCCScript Extensions
public class ClckRuAPIBot : ChatBot
{
private PayKassaSCI clckapi { get; set; }
public ClckRuAPIBot()
{
clckapi = new ClckRuAPI();
}
}
internal class ClckRuAPI
{
public string ToCutURl(string url)
{
WebClient webClient = new WebClient();
string done = webClient.DownloadString("https://clck.ru/--?url=" + url);
return done;
}
}

View file

@ -0,0 +1,49 @@
//MCCScript 1.0
MCC.LoadBot(new EntityCount());
//MCCScript Extensions
class EntityCount : ChatBot
{
public override void Initialize()
{
LogToConsole("Entity Count chat bot loaded!");
RegisterChatBotCommand("entitycount", "Counts entities of a provided type", "entitycount <type> [<x> <y> <z>]", OnCommand);
}
public string OnCommand(string cmd, string[] args)
{
if (args.Length < 1)
return "Invalid usage! Usage: /entitycount <type> [<x> <y> <z>]";
if (!Enum.TryParse<EntityType>(args[0], out EntityType entityType))
return "Invalid entity type provided!\nSee: https://bit.ly/3NgSIFu";
Location? location = null;
if (args.Length >= 4)
{
if (!Location.TryParse(GetCurrentLocation().ToFloor(), args[1], args[2], args[3], out location))
return "Invalid location provided, check your input!";
}
int counter = 0;
foreach (var (id, entity) in GetEntities())
{
if (entity.Type == entityType)
{
if (location != null)
{
if (entity.Location.ToFloor() != ((Location)location).ToFloor())
continue;
}
counter++;
}
}
return $"Found {counter} of entity type: {args[0]}";
}
}