FortressCraft Evolved

FortressCraft Evolved

Packer Mod
blabla  [developer] Jan 1, 2019 @ 7:40am
Identify package content (for other mods)
https://pastebin.com/6kicFDaE

public class PackageTools { private static int[] LongToValues(long a, long b, long c) { int length = 6; int notInit = 999999; if (!a.ToString().StartsWith("6")) return null; if (!b.ToString().StartsWith("6")) return null; if (!c.ToString().StartsWith("6")) return null; int[] result = new int[9] { Int32.Parse(a.ToString().Remove(0,1).Substring(0,length)) == notInit ? -1 : Int32.Parse(a.ToString().Remove(0,1).Substring(0,length)), Int32.Parse(a.ToString().Remove(0,1).Substring(6,length)) == notInit ? -1 : Int32.Parse(a.ToString().Remove(0,1).Substring(6,length)), Int32.Parse(a.ToString().Remove(0,1).Substring(12,length)) == notInit ? -1 : Int32.Parse(a.ToString().Remove(0,1).Substring(12,length)), Int32.Parse(b.ToString().Remove(0,1).Substring(0,length)) == notInit ? -1 : Int32.Parse(b.ToString().Remove(0,1).Substring(0,length)), Int32.Parse(b.ToString().Remove(0,1).Substring(6,length)) == notInit ? -1 : Int32.Parse(b.ToString().Remove(0,1).Substring(6,length)), Int32.Parse(b.ToString().Remove(0,1).Substring(12,length)) == notInit ? -1 : Int32.Parse(b.ToString().Remove(0,1).Substring(12,length)), Int32.Parse(c.ToString().Remove(0,1).Substring(0,length)) == notInit ? -1 : Int32.Parse(c.ToString().Remove(0,1).Substring(0,length)), Int32.Parse(c.ToString().Remove(0,1).Substring(6,length)) == notInit ? -1 : Int32.Parse(c.ToString().Remove(0,1).Substring(6,length)), Int32.Parse(c.ToString().Remove(0,1).Substring(12,length)) == notInit ? -1 : Int32.Parse(c.ToString().Remove(0,1).Substring(12,length)), }; return result; } public static bool IsPackedItem(ItemBase package) { if (ItemEntry.GetIDFromKey("deathangel1479.ItemPackage", false) != -1 && package.mnItemID == ItemEntry.GetIDFromKey("deathangel1479.ItemPackage", false)) { return true; } return false; } public static bool GetPackedItemContent(ItemBase package, out ItemType itemType, out int itemID, out ushort cubeType, out ushort cubeValue, out int packageSize) { itemType = ItemType.ItemSingle; itemID = -1; cubeType = 0; cubeValue = 0; packageSize = 0; if (ItemEntry.GetIDFromKey("deathangel1479.ItemPackage", false) != -1 && package.mnItemID == ItemEntry.GetIDFromKey("deathangel1479.ItemPackage", false)) { ItemLocation packedItem = package as ItemLocation; if (LongToValues(packedItem.mLocX, packedItem.mLocY, packedItem.mLocZ) != null) { int[] values = LongToValues(packedItem.mLocX, packedItem.mLocY, packedItem.mLocZ); itemType = (ItemType)values[0]; itemID = values[2]; cubeType = (ushort)values[3]; cubeValue = (ushort)values[4]; packageSize = values[1]; } return true; } return false; } }
Last edited by blabla; Jan 1, 2019 @ 8:24am