跳到正文

CraftCoreLIB

作者:Tier1234

Cross-Platform library providing registgries and utils for mod developers.

收藏

介绍

中文介绍正在准备中,下面暂时显示原文。

CraftCoreLIB

CraftCoreLib is a cross-plaftorm library built for developers for simplify registries on multiloader and many more features!

 

Registries

This lib provides core code for simple registries like blocks, items, creativetabs to recipetypes, recipe serializers menu and more coming!!

Usage Example

public class ModBlocks {

  // Simple Block registration
  public static final ObjectRegistries<Block> MY_BLOCK = ObjectRegistries.registerBlock(
  ResourceLocation.fromNamespaceAndPath("yourmoid", "my_block"),
    ()-> new Block(BlockBehaviour.Properties.of()));

    // It must stay empty, call it on related Init class(for fabric the one implementing ModInitializer for neoforge the class with the @Mod annotation)
    public static void init() {}

}

And initialize all our registris on our setup:
– Fabric -> ModInitializer class
– NeoForge -> @Mod annotation class

 

// Placeholder
public void init() {
  ModBlocks.init();

}

then if Neoforge do this:

private void onRegister(RegisterEvent event) {
  ObjectRegistries.createAll("yourmoid", event.getRegistry());
}

if Fabric inside ModInitializer, after all your init add this:

 ObjectRegistries.createAll("yourmoid");

Configs

CraftCoreLIB also provides a dedicated config system with a custom config screen compatible with other mods!!

Usage Example:

public class ModConfigs {


  //Defining all your configs, ConfigValue<> accept all type of configs, Integer, Boolean, Enum, String even your custom one


public static final ConfigValue<Boolean> check;
public static final ConfigValue<Integer> i;


//The config Builder where we build our configs, the constructur needs the modid and the env type: CLIENT, SERVER or COMMON
public static final ConfigBuilder BUILDER = new ConfigBuilder("mod_id", ConfigType.CLIENT);


//Inside a static method we register our configs


static {


//Category 1 creantion, we call start to start a category and end to close it, everything behind them is register into the first category
BUILDER.strart("category1");
//All the configs you desire to insert onto the 1° category should go there.
//The define method accept Integer, Boolean, Enum, String even you custom one!
this.check = BUILDER.comment("allows to check something")
    .defineBoolean("check", false);
BUILDER.end();




//Category 2 creation or how many you want
BUILDER.strart("category2");
this.i = BUILDER.comment("allows to check something")
    .defineInt("i",MINVALUE 0, MAXVALUE 10, DEFAULT VALUE 5);
BUILDER.end();


//It's also possible to create a main category with each sub category


BUILDER.start("main");
BUILDER.start("category3");
this.check = BUILDER.comment("allows to check something")
    .defineBoolean("check", false);


this.i = BUILDER.comment("allows to check something")
    .defineInt("i",MINVALUE 0, MAXVALUE 10, DEFAULT VALUE 5);




BUILDER.end();



BUILDER.end();








   }


public static void init() {
BUILDER.build();



}


}
 
 

Network Builder

It features:
– Custom Packet creation and handling
– Network Creation
– Network Registration

Check more on GitHub Info 

Report issues on Discord GitHub

My Other Projects

 

常见问题

CraftCoreLIB 支持哪些 Minecraft 版本?

CraftCoreLIB 支持 Minecraft Java 版 1.21.1–26.3,共 4 个版本,可用的加载器:Fabric / NeoForge。下载时注意选择和你游戏版本一致的文件。

CraftCoreLIB 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric / NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。

评论

登录后评论和评分

Tier1234 的其他作品

查看全部 →