Added code to convey idea before I write all of it out, also added default config files, everything is subject to change

This commit is contained in:
Maverick Motherfucker 2011-06-03 21:27:56 -07:00
parent d0fe76090d
commit bb2e9559f0
10 changed files with 102 additions and 2 deletions

1
.gitignore vendored
View file

@ -44,7 +44,6 @@ Thumbs.db
*.sdf *.sdf
*.opensdf *.opensdf
*.cache *.cache
*.txt
*.pdb *.pdb
*.csproj.user *.csproj.user
*/_ReSharper*/* */_ReSharper*/*

View file

@ -152,6 +152,7 @@ namespace TShockAPI
} }
return false; return false;
} }
public FileTools() { } public FileTools() { }
} }
} }

35
TShockAPI/Group.cs Normal file
View file

@ -0,0 +1,35 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace TShockAPI
{
public class Group
{
private string name;
private Group parent = null;
public Group(string groupName, Group parentGroup = null)
{
name = groupName;
parent = parentGroup;
}
public string GetName()
{
return name;
}
public Group GetParent()
{
return parent;
}
public bool HasPermission(string permission)
{
//TODO: implement this
return true;
}
}
}

11
TShockAPI/Permission.cs Normal file
View file

@ -0,0 +1,11 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace TShockAPI
{
class Permission
{
}
}

View file

@ -10,6 +10,7 @@ namespace TShockAPI
public uint tileThreshold; public uint tileThreshold;
public bool syncHP = false; public bool syncHP = false;
public bool syncMP = false; public bool syncMP = false;
public Group group;
private int player; private int player;
private bool admin; private bool admin;

View file

@ -58,7 +58,9 @@
<Compile Include="ConfigFile.cs" /> <Compile Include="ConfigFile.cs" />
<Compile Include="ConfigurationManager.cs" /> <Compile Include="ConfigurationManager.cs" />
<Compile Include="FileTools.cs" /> <Compile Include="FileTools.cs" />
<Compile Include="Group.cs" />
<Compile Include="Log.cs" /> <Compile Include="Log.cs" />
<Compile Include="Permission.cs" />
<Compile Include="Tools.cs" /> <Compile Include="Tools.cs" />
<Compile Include="TShock.cs" /> <Compile Include="TShock.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />

View file

@ -7,6 +7,8 @@ namespace TShockAPI
{ {
class Tools class Tools
{ {
private static List<Group> groups;
/// <summary> /// <summary>
/// Provides the real IP address from a RemoteEndPoint string that contains a port and an IP /// Provides the real IP address from a RemoteEndPoint string that contains a port and an IP
/// </summary> /// </summary>
@ -317,6 +319,39 @@ namespace TShockAPI
tr.Close(); tr.Close();
} }
private static void LoadGroups()
{
}
/// <summary>
/// Shows a MOTD to the player
/// </summary>
/// <param name="ply">int player</param>
public static Group GetGroup(string name)
{
//first attempt on cached groups
for (int i = 0; i < groups.Count; i++)
{
if (groups[i].GetName().Equals(name))
{
return groups[i];
}
}
//shit, it didnt work, reload and try again
LoadGroups();
for (int i = 0; i < groups.Count; i++)
{
if (groups[i].GetName().Equals(name))
{
return groups[i];
}
}
//sigh :(, ok, you fucked up the config files, congrats.
return null;
}
public Tools() { } public Tools() { }
} }
} }

View file

@ -0,0 +1,12 @@
#Format
#name parent permisson1 permission2 permissionN
#if there is no parent, put null instead
#groups inherit permissions from their parents
#put a ! before a permission to negate it
#currently avaliable permissions: kick ban ignorecheatdetection
#Do not remove the group default
#Do not name a group SuperAdmin, that is hard-coded into the code, it grants total permissions
default null
admin default kick ban
trustedadmin admin ignorecheatdetection
newadmin admin !ban

View file

@ -0,0 +1,4 @@
#format
#ip group
#see groups.txt for a list of groups
127.0.0.1 superadmin