Initial commit: Item Interaction Ecosystem plugin (UE5.7)

Server-authoritative, data-driven item/inventory/interaction/carry/equipment/
world-slot/placement/crafting framework. 8 modules, compiles against UE 5.7.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Bonchellon
2026-06-22 20:49:56 +03:00
commit 7f7e043a88
98 changed files with 9328 additions and 0 deletions

View File

@ -0,0 +1,10 @@
Name,ItemId,Feature,Param,Value
raw_meat_decay,raw_meat,Feature.Rotting,DecayRatePerHour,0.08
raw_meat_rotten,raw_meat,Feature.Rotting,RottenItemId,rotten_meat
raw_meat_smell,raw_meat,Feature.Smell,SmellWhenRotten,1.0
flashlight_drain,flashlight,Feature.Battery,DrainPerSecond,0.003
flashlight_break,flashlight,Feature.Durability,BreakOnImpactVelocity,800
fuel_canister_max,fuel_canister,Feature.Fuel,MaxFuel,20
fuel_canister_flammable,fuel_canister,Feature.Flammable,ExplosionRadius,500
glass_bottle_noise,glass_bottle,Feature.NoiseOnDrop,Radius,1200
car_battery_carry,car_battery,Feature.Installable,MoveSpeedMultiplier,0.6
1 Name ItemId Feature Param Value
2 raw_meat_decay raw_meat Feature.Rotting DecayRatePerHour 0.08
3 raw_meat_rotten raw_meat Feature.Rotting RottenItemId rotten_meat
4 raw_meat_smell raw_meat Feature.Smell SmellWhenRotten 1.0
5 flashlight_drain flashlight Feature.Battery DrainPerSecond 0.003
6 flashlight_break flashlight Feature.Durability BreakOnImpactVelocity 800
7 fuel_canister_max fuel_canister Feature.Fuel MaxFuel 20
8 fuel_canister_flammable fuel_canister Feature.Flammable ExplosionRadius 500
9 glass_bottle_noise glass_bottle Feature.NoiseOnDrop Radius 1200
10 car_battery_carry car_battery Feature.Installable MoveSpeedMultiplier 0.6

View File

@ -0,0 +1,6 @@
Name,ItemId,Context,ActionTag,InteractionMode,Priority,bRequiresHold,HoldDuration,ActionDuration,Requirement,Result
car_battery_install,car_battery,Held+Vehicle,Action.Install,InstallIntoWorldSlot,1000,false,0,3,,InstallIntoSlot
car_battery_install_gen,car_battery,Held+Generator,Action.Install,InstallIntoWorldSlot,1000,false,0,3,,InstallIntoSlot
fuel_pour,fuel_canister,Held+Generator,Action.UseHeldOnTarget,UseHeldOnTarget,1000,true,0.3,5,FuelAmount>0,TransferFuel
flashlight_equip,flashlight,Inventory,Action.Equip,EquipFromInventory,800,false,0,0,BatteryCharge>0,EquipItem
raw_meat_bait,raw_meat,Held+Trap,Action.Install,InstallIntoWorldSlot,900,false,0,2,,InstallIntoSlot
1 Name ItemId Context ActionTag InteractionMode Priority bRequiresHold HoldDuration ActionDuration Requirement Result
2 car_battery_install car_battery Held+Vehicle Action.Install InstallIntoWorldSlot 1000 false 0 3 InstallIntoSlot
3 car_battery_install_gen car_battery Held+Generator Action.Install InstallIntoWorldSlot 1000 false 0 3 InstallIntoSlot
4 fuel_pour fuel_canister Held+Generator Action.UseHeldOnTarget UseHeldOnTarget 1000 true 0.3 5 FuelAmount>0 TransferFuel
5 flashlight_equip flashlight Inventory Action.Equip EquipFromInventory 800 false 0 0 BatteryCharge>0 EquipItem
6 raw_meat_bait raw_meat Held+Trap Action.Install InstallIntoWorldSlot 900 false 0 2 InstallIntoSlot

View File

@ -0,0 +1,8 @@
Name,ItemId,PropertyTag,DefaultValue,Min,Max,ReplicationPolicy,bSave
raw_meat_freshness,raw_meat,Property.Freshness,1.0,0,1,OwnerOnly,true
raw_meat_contamination,raw_meat,Property.Contamination,0,0,1,OwnerOnly,true
flashlight_battery,flashlight,Property.BatteryCharge,1.0,0,1,OwnerOnly,true
axe_durability,axe,Property.Durability,1.0,0,1,OwnerOnly,true
fuel_canister_fuel,fuel_canister,Property.FuelAmount,10.0,0,20,OwnerOnly,true
car_battery_charge,car_battery,Property.Charge,0.65,0,1,OwnerOnly,true
generator_fuel,generator_small,Property.FuelAmount,0,0,40,Everyone,true
1 Name ItemId PropertyTag DefaultValue Min Max ReplicationPolicy bSave
2 raw_meat_freshness raw_meat Property.Freshness 1.0 0 1 OwnerOnly true
3 raw_meat_contamination raw_meat Property.Contamination 0 0 1 OwnerOnly true
4 flashlight_battery flashlight Property.BatteryCharge 1.0 0 1 OwnerOnly true
5 axe_durability axe Property.Durability 1.0 0 1 OwnerOnly true
6 fuel_canister_fuel fuel_canister Property.FuelAmount 10.0 0 20 OwnerOnly true
7 car_battery_charge car_battery Property.Charge 0.65 0 1 OwnerOnly true
8 generator_fuel generator_small Property.FuelAmount 0 0 40 Everyone true

View File

@ -0,0 +1,3 @@
Name,OldItemId,NewItemId
redirect_medkit,medkit,medkit_small
redirect_flashlight,old_flashlight,flashlight
1 Name OldItemId NewItemId
2 redirect_medkit medkit medkit_small
3 redirect_flashlight old_flashlight flashlight

View File

@ -0,0 +1,11 @@
Name,ItemId,DisplayName,Description,ItemType,ItemTags,Icon,WorldMesh,PickupActorClass,EquippedActorClass,MaxStack,Weight,GridSize,bCanStoreInInventory,bCanInstantPickup,bCanWorldCarry,bCanEquip,bCanPlace,bCanInstallIntoWorldSlot,bCanDrop,bIsQuestCritical,DefaultInteraction,AlternativeInteraction,AllowedEquipmentSlots,CompatibleWorldSlots,ItemFeatures,PlacementRules
ammo_9mm,ammo_9mm,9mm Ammo,,Item.Ammo.9mm,,,,,,60,0.01,"(X=1,Y=1)",true,true,false,false,false,false,true,false,Action.Pickup.Instant,,,,,
medkit_small,medkit_small,Small Medkit,,Item.Medical.Medkit,,,,,,5,0.5,"(X=1,Y=1)",true,true,false,false,false,false,true,false,Action.Pickup.Instant,,,,,
flashlight,flashlight,Flashlight,,Item.Tool.Flashlight,,,,,,1,0.4,"(X=1,Y=2)",true,true,true,true,false,false,true,false,Action.Pickup.Instant,,,,,
raw_meat,raw_meat,Raw Meat,,Item.Food.Meat,,,,,,10,0.3,"(X=1,Y=1)",true,true,false,false,false,false,true,false,Action.Pickup.Instant,,,,,
rotten_meat,rotten_meat,Rotten Meat,,Item.Food.Meat,,,,,,10,0.3,"(X=1,Y=1)",true,true,false,false,false,false,true,false,Action.Pickup.Instant,,,,,
fuel_canister,fuel_canister,Fuel Canister,,Item.Resource.Fuel,,,,,,1,5,"(X=2,Y=2)",true,true,true,false,false,false,true,false,Action.Pickup.Instant,,,,,
car_battery,car_battery,Car Battery,,Item.VehiclePart.Battery,,,,,,1,12,"(X=2,Y=2)",false,false,true,false,false,true,true,false,Action.Carry,,,"(GameplayTags=((TagName=""Vehicle.Socket.Battery""),(TagName=""Generator.Socket.Battery"")))",,
generator_small,generator_small,Portable Generator,,Item.Device.Generator,,,,,,1,30,"(X=3,Y=3)",false,false,true,false,true,false,true,false,Action.Carry,,,,,
trap_small,trap_small,Small Trap,,Item.Trap,,,,,,3,1.0,"(X=2,Y=1)",true,true,false,false,true,false,true,false,Action.Pickup.Instant,,,,,
key_bunker_a,key_bunker_a,Bunker Key A,,Item.Key,,,,,,1,0.05,"(X=1,Y=1)",true,true,false,false,false,false,false,true,Action.Pickup.Instant,,,,,
1 Name ItemId DisplayName Description ItemType ItemTags Icon WorldMesh PickupActorClass EquippedActorClass MaxStack Weight GridSize bCanStoreInInventory bCanInstantPickup bCanWorldCarry bCanEquip bCanPlace bCanInstallIntoWorldSlot bCanDrop bIsQuestCritical DefaultInteraction AlternativeInteraction AllowedEquipmentSlots CompatibleWorldSlots ItemFeatures PlacementRules
2 ammo_9mm ammo_9mm 9mm Ammo Item.Ammo.9mm 60 0.01 (X=1,Y=1) true true false false false false true false Action.Pickup.Instant
3 medkit_small medkit_small Small Medkit Item.Medical.Medkit 5 0.5 (X=1,Y=1) true true false false false false true false Action.Pickup.Instant
4 flashlight flashlight Flashlight Item.Tool.Flashlight 1 0.4 (X=1,Y=2) true true true true false false true false Action.Pickup.Instant
5 raw_meat raw_meat Raw Meat Item.Food.Meat 10 0.3 (X=1,Y=1) true true false false false false true false Action.Pickup.Instant
6 rotten_meat rotten_meat Rotten Meat Item.Food.Meat 10 0.3 (X=1,Y=1) true true false false false false true false Action.Pickup.Instant
7 fuel_canister fuel_canister Fuel Canister Item.Resource.Fuel 1 5 (X=2,Y=2) true true true false false false true false Action.Pickup.Instant
8 car_battery car_battery Car Battery Item.VehiclePart.Battery 1 12 (X=2,Y=2) false false true false false true true false Action.Carry (GameplayTags=((TagName="Vehicle.Socket.Battery"),(TagName="Generator.Socket.Battery")))
9 generator_small generator_small Portable Generator Item.Device.Generator 1 30 (X=3,Y=3) false false true false true false true false Action.Carry
10 trap_small trap_small Small Trap Item.Trap 3 1.0 (X=2,Y=1) true true false false true false true false Action.Pickup.Instant
11 key_bunker_a key_bunker_a Bunker Key A Item.Key 1 0.05 (X=1,Y=1) true true false false false false false true Action.Pickup.Instant