When an ItemClass
inherits from another ItemClass
, it can be unknown or undefined how any changes to the parent ItemClass
should be propagated to the child ItemClass
.
Raindrops introduces the concept of permission-less updates(--inheritance-update
) to handle this situation.
This tells the endpoint not to accept any changes to a child ItemClass
except for those also present on the parent ItemClass
. This means anybody can enforce inheritance at any time across any size tree of inheritance.
This updates the Item instance with the new ItemUsageStates
that may arise from changes in ItemUsage
s in the parent class.
Similar logic exists for the Player contract, but instead of using --inheritance-update flag, simply use a null updatePermissivenessToUse inside the config JSON file (the -cp flag entry).