Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted

Hi there!

 

I need help spawning ore in 1.10.2. Not really sure where to start. I did it back in 1.7, but not really sure now. Here is my code from 1.7 that I tried to convert.

 

public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider)
    {
        switch (world.provider.dimensionId)
        {
            case 0:
                this.generateOverworld(world, random, chunkX, chunkZ);
                break;
        }
    }

    public void generateOverworld(World world, Random rand, int x, int z)
    {
        this.generateOre(main.blockOre, world, rand, x, z, 2, 7, 5, 10, 30, Blocks.stone);
    }

    public void generateOre(Block block, World world, Random random, int chunkX, int chunkZ, int minVienSize, int maxVienSize, int chance, int minY, int maxY, Block generateIn)
    {
        int vienSize = minVienSize + random.nextInt(maxVienSize - minVienSize);
        int heightRange = maxY - minY;
        WorldGenMinable gen = new WorldGenMinable(block, vienSize, generateIn);

        for (int i = 0; i < chance; ++i)
        {
            int xRand = chunkX * 16 + random.nextInt(16);
            int yRand = random.nextInt(heightRange) + minY;
            int zRand = chunkZ * 16 + random.nextInt(16);
            gen.generate(world, random, xRand, yRand, zRand);
        }
    }
}

Well i know how to do this but 1rst. Would you like to work on a mod together 2nd Provide Your main Mod File and your blocks file

 

We offer help for free here in this forum, don't ask for anything to give the answer. What you did is intolerable!

 

As for op, A lot of things are quite similar but here's what you should change:

  • Make sure the class implements
    IWorldGenerator


  • The fifth parameter of generate should be of type
    IChunkGenerator

    not

    IChunkProvider


  • world.provider.getDimensionType()

    instead of

    world.provider.dimensionId

    and the cases are

    DimensionType.NETHER

    ,

    DimensionType.OVERWORLD

    and/or

    DimensionType.THE_END


  • new WorldGenMinable()

    now takes

    IBlockState

    which would indicate the block and the metadata. It also takes

    IPredicate<IBlockstate>

    to get the blocks that can surround the ore, you can get that using

    BlockMatcher.forBlock(Blocks.STONE)


  • WorldGenMinable#generate()

    takes

    BlockPos

    instead of

    x

    ,

    y

    and

    z

    which is easily made by

    new BlockPos(x, y, z)


Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

Important Information

By using this site, you agree to our Terms of Use.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.