SemlerPDX icon

Mob Farm Chatty Turtle Script

SemlerPDX | PRO | 09/03/24 10:49:21 PM UTC (Edited) | 0 ⭐ | 542 👁️ | Never ⏰ | [minecraft]
Lua |

1.59 KB

|

Gaming

|

0 👍

/

0 👎

--Mob Farm Chatty Turtle Script
--v1.1 by SemlerPDX Sept2024
 
-- pastebin get mzzf4cw1 startup
 
local farmOnline = false
local currentState = true
local playerRange = 10
 
local chatBox = peripheral.find("chatBox")
local detector = peripheral.find("playerDetector")
 
 
local titleOn = {
    { text = "Spawner ON", color = "green"}
}
 
local titleOff = {
    { text = "Spawner OFF", color = "red"}
}
 
local messageOn = {
    { text = "I will kill any "},
    { text = "Escaped Mobs ", color = "green"},
    { text = "- you just focus on the murder hole!"}
}
 
local messageOff = {
    { text = "I will now kill "},
    { text = "ALL Mobs ", color = "red"},
    { text = "that continue spawning - go play, have fun!"}
}
 
local titleOnJson = textutils.serializeJSON(titleOn)
local titleOffJson = textutils.serializeJSON(titleOff)
local messageOnJson = textutils.serialiseJSON(messageOn)
local messageOffJson = textutils.serialiseJSON(messageOff)
 
local function SendNotice(online, playerName)
  if online then
    successful, error = chatBox.sendFormattedToastToPlayer(messageOnJson, titleOnJson, playerName, "&4&oMobBot", "()", "&4&o")
  else
    successful, error = chatBox.sendFormattedToastToPlayer(messageOffJson, titleOffJson, playerName, "&4&oMobBot", "()", "&4&o")
  end
end
 
 
while true do
  sleep(1)
  farmOnline = turtle.detectUp()
  
  if not farmOnline == currentState then
    playerNames = detector.getPlayersInRange(playerRange)
    for key,value in pairs(playerNames) do
      SendNotice(currentState, value)
    end
  end
  
  currentState = farmOnline
end
 

Comments