Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

imawindow

Members
  • Posts

    9
  • Joined

  • Last visited

Posts posted by imawindow

  1. Just now, diesieben07 said:

    That is not possible. Either you register items and blocks always, or you don't.

     

    Again: What do you mean by "appear"?

    alright. I meant as being registered and you can see its presence... lol i don't know how else to explain. So I'm just gonna register it and hide it from the creative tab if the mod is not downloaded and vice versa if it is. 

  2. Just now, diesieben07 said:

    Yes, I understood that part. What do you mean by "appear"?

    Like I want the items/blocks to be registered only when that mod is installed. else, remove the registry (almost like when you remove a mod, the content gets removed along side with it (obviously)). But like you said, I shouldn't do this. What is a good alternative?

  3. Just now, diesieben07 said:

    Define "appear".

    So i made a block type called "quarter stairs" and I would like to make it compatible with, let's say, Biomes O' Plenty blocks (ex:White Sandstone Quarter Stairs). I only want that to "appear" if Biomes O' Plenty is downloaded.

  4. 12 minutes ago, diesieben07 said:

    Do not dynamically register things. Always register all your items, blocks, etc.

    ok. so what is a good way to approach this? or is this just not a good idea? lol. I want the block/item to appear if you have a mod installed. 

  5. public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, Main.MOD_ID);
    
    public static final RegistryObject<Item> TEST_BLOCK_ITEM = itemRegistry("test_block_item", ModBlocks.TEST_BLOCK);
    
    private static RegistryObject<Item> itemRegistry(String registryName, RegistryObject<Block> block){
        String user = System.getProperty("user.home");
        File modFile = new File(user + "\\AppData\\Roaming\\.minecraft\\mods\\Test.txt");
        boolean modExists = modFile.exists();
        if(modExists) {
            return ITEMS.register(registryName, () -> new BlockItem(block.get(), new Item.Properties().group(Main.TAB)));
        }
        return null;
    }

     

    will returning null here cause any problems? I'm sorry if this is a dumb question; I'm just afraid haha

     

    edit: is this a good way of making your mod "compatible" with other mods? Is this a good way of removing this blocks/items once the mod is no longer there?

  6. I don't know how to explain this but I'll do my best. This happened three times to me now and I don't know whether it's my mod or minecraft that's doing this. (Context: I'm trying to setup for a youtube video on my mod). The first time this happened, I placed a block down (my block) and then the game froze and crashed. I logged back in to find out a chunk got deleted out of the world... i don't think thats the right word because it didn't really affect the y axis; it deleted like maybe a 16x16x20 area. I wish I had a screenshot but I deleted the old one and loaded a backup. The second time around, I pulled a lever and it deleted the same area (but didn't crash). (Here's some context: The blue shulker box got deleted by the error). I middle clicked a light blue shulker box and placed it in the position of the blue one and it placed down a "blue" shulker instead of a light blue. When I middle clicked the "blue" one, it gave me the light blue one. This is seriously so weird. It crashed again after a placed one of my modded blocks in the deleted area. (second crash report)

     

    Hopefully the screenshot will help clear any confusions.

    2020-12-24_12.17.12.png

    crash-2020-12-22_16.49.17-client.txt crash-2020-12-24_11.26.22-client.txt

×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.