local j=game:GetService("\080\108\097\121\101\114\115")local E={}E.__index=E function E.new(j)local T=setmetatable({},E)T._settings={}T._oldPlugin=j return T end function E.__index(T,j)local e=rawget(E,j)if e then return e end return T._oldPlugin[j]end function E.GetMouse(E)return j.LocalPlayer:GetMouse()end function E.GetSetting(E,j)return E._settings[j]end function E.SetSetting(T,j,E)T._settings[j]=E end return E
--[=[
	Facades the plugin interface

	@class PluginFacade
]=]

local Players = game:GetService("Players")

local PluginFacade = {}
PluginFacade.__index = PluginFacade

function PluginFacade.new(oldPlugin)
	local self = setmetatable({}, PluginFacade)

	self._settings = {}
	self._oldPlugin = oldPlugin -- may be nil

	return self
end

function PluginFacade:__index(index)
	local result = rawget(PluginFacade, index)
	if result then
		return result
	end

	return self._oldPlugin[index]
end

function PluginFacade:GetMouse()
	return Players.LocalPlayer:GetMouse()
end

function PluginFacade:GetSetting(Key)
	return self._settings[Key]
end

function PluginFacade:SetSetting(Key, Value)
	self._settings[Key] = Value
end

return PluginFacade