Update to Mintaka (thanks @enerdy)

This commit is contained in:
Lucas Nicodemus 2016-12-06 17:36:44 -07:00
parent d728a24902
commit 678f6c7cf8
No known key found for this signature in database
GPG key ID: CEE668CCE1BF2C7C
29 changed files with 51 additions and 39 deletions

View file

@ -62,7 +62,7 @@ namespace TShockAPI
string worldname = Main.worldPathName;
string name = Path.GetFileName(worldname);
Main.worldPathName = Path.Combine(BackupPath, string.Format("{0}.{1:dd.MM.yy-HH.mm.ss}.bak", name, DateTime.UtcNow));
Main.ActiveWorldFileData._path = Path.Combine(BackupPath, string.Format("{0}.{1:dd.MM.yy-HH.mm.ss}.bak", name, DateTime.UtcNow));
string worldpath = Path.GetDirectoryName(Main.worldPathName);
if (worldpath != null && !Directory.Exists(worldpath))
@ -80,7 +80,7 @@ namespace TShockAPI
Console.ForegroundColor = ConsoleColor.Gray;
TShock.Log.Info(string.Format("World backed up ({0}).", Main.worldPathName));
Main.worldPathName = worldname;
Main.ActiveWorldFileData._path = worldname;
}
catch (Exception ex)
{

6
TShockAPI/Commands.cs Executable file → Normal file
View file

@ -31,6 +31,8 @@ using TShockAPI.DB;
using TerrariaApi.Server;
using TShockAPI.Hooks;
using Terraria.GameContent.Events;
using Microsoft.Xna.Framework;
using OTAPI.Tile;
namespace TShockAPI
{
@ -2116,7 +2118,7 @@ namespace TShockAPI
else
{
Main.anglerWhoFinishedToday.Clear();
NetMessage.SendAnglerQuest();
NetMessage.SendAnglerQuest(-1);
args.Player.SendSuccessMessage("Cleared all users from the angler quest completion list for today.");
}
}
@ -4437,7 +4439,7 @@ namespace TShockAPI
// Could be improved by sending raw tile data to the client instead but not really
// worth the effort as chances are very low that overwriting the wire for a few
// nanoseconds will cause much trouble.
Tile tile = Main.tile[boundaryPoint.X, boundaryPoint.Y];
ITile tile = Main.tile[boundaryPoint.X, boundaryPoint.Y];
bool oldWireState = tile.wire();
tile.wire(true);

0
TShockAPI/ConfigFile.cs Executable file → Normal file
View file

0
TShockAPI/DB/BanManager.cs Executable file → Normal file
View file

0
TShockAPI/DB/CharacterManager.cs Executable file → Normal file
View file

0
TShockAPI/DB/GroupManager.cs Executable file → Normal file
View file

0
TShockAPI/DB/ItemManager.cs Executable file → Normal file
View file

0
TShockAPI/DB/ProjectileManager.cs Executable file → Normal file
View file

1
TShockAPI/DB/RegionManager.cs Executable file → Normal file
View file

@ -22,6 +22,7 @@ using System.Data;
using System.Linq;
using MySql.Data.MySqlClient;
using Terraria;
using Microsoft.Xna.Framework;
namespace TShockAPI.DB
{

1
TShockAPI/DB/RememberedPosManager.cs Executable file → Normal file
View file

@ -20,6 +20,7 @@ using System;
using System.Data;
using MySql.Data.MySqlClient;
using Terraria;
using Microsoft.Xna.Framework;
namespace TShockAPI.DB
{

0
TShockAPI/DB/SqlTable.cs Executable file → Normal file
View file

0
TShockAPI/DB/TileManager.cs Executable file → Normal file
View file

0
TShockAPI/DB/UserManager.cs Executable file → Normal file
View file

1
TShockAPI/DB/WarpsManager.cs Executable file → Normal file
View file

@ -23,6 +23,7 @@ using System.Diagnostics.CodeAnalysis;
using System.Linq;
using MySql.Data.MySqlClient;
using Terraria;
using Microsoft.Xna.Framework;
namespace TShockAPI.DB
{

4
TShockAPI/GetDataHandlers.cs Executable file → Normal file
View file

@ -32,6 +32,8 @@ using Terraria;
using Terraria.ObjectData;
using Terraria.DataStructures;
using Terraria.GameContent.Tile_Entities;
using Microsoft.Xna.Framework;
using OTAPI.Tile;
namespace TShockAPI
{
@ -2053,7 +2055,7 @@ namespace TShockAPI
Item selectedItem = args.Player.SelectedItem;
int lastKilledProj = args.Player.LastKilledProjectile;
Tile tile = Main.tile[tileX, tileY];
ITile tile = Main.tile[tileX, tileY];
if (action == EditAction.PlaceTile)
{

0
TShockAPI/Hooks/AccountHooks.cs Executable file → Normal file
View file

View file

@ -16,6 +16,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
using Microsoft.Xna.Framework;
using System;
using System.Collections;
using System.Collections.Generic;

View file

@ -16,7 +16,8 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
using Terraria;
using Microsoft.Xna.Framework;
using Terraria;
using TShockAPI;
namespace TShockAPI

0
TShockAPI/Properties/AssemblyInfo.cs Executable file → Normal file
View file

View file

@ -23,6 +23,7 @@ using System.Net;
using HttpServer;
using TShockAPI;
using TShockAPI.DB;
using Microsoft.Xna.Framework;
namespace Rests
{

View file

@ -15,6 +15,7 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
using Microsoft.Xna.Framework;
using System;
using System.Collections.Generic;
using System.Threading;

14
TShockAPI/TSPlayer.cs Executable file → Normal file
View file

@ -16,6 +16,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
using Microsoft.Xna.Framework;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
@ -24,6 +25,7 @@ using System.IO;
using System.Text;
using System.Threading;
using System.Timers;
using OTAPI.Tile;
using Terraria;
using Terraria.DataStructures;
using Terraria.ID;
@ -121,12 +123,12 @@ namespace TShockAPI
/// <summary>
/// A queue of tiles destroyed by the player for reverting.
/// </summary>
public Dictionary<Vector2, Tile> TilesDestroyed { get; protected set; }
public Dictionary<Vector2, ITile> TilesDestroyed { get; protected set; }
/// <summary>
/// A queue of tiles placed by the player for reverting.
/// </summary>
public Dictionary<Vector2, Tile> TilesCreated { get; protected set; }
public Dictionary<Vector2, ITile> TilesCreated { get; protected set; }
/// <summary>
/// The player's group.
@ -641,8 +643,8 @@ namespace TShockAPI
/// <param name="index">The player's index in the.</param>
public TSPlayer(int index)
{
TilesDestroyed = new Dictionary<Vector2, Tile>();
TilesCreated = new Dictionary<Vector2, Tile>();
TilesDestroyed = new Dictionary<Vector2, ITile>();
TilesCreated = new Dictionary<Vector2, ITile>();
Index = index;
Group = Group.DefaultGroup;
IceTiles = new List<Point>();
@ -655,8 +657,8 @@ namespace TShockAPI
/// <param name="playerName">The player's name.</param>
protected TSPlayer(String playerName)
{
TilesDestroyed = new Dictionary<Vector2, Tile>();
TilesCreated = new Dictionary<Vector2, Tile>();
TilesDestroyed = new Dictionary<Vector2, ITile>();
TilesCreated = new Dictionary<Vector2, ITile>();
Index = -1;
FakePlayer = new Player {name = playerName, whoAmI = -1};
Group = Group.DefaultGroup;

View file

@ -16,6 +16,8 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
using Microsoft.Xna.Framework;
using OTAPI.Tile;
using System;
using System.Collections.Generic;
using Terraria;
@ -165,10 +167,10 @@ namespace TShockAPI
NetMessage.SendData((int)PacketTypes.NpcStrike, -1, -1, "", npcid, damage, knockBack, hitDirection);
}
public void RevertTiles(Dictionary<Vector2, Tile> tiles)
public void RevertTiles(Dictionary<Vector2, ITile> tiles)
{
// Update Main.Tile first so that when tile sqaure is sent it is correct
foreach (KeyValuePair<Vector2, Tile> entry in tiles)
foreach (KeyValuePair<Vector2, ITile> entry in tiles)
{
Main.tile[(int)entry.Key.X, (int)entry.Key.Y] = entry.Value;
}

14
TShockAPI/TShock.cs Executable file → Normal file
View file

@ -39,6 +39,7 @@ using TShockAPI.DB;
using TShockAPI.Hooks;
using TShockAPI.ServerSideCharacters;
using Terraria.Utilities;
using Microsoft.Xna.Framework;
namespace TShockAPI
{
@ -578,7 +579,7 @@ namespace TShockAPI
{
if (Main.worldPathName != null && Config.SaveWorldOnCrash)
{
Main.worldPathName += ".crash";
Main.ActiveWorldFileData._path += ".crash";
SaveManager.Instance.SaveWorld();
}
}
@ -675,7 +676,7 @@ namespace TShockAPI
}
case "-autoshutdown":
{
Main.instance.autoShut();
Main.instance.EnableAutoShutdown();
break;
}
case "-autocreate":
@ -705,9 +706,11 @@ namespace TShockAPI
int limit;
if (int.TryParse(parms[++i], out limit))
{
/* Todo - Requires an OTAPI modification
Netplay.MaxConnections = limit;
ServerApi.LogWriter.PluginWriteLine(this, string.Format(
"Connections per IP have been limited to {0} connections.", limit), TraceLevel.Verbose);
"Connections per IP have been limited to {0} connections.", limit), TraceLevel.Verbose);*/
ServerApi.LogWriter.PluginWriteLine(this, "\"-connperip\" is not supported in this version of TShock.", TraceLevel.Verbose);
}
else
ServerApi.LogWriter.PluginWriteLine(this, "Invalid value given for command line argument \"-connperip\".", TraceLevel.Warning);
@ -1684,7 +1687,10 @@ namespace TShockAPI
invasionSize = 100 + (Config.InvasionMultiplier * Utils.ActivePlayers());
}
Main.StartInvasion(type, invasionSize);
// Note: This is a workaround to previously providing the size as a parameter in StartInvasion
Main.invasionSize = invasionSize;
Main.StartInvasion(type);
}
/// <summary>CheckProjectilePermission - Checks if a projectile is banned.</summary>

View file

@ -72,9 +72,16 @@
<HintPath>..\packages\Newtonsoft.Json.8.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="OTAPI">
<HintPath>..\prebuilts\OTAPI.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Web" />
<Reference Include="TerrariaServer, Version=1.3.4.4, Culture=neutral, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\prebuilts\TerrariaServer.exe</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="BackupManager.cs" />
@ -177,12 +184,6 @@
<Install>true</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\TerrariaServerAPI\TerrariaServer.csproj">
<Project>{6877506E-ADC6-4142-98A6-79E4FA02855A}</Project>
<Name>TerrariaServer</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PreBuildEvent>
@ -194,7 +195,7 @@
</PropertyGroup>
<ProjectExtensions>
<VisualStudio>
<UserProperties BuildVersion_UpdateAssemblyVersion="True" BuildVersion_UpdateFileVersion="True" BuildVersion_BuildAction="Both" BuildVersion_BuildVersioningStyle="None.None.None.MonthAndDayStamp" BuildVersion_StartDate="2011/6/17" BuildVersion_IncrementBeforeBuild="False" />
<UserProperties BuildVersion_IncrementBeforeBuild="False" BuildVersion_StartDate="2011/6/17" BuildVersion_BuildVersioningStyle="None.None.None.MonthAndDayStamp" BuildVersion_BuildAction="Both" BuildVersion_UpdateFileVersion="True" BuildVersion_UpdateAssemblyVersion="True" />
</VisualStudio>
</ProjectExtensions>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.

1
TShockAPI/UpdateManager.cs Executable file → Normal file
View file

@ -22,6 +22,7 @@ using System.IO;
using System.Net;
using System.Threading;
using Newtonsoft.Json;
using Microsoft.Xna.Framework;
namespace TShockAPI
{

View file

@ -29,6 +29,7 @@ using Terraria;
using Terraria.ID;
using TShockAPI.DB;
using BCrypt.Net;
using Microsoft.Xna.Framework;
namespace TShockAPI
{