本帖最后由 hxyzg 于 2022-3-27 15:32 编辑
1.16.5CuriosApi如何创建饰品槽?wiki不太看的懂,究竟是如何用代码创建饰品槽的?指令必须配置文件写有东西才能用,而配置文件又在存档文件夹里。上述问题已解决,以下是解决方法:
先到build.gradle里添加一段文本,不要覆盖原来的!直接添加就行,这是添加Curios的API的操作。
复制代码然后到主类开写,先把依赖搞上
所需依赖:
复制代码然后按照楼下最佳答案大佬那样写
1.16.5CuriosApi如何创建饰品槽?wiki不太看的懂,究竟是如何用代码创建饰品槽的?指令必须配置文件写有东西才能用,而配置文件又在存档文件夹里。上述问题已解决,以下是解决方法:
先到build.gradle里添加一段文本,不要覆盖原来的!直接添加就行,这是添加Curios的API的操作。
- repositories {
- maven {
- url = "https://maven.theillusivec4.top/"
- }
- }
- dependencies {
- runtimeOnly fg.deobf("top.theillusivec4.curios:curios-forge:1.16.5-4.0.5.0")
- compileOnly fg.deobf("top.theillusivec4.curios:curios-forge:1.16.5-4.0.5.0:api")
- }
所需依赖:
- import net.minecraftforge.fml.InterModComms;
- import net.minecraftforge.eventbus.api.IEventBus;
- import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
- import net.minecraftforge.fml.event.lifecycle.InterModEnqueueEvent;
- import top.theillusivec4.curios.api.SlotTypePreset;
你是说,写mod,增加饰品栏?我觉得可以抄个现成的复制代码至于sendTo后边该怎么写,wiki上有讲https://github.com/TheIllusiveC4 ... -to-Use:-Developers
这里这个代码直接用了预制的SlotTypePreset.CHARM,不过你也可以像wiki上那样写复制代码
- public class 你的mod主类 {
-
- public 构造函数() {
- IEventBus eventBus = FMLJavaModLoadingContext.get().getModEventBus();
- eventBus.addListener(this::setup);
- eventBus.addListener(this::enqueue);
- }
-
- private void setup(FMLCommonSetupEvent evt) {
- MinecraftForge.EVENT_BUS.register(this);
- }
-
- private void enqueue(InterModEnqueueEvent evt) {
- InterModComms.sendTo("curios", "register_type", () -> SlotTypePreset.CHARM.getMessageBuilder().build());
- }
- }
这里这个代码直接用了预制的SlotTypePreset.CHARM,不过你也可以像wiki上那样写
- () -> new SlotTypeMessage.Builder("charm").priority(200).icon(new ResourceLocation("curios", "item/empty_charm_slot").build()
啊等等,你还没有告诉我你开发的mod是基于forge还是fabric,毕竟1.16的CuriosApi又不止一个版本
还有就是,我翻你之前的帖子,发现你用的是Mcreator,你现在还在用吗?我没用过Mcreator,我也不知道Mcreator能不能制作附属mod
如果你现在打算放弃Mcreator可以从这边学起https://www.mcbbs.net/thread-54579-1-1.html
还有就是,我翻你之前的帖子,发现你用的是Mcreator,你现在还在用吗?我没用过Mcreator,我也不知道Mcreator能不能制作附属mod
如果你现在打算放弃Mcreator可以从这边学起https://www.mcbbs.net/thread-54579-1-1.html
无敌三脚猫 发表于 2022-3-27 14:01
啊等等,你还没有告诉我你开发的mod是基于forge还是fabric,毕竟1.16的CuriosApi又不止一个版本
还有就是, ...
是还在用,mcreator也可以当编辑器用,我开发的是forge版,mcreator可以制作附属mod
hxyzg 发表于 2022-3-27 14:04
是还在用,mcreator也可以当编辑器用,我开发的是forge版,mcreator可以制作附属mod ...
mcreator也可以直接编辑java代码对么?我看你之前的帖子里出现过
mcreator在添加了CuriosApi作为依赖之后,可以写import top.theillusivec4.curios.api.CuriosApi;吗?添加依赖之后不做任何事的话,你的mod主类长什么样子呢?把你的mod主类写成2楼的样子,这个过程有什么问题吗?
无敌三脚猫 发表于 2022-3-27 14:29
mcreator也可以直接编辑java代码对么?我看你之前的帖子里出现过
mcreator在添加了CuriosApi作为依赖之后 ...
没动过的主类长这样
- package net.mcreator.testc;
- import org.apache.logging.log4j.Logger;
- import org.apache.logging.log4j.LogManager;
- import net.minecraftforge.fml.network.simple.SimpleChannel;
- import net.minecraftforge.fml.network.NetworkRegistry;
- import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
- import net.minecraftforge.fml.event.server.FMLServerStartingEvent;
- import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
- import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
- import net.minecraftforge.fml.common.Mod;
- import net.minecraftforge.eventbus.api.SubscribeEvent;
- import net.minecraftforge.event.RegistryEvent;
- import net.minecraftforge.common.MinecraftForge;
- import net.minecraft.util.ResourceLocation;
- import net.minecraft.item.Item;
- import net.minecraft.entity.EntityType;
- import net.minecraft.enchantment.Enchantment;
- import net.minecraft.block.Block;
- import java.util.function.Supplier;
- @Mod("testc")
- public class TestcMod {
- public static final Logger LOGGER = LogManager.getLogger(TestcMod.class);
- private static final String PROTOCOL_VERSION = "1";
- public static final SimpleChannel PACKET_HANDLER = NetworkRegistry.newSimpleChannel(new ResourceLocation("testc", "testc"),
- () -> PROTOCOL_VERSION, PROTOCOL_VERSION::equals, PROTOCOL_VERSION::equals);
- public TestcModElements elements;
- public TestcMod() {
- elements = new TestcModElements();
- FMLJavaModLoadingContext.get().getModEventBus().register(this);
- FMLJavaModLoadingContext.get().getModEventBus().addListener(this::init);
- FMLJavaModLoadingContext.get().getModEventBus().addListener(this::clientLoad);
- MinecraftForge.EVENT_BUS.register(new TestcModFMLBusEvents(this));
- }
- private void init(FMLCommonSetupEvent event) {
- elements.getElements().forEach(element -> element.init(event));
- }
- public void clientLoad(FMLClientSetupEvent event) {
- elements.getElements().forEach(element -> element.clientLoad(event));
- }
- @SubscribeEvent
- public void registerBlocks(RegistryEvent.Register<Block> event) {
- event.getRegistry().registerAll(elements.getBlocks().stream().map(Supplier::get).toArray(Block[]::new));
- }
- @SubscribeEvent
- public void registerItems(RegistryEvent.Register<Item> event) {
- event.getRegistry().registerAll(elements.getItems().stream().map(Supplier::get).toArray(Item[]::new));
- }
- @SubscribeEvent
- public void registerEntities(RegistryEvent.Register<EntityType<?>> event) {
- event.getRegistry().registerAll(elements.getEntities().stream().map(Supplier::get).toArray(EntityType[]::new));
- }
- @SubscribeEvent
- public void registerEnchantments(RegistryEvent.Register<Enchantment> event) {
- event.getRegistry().registerAll(elements.getEnchantments().stream().map(Supplier::get).toArray(Enchantment[]::new));
- }
- @SubscribeEvent
- public void registerSounds(RegistryEvent.Register<net.minecraft.util.SoundEvent> event) {
- elements.registerSounds(event);
- }
- private static class TestcModFMLBusEvents {
- private final TestcMod parent;
- TestcModFMLBusEvents(TestcMod parent) {
- this.parent = parent;
- }
- @SubscribeEvent
- public void serverLoad(FMLServerStartingEvent event) {
- this.parent.elements.getElements().forEach(element -> element.serverLoad(event));
- }
- }
- }
无敌三脚猫 发表于 2022-3-27 14:29
mcreator也可以直接编辑java代码对么?我看你之前的帖子里出现过
mcreator在添加了CuriosApi作为依赖之后 ...
大佬,我成功辣!!!!!!!!!!!!
hxyzg 发表于 2022-3-27 15:09
大佬,我成功辣!!!!!!!!!!!!
我本来是想跟你讲讲在常规的开发方法中是怎么添加mod依赖的,或者我可以直接把工程文件发给你
然后我的eclipse现在还在下载curios-forge-1.16.5-4.0.8.1-api.jar

哈哈,不过成功了就好