CheckPermissionToCarryDelegate renamed to CheckPermissionAtDelegate; event renamed accordingly
DropBlockAsItem → DropBlockAsEntityOrItem — clearer naming for dual entity/item drop behavior
Config Model Changes
CarrySlotSpeedConfig / WalkSpeedOverridesConfig → SlotModifierConfig / ModifierOverridesConfig (shared between walk speed and hunger rate)
WalkSpeedOverrides reorganized: moved from CarryOptions.WalkSpeedOverrides to CarryWalkSpeedConfig.ModifierOverrides; ByBlockCode/ByBlockClass changed from Dictionary<string, CarrySlotSpeedConfig> to List<SlotModifierConfig> with a Key property
AllowSprintWhileCarrying + IgnoreCarrySpeedPenalty removed from CarryOptionsConfig → replaced by CarryWalkSpeedConfig.HandsEnabled, BackEnabled, HandsAllowSprint, BackAllowSprint
BackpackSelectionMode changed from string-backed enum wrapper to direct BackpackSelectionMode enum with [JsonConverter(typeof(StringEnumConverter))]
All config sections now have [DisplayName], [Description], [Category], [DefaultValue] annotations for AutoConfigLib UI
New config version (v4) with UpgradeVersion() migration from v3
DropCarriedOnDamageConfig - per-slot enable, damage thresholds, drop range
CarriedBlockEntityConfig - DropMode (Items/EntityOnFailedPlacement/EntityAlways), random drop rotation, particles, despawn timer (30 in-game days default), pickup access control (Anyone/OwnerOnly/OwnerFirst with grace period), visual scale
New Features
DropMode enum - configures whether carried blocks drop as items or block entities
PickupAccess enum - controls who can pick up dropped block entities with optional owner grace period
ClientSidePermissionCheck config - enables optimistic client-side permission checks (may be inaccurate on claims mods)