11package net .darkhax .archaeologybanners ;
22
3+ import net .darkhax .archaeologybanners .content .BiomeMakeoverPatterns ;
4+ import net .darkhax .archaeologybanners .content .MinecraftPattern ;
35import net .darkhax .bookshelf .api .Services ;
4- import net .darkhax .bookshelf .api .entity .merchant .trade .VillagerSells ;
5- import net .darkhax .bookshelf .api .registry .IRegistryObject ;
66import net .darkhax .bookshelf .api .registry .RegistryDataProvider ;
7- import net .minecraft .resources .ResourceLocation ;
8- import net .minecraft .tags .TagKey ;
9- import net .minecraft .world .item .BannerPatternItem ;
10- import net .minecraft .world .item .Item ;
117import net .minecraft .world .item .Items ;
12- import net .minecraft .world .item .Rarity ;
13- import net .minecraft .world .level .block .entity .BannerPattern ;
148
159public final class Content extends RegistryDataProvider {
1610
17-
1811 public static void init () {
1912
2013 Services .REGISTRIES .loadContent (new Content ());
2114 }
2215
23- private final Config config ;
24-
2516 private Content () {
2617
2718 super (Constants .MOD_ID );
28- this .config = Config .load (Services .PLATFORM .getConfigPath ().resolve (Constants .MOD_ID + ".json" ).toFile ());
2919 this .withItemTab (Items .CREEPER_BANNER_PATTERN ::getDefaultInstance );
3020
31- this .createPattern ("angler" , "bobber" , "hook" , "line" , "rod" );
32- this .createPattern ("archer" , "arrow" , "bow" );
33- this .createPattern ("arms_up" );
34- this .createPattern ("blade" , "hilt" , "blade" );
35- this .createPattern ("brewer" , "bottle" , "fluid" );
36- this .createPattern ("burn" );
37- this .createPattern ("danger" );
38- this .createPattern ("explorer" , "blank" , "x" );
39- this .createPattern ("friend" );
40- this .createPattern ("heart" );
41- this .createPattern ("heartbreak" , "left" , "right" );
42- this .createPattern ("howl" );
43- this .createPattern ("miner" , "handle" , "pick" );
44- this .createPattern ("mourner" );
45- this .createPattern ("plenty" , "bottom" , "lid" );
46- this .createPattern ("prize" , "inverted" );
47- this .createPattern ("sheaf" );
48- this .createPattern ("skull" );
49- this .createPattern ("snout" , "body" , "nose" , "shell" );
50- }
51-
52- private void createPattern (String name , String ... subvariants ) {
53-
54- final TagKey <BannerPattern > bannerTag = Services .TAGS .bannerPatternTag (new ResourceLocation (Constants .MOD_ID , "pattern_item/" + name ));
55- final IRegistryObject <BannerPatternItem > stencilItem = this .items .add (() -> new BannerPatternItem (bannerTag , new Item .Properties ().stacksTo (1 ).rarity (Rarity .UNCOMMON )), name + "_banner_pattern" );
56-
57- final Config .WanderingTrade tradeConfig = config .wanderingTrades .getOrDefault (name , new Config .WanderingTrade ());
58-
59- if (tradeConfig .enabled ) {
60- this .trades .addRareWanderingTrade (VillagerSells .create (stencilItem , tradeConfig .cost , tradeConfig .maxUses , tradeConfig .villagerXp , tradeConfig .priceMultiplier ));
61- }
62-
63- this .bannerPatterns .add (() -> new BannerPattern (name ), name );
64-
65- for (String variantName : subvariants ) {
66- final String patternId = name + "_" + variantName ;
67- this .bannerPatterns .add (() -> new BannerPattern (patternId ), patternId );
68- }
21+ new MinecraftPattern (this ).registerPatterns ();
22+ new BiomeMakeoverPatterns (this ).registerPatterns ();
6923 }
7024}
0 commit comments