Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --File: /worldServer
- dofile("/cattech/common.lua")
- dofile("/cattech/serverops.lua")
- function putItemsInContainer(x,y,z,items)
- local itemsString = table.concat(items,",")
- local cmd = "/data merge block " .. x .. " " .. y .. " " .. z .. " {Items:[" .. itemsString .. "]}"
- log("debug","putItemInContainer : " .. cmd)
- executeCommand(cmd)
- end
- function restockStore()
- local items = {}
- for slot = 0, 8 do
- table.insert(items ,"{Slot:" .. slot .. ",Count:" .. 1 .. ",id:\"minecraft:beef\"}")
- table.insert(items ,"{Slot:" .. slot+9 .. ",Count:" .. 1 .. ",id:\"minecraft:mutton\"}")
- table.insert(items ,"{Slot:" .. slot+18 .. ",Count:" .. 1 .. ",id:\"minecraft:porkchop\"}")
- end
- putItemsInContainer(43,88,51,items)
- items = {}
- for slot = 0, 26 do
- table.insert(items ,"{Slot:" .. slot .. ",Count:" .. 1 .. ",id:\"minecraft:leather\"}")
- end
- putItemsInContainer(43,88,50,items)
- items = {}
- for slot = 0, 8 do
- table.insert(items ,"{Slot:" .. slot .. ",Count:" .. 1 .. ",id:\"minecraft:rabbit\"}")
- table.insert(items ,"{Slot:" .. slot+9 .. ",Count:" .. 1 .. ",id:\"minecraft:rabbit_hide\"}")
- table.insert(items ,"{Slot:" .. slot+18 .. ",Count:" .. 1 .. ",id:\"minecraft:rabbit_foot\"}")
- end
- putItemsInContainer(43,88,49,items)
- items = {}
- for slot = 0, 8 do
- table.insert(items ,"{Slot:" .. slot .. ",Count:" .. 1 .. ",id:\"minecraft:ink_sac\"}")
- table.insert(items ,"{Slot:" .. slot+9 .. ",Count:" .. 1 .. ",id:\"minecraft:glow_ink_sac\"}")
- end
- putItemsInContainer(43,88,48,items)
- items = {}
- for slot = 0, 8 do
- table.insert(items ,"{Slot:" .. slot .. ",Count:" .. 1 .. ",id:\"minecraft:chicken\"}")
- table.insert(items ,"{Slot:" .. slot+9 .. ",Count:" .. 1 .. ",id:\"minecraft:feather\"}")
- end
- putItemsInContainer(43,88,47,items)
- items = {}
- for slot = 0, 8 do
- table.insert(items ,"{Slot:" .. slot .. ",Count:" .. 1 .. ",id:\"waystones:waystone\"}")
- end
- putItemsInContainer(43,88,45,items)
- end
- -- Make sure the modem is open for communication
- local modemSide = "top"
- rednet.open(modemSide)
- log("info","Listening as 'worldServer'")
- local chunkTimeout = 0
- local restockTimeout = 0
- while true do
- local senderId, message, protocol = rednet.receive("worldServer",5)
- if message then
- local processed=false
- local cmd,data = string.match(message, "^(%S+)%s+(.+)$")
- if cmd == "chunkLoad" then
- log("debug","Chunkload coordinates received: " .. data)
- local x, y, z = data:match("(%S+)%s+(%S+)%s+(%S+)")
- addChunkLoad(tonumber(x),tonumber(y),tonumber(z),5)
- chunkTimeout = 0 -- Trigger a new check immediately.
- processed=true
- end
- if not processed then
- log("info","Unhandled [" .. senderId .. "]: " .. message)
- end
- end
- io.write(".")
- if (restockTimeout < deltaTime(0)) then
- log("debug","Restocking Store")
- restockStore()
- restockTimeout = deltaTime(60 * 10) -- Restock every 15 minutres
- end
- log("debug",chunkTimeout .. "=C=" .. deltaTime(0))
- if (chunkTimeout < deltaTime(0)) then
- log("debug","Chunks Processing")
- handleChunkLoad()
- chunkTimeout = deltaTime(60 * 1) -- Check in 1 minute to handle chunks
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement