Skip to content

Commit 0a0907e

Browse files
KaupenjoeKaupenjoe
authored andcommitted
custom villager type
1 parent 907a749 commit 0a0907e

6 files changed

Lines changed: 48 additions & 1 deletion

File tree

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ minecraft_version=1.21.1
1818
# as they do not follow standard versioning conventions.
1919
minecraft_version_range=[1.21,1.21.2)
2020
# The Neo version must agree with the Minecraft version to get a valid artifact
21-
neo_version=21.1.68
21+
neo_version=21.1.93
2222
# The Neo version range can use any version of Neo as bounds
2323
neo_version_range=[21.0.0-beta,)
2424
# The loader version range can only use the major version of FML as bounds

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import net.kaupenjoe.tutorialmod.potion.ModPotions;
1414
import net.kaupenjoe.tutorialmod.sound.ModSounds;
1515
import net.kaupenjoe.tutorialmod.util.ModItemProperties;
16+
import net.kaupenjoe.tutorialmod.villager.ModVillagers;
1617
import net.minecraft.client.renderer.entity.EntityRenderers;
1718
import net.minecraft.world.item.CreativeModeTabs;
1819
import org.slf4j.Logger;
@@ -63,6 +64,8 @@ public TutorialMod(IEventBus modEventBus, ModContainer modContainer) {
6364
ModEnchantmentEffects.register(modEventBus);
6465
ModEntities.register(modEventBus);
6566

67+
ModVillagers.register(modEventBus);
68+
6669
// Register the item to a creative tab
6770
modEventBus.addListener(this::addCreative);
6871
// Register our mod's ModConfigSpec so that FML can create and load the config file for us
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package net.kaupenjoe.tutorialmod.villager;
2+
3+
import com.google.common.collect.ImmutableSet;
4+
import net.kaupenjoe.tutorialmod.TutorialMod;
5+
import net.kaupenjoe.tutorialmod.block.ModBlocks;
6+
import net.kaupenjoe.tutorialmod.sound.ModSounds;
7+
import net.minecraft.core.Holder;
8+
import net.minecraft.core.registries.BuiltInRegistries;
9+
import net.minecraft.world.entity.ai.village.poi.PoiType;
10+
import net.minecraft.world.entity.npc.VillagerProfession;
11+
import net.neoforged.bus.api.IEventBus;
12+
import net.neoforged.neoforge.registries.DeferredRegister;
13+
14+
public class ModVillagers {
15+
public static final DeferredRegister<PoiType> POI_TYPES =
16+
DeferredRegister.create(BuiltInRegistries.POINT_OF_INTEREST_TYPE, TutorialMod.MOD_ID);
17+
public static final DeferredRegister<VillagerProfession> VILLAGER_PROFESSIONS =
18+
DeferredRegister.create(BuiltInRegistries.VILLAGER_PROFESSION, TutorialMod.MOD_ID);
19+
20+
public static final Holder<PoiType> KAUPEN_POI = POI_TYPES.register("kaupen_poi",
21+
() -> new PoiType(ImmutableSet.copyOf(ModBlocks.CHAIR.get().getStateDefinition().getPossibleStates()), 1, 1));
22+
23+
public static final Holder<VillagerProfession> KAUPENGER = VILLAGER_PROFESSIONS.register("kaupenger",
24+
() -> new VillagerProfession("kaupenger", holder -> holder.value() == KAUPEN_POI.value(),
25+
poiTypeHolder -> poiTypeHolder.value() == KAUPEN_POI.value(), ImmutableSet.of(), ImmutableSet.of(),
26+
ModSounds.MAGIC_BLOCK_HIT.get()));
27+
28+
29+
public static void register(IEventBus eventBus) {
30+
POI_TYPES.register(eventBus);
31+
VILLAGER_PROFESSIONS.register(eventBus);
32+
}
33+
}

src/main/resources/assets/tutorialmod/lang/en_us.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,8 @@
7979
"block.tutorialmod.chair": "Chair",
8080

8181

82+
"entity.minecraft.villager.tutorialmod.kaupenger": "Kaupenger",
83+
8284
"creativetab.tutorialmod.bismuth_items": "Bismuth Items",
8385
"creativetab.tutorialmod.bismuth_blocks": "Bismuth Blocks",
8486

1.07 KB
Loading
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"replace": false,
3+
"values": [
4+
{
5+
"id": "tutorialmod:kaupen_poi",
6+
"required": false
7+
}
8+
]
9+
}

0 commit comments

Comments
 (0)