Skip to content

Commit 203694d

Browse files
KaupenjoeKaupenjoe
authored andcommitted
villager trades
1 parent 29348ce commit 203694d

1 file changed

Lines changed: 51 additions & 0 deletions

File tree

src/main/java/net/kaupenjoe/tutorialmod/TutorialMod.java

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import net.fabricmc.fabric.api.event.player.AttackEntityCallback;
66
import net.fabricmc.fabric.api.event.player.PlayerBlockBreakEvents;
77
import net.fabricmc.fabric.api.object.builder.v1.entity.FabricDefaultAttributeRegistry;
8+
import net.fabricmc.fabric.api.object.builder.v1.trade.TradeOfferHelper;
89
import net.fabricmc.fabric.api.registry.*;
910
import net.kaupenjoe.tutorialmod.block.ModBlocks;
1011
import net.kaupenjoe.tutorialmod.component.ModDataComponentTypes;
@@ -23,10 +24,14 @@
2324
import net.minecraft.entity.effect.StatusEffectInstance;
2425
import net.minecraft.entity.effect.StatusEffects;
2526
import net.minecraft.entity.passive.SheepEntity;
27+
import net.minecraft.item.ItemStack;
2628
import net.minecraft.item.Items;
2729
import net.minecraft.potion.Potions;
2830
import net.minecraft.text.Text;
2931
import net.minecraft.util.ActionResult;
32+
import net.minecraft.village.TradeOffer;
33+
import net.minecraft.village.TradedItem;
34+
import net.minecraft.village.VillagerProfession;
3035
import org.slf4j.Logger;
3136
import 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

Comments
 (0)