diff --git a/sys/apis/socket.lua b/sys/apis/socket.lua index 9b91750..bdd1ff5 100644 --- a/sys/apis/socket.lua +++ b/sys/apis/socket.lua @@ -81,7 +81,8 @@ local function loopback(port, sport, msg) end local function newSocket(isLoopback) - for i = 16384, 32767 do + for _ = 16384, 32767 do + local i = math.random(16384, 32767) if not device.wireless_modem.isOpen(i) then local socket = { shost = os.getComputerID(), diff --git a/sys/apis/sound.lua b/sys/apis/sound.lua new file mode 100644 index 0000000..888131a --- /dev/null +++ b/sys/apis/sound.lua @@ -0,0 +1,12 @@ +local peripheral = _G.peripheral +local speaker = peripheral.find('speaker') + +local Sound = { } + +function Sound.play(sound, vol) + if speaker then + speaker.playSound('minecraft:' .. sound, vol or 1) + end +end + +return Sound diff --git a/sys/apis/ui.lua b/sys/apis/ui.lua index 0b51ab1..4fd6bed 100644 --- a/sys/apis/ui.lua +++ b/sys/apis/ui.lua @@ -3,6 +3,7 @@ local class = require('class') local Event = require('event') local Input = require('input') local Peripheral = require('peripheral') +local Sound = require('sound') local Transition = require('ui.transition') local Util = require('util') @@ -2542,6 +2543,7 @@ end function UI.Notification:error(value, timeout) self.backgroundColor = colors.red + Sound.play('entity.villager.no', .5) self:display(value, timeout) end