McLists一周年快乐
服务器已经添加了详细介绍信息板块
服主可以在管理后台来提交自己服务器介绍信息。
服务器介绍信息提交后,管理人员会进行审核
审核通过后会在服务器详细页面进行显示
提交服务器介绍信息会让新玩家更好的了解你的服务器哦~
添加图片信息,也会让百度等搜索引擎更好的收录您的服务器哦~
管理平台地址:传送门
Temporal API

Temporal API - Temporal API(时间接口)

Temporal API 是 Team Temporal 模组所使用的库,其他项目也可能会使用它。
forge 作者 Cyber_Rat 支持版本 1.20.1 - 1.20.6
下载量
130,117
关注数
8
数据来源
Modrinth
模组详细介绍

Temporal API 是 Team Temporal mods 的官方库,其他项目、模组作者以及整合包作者都可以在他们的项目中尽情使用它。

这个模组的主要目标是让创建模组变得更简单、更灵活!

要使用我们的库,你需要前往 build.gradle 并添加以下内容:

repositories {
    maven {
        url "https://cursemaven.com"
    }
}

dependencies {
    implementation fg.deobf("curse.maven:temporalapi-970291:")
    
    ...
}

你需要将 替换为文件 id,它可以在所需版本的模组文件链接末尾找到。

当前版本的这个库添加了:

工厂,

标签工具,

创造模式标签页工具,

村民和流浪商人交易自定义器,

世界特性工具,

物品属性工具,

fov 修改器

等等

Factory 和 Extensions

Factories 用于创建 RegistryObject 对象,并让它们的创建变得更加简单。

要使用 API 中的 ItemFactory,你需要像下面这样创建一个 ItemFactoryFacade 类:

public class ModItemFactoryFacade extends ItemFactory {
    public ModItemFactoryFacade() {
        super(ModItems.ITEMS);
    }
}

你也可以使用 API 中的 Extensions 扩展你的 Factory Facade,或者创建你自己的 Extension。

下面是使用 SwordExtension 的 2 个示例(有了这个 Extension,创建 Sword 会容易得多):

像这样:

public class ModItemFactoryFacade extends ItemFactory implements SwordExtension {
    public ModItemFactoryFacade() {
        super(ModItems.ITEMS);
    }
}

或者这样:

public class ModItemFactoryFacade extends ItemFactory implements SwordExtension {
    public ModItemFactoryFacade() {
        super(ModItems.ITEMS);
    }

    public RegistryObject createSword(String name, Object... args) {
        return SwordExtension.super.createSword(name, this, args);
    }

    public RegistryObject createSword(String name, Supplier tTypedSupplier) {
        return SwordExtension.super.createSword(name, this, tTypedSupplier);
    }
}

那么,如何使用这个 Facade 类来创建我们的对象呢:

public class ModItems {
    public static final DeferredRegister ITEMS = DeferredRegister.create(Registries.ITEM, "MOD_ID");
    public static final ModItemFactoryFacade ITEM_FACTORY = new ModItemFactoryFacade();

    public static final RegistryObject MY_ITEM_1 = ITEM_FACTORY.create("my_item_1");
    public static final RegistryObject MY_ITEM_2 = ITEM_FACTORY.create("my_item_2", new Item.Properties());
    public static final RegistryObject MY_ITEM_3 = ITEM_FACTORY.create("my_item_3", () -> new Item(new Item.Properties()));

    //上面创建 Facade 对象的第一个示例
    public static final RegistryObject MY_SWORD_1 = ITEM_FACTORY.createSword("my_sword_1", ITEM_FACTORY, Tiers.STONE, 3, -2.4F);
    public static final RegistryObject MY_SWORD_2 = ITEM_FACTORY.createSword("my_sword_2", ITEM_FACTORY, () -> new SwordItem(Tiers.STONE, 3, -2.4F, new Item.Properties()));

    //上面创建 Facade 对象的第二个示例
    public static final RegistryObject MY_SWORD_3 = ITEM_FACTORY.createSword("my_sword_3", Tiers.STONE, 3, -2.4F);
    public static final RegistryObject MY_SWORD_4 = ITEM_FACTORY.createSword("my_sword_4", () -> new SwordItem(Tiers.STONE, 3, -2.4F, new Item.Properties()));
}

现在我们来看一下 args... 数组。它是用于创建对象的参数数组(未来会为了更好的可读性而更改)。

当前可用的 Factories 和 extensions:

ItemFactory (ArrowExtension, BowExtension, BowlExtension, MusicDiscExtension, SmithingTemplateExtension, SwordExtension, AxeExtension, PickaxeExtension, ShovelExtension, HoeExtension)
BlockFactory (BushExtension, FlowerExtension, PottedFlowerExtension)
ParticleFactory
EffectFactory
PaintingFactory
PotionFactory
SoundEventFactory
CreativeTabFactory
EntityFactory

Tag Utils

Tag utils 专注于创建 tag,并让使用 tags 更加简单。

例如,如果你想创建 item tag,你需要使用 ItemTagFactory:

public class MyItemTags {

public static final TagFactory TAGFACTORY = new ItemTagFactory("MYMOD_ID");

public static final TagKey MYTAG = TAGFACTORY.createTag("my_tag");

}


Creative Tab Utils
Creative tab utils 用于将你需要的物品添加到对应的创造模式标签页中。

首先,我们需要前往订阅了 mod 事件的类,并添加这个函数(方法内部内容只是示例):

@SubscribeEvent
public void addCreativeTabs(BuildCreativeModeTabContentsEvent event) {
    new SimpleTabAdder(event)
            .addAllToTab(CreativeModeTabs.INGREDIENTS, ModItems.MY_ITEM_1, ModItems.MY_ITEM_2, ModItems.MY_ITEM_3)
            .addAllToTab(CreativeModeTabs.COMBAT, ModItems.MY_SWORD_1, ModItems.MY_SWORD_2, ModItems.MY_SWORD_3);
}

Trading with Villagers and Wanderers Utils

TemporalAPI 让交易变得简单得多。下面是一个示例:

public static final TradeCustomizer tradeCustomizer = new SimpleTradeCustomizer();

@SubscribeEvent
public void customizeTradesWithVillagers(VillagerTradesEvent event) {
    tradeCustomizer.customize(event, new VillagerTrade(
            new TradingItemHolder(Items.ANDESITE, 2),
            new TradingItemHolder(Items.EMERALD, 3),
            new VillagerTradeDescription(
                    VillagerProfession.ARMORER, 1, 5, 5, 0.5f
            )
    ));
}

@SubscribeEvent
public void customizeTradesWithWanderers(WandererTradesEvent event) {
    tradeCustomizer.customize(event, new WandererTrade(
            new TradingItemHolder(Items.ANDESITE, 2),
            new TradingItemHolder(Items.EMERALD, 3),
            new WandererTradeDescription(
                    WandererTradeDescription.TradeRarity.RARE, 5, 5, 0.5f
            )
    ));
}

World Features Utils

将在接下来的更新中继续扩展。

Item Properties Utils

为弓、盾牌等添加所需属性。

@SubscribeEvent
public void clientSetup(final FMLClientSetupEvent event) {
    event.enqueueWork(() -> {
        TemporalItemProperties.makeBow(ModItems.MY_BOW_1);
        TemporalItemProperties.makeShield(ModItems.MY_SHIELD_1);
        TemporalItemProperties.makeCrossbow(ModItems.MY_CROSSBOW_1);
        TemporalItemProperties.putCompostable(ModBlocks.MY_FLOWER_1, 4);
    });
}

FAQ:

这个模组会推出 Fabric 版本吗:

不会,暂时没有 Fabric 版本的计划

我可以在我的 Modpacks 中使用这个模组吗:

可以,欢迎在任何 modpack 中使用这个模组!

我该如何建议新功能或报告 Bugs:

如果有任何评论、问题、建议或遇到的问题,请加入上方的 discord!

基本信息
模组名称Temporal API
作者Cyber_Rat
下载量130,117
关注数8
支持版本1.20.1 - 1.20.6
加载器forge
客户端required
服务端required

友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作

历史访问人数:180,046  |  历史访问人次:282,200

今日访问人数:17,132  |  今日访问人次:20,093

昨日访问人数:23,567  |  昨日访问人次:27,193

Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.

Powered by GermMC 京ICP备17023959号-6