Initial Commit of 1.2.4, all data handlers are currently off.
This commit is contained in:
parent
8d32d16bff
commit
871ad1fd2a
11 changed files with 109 additions and 88 deletions
|
|
@ -4634,7 +4634,7 @@ namespace TShockAPI
|
|||
}
|
||||
if (args.Parameters.Count == 2)
|
||||
int.TryParse(args.Parameters[1], out time);
|
||||
if (id > 0 && id < Main.maxBuffs)
|
||||
if (id > 0 && id < Main.maxBuffTypes)
|
||||
{
|
||||
if (time < 0 || time > short.MaxValue)
|
||||
time = 60;
|
||||
|
|
@ -4685,7 +4685,7 @@ namespace TShockAPI
|
|||
}
|
||||
if (args.Parameters.Count == 3)
|
||||
int.TryParse(args.Parameters[2], out time);
|
||||
if (id > 0 && id < Main.maxBuffs)
|
||||
if (id > 0 && id < Main.maxBuffTypes)
|
||||
{
|
||||
if (time < 0 || time > short.MaxValue)
|
||||
time = 60;
|
||||
|
|
|
|||
|
|
@ -1198,7 +1198,7 @@ namespace TShockAPI
|
|||
{
|
||||
#region Blacklists
|
||||
|
||||
WhitelistBuffMaxTime = new int[Main.maxBuffs];
|
||||
WhitelistBuffMaxTime = new int[Main.maxBuffTypes];
|
||||
WhitelistBuffMaxTime[20] = 600;
|
||||
WhitelistBuffMaxTime[0x18] = 1200;
|
||||
WhitelistBuffMaxTime[0x1f] = 120;
|
||||
|
|
@ -3218,7 +3218,7 @@ namespace TShockAPI
|
|||
if (OnPlayerBuffUpdate(id))
|
||||
return true;
|
||||
|
||||
for (int i = 0; i < 10; i++)
|
||||
for (int i = 0; i < Terraria.Player.maxBuffs; i++)
|
||||
{
|
||||
var buff = args.Data.ReadInt8();
|
||||
|
||||
|
|
|
|||
|
|
@ -32,12 +32,12 @@ namespace TShockAPI.Net
|
|||
public void PackFull(Stream stream)
|
||||
{
|
||||
long start = stream.Position;
|
||||
stream.WriteInt32(1);
|
||||
stream.WriteInt16(0);
|
||||
stream.WriteInt8((byte) ID);
|
||||
Pack(stream);
|
||||
long end = stream.Position;
|
||||
stream.Position = start;
|
||||
stream.WriteInt32((int) (end - start) - 4);
|
||||
stream.WriteInt16((short)end);
|
||||
stream.Position = end;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -41,8 +41,7 @@ namespace TShockAPI.Net
|
|||
stream.WriteSingle(0);
|
||||
stream.WriteInt16(0);
|
||||
stream.WriteByte(Owner);
|
||||
stream.WriteByte(0);
|
||||
stream.WriteSingle(0);
|
||||
stream.WriteInt16(0);
|
||||
stream.WriteSingle(0);
|
||||
stream.WriteSingle(0);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,8 +28,8 @@ namespace TShockAPI.Net
|
|||
get { return PacketTypes.PlayerSpawn; }
|
||||
}
|
||||
|
||||
public int TileX { get; set; }
|
||||
public int TileY { get; set; }
|
||||
public short TileX { get; set; }
|
||||
public short TileY { get; set; }
|
||||
public byte PlayerIndex { get; set; }
|
||||
|
||||
public override void Pack(Stream stream)
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ using System;
|
|||
using System.IO;
|
||||
using System.IO.Streams;
|
||||
using System.Text;
|
||||
using Terraria;
|
||||
|
||||
namespace TShockAPI.Net
|
||||
{
|
||||
|
|
@ -58,12 +59,12 @@ namespace TShockAPI.Net
|
|||
public byte MoonPhase { get; set; }
|
||||
public bool BloodMoon { get; set; }
|
||||
public bool Eclipse { get; set; }
|
||||
public int MaxTilesX { get; set; }
|
||||
public int MaxTilesY { get; set; }
|
||||
public int SpawnX { get; set; }
|
||||
public int SpawnY { get; set; }
|
||||
public int WorldSurface { get; set; }
|
||||
public int RockLayer { get; set; }
|
||||
public short MaxTilesX { get; set; }
|
||||
public short MaxTilesY { get; set; }
|
||||
public short SpawnX { get; set; }
|
||||
public short SpawnY { get; set; }
|
||||
public short WorldSurface { get; set; }
|
||||
public short RockLayer { get; set; }
|
||||
public int WorldID { get; set; }
|
||||
public byte MoonType { get; set; }
|
||||
public int TreeX0 { get; set; }
|
||||
|
|
@ -105,50 +106,71 @@ namespace TShockAPI.Net
|
|||
|
||||
public override void Pack(Stream stream)
|
||||
{
|
||||
stream.WriteInt32(Time);
|
||||
stream.WriteBoolean(DayTime);
|
||||
stream.WriteInt8(MoonPhase);
|
||||
stream.WriteBoolean(BloodMoon);
|
||||
stream.WriteBoolean(Eclipse);
|
||||
stream.WriteInt32(MaxTilesX);
|
||||
stream.WriteInt32(MaxTilesY);
|
||||
stream.WriteInt32(SpawnX);
|
||||
stream.WriteInt32(SpawnY);
|
||||
stream.WriteInt32(WorldSurface);
|
||||
stream.WriteInt32(RockLayer);
|
||||
stream.WriteInt32(WorldID);
|
||||
stream.WriteByte(MoonType);
|
||||
stream.WriteInt32(TreeX0);
|
||||
stream.WriteInt32(TreeX1);
|
||||
stream.WriteInt32(TreeX2);
|
||||
stream.WriteByte(TreeStyle0);
|
||||
stream.WriteByte(TreeStyle1);
|
||||
stream.WriteByte(TreeStyle2);
|
||||
stream.WriteByte(TreeStyle3);
|
||||
stream.WriteInt32(CaveBackX0);
|
||||
stream.WriteInt32(CaveBackX1);
|
||||
stream.WriteInt32(CaveBackX2);
|
||||
stream.WriteByte(CaveBackStyle0);
|
||||
stream.WriteByte(CaveBackStyle1);
|
||||
stream.WriteByte(CaveBackStyle2);
|
||||
stream.WriteByte(CaveBackStyle3);
|
||||
stream.WriteByte(SetBG0);
|
||||
stream.WriteByte(SetBG1);
|
||||
stream.WriteByte(SetBG2);
|
||||
stream.WriteByte(SetBG3);
|
||||
stream.WriteByte(SetBG4);
|
||||
stream.WriteByte(SetBG5);
|
||||
stream.WriteByte(SetBG6);
|
||||
stream.WriteByte(SetBG7);
|
||||
stream.WriteByte(IceBackStyle);
|
||||
stream.WriteByte(JungleBackStyle);
|
||||
stream.WriteByte(HellBackStyle);
|
||||
stream.WriteSingle(WindSpeed);
|
||||
stream.WriteByte(NumberOfClouds);
|
||||
stream.WriteInt8((byte)BossFlags);
|
||||
stream.WriteInt8((byte)BossFlags2);
|
||||
stream.WriteSingle(Rain);
|
||||
stream.WriteBytes(Encoding.UTF8.GetBytes(WorldName));
|
||||
BinaryWriter writer = new BinaryWriter(stream);
|
||||
writer.Write(Time);
|
||||
BitsByte worldinfo = new BitsByte(DayTime, BloodMoon, Eclipse);
|
||||
writer.Write(worldinfo);
|
||||
writer.Write(MoonPhase);
|
||||
writer.Write(MaxTilesX);
|
||||
writer.Write(MaxTilesY);
|
||||
writer.Write(SpawnX);
|
||||
writer.Write(SpawnY);
|
||||
writer.Write(WorldSurface);
|
||||
writer.Write(RockLayer);
|
||||
writer.Write(WorldID);
|
||||
writer.Write(WorldName);
|
||||
writer.Write(MoonType);
|
||||
|
||||
writer.Write(SetBG0);
|
||||
writer.Write(SetBG1);
|
||||
writer.Write(SetBG2);
|
||||
writer.Write(SetBG3);
|
||||
writer.Write(SetBG4);
|
||||
writer.Write(SetBG5);
|
||||
writer.Write(SetBG6);
|
||||
writer.Write(SetBG7);
|
||||
writer.Write(IceBackStyle);
|
||||
writer.Write(JungleBackStyle);
|
||||
writer.Write(HellBackStyle);
|
||||
writer.Write(WindSpeed);
|
||||
writer.Write(NumberOfClouds);
|
||||
|
||||
writer.Write(TreeX0);
|
||||
writer.Write(TreeX1);
|
||||
writer.Write(TreeX2);
|
||||
writer.Write(TreeStyle0);
|
||||
writer.Write(TreeStyle1);
|
||||
writer.Write(TreeStyle2);
|
||||
writer.Write(TreeStyle3);
|
||||
writer.Write(CaveBackX0);
|
||||
writer.Write(CaveBackX1);
|
||||
writer.Write(CaveBackX2);
|
||||
writer.Write(CaveBackStyle0);
|
||||
writer.Write(CaveBackStyle1);
|
||||
writer.Write(CaveBackStyle2);
|
||||
writer.Write(CaveBackStyle3);
|
||||
|
||||
writer.Write(Rain);
|
||||
|
||||
BitsByte bosses1 = new BitsByte((BossFlags & BossFlags.OrbSmashed) == BossFlags.OrbSmashed,
|
||||
(BossFlags & BossFlags.DownedBoss1) == BossFlags.DownedBoss1,
|
||||
(BossFlags & BossFlags.DownedBoss2) == BossFlags.DownedBoss2,
|
||||
(BossFlags & BossFlags.DownedBoss3) == BossFlags.DownedBoss3,
|
||||
(BossFlags & BossFlags.HardMode) == BossFlags.HardMode,
|
||||
(BossFlags & BossFlags.DownedClown) == BossFlags.DownedClown,
|
||||
(BossFlags & BossFlags.ServerSideCharacter) == BossFlags.ServerSideCharacter,
|
||||
(BossFlags & BossFlags.DownedPlantBoss) == BossFlags.DownedPlantBoss);
|
||||
writer.Write(bosses1);
|
||||
|
||||
BitsByte bosses2 = new BitsByte((BossFlags2 & BossFlags2.DownedMechBoss1) == BossFlags2.DownedMechBoss1,
|
||||
(BossFlags2 & BossFlags2.DownedMechBoss2) == BossFlags2.DownedMechBoss2,
|
||||
(BossFlags2 & BossFlags2.DownedMechBoss3) == BossFlags2.DownedMechBoss3,
|
||||
(BossFlags2 & BossFlags2.DownedMechBossAny) == BossFlags2.DownedMechBossAny,
|
||||
(BossFlags2 & BossFlags2.CloudBg) == BossFlags2.CloudBg,
|
||||
(BossFlags2 & BossFlags2.Crimson) == BossFlags2.Crimson,
|
||||
(BossFlags2 & BossFlags2.PumpkinMoon) == BossFlags2.PumpkinMoon,
|
||||
(BossFlags2 & BossFlags2.SnowMoon) == BossFlags2.SnowMoon);
|
||||
writer.Write(bosses2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -125,12 +125,12 @@ namespace TShockAPI
|
|||
if (task.direct)
|
||||
{
|
||||
OnSaveWorld(new WorldSaveEventArgs());
|
||||
WorldFile.realsaveWorld(task.resetTime);
|
||||
WorldFile.RealSaveWorld(task.resetTime);
|
||||
}
|
||||
else
|
||||
WorldFile.saveWorld(task.resetTime);
|
||||
TShock.Utils.Broadcast("World saved.", Color.Yellow);
|
||||
Log.Info(string.Format("World saved at ({0})", Main.worldPathName));
|
||||
TShock.Utils.Broadcast("World saved.", Color.Yellow);
|
||||
Log.Info(string.Format("World saved at ({0})", Main.worldPathName));
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -525,12 +525,12 @@ namespace TShockAPI
|
|||
DayTime = Main.dayTime,
|
||||
MoonPhase = (byte)Main.moonPhase,
|
||||
BloodMoon = Main.bloodMoon,
|
||||
MaxTilesX = Main.maxTilesX,
|
||||
MaxTilesY = Main.maxTilesY,
|
||||
SpawnX = Main.spawnTileX,
|
||||
SpawnY = Main.spawnTileY,
|
||||
WorldSurface = (int)Main.worldSurface,
|
||||
RockLayer = (int)Main.rockLayer,
|
||||
MaxTilesX = (short)Main.maxTilesX,
|
||||
MaxTilesY = (short)Main.maxTilesY,
|
||||
SpawnX = (short)Main.spawnTileX,
|
||||
SpawnY = (short)Main.spawnTileY,
|
||||
WorldSurface = (short)Main.worldSurface,
|
||||
RockLayer = (short)Main.rockLayer,
|
||||
//Sending a fake world id causes the client to not be able to find a stored spawnx/y.
|
||||
//This fixes the bed spawn point bug. With a fake world id it wont be able to find the bed spawn.
|
||||
WorldID = Main.worldID,
|
||||
|
|
@ -636,8 +636,8 @@ namespace TShockAPI
|
|||
var msg = new SpawnMsg
|
||||
{
|
||||
PlayerIndex = (byte) Index,
|
||||
TileX = tilex,
|
||||
TileY = tiley
|
||||
TileX = (short)tilex,
|
||||
TileY = (short)tiley
|
||||
};
|
||||
msg.PackFull(ms);
|
||||
SendRawData(ms.ToArray());
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ using System.Threading.Tasks;
|
|||
|
||||
namespace TShockAPI
|
||||
{
|
||||
[ApiVersion(1, 15)]
|
||||
[ApiVersion(1, 16)]
|
||||
public class TShock : TerrariaPlugin
|
||||
{
|
||||
public static readonly Version VersionNum = Assembly.GetExecutingAssembly().GetName().Version;
|
||||
|
|
@ -1150,7 +1150,7 @@ namespace TShockAPI
|
|||
if (e.Handled)
|
||||
return;
|
||||
|
||||
PacketTypes type = e.MsgID;
|
||||
/*PacketTypes type = e.MsgID;
|
||||
|
||||
Debug.WriteLine("Recv: {0:X}: {2} ({1:XX})", e.Msg.whoAmI, (byte) type, type);
|
||||
|
||||
|
|
@ -1174,11 +1174,11 @@ namespace TShockAPI
|
|||
return;
|
||||
}
|
||||
|
||||
using (var data = new MemoryStream(e.Msg.readBuffer, e.Index, e.Length))
|
||||
using (var data = new MemoryStream(e.Msg.readBuffer, e.Index, e.Length - 1))
|
||||
{
|
||||
// Exceptions are already handled
|
||||
e.Handled = GetDataHandlers.HandlerGetData(type, player, data);
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
private void OnGreetPlayer(GreetPlayerEventArgs args)
|
||||
|
|
@ -1359,12 +1359,12 @@ namespace TShockAPI
|
|||
DayTime = Main.dayTime,
|
||||
MoonPhase = (byte)Main.moonPhase,
|
||||
BloodMoon = Main.bloodMoon,
|
||||
MaxTilesX = Main.maxTilesX,
|
||||
MaxTilesY = Main.maxTilesY,
|
||||
SpawnX = Main.spawnTileX,
|
||||
SpawnY = Main.spawnTileY,
|
||||
WorldSurface = (int)Main.worldSurface,
|
||||
RockLayer = (int)Main.rockLayer,
|
||||
MaxTilesX = (short)Main.maxTilesX,
|
||||
MaxTilesY = (short)Main.maxTilesY,
|
||||
SpawnX = (short)Main.spawnTileX,
|
||||
SpawnY = (short)Main.spawnTileY,
|
||||
WorldSurface = (short)Main.worldSurface,
|
||||
RockLayer = (short)Main.rockLayer,
|
||||
//Sending a fake world id causes the client to not be able to find a stored spawnx/y.
|
||||
//This fixes the bed spawn point bug. With a fake world id it wont be able to find the bed spawn.
|
||||
WorldID = Main.worldID,
|
||||
|
|
@ -1408,7 +1408,7 @@ namespace TShockAPI
|
|||
(NPC.downedMechBoss2 ? BossFlags2.DownedMechBoss2 : BossFlags2.None) |
|
||||
(NPC.downedMechBoss3 ? BossFlags2.DownedMechBoss3 : BossFlags2.None) |
|
||||
(NPC.downedMechBossAny ? BossFlags2.DownedMechBossAny : BossFlags2.None) |
|
||||
(Main.cloudBGActive == 1f ? BossFlags2.CloudBg : BossFlags2.None) |
|
||||
(Main.cloudBGActive >= 1f ? BossFlags2.CloudBg : BossFlags2.None) |
|
||||
(WorldGen.crimson ? BossFlags2.Crimson : BossFlags2.None) |
|
||||
(Main.pumpkinMoon ? BossFlags2.PumpkinMoon : BossFlags2.None) |
|
||||
(Main.snowMoon ? BossFlags2.SnowMoon : BossFlags2.None) ,
|
||||
|
|
|
|||
|
|
@ -442,7 +442,7 @@ namespace TShockAPI
|
|||
/// <returns>name</returns>
|
||||
public string GetBuffName(int id)
|
||||
{
|
||||
return (id > 0 && id < Main.maxBuffs) ? Main.buffName[id] : "null";
|
||||
return (id > 0 && id < Main.maxBuffTypes) ? Main.buffName[id] : "null";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -452,7 +452,7 @@ namespace TShockAPI
|
|||
/// <returns>description</returns>
|
||||
public string GetBuffDescription(int id)
|
||||
{
|
||||
return (id > 0 && id < Main.maxBuffs) ? Main.buffTip[id] : "null";
|
||||
return (id > 0 && id < Main.maxBuffTypes) ? Main.buffTip[id] : "null";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -463,13 +463,13 @@ namespace TShockAPI
|
|||
public List<int> GetBuffByName(string name)
|
||||
{
|
||||
string nameLower = name.ToLower();
|
||||
for (int i = 1; i < Main.maxBuffs; i++)
|
||||
for (int i = 1; i < Main.maxBuffTypes; i++)
|
||||
{
|
||||
if (Main.buffName[i].ToLower() == nameLower)
|
||||
return new List<int> {i};
|
||||
}
|
||||
var found = new List<int>();
|
||||
for (int i = 1; i < Main.maxBuffs; i++)
|
||||
for (int i = 1; i < Main.maxBuffTypes; i++)
|
||||
{
|
||||
if (Main.buffName[i].ToLower().StartsWith(nameLower))
|
||||
found.Add(i);
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit 32544b409a0c40f2be57d27071fd97c36dbe73e4
|
||||
Subproject commit 330a7f067c5ebd3f5dd9020f5f27a5e323ffdb1a
|
||||
Loading…
Add table
Add a link
Reference in a new issue