package Ġme . ste ven . ind rev . registry Ċ Ċ import Ġme . ste ven . ind rev . api . machines . Tier Ċ import Ġme . ste ven . ind rev . blocks . machine . Dr ill Head Model Ċ import Ġme . ste ven . ind rev . blocks . models . Pump Pipe B aked Model Ċ import Ġme . ste ven . ind rev . blocks . models . pipes . Cable Model Ċ import Ġme . ste ven . ind rev . blocks . models . pipes . Fluid Pipe Model Ċ import Ġme . ste ven . ind rev . blocks . models . pipes . Item Pipe Model Ċ import Ġme . ste ven . ind rev . items . models . Tank Item B aked Model Ċ import Ġme . ste ven . ind rev . utils . identifier Ċ import Ġnet . fabric mc . fabric . api . client . model . Extra Model Provider Ċ import Ġnet . fabric mc . fabric . api . client . model . Model Provider Context Ċ import Ġnet . fabric mc . fabric . api . client . model . Model Variant Provider Ċ import Ġnet . minecraft . client . render . model . Un b aked Model Ċ import Ġnet . minecraft . client . util . Model Identifier Ċ import Ġnet . minecraft . resource . ResourceManager Ċ import Ġnet . minecraft . util . Identifier Ċ import Ġjava . util . function . Consumer Ċ Ċ object ĠIR Model Managers Ġ: ĠModel Variant Provider , ĠExtra Model Provider Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠC ABLE _ MODE LS Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠ ĠC able Model ( Tier . MK 1 ), ĠC able Model ( Tier . MK 2 ), ĠC able Model ( Tier . MK 3 ), ĠC able Model ( Tier . MK 4 ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġval ĠITEM _ PIPE _ MODE LS Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠ ĠItem Pipe Model ( Tier . MK 1 ), ĠItem Pipe Model ( Tier . MK 2 ), ĠItem Pipe Model ( Tier . MK 3 ), ĠItem Pipe Model ( Tier . MK 4 ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġval ĠFL UID _ PIPE _ MODE LS Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠ ĠFluid Pipe Model ( Tier . MK 1 ), ĠFluid Pipe Model ( Tier . MK 2 ), ĠFluid Pipe Model ( Tier . MK 3 ), ĠFluid Pipe Model ( Tier . MK 4 ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġload Model Variant ( resourceId : ĠModel Identifier , Ġctx : ĠModel Provider Context ?): ĠU nb aked Model ? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( resourceId . namespace Ġ!= Ġ" ind rev ") Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġval Ġpath Ġ= Ġresource Id . path ĊĠĠĠĠĠĠĠ Ġval Ġvariant Ġ= Ġresource Id . variant ĊĠĠĠĠĠĠĠ Ġval Ġid Ġ= ĠIdentifier ( resourceId . namespace , Ġresource Id . path ) ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpath Ġ== Ġ" drill _ head " Ġ-> ĠDr ill Head Model ( resourceId . variant ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpath Ġ== Ġ" pump _ pipe " Ġ-> ĠP ump Pipe B aked Model () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpath Ġ== Ġ" tank " Ġ&& Ġvariant Ġ== Ġ" inventory " Ġ-> ĠT ank Item B aked Model () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpath . startsWith (" c able _ mk ") Ġ-> ĠC ABLE _ MODE LS [ path . last (). toString (). toInt () Ġ- Ġ 1 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpath . startsWith (" item _ pipe _ mk ") Ġ-> ĠITEM _ PIPE _ MODE LS [ path . last (). toString (). toInt () Ġ- Ġ 1 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpath . startsWith (" fluid _ pipe _ mk ") Ġ-> ĠFL UID _ PIPE _ MODE LS [ path . last (). toString (). toInt () Ġ- Ġ 1 ] ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMachine Registry . MAP . containsKey ( id ) Ġ-> ĠMachine Registry . MAP [ id ]?. model Provider ?. get ( Tier . values ()[ ( path . last (). toString (). toInt OrNull () Ġ?: Ġ 4 ) Ġ- Ġ 1 ]) ?. invoke ( id . path . replace ("_ creative ", Ġ"_ mk 4 ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprovide Extra Models ( manager : ĠResourceManager ?, Ġout : ĠConsumer < Identifier >) Ġ{ ĊĠĠĠĠĠĠĠ Ġout . accept ( Model Identifier ( identifier (" drill _ head "), Ġ" stone ")) ĊĠĠĠĠĠĠĠ Ġout . accept ( Model Identifier ( identifier (" drill _ head "), Ġ" iron ")) ĊĠĠĠĠĠĠĠ Ġout . accept ( Model Identifier ( identifier (" drill _ head "), Ġ" di amond ")) ĊĠĠĠĠĠĠĠ Ġout . accept ( Model Identifier ( identifier (" drill _ head "), Ġ" ne ther ite ")) ĊĠĠĠĠĠĠĠ Ġout . accept ( Model Identifier ( identifier (" pump _ pipe "), Ġ"")) ĊĠĠĠĠĠĠĠ Ġout . accept ( Model Identifier ( identifier (" comp ost ing "), Ġ"")) ĊĠĠĠ Ġ} Ċ } Ċ