diff --git a/Player/PlayerCollection.cs b/GUI/PlayerCollection.cs
similarity index 100%
rename from Player/PlayerCollection.cs
rename to GUI/PlayerCollection.cs
diff --git a/MCGalaxy_.csproj b/MCGalaxy_.csproj
index 597e327f2..0aa8f8ed6 100644
--- a/MCGalaxy_.csproj
+++ b/MCGalaxy_.csproj
@@ -576,7 +576,6 @@
-
diff --git a/Player/Player.Handlers.cs b/Player/Player.Handlers.cs
index 028d789c3..2c08671ed 100644
--- a/Player/Player.Handlers.cs
+++ b/Player/Player.Handlers.cs
@@ -1064,26 +1064,18 @@ try { SendBlockchange(pos1.x, pos1.y, pos1.z, Block.waterstill); } catch { }
// Put this after vote collection so that people can vote even when chat is moderated
if ( Server.chatmod && !voice ) { this.SendMessage("Chat moderation is on, you cannot speak."); return; }
- if ( Server.checkspam ) {
- if ( Player.lastMSG == this.name ) {
+ if (Server.checkspam) {
+ if (Player.lastMSG == name) {
consecutivemessages++;
} else {
consecutivemessages--;
}
- if ( this.consecutivemessages >= Server.spamcounter ) {
- int total = Server.mutespamtime;
+ if (consecutivemessages >= Server.spamcounter) {
+ muteCooldown = Server.mutespamtime;
Command.all.Find("mute").Use(null, name);
Player.GlobalMessage(color + DisplayName + " %Shas been &0muted &efor spamming!");
- muteTimer.Elapsed += delegate {
- total--;
- if ( total <= 0 ) {
- muteTimer.Stop();
- if (muted) Command.all.Find("mute").Use(null, name);
- this.consecutivemessages = 0;
- Player.Message(this, "Remember, no &cspamming %Snext time!");
- }
- };
+ muteTimer.Elapsed += MuteTimerElapsed;
muteTimer.Start();
return;
}
diff --git a/Player/Player.Timers.cs b/Player/Player.Timers.cs
index c7d04ab39..5d7cd113f 100644
--- a/Player/Player.Timers.cs
+++ b/Player/Player.Timers.cs
@@ -45,6 +45,7 @@ namespace MCGalaxy {
CP437Writer.WriteAllText("text/welcome.txt", "Welcome to my server!");
SendMessage("Welcome to my server!");
}
+ loginTimer.Elapsed -= LoginTimerElapsed;
loginTimer.Dispose();
extraTimer.Start();
}
@@ -83,11 +84,12 @@ namespace MCGalaxy {
if (Server.lava.active)
SendMessage("There is a &aLava Survival %Sgame active! Join it by typing /ls go");
+ extraTimer.Elapsed -= ExtraTimerElapsed;
extraTimer.Dispose();
}
void CheckTimerElapsed(object sender, ElapsedEventArgs e) {
- if ( name == "" ) return;
+ if (name == "") return;
SendRaw(Opcode.Ping);
if (Server.afkminutes <= 0) return;
@@ -117,5 +119,17 @@ namespace MCGalaxy {
}
}
}
+
+ int muteCooldown = 0;
+ void MuteTimerElapsed(object sender, ElapsedEventArgs e) {
+ muteCooldown--;
+ if ( muteCooldown > 0) return;
+
+ muteTimer.Stop();
+ muteTimer.Elapsed -= MuteTimerElapsed;
+ if (muted) Command.all.Find("mute").Use(null, name);
+ consecutivemessages = 0;
+ Player.Message(this, "Remember, no &cspamming %Snext time!");
+ }
}
}
diff --git a/Player/Player.cs b/Player/Player.cs
index e3a277c18..87a01aa45 100644
--- a/Player/Player.cs
+++ b/Player/Player.cs
@@ -562,8 +562,10 @@ namespace MCGalaxy {
// FlyBuffer.Clear();
SaveIgnores();
checkTimer.Stop();
+ checkTimer.Elapsed -= CheckTimerElapsed;
checkTimer.Dispose();
muteTimer.Stop();
+ muteTimer.Elapsed -= MuteTimerElapsed;
muteTimer.Dispose();
afkCount = 0;
afkStart = DateTime.Now;
diff --git a/Starter.csproj b/Starter.csproj
index b3466b671..fa9b1b157 100644
--- a/Starter.csproj
+++ b/Starter.csproj
@@ -49,6 +49,7 @@
+
Form