Compute max place styles on initialization
This commit is contained in:
parent
fead716d6c
commit
8c3ae80184
3 changed files with 24 additions and 10 deletions
|
|
@ -1755,6 +1755,10 @@ namespace TShockAPI
|
||||||
/// Tiles that can be broken without any tools.
|
/// Tiles that can be broken without any tools.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private static byte[] breakableTiles = new byte[] { 4, 13, 33, 49, 50, 127, 128, 162 };
|
private static byte[] breakableTiles = new byte[] { 4, 13, 33, 49, 50, 127, 128, 162 };
|
||||||
|
/// <summary>
|
||||||
|
/// The maximum place styles for each tile.
|
||||||
|
/// </summary>
|
||||||
|
public static Dictionary<int, int> MaxPlaceStyles = new Dictionary<int, int>();
|
||||||
|
|
||||||
private static bool HandleTile(GetDataHandlerArgs args)
|
private static bool HandleTile(GetDataHandlerArgs args)
|
||||||
{
|
{
|
||||||
|
|
@ -1884,14 +1888,8 @@ namespace TShockAPI
|
||||||
}
|
}
|
||||||
else if (action == EditAction.PlaceTile || action == EditAction.PlaceWall)
|
else if (action == EditAction.PlaceTile || action == EditAction.PlaceWall)
|
||||||
{
|
{
|
||||||
if (action == EditAction.PlaceTile && TShock.Config.PreventInvalidPlaceStyle && ((editData == 4 && style > 11) ||
|
if (action == EditAction.PlaceTile && TShock.Config.PreventInvalidPlaceStyle &&
|
||||||
(editData == 13 && style > 4) || (editData == 15 && style > 25) || (editData == 21 && style > 22) ||
|
MaxPlaceStyles.ContainsKey(editData) && style > MaxPlaceStyles[editData])
|
||||||
(editData == 82 && style > 5) || (editData == 91 && style > 108) || (editData == 105 && style > 49) ||
|
|
||||||
(editData == 135 && style > 6) || (editData == 139 && style > 27) || (editData == 144 && style > 2) ||
|
|
||||||
(editData == 149 && style > 2) || (editData == 137 && style > 4) || (editData == 79 && style > 12) ||
|
|
||||||
(editData == 10 && style > 25) || (editData == 14 && style > 22) || (editData == 18 && style > 17) ||
|
|
||||||
(editData == 19 && style > 16) || (editData == 34 && style > 6) || (editData == 42 && style > 10) ||
|
|
||||||
(editData == 96 && style > 1)))
|
|
||||||
{
|
{
|
||||||
args.Player.SendTileSquare(tileX, tileY, 4);
|
args.Player.SendTileSquare(tileX, tileY, 4);
|
||||||
return true;
|
return true;
|
||||||
|
|
|
||||||
|
|
@ -593,13 +593,29 @@ namespace TShockAPI
|
||||||
AuthToken = 0;
|
AuthToken = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
Regions.ReloadAllRegions();
|
|
||||||
|
|
||||||
Lighting.lightMode = 2;
|
Lighting.lightMode = 2;
|
||||||
|
|
||||||
|
ComputeMaxStyles();
|
||||||
|
|
||||||
FixChestStacks();
|
FixChestStacks();
|
||||||
StatTracker = new StatTracker();
|
StatTracker = new StatTracker();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void ComputeMaxStyles()
|
||||||
|
{
|
||||||
|
var item = new Item();
|
||||||
|
for (int i = 0; i < Main.maxItemTypes; i++)
|
||||||
|
{
|
||||||
|
item.netDefaults(i);
|
||||||
|
if (GetDataHandlers.MaxPlaceStyles.ContainsKey(item.createTile))
|
||||||
|
{
|
||||||
|
if (item.placeStyle > GetDataHandlers.MaxPlaceStyles[item.createTile])
|
||||||
|
GetDataHandlers.MaxPlaceStyles[item.createTile] = item.placeStyle;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
GetDataHandlers.MaxPlaceStyles.Add(item.createTile, item.placeStyle);
|
||||||
|
}
|
||||||
|
}
|
||||||
private void FixChestStacks()
|
private void FixChestStacks()
|
||||||
{
|
{
|
||||||
if (Config.IgnoreChestStacksOnLoad)
|
if (Config.IgnoreChestStacksOnLoad)
|
||||||
|
|
|
||||||
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue