@@ -45,6 +45,10 @@ pub(crate) fn handle_item_list_entries(
4545 // this provides backwards compatibility for older mods
4646 // this can just be suppressed by specifying an entry for /Game/Items/ItemTypes/BaseGameInitialKnownItemList in metadata
4747 let exists_bgikil = item_list_entries_map. contains_key ( "/Game/Items/ItemTypes/BaseGameInitialKnownItemList" ) ;
48+ let exists_bgikil2 = item_list_entries_map. contains_key ( "/Game/U32_Expansion/Items/GW_InitialKnownItemList" ) ;
49+ let exists_bgikil3 = item_list_entries_map. contains_key ( "/Game/Items/ItemLists/BackpackPrinterItemList_GW" ) ;
50+ let exists_bgikil4 = item_list_entries_map. contains_key ( "/Game/Items/ItemLists/T1PrinterItemList_GW" ) ;
51+ let exists_bgikil5 = item_list_entries_map. contains_key ( "/Game/Items/ItemLists/T2PrinterItemList_GW" ) ;
4852
4953 for ( name, item_list_entries) in item_list_entries_map {
5054 let item_list_entries = item_list_entries
@@ -80,6 +84,38 @@ pub(crate) fn handle_item_list_entries(
8084 . or_insert_with ( HashMap :: new)
8185 . extend ( orig_entry) ;
8286 }
87+ if name == "/Game/Items/ItemTypes/MasterItemList" && !exists_bgikil2 {
88+ let orig_entry = new_items. entry ( name. clone ( ) ) . or_insert_with ( HashMap :: new) . clone ( ) ;
89+
90+ new_items
91+ . entry ( String :: from ( "/Game/U32_Expansion/Items/GW_InitialKnownItemList" ) )
92+ . or_insert_with ( HashMap :: new)
93+ . extend ( orig_entry) ;
94+ }
95+ if name == "/Game/Items/ItemLists/BackpackPrinterItemList" && !exists_bgikil3 {
96+ let orig_entry = new_items. entry ( name. clone ( ) ) . or_insert_with ( HashMap :: new) . clone ( ) ;
97+
98+ new_items
99+ . entry ( String :: from ( "/Game/Items/ItemLists/BackpackPrinterItemList_GW" ) )
100+ . or_insert_with ( HashMap :: new)
101+ . extend ( orig_entry) ;
102+ }
103+ if name == "/Game/Items/ItemLists/T1PrinterItemList" && !exists_bgikil4 {
104+ let orig_entry = new_items. entry ( name. clone ( ) ) . or_insert_with ( HashMap :: new) . clone ( ) ;
105+
106+ new_items
107+ . entry ( String :: from ( "/Game/Items/ItemLists/T1PrinterItemList_GW" ) )
108+ . or_insert_with ( HashMap :: new)
109+ . extend ( orig_entry) ;
110+ }
111+ if name == "/Game/Items/ItemLists/T2PrinterItemList" && !exists_bgikil5 {
112+ let orig_entry = new_items. entry ( name. clone ( ) ) . or_insert_with ( HashMap :: new) . clone ( ) ;
113+
114+ new_items
115+ . entry ( String :: from ( "/Game/Items/ItemLists/T2PrinterItemList_GW" ) )
116+ . or_insert_with ( HashMap :: new)
117+ . extend ( orig_entry) ;
118+ }
83119 }
84120 }
85121
@@ -91,7 +127,7 @@ pub(crate) fn handle_item_list_entries(
91127 game_paks,
92128 mod_paks,
93129 & asset_name,
94- EngineVersion :: VER_UE4_23 ,
130+ EngineVersion :: VER_UE4_27 ,
95131 ) ?;
96132
97133 let mut item_types_property: HashMap < String , Vec < ( usize , usize , String ) > > = HashMap :: new ( ) ;
0 commit comments