mirror of
https://github.com/MCCTeam/Minecraft-Console-Client
synced 2025-10-14 21:22:49 +00:00
61 lines
No EOL
1.6 KiB
C#
61 lines
No EOL
1.6 KiB
C#
//MCCScript 1.0
|
|
|
|
MCC.LoadBot(new WatchLamp());
|
|
|
|
//MCCScript Extensions
|
|
|
|
/* The ChatBot will access the world on a regular basis to watch for a lamp.
|
|
* This is an example of how the world around the player can be accessed from a C# script. */
|
|
|
|
class WatchLamp : ChatBot
|
|
{
|
|
/* == CONFIG == */
|
|
|
|
int lampX = 0;
|
|
int lampY = 64;
|
|
int lampZ = 0;
|
|
|
|
/* == CODE == */
|
|
|
|
int checkCount = 0;
|
|
Location lampLoc;
|
|
|
|
public WatchLamp()
|
|
{
|
|
if (!Settings.TerrainAndMovements)
|
|
{
|
|
LogToConsole("WARNING: Terrain handling is disabled in INI file.");
|
|
LogToConsole("WARNING: This means this bot cannot watch for lamps.");
|
|
UnloadBot();
|
|
}
|
|
else
|
|
{
|
|
lampLoc = new Location(lampX, lampY, lampZ);
|
|
LogToConsole("Watching lamp at " + lampLoc);
|
|
}
|
|
}
|
|
|
|
public override void Update()
|
|
{
|
|
if (checkCount > 10)
|
|
{
|
|
checkCount = 0;
|
|
Material blockType = GetWorld().GetBlock(lampLoc).Type;
|
|
switch (blockType)
|
|
{
|
|
case Material.RedstoneLampOn:
|
|
//Lamp is on. All right. Nothing to say here.
|
|
break;
|
|
case Material.RedstoneLampOff:
|
|
LogToConsole("Lamp at " + lampLoc + " is currently turned OFF !!!");
|
|
for (int i = 0; i < 3; i++)
|
|
Console.Beep();
|
|
break;
|
|
default:
|
|
LogToConsole("Block at " + lampLoc + " is not a lamp: " + blockType + "...");
|
|
break;
|
|
}
|
|
}
|
|
else checkCount++;
|
|
}
|
|
} |