3,984 Commits over 1,035 Days - 0.16cph!
Store ownership of item inside the entity when the deployable is placed
Reapply ownership to the item when the deployable is picked back up
Add method to take 1 share of item ownership (incase we do stackable item ownership in future)
Save deployable item ownership so it can persist across saves (incase workbench is picked up days after it's placed)
Refactor ItemOwnershipShare to have `.IsValid()` method (since it's a struct)
Add ItemOwnership to the protobuf of an entity
- allows us to save the ownership that the item of a deployable originally had
Add ownership phrase to easter egg items
Add ownership phrase to christmas presents
Add code support for ownership to ItemModUnwrap (christmas presents & easter eggs)
- also adds support for items spawned from a loot table to be created with ownership
Fix Christmas Presents & Easter Eggs not giving items
- Unity bug from primitive where it was serializing `allowedItems` cached array as an empty array instead of null even though it was private
Add ownership when item is taken from advent calendar
Ensure phrase gets translated when shown as a tooltip
Change all the hardcoded english strings to phrases
Fish & skull ownership item prefab changes
Add ownership when gutting item from fish / crushing skulls
Fix compile errors from item ownership
Merge from item_ownership -> aux2
Merge main -> aux2 (keep destination codegen)
Re-run protobuf generation
merge from main -> item_ownership
merge from fix_junkpile_despawn_delay -> main
merge from fix_optional_protobuf_effect -> main
Fix explosion effects being spawned in center of the map
- ensure all fields of Effect that used to be reset by protobuf deserialization are reset when Clear() is called
Change double quotes to single quotes for withEnv block
Set ENV variables to use a different cache directory for each build
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
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