Index: binary-improvements/NamePatcher/ManualPatches.cs
===================================================================
--- binary-improvements/NamePatcher/ManualPatches.cs	(revision 107)
+++ binary-improvements/NamePatcher/ManualPatches.cs	(revision 113)
@@ -61,8 +61,38 @@
 		public static void applyManualPatches (ModuleDefinition mainModule)
 		{
-			renameMember (mainModule.GetType ("ItemBlock").BaseType.Resolve (), "ItemBase");
-
 			FieldDefinition fd;
 			MethodDefinition md;
+			bool renamed = false;
+
+
+			renamed = false;
+			foreach (TypeDefinition td in mainModule.Types) {
+				md = getMethodInType (td, (method, isConstructor, retType, paramCount, paramList) => {
+					return !isConstructor && method.IsPublic && method.IsStatic && paramCount == 0 && retType.Name.Equals ("Boolean") && method.Name.Equals ("CheckIfStartedAsDedicatedServer");
+				}
+				);
+				if (md != null) {
+					renameMember (td, "StaticDirectories");
+					renamed = true;
+					break;
+				}
+			}
+			if (!renamed)
+				Console.WriteLine ("FAILED: StaticDirectories");
+			renamed = false;
+
+
+			renameMember (mainModule.GetType ("ItemBlock").BaseType.Resolve (), "ItemBase");
+
+
+			fd = getFieldInType (mainModule.GetType ("PersistentPlayerList"), (field, fieldType) => {
+				return fieldType.FullName.Contains ("Dictionary") && fieldType.FullName.Contains ("Vector3i") && fieldType.FullName.Contains ("PersistentPlayerData"); }
+			);
+			if (fd != null) {
+				makeFieldPublic (fd);
+				renameMember (fd, "positionToLPBlockOwner");
+			} else {
+				Console.WriteLine ("FAILED: PersistentPlayerList.positionToLPBlockOwner");
+			}
 
 
@@ -78,4 +108,5 @@
 
 
+			// Fields in PlayerDataFile
 			fd = getFieldInType (mainModule.GetType ("PlayerDataFile"), (field, fieldType) => {
 				return field.Name.Equals ("inventory") && fieldType.IsArray; }
@@ -109,4 +140,5 @@
 
 
+			// Fields in AdminTools
 			fd = getFieldInType (mainModule.GetType ("AdminTools"), (field, fieldType) => {
 				return fieldType.FullName.Contains ("List") && fieldType.FullName.Contains ("AdminToolsCommandPermissions"); }
@@ -120,4 +152,5 @@
 
 
+			// Fields and methods in World
 			fd = getFieldInType (mainModule.GetType ("World"), (field, fieldType) => {
 				return fieldType.FullName.Equals ("System.UInt64"); }
@@ -130,4 +163,31 @@
 
 
+			md = getMethodInType (mainModule.GetType ("World"), (method, isConstructor, retType, paramCount, paramList) => {
+				return !isConstructor && paramCount == 1 && paramList [0].ParameterType.Name.Equals ("PersistentPlayerData") && method.IsPrivate && retType.Name.Equals ("Boolean");
+			}
+			);
+			if (md != null) {
+				md.IsPrivate = false;
+				md.IsPublic = true;
+				renameMember (md, "LandClaimIsActive");
+			} else {
+				Console.WriteLine ("FAILED: World.LandClaimIsActive()");
+			}
+
+
+			md = getMethodInType (mainModule.GetType ("World"), (method, isConstructor, retType, paramCount, paramList) => {
+				return !isConstructor && paramCount == 1 && paramList [0].ParameterType.Name.Equals ("PersistentPlayerData") && method.IsPrivate && retType.Name.Equals ("Single");
+			}
+			);
+			if (md != null) {
+				md.IsPrivate = false;
+				md.IsPublic = true;
+				renameMember (md, "LandClaimPower");
+			} else {
+				Console.WriteLine ("FAILED: World.LandClaimPower()");
+			}
+
+
+			// Fields in GameManager
 			fd = getFieldInType (mainModule.GetType ("GameManager"), (field, fieldType) => {
 				return fieldType.FullName.Equals ("ConnectionManager"); }
@@ -141,4 +201,5 @@
 
 
+			// Fields in ConnectionManager
 			fd = getFieldInType (mainModule.GetType ("ConnectionManager"), (field, fieldType) => {
 				return fieldType.FullName.Equals ("GameManager"); }
@@ -176,4 +237,5 @@
 			TypeDefinition typeConsole = null;
 
+			// Fields in NetTelnetServer
 			fd = getFieldInType (mainModule.GetType ("NetTelnetServer"), (field, fieldType) => {
 				return NameNormalizer.makeValidName (fieldType.Name) != null; }
