55import net .fabricmc .fabric .api .event .player .AttackEntityCallback ;
66import net .fabricmc .fabric .api .event .player .PlayerBlockBreakEvents ;
77import net .fabricmc .fabric .api .object .builder .v1 .entity .FabricDefaultAttributeRegistry ;
8+ import net .fabricmc .fabric .api .object .builder .v1 .trade .TradeOfferHelper ;
89import net .fabricmc .fabric .api .registry .*;
910import net .kaupenjoe .tutorialmod .block .ModBlocks ;
1011import net .kaupenjoe .tutorialmod .component .ModDataComponentTypes ;
2324import net .minecraft .entity .effect .StatusEffectInstance ;
2425import net .minecraft .entity .effect .StatusEffects ;
2526import net .minecraft .entity .passive .SheepEntity ;
27+ import net .minecraft .item .ItemStack ;
2628import net .minecraft .item .Items ;
2729import net .minecraft .potion .Potions ;
2830import net .minecraft .text .Text ;
2931import net .minecraft .util .ActionResult ;
32+ import net .minecraft .village .TradeOffer ;
33+ import net .minecraft .village .TradedItem ;
34+ import net .minecraft .village .VillagerProfession ;
3035import org .slf4j .Logger ;
3136import org .slf4j .LoggerFactory ;
3237
@@ -91,5 +96,51 @@ public void onInitialize() {
9196 FlammableBlockRegistry .getDefaultInstance ().add (ModBlocks .DRIFTWOOD_LEAVES , 30 , 60 );
9297
9398 FabricDefaultAttributeRegistry .register (ModEntities .MANTIS , MantisEntity .createAttributes ());
99+
100+ TradeOfferHelper .registerVillagerOffers (VillagerProfession .FARMER , 1 , factories -> {
101+ factories .add ((entity , random ) -> new TradeOffer (
102+ new TradedItem (Items .EMERALD , 3 ),
103+ new ItemStack (ModItems .CAULIFLOWER , 8 ), 7 , 2 , 0.04f ));
104+
105+ factories .add ((entity , random ) -> new TradeOffer (
106+ new TradedItem (Items .DIAMOND , 9 ),
107+ new ItemStack (ModItems .CAULIFLOWER_SEEDS , 2 ), 3 , 4 , 0.04f ));
108+ });
109+
110+ TradeOfferHelper .registerVillagerOffers (VillagerProfession .FARMER , 2 , factories -> {
111+ factories .add ((entity , random ) -> new TradeOffer (
112+ new TradedItem (Items .EMERALD , 12 ),
113+ new ItemStack (ModItems .HONEY_BERRIES , 5 ), 4 , 7 , 0.04f ));
114+ });
115+
116+ TradeOfferHelper .registerVillagerOffers (ModVillagers .KAUPENGER , 1 , factories -> {
117+ factories .add ((entity , random ) -> new TradeOffer (
118+ new TradedItem (Items .EMERALD , 10 ),
119+ new ItemStack (ModItems .CHISEL , 1 ), 4 , 7 , 0.04f ));
120+
121+ factories .add ((entity , random ) -> new TradeOffer (
122+ new TradedItem (Items .EMERALD , 16 ),
123+ new ItemStack (ModItems .RAW_PINK_GARNET , 1 ), 4 , 7 , 0.04f ));
124+ });
125+
126+ TradeOfferHelper .registerVillagerOffers (ModVillagers .KAUPENGER , 2 , factories -> {
127+ factories .add ((entity , random ) -> new TradeOffer (
128+ new TradedItem (Items .EMERALD , 10 ),
129+ new ItemStack (ModItems .CHISEL , 1 ), 4 , 7 , 0.04f ));
130+
131+ factories .add ((entity , random ) -> new TradeOffer (
132+ new TradedItem (ModItems .PINK_GARNET , 16 ),
133+ new ItemStack (ModItems .TOMAHAWK , 1 ), 3 , 12 , 0.09f ));
134+ });
135+
136+ TradeOfferHelper .registerWanderingTraderOffers (1 , factories -> {
137+ factories .add ((entity , random ) -> new TradeOffer (
138+ new TradedItem (Items .EMERALD , 10 ),
139+ new ItemStack (ModItems .CHISEL , 1 ), 4 , 7 , 0.04f ));
140+
141+ factories .add ((entity , random ) -> new TradeOffer (
142+ new TradedItem (ModItems .PINK_GARNET , 16 ),
143+ new ItemStack (ModItems .TOMAHAWK , 1 ), 3 , 12 , 0.09f ));
144+ });
94145 }
95146}
0 commit comments