diff options
author | faketruth <faketruth@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2011-10-03 21:39:53 +0200 |
---|---|---|
committer | faketruth <faketruth@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2011-10-03 21:39:53 +0200 |
commit | 7e010e7f8fc3983c3bd85fe17da27e06bdb4c7d9 (patch) | |
tree | 5ef154088135039dd0ea9430b4cbe608ef17d8ff | |
parent | Source for additional projects (diff) | |
download | cuberite-7e010e7f8fc3983c3bd85fe17da27e06bdb4c7d9.tar cuberite-7e010e7f8fc3983c3bd85fe17da27e06bdb4c7d9.tar.gz cuberite-7e010e7f8fc3983c3bd85fe17da27e06bdb4c7d9.tar.bz2 cuberite-7e010e7f8fc3983c3bd85fe17da27e06bdb4c7d9.tar.lz cuberite-7e010e7f8fc3983c3bd85fe17da27e06bdb4c7d9.tar.xz cuberite-7e010e7f8fc3983c3bd85fe17da27e06bdb4c7d9.tar.zst cuberite-7e010e7f8fc3983c3bd85fe17da27e06bdb4c7d9.zip |
Diffstat (limited to '')
-rw-r--r-- | Lua-LICENSE.txt | 21 | ||||
-rw-r--r-- | Plugins/ChatLog.lua | 41 | ||||
-rw-r--r-- | Plugins/Core.lua | 663 | ||||
-rw-r--r-- | Plugins/Fire.lua | 149 | ||||
-rw-r--r-- | Plugins/MagicCarpet.lua | 169 | ||||
-rw-r--r-- | clean.bat | 21 | ||||
-rw-r--r-- | furnace.txt | 64 | ||||
-rw-r--r-- | groups.ini | 17 | ||||
-rw-r--r-- | items.ini | 213 | ||||
-rw-r--r-- | makefile | 1108 | ||||
-rw-r--r-- | monsters.ini | 11 | ||||
-rw-r--r-- | recipes.txt | 280 | ||||
-rw-r--r-- | settings.ini | 24 | ||||
-rw-r--r-- | terrain.ini | 8 | ||||
-rw-r--r-- | users.ini | 8 | ||||
-rw-r--r-- | webadmin.ini | 6 |
16 files changed, 2803 insertions, 0 deletions
diff --git a/Lua-LICENSE.txt b/Lua-LICENSE.txt new file mode 100644 index 000000000..bc4f3973c --- /dev/null +++ b/Lua-LICENSE.txt @@ -0,0 +1,21 @@ +Copyright (C) 1994-2008 Lua.org, PUC-Rio.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
+TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
+SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
+ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
+OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/Plugins/ChatLog.lua b/Plugins/ChatLog.lua new file mode 100644 index 000000000..9f86a7086 --- /dev/null +++ b/Plugins/ChatLog.lua @@ -0,0 +1,41 @@ +local ChatLogPlugin = {}
+ChatLogPlugin.__index = ChatLogPlugin
+
+function ChatLogPlugin:new()
+ local t = {}
+ setmetatable(t, ChatLogPlugin)
+ local w = Lua__cPlugin:new()
+ tolua.setpeer(w, t)
+ w:tolua__set_instance(w)
+ return w
+end
+
+function ChatLogPlugin:OnDisable()
+ Log( self:GetName() .. " v." .. self:GetVersion() .. " is shutting down..." )
+end
+
+function ChatLogPlugin:Initialize()
+ self:SetName( "ChatLog" )
+ self:SetVersion( 1 )
+
+ PluginManager = cRoot:Get():GetPluginManager()
+ PluginManager:AddHook( self, cPluginManager.E_PLUGIN_CHAT )
+
+ self.Logger = cMCLogger:new_local("ChatLog"..GetTime()..".txt")
+ self.Logger:LogSimple("--- ChatLog started ---", 1);
+
+ Log( "Initialized " .. self:GetName() .. " v." .. self:GetVersion() )
+ return true
+end
+
+function ChatLogPlugin:OnChat( Message, Player )
+ Server = cRoot:Get():GetServer()
+
+ -- Lets get loggin'
+ self.Logger:LogSimple(Player:GetName() .. ": " .. Message, 1);
+
+ return false
+end
+
+Plugin = ChatLogPlugin:new()
+cRoot:Get():GetPluginManager():AddPlugin( Plugin )
diff --git a/Plugins/Core.lua b/Plugins/Core.lua new file mode 100644 index 000000000..e124a9261 --- /dev/null +++ b/Plugins/Core.lua @@ -0,0 +1,663 @@ +---- Some settings -----
+SHOW_PLUGIN_NAMES = true -- If true, plugin name will be shown before commands
+ -- This is overwritten in the Initialize() function
+------------------------
+
+local BannedPlayersIni = {}
+local WhiteListIni = {}
+
+CorePlugin = {}
+CorePlugin.__index = CorePlugin
+
+function CorePlugin:new()
+ local t = {}
+ setmetatable(t, CorePlugin)
+ local w = Lua__cPlugin:new()
+ tolua.setpeer(w, t)
+ w:tolua__set_instance(w)
+ return w
+end
+
+function CorePlugin:OnDisable()
+ LOG( self:GetName() .. " v." .. self:GetVersion() .. " is shutting down..." )
+end
+
+function CorePlugin:Initialize()
+ self:SetName( "Core" )
+ self:SetVersion( 6 )
+
+ PluginManager = cRoot:Get():GetPluginManager()
+ PluginManager:AddHook( self, cPluginManager.E_PLUGIN_PLAYER_JOIN )
+ PluginManager:AddHook( self, cPluginManager.E_PLUGIN_LOGIN )
+ PluginManager:AddHook( self, cPluginManager.E_PLUGIN_BLOCK_PLACE )
+ PluginManager:AddHook( self, cPluginManager.E_PLUGIN_KILLED )
+
+ self:AddCommand("/help", " - [Page] Show this message", "core.help")
+ self:AddCommand("/pluginlist", " - Show list of plugins", "core.pluginlist")
+ self:AddCommand("/tp", " - [Player] - Teleport yourself to a player", "core.teleport")
+ self:AddCommand("/item", " - [ItemID/Name] <Amount> - Spawn an item for yourself", "core.item")
+ self:AddCommand("/list", " - Shows list of connected players", "core.playerlist")
+ self:AddCommand("/motd", " - Show message of the day", "core.motd")
+ self:AddCommand("/reload", " - Reload all plugins", "core.reload")
+ self:AddCommand("/time", " - [Day/Night] - Sets the time of day", "core.time")
+ self:AddCommand("/spawn", " - Return to the spawn", "core.spawn")
+ self:AddCommand("/kick", " - [Player] - Kick a player", "core.kick")
+ self:AddCommand("/ban", " - [Player] - Ban a player", "core.ban")
+ self:AddCommand("/unban", " - [Player] - Unban a player", "core.unban")
+ self:AddCommand("/top", " - Teleport yourself to the top most block", "core.top")
+
+ self:BindCommand( "/help", "core.help", HandleHelpCommand )
+ self:BindCommand( "/pluginlist","core.pluginlist", HandlePluginListCommand )
+ self:BindCommand( "/tp", "core.teleport", HandleTPCommand )
+ self:BindCommand( "/item", "core.item", HandleItemCommand )
+ self:BindCommand( "/i", "core.item", HandleItemCommand )
+ self:BindCommand( "/list", "core.playerlist", HandlePlayerListCommand )
+ self:BindCommand( "/who", "core.playerlist", HandlePlayerListCommand )
+ self:BindCommand( "/playerlist","core.playerlist", HandlePlayerListCommand )
+ self:BindCommand( "/motd", "core.motd", HandleMOTDCommand )
+ self:BindCommand( "/reload", "core.reload", HandleReloadCommand )
+ self:BindCommand( "/time", "core.time", HandleTimeCommand )
+ self:BindCommand( "/spawn", "core.spawn", HandleSpawnCommand )
+ self:BindCommand( "/home", "core.spawn", HandleSpawnCommand )
+ self:BindCommand( "/kick", "core.kick", HandleKickCommand )
+ self:BindCommand( "/ban", "core.ban", HandleBanCommand )
+ self:BindCommand( "/unban", "core.unban", HandleUnbanCommand )
+ self:BindCommand( "/top", "core.top", HandleTopCommand )
+
+ local IniFile = cIniFile("settings.ini")
+ if ( IniFile:ReadFile() == true ) then
+ SHOW_PLUGIN_NAMES = IniFile:GetValueB("HelpPlugin", "ShowPluginNames", true )
+ end
+
+ itemsINI = cIniFile("items.ini")
+ if ( itemsINI:ReadFile() == true ) then
+ LOGINFO("Core: loaded " .. itemsINI:GetNumValues('Items') .. " item names.")
+ HAVE_ITEM_NAMES = true
+ end
+
+ -- Load whitelist, and add default values and stuff
+ WhiteListIni = cIniFile("whitelist.ini")
+ if ( WhiteListIni:ReadFile() == true ) then
+ if( WhiteListIni:GetValueB("WhiteListSettings", "WhiteListOn", false) == true ) then
+ if( WhiteListIni:GetNumValues("WhiteList") > 0 ) then
+ LOGINFO("Core: loaded " .. WhiteListIni:GetNumValues('WhiteList') .. " whitelisted players.")
+ else
+ LOGWARN("WARNING: WhiteList is on, but there are no people in the whitelist!")
+ end
+ end
+ else
+ WhiteListIni:SetValueB("WhiteListSettings", "WhiteListOn", false )
+ WhiteListIni:SetValue("WhiteList", "", "") -- So it adds an empty header
+ WhiteListIni:DeleteValue("WhiteList", "") -- And remove the value
+ WhiteListIni:KeyComment("WhiteList", "PlayerName=1")
+ if( WhiteListIni:WriteFile() == false ) then
+ LOGWARN("WARNING: Could not write to whitelist.ini")
+ end
+ end
+
+ -- Load banned players, and add default values and stuff
+ BannedPlayersIni = cIniFile("banned.ini")
+ if ( BannedPlayersIni:ReadFile() == true ) then
+ if( BannedPlayersIni:GetNumValues("Banned") > 0 ) then
+ LOGINFO("Core: loaded " .. BannedPlayersIni:GetNumValues("Banned") .. " banned players.")
+ end
+ else
+ BannedPlayersIni:SetValue("Banned", "", "") -- So it adds an empty header
+ BannedPlayersIni:DeleteValue("Banned", "") -- And remove the value
+ BannedPlayersIni:KeyComment("Banned", "PlayerName=1")
+ if( BannedPlayersIni:WriteFile() == false ) then
+ LOGWARN("WARNING: Could not write to banned.ini")
+ end
+ end
+
+ LOG( "Initialized " .. self:GetName() .. " v." .. self:GetVersion() )
+ return true
+end
+
+function HandleTopCommand( Split, Player )
+ local World = cRoot:Get():GetWorld()
+
+ local PlayerPos = Player:GetPosition()
+ local Height = World:GetHeight( math.floor(PlayerPos.x), math.floor(PlayerPos.z) )
+
+ Player:TeleportTo( PlayerPos.x, Height+1, PlayerPos.z )
+ Player:SendMessage("Teleported to the top block")
+
+ return true
+end
+
+function HandleKickCommand( Split, Player )
+ if( #Split < 2 ) then
+ Player:SendMessage( cChatColor.Green .. "Usage: /kick [Player] <Reason>" )
+ return true
+ end
+
+ local World = cRoot:Get():GetWorld()
+ local OtherPlayer = World:GetPlayer( Split[2] )
+ if( OtherPlayer == nil ) then
+ Player:SendMessage( cChatColor.Green .. "Could not find player " .. Split[2] )
+ return true
+ end
+
+ local Reason = "You have been kicked"
+ if( #Split > 2 ) then
+ Reason = table.concat(Split, " ", 3)
+ end
+
+ local Server = cRoot:Get():GetServer()
+ LOGINFO( Player:GetName() .. " is kicking " .. OtherPlayer:GetName() .. " ( "..Reason..") " )
+ Server:SendMessage( "Kicking " .. OtherPlayer:GetName() )
+
+ local ClientHandle = OtherPlayer:GetClientHandle()
+ ClientHandle:Kick( Reason )
+
+ return true
+end
+
+function HandleBanCommand( Split, Player )
+ if( #Split < 2 ) then
+ Player:SendMessage( cChatColor.Green .. "Usage: /ban [Player] <Reason>" )
+ return true
+ end
+
+ local World = cRoot:Get():GetWorld()
+ local OtherPlayer = World:GetPlayer( Split[2] )
+ if( OtherPlayer == nil ) then
+ Player:SendMessage( cChatColor.Green .. "Could not find player " .. Split[2] )
+ return true
+ end
+
+ local Reason = "You have been banned"
+ if( #Split > 2 ) then
+ Reason = table.concat(Split, " ", 3)
+ end
+
+ local Server = cRoot:Get():GetServer()
+ LOGINFO( Player:GetName() .. " is banning " .. OtherPlayer:GetName() .. " ( "..Reason..") " )
+ Server:SendMessage( "Banning " .. OtherPlayer:GetName() )
+
+ local ClientHandle = OtherPlayer:GetClientHandle()
+ ClientHandle:Kick( Reason )
+
+ BannedPlayersIni:SetValueB("Banned", OtherPlayer:GetName(), true)
+ BannedPlayersIni:WriteFile()
+
+ return true
+end
+
+function HandleUnbanCommand( Split, Player )
+ if( #Split < 2 ) then
+ Player:SendMessage( cChatColor.Green .. "Usage: /unban [Player]" )
+ return true
+ end
+
+ if( BannedPlayersIni:GetValueB("Banned", Split[2], false) == false ) then
+ Player:SendMessage( cChatColor.Green .. Split[2] .. " is not banned!" )
+ return true
+ end
+
+ BannedPlayersIni:SetValueB("Banned", Split[2], false, false)
+ BannedPlayersIni:WriteFile()
+
+ local Server = cRoot:Get():GetServer()
+ LOGINFO( Player:GetName() .. " is unbanning " .. Split[2] )
+ Server:SendMessage( "Unbanning " .. Split[2] )
+
+ return true
+end
+
+function HandleMOTDCommand( Split, Player )
+ ShowMOTDTo( Player )
+ return true
+end
+
+function ShowMOTDTo( Player )
+ Player:SendMessage( cChatColor.Gold .. "Welcome to the MCServer test server!" );
+ Player:SendMessage( cChatColor.Gold .. "http://mcserver.ae-c.net/" );
+ Player:SendMessage( cChatColor.Gold .. "Type /help for all commands" );
+end
+
+function HandleSpawnCommand( Split, Player )
+ World = cRoot:Get():GetWorld()
+ Player:TeleportTo( World:GetSpawnX(), World:GetSpawnY(), World:GetSpawnZ() )
+ LOGINFO( Player:GetName() .. " returned to spawn." )
+ return true
+end
+
+function HandleTimeCommand( Split, Player )
+ if( #Split ~= 2 ) then
+ Player:SendMessage( cChatColor.Green .. "Usage: /time [Day/Night]" )
+ return true;
+ end
+
+ local Server = cRoot:Get():GetServer()
+ if( string.upper( Split[2] ) == "DAY") then
+ cRoot:Get():GetWorld():SetWorldTime( 0 )
+ Server:SendMessage( cChatColor.Green .. Player:GetName() .. " set the time to Day.")
+ elseif( string.upper( Split[2] ) == "NIGHT") then
+ cRoot:Get():GetWorld():SetWorldTime( 12000 + 1000 )
+ Server:SendMessage( cChatColor.Green .. Player:GetName() .. " set the time to Night.")
+ else
+ Player:SendMessage( cChatColor.Green .. "Usage: /time [Day/Night]" )
+ end
+ return true
+end
+
+function HandleReloadCommand( Split, Player )
+ Server = cRoot:Get():GetServer()
+ Server:SendMessage( cChatColor.Green .. "Reloading all plugins." )
+ cRoot:Get():GetPluginManager():ReloadPlugins()
+ return true
+end
+
+function HandlePlayerListCommand( Split, Player )
+ local World = cRoot:Get():GetWorld()
+ local PlayerList = World:GetAllPlayers()
+
+ local Message = cChatColor.Green .. "Connected players: (".. cChatColor.White.. #PlayerList .. cChatColor.Green .. ")"
+ Player:SendMessage( Message )
+
+ local PlayerTable = {}
+ for i, TempPlayer in ipairs( PlayerList ) do
+ local PlayerName = TempPlayer:GetName()
+ table.insert(PlayerTable, PlayerName )
+ end
+
+ Player:SendMessage( table.concat(PlayerTable, " ") )
+ return true
+end
+
+function HandleHelpCommand( Split, Player )
+ local PluginManager = cRoot:Get():GetPluginManager()
+
+ local LinesPerPage = 9
+ local CurrentPage = 1
+ local CurrentLine = 0
+
+ if( #Split == 2 ) then
+ CurrentPage = tonumber(Split[2])
+ end
+
+ local Pages = {}
+
+ local PluginList = PluginManager:GetAllPlugins()
+ for i, Plugin in ipairs( PluginList ) do
+ local Commands = Plugin:GetCommands()
+ for i, v in ipairs( Commands ) do
+ if( Player:HasPermission( v.Permission ) ) then
+ local PageNum = math.floor( CurrentLine/LinesPerPage )+1
+ if( Pages[ PageNum ] == nil ) then Pages[ PageNum ] = {} end -- Create page
+
+ if( Pages[ PageNum ].ShownName ~= Plugin:GetName() and SHOW_PLUGIN_NAMES == true ) then
+ if( CurrentLine == LinesPerPage * PageNum -1 ) then -- Don't add if it's the last line of the page, it looks silly
+ -- Add it to the next page instead
+ CurrentLine = CurrentLine+1
+ PageNum = math.floor( CurrentLine/LinesPerPage )+1
+
+ if( Pages[ PageNum ] == nil ) then Pages[ PageNum ] = {} end -- Create page
+ table.insert( Pages[ PageNum ], cChatColor.Gold .. Plugin:GetName() )
+ else
+ Pages[ PageNum ].ShownName = Plugin:GetName()
+ table.insert( Pages[ PageNum ], cChatColor.Gold .. Plugin:GetName() )
+ end
+ CurrentLine = CurrentLine+1
+ PageNum = math.floor( CurrentLine/LinesPerPage )+1
+ if( Pages[ PageNum ] == nil ) then Pages[ PageNum ] = {} end -- Create page
+ end
+ local Message = cChatColor.Blue .. v.Command .. v.Description;
+ table.insert( Pages[ PageNum ], Message )
+ CurrentLine = CurrentLine+1
+ end
+ end
+ end
+
+ Player:SendMessage( cChatColor.Purple .. "- All commands - " .. cChatColor.Gold .. "[Page " .. (CurrentPage) .."/"..#Pages.."]" )
+
+ if( Pages[CurrentPage] ~= nil ) then
+ for i, v in ipairs(Pages[CurrentPage]) do
+ Player:SendMessage( v )
+ end
+ end
+
+ return true
+end
+
+function HandlePluginListCommand( Split, Player )
+ local PluginManager = cRoot:Get():GetPluginManager()
+ local PluginList = PluginManager:GetAllPlugins()
+
+ local PluginTable = {}
+ for i, Plugin in ipairs( PluginList ) do
+ table.insert(PluginTable, Plugin:GetName() )
+ end
+
+ Player:SendMessage( cChatColor.Green .. "Loaded plugins:" )
+ Player:SendMessage( cChatColor.Gold .. table.concat(PluginTable, cChatColor.Gold.." ") )
+ return true
+end
+
+function HandleItemCommand( Split, Player )
+ if( #Split ~= 2 and #Split ~=3 ) then
+ Player:SendMessage( cChatColor.Green .. "Usage: /item [ItemID/Name] <Amount>" )
+ return true
+ end
+
+ foundItem = false
+
+ ItemID = tonumber( Split[2] )
+ if( ItemID == nil or not isValidItem( ItemID ) ) then
+ -- nothing
+ else
+ foundItem = true
+ end
+
+ if not foundItem then
+ if ( HAVE_ITEM_NAMES == true ) then
+ itemValue = itemsINI:GetValueI('Items', ''..Split[2]..'', 0)
+ if itemValue ~= 0 then
+ ItemID = itemValue
+ if( ItemID == nil or not isValidItem( tonumber(itemValue) ) ) then
+ -- nothing
+ else
+ foundItem = true
+ end
+ end
+ end
+ end
+
+ if not foundItem then
+ Player:SendMessage( cChatColor.Green .. "Invalid Item ID / Name !" )
+ return true
+ end
+
+ local Amount = 1
+ if( #Split == 3 ) then
+ Amount = tonumber( Split[3] )
+ if( Amount == nil or Amount < 1 or Amount > 512 ) then
+ Player:SendMessage( cChatColor.Green .. "Invalid Amount !" )
+ return true
+ end
+ end
+
+ local NewItem = cItem( ItemID, Amount )
+ if( Player:GetInventory():AddItem( NewItem ) == true ) then
+ Player:SendMessage( cChatColor.Green .. "There you go !" )
+ LOG("Gave " .. Player:GetName() .. " " .. Amount .. " times " .. ItemID )
+ else
+ Player:SendMessage( cChatColor.Green .. "Not enough space in inventory !" )
+ end
+ return true
+end
+
+function HandleTPCommand( Split, Player )
+ if( #Split ~= 2 ) then
+ Player:SendMessage( cChatColor.Green .. "Usage: /tp [PlayerName]" )
+ return true
+ end
+ local World = cRoot:Get():GetWorld()
+ local OtherPlayer = World:GetPlayer( Split[2] )
+ if( OtherPlayer == nil ) then
+ Player:SendMessage( cChatColor.Green .. "Can't find player " .. Split[2] )
+ elseif( OtherPlayer == Player ) then
+ Player:SendMessage( cChatColor.Green .. "Already there :)" )
+ else
+ Player:TeleportTo( OtherPlayer )
+ Player:SendMessage( cChatColor.Green .. "You teleported to "..OtherPlayer:GetName().."!" )
+ OtherPlayer:SendMessage( cChatColor.Green .. Player:GetName().." teleported to you!" )
+ end
+ return true
+end
+
+function CorePlugin:OnPlayerJoin( Player )
+ ShowMOTDTo( Player )
+ return false
+end
+
+function CorePlugin:OnBlockPlace( Block, Player )
+
+ -- dont check if the direction is in the air
+ if Block.m_Direction ~= -1 then
+
+ local X = Block.m_PosX
+ local Y = Block.m_PosY
+ local Z = Block.m_PosZ
+ X, Y, Z = AddDirection( X, Y, Z, Block.m_Direction )
+ if( Y >= 128 or Y < 0 ) then
+ return true
+ end
+
+ local collision = false
+ local World = cRoot:Get():GetWorld()
+ local PlayerList = World:GetAllPlayers()
+
+ -- check if a player occupies the placement location
+ for i, Player in ipairs( PlayerList ) do
+
+ -- drop the decimals, we only care about the full block X,Y,Z
+ local PlayerX = math.floor(Player:GetPosX(), 0)
+ local PlayerY = math.floor(Player:GetPosY(), 0)
+ local PlayerZ = math.floor(Player:GetPosZ(), 0)
+
+ local BlockX = Block.m_PosX
+ local BlockY = Block.m_PosY
+ local BlockZ = Block.m_PosZ
+
+ -- player height is 2 blocks, so we check the position and then offset it up one
+ -- so they can't place a block on there face
+
+ if Block.m_Direction == 0 then if PlayerY == BlockY-2 and PlayerX == BlockX and PlayerZ == BlockZ then collision = true end end
+ if Block.m_Direction == 1 then if PlayerY == BlockY+1 and PlayerX == BlockX and PlayerZ == BlockZ then collision = true end end
+
+ if Block.m_Direction == 2 then if PlayerY == BlockY and PlayerX == BlockX and PlayerZ == BlockZ-1 then collision = true end end
+ if Block.m_Direction == 2 then if PlayerY+1 == BlockY and PlayerX == BlockX and PlayerZ == BlockZ-1 then collision = true end end
+
+ if Block.m_Direction == 3 then if PlayerY == BlockY and PlayerX == BlockX and PlayerZ == BlockZ+1 then collision = true end end
+ if Block.m_Direction == 3 then if PlayerY+1 == BlockY and PlayerX == BlockX and PlayerZ == BlockZ+1 then collision = true end end
+
+ if Block.m_Direction == 4 then if PlayerY == BlockY and PlayerX == BlockX-1 and PlayerZ == BlockZ then collision = true end end
+ if Block.m_Direction == 4 then if PlayerY+1 == BlockY and PlayerX == BlockX-1 and PlayerZ == BlockZ then collision = true end end
+
+ if Block.m_Direction == 5 then if PlayerY == BlockY and PlayerX == BlockX+1 and PlayerZ == BlockZ then collision = true end end
+ if Block.m_Direction == 5 then if PlayerY+1 == BlockY and PlayerX == BlockX+1 and PlayerZ == BlockZ then collision = true end end
+
+ end
+
+ if collision then
+ return true
+ else
+ return false
+ end
+
+ end
+
+ return false
+
+end
+
+function CorePlugin:OnKilled( Killed, Killer )
+ if( Killer == nil ) then
+ local KilledPlayer = tolua.cast( Killed, "cPlayer")
+ if( not KilledPlayer:IsA("cPlayer") or KilledPlayer == nil ) then
+ return false
+ end
+
+ local Server = cRoot:Get():GetServer()
+ Server:SendMessage( cChatColor.Red .. KilledPlayer:GetName() .. " died" )
+ else
+ local KilledPlayer = tolua.cast( Killed, "cPlayer")
+ if( not KilledPlayer:IsA("cPlayer") or KilledPlayer == nil ) then
+ return false
+ end
+ local KillerPlayer = tolua.cast( Killer, "cPlayer")
+ if( not KillerPlayer:IsA("cPlayer") or KillerPlayer == nil ) then
+ return false
+ end
+
+ local Server = cRoot:Get():GetServer()
+ Server:SendMessage( cChatColor.Red .. KilledPlayer:GetName() .. " was killed by " .. KillerPlayer:GetName() .. "!" )
+ end
+ return false
+end
+
+function CorePlugin:OnLogin( PacketData )
+ if( PacketData.m_Username ~= "" ) then
+ if( BannedPlayersIni:GetValueB("Banned", PacketData.m_Username, false) == true ) then
+ local Server = cRoot:Get():GetServer()
+ Server:SendMessage( PacketData.m_Username .. " tried to join, but is banned!" )
+ LOGINFO( PacketData.m_Username .. " tried to join, but is banned!")
+ return true -- Player is banned, return true to deny access
+ end
+ if( WhiteListIni:GetValueB("WhiteListSettings", "WhiteListOn", false ) == true ) then
+ if( WhiteListIni:GetValueB("WhiteList", PacketData.m_Username, false ) == false ) then -- not on whitelist
+ local Server = cRoot:Get():GetServer()
+ Server:SendMessage( PacketData.m_Username .. " tried to join, but is not on the whitelist." )
+ LOGINFO( PacketData.m_Username .. " tried to join, but is not on the whitelist." )
+ return true -- Deny access to the server
+ end
+ end
+ end
+
+ return false
+end
+
+Plugin = CorePlugin:new()
+cRoot:Get():GetPluginManager():AddPlugin( Plugin )
+
+------------------------------------------------
+-- Now some webadmin stuffs! --
+------------------------------------------------
+local PlayerListWeb = {}
+PlayerListWeb.__index = PlayerListWeb
+
+function PlayerListWeb:new()
+ local t = {}
+ setmetatable(t, PlayerListWeb)
+ local w = Lua__cWebPlugin:new()
+ tolua.setpeer(w, t)
+ w:tolua__set_instance(w)
+ return w
+end
+
+function PlayerListWeb:HandleRequest( Request )
+ local World = cRoot:Get():GetWorld()
+ local Content = ""
+ Content = Content .. "<br>Connected Players: <b>" .. World:GetNumPlayers() .. "</b><br>"
+ Content = Content .. "<ul>"
+
+ local PlayerList = World:GetAllPlayers()
+ for i, Player in ipairs( PlayerList ) do
+ Content = Content .. "<li>" .. Player:GetName()
+ end
+
+ Content = Content .. "</ul>"
+ return Content
+end
+
+WebPlugin = PlayerListWeb:new()
+WebPlugin:SetName("PlayerList")
+
+------------------------------------------------
+-- Reload web plugin --
+------------------------------------------------
+local ReloadWeb = {}
+ReloadWeb.__index = ReloadWeb
+
+function ReloadWeb:new()
+ local t = {}
+ setmetatable(t, ReloadWeb)
+ local w = Lua__cWebPlugin:new()
+ tolua.setpeer(w, t)
+ w:tolua__set_instance(w)
+ return w
+end
+
+function ReloadWeb:HandleRequest( Request )
+ local World = cRoot:Get():GetWorld()
+ local Content = ""
+
+ if( Request.Params:get("reload") ~= "" ) then
+ Content = Content .. "<head><meta http-equiv=\"refresh\" content=\"1;././\"></head>"
+ Content = Content .. "<br>Reloading plugins...<br>"
+ cRoot:Get():GetPluginManager():ReloadPlugins()
+ else
+ Content = Content .. "<br>Click the reload button to reload all plugins!<br>"
+ Content = Content .. "<form method=GET>"
+ Content = Content .. "<input type=\"submit\" name=\"reload\" value=\"Reload!\">"
+ Content = Content .. "</form>"
+ end
+ return Content
+end
+
+WebPlugin = ReloadWeb:new()
+WebPlugin:SetName("Reload")
+
+------------------------------------------------
+-- Whitelist web plugin --
+------------------------------------------------
+local WhiteListWeb = {}
+WhiteListWeb.__index = WhiteListWeb
+
+function WhiteListWeb:new()
+ local t = {}
+ setmetatable(t, WhiteListWeb)
+ local w = Lua__cWebPlugin:new()
+ tolua.setpeer(w, t)
+ w:tolua__set_instance(w)
+ return w
+end
+
+local function HTMLDeleteButton( name )
+ return "<form method=GET><input type=\"hidden\" name=\"whitelist-delete\" value=\"".. name .."\"><input type=\"submit\" value=\"Remove from whitelist\"></form>"
+end
+
+function WhiteListWeb:HandleRequest( Request )
+ local World = cRoot:Get():GetWorld()
+
+ local UpdateMessage = ""
+ if( Request.Params:get("whitelist-add") ~= "" ) then
+ local PlayerName = Request.Params:get("whitelist-add")
+
+ if( WhiteListIni:GetValueB("WhiteList", PlayerName, false) == true ) then
+ UpdateMessage = "<b>".. PlayerName.."</b> is already on the whitelist"
+ else
+ WhiteListIni:SetValueB("WhiteList", PlayerName, true )
+ UpdateMessage = "Added <b>" .. PlayerName .. "</b> to whitelist."
+ WhiteListIni:WriteFile()
+ end
+ elseif( Request.Params:get("whitelist-delete") ~= "" ) then
+ local PlayerName = Request.Params:get("whitelist-delete")
+ WhiteListIni:DeleteValue( "WhiteList", PlayerName )
+ UpdateMessage = "Removed <b>" .. PlayerName .. "</b> from whitelist."
+ WhiteListIni:WriteFile()
+ elseif( Request.Params:get("whitelist-reload") ~= "" ) then
+ WhiteListIni:Erase() -- Empty entire loaded ini first, otherwise weird shit goes down
+ WhiteListIni:ReadFile()
+ UpdateMessage = "Loaded from disk"
+ end
+
+
+ local Content = ""
+ Content = Content .. "<h4>Whitelisted players</h4>"
+ Content = Content .. "<table>"
+ local KeyNum = WhiteListIni:FindKey("WhiteList")
+ local NumValues = WhiteListIni:GetNumValues(KeyNum)
+ for Num = 0, NumValues-1 do
+ if( WhiteListIni:GetValue(KeyNum, Num, "0") == "1" ) then
+ local PlayerName = WhiteListIni:GetValueName(KeyNum, Num )
+ Content = Content .. "<tr><td>" .. PlayerName .. "</td><td>" .. HTMLDeleteButton( PlayerName ) .. "</td></tr>"
+ end
+ end
+ Content = Content .. "</table>"
+ Content = Content .. "<br><h4>Add player to whitelist</h4>"
+ Content = Content .. "<form method=\"GET\">"
+ Content = Content .. "<input type=\"text\" name=\"whitelist-add\"><input type=\"submit\" value=\"Add player\">"
+ Content = Content .. "</form>"
+ Content = Content .. "<form method=\"GET\">"
+ Content = Content .. "<input type=\"submit\" name=\"whitelist-reload\" value=\"Reload from disk\">"
+ Content = Content .. "</form>"
+ Content = Content .. "<br>"..UpdateMessage
+ return Content
+end
+
+WebPlugin = WhiteListWeb:new()
+WebPlugin:SetName("WhiteList")
\ No newline at end of file diff --git a/Plugins/Fire.lua b/Plugins/Fire.lua new file mode 100644 index 000000000..88bff84da --- /dev/null +++ b/Plugins/Fire.lua @@ -0,0 +1,149 @@ +local FirePlugin = {}
+FirePlugin.__index = FirePlugin
+
+FireBlocks = {}
+
+function FirePlugin:new()
+ local t = {}
+ setmetatable(t, FirePlugin)
+ local w = Lua__cPlugin:new()
+ tolua.setpeer(w, t)
+ w:tolua__set_instance(w)
+ return w
+end
+
+function IsForeverBurnable( BlockID )
+ if( BlockID == E_BLOCK_BLOODSTONE ) then
+ return true
+ end
+ return false
+end
+
+function IsBurnable( BlockID )
+ if( BlockID == E_BLOCK_LEAVES or BlockID == E_BLOCK_LOG ) then
+ return true
+ end
+
+ return false
+end
+
+function FindBurnableAround( X, Y, Z )
+ World = cRoot:Get():GetWorld()
+
+ ListBurnables = {}
+ if( IsBurnable( World:GetBlock(X-1, Y, Z) ) ) then
+ table.insert( ListBurnables, { ["x"] = X-1, ["y"] = Y, ["z"] = Z } )
+ end
+ if( IsBurnable( World:GetBlock(X+1, Y, Z) ) ) then
+ table.insert( ListBurnables, { ["x"] = X+1, ["y"] = Y, ["z"] = Z } )
+ end
+ if( IsBurnable( World:GetBlock(X, Y-1, Z) ) ) then
+ table.insert( ListBurnables, { ["x"] = X, ["y"] = Y-1, ["z"] = Z } )
+ end
+ if( IsBurnable( World:GetBlock(X, Y+1, Z) ) ) then
+ table.insert( ListBurnables, { ["x"] = X, ["y"] = Y+1, ["z"] = Z } )
+ end
+ if( IsBurnable( World:GetBlock(X, Y, Z-1) ) ) then
+ table.insert( ListBurnables, { ["x"] = X, ["y"] = Y, ["z"] = Z-1 } )
+ end
+ if( IsBurnable( World:GetBlock(X, Y, Z+1) ) ) then
+ table.insert( ListBurnables, { ["x"] = X, ["y"] = Y, ["z"] = Z+1 } )
+ end
+
+ return ListBurnables
+end
+
+function FirePlugin:OnDisable()
+ Log( self:GetName() .. " v." .. self:GetVersion() .. " is shutting down..." )
+end
+
+function FirePlugin:Initialize()
+ self:SetName( "Fire" )
+ self:SetVersion( 1 )
+
+ PluginManager = cRoot:Get():GetPluginManager()
+ PluginManager:AddHook( self, cPluginManager.E_PLUGIN_TICK )
+ PluginManager:AddHook( self, cPluginManager.E_PLUGIN_BLOCK_PLACE )
+ PluginManager:AddHook( self, cPluginManager.E_PLUGIN_BLOCK_DIG )
+
+ Log( "Initialized " .. self:GetName() .. " v." .. self:GetVersion() )
+ return true
+end
+
+function FirePlugin:OnBlockPlace( PacketData, Player )
+
+ if( PacketData.m_ItemType == E_BLOCK_FIRE or PacketData.m_ItemType == E_ITEM_FLINT_AND_STEEL ) then
+ if( PacketData.m_Direction > -1 ) then
+ local X = PacketData.m_PosX
+ local Y = PacketData.m_PosY
+ local Z = PacketData.m_PosZ
+
+ X, Y, Z = AddDirection( X, Y, Z, PacketData.m_Direction )
+
+ --Since flint and steel doesn't do anything on the server side yet
+ if( PacketData.m_ItemType == E_ITEM_FLINT_AND_STEEL ) then
+ local World = cRoot:Get():GetWorld()
+ World:SetBlock( X, Y, Z, E_BLOCK_FIRE, 0 )
+ end
+
+ if( not IsForeverBurnable( World:GetBlock( X, Y-1, Z ) ) ) then
+ table.insert( FireBlocks, { ["x"] = X, ["y"] = Y, ["z"] = Z } )
+ end
+ end
+ end
+
+ return false -- dont forbid placing the fire
+end
+
+-- To put out fires! :D
+function FirePlugin:OnBlockDig( PacketData, Player )
+ if( PacketData.m_Direction < 0 ) then
+ return false
+ end
+
+ local X = PacketData.m_PosX
+ local Y = PacketData.m_PosY
+ local Z = PacketData.m_PosZ
+
+ X, Y, Z = AddDirection( X, Y, Z, PacketData.m_Direction )
+
+ local World = cRoot:Get():GetWorld()
+ if( World:GetBlock( X, Y, Z ) == E_BLOCK_FIRE ) then
+ World:SetBlock( X, Y, Z, E_BLOCK_AIR, 0 )
+ end
+
+ return false
+end
+
+NumTicks = 0
+function FirePlugin:Tick( DeltaTime )
+ if( NumTicks < 10 ) then -- Only spread every 10 ticks, to make sure it doesnt happen too fast
+ NumTicks = NumTicks + 1
+ return
+ end
+ NumTicks = 0
+
+ World = cRoot:Get():GetWorld()
+
+ NewTable = {}
+ for key,val in pairs(FireBlocks) do
+ X = val["x"]
+ Y = val["y"]
+ Z = val["z"]
+ Burnables = FindBurnableAround(X, Y, Z)
+ if( math.random(10) > 5 ) then
+ table.insert( NewTable, val )
+ elseif( #Burnables > 0 ) then
+ ToBurn = Burnables[ math.random( #Burnables ) ]
+ World:SetBlock( ToBurn["x"], ToBurn["y"], ToBurn["z"], E_BLOCK_FIRE, 0 )
+ table.insert( NewTable, ToBurn )
+ table.insert( NewTable, val )
+ else
+ World:SetBlock( X, Y, Z, 0, 0 )
+ end
+ end
+ FireBlocks = NewTable
+end
+
+Plugin = FirePlugin:new()
+cRoot:Get():GetPluginManager():AddPlugin( Plugin )
diff --git a/Plugins/MagicCarpet.lua b/Plugins/MagicCarpet.lua new file mode 100644 index 000000000..69ccd0d5c --- /dev/null +++ b/Plugins/MagicCarpet.lua @@ -0,0 +1,169 @@ +-- Location object
+cLocation = {}
+function cLocation:new( x, y, z )
+ local object = { x = x, y = y, z = z }
+ setmetatable(object, { __index = cLocation })
+ return object
+end
+
+-- Offsets
+cFibers = { }
+function cFibers:new()
+ local object = {
+ cLocation:new( 2, -1, 2 ),
+ cLocation:new( 2, -1, 1 ),
+ cLocation:new( 2, -1, 0 ),
+ cLocation:new( 2, -1, -1 ),
+ cLocation:new( 2, -1, -2 ),
+ cLocation:new( 1, -1, 2 ),
+ cLocation:new( 1, -1, 1 ),
+ cLocation:new( 1, -1, 0 ),
+ cLocation:new( 1, -1, -1 ),
+ cLocation:new( 1, -1, -2 ),
+ cLocation:new( 0, -1, 2 ),
+ cLocation:new( 0, -1, 1 ),
+ cLocation:new( 0, -1, 0 ),
+ cLocation:new( 0, -1, -1 ),
+ cLocation:new( 0, -1, -2 ),
+ cLocation:new( -1, -1, 2 ),
+ cLocation:new( -1, -1, 1 ),
+ cLocation:new( -1, -1, 0 ),
+ cLocation:new( -1, -1, -1 ),
+ cLocation:new( -1, -1, -2 ),
+ cLocation:new( -2, -1, 2 ),
+ cLocation:new( -2, -1, 1 ),
+ cLocation:new( -2, -1, 0 ),
+ cLocation:new( -2, -1, -1 ),
+ cLocation:new( -2, -1, -2 ),
+ imadeit = false,
+ }
+ setmetatable(object, { __index = cFibers })
+ return object;
+end
+
+-- Carpet object
+cCarpet = {}
+function cCarpet:new()
+ local object = { Location = cLocation:new(0,0,0),
+ Fibers = cFibers:new(),
+ }
+ setmetatable(object, { __index = cCarpet })
+ return object
+end
+
+function cCarpet:remove()
+ local World = cRoot:Get():GetWorld()
+ for i, fib in ipairs( self.Fibers ) do
+ local x = self.Location.x + fib.x
+ local y = self.Location.y + fib.y
+ local z = self.Location.z + fib.z
+ local BlockID = World:GetBlock( x, y, z )
+ if( fib.imadeit == true and BlockID == E_BLOCK_GLASS ) then
+ World:SetBlock( x, y, z, 0, 0 )
+ fib.imadeit = false
+ end
+ end
+end
+
+function cCarpet:draw()
+ local World = cRoot:Get():GetWorld()
+ for i, fib in ipairs( self.Fibers ) do
+ local x = self.Location.x + fib.x
+ local y = self.Location.y + fib.y
+ local z = self.Location.z + fib.z
+ local BlockID = World:GetBlock( x, y, z )
+ if( BlockID == 0 ) then
+ fib.imadeit = true
+ World:SetBlock( x, y, z, E_BLOCK_GLASS, 0 )
+ else
+ fib.imadeit = false
+ end
+ end
+end
+
+function cCarpet:moveTo( NewPos )
+ local x = math.floor( NewPos.x )
+ local y = math.floor( NewPos.y )
+ local z = math.floor( NewPos.z )
+ if( self.Location.x ~= x or self.Location.y ~= y or self.Location.z ~= z ) then
+ self:remove()
+ self.Location = cLocation:new( x, y, z )
+ self:draw()
+ end
+end
+
+
+MagicCarpetPlugin = {}
+MagicCarpetPlugin.__index = MagicCarpetPlugin
+
+function MagicCarpetPlugin:new()
+ local t = {}
+ setmetatable(t, MagicCarpetPlugin)
+ local w = Lua__cPlugin:new()
+ tolua.setpeer(w, t)
+ w:tolua__set_instance(w)
+ return w
+end
+
+function MagicCarpetPlugin:Initialize()
+ self:SetName( "MagicCarpet" )
+ self:SetVersion( 1 )
+
+ PluginManager = cRoot:Get():GetPluginManager()
+ PluginManager:AddHook( self, cPluginManager.E_PLUGIN_PLAYER_MOVE)
+ PluginManager:AddHook( self, cPluginManager.E_PLUGIN_DISCONNECT)
+
+ self:AddCommand("/mc", " - Spawns a magical carpet!", "magiccarpet")
+ self:BindCommand( "/mc", "magiccarpet", HandleCarpetCommand )
+
+ self.Carpets = {}
+
+ Log( "Initialized " .. self:GetName() .. " v." .. self:GetVersion() )
+ return true
+end
+
+function MagicCarpetPlugin:OnDisable()
+ Log( self:GetName() .. " v." .. self:GetVersion() .. " is shutting down..." )
+ for i, Carpet in pairs( self.Carpets ) do
+ Carpet:remove()
+ end
+end
+
+function HandleCarpetCommand( Split, Player )
+ Carpet = self.Carpets[ Player ]
+ if( Carpet == nil ) then
+ self.Carpets[ Player ] = cCarpet:new()
+ Player:SendMessage("You're on a magic carpet!" )
+ else
+ Carpet:remove()
+ self.Carpets[ Player ] = nil
+ Player:SendMessage("The carpet vanished!" )
+ end
+
+ return true
+end
+
+function MagicCarpetPlugin:OnDisconnect( Reason, Player )
+ local Carpet = self.Carpets[ Player ]
+ if( Carpet ~= nil ) then
+ Carpet:remove()
+ end
+ self.Carpets[ Player ] = nil
+end
+
+function MagicCarpetPlugin:OnPlayerMove( Player )
+ local Carpet = self.Carpets[ Player ]
+ if( Carpet == nil ) then
+ return
+ end
+
+ if( Player:GetPitch() == 90 ) then
+ Carpet:moveTo( cLocation:new( Player:GetPosX(), Player:GetPosY()-1, Player:GetPosZ() ) )
+ else
+ Carpet:moveTo( cLocation:new( Player:GetPosX(), Player:GetPosY(), Player:GetPosZ() ) )
+ end
+end
+
+Plugin = MagicCarpetPlugin:new()
+cRoot:Get():GetPluginManager():AddPlugin( Plugin )
+
diff --git a/clean.bat b/clean.bat new file mode 100644 index 000000000..31ed6cc9a --- /dev/null +++ b/clean.bat @@ -0,0 +1,21 @@ +del *.ncb
+del *.ilk
+del *.lib
+del *.exp
+del *.map
+del *.pdb
+del MCServer.exe
+del MCServer_debug.exe
+del log.txt
+del *.bsc
+del applog.txt
+del *.suo /AH
+del *.user
+del debug\*.* /Q
+del release\*.* /Q
+rd release /Q
+rd debug /Q
+
+cd VC2010
+call clean.bat
+cd ..
\ No newline at end of file diff --git a/furnace.txt b/furnace.txt new file mode 100644 index 000000000..c8e3cd0c7 --- /dev/null +++ b/furnace.txt @@ -0,0 +1,64 @@ +#**************************
+# Default Furnace Recipes #
+#*************************#
+#
+#
+#******************************************************#
+# Basic Notation Help
+#******************************************************#
+#
+# **** Item Definition ****
+# An Item is defined by an Item ID, an amount (and health)
+# The health is optional, and if not specified it's
+# assumed to be 0
+#
+# -Cactus Green:
+# 351 : 1 ( : 2 )
+# ItemID : Amount ( : Health )
+#
+#
+# **** Recipe and result ****
+#
+# 4:1@10000=1:1 -> Produces 1 smooth stone from
+# 1 cobblestone in 10 second
+#
+# 4 : 1 @ 10000 = 1 : 1
+# ItemID : Amount @ milliseconds = ItemID : Amount
+#
+# **** Burnable Materials / Fuel ****
+#
+# !17:1=15000 -> 1 Wood burns for 15000 milliseconds
+# (15 s)
+#
+# ! 17 : 1 = 15000
+# Fuel ItemID : Amount = milliseconds
+#
+#******************************************************#
+
+#--------------------------
+# Let's get cookin' :D
+
+4:1 @10000=1:1 #-> 1 Cobblestone -> 1 Rock
+15:1 @10000=265:1 #-> 1 Iron Ore -> 1 Iron Ingot
+14:1 @10000=266:1 #-> 1 Gold Ore -> 1 Gold Ingot
+12:1 @10000=20:1 #-> 1 Sand -> 1 Glass
+319:1@10000=320:1 #-> 1 Raw Pork -> 1 Cooked Pork
+337:1@10000=336:1 #-> 1 Clay -> 1 Clay Brick
+349:1@10000=350:1 #-> 1 Raw Fish -> 1 Cooked Fish
+17:1 @10000=263:1 #-> 1 Wood -> 1 Charcoal
+81:1 @10000=351:1:2 #-> 1 Cactus -> 1 Dye
+
+#--------------------------
+# Burn baby! Buuurn!
+
+!263:1 = 80000 #-> 1 Charcoal -> 80 sec
+!5:1 = 15000 #-> 1 Planks -> 15 sec
+!280:1 = 5000 #-> 1 Stick -> 5 sec
+!85:1 = 15000 #-> 1 Fence -> 15 sec
+!53:1 = 15000 #-> 1 Wooden Stairs -> 15 sec
+!58:1 = 15000 #-> 1 Crafting Table -> 15 sec
+!47:1 = 15000 #-> 1 Bookshelf -> 15 sec
+!54:1 = 15000 #-> 1 Chest -> 15 sec
+!84:1 = 15000 #-> 1 Jukebox -> 15 sec
+!327:1 = 1000000 #-> 1 Lava Bucket -> 1000 sec
+!17:1 = 15000 #-> 1 Wood -> 15 sec
\ No newline at end of file diff --git a/groups.ini b/groups.ini new file mode 100644 index 000000000..2f03bc229 --- /dev/null +++ b/groups.ini @@ -0,0 +1,17 @@ +[Admins]
+Permissions=*
+Color=c
+
+[Mods]
+Color=5
+Inherits=Vips
+Permissions=core.time,core.item
+
+[Vips]
+Permissions=core.teleport
+Color=2
+Inherits=Default
+
+[Default]
+Permissions=core.help,core.playerlist,core.pluginlist,core.spawn
+Color=7
diff --git a/items.ini b/items.ini new file mode 100644 index 000000000..393c5ef77 --- /dev/null +++ b/items.ini @@ -0,0 +1,213 @@ +[Items]
+rock=1
+stone=1
+grass=2
+dirt=3
+cobblestone=4
+cobble=4
+wood=5
+sapling=6
+adminium=7
+bedrock=7
+water=8
+stillwater=9
+swater=9
+lava=10
+stilllava=11
+slava=11
+sand=12
+gravel=13
+goldore=14
+ironore=15
+coalore=16
+tree=17
+log=17
+leaves=18
+sponge=19
+glass=20
+cloth=35
+flower=37
+rose=38
+brownmushroom=39
+redmushroom=40
+gold=41
+goldblock=41
+iron=42
+ironblock=42
+doublestair=43
+stair=44
+step=44
+brickblock=45
+brickwall=45
+tnt=46
+bookshelf=47
+bookcase=47
+mossycobblestone=48
+mossy=48
+obsidian=49
+torch=50
+fire=51
+mobspawner=52
+woodstairs=53
+chest=54
+redstonedust=55
+redstonewire=55
+diamondore=56
+diamondblock=57
+workbench=58
+crop=59
+crops=59
+soil=60
+furnace=61
+litfurnace=62
+signblock=63
+wooddoorblock=64
+ladder=65
+rails=66
+rail=66
+track=66
+tracks=66
+cobblestonestairs=67
+stairs=67
+signblocktop=68
+wallsign=68
+lever=69
+rockplate=70
+stoneplate=70
+irondoorblock=71
+woodplate=72
+redstoneore=73
+redstoneorealt=74
+redstonetorchoff=75
+redstonetorchon=76
+button=77
+snow=78
+ice=79
+snowblock=80
+cactus=81
+clayblock=82
+reedblock=83
+jukebox=84
+fence=85
+pumpkin=86
+netherstone=87
+slowsand=88
+lightstone=89
+portal=90
+jackolantern=91
+jacko=91
+ironshovel=256
+ironspade=256
+ironpickaxe=257
+ironpick=257
+ironaxe=258
+flintandsteel=259
+lighter=259
+apple=260
+bow=261
+arrow=262
+coal=263
+diamond=264
+ironbar=265
+goldbar=266
+ironsword=267
+woodsword=268
+woodshovel=269
+woodspade=269
+woodpickaxe=270
+woodpick=270
+woodaxe=271
+stonesword=272
+stoneshovel=273
+stonespade=273
+stonepickaxe=274
+stonepick=274
+stoneaxe=275
+diamondsword=276
+diamondshovel=277
+diamondspade=277
+diamondpickaxe=278
+diamondpick=278
+diamondaxe=279
+stick=280
+bowl=281
+bowlwithsoup=282
+soupbowl=282
+soup=282
+goldsword=283
+goldshovel=284
+goldspade=284
+goldpickaxe=285
+goldpick=285
+goldaxe=286
+string=287
+feather=288
+gunpowder=289
+woodhoe=290
+stonehoe=291
+ironhoe=292
+diamondhoe=293
+goldhoe=294
+seeds=295
+wheat=296
+bread=297
+leatherhelmet=298
+leatherchestplate=299
+leatherpants=300
+leatherboots=301
+chainmailhelmet=302
+chainmailchestplate=303
+chainmailpants=304
+chainmailboots=305
+ironhelmet=306
+ironchestplate=307
+ironpants=308
+ironboots=309
+diamondhelmet=310
+diamondchestplate=311
+diamondpants=312
+diamondboots=313
+goldhelmet=314
+goldchestplate=315
+goldpants=316
+goldboots=317
+flint=318
+meat=319
+pork=319
+cookedmeat=320
+cookedpork=320
+painting=321
+paintings=321
+goldenapple=322
+sign=323
+wooddoor=324
+bucket=325
+waterbucket=326
+lavabucket=327
+minecart=328
+saddle=329
+irondoor=330
+redstonedust=331
+snowball=332
+boat=333
+leather=334
+milkbucket=335
+brick=336
+clay=337
+reed=338
+paper=339
+book=340
+slimeorb=341
+storageminecart=342
+poweredminecart=343
+egg=344
+compass=345
+fishingrod=346
+watch=347
+lightstonedust=348
+lightdust=348
+rawfish=349
+fish=349
+cookedfish=350
+goldrecord=2256
+greenrecord=2257
\ No newline at end of file diff --git a/makefile b/makefile new file mode 100644 index 000000000..793221a62 --- /dev/null +++ b/makefile @@ -0,0 +1,1108 @@ +################################################### +# +# Makefile for MCServer +# Creator [Xcode -> Makefile Ver: Feb 14 2007 09:18:41] +# Created: [Thu Feb 24 19:53:17 2011] +# +################################################### + +# +# Macros +# + +CC = /usr/bin/g++ +CC_OPTIONS = -O2 -s +CCE_OPTIONS = -O2 -s -x c +LNK_OPTIONS = -lstdc++ -pthread + + +# +# INCLUDE directories for MCServer +# + +INCLUDE = -I.\ + -Isource\ + -Isource/md5\ + -IWebServer\ + -Isource/packets\ + -Itolua++-1.0.93/src/lib\ + -Ilua-5.1.4/src\ + -Izlib-1.2.5\ + -IiniFile\ + -Itolua++-1.0.93/include\ + -Ijsoncpp-src-0.5.0/include\ + -Ijsoncpp-src-0.5.0/src/lib_json + + +# +# Build MCServer +# + +MCServer : \ + build/json_reader.o\ + build/json_value.o\ + build/json_writer.o\ + build/cMakeDir.o\ + build/cGenSettings.o\ + build/cCuboid.o\ + build/cNoise.o\ + build/cPacket_WindowClick.o\ + build/cPacket_Login.o\ + build/cPacket_Chat.o\ + build/cTimer.o\ + build/cSleep.o\ + build/cPacket_Metadata.o\ + build/cMonsterConfig.o\ + build/cSpider.o\ + build/cThread.o\ + build/cBlockingTCPLink.o\ + build/cAuthenticator.o\ + build/cLuaCommandBinder.o\ + build/cChicken.o\ + build/md5.o\ + build/cReferenceManager.o\ + build/Bindings.o\ + build/cBlockToPickup.o\ + build/cChatColor.o\ + build/cChestEntity.o\ + build/cChunk.o\ + build/cChunkMap.o\ + build/cClientHandle.o\ + build/cCraftingWindow.o\ + build/cCriticalSection.o\ + build/cEntity.o\ + build/cEvent.o\ + build/cFurnaceEntity.o\ + build/cFurnaceRecipe.o\ + build/cFurnaceWindow.o\ + build/cGroup.o\ + build/cGroupManager.o\ + build/cInventory.o\ + build/cLog.o\ + build/cMonster.o\ + build/cPawn.o\ + build/cPickup.o\ + build/cPlayer.o\ + build/cPlugin_Lua.o\ + build/cPlugin.o\ + build/cPluginManager.o\ + build/cRecipeChecker.o\ + build/cRoot.o\ + build/cSemaphore.o\ + build/cServer.o\ + build/cSignEntity.o\ + build/cStringMap.o\ + build/cWebAdmin.o\ + build/cWebPlugin.o\ + build/cWindow.o\ + build/cWorld.o\ + build/main.o\ + build/ManualBindings.o\ + build/Matrix4f.o\ + build/PacketHeader.o\ + build/Vector3d.o\ + build/Vector3f.o\ + build/Vector3i.o\ + build/cHeartBeat.o\ + build/cTCPLink.o\ + build/cMCLogger.o\ + build/cTracer.o\ + build/cPacket_DestroyEntity.o\ + build/cPacket_EntityLook.o\ + build/cPacket_NamedEntitySpawn.o\ + build/cPacket_PlayerPosition.o\ + build/cPacket_RelativeEntityMove.o\ + build/cPacket_RelativeEntityMoveLook.o\ + build/cPacket_Respawn.o\ + build/cPacket_SpawnMob.o\ + build/cPacket_TeleportEntity.o\ + build/cPacket_UpdateHealth.o\ + build/cPacket.o\ + build/base64.o\ + build/Socket.o\ + build/StdHelpers.o\ + build/UrlHelper.o\ + build/WebServer.o\ + build/tolua_event.o\ + build/tolua_is.o\ + build/tolua_map.o\ + build/tolua_push.o\ + build/tolua_to.o\ + build/lapi.o\ + build/lauxlib.o\ + build/lbaselib.o\ + build/lcode.o\ + build/ldblib.o\ + build/ldebug.o\ + build/ldo.o\ + build/ldump.o\ + build/lfunc.o\ + build/lgc.o\ + build/linit.o\ + build/liolib.o\ + build/llex.o\ + build/lmathlib.o\ + build/lmem.o\ + build/loadlib.o\ + build/lobject.o\ + build/lopcodes.o\ + build/loslib.o\ + build/lparser.o\ + build/lstate.o\ + build/lstring.o\ + build/lstrlib.o\ + build/ltable.o\ + build/ltablib.o\ + build/ltm.o\ + build/luac.o\ + build/lundump.o\ + build/lvm.o\ + build/lzio.o\ + build/print.o\ + build/adler32.o\ + build/compress.o\ + build/crc32.o\ + build/deflate.o\ + build/gzclose.o\ + build/gzlib.o\ + build/gzread.o\ + build/gzwrite.o\ + build/infback.o\ + build/inffast.o\ + build/inflate.o\ + build/inftrees.o\ + build/trees.o\ + build/uncompr.o\ + build/zutil.o\ + build/iniFile.o + $(CC) $(LNK_OPTIONS) \ + build/json_reader.o\ + build/json_value.o\ + build/json_writer.o\ + build/cMakeDir.o\ + build/cGenSettings.o\ + build/cCuboid.o\ + build/cNoise.o\ + build/cPacket_WindowClick.o\ + build/cPacket_Login.o\ + build/cPacket_Chat.o\ + build/cTimer.o\ + build/cSleep.o\ + build/cPacket_Metadata.o\ + build/cMonsterConfig.o\ + build/cSpider.o\ + build/cThread.o\ + build/cBlockingTCPLink.o\ + build/cAuthenticator.o\ + build/cLuaCommandBinder.o\ + build/cChicken.o\ + build/md5.o\ + build/cReferenceManager.o\ + build/Bindings.o\ + build/cBlockToPickup.o\ + build/cChatColor.o\ + build/cChestEntity.o\ + build/cChunk.o\ + build/cChunkMap.o\ + build/cClientHandle.o\ + build/cCraftingWindow.o\ + build/cCriticalSection.o\ + build/cEntity.o\ + build/cEvent.o\ + build/cFurnaceEntity.o\ + build/cFurnaceRecipe.o\ + build/cFurnaceWindow.o\ + build/cGroup.o\ + build/cGroupManager.o\ + build/cInventory.o\ + build/cLog.o\ + build/cMonster.o\ + build/cPawn.o\ + build/cPickup.o\ + build/cPlayer.o\ + build/cPlugin_Lua.o\ + build/cPlugin.o\ + build/cPluginManager.o\ + build/cRecipeChecker.o\ + build/cRoot.o\ + build/cSemaphore.o\ + build/cServer.o\ + build/cSignEntity.o\ + build/cStringMap.o\ + build/cWebAdmin.o\ + build/cWebPlugin.o\ + build/cWindow.o\ + build/cWorld.o\ + build/main.o\ + build/ManualBindings.o\ + build/Matrix4f.o\ + build/PacketHeader.o\ + build/Vector3d.o\ + build/Vector3f.o\ + build/Vector3i.o\ + build/cHeartBeat.o\ + build/cTCPLink.o\ + build/cMCLogger.o\ + build/cTracer.o\ + build/cPacket_DestroyEntity.o\ + build/cPacket_EntityLook.o\ + build/cPacket_NamedEntitySpawn.o\ + build/cPacket_PlayerPosition.o\ + build/cPacket_RelativeEntityMove.o\ + build/cPacket_RelativeEntityMoveLook.o\ + build/cPacket_Respawn.o\ + build/cPacket_SpawnMob.o\ + build/cPacket_TeleportEntity.o\ + build/cPacket_UpdateHealth.o\ + build/cPacket.o\ + build/base64.o\ + build/Socket.o\ + build/StdHelpers.o\ + build/UrlHelper.o\ + build/WebServer.o\ + build/tolua_event.o\ + build/tolua_is.o\ + build/tolua_map.o\ + build/tolua_push.o\ + build/tolua_to.o\ + build/lapi.o\ + build/lauxlib.o\ + build/lbaselib.o\ + build/lcode.o\ + build/ldblib.o\ + build/ldebug.o\ + build/ldo.o\ + build/ldump.o\ + build/lfunc.o\ + build/lgc.o\ + build/linit.o\ + build/liolib.o\ + build/llex.o\ + build/lmathlib.o\ + build/lmem.o\ + build/loadlib.o\ + build/lobject.o\ + build/lopcodes.o\ + build/loslib.o\ + build/lparser.o\ + build/lstate.o\ + build/lstring.o\ + build/lstrlib.o\ + build/ltable.o\ + build/ltablib.o\ + build/ltm.o\ + build/luac.o\ + build/lundump.o\ + build/lvm.o\ + build/lzio.o\ + build/print.o\ + build/adler32.o\ + build/compress.o\ + build/crc32.o\ + build/deflate.o\ + build/gzclose.o\ + build/gzlib.o\ + build/gzread.o\ + build/gzwrite.o\ + build/infback.o\ + build/inffast.o\ + build/inflate.o\ + build/inftrees.o\ + build/trees.o\ + build/uncompr.o\ + build/zutil.o\ + build/iniFile.o\ + -o MCServer + +clean : + rm \ + build/json_reader.o\ + build/json_value.o\ + build/json_writer.o\ + build/cMakeDir.o\ + build/cGenSettings.o\ + build/cCuboid.o\ + build/cNoise.o\ + build/cPacket_WindowClick.o\ + build/cPacket_Login.o\ + build/cPacket_Chat.o\ + build/cTimer.o\ + build/cSleep.o\ + build/cPacket_Metadata.o\ + build/cMonsterConfig.o\ + build/cSpider.o\ + build/cThread.o\ + build/cBlockingTCPLink.o\ + build/cAuthenticator.o\ + build/cLuaCommandBinder.o\ + build/cChicken.o\ + build/md5.o\ + build/cReferenceManager.o\ + build/Bindings.o\ + build/cBlockToPickup.o\ + build/cChatColor.o\ + build/cChestEntity.o\ + build/cChunk.o\ + build/cChunkMap.o\ + build/cClientHandle.o\ + build/cCraftingWindow.o\ + build/cCriticalSection.o\ + build/cEntity.o\ + build/cEvent.o\ + build/cFurnaceEntity.o\ + build/cFurnaceRecipe.o\ + build/cFurnaceWindow.o\ + build/cGroup.o\ + build/cGroupManager.o\ + build/cInventory.o\ + build/cLog.o\ + build/cMonster.o\ + build/cPawn.o\ + build/cPickup.o\ + build/cPlayer.o\ + build/cPlugin_Lua.o\ + build/cPlugin.o\ + build/cPluginManager.o\ + build/cRecipeChecker.o\ + build/cRoot.o\ + build/cSemaphore.o\ + build/cServer.o\ + build/cSignEntity.o\ + build/cStringMap.o\ + build/cWebAdmin.o\ + build/cWebPlugin.o\ + build/cWindow.o\ + build/cWorld.o\ + build/main.o\ + build/ManualBindings.o\ + build/Matrix4f.o\ + build/PacketHeader.o\ + build/Vector3d.o\ + build/Vector3f.o\ + build/Vector3i.o\ + build/cHeartBeat.o\ + build/cTCPLink.o\ + build/cMCLogger.o\ + build/cTracer.o\ + build/cPacket_DestroyEntity.o\ + build/cPacket_EntityLook.o\ + build/cPacket_NamedEntitySpawn.o\ + build/cPacket_PlayerPosition.o\ + build/cPacket_RelativeEntityMove.o\ + build/cPacket_RelativeEntityMoveLook.o\ + build/cPacket_Respawn.o\ + build/cPacket_SpawnMob.o\ + build/cPacket_TeleportEntity.o\ + build/cPacket_UpdateHealth.o\ + build/cPacket.o\ + build/base64.o\ + build/Socket.o\ + build/StdHelpers.o\ + build/UrlHelper.o\ + build/WebServer.o\ + build/tolua_event.o\ + build/tolua_is.o\ + build/tolua_map.o\ + build/tolua_push.o\ + build/tolua_to.o\ + build/lapi.o\ + build/lauxlib.o\ + build/lbaselib.o\ + build/lcode.o\ + build/ldblib.o\ + build/ldebug.o\ + build/ldo.o\ + build/ldump.o\ + build/lfunc.o\ + build/lgc.o\ + build/linit.o\ + build/liolib.o\ + build/llex.o\ + build/lmathlib.o\ + build/lmem.o\ + build/loadlib.o\ + build/lobject.o\ + build/lopcodes.o\ + build/loslib.o\ + build/lparser.o\ + build/lstate.o\ + build/lstring.o\ + build/lstrlib.o\ + build/ltable.o\ + build/ltablib.o\ + build/ltm.o\ + build/luac.o\ + build/lundump.o\ + build/lvm.o\ + build/lzio.o\ + build/print.o\ + build/adler32.o\ + build/compress.o\ + build/crc32.o\ + build/deflate.o\ + build/gzclose.o\ + build/gzlib.o\ + build/gzread.o\ + build/gzwrite.o\ + build/infback.o\ + build/inffast.o\ + build/inflate.o\ + build/inftrees.o\ + build/trees.o\ + build/uncompr.o\ + build/zutil.o\ + build/iniFile.o\ + MCServer + +install : MCServer + cp MCServer MCServer + +# +# Build the parts of MCServer +# + + +# Item # 1 -- cLuaCommandBinder -- +build/cLuaCommandBinder.o : source/cLuaCommandBinder.cpp + $(CC) $(CC_OPTIONS) source/cLuaCommandBinder.cpp -c $(INCLUDE) -o build/cLuaCommandBinder.o + + +# Item # 2 -- cChicken -- +build/cChicken.o : source/cChicken.cpp + $(CC) $(CC_OPTIONS) source/cChicken.cpp -c $(INCLUDE) -o build/cChicken.o + + +# Item # 3 -- md5 -- +build/md5.o : source/md5/md5.cpp + $(CC) $(CC_OPTIONS) source/md5/md5.cpp -c $(INCLUDE) -o build/md5.o + + +# Item # 4 -- cReferenceManager -- +build/cReferenceManager.o : source/cReferenceManager.cpp + $(CC) $(CC_OPTIONS) source/cReferenceManager.cpp -c $(INCLUDE) -o build/cReferenceManager.o + + +# Item # 5 -- Bindings -- +build/Bindings.o : source/Bindings.cpp + $(CC) $(CC_OPTIONS) source/Bindings.cpp -c $(INCLUDE) -o build/Bindings.o + + +# Item # 6 -- cBlockToPickup -- +build/cBlockToPickup.o : source/cBlockToPickup.cpp + $(CC) $(CC_OPTIONS) source/cBlockToPickup.cpp -c $(INCLUDE) -o build/cBlockToPickup.o + + +# Item # 7 -- cChatColor -- +build/cChatColor.o : source/cChatColor.cpp + $(CC) $(CC_OPTIONS) source/cChatColor.cpp -c $(INCLUDE) -o build/cChatColor.o + + +# Item # 8 -- cChestEntity -- +build/cChestEntity.o : source/cChestEntity.cpp + $(CC) $(CC_OPTIONS) source/cChestEntity.cpp -c $(INCLUDE) -o build/cChestEntity.o + + +# Item # 9 -- cChunk -- +build/cChunk.o : source/cChunk.cpp + $(CC) $(CC_OPTIONS) source/cChunk.cpp -c $(INCLUDE) -o build/cChunk.o + + +# Item # 10 -- cChunkMap -- +build/cChunkMap.o : source/cChunkMap.cpp + $(CC) $(CC_OPTIONS) source/cChunkMap.cpp -c $(INCLUDE) -o build/cChunkMap.o + + +# Item # 11 -- cClientHandle -- +build/cClientHandle.o : source/cClientHandle.cpp + $(CC) $(CC_OPTIONS) source/cClientHandle.cpp -c $(INCLUDE) -o build/cClientHandle.o + + +# Item # 12 -- cCraftingWindow -- +build/cCraftingWindow.o : source/cCraftingWindow.cpp + $(CC) $(CC_OPTIONS) source/cCraftingWindow.cpp -c $(INCLUDE) -o build/cCraftingWindow.o + + +# Item # 13 -- cCriticalSection -- +build/cCriticalSection.o : source/cCriticalSection.cpp + $(CC) $(CC_OPTIONS) source/cCriticalSection.cpp -c $(INCLUDE) -o build/cCriticalSection.o + + +# Item # 14 -- cEntity -- +build/cEntity.o : source/cEntity.cpp + $(CC) $(CC_OPTIONS) source/cEntity.cpp -c $(INCLUDE) -o build/cEntity.o + + +# Item # 15 -- cEvent -- +build/cEvent.o : source/cEvent.cpp + $(CC) $(CC_OPTIONS) source/cEvent.cpp -c $(INCLUDE) -o build/cEvent.o + + +# Item # 16 -- cFurnaceEntity -- +build/cFurnaceEntity.o : source/cFurnaceEntity.cpp + $(CC) $(CC_OPTIONS) source/cFurnaceEntity.cpp -c $(INCLUDE) -o build/cFurnaceEntity.o + + +# Item # 17 -- cFurnaceRecipe -- +build/cFurnaceRecipe.o : source/cFurnaceRecipe.cpp + $(CC) $(CC_OPTIONS) source/cFurnaceRecipe.cpp -c $(INCLUDE) -o build/cFurnaceRecipe.o + + +# Item # 18 -- cFurnaceWindow -- +build/cFurnaceWindow.o : source/cFurnaceWindow.cpp + $(CC) $(CC_OPTIONS) source/cFurnaceWindow.cpp -c $(INCLUDE) -o build/cFurnaceWindow.o + + +# Item # 19 -- cGroup -- +build/cGroup.o : source/cGroup.cpp + $(CC) $(CC_OPTIONS) source/cGroup.cpp -c $(INCLUDE) -o build/cGroup.o + + +# Item # 20 -- cGroupManager -- +build/cGroupManager.o : source/cGroupManager.cpp + $(CC) $(CC_OPTIONS) source/cGroupManager.cpp -c $(INCLUDE) -o build/cGroupManager.o + + +# Item # 21 -- cInventory -- +build/cInventory.o : source/cInventory.cpp + $(CC) $(CC_OPTIONS) source/cInventory.cpp -c $(INCLUDE) -o build/cInventory.o + + +# Item # 22 -- cLog -- +build/cLog.o : source/cLog.cpp + $(CC) $(CC_OPTIONS) source/cLog.cpp -c $(INCLUDE) -o build/cLog.o + + +# Item # 23 -- cMonster -- +build/cMonster.o : source/cMonster.cpp + $(CC) $(CC_OPTIONS) source/cMonster.cpp -c $(INCLUDE) -o build/cMonster.o + + +# Item # 25 -- cPawn -- +build/cPawn.o : source/cPawn.cpp + $(CC) $(CC_OPTIONS) source/cPawn.cpp -c $(INCLUDE) -o build/cPawn.o + + +# Item # 26 -- cPickup -- +build/cPickup.o : source/cPickup.cpp + $(CC) $(CC_OPTIONS) source/cPickup.cpp -c $(INCLUDE) -o build/cPickup.o + + +# Item # 27 -- cPlayer -- +build/cPlayer.o : source/cPlayer.cpp + $(CC) $(CC_OPTIONS) source/cPlayer.cpp -c $(INCLUDE) -o build/cPlayer.o + + +# Item # 28 -- cPlugin_Lua -- +build/cPlugin_Lua.o : source/cPlugin_Lua.cpp + $(CC) $(CC_OPTIONS) source/cPlugin_Lua.cpp -c $(INCLUDE) -o build/cPlugin_Lua.o + + +# Item # 29 -- cPlugin -- +build/cPlugin.o : source/cPlugin.cpp + $(CC) $(CC_OPTIONS) source/cPlugin.cpp -c $(INCLUDE) -o build/cPlugin.o + + +# Item # 30 -- cPluginManager -- +build/cPluginManager.o : source/cPluginManager.cpp + $(CC) $(CC_OPTIONS) source/cPluginManager.cpp -c $(INCLUDE) -o build/cPluginManager.o + + +# Item # 31 -- cRecipeChecker -- +build/cRecipeChecker.o : source/cRecipeChecker.cpp + $(CC) $(CC_OPTIONS) source/cRecipeChecker.cpp -c $(INCLUDE) -o build/cRecipeChecker.o + + +# Item # 32 -- cRoot -- +build/cRoot.o : source/cRoot.cpp + $(CC) $(CC_OPTIONS) source/cRoot.cpp -c $(INCLUDE) -o build/cRoot.o + + +# Item # 33 -- cSemaphore -- +build/cSemaphore.o : source/cSemaphore.cpp + $(CC) $(CC_OPTIONS) source/cSemaphore.cpp -c $(INCLUDE) -o build/cSemaphore.o + + +# Item # 34 -- cServer -- +build/cServer.o : source/cServer.cpp + $(CC) $(CC_OPTIONS) source/cServer.cpp -c $(INCLUDE) -o build/cServer.o + + +# Item # 35 -- cSignEntity -- +build/cSignEntity.o : source/cSignEntity.cpp + $(CC) $(CC_OPTIONS) source/cSignEntity.cpp -c $(INCLUDE) -o build/cSignEntity.o + + +# Item # 36 -- cStringMap -- +build/cStringMap.o : source/cStringMap.cpp + $(CC) $(CC_OPTIONS) source/cStringMap.cpp -c $(INCLUDE) -o build/cStringMap.o + + +# Item # 37 -- cWebAdmin -- +build/cWebAdmin.o : source/cWebAdmin.cpp + $(CC) $(CC_OPTIONS) source/cWebAdmin.cpp -c $(INCLUDE) -o build/cWebAdmin.o + + +# Item # 38 -- cWebPlugin -- +build/cWebPlugin.o : source/cWebPlugin.cpp + $(CC) $(CC_OPTIONS) source/cWebPlugin.cpp -c $(INCLUDE) -o build/cWebPlugin.o + + +# Item # 39 -- cWindow -- +build/cWindow.o : source/cWindow.cpp + $(CC) $(CC_OPTIONS) source/cWindow.cpp -c $(INCLUDE) -o build/cWindow.o + + +# Item # 40 -- cWorld -- +build/cWorld.o : source/cWorld.cpp + $(CC) $(CC_OPTIONS) source/cWorld.cpp -c $(INCLUDE) -o build/cWorld.o + + +# Item # 41 -- main -- +build/main.o : source/main.cpp + $(CC) $(CC_OPTIONS) source/main.cpp -c $(INCLUDE) -o build/main.o + + +# Item # 42 -- ManualBindings -- +build/ManualBindings.o : source/ManualBindings.cpp + $(CC) $(CC_OPTIONS) source/ManualBindings.cpp -c $(INCLUDE) -o build/ManualBindings.o + + +# Item # 43 -- Matrix4f -- +build/Matrix4f.o : source/Matrix4f.cpp + $(CC) $(CC_OPTIONS) source/Matrix4f.cpp -c $(INCLUDE) -o build/Matrix4f.o + + +# Item # 44 -- PacketHeader -- +build/PacketHeader.o : source/PacketHeader.cpp + $(CC) $(CC_OPTIONS) source/PacketHeader.cpp -c $(INCLUDE) -o build/PacketHeader.o + + +# Item # 45 -- Vector3d -- +build/Vector3d.o : source/Vector3d.cpp + $(CC) $(CC_OPTIONS) source/Vector3d.cpp -c $(INCLUDE) -o build/Vector3d.o + + +# Item # 46 -- Vector3f -- +build/Vector3f.o : source/Vector3f.cpp + $(CC) $(CC_OPTIONS) source/Vector3f.cpp -c $(INCLUDE) -o build/Vector3f.o + + +# Item # 47 -- Vector3i -- +build/Vector3i.o : source/Vector3i.cpp + $(CC) $(CC_OPTIONS) source/Vector3i.cpp -c $(INCLUDE) -o build/Vector3i.o + + +# Item # 48 -- cHeartBeat -- +build/cHeartBeat.o : source/cHeartBeat.cpp + $(CC) $(CC_OPTIONS) source/cHeartBeat.cpp -c $(INCLUDE) -o build/cHeartBeat.o + + +# Item # 49 -- cTCPLink -- +build/cTCPLink.o : source/cTCPLink.cpp + $(CC) $(CC_OPTIONS) source/cTCPLink.cpp -c $(INCLUDE) -o build/cTCPLink.o + + +# Item # 50 -- cMCLogger -- +build/cMCLogger.o : source/cMCLogger.cpp + $(CC) $(CC_OPTIONS) source/cMCLogger.cpp -c $(INCLUDE) -o build/cMCLogger.o + + +# Item # 51 -- cTracer -- +build/cTracer.o : source/cTracer.cpp + $(CC) $(CC_OPTIONS) source/cTracer.cpp -c $(INCLUDE) -o build/cTracer.o + + +# Item # 52 -- cPacket_DestroyEntity -- +build/cPacket_DestroyEntity.o : source/packets/cPacket_DestroyEntity.cpp + $(CC) $(CC_OPTIONS) source/packets/cPacket_DestroyEntity.cpp -c $(INCLUDE) -o build/cPacket_DestroyEntity.o + + +# Item # 53 -- cPacket_EntityLook -- +build/cPacket_EntityLook.o : source/packets/cPacket_EntityLook.cpp + $(CC) $(CC_OPTIONS) source/packets/cPacket_EntityLook.cpp -c $(INCLUDE) -o build/cPacket_EntityLook.o + + +# Item # 54 -- cPacket_NamedEntitySpawn -- +build/cPacket_NamedEntitySpawn.o : source/packets/cPacket_NamedEntitySpawn.cpp + $(CC) $(CC_OPTIONS) source/packets/cPacket_NamedEntitySpawn.cpp -c $(INCLUDE) -o build/cPacket_NamedEntitySpawn.o + + +# Item # 55 -- cPacket_PlayerPosition -- +build/cPacket_PlayerPosition.o : source/packets/cPacket_PlayerPosition.cpp + $(CC) $(CC_OPTIONS) source/packets/cPacket_PlayerPosition.cpp -c $(INCLUDE) -o build/cPacket_PlayerPosition.o + + +# Item # 56 -- cPacket_RelativeEntityMove -- +build/cPacket_RelativeEntityMove.o : source/packets/cPacket_RelativeEntityMove.cpp + $(CC) $(CC_OPTIONS) source/packets/cPacket_RelativeEntityMove.cpp -c $(INCLUDE) -o build/cPacket_RelativeEntityMove.o + + +# Item # 57 -- cPacket_RelativeEntityMoveLook -- +build/cPacket_RelativeEntityMoveLook.o : source/packets/cPacket_RelativeEntityMoveLook.cpp + $(CC) $(CC_OPTIONS) source/packets/cPacket_RelativeEntityMoveLook.cpp -c $(INCLUDE) -o build/cPacket_RelativeEntityMoveLook.o + + +# Item # 58 -- cPacket_Respawn -- +build/cPacket_Respawn.o : source/packets/cPacket_Respawn.cpp + $(CC) $(CC_OPTIONS) source/packets/cPacket_Respawn.cpp -c $(INCLUDE) -o build/cPacket_Respawn.o + + +# Item # 59 -- cPacket_SpawnMob -- +build/cPacket_SpawnMob.o : source/packets/cPacket_SpawnMob.cpp + $(CC) $(CC_OPTIONS) source/packets/cPacket_SpawnMob.cpp -c $(INCLUDE) -o build/cPacket_SpawnMob.o + + +# Item # 60 -- cPacket_TeleportEntity -- +build/cPacket_TeleportEntity.o : source/packets/cPacket_TeleportEntity.cpp + $(CC) $(CC_OPTIONS) source/packets/cPacket_TeleportEntity.cpp -c $(INCLUDE) -o build/cPacket_TeleportEntity.o + + +# Item # 61 -- cPacket_UpdateHealth -- +build/cPacket_UpdateHealth.o : source/packets/cPacket_UpdateHealth.cpp + $(CC) $(CC_OPTIONS) source/packets/cPacket_UpdateHealth.cpp -c $(INCLUDE) -o build/cPacket_UpdateHealth.o + + +# Item # 62 -- cPacket -- +build/cPacket.o : source/packets/cPacket.cpp + $(CC) $(CC_OPTIONS) source/packets/cPacket.cpp -c $(INCLUDE) -o build/cPacket.o + + +# Item # 63 -- base64 -- +build/base64.o : WebServer/base64.cpp + $(CC) $(CC_OPTIONS) WebServer/base64.cpp -c $(INCLUDE) -o build/base64.o + + +# Item # 64 -- Socket -- +build/Socket.o : WebServer/Socket.cpp + $(CC) $(CC_OPTIONS) WebServer/Socket.cpp -c $(INCLUDE) -o build/Socket.o + + +# Item # 65 -- StdHelpers -- +build/StdHelpers.o : WebServer/StdHelpers.cpp + $(CC) $(CC_OPTIONS) WebServer/StdHelpers.cpp -c $(INCLUDE) -o build/StdHelpers.o + + +# Item # 66 -- UrlHelper -- +build/UrlHelper.o : WebServer/UrlHelper.cpp + $(CC) $(CC_OPTIONS) WebServer/UrlHelper.cpp -c $(INCLUDE) -o build/UrlHelper.o + + +# Item # 67 -- WebServer -- +build/WebServer.o : WebServer/WebServer.cpp + $(CC) $(CC_OPTIONS) WebServer/WebServer.cpp -c $(INCLUDE) -o build/WebServer.o + + +# Item # 68 -- tolua_event -- +build/tolua_event.o : tolua++-1.0.93/src/lib/tolua_event.c + $(CC) $(CCE_OPTIONS) tolua++-1.0.93/src/lib/tolua_event.c -c $(INCLUDE) -o build/tolua_event.o + + +# Item # 69 -- tolua_is -- +build/tolua_is.o : tolua++-1.0.93/src/lib/tolua_is.c + $(CC) $(CCE_OPTIONS) tolua++-1.0.93/src/lib/tolua_is.c -c $(INCLUDE) -o build/tolua_is.o + + +# Item # 70 -- tolua_map -- +build/tolua_map.o : tolua++-1.0.93/src/lib/tolua_map.c + $(CC) $(CCE_OPTIONS) tolua++-1.0.93/src/lib/tolua_map.c -c $(INCLUDE) -o build/tolua_map.o + + +# Item # 71 -- tolua_push -- +build/tolua_push.o : tolua++-1.0.93/src/lib/tolua_push.c + $(CC) $(CCE_OPTIONS) tolua++-1.0.93/src/lib/tolua_push.c -c $(INCLUDE) -o build/tolua_push.o + + +# Item # 72 -- tolua_to -- +build/tolua_to.o : tolua++-1.0.93/src/lib/tolua_to.c + $(CC) $(CCE_OPTIONS) tolua++-1.0.93/src/lib/tolua_to.c -c $(INCLUDE) -o build/tolua_to.o + + +# Item # 73 -- lapi -- +build/lapi.o : lua-5.1.4/src/lapi.c + $(CC) $(CCE_OPTIONS) lua-5.1.4/src/lapi.c -c $(INCLUDE) -o build/lapi.o + + +# Item # 74 -- lauxlib -- +build/lauxlib.o : lua-5.1.4/src/lauxlib.c + $(CC) $(CCE_OPTIONS) lua-5.1.4/src/lauxlib.c -c $(INCLUDE) -o build/lauxlib.o + + +# Item # 75 -- lbaselib -- +build/lbaselib.o : lua-5.1.4/src/lbaselib.c + $(CC) $(CCE_OPTIONS) lua-5.1.4/src/lbaselib.c -c $(INCLUDE) -o build/lbaselib.o + + +# Item # 76 -- lcode -- +build/lcode.o : lua-5.1.4/src/lcode.c + $(CC) $(CCE_OPTIONS) lua-5.1.4/src/lcode.c -c $(INCLUDE) -o build/lcode.o + + +# Item # 77 -- ldblib -- +build/ldblib.o : lua-5.1.4/src/ldblib.c + $(CC) $(CCE_OPTIONS) lua-5.1.4/src/ldblib.c -c $(INCLUDE) -o build/ldblib.o + + +# Item # 78 -- ldebug -- +build/ldebug.o : lua-5.1.4/src/ldebug.c + $(CC) $(CCE_OPTIONS) lua-5.1.4/src/ldebug.c -c $(INCLUDE) -o build/ldebug.o + + +# Item # 79 -- ldo -- +build/ldo.o : lua-5.1.4/src/ldo.c + $(CC) $(CCE_OPTIONS) lua-5.1.4/src/ldo.c -c $(INCLUDE) -o build/ldo.o + + +# Item # 80 -- ldump -- +build/ldump.o : lua-5.1.4/src/ldump.c + $(CC) $(CCE_OPTIONS) lua-5.1.4/src/ldump.c -c $(INCLUDE) -o build/ldump.o + + +# Item # 81 -- lfunc -- +build/lfunc.o : lua-5.1.4/src/lfunc.c + $(CC) $(CCE_OPTIONS) lua-5.1.4/src/lfunc.c -c $(INCLUDE) -o build/lfunc.o + + +# Item # 82 -- lgc -- +build/lgc.o : lua-5.1.4/src/lgc.c + $(CC) $(CCE_OPTIONS) lua-5.1.4/src/lgc.c -c $(INCLUDE) -o build/lgc.o + + +# Item # 83 -- linit -- +build/linit.o : lua-5.1.4/src/linit.c + $(CC) $(CCE_OPTIONS) lua-5.1.4/src/linit.c -c $(INCLUDE) -o build/linit.o + + +# Item # 84 -- liolib -- +build/liolib.o : lua-5.1.4/src/liolib.c + $(CC) $(CCE_OPTIONS) lua-5.1.4/src/liolib.c -c $(INCLUDE) -o build/liolib.o + + +# Item # 85 -- llex -- +build/llex.o : lua-5.1.4/src/llex.c + $(CC) $(CCE_OPTIONS) lua-5.1.4/src/llex.c -c $(INCLUDE) -o build/llex.o + + +# Item # 86 -- lmathlib -- +build/lmathlib.o : lua-5.1.4/src/lmathlib.c + $(CC) $(CCE_OPTIONS) lua-5.1.4/src/lmathlib.c -c $(INCLUDE) -o build/lmathlib.o + + +# Item # 87 -- lmem -- +build/lmem.o : lua-5.1.4/src/lmem.c + $(CC) $(CCE_OPTIONS) lua-5.1.4/src/lmem.c -c $(INCLUDE) -o build/lmem.o + + +# Item # 88 -- loadlib -- +build/loadlib.o : lua-5.1.4/src/loadlib.c + $(CC) $(CCE_OPTIONS) lua-5.1.4/src/loadlib.c -c $(INCLUDE) -o build/loadlib.o + + +# Item # 89 -- lobject -- +build/lobject.o : lua-5.1.4/src/lobject.c + $(CC) $(CCE_OPTIONS) lua-5.1.4/src/lobject.c -c $(INCLUDE) -o build/lobject.o + + +# Item # 90 -- lopcodes -- +build/lopcodes.o : lua-5.1.4/src/lopcodes.c + $(CC) $(CCE_OPTIONS) lua-5.1.4/src/lopcodes.c -c $(INCLUDE) -o build/lopcodes.o + + +# Item # 91 -- loslib -- +build/loslib.o : lua-5.1.4/src/loslib.c + $(CC) $(CCE_OPTIONS) lua-5.1.4/src/loslib.c -c $(INCLUDE) -o build/loslib.o + + +# Item # 92 -- lparser -- +build/lparser.o : lua-5.1.4/src/lparser.c + $(CC) $(CCE_OPTIONS) lua-5.1.4/src/lparser.c -c $(INCLUDE) -o build/lparser.o + + +# Item # 93 -- lstate -- +build/lstate.o : lua-5.1.4/src/lstate.c + $(CC) $(CCE_OPTIONS) lua-5.1.4/src/lstate.c -c $(INCLUDE) -o build/lstate.o + + +# Item # 94 -- lstring -- +build/lstring.o : lua-5.1.4/src/lstring.c + $(CC) $(CCE_OPTIONS) lua-5.1.4/src/lstring.c -c $(INCLUDE) -o build/lstring.o + + +# Item # 95 -- lstrlib -- +build/lstrlib.o : lua-5.1.4/src/lstrlib.c + $(CC) $(CCE_OPTIONS) lua-5.1.4/src/lstrlib.c -c $(INCLUDE) -o build/lstrlib.o + + +# Item # 96 -- ltable -- +build/ltable.o : lua-5.1.4/src/ltable.c + $(CC) $(CCE_OPTIONS) lua-5.1.4/src/ltable.c -c $(INCLUDE) -o build/ltable.o + + +# Item # 97 -- ltablib -- +build/ltablib.o : lua-5.1.4/src/ltablib.c + $(CC) $(CCE_OPTIONS) lua-5.1.4/src/ltablib.c -c $(INCLUDE) -o build/ltablib.o + + +# Item # 98 -- ltm -- +build/ltm.o : lua-5.1.4/src/ltm.c + $(CC) $(CCE_OPTIONS) lua-5.1.4/src/ltm.c -c $(INCLUDE) -o build/ltm.o + + +# Item # 99 -- luac -- +build/luac.o : lua-5.1.4/src/luac.c + $(CC) $(CCE_OPTIONS) lua-5.1.4/src/luac.c -c $(INCLUDE) -o build/luac.o + + +# Item # 100 -- lundump -- +build/lundump.o : lua-5.1.4/src/lundump.c + $(CC) $(CCE_OPTIONS) lua-5.1.4/src/lundump.c -c $(INCLUDE) -o build/lundump.o + + +# Item # 101 -- lvm -- +build/lvm.o : lua-5.1.4/src/lvm.c + $(CC) $(CCE_OPTIONS) lua-5.1.4/src/lvm.c -c $(INCLUDE) -o build/lvm.o + + +# Item # 102 -- lzio -- +build/lzio.o : lua-5.1.4/src/lzio.c + $(CC) $(CCE_OPTIONS) lua-5.1.4/src/lzio.c -c $(INCLUDE) -o build/lzio.o + + +# Item # 103 -- print -- +build/print.o : lua-5.1.4/src/print.c + $(CC) $(CCE_OPTIONS) lua-5.1.4/src/print.c -c $(INCLUDE) -o build/print.o + + +# Item # 104 -- adler32 -- +build/adler32.o : zlib-1.2.5/adler32.c + $(CC) $(CCE_OPTIONS) zlib-1.2.5/adler32.c -c $(INCLUDE) -o build/adler32.o + + +# Item # 105 -- compress -- +build/compress.o : zlib-1.2.5/compress.c + $(CC) $(CCE_OPTIONS) zlib-1.2.5/compress.c -c $(INCLUDE) -o build/compress.o + + +# Item # 106 -- crc32 -- +build/crc32.o : zlib-1.2.5/crc32.c + $(CC) $(CCE_OPTIONS) zlib-1.2.5/crc32.c -c $(INCLUDE) -o build/crc32.o + + +# Item # 107 -- deflate -- +build/deflate.o : zlib-1.2.5/deflate.c + $(CC) $(CCE_OPTIONS) zlib-1.2.5/deflate.c -c $(INCLUDE) -o build/deflate.o + + +# Item # 108 -- gzclose -- +build/gzclose.o : zlib-1.2.5/gzclose.c + $(CC) $(CCE_OPTIONS) zlib-1.2.5/gzclose.c -c $(INCLUDE) -o build/gzclose.o + + +# Item # 109 -- gzlib -- +build/gzlib.o : zlib-1.2.5/gzlib.c + $(CC) $(CCE_OPTIONS) zlib-1.2.5/gzlib.c -c $(INCLUDE) -o build/gzlib.o + + +# Item # 110 -- gzread -- +build/gzread.o : zlib-1.2.5/gzread.c + $(CC) $(CCE_OPTIONS) zlib-1.2.5/gzread.c -c $(INCLUDE) -o build/gzread.o + + +# Item # 111 -- gzwrite -- +build/gzwrite.o : zlib-1.2.5/gzwrite.c + $(CC) $(CCE_OPTIONS) zlib-1.2.5/gzwrite.c -c $(INCLUDE) -o build/gzwrite.o + + +# Item # 112 -- infback -- +build/infback.o : zlib-1.2.5/infback.c + $(CC) $(CCE_OPTIONS) zlib-1.2.5/infback.c -c $(INCLUDE) -o build/infback.o + + +# Item # 113 -- inffast -- +build/inffast.o : zlib-1.2.5/inffast.c + $(CC) $(CCE_OPTIONS) zlib-1.2.5/inffast.c -c $(INCLUDE) -o build/inffast.o + + +# Item # 114 -- inflate -- +build/inflate.o : zlib-1.2.5/inflate.c + $(CC) $(CCE_OPTIONS) zlib-1.2.5/inflate.c -c $(INCLUDE) -o build/inflate.o + + +# Item # 115 -- inftrees -- +build/inftrees.o : zlib-1.2.5/inftrees.c + $(CC) $(CCE_OPTIONS) zlib-1.2.5/inftrees.c -c $(INCLUDE) -o build/inftrees.o + + +# Item # 116 -- trees -- +build/trees.o : zlib-1.2.5/trees.c + $(CC) $(CCE_OPTIONS) zlib-1.2.5/trees.c -c $(INCLUDE) -o build/trees.o + + +# Item # 117 -- uncompr -- +build/uncompr.o : zlib-1.2.5/uncompr.c + $(CC) $(CCE_OPTIONS) zlib-1.2.5/uncompr.c -c $(INCLUDE) -o build/uncompr.o + + +# Item # 118 -- zutil -- +build/zutil.o : zlib-1.2.5/zutil.c + $(CC) $(CCE_OPTIONS) zlib-1.2.5/zutil.c -c $(INCLUDE) -o build/zutil.o + + +# Item # 119 -- iniFile -- +build/iniFile.o : iniFile/iniFile.cpp + $(CC) $(CC_OPTIONS) iniFile/iniFile.cpp -c $(INCLUDE) -o build/iniFile.o + +# Item # 120 --Authenticator -- +build/cAuthenticator.o: source/cAuthenticator.cpp + $(CC) $(CC_OPTIONS) source/cAuthenticator.cpp -c $(INCLUDE) -o build/cAuthenticator.o + +build/cBlockingTCPLink.o: source/cBlockingTCPLink.cpp + $(CC) $(CC_OPTIONS) source/cBlockingTCPLink.cpp -c $(INCLUDE) -o build/cBlockingTCPLink.o + +build/cThread.o: source/cThread.cpp + $(CC) $(CC_OPTIONS) source/cThread.cpp -c $(INCLUDE) -o build/cThread.o + +build/cSpider.o: source/cSpider.cpp + $(CC) $(CC_OPTIONS) source/cSpider.cpp -c $(INCLUDE) -o build/cSpider.o + +build/cMonsterConfig.o: source/cMonsterConfig.cpp + $(CC) $(CC_OPTIONS) source/cMonsterConfig.cpp -c $(INCLUDE) -o build/cMonsterConfig.o + +build/cPacket_Metadata.o: source/packets/cPacket_Metadata.cpp + $(CC) $(CC_OPTIONS) source/packets/cPacket_Metadata.cpp -c $(INCLUDE) -o build/cPacket_Metadata.o + +build/cSleep.o: source/cSleep.cpp + $(CC) $(CC_OPTIONS) source/cSleep.cpp -c $(INCLUDE) -o build/cSleep.o + +build/cTimer.o: source/cTimer.cpp + $(CC) $(CC_OPTIONS) source/cTimer.cpp -c $(INCLUDE) -o build/cTimer.o + +build/cPacket_Chat.o : source/packets/cPacket_Chat.cpp + $(CC) $(CC_OPTIONS) source/packets/cPacket_Chat.cpp -c $(INCLUDE) -o build/cPacket_Chat.o + +build/cPacket_Login.o : source/packets/cPacket_Login.cpp + $(CC) $(CC_OPTIONS) source/packets/cPacket_Login.cpp -c $(INCLUDE) -o build/cPacket_Login.o + +build/cPacket_WindowClick.o : source/packets/cPacket_WindowClick.cpp + $(CC) $(CC_OPTIONS) source/packets/cPacket_WindowClick.cpp -c $(INCLUDE) -o build/cPacket_WindowClick.o + +build/cNoise.o : source/cNoise.cpp + $(CC) $(CC_OPTIONS) source/cNoise.cpp -c $(INCLUDE) -o build/cNoise.o + +build/cCuboid.o : source/cCuboid.cpp + $(CC) $(CC_OPTIONS) source/cCuboid.cpp -c $(INCLUDE) -o build/cCuboid.o + +build/cGenSettings.o : source/cGenSettings.cpp + $(CC) $(CC_OPTIONS) source/cGenSettings.cpp -c $(INCLUDE) -o build/cGenSettings.o + +build/json_reader.o : jsoncpp-src-0.5.0/src/lib_json/json_reader.cpp + $(CC) $(CC_OPTIONS) jsoncpp-src-0.5.0/src/lib_json/json_reader.cpp -c $(INCLUDE) -o build/json_reader.o + +build/json_value.o : jsoncpp-src-0.5.0/src/lib_json/json_value.cpp + $(CC) $(CC_OPTIONS) jsoncpp-src-0.5.0/src/lib_json/json_value.cpp -c $(INCLUDE) -o build/json_value.o + +build/json_writer.o : jsoncpp-src-0.5.0/src/lib_json/json_writer.cpp + $(CC) $(CC_OPTIONS) jsoncpp-src-0.5.0/src/lib_json/json_writer.cpp -c $(INCLUDE) -o build/json_writer.o + +build/cMakeDir.o : source/cMakeDir.cpp + $(CC) $(CC_OPTIONS) source/cMakeDir.cpp -c $(INCLUDE) -o build/cMakeDir.o +##### END RUN #### diff --git a/monsters.ini b/monsters.ini new file mode 100644 index 000000000..b04eb2c21 --- /dev/null +++ b/monsters.ini @@ -0,0 +1,11 @@ +[Spider]
+AttackRange=5.0
+AttackRate=1
+AttackDamage=1.0
+SightDistance=25.0
+
+[Chicken]
+AttackRange=5.0
+AttackRate=1
+AttackDamage=1.0
+SightDistance=25.0
diff --git a/recipes.txt b/recipes.txt new file mode 100644 index 000000000..896c54283 --- /dev/null +++ b/recipes.txt @@ -0,0 +1,280 @@ +#***************************
+# Default Crafting Recipes #
+#**************************#
+# #
+# Coded by: FakeTruth #
+# Written by: Aelux #
+# #
+#**************************#
+#
+#
+#
+#******************************************************#
+# Basic Notation Help
+#******************************************************#
+#
+# 1x1,1:1:17:1@5:4 -> Produces 4 Planks
+#
+#
+# --How does the above notation work?
+#
+# Ans- Think about the crafting table as coordiantes
+# on a graph where you have an "X" axis and a
+# "Y" axis. The "X" is the horizantle axis and
+# the "Y" is the vertical axis.
+#
+# Syntax- <width>x<height>,x:y:<ItemID>:<Amount>@<ResultingItemID>:<Amount>
+#
+#
+#
+#--------------------Basic EXAMPLE---------------------#---------------Grid Abstraction EXAMPLE------------------#
+#
+# Example- 3x3,2:3:280:8@5:2 # Example- 1x1,1:1:280:8@5:2
+#
+# Recipe- w=3,h=3,x=2,y=3,Item=Stick,Amount=8 # Recipe- w=1,h=1,x=1,y=1,Item=Stick,Amount=8
+# Result- 2 Wood Planks (2 of ItemID 5) Result- 2 Wood Planks (2 of ItemID 5)
+# #
+# Table grid is set to 3 by 3 (O = empty,+ = full) Table grid is set to 1 by 1 (O = empty,+ = full)
+# ----- # ---
+# OOO +
+# OOO #
+# O+O --How does the above example compare to the Basic
+# # example?
+# --How does the above example work?
+# # Ans- This means, you can place a stack of 8 sticks
+# Ans- This means, if you place a stack of 8 sticks ANYwhere a 1x1 grid can fit. Obviously since a 1x1
+# at that exact location on the Work Bench, # grid is a single slot, it can be abstracted to fill
+# which is a 3x3 grid, you will recieve 2 Wood any single slot on any size grid.
+# Planks PER 8 sticks. #
+# There are 9 positions for the 1x1 grid in the
+# # work bench (3x3) and 4 positions within the
+# inventory grid (2x2).
+#******************************************************#********************************************************
+
+
+
+
+
+#
+# B a s i c C r a f t s
+#
+#
+1x1,1:1:17:1@5:4 #-> 4 Planks
+1x2,*:*:5:1@280:4 #-> 4 Sticks
+2x2,*:*:5:1@58:1 #-> Crafting bench
+3x3,2:2:5:-1@54:1 #-> Chest
+3x3,2:2:4:-1@61:1 #-> Furnace
+1x2,1:1:263:1,1:2:280:1@50:4 #-> Torch
+#******************************************************#
+
+
+
+
+
+#
+# F o o d
+#
+#
+3x1,*:3:296:1@297:1 #-> Bread
+3x2,1:2:5:1,3:2:5:1,2:3:5:1@281:4 #-> Bowl
+1x3,1:1:49:1,1:2:48:1,1:3:281:1@282:1 #-> Mushroom Stew
+3x3,2:2:41:-1,2:2:260:1@322:1 #-> Golden Apple
+#******************************************************#
+
+
+
+
+
+#
+# U t i l i t i e s
+#
+#
+3x2,1:2:265:1,2:3:265:1@325:1 #-> Bucket
+1x2,1:1:265:1,1:2:318:1@259:1 #-> Lighter
+3x3,1:3:280:1,2:2:280:1,3:1:280:1,3:2:287:1,3:3:287:1@346:1 #-> Fishing Rod
+3x3,1:2:265:1,2:1:265:1,2:2:331:1,3:2:265:1,2:3:265:1@345:1 #-> Compass
+3x3,1:2:266:1,2:1:266:1,2:2:331:1,3:2:266:1,2:3:266:1@345:1 #-> Watch
+3x3,1:*:287:1,2:1:280:1,3:2:280:1,2:3:280:1@261:1 #-> Bow
+1x3,1:1:318:1,1:2:280:1,1:3:288:1@262:4 #-> Arrow
+2x3,*:*:5:1@64:1 #-> Wooden Door
+3x3,*:1:280:-1@85:2 #-> Fence
+3x3,1:*:280:1,3:*:280:1,2:2:280:1@65:1 #-> Ladder
+3x2,*:*:5:1,2:3:280:1@323:1 #-> Sign
+#******************************************************#
+#
+# T r a v e l U t i l i t i e s
+#
+#
+3x3,1:*:265:1,3:*:265:1,2:2:280:1@66:16 #-> Rails
+3x2,1:2:265:1,3:2:265:1,*:3:265:1@328:1 #-> Minecart
+1x2,1:1:61:1,1:2:328:1@343:1 #-> Powered Minecart
+1x2,1:1:54:1,1:2:328:1@342:1 #-> Storage Minecart
+3x2,1:2:5:1,3:2:5:1,*:3:5:1@333:1 #-> Boat
+#******************************************************#
+#
+# C o n t r o l U t i l i t i e s
+#
+#
+1x2,1:1:331:1,1:2:280:1@76:1 #-> Redstone Torch
+1x2,1:1:280:1,1:2:4:1@69:1 #-> Lever
+2x1,*:*:5:1@72:1 #-> Wooden Preassure Plate
+2x1,*:*:4:1@70:1 #-> Stone Preassure Plate
+1x2,1:1:1:1,1:2:1:1@77:1 #-> Button
+2x3,*:*:265:1@71:1 #-> Iron Door
+#******************************************************#
+
+
+
+
+
+#
+# M a t e r i a l B l o c k s
+#
+#
+3x3,*:*:265:1@42:1 #-> Iron
+3x3,*:*:266:1@41:1 #-> Gold
+3x3,*:*:264:1@57:1 #-> Diamond
+2x2,*:*:287:1@35:1 #-> Cloth
+2x2,*:*:337:1@82:1 #-> Clay
+2x2,*:*:336:1@45:1 #-> Brick
+2x2,*:*:341:1@80:1 #-> Snow
+#******************************************************#
+#
+# S p e c i a l B l o c k s
+#
+#
+3x1,*:*:1:1@44:3 #-> Stone Step
+3x3,*:3:5:1,1:1:5:1,1:2:5:1,2:2:5:1@53:4 #-> Wood Stairs
+3x3,*:3:4:1,1:1:4:1,1:2:4:1,2:2:4:1@67:4 #-> Cobblestone Stairs
+3x3,1:1:289:1,3:1:289:1,2:2:289:1,1:3:289:1,3:3:289:1,2:1:12:1,1:2:12:1,3:2:12:1,2:3:12:1@46:1 #-> TNT
+3x3,2:2:5:-1,2:2:264:1@84:1 #-> Jukebox
+3x3,*:*:348:1@89:1 #-> Light Stone
+#******************************************************#
+#
+# B l o c k T o I n g o t
+#
+#
+1x1,1:1:42:1@265:9 #-> Iron
+1x1,1:1:41:1@266:9 #-> Gold
+1x1,1:1:57:1@264:9 #-> Diamond
+#******************************************************#
+
+
+
+
+
+#
+# S h o v e l
+#
+#
+1x3,1:1:5:1,1:2:280:1,1:3:280:1@269:1 #-> Wooden
+1x3,1:1:4:1,1:2:280:1,1:3:280:1@273:1 #-> Stone
+1x3,1:1:266:1,1:2:280:1,1:3:280:1@284:1 #-> Gold
+1x3,1:1:265:1,1:2:280:1,1:3:280:1@256:1 #-> Iron
+1x3,1:1:264:1,1:2:280:1,1:3:280:1@277:1 #-> Diamond
+#******************************************************#
+#
+# P i c k a x e
+#
+#
+3x3,*:1:5:1,2:2:280:1,2:3:280:1@270:1 #-> Wooden
+3x3,*:1:4:1,2:2:280:1,2:3:280:1@274:1 #-> Stone
+3x3,*:1:266:1,2:2:280:1,2:3:280:1@285:1 #-> Gold
+3x3,*:1:265:1,2:2:280:1,2:3:280:1@257:1 #-> Iron
+3x3,*:1:264:1,2:2:280:1,2:3:280:1@278:1 #-> Diamond
+#******************************************************#
+#
+# A x e
+#
+#
+2x2,2:2:5:-1,2:2:280:1,2:3:280:1@271:1 #-> Wooden (L)
+2x2,1:2:5:-1,1:2:280:1,1:3:280:1@271:1 #-> Wooden (R)
+2x2,2:2:4:-1,2:2:280:1,2:3:280:1@275:1 #-> Stone (L)
+2x2,1:2:4:-1,1:2:280:1,1:3:280:1@275:1 #-> Stone (R)
+2x2,2:2:256:-1,2:2:280:1,2:3:280:1@258:1#-> Iron (L)
+2x2,1:2:256:-1,1:2:280:1,1:3:280:1@258:1#-> Iron (R)
+2x2,2:2:264:-1,2:2:280:1,2:3:280:1@279:1#-> Diamond (L)
+2x2,1:2:264:-1,1:2:280:1,1:3:280:1@279:1#-> Diamond (R)
+#******************************************************#
+#
+# S w o r d
+#
+#
+1x2,*:*:5:1,1:3:280:1@268:1 #-> Wooden
+1x2,*:*:4:1,1:3:280:1@272:1 #-> Stone
+1x2,*:*:266:1,1:3:280:1@283:1 #-> Gold
+1x2,*:*:265:1,1:3:280:1@267:1 #-> Iron
+1x2,*:*:264:1,1:3:280:1@276:1 #-> Diamond
+#******************************************************#
+#
+# H o e
+#
+#
+2x1,*:*:5:1,2:2:280:1,2:3:280:1@290:1 #-> Wooden (L)
+2x1,*:*:5:1,1:2:280:1,1:3:280:1@290:1 #-> Wooden (R)
+2x1,*:*:4:1,2:2:280:1,2:3:280:1@291:1 #-> Stone (L)
+2x1,*:*:4:1,1:2:280:1,1:3:280:1@291:1 #-> Stone (R)
+2x1,*:*:266:1,2:2:280:1,2:3:280:1@294:1 #-> Gold (L)
+2x1,*:*:266:1,1:2:280:1,1:3:280:1@294:1 #-> Gold (R)
+2x1,*:*:265:1,2:2:280:1,2:3:280:1@292:1 #-> Iron (L)
+2x1,*:*:265:1,1:2:280:1,1:3:280:1@292:1 #-> Iron (R)
+2x1,*:*:264:1,2:2:280:1,2:3:280:1@293:1 #-> Diamond (L)
+2x1,*:*:264:1,1:2:280:1,1:3:280:1@293:1 #-> Diamond (R)
+#******************************************************#
+
+
+
+
+
+#
+# L e a t h e r A r m o r
+#
+#
+3x2,2:2:334:-1@298:1 #-> Helmet
+3x3,2:1:334:-1@299:1 #-> Chest Piece
+3x3,1:*:334:1,3:*:334:1,2:1:334:1@300:1 #-> Leggings
+3x2,2:*:334:-1@301:1 #-> Boots
+#*******************************************************#
+#
+# G o l d A r m o r
+#
+#
+3x2,2:2:266:-1@314:1 #-> Helmet
+3x3,2:1:266:-1@315:1 #-> Chest Piece
+3x3,1:*:266:1,3:*:266:1,2:1:266:1@316:1 #-> Leggings
+3x2,2:*:266:-1@317:1 #-> Boots
+#*******************************************************#
+#
+# I r o n A r m o r
+#
+#
+3x2,2:2:265:-1@306:1 #-> Helmet
+3x3,2:1:265:-1@307:1 #-> Chest Piece
+3x3,1:*:265:1,3:*:265:1,2:1:265:1@308:1 #-> Leggings
+3x2,2:*:265:-1@309:1 #-> Boots
+#*******************************************************#
+#
+# D i a m o n d A r m o r
+#
+#
+3x2,2:2:264:-1@310:1 #-> Helmet
+3x3,2:1:264:-1@311:1 #-> Chest Piece
+3x3,1:*:264:1,3:*:264:1,2:1:264:1@312:1 #-> Leggings
+3x2,2:*:264:-1@313:1 #-> Boots
+#*******************************************************#
+
+
+
+
+
+
+#
+# D e c o r a t i v e
+#
+#
+3x1,*:3:338:1@339:3 #-> Paper
+1x3,2:*:338:1@340:1 #-> Book
+3x3,*:1:5:1,*:2:349:1,*:3:5:1@47:1 #-> Book Shelf
+3x3,2:2:280:-1,2:2:35:1@321:1 #-> Painting
+1x2,1:1:86:1,1:2:50:1@91:1 #-> Jack-O-Lantern
+#*******************************************************#
\ No newline at end of file diff --git a/settings.ini b/settings.ini new file mode 100644 index 000000000..9952dfb5a --- /dev/null +++ b/settings.ini @@ -0,0 +1,24 @@ +[Server]
+Port=25565
+ServerID=-
+
+[Plugins]
+Plugin=Core
+Plugin=Fire
+Plugin=MagicCarpet
+
+[HelpPlugin]
+ShowPluginNames=1
+
+[Physics]
+Water=0
+
+[Monsters]
+AnimalsOn=1
+AnimalSpawnInterval=5
+Types=Chicken,Spider
+
+[Authentication]
+Server=www.minecraft.net
+Address=/game/checkserver.jsp?user=%USERNAME%&serverId=%SERVERID%
+Authenticate=0
diff --git a/terrain.ini b/terrain.ini new file mode 100644 index 000000000..a917223f9 --- /dev/null +++ b/terrain.ini @@ -0,0 +1,8 @@ +[Terrain]
+HeightFreq1=0.100000
+HeightFreq2=1.000000
+HeightFreq3=2.000000
+HeightAmp1=1.000000
+HeightAmp2=0.500000
+HeightAmp3=0.500000
+
diff --git a/users.ini b/users.ini new file mode 100644 index 000000000..f17f399a8 --- /dev/null +++ b/users.ini @@ -0,0 +1,8 @@ +[FakeTruth]
+Groups=Admins
+
+[Duralex]
+Groups=Admins
+
+[Player]
+Groups=Admins
diff --git a/webadmin.ini b/webadmin.ini new file mode 100644 index 000000000..6ecbf7513 --- /dev/null +++ b/webadmin.ini @@ -0,0 +1,6 @@ +[WebAdmin]
+Enabled=1
+Port=8080
+
+[User:admin]
+Password=admin
\ No newline at end of file |