options: p: &7[&c&lRooms&7] prefix: &7[&c&lRooms&7] max: 50 min: 1 # Type # Gamemode o' other players function openSettings(player: player, text: text): close {_player}'s inventory open chest with 4 rows named "&7Room settings: &c%{_text}%" to {_player} loop all numbers between 0 and 180: format gui slot loop-number of {_player} with gray glass pane named " " to do nothing format gui slot 4 of {_player} with red clay named "&7Room name: &c%{_text}%" to do nothing format gui slot 9 of {_player} with yellow clay named "&eSet maxuimum players (%{Rooms::Max::%{_text}%}%)" to run function openSetMaxPlayers({_player}, {_text}) format gui slot 11 of {_player} with light gray clay named "&7Set world type (%{Rooms::WorldType::%{_text}%}%)" to run function openSetWorldType({_player}, {_text}) if {Rooms::Type::%{_text}%} is "Public": format gui slot 13 of {_player} with gray clay named "&8Type (&a%{Rooms::Type::%{_text}%}%&8)" to run function openChangingType({_player}, {_text}) if {Rooms::Type::%{_text}%} is "Private": format gui slot 13 of {_player} with gray clay named "&8Type (&c%{Rooms::Type::%{_text}%}%&8)" to run function openChangingType({_player}, {_text}) set {_name} to {Rooms::Gamemode::%{_text}%} replace all "s" in {_name} with "S" replace all "c" in {_name} with "C" #format gui slot 15 of {_player} with pink clay named "&dGamemode of invited people! (%{_name}%)" to run function Gamemode({_player}, {_text}) #format gui slot 17 of {_player} with cyan clay named "&3Gamerules" to run function gameRules({_player}, {_text}) #format gui slot 19 of {_player} with cyan clay named "&2Save World (%{Rooms::SaveWorld::%{_text}%}%)" to run function saveworldgui({_player}, {_text}) format gui slot 31 of {_player} with lime clay named "&aCreate!" to run function createWorld({_player}, {_text}) function createWorld(player: player, text: text): close {_player}'s inventory send "{@p} Recieving room settings..." to {_player} wait 1 second send "{@p} Checking settings..." to {_player} if {Rooms::Max::%{_text}%} is not 0: set {_ok} to random integer between 0 and 654841149 send "{@p} Creating world: %{_text}%" to {_player} MAKE console execute "mw create %{_text}%%{_ok}% %{Rooms::WorldType::%{_text}%}%" MAKE console execute "mw load %{_text}%%{_ok}%" send "{@p} Teleporting to: %{_text}%" to {_player} set {_w} to "%{_text}%%{_ok}%" parsed as world set {_x} to spawn point of {_w} SET {Rooms::WorldName::%{_text}%} to {_w} teleport {_player} to {_x} else: send "{@p} Creation failed! &c(Max players is 0) [Invaild Skript options]" to {_player} function openSetMaxPlayers(player: player, text: text): close {_player}'s inventory open chest with 2 rows named "&7Room settings: &c%{_text}% &e(Max Players)" to {_player} loop all numbers between 0 and 180: format gui slot loop-number of {_player} with gray glass pane named " " to do nothing format gui slot 3 of {_player} with red clay named "&c-1" to run function removeOne({_player}, {_text}) format gui slot 5 of {_player} with LIME clay named "&a+1" to run function addOne({_player}, {_text}) format gui slot 4 of {_player} with yellow clay named "&eMax Players: %{Rooms::Max::%{_text}%}%" to do nothing format gui slot 13 of {_player} with lime clay named "&aDone!" to run function openSettings({_player}, {_text}) function openSetWorldType(player: player, text: text): close {_player}'s inventory open chest with 2 rows named "&7Room settings: &c%{_text}% &7(WorldType)" to {_player} loop all numbers between 0 and 180: format gui slot loop-number of {_player} with gray glass pane named " " to do nothing format gui slot 2 of {_player} with green clay named "&aFlat" to run function setWorldType({_player}, {_text}, "FlatLand") set line 1 of lore of slot 2 of {_player}'s current inventory to " " set line 2 of lore of slot 2 of {_player}'s current inventory to "&7Sets world to a normal SuperFlat Type World!" set line 3 of lore of slot 2 of {_player}'s current inventory to " " format gui slot 4 of {_player} with lime clay named "&aNormal" to run function setWorldType({_player}, {_text}, "Normal") set line 1 of lore of slot 4 of {_player}'s current inventory to " " set line 2 of lore of slot 4 of {_player}'s current inventory to "&7Sets world to a Normal Type World!" set line 3 of lore of slot 4 of {_player}'s current inventory to " " format gui slot 6 of {_player} with gray clay named "&7Empty" to run function setWorldType({_player}, {_text}, "Empty") set line 1 of lore of slot 6 of {_player}'s current inventory to " " set line 2 of lore of slot 6 of {_player}'s current inventory to "&7Sets world to a Void Type World!" set line 3 of lore of slot 6 of {_player}'s current inventory to "&c&oWARNING: &7&oFalling into the void will cause" set line 4 of lore of slot 6 of {_player}'s current inventory to "&7&odirect kick from the world!" set line 5 of lore of slot 6 of {_player}'s current inventory to " " format gui slot 13 of {_player} with lime clay named "&aDone!" to run function openSettings({_player}, {_text}) function Gamemode(player: player, text: text): close {_player}'s inventory open chest with 2 rows named "&7Room settings: &c%{_text}% &d(Gamemode)" to {_player} loop all numbers between 0 and 180: format gui slot loop-number of {_player} with gray glass pane named " " to do nothing format gui slot 2 of {_player} with white clay named "&fCreative" to run function setGm({_player}, {_text}, creative) set line 1 of lore of slot 2 of {_player}'s current inventory to " " set line 2 of lore of slot 2 of {_player}'s current inventory to "&7Sets Default gamemode to: &fCreative" set line 3 of lore of slot 2 of {_player}'s current inventory to " " format gui slot 4 of {_player} with red clay named "&cSurvival" to run function setGm({_player}, {_text}, survival) set line 1 of lore of slot 4 of {_player}'s current inventory to " " set line 2 of lore of slot 4 of {_player}'s current inventory to "&7Sets Default gamemode to: &cSurvival" set line 3 of lore of slot 4 of {_player}'s current inventory to " " format gui slot 6 of {_player} with gray clay named "&8Spectator" to run function setGm({_player}, {_text}, spectator) set line 1 of lore of slot 6 of {_player}'s current inventory to " " set line 2 of lore of slot 6 of {_player}'s current inventory to "&7Sets Default gamemode to: &8Spectator" set line 5 of lore of slot 6 of {_player}'s current inventory to " " format gui slot 13 of {_player} with lime clay named "&aDone!" to run function openSettings({_player}, {_text}) function openChangingType(player: player, text: text): close {_player}'s inventory open chest with 2 rows named "&7Room settings: &c%{_text}% &8(Type)" to {_player} loop all numbers between 0 and 180: format gui slot loop-number of {_player} with gray glass pane named " " to do nothing format gui slot 3 of {_player} with green clay named "&aPublic" to run function setType({_player}, {_text}, "Public") set line 1 of lore of slot 3 of {_player}'s current inventory to " " set line 2 of lore of slot 3 of {_player}'s current inventory to "&7Sets the Type of room to &aPUBLIC" set line 3 of lore of slot 3 of {_player}'s current inventory to " " set line 4 of lore of slot 3 of {_player}'s current inventory to "&c&oPLEASE NOTE: &7&oAnyone can access this room" set line 5 of lore of slot 3 of {_player}'s current inventory to "&7&oby just entering room list!" set line 6 of lore of slot 3 of {_player}'s current inventory to " " format gui slot 5 of {_player} with gray clay named "&cPrivate" to run function setType({_player}, {_text}, "Private") set line 1 of lore of slot 5 of {_player}'s current inventory to " " set line 2 of lore of slot 5 of {_player}'s current inventory to "&7Sets the Type of room to &cPRIVATE" set line 3 of lore of slot 5 of {_player}'s current inventory to "&c&oINFO: &7&oNo one can enter this room" set line 4 of lore of slot 5 of {_player}'s current inventory to "&7&oexept people you invite!" set line 5 of lore of slot 5 of {_player}'s current inventory to " " format gui slot 13 of {_player} with lime clay named "&aDone!" to run function openSettings({_player}, {_text}) function setWorldType(player: player, text: text, text2: text): set {Rooms::WorldType::%{_text}%} to {_text2} send "{@prefix} WorldType of room has been set to: &c%{_text2}%" to {_player} function setGm(player: player, text: text, gamemode: gamemode): set {_name} to {Rooms::Gamemode::%{_text}%} replace all "s" in {_name} with "S" replace all "c" in {_name} with "C" set {Rooms::Gamemode::%{_text}%} to {_gamemode} send "{@prefix} Gamemode of room has been set to: &c%{_name}%" to {_player} function setType(player: player, text: text, text2: text): set {Rooms::Type::%{_text}%} to {_text2} send "{@prefix} Type of room has been set to: &c%{_text2}%" to {_player} function removeOne(player: player, text: text): set {_new} to {Rooms::Max::%{_text}%} - 1 if {_new} is bigger than 0: if {_new} is not {@min}: remove 1 from {Rooms::Max::%{_text}%} format gui slot 4 of {_player} with yellow clay named "&eMax Players: %{Rooms::Max::%{_text}%}%" to do nothing else: send "&cYou can't remove any more!" to {_player} function addOne(player: player, text: text): set {_new} to {Rooms::Max::%{_text}%} + 1 if {_new} is not bigger than {@max}: add 1 to {Rooms::Max::%{_text}%} format gui slot 4 of {_player} with yellow clay named "&eMax Players: %{Rooms::Max::%{_text}%}%" to do nothing else: send "&cYou can't add any more!" to {_player} function updateGui(player: player): set {_slot} to 10 loop all numbers between 0 and 180: format gui slot loop-number of {_player} with gray glass pane named " " to do nothing loop {Rooms::*}: if loop-value is loop-value: if {Rooms::Type::%loop-value%} is "Public": if {Rooms::Players::%loop-value%} is smaller than {Rooms::Max::%loop-value%}: format gui slot {_slot} of {_player} with lime clay named "&a%loop-value%" to run function joinRoom({_player}, loop-value) set line 1 of lore of slot {_slot} of {_player}'s current inventory to " " set line 2 of lore of slot {_slot} of {_player}'s current inventory to "&a&l---------------------------------" set line 3 of lore of slot {_slot} of {_player}'s current inventory to " " set line 4 of lore of slot {_slot} of {_player}'s current inventory to " &a&lJOINABLE!" set line 5 of lore of slot {_slot} of {_player}'s current inventory to " " set line 6 of lore of slot {_slot} of {_player}'s current inventory to "&7Players: &e%{Rooms::Players::%loop-value%}%/%{Rooms::Max::%loop-value%}%" set line 7 of lore of slot {_slot} of {_player}'s current inventory to " " set line 8 of lore of slot {_slot} of {_player}'s current inventory to "&7Type: &aPublic" set line 9 of lore of slot {_slot} of {_player}'s current inventory to " " set line 10 of lore of slot {_slot} of {_player}'s current inventory to "&7Owner: &2%{Rooms::Owner::%loop-value%}%" set line 11 of lore of slot {_slot} of {_player}'s current inventory to " " set line 12 of lore of slot {_slot} of {_player}'s current inventory to "&7WorldType: &d%{Rooms::WorldType::%loop-value%}%" set line 13 of lore of slot {_slot} of {_player}'s current inventory to " " set line 14 of lore of slot {_slot} of {_player}'s current inventory to "&7Server: &d%{Rooms::WorldName::%loop-value%}%" set line 15 of lore of slot {_slot} of {_player}'s current inventory to "&a&l---------------------------------" set line 16 of lore of slot {_slot} of {_player}'s current inventory to " " else: format gui slot {_slot} of {_player} with red clay named "&4%loop-value%" to do nothing set line 1 of lore of slot {_slot} of {_player}'s current inventory to " " set line 2 of lore of slot {_slot} of {_player}'s current inventory to "&4&l---------------------------------" set line 3 of lore of slot {_slot} of {_player}'s current inventory to " " set line 4 of lore of slot {_slot} of {_player}'s current inventory to " &4&lFULL!" set line 5 of lore of slot {_slot} of {_player}'s current inventory to " " set line 6 of lore of slot {_slot} of {_player}'s current inventory to "&7Players: &e%{Rooms::Players::%loop-value%}%/%{Rooms::Max::%loop-value%}%" set line 7 of lore of slot {_slot} of {_player}'s current inventory to " " set line 8 of lore of slot {_slot} of {_player}'s current inventory to "&7Type: &aPublic" set line 9 of lore of slot {_slot} of {_player}'s current inventory to " " set line 10 of lore of slot {_slot} of {_player}'s current inventory to "&7Owner: &2%{Rooms::Owner::%loop-value%}%" set line 11 of lore of slot {_slot} of {_player}'s current inventory to " " set line 12 of lore of slot {_slot} of {_player}'s current inventory to "&7WorldType: &d%{Rooms::WorldType::%loop-value%}%" set line 13 of lore of slot {_slot} of {_player}'s current inventory to " " set line 14 of lore of slot {_slot} of {_player}'s current inventory to "&7Server: &d%{Rooms::WorldName::%loop-value%}%" set line 15 of lore of slot {_slot} of {_player}'s current inventory to "&4&l---------------------------------" set line 16 of lore of slot {_slot} of {_player}'s current inventory to " " add 1 to {_slot} on quit: if {Rooms::Connected::%uuid of player%} is true: if {Rooms::HasRoom::%uuid of player%} is true: make player execute "/rooms leave" function joinRoom(player: player, text: text): set {_dk} to uuid of {_player} broadcast {_dk} set {Rooms::Name::%{_dk}%} to {_text} add {_player} to {Rooms::PlayersAlive::%{Rooms::Name::%{_dk}%}%::*} add 1 to {Rooms::Players::%{Rooms::Name::%{_dk}%}%} set {Rooms::Connected::%{_dk}%} to true set {Rooms::HasRoom::%{_dk}%} to true set {Rooms::CurrentRoomCTO::%{_dk}%} to {_player} loop {Rooms::PlayersAlive::%{Rooms::Name::%{_dk}%}%::*}: send "{@p} &c%{_player}%&7 joined your room!" to loop-value set {_x} to world of {Rooms::Owner::%{Rooms::Name::%{_dk}%}%} teleport {_player} to spawn point of {_x} every 1 second: loop all players: if name of loop-player's current inventory is "&7Room list": updateGui(loop-player) #[<>] command f: trigger: set {Rooms::Connected::%uuid of player%} to true set {Rooms::HasRoom::%uuid of player%} to true command rooms [] [] []: trigger: if arg 1 is "st": openSettings(player, {Rooms::Name::%uuid of player%}) if arg 1 is "create": if arg 2 is set: if {Rooms::Connected::%uuid of player%} is false: if {Rooms::HasRoom::%uuid of player%} is false: set {Rooms::Connected::%uuid of player%} to true set {Rooms::Name::%uuid of player%} to arg 2 set {Rooms::%arg 2%} to arg 2 set {Rooms::CurrentRoomCTO::%uuid of player%} to player set {Rooms::Max::%{Rooms::Name::%uuid of player%}%} to {@min} set {Rooms::WorldType::%{Rooms::Name::%uuid of player%}%} to "Normal" set {Rooms::Type::%{Rooms::Name::%uuid of player%}%} to "Private" set {Rooms::Gamemode::%{Rooms::Name::%uuid of player%}%} to survival set {Rooms::Players::%{Rooms::Name::%uuid of player%}%} to 1 set {Rooms::Owner::%{Rooms::Name::%uuid of player%}%} to player set {Rooms::SaveWorld::%{Rooms::Name::%uuid of player%}%} to false add player to {Rooms::PlayersAlive::%{Rooms::Name::%uuid of player%}%::*} set {Rooms::HasRoom::%uuid of player%} to true send "{@p} Created room with name: &c%arg 2%" openSettings(player, arg 2) else: send "&cYou are in a room!" else: send "&cYou are currently connected to room of %{Rooms::CurrentRoomCTO::%uuid of player%}%" else: send "&cPlease type a name for your room" if arg 1 is "list": if {Rooms::Connected::%uuid of player%} is false: if {Rooms::HasRoom::%uuid of player%} is false: open chest with 6 rows named "&7Room list" to player updateGui(player) if arg 1 is "leave": if {Rooms::Connected::%uuid of player%} is true: if {Rooms::HasRoom::%uuid of player%} is true: if {Rooms::Owner::%{Rooms::Name::%uuid of player%}%} is player: send "{@p} Leaving your room..." loop {Rooms::PlayersAlive::%{Rooms::Name::%uuid of player%}%::*}: send "{@p} &c%player%&7 left your room!" to loop-value remove loop-value from {Rooms::loop-valuesAlive::%{Rooms::Name::%uuid of loop-value%}%::*} remove 1 from {Rooms::loop-values::%{Rooms::Name::%uuid of loop-value%}%} set {Rooms::Connected::%uuid of loop-value%} to false set {Rooms::HasRoom::%uuid of loop-value%} to false clear {Rooms::CurrentRoomCTO::%uuid of loop-value%} if loop-value is not player: clear {Rooms::Name::%uuid of loop-value%} teleport loop-value to {Rooms::FallBack} clear {Rooms::Max::%{Rooms::Name::%uuid of player%}%} clear {Rooms::WorldType::%{Rooms::Name::%uuid of player%}%} clear {Rooms::Type::%{Rooms::Name::%uuid of player%}%} clear {Rooms::Gamemode::%{Rooms::Name::%uuid of player%}%} clear {Rooms::Players::%{Rooms::Name::%uuid of player%}%} clear {Rooms::Owner::%{Rooms::Name::%uuid of player%}%} clear {Rooms::SaveWorld::%{Rooms::Name::%uuid of player%}%} clear {Rooms::PlayersAlive::%{Rooms::Name::%uuid of player%}%::*} remove player from {Rooms::PlayersAlive::%{Rooms::Name::%uuid of player%}%::*} remove 1 from {Rooms::Players::%{Rooms::Name::%uuid of player%}%} set {Rooms::Connected::%uuid of player%} to false set {Rooms::HasRoom::%uuid of player%} to false clear {Rooms::CurrentRoomCTO::%uuid of player%} teleport player to {Rooms::FallBack} if {Rooms::SaveWorld::%{Rooms::Name::%uuid of player%}%} is false: send "{@p} Deleting your world..." make console execute "mw delete %{Rooms::WorldName::%{Rooms::Name::%uuid of player%}%}%" clear {Rooms::Name::%uuid of player%} else: send "{@p} Leaving the current room..." loop {Rooms::PlayersAlive::%{Rooms::Name::%uuid of player%}%::*}: send "{@p} &c%player%&7 left your room!" to loop-value remove player from {Rooms::PlayersAlive::%{Rooms::Name::%uuid of player%}%::*} remove 1 from {Rooms::Players::%{Rooms::Name::%uuid of player%}%} set {Rooms::Connected::%uuid of player%} to false set {Rooms::HasRoom::%uuid of player%} to false clear {Rooms::CurrentRoomCTO::%uuid of player%} clear {Rooms::Name::%uuid of player%} teleport player to {Rooms::FallBack} if arg 1 is "setfallbackworld" or "sfbw": if player has permission "rooms.sfbw": set {Rooms::FallBack} to location of player send "{@p} Set the fallback location to: &c%location of player%" if arg 1 is "invite": if arg 2 is set: if {Rooms::Players::%{Rooms::Name::%uuid of player%}%} is smaller than {Rooms::Max::%{Rooms::Name::%uuid of player%}%}: send "passed player ch" if {Rooms::Connected::%uuid of player%} is true: if {Rooms::HasRoom::%uuid of player%} is true: if {Rooms::Owner::%{Rooms::Name::%uuid of player%}%} is player: set {_player} to arg 2 parsed as player send "{@p} Invited %{_player}% to your room! His has &c60 seconds&7 to accept" set {Rooms::Invited::%player%::%{_player}%} to player set {Rooms::Invited::%{_player}%::%player%} to {_player} set {Rooms::Invitedd::%{_player}%::%player%} to {Rooms::Name::%uuid of player%} send "{@p} &c%player%&7invited you to their room! You have &c60 seconds&7 to accept" to {_player} if arg 1 is "accept": if arg 2 is set: if {Rooms::Connected::%uuid of player%} is false: if {Rooms::HasRoom::%uuid of player%} is false: set {_player} to arg 2 parsed as player if {Rooms::Invited::%{_player}%::%player%} is set: set {Rooms::Name::%uuid of player%} to {Rooms::Invitedd::%player%::%{_player}%} clear {Rooms::Invited::%{_player}%::%player%} clear {Rooms::Invited::%player%::%{_player}%} add player to {Rooms::PlayersAlive::%{Rooms::Name::%uuid of player%}%::*} add 1 to {Rooms::Players::%{Rooms::Name::%uuid of player%}%} set {Rooms::Connected::%uuid of player%} to true set {Rooms::HasRoom::%uuid of player%} to true set {Rooms::CurrentRoomCTO::%uuid of player%} to {_player} loop {Rooms::PlayersAlive::%{Rooms::Name::%uuid of player%}%::*}: send "{@p} &c%player%&7 joined your room!" to loop-value set {_x} to world of {_player} teleport player to spawn point of {_x} on death: if {Rooms::Connected::%uuid of player%} is true: if {Rooms::HasRoom::%uuid of player%} is true: make player execute "/rooms leave" on world change: if {Rooms::Connected::%uuid of player%} is true: if {Rooms::HasRoom::%uuid of player%} is true: if event-world is not {Rooms::WorldName::%{Rooms::Name::%uuid of player%}%} : make player execute "/rooms leave" on inventory close: if event-inventory's name contains "&7Rooms": openSettings(player, {Rooms::Name::%uuid of player%}) on join: if {Rooms::Connected::%uuid of player%} is not set: set {Rooms::Connected::%uuid of player%} to false if {Rooms::HasRoom::%uuid of player%} is not set: set {Rooms::HasRoom::%uuid of player%} to false if {Rooms::Connected::%uuid of player%} is true: if {Rooms::HasRoom::%uuid of player%} is true: make player execute "/rooms leave"