4,123 Commits over 1,219 Days - 0.14cph!
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
merge from main -> hackweek_modding_improvements
merge from replicated_convar_warning -> main
Show [SERVER] beside server & replicated convars in F1 menu, show [CLIENT] beside client only convars
Print warning when a replicated convar is set from the client to server, indicating it will be changed for all other players on the server
merge from fix_write_varuint32 -> main
Fix the length of NetWrite not being updated when writing a VarUInt32
- caused packet to get clamped to lower length later causing RPC errors if the last thing written was a VarUInt32
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
merge from main -> hackweek_modding_improvements
merge from protobuf_skip_default_fields_2 -> main
Accidently included the codegen exe with hardcoded arguments (when testing)
merge from cui_button_colors -> hackweek_modding_improvements
Fix CUI test "Exit" button being covered up by the UpdateTestLabel
Allow the color when a CUI button is hovered to be changed
- string `normalColor`
- string `highlightedColor`
- string `pressedColor`
- string `selectedColor`
- string `disabledColor`
- float `colorMultiplier`
- float `fadeDuration`
merge from dropped_item_name -> hackweek_modding_improvements
Fix items dropped on ground not using their server-sided name
merge from draggable_cui -> hackweek_modding_improvements
Reapply brace in correct place
Subtract previous fix for BaseEntity.saveload.cs
Convert the enum to an int since RPCs don't like bytes either
Rename PositionSendType -> DraggablePositionSendType
Add SERVER RPC methods
Add the test JSON for draggable slots
Merge PR for draggable CUI slots
Fix compile error from merge
Merge from main -> hackweek_modding_improvements
merge from protobuf_skip_default_fields_2 -> main
merge from main -> hackweek_modding_improvements
merge from main -> protobuf_skip_default_fields_2