bool CreateRadioItem() { if (radio != null) { return(false); } radio = ItemManager.GetItemByIndex(ITEM_ID); if (radio != null) { Error($"{ITEM_DISPLAYNAME} item already created."); return(false); } var originalRadio = ItemManager.GetItemByName("Placeable_Radio"); if (originalRadio == null) { Error("Cannot find original radio item."); return(false); } radio = Object.Instantiate(originalRadio); radio.name = ITEM_NAME; var traverse = Traverse.Create(radio); traverse.Property("UniqueName").SetValue(ITEM_NAME); traverse.Property("UniqueIndex").SetValue(ITEM_ID); traverse.Field("settings_Inventory").Property("DisplayName").SetValue(ITEM_DISPLAYNAME); traverse.Field("settings_Inventory").Property("Description").SetValue(ITEM_DESCRIPTION); RAPI.RegisterItem(radio); Info($"{ITEM_DISPLAYNAME} item created."); return(true); }
public void RegisterPlaceableItem(Item_Base item, RBlockQuadType[] quadtypes) { Traverse.Create(item.settings_recipe).Field("subCategory").SetValue(line.ToString()); if (currentMenuOffset == 4) { currentMenuOffset = 0; line++; } currentMenuOffset++; RAPI.RegisterItem(item); foreach (RBlockQuadType rb in quadtypes) { RAPI.AddItemToBlockQuadType(item, rb); } }
public IEnumerator Start() { layerMask = ~layerMask; RConsole.Log("Fertilizer has been loaded!"); AssetBundleCreateRequest request = AssetBundle.LoadFromFileAsync("mods/ModData/Fertilizer/fertilizer.assets"); yield return(request); assets = request.assetBundle; Item_Base fertilizeItem = assets.LoadAsset <Item_Base>("fertilizer"); RAPI.RegisterItem(fertilizeItem); RAPI.SetItemObject(fertilizeItem, assets.LoadAsset <GameObject>("fertilizerGameObject")); }