branchrust_reboot/main/hackweek_modding_improvements/custom_itemscancel
27 Commits over 0 Days - ∞cph!
Rename all classes to get rid of "Custom" prefix
Fix #CLIENT compile errors and refactor some methods
Add all new classes into `Rust.Modding` namespace
Rename ItemManager.IndexBlueprints() -> ItemManager.UpdateIndex()
Fix line not getting commited
Only print json from `test_custom_items` command in the editor
Fix bugs
Allow ItemMod changes differentiate between null (no change), enabled = false (destroy) and enabled = true (create)
Rewrite a bunch of stuff and move files around
- everything is now treated as an optional parameter
- can specify a "TemplateItem" if you want to base your custom item off another one
- fixed Newtonsoft.Json not handling serialization of vectors and colors
Simplify reference to resources
Change code that reverts items to instead destroy all custom items
Split into multiple classes
Remove ability to modify vanilla items
- instead create a new custom item that is the same as the vanilla item
- having to revert every single vanilla item introduced possibility of normal assets staying modified
Exposed ItemModEntity
Update debug custom items
Set custom ItemDefinition GameObject name
merge from hackweek_modding_improvements -> custom_items
Add ability to modify crafting recipe of custom items too
- explicitly expose what ItemMods can be modified for now
Fix some fields and add others
Make `RPC_UpdateItems` to not kick in editor
The code generator code for last commit
Add ability to mark RPC attributes to not kick in editor
- avoids you getting disconnected every time a RPC throws exception when developing
- by default RPCs all throw errors
Refactor ItemManager by moving the addition & removal of ItemDefinitions to separate methods instead of all inside one `Initialize()` method
Add `test_custom_items` command to confirm it works
Add a bunch of code to support creating custom items based on JSON sent from server
RPC & Protobuf for server to send custom phrases
Add support to Translate.cs for additional translate files to be added from the server
- additional translations will always apply after the built-in ones