Jump to content
  • Home
  • Files
  • Docs
Topics
  • All Content

  • This Topic
  • This Forum

  • Advanced Search
  • Existing user? Sign In  

    Sign In



    • Not recommended on shared computers


    • Forgot your password?

  • Sign Up
  • All Activity
  • Home
  • Mod Developer Central
  • Modder Support
  • [1.16.4] Mod registries not loaded before Event Listener
Currently Supported: 1.16.X (Latest) and 1.15.X (LTS)
Sign in to follow this  
Followers 1
st4s1k

[1.16.4] Mod registries not loaded before Event Listener

By st4s1k, January 9 in Modder Support

  • Reply to this topic
  • Start new topic

Recommended Posts

st4s1k    0

st4s1k

st4s1k    0

  • Tree Puncher
  • st4s1k
  • Members
  • 0
  • 48 posts
Posted January 9 (edited)

Hi guys, I'm trying to access `ForgeRegistries.ITEMS` at the stage of config initialization but there are no mod items at this stage, here are some logs listing all items before and after config loading.
 

[19:24:19] [modloading-worker-9/INFO] [co.st.st.StackDown/]: ForgeRegistries.ITEMS:
[19:24:19] [modloading-worker-9/INFO] [co.st.st.StackDown/]:   minecraft:air
[19:24:19] [modloading-worker-9/INFO] [co.st.st.StackDown/]:   minecraft:stone
[19:24:19] [modloading-worker-9/INFO] [co.st.st.StackDown/]:   minecraft:granite
... vanilla minecraft items ...
[19:24:21] [modloading-worker-9/INFO] [co.st.st.StackDown/]:   minecraft:polished_blackstone_bricks
[19:24:21] [modloading-worker-9/INFO] [co.st.st.StackDown/]:   minecraft:polished_blackstone_brick_slab
[19:24:21] [modloading-worker-9/INFO] [co.st.st.StackDown/]:   minecraft:polished_blackstone_brick_stairs
[19:24:21] [modloading-worker-9/INFO] [co.st.st.StackDown/]:   minecraft:cracked_polished_blackstone_bricks
[19:24:21] [modloading-worker-9/INFO] [co.st.st.StackDown/]:   minecraft:respawn_anchor
[19:24:21] [modloading-worker-9/INFO] [co.st.st.StackDown/]: Loading config: D:\Downloads\MC\server-forge\config\stack-down.toml
[19:24:21] [modloading-worker-9/INFO] [co.st.st.StackDown/]: Built config: D:\Downloads\MC\server-forge\config\stack-down.toml
[19:24:21] [modloading-worker-9/INFO] [co.st.st.StackDown/]: Loaded config: D:\Downloads\MC\server-forge\config\stack-down.toml
[19:24:21] [main/ERROR] [minecraft/Util]: No data fixer registered for
[19:24:21] [modloading-worker-15/INFO] [co.st.st.StackDown/]: ForgeRegistries.ITEMS:
[19:24:21] [Forge Version Check/INFO] [ne.mi.fm.VersionChecker/]: [forge] Starting version check at https://files.minecraftforge.net/maven/net/minecraftforge/forge/promotions_slim.json
[19:24:21] [modloading-worker-15/INFO] [co.st.st.StackDown/]:   minecraft:air
[19:24:21] [modloading-worker-15/INFO] [co.st.st.StackDown/]:   minecraft:stone
[19:24:21] [modloading-worker-15/INFO] [co.st.st.StackDown/]:   minecraft:granite
... vanilla minecraft items ...
[19:24:23] [modloading-worker-15/INFO] [co.st.st.StackDown/]:   minecraft:polished_blackstone_brick_stairs
[19:24:23] [modloading-worker-15/INFO] [co.st.st.StackDown/]:   minecraft:cracked_polished_blackstone_bricks
[19:24:23] [modloading-worker-15/INFO] [co.st.st.StackDown/]:   minecraft:respawn_anchor
[19:24:23] [modloading-worker-15/INFO] [co.st.st.StackDown/]:   toughtrees:flint_axe
[19:24:23] [modloading-worker-15/INFO] [co.st.st.StackDown/]:   toughtrees:flint_pickaxe
[19:24:23] [modloading-worker-15/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:backpack
[19:24:23] [modloading-worker-15/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:iron_backpack
[19:24:23] [modloading-worker-15/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:gold_backpack
[19:24:23] [modloading-worker-15/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:diamond_backpack
[19:24:23] [modloading-worker-15/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:pickup_upgrade
[19:24:23] [modloading-worker-15/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:advanced_pickup_upgrade
[19:24:23] [modloading-worker-15/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:filter_upgrade
[19:24:23] [modloading-worker-15/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:advanced_filter_upgrade
[19:24:23] [modloading-worker-15/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:magnet_upgrade
[19:24:23] [modloading-worker-15/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:advanced_magnet_upgrade
[19:24:23] [modloading-worker-15/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:feeding_upgrade
[19:24:23] [modloading-worker-15/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:compacting_upgrade
[19:24:23] [modloading-worker-15/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:advanced_compacting_upgrade
[19:24:23] [modloading-worker-15/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:void_upgrade
[19:24:23] [modloading-worker-15/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:advanced_void_upgrade
[19:24:23] [modloading-worker-15/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:restock_upgrade
[19:24:23] [modloading-worker-15/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:advanced_restock_upgrade
[19:24:23] [modloading-worker-15/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:deposit_upgrade
[19:24:23] [modloading-worker-15/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:advanced_deposit_upgrade
[19:24:23] [modloading-worker-15/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:refill_upgrade
[19:24:23] [modloading-worker-15/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:inception_upgrade
[19:24:23] [modloading-worker-15/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:everlasting_upgrade
[19:24:23] [modloading-worker-15/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:smelting_upgrade
[19:24:23] [modloading-worker-15/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:auto_smelting_upgrade
[19:24:23] [modloading-worker-15/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:crafting_upgrade
[19:24:23] [modloading-worker-15/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:upgrade_base


Here is my code, it works in SSP but doesn't work in SMP:
 

@Mod("stackdown")
public class StackDown {
    public static final Logger LOGGER = LogManager.getLogger();

    public StackDown() {
        ModLoadingContext.get().registerConfig(ModConfig.Type.SERVER, Config.config);
        FMLJavaModLoadingContext.get().getModEventBus().addListener(this::overrideMaxStackSize);
        MinecraftForge.EVENT_BUS.register(this);
        Config.loadConfig(Config.config, FMLPaths.CONFIGDIR.get().resolve("stack-down.toml").toString());
    }

    private void overrideMaxStackSize(final FMLLoadCompleteEvent event) {
        StackDown.LOGGER.info("ForgeRegistries.ITEMS:");
        ForgeRegistries.ITEMS.getValues().forEach(item ->
            StackDown.LOGGER.info("  {}", item.getRegistryName()));

        if (overrideMaxStackSize.get()) {
            ForgeRegistries.ITEMS.getValues().stream()
                .filter(Objects::nonNull)
                .forEach(item -> setPrivateValue(
                    Item.class, item,
                    getMaxStackSizeOrDefault(item),
                    "field_77777_bU"
                ));
        }
    }

    private int getMaxStackSizeOrDefault(Item item) {
        ResourceLocation resourceLocation = item.getRegistryName();
        Integer newMaxStackSize = resourceLocation == null || useDefaultMaxStackSize.get()
            ? defaultMaxStackSize.get()
            : resourceToMaxStackSize.get(resourceLocation.toString()).get();
        return Math.min(item.getMaxStackSize(), newMaxStackSize);
    }
}


 

public class Config {
    private static final ForgeConfigSpec.Builder builder = new ForgeConfigSpec.Builder();
    public static final ForgeConfigSpec config;

    static {
        StackDownConfig.init(builder);
        config = builder.build();
    }

    public static void loadConfig(ForgeConfigSpec config, String path) {
        StackDown.LOGGER.info("Loading config: " + path);
        final CommentedFileConfig file = CommentedFileConfig.builder(new File(path))
            .sync()
            .autosave()
            .writingMode(WritingMode.REPLACE)
            .build();
        StackDown.LOGGER.info("Built config: " + path);
        file.load();
        StackDown.LOGGER.info("Loaded config: " + path);
        config.setConfig(file);
    }
}


 

public class StackDownConfig {

    public static ForgeConfigSpec.IntValue defaultMaxStackSize;
    public static ForgeConfigSpec.BooleanValue overrideMaxStackSize;
    public static ForgeConfigSpec.BooleanValue useDefaultMaxStackSize;
    public static Map<String, ForgeConfigSpec.IntValue> resourceToMaxStackSize;

    public static void init(ForgeConfigSpec.Builder builder) {
        builder.comment("StackDown config");
        overrideMaxStackSize = builder
            .comment("Decide if you want to override vanilla max stack size (applies to all)")
            .define("common.override_max_stack_size", true);
        useDefaultMaxStackSize = builder
            .comment("Decide if you want to use default max stack size (ignoring custom settings)")
            .define("common.use_default_max_stack_size", true);
        defaultMaxStackSize = builder
            .comment("Maximum default stack size")
            .defineInRange("common.default_max_stack_size", 16, 1, 64);

        StackDown.LOGGER.info("ForgeRegistries.ITEMS:");
        ForgeRegistries.ITEMS.getValues().forEach(item ->
            StackDown.LOGGER.info("  {}", item.getRegistryName()));

        resourceToMaxStackSize = ForgeRegistries.ITEMS.getValues().stream()
            .map(ForgeRegistryEntry::getRegistryName)
            .filter(Objects::nonNull)
            .map(ResourceLocation::toString)
            .collect(toMap(registryName -> registryName, registryName -> builder
                .comment("Maximum stack size for " + registryName)
                .defineInRange("custom." + registryName, 16, 1, 64)));
    }
}


Can you help me with some advice? Thanks in advance.

Edited Wednesday at 10:17 PM by st4s1k
  • Quote

Share this post


Link to post
Share on other sites

Somonestolemyusername    0

Somonestolemyusername

Somonestolemyusername    0

  • Stone Miner
  • Somonestolemyusername
  • Members
  • 0
  • 67 posts
Posted January 9

what version of minecraft are you coding in?

  • Quote

Share this post


Link to post
Share on other sites

st4s1k    0

st4s1k

st4s1k    0

  • Tree Puncher
  • st4s1k
  • Members
  • 0
  • 48 posts
Posted January 9

1.16.4

 

  • Quote

Share this post


Link to post
Share on other sites

Somonestolemyusername    0

Somonestolemyusername

Somonestolemyusername    0

  • Stone Miner
  • Somonestolemyusername
  • Members
  • 0
  • 67 posts
Posted January 9

ok

  • Quote

Share this post


Link to post
Share on other sites

diesieben07    7587

diesieben07

diesieben07    7587

  • Reality Controller
  • diesieben07
  • Forum Team
  • 7587
  • 54935 posts
Posted January 9
20 minutes ago, st4s1k said:

Hi guys, I'm trying to access `ForgeRegistries.ITEMS` at the stage of config initialization but there are no mod items at this stage

That is correct and intentional. How would there be items in your mod constructor?

If you need initialized items you need to use FMLCommonSetupEvent.

  • Quote

Share this post


Link to post
Share on other sites

st4s1k    0

st4s1k

st4s1k    0

  • Tree Puncher
  • st4s1k
  • Members
  • 0
  • 48 posts
Posted January 9 (edited)
54 minutes ago, diesieben07 said:

That is correct and intentional. How would there be items in your mod constructor?

If you need initialized items you need to use FMLCommonSetupEvent.

I actually had FMLCommonSetupEvent in overrideMaxStackSize(), but no difference. The config initializer is static and happens much earlier before I actually need it to be.

Edited January 9 by st4s1k
  • Quote

Share this post


Link to post
Share on other sites

diesieben07    7587

diesieben07

diesieben07    7587

  • Reality Controller
  • diesieben07
  • Forum Team
  • 7587
  • 54935 posts
Posted January 9

Yes, you won't be able to make a config dependent on registry entries.

  • Quote

Share this post


Link to post
Share on other sites

st4s1k    0

st4s1k

st4s1k    0

  • Tree Puncher
  • st4s1k
  • Members
  • 0
  • 48 posts
Posted January 9

I actually managed to fix this problem, I'm testing it now

  • Quote

Share this post


Link to post
Share on other sites

st4s1k    0

st4s1k

st4s1k    0

  • Tree Puncher
  • st4s1k
  • Members
  • 0
  • 48 posts
Posted January 9 (edited)

Here is my updated code:

@Mod("stackdown")
public class StackDown {
    public static final Logger LOGGER = LogManager.getLogger();

    public StackDown() {
        FMLJavaModLoadingContext.get().getModEventBus().addListener(this::overrideMaxStackSize);
        MinecraftForge.EVENT_BUS.register(this);
    }

    private void overrideMaxStackSize(final FMLCommonSetupEvent event) {
        Config.init();

        StackDown.LOGGER.info("ForgeRegistries.ITEMS:");
        ForgeRegistries.ITEMS.getValues().forEach(item ->
            StackDown.LOGGER.info("  {}", item.getRegistryName()));

        if (overrideMaxStackSize.get()) {
            ForgeRegistries.ITEMS.getValues().stream()
                .filter(Objects::nonNull)
                .forEach(item -> setPrivateValue(
                    Item.class, item,
                    getMaxStackSizeOrDefault(item),
                    "field_77777_bU"
                ));
        }
    }

    private int getMaxStackSizeOrDefault(Item item) {
        ResourceLocation resourceLocation = item.getRegistryName();
        Integer newMaxStackSize = resourceLocation == null || useDefaultMaxStackSize.get()
            ? defaultMaxStackSize.get()
            : resourceToMaxStackSize.get(resourceLocation.toString()).get();
        return Math.min(item.getMaxStackSize(), newMaxStackSize);
    }
}


 

public class Config {
    private static final ForgeConfigSpec.Builder builder = new ForgeConfigSpec.Builder();
    public static ForgeConfigSpec config;

    private Config() {
    }

    public static void init() {
        StackDownConfig.init(builder);
        config = builder.build();
        ModLoadingContext.get().registerConfig(ModConfig.Type.SERVER, config);
        Config.loadConfig(config, FMLPaths.CONFIGDIR.get().resolve("stack-down.toml").toString());

    }

    public static void loadConfig(ForgeConfigSpec config, String path) {
        StackDown.LOGGER.info("Loading config: " + path);
        final CommentedFileConfig file = CommentedFileConfig.builder(new File(path))
            .sync()
            .autosave()
            .writingMode(WritingMode.REPLACE)
            .build();
        StackDown.LOGGER.info("Built config: " + path);
        file.load();
        StackDown.LOGGER.info("Loaded config: " + path);
        config.setConfig(file);
    }
}


P.S. I didn't make any changes in StackDownConfig.class, so I didn't include it here.

Edited January 9 by st4s1k
  • Quote

Share this post


Link to post
Share on other sites

st4s1k    0

st4s1k

st4s1k    0

  • Tree Puncher
  • st4s1k
  • Members
  • 0
  • 48 posts
Posted January 9 (edited)

So, what I did is, I extracted this code into a separate static method Config.init(), which I can call whenever I need to, rather than a static block:

    static {
        StackDownConfig.init(builder);
        config = builder.build();
    }

 

And moved this lines inside the new Config.init() method:

ModLoadingContext.get().registerConfig(ModConfig.Type.SERVER, Config.config);
Config.loadConfig(Config.config, FMLPaths.CONFIGDIR.get().resolve("stack-down.toml").toString());


Then I just call Config.init() inside this method:

overrideMaxStackSize(final FMLCommonSetupEvent event)

 

Edited January 9 by st4s1k
  • Quote

Share this post


Link to post
Share on other sites

st4s1k    0

st4s1k

st4s1k    0

  • Tree Puncher
  • st4s1k
  • Members
  • 0
  • 48 posts
Posted January 9

I will test this approach and give you updates.

  • Quote

Share this post


Link to post
Share on other sites

st4s1k    0

st4s1k

st4s1k    0

  • Tree Puncher
  • st4s1k
  • Members
  • 0
  • 48 posts
Posted January 9

I am familiar with java, but I am not familiar with modding, I work as a regular java developer (Spring, Hibernate, etc.).

  • Quote

Share this post


Link to post
Share on other sites

st4s1k    0

st4s1k

st4s1k    0

  • Tree Puncher
  • st4s1k
  • Members
  • 0
  • 48 posts
Posted January 9 (edited)

So it seems like it works! All items are loaded before loading config.
 

[21:17:56] [modloading-worker-11/INFO] [co.st.st.StackDown/]:   minecraft:polished_blackstone_brick_stairs
[21:17:56] [modloading-worker-11/INFO] [co.st.st.StackDown/]:   minecraft:cracked_polished_blackstone_bricks
[21:17:56] [modloading-worker-11/INFO] [co.st.st.StackDown/]:   minecraft:respawn_anchor
[21:17:56] [modloading-worker-11/INFO] [co.st.st.StackDown/]:   toughtrees:flint_axe
[21:17:56] [modloading-worker-11/INFO] [co.st.st.StackDown/]:   toughtrees:flint_pickaxe
[21:17:56] [modloading-worker-11/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:backpack
[21:17:56] [modloading-worker-11/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:iron_backpack
[21:17:56] [modloading-worker-11/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:gold_backpack
[21:17:56] [modloading-worker-11/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:diamond_backpack
[21:17:56] [modloading-worker-11/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:pickup_upgrade
[21:17:56] [modloading-worker-11/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:advanced_pickup_upgrade
[21:17:56] [modloading-worker-11/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:filter_upgrade
[21:17:56] [modloading-worker-11/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:advanced_filter_upgrade
[21:17:56] [modloading-worker-11/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:magnet_upgrade
[21:17:56] [modloading-worker-11/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:advanced_magnet_upgrade
[21:17:56] [modloading-worker-11/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:feeding_upgrade
[21:17:56] [modloading-worker-11/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:compacting_upgrade
[21:17:56] [modloading-worker-11/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:advanced_compacting_upgrade
[21:17:56] [modloading-worker-11/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:void_upgrade
[21:17:56] [modloading-worker-11/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:advanced_void_upgrade
[21:17:56] [modloading-worker-11/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:restock_upgrade
[21:17:56] [modloading-worker-11/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:advanced_restock_upgrade
[21:17:56] [modloading-worker-11/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:deposit_upgrade
[21:17:56] [modloading-worker-11/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:advanced_deposit_upgrade
[21:17:56] [modloading-worker-11/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:refill_upgrade
[21:17:56] [modloading-worker-11/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:inception_upgrade
[21:17:56] [modloading-worker-11/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:everlasting_upgrade
[21:17:56] [modloading-worker-11/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:smelting_upgrade
[21:17:56] [modloading-worker-11/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:auto_smelting_upgrade
[21:17:56] [modloading-worker-11/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:crafting_upgrade
[21:17:56] [modloading-worker-11/INFO] [co.st.st.StackDown/]:   sophisticatedbackpacks:upgrade_base
[21:17:56] [modloading-worker-11/INFO] [co.st.st.StackDown/]: Loading config: D:\Downloads\MC\server-forge\config\stack-down.toml
[21:17:56] [modloading-worker-11/INFO] [co.st.st.StackDown/]: Built config: D:\Downloads\MC\server-forge\config\stack-down.toml
[21:17:56] [modloading-worker-11/INFO] [co.st.st.StackDown/]: Loaded config: D:\Downloads\MC\server-forge\config\stack-down.toml

 

Edited January 9 by st4s1k
  • Quote

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

    • Insert image from URL
×
  • Desktop
  • Tablet
  • Phone
Sign in to follow this  
Followers 1
Go To Topic Listing



  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • e2rifia
      (1.16.2) Making a new capability (3)

      By e2rifia · Posted 1 hour ago

      @Mod(Main.MODID) //@Mod.EventBusSubscriber(modid = Main.MODID) public class Main{ public static final String MODID = "main"; @SubscribeEvent public static void setup(final FMLCommonSetupEvent event) { System.out.println("I'm setting up!"); MinecraftForge.EVENT_BUS.register(new CapabilityAttatcher()); MagicCapability.register(); } }  
    • loordgek
      (1.16.2) Making a new capability (3)

      By loordgek · Posted 1 hour ago

      what dint work, show your new code
    • Klarks
      [1.16.4] How i can open a container by clicking on my mob

      By Klarks · Posted 1 hour ago

      Is it ok that i am saving a player uuid as a string in datamanager private static final DataParameter<String> OWNER = EntityDataManager.createKey(MyEntity.class, DataSerializers.STRING); @OnlyIn(Dist.CLIENT) public UUID getOwner() { return UUID.fromString(this.dataManager.get(OWNER)); } public void setOwner(UUID name) { this.dataManager.set(OWNER ,name.toString()); }
    • e2rifia
      (1.16.2) Making a new capability (3)

      By e2rifia · Posted 1 hour ago

      Is @EventBusSubscriber what's getting in the way of setup? It didn't work...
    • diesieben07
      (1.16.2) Making a new capability (3)

      By diesieben07 · Posted 1 hour ago

      You don't need to, no. Why?
  • Topics

    • e2rifia
      12
      (1.16.2) Making a new capability (3)

      By e2rifia
      Started 3 hours ago

    • Klarks
      11
      [1.16.4] How i can open a container by clicking on my mob

      By Klarks
      Started 15 hours ago

    • Heinzchen
      2
      Update mod to 1.16.5

      By Heinzchen
      Started 16 hours ago

    • XenoPyax
      3
      [1.16.4] Render Player in gui

      By XenoPyax
      Started 4 hours ago

    • metword
      16
      [1.16.4] Config file will not update.

      By metword
      Started Wednesday at 04:20 PM

  • Who's Online (See full list)

    • PaleoCrafter
    • KEKEL
    • Pl00py_R
    • Heinzchen
    • loordgek
    • DT_Leader.
    • Choonster
    • Beethoven92
    • Roelru
  • All Activity
  • Home
  • Mod Developer Central
  • Modder Support
  • [1.16.4] Mod registries not loaded before Event Listener
  • Theme

Copyright © 2019 ForgeDevelopment LLC · Ads by Longitude Ads LLC Powered by Invision Community