mirror of
https://github.com/ClassiCube/MCGalaxy.git
synced 2025-09-26 23:02:04 -04:00
Remove the unused seralizer.cs (use json instead), remove three old hardcoded commands /care, /facepalm, and /alpaca.
This commit is contained in:
parent
e5cd52ac93
commit
267205b8d9
@ -51,7 +51,7 @@ namespace MCGalaxy.Commands
|
|||||||
// Check the caller's rank
|
// Check the caller's rank
|
||||||
if (p != null && p.group.Permission <= who.group.Permission)
|
if (p != null && p.group.Permission <= who.group.Permission)
|
||||||
{
|
{
|
||||||
Player.SendMessage(p, "you can't warn a player equal or higher rank.");
|
Player.SendMessage(p, "Cannot warn a player of equal or higher rank.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,12 +27,7 @@ namespace MCGalaxy.Commands
|
|||||||
public override bool museumUsable { get { return false; } }
|
public override bool museumUsable { get { return false; } }
|
||||||
public override LevelPermission defaultRank { get { return LevelPermission.Operator; } }
|
public override LevelPermission defaultRank { get { return LevelPermission.Operator; } }
|
||||||
public CmdChain() { }
|
public CmdChain() { }
|
||||||
// Fields
|
|
||||||
public int x;
|
|
||||||
public int y;
|
|
||||||
public int z;
|
|
||||||
|
|
||||||
// Methods
|
|
||||||
public override void Help(Player p)
|
public override void Help(Player p)
|
||||||
{
|
{
|
||||||
Player.SendMessage(p, "/chain - Shoots a chain of brown mushrooms and grabs a block and brings it back to the start.");
|
Player.SendMessage(p, "/chain - Shoots a chain of brown mushrooms and grabs a block and brings it back to the start.");
|
||||||
|
@ -628,7 +628,6 @@
|
|||||||
<Compile Include="Util\MathHelper.cs" />
|
<Compile Include="Util\MathHelper.cs" />
|
||||||
<Compile Include="Util\MCForgeScripter.cs" />
|
<Compile Include="Util\MCForgeScripter.cs" />
|
||||||
<Compile Include="Util\SCOGenerator.cs" />
|
<Compile Include="Util\SCOGenerator.cs" />
|
||||||
<Compile Include="Util\Serializer.cs" />
|
|
||||||
<EmbeddedResource Include="properties\Resources.resx">
|
<EmbeddedResource Include="properties\Resources.resx">
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
<Generator>ResXFileCodeGenerator</Generator>
|
<Generator>ResXFileCodeGenerator</Generator>
|
||||||
|
@ -2029,9 +2029,6 @@ return;
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( cmd.ToLower() == "care" ) { SendMessage("Dmitchell94 now loves you with all his heart."); return; }
|
|
||||||
if ( cmd.ToLower() == "facepalm" ) { SendMessage("Fenderrock87's bot army just simultaneously facepalm'd at your use of this command."); return; }
|
|
||||||
if ( cmd.ToLower() == "alpaca" ) { SendMessage("Leitrean's Alpaca Army just raped your woman and pillaged your villages!"); return; }
|
|
||||||
//DO NOT REMOVE THE TWO COMMANDS BELOW, /PONY AND /RAINBOWDASHLIKESCOOLTHINGS. -EricKilla
|
//DO NOT REMOVE THE TWO COMMANDS BELOW, /PONY AND /RAINBOWDASHLIKESCOOLTHINGS. -EricKilla
|
||||||
if ( cmd.ToLower() == "pony" ) {
|
if ( cmd.ToLower() == "pony" ) {
|
||||||
if ( ponycount < 2 ) {
|
if ( ponycount < 2 ) {
|
||||||
|
@ -1,236 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright 2011 MCGalaxy
|
|
||||||
|
|
||||||
Dual-licensed under the Educational Community License, Version 2.0 and
|
|
||||||
the GNU General Public License, Version 3 (the "Licenses"); you may
|
|
||||||
not use this file except in compliance with the Licenses. You may
|
|
||||||
obtain a copy of the Licenses at
|
|
||||||
|
|
||||||
http://www.opensource.org/licenses/ecl2.php
|
|
||||||
http://www.gnu.org/licenses/gpl-3.0.html
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing,
|
|
||||||
software distributed under the Licenses are distributed on an "AS IS"
|
|
||||||
BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
|
||||||
or implied. See the Licenses for the specific language governing
|
|
||||||
permissions and limitations under the Licenses.
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* Serializer.cs
|
|
||||||
* This is the Serializer class for the PHPSerializationLibrary
|
|
||||||
*
|
|
||||||
* Copyright 2004 Conversive, Inc. (Modified for use with MCGalaxy)
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
using System;
|
|
||||||
using System.Collections;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
namespace MCGalaxy
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Serializer Class.
|
|
||||||
/// </summary>
|
|
||||||
public sealed class Serializer
|
|
||||||
{
|
|
||||||
//types:
|
|
||||||
// N = null
|
|
||||||
// s = string
|
|
||||||
// i = int
|
|
||||||
// d = double
|
|
||||||
// a = array (hashtable)
|
|
||||||
|
|
||||||
private Dictionary<Hashtable, bool> seenHashtables; //for serialize (to infinte prevent loops)
|
|
||||||
private Dictionary<ArrayList, bool> seenArrayLists; //for serialize (to infinte prevent loops) lol
|
|
||||||
|
|
||||||
private int pos; //for unserialize
|
|
||||||
|
|
||||||
public bool XMLSafe = true; //This member tells the serializer wether or not to strip carriage returns from strings when serializing and adding them back in when deserializing
|
|
||||||
//http://www.w3.org/TR/REC-xml/#sec-line-ends
|
|
||||||
|
|
||||||
public Encoding StringEncoding = new System.Text.UTF8Encoding();
|
|
||||||
|
|
||||||
private System.Globalization.NumberFormatInfo nfi;
|
|
||||||
|
|
||||||
public Serializer()
|
|
||||||
{
|
|
||||||
this.nfi = new System.Globalization.NumberFormatInfo();
|
|
||||||
this.nfi.NumberGroupSeparator = "";
|
|
||||||
this.nfi.NumberDecimalSeparator = ".";
|
|
||||||
}
|
|
||||||
|
|
||||||
public string Serialize(object obj)
|
|
||||||
{
|
|
||||||
this.seenArrayLists = new Dictionary<ArrayList, bool>();
|
|
||||||
this.seenHashtables = new Dictionary<Hashtable, bool>();
|
|
||||||
|
|
||||||
return this.serialize(obj, new StringBuilder()).ToString();
|
|
||||||
}//Serialize(object obj)
|
|
||||||
|
|
||||||
private StringBuilder serialize(object obj, StringBuilder sb)
|
|
||||||
{
|
|
||||||
if(obj == null)
|
|
||||||
{
|
|
||||||
return sb.Append("N;");
|
|
||||||
}
|
|
||||||
else if(obj is string)
|
|
||||||
{
|
|
||||||
string str = (string)obj;
|
|
||||||
if(this.XMLSafe)
|
|
||||||
{
|
|
||||||
str = str.Replace("\r\n","\n");//replace \r\n with \n
|
|
||||||
str = str.Replace("\r", "\n");//replace \r not followed by \n with a single \n Should we do this?
|
|
||||||
}
|
|
||||||
return sb.Append("s:" + this.StringEncoding.GetByteCount(str) + ":\"" + str + "\";");
|
|
||||||
}
|
|
||||||
else if(obj is bool)
|
|
||||||
{
|
|
||||||
return sb.Append("b:" + (((bool)obj) ? "1" : "0") + ";");
|
|
||||||
}
|
|
||||||
else if(obj is int)
|
|
||||||
{
|
|
||||||
int i = (int)obj;
|
|
||||||
return sb.Append("i:" + i.ToString(this.nfi) + ";");
|
|
||||||
}
|
|
||||||
else if(obj is double)
|
|
||||||
{
|
|
||||||
double d = (double)obj;
|
|
||||||
|
|
||||||
return sb.Append("d:" + d.ToString(this.nfi) + ";");
|
|
||||||
}
|
|
||||||
else if(obj is ArrayList)
|
|
||||||
{
|
|
||||||
if (this.seenArrayLists.ContainsKey((ArrayList)obj))
|
|
||||||
return sb.Append("N;");//cycle detected
|
|
||||||
else
|
|
||||||
this.seenArrayLists.Add((ArrayList)obj, true);
|
|
||||||
|
|
||||||
ArrayList a = (ArrayList)obj;
|
|
||||||
sb.Append("a:" + a.Count + ":{");
|
|
||||||
for(int i = 0; i < a.Count; i++)
|
|
||||||
{
|
|
||||||
this.serialize(i, sb);
|
|
||||||
this.serialize(a[i], sb);
|
|
||||||
}
|
|
||||||
sb.Append("}");
|
|
||||||
return sb;
|
|
||||||
}
|
|
||||||
else if(obj is Hashtable)
|
|
||||||
{
|
|
||||||
if (this.seenHashtables.ContainsKey((Hashtable)obj))
|
|
||||||
return sb.Append("N;");//cycle detected
|
|
||||||
else
|
|
||||||
this.seenHashtables.Add((Hashtable)obj, true);
|
|
||||||
|
|
||||||
Hashtable a = (Hashtable)obj;
|
|
||||||
sb.Append("a:" + a.Count + ":{");
|
|
||||||
foreach(DictionaryEntry entry in a)
|
|
||||||
{
|
|
||||||
this.serialize(entry.Key, sb);
|
|
||||||
this.serialize(entry.Value, sb);
|
|
||||||
}
|
|
||||||
sb.Append("}");
|
|
||||||
return sb;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return sb;
|
|
||||||
}
|
|
||||||
}//Serialize(object obj)
|
|
||||||
|
|
||||||
public object Deserialize(string str)
|
|
||||||
{
|
|
||||||
this.pos = 0;
|
|
||||||
return deserialize(str);
|
|
||||||
}//Deserialize(string str)
|
|
||||||
|
|
||||||
private object deserialize(string str)
|
|
||||||
{
|
|
||||||
if(str == null || str.Length <= this.pos)
|
|
||||||
return new Object();
|
|
||||||
|
|
||||||
int start, end, length;
|
|
||||||
string stLen;
|
|
||||||
switch(str[this.pos])
|
|
||||||
{
|
|
||||||
case 'N':
|
|
||||||
this.pos += 2;
|
|
||||||
return null;
|
|
||||||
case 'b':
|
|
||||||
char chBool;
|
|
||||||
chBool = str[pos + 2];
|
|
||||||
this.pos += 4;
|
|
||||||
return chBool == '1';
|
|
||||||
case 'i':
|
|
||||||
string stInt;
|
|
||||||
start = str.IndexOf(":", this.pos) + 1;
|
|
||||||
end = str.IndexOf(";", start);
|
|
||||||
stInt = str.Substring(start, end - start);
|
|
||||||
this.pos += 3 + stInt.Length;
|
|
||||||
return Int32.Parse(stInt, this.nfi);
|
|
||||||
case 'd':
|
|
||||||
string stDouble;
|
|
||||||
start = str.IndexOf(":", this.pos) + 1;
|
|
||||||
end = str.IndexOf(";", start);
|
|
||||||
stDouble = str.Substring(start, end - start);
|
|
||||||
this.pos += 3 + stDouble.Length;
|
|
||||||
return Double.Parse(stDouble, this.nfi);
|
|
||||||
case 's':
|
|
||||||
start = str.IndexOf(":", this.pos) + 1;
|
|
||||||
end = str.IndexOf(":", start);
|
|
||||||
stLen = str.Substring(start, end - start);
|
|
||||||
int bytelen = Int32.Parse(stLen);
|
|
||||||
length=bytelen;
|
|
||||||
//This is the byte length, not the character length - so we migth
|
|
||||||
//need to shorten it before usage. This also implies bounds checking
|
|
||||||
if ((end+2+length)>=str.Length) length=str.Length-2-end;
|
|
||||||
string stRet = str.Substring(end + 2, length);
|
|
||||||
while (this.StringEncoding.GetByteCount(stRet)>bytelen)
|
|
||||||
{
|
|
||||||
length--;
|
|
||||||
stRet = str.Substring(end + 2, length);
|
|
||||||
}
|
|
||||||
this.pos += 6 + stLen.Length + length;
|
|
||||||
if(this.XMLSafe)
|
|
||||||
{
|
|
||||||
stRet = stRet.Replace("\n", "\r\n");
|
|
||||||
}
|
|
||||||
return stRet;
|
|
||||||
case 'a':
|
|
||||||
//if keys are ints 0 through N, returns an ArrayList, else returns Hashtable
|
|
||||||
start = str.IndexOf(":", this.pos) + 1;
|
|
||||||
end = str.IndexOf(":", start);
|
|
||||||
stLen = str.Substring(start, end - start);
|
|
||||||
length = Int32.Parse(stLen);
|
|
||||||
Hashtable htRet = new Hashtable(length);
|
|
||||||
ArrayList alRet = new ArrayList(length);
|
|
||||||
this.pos += 4 + stLen.Length; //a:Len:{
|
|
||||||
for(int i = 0; i < length; i++)
|
|
||||||
{
|
|
||||||
//read key
|
|
||||||
object key = deserialize(str);
|
|
||||||
//read value
|
|
||||||
object val = deserialize(str);
|
|
||||||
|
|
||||||
if(alRet != null)
|
|
||||||
{
|
|
||||||
if(key is int && (int)key == alRet.Count)
|
|
||||||
alRet.Add(val);
|
|
||||||
else
|
|
||||||
alRet = null;
|
|
||||||
}
|
|
||||||
htRet[key] = val;
|
|
||||||
}
|
|
||||||
this.pos++; //skip the }
|
|
||||||
if(this.pos < str.Length && str[this.pos] == ';')//skipping our old extra array semi-colon bug (er... php's weirdness)
|
|
||||||
this.pos++;
|
|
||||||
if(alRet != null)
|
|
||||||
return alRet;
|
|
||||||
else
|
|
||||||
return htRet;
|
|
||||||
default:
|
|
||||||
return "";
|
|
||||||
}//switch
|
|
||||||
}//unserialzie(object)
|
|
||||||
}//class Serializer
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user