Jump to content

Recommended Posts

Posted

Hey guys! My ore spawns way too much... I want my ore to be more rare then diamond, but not as annoyingly rare as emerald.

Here is the SuperOreWorldGeneration code:

 

package ajaygross137.MyFirstMod.worldGen;

import java.util.Random;

import ajaygross137.MyFirstMod.common.MyFirstMod;
import net.minecraft.world.World;
import net.minecraft.world.chunk.IChunkProvider;
import net.minecraft.world.gen.feature.WorldGenMinable;
import cpw.mods.fml.common.IWorldGenerator;

public class SuperOreWorldGeneration implements IWorldGenerator {

@Override
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) {
	switch(world.provider.dimensionId) {
	case 0:
		generateSurface(world, random, chunkX*16, chunkZ*16);
		break;
	}

}

private void generateSurface(World world, Random random, int i, int j) {
	for (int k = 0; k < 25; k++) {
		int chunkX = i + random.nextInt(16);
		int chunkY = random.nextInt(16);
		int chunkZ = j + random.nextInt(16);

		(new WorldGenMinable(MyFirstMod.SuperOre.blockID, ).generate(world, random, chunkX, chunkY, chunkZ);
	}

}

}

Posted
  On 12/13/2013 at 4:28 PM, Mazetar said:

Then reduce the chance for it to generate? :P

atm it seems like you are generating 25 veins per chunk or something

ok ok thanks that seems to solve it but how to I make it like more rare than diamonds, but more common then emeralds?

 

Posted
  On 12/13/2013 at 4:32 PM, ajaygross137 said:

  Quote

Then reduce the chance for it to generate? :P

atm it seems like you are generating 25 veins per chunk or something

ok ok thanks that seems to solve it but how to I make it like more rare than diamonds, but more common then emeralds?

Choose a value between the one for diamond and emerald :)

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

 

1.12 -> 1.13 primer by williewillus.

 

1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support.

 

http://www.howoldisminecraft1710.today/

Posted

STOP!

Right now, just stop.

 

THINK!

Just think over what you want to achieve for a few seconds.

Consider what it means for something to be rare, it means it happens less often. So how do we make something happen at a % chance?

Now by using Random you are easily able to do that I bet ;)

 

Now considering some other ways to limit spawning, we could make sure to only do it in a specific Y range like diamonds or only in specific biomes.

 

Yeah, well I said more than I intended to say, so there ya go :P

Good luck :)

 

  Quote

If you guys dont get it.. then well ya.. try harder...

Posted
  On 12/13/2013 at 5:14 PM, Mazetar said:

STOP!

Right now, just stop.

 

THINK!

Just think over what you want to achieve for a few seconds.

Consider what it means for something to be rare, it means it happens less often. So how do we make something happen at a % chance?

Now by using Random you are easily able to do that I bet ;)

 

Now considering some other ways to limit spawning, we could make sure to only do it in a specific Y range like diamonds or only in specific biomes.

 

Yeah, well I said more than I intended to say, so there ya go :P

Good luck :)

Thanks! Now one more question... How do I mark this as [sOLVED]? ;)
Posted

Next to the title in the first post is a button called "Edit post". Click on that and edit you title :)

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

 

1.12 -> 1.13 primer by williewillus.

 

1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support.

 

http://www.howoldisminecraft1710.today/

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...

×   Pasted as rich text.   Restore formatting

  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.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • I would like to have a BoP sapling drop from my block if it is also installed. I think I have done everything and I cannot pinpoint the problem, which is the error in the logs that appears when joining a world:   [Worker-Main-11/ERROR] [ne.mi.co.ForgeHooks/]: Couldn't parse element loot_tables:grasses:blocks/leaves_block com.google.gson.JsonSyntaxException: Expected name to be an item, was unknown string 'biomesoplenty:magic_sapling' My code:   LootItemConditions.CONDITIONS.register(modEventBus); public class LootItemConditions { public static final DeferredRegister<LootItemConditionType> CONDITIONS = DeferredRegister.create(Registries.LOOT_CONDITION_TYPE, Grasses.MOD_ID); public static final RegistryObject<LootItemConditionType> IS_MOD_LOADED = CONDITIONS.register("is_mod_loaded", () -> new LootItemConditionType(new IsModLoaded.ConditionSerializer())); } public class IsModLoaded implements LootItemCondition { private final boolean exists; private final String modID; public IsModLoaded(String modID) { this.exists = ModList.get().isLoaded(modID); this.modID = modID; } @Override public LootItemConditionType getType() { return LootItemConditions.IS_MOD_LOADED.get(); } @Override public boolean test(LootContext context) { return this.exists; } public static LootItemCondition.Builder builder(String modid) { return () -> new IsModLoaded(modid); } public static class ConditionSerializer implements Serializer<IsModLoaded> { @Override public void serialize(JsonObject json, IsModLoaded instance, JsonSerializationContext ctx) { json.addProperty("modid", instance.modID); } @Override public IsModLoaded deserialize(JsonObject json, JsonDeserializationContext ctx) { return new IsModLoaded(GsonHelper.getAsString(json, "modid")); } } } protected LootTable.Builder createLeavesDropsWithModIDCheck(Block selfBlock, Item sapling, Property<?>[] properties, String modIDToCheck, float... chances) { CopyBlockState.Builder blockStateCopyBuilder = CopyBlockState.copyState(selfBlock); for(Property<?> property : properties) { blockStateCopyBuilder.copy(property); } return LootTable.lootTable() .withPool(LootPool.lootPool().setRolls(ConstantValue.exactly(1.0F)) .add(LootItem.lootTableItem(selfBlock) .when(HAS_SHEARS_OR_SILK_TOUCH) .apply(blockStateCopyBuilder))) .withPool(LootPool.lootPool().setRolls(ConstantValue.exactly(1.0F)) .add(this.applyExplosionCondition(selfBlock, LootItem.lootTableItem(sapling)) .when(IsModLoaded.builder(modIDToCheck))) .when(BonusLevelTableCondition.bonusLevelFlatChance(Enchantments.BLOCK_FORTUNE, chances)) .when(HAS_NO_SHEARS_OR_SILK_TOUCH)) .withPool(LootPool.lootPool().name("sticks").setRolls(ConstantValue.exactly(1.0F)) .add(this.applyExplosionDecay(selfBlock, LootItem.lootTableItem(Items.STICK). apply(SetItemCountFunction.setCount(UniformGenerator.between(1.0F, 2.0F)))) .when(BonusLevelTableCondition.bonusLevelFlatChance(Enchantments.BLOCK_FORTUNE, NORMAL_LEAVES_STICK_CHANCES)) .when(HAS_NO_SHEARS_OR_SILK_TOUCH))); } I don't know. Am I making a mistake somewhere? Am I forgetting something? Should there be something else?
    • https://paste.ee/p/h1JX9bbl
    • Add the latest.log from your logs-folder
    • It didn't work. https://paste.ee/p/JttLe3Jj
  • Topics

×
×
  • Create New...

Important Information

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