public static void AfterItemTypesDefined2() { ItemTypesServer.RegisterChangeTypes("furnace", new List <string>() { "furnacex+", "furnacex-", "furnacez+", "furnacez-", "furnacelitx+", "furnacelitx-", "furnacelitz+", "furnacelitz-" } ); ItemTypesServer.RegisterChangeTypes("oven", new List <string>() { "ovenx+", "ovenz+", "ovenx-", "ovenz-", "ovenlitx+", "ovenlitz+", "ovenlitx-", "ovenlitz-" } ); }
static void ItemRotator(Dictionary <string, ItemTypesServer.ItemTypeRaw> items, RotatorSettings settings, JSONNode customDataLitOnly) { ItemTypesServer.ItemTypeRaw unlitXP = RotatedTypeUnlit(settings.BaseType.name, "x+", settings.rotatedSideUnlit); ItemTypesServer.ItemTypeRaw unlitXN = RotatedTypeUnlit(settings.BaseType.name, "x-", settings.rotatedSideUnlit); ItemTypesServer.ItemTypeRaw unlitZP = RotatedTypeUnlit(settings.BaseType.name, "z+", settings.rotatedSideUnlit); ItemTypesServer.ItemTypeRaw unlitZN = RotatedTypeUnlit(settings.BaseType.name, "z-", settings.rotatedSideUnlit); settings.BaseType.description .SetAs("isRotatable", true) .SetAs("rotatablex+", unlitXP.name) .SetAs("rotatablex-", unlitXN.name) .SetAs("rotatablez+", unlitZP.name) .SetAs("rotatablez-", unlitZN.name); if (settings.sideTopUnlit != null) { settings.BaseType.description.SetAs("sidey+", settings.sideTopUnlit); } items[unlitXP.name] = unlitXP; items[unlitXN.name] = unlitXN; items[unlitZP.name] = unlitZP; items[unlitZN.name] = unlitZN; items[settings.BaseType.name] = settings.BaseType; if (customDataLitOnly != null) { string litBaseName = settings.BaseType.name + "lit"; ItemTypesServer.ItemTypeRaw litXP = RotatedTypeLit(litBaseName, "x+", settings.rotatedSideLit, customDataLitOnly.DeepClone()); ItemTypesServer.ItemTypeRaw litXN = RotatedTypeLit(litBaseName, "x-", settings.rotatedSideLit, customDataLitOnly.DeepClone()); ItemTypesServer.ItemTypeRaw litZP = RotatedTypeLit(litBaseName, "z+", settings.rotatedSideLit, customDataLitOnly.DeepClone()); ItemTypesServer.ItemTypeRaw litZN = RotatedTypeLit(litBaseName, "z-", settings.rotatedSideLit, customDataLitOnly.DeepClone()); ItemTypesServer.ItemTypeRaw baseLitType = new ItemTypesServer.ItemTypeRaw( litBaseName, new JSONNode() .SetAs("parentType", settings.BaseType.name) .SetAs("isRotatable", true) .SetAs("rotatablex+", litXP.name) .SetAs("rotatablex-", litXN.name) .SetAs("rotatablez+", litZP.name) .SetAs("rotatablez-", litZN.name) .SetAs("sidey+", settings.sideTopLit) ); items[litXP.name] = litXP; items[litXN.name] = litXN; items[litZP.name] = litZP; items[litZN.name] = litZN; items[baseLitType.name] = baseLitType; RegisteringChangeTypes.Add(() => ItemTypesServer.RegisterChangeTypes(settings.BaseType.name, new List <string>() { litXP.name, litXN.name, litZP.name, litZN.name, unlitXP.name, unlitXN.name, unlitZP.name, unlitZN.name }) ); } else { RegisteringChangeTypes.Add(() => ItemTypesServer.RegisterChangeTypes(settings.BaseType.name, new List <string>() { unlitXP.name, unlitXN.name, unlitZP.name, unlitZN.name }) ); } }