Jump to content

Recommended Posts

Posted

i cant seem to get ores generating in the nether to work

 

 

the is the code for de gen

 

package denbukki.indestructibleTools;

import java.util.Random;

import net.minecraft.world.World;

import net.minecraft.world.chunk.IChunkProvider;

import net.minecraft.world.gen.feature.WorldGenMinable;

import cpw.mods.fml.common.IWorldGenerator;

import cpw.mods.fml.common.IWorldGenerator;

 

public class WorldGennether_carbyneore implements IWorldGenerator {

@Override

public void generate(Random random, int chunkX, int chunkZ, World world,

IChunkProvider chunkGenerator, IChunkProvider chunkProvider) {

// TODO Auto-generated method stub

switch(world.provider.dimensionId){

case -1: generateNether(world, random,chunkX*16,chunkZ*16);

//case 0 : generateSurface(world, random,chunkX*16,chunkZ*16);

}

}

 

private void generateNether(World world, Random random, int BlockX, int BlockZ) {

for(int i =-1; i<4;i++){

int Xcoord = BlockX + random.nextInt(16);

int Zcoord = BlockZ + random.nextInt(16);

int Ycoord = random.nextInt(16);

(new WorldGenMinable(indestructibleTools.nether_carbyneore.blockID, 2)).generate(world, random, Xcoord, Ycoord, Zcoord);

}}}

Posted

You could try looking at the QuartzOre or the minecraft worldgen class. I'll look at it now.

EDIT: Couldn't find where in the code Quartz gets generated in... Maybe you could have better luck than me, though!

Did I help? Gimme a thanks!

Posted
  On 1/1/2014 at 10:30 PM, diesieben07 said:

1) Don't create a new instance every time, that's wasteful.

2) You have to tell WorldGenMinable which blocks to replace, by default it uses Stone, which obviously doesn't exist in the nether. Check the constructors.

 

i added what block to replace but still nothing

Posted

You should realize the nether is a giant open cave. So ore that spawns should have a significantly higher spawnrate than overworld ores since most of the blocks per chunk are usually air.

 

EDIT: You might also want to increase your Y value.

Posted
  On 1/2/2014 at 11:17 AM, CJLetsGame said:

You should realize the nether is a giant open cave. So ore that spawns should have a significantly higher spawnrate than overworld ores since most of the blocks per chunk are usually air.

 

EDIT: You might also want to increase your Y value.

 

that didnt help ist just not generating

 

Posted
  On 1/2/2014 at 1:17 PM, EducationalPurposes said:

are you sure you are replacing with Block.netherrack?

 

this is the code now

 

package denbukki.indestructibleTools;

import java.util.Random;

 

import net.minecraft.block.Block;

import net.minecraft.world.World;

import net.minecraft.world.chunk.IChunkProvider;

import net.minecraft.world.gen.feature.WorldGenMinable;

import cpw.mods.fml.common.IWorldGenerator;

import cpw.mods.fml.common.IWorldGenerator;

 

public class WorldGennether_carbyneore implements IWorldGenerator {

@Override

public void generate(Random random, int chunkX, int chunkZ, World world,

IChunkProvider chunkGenerator, IChunkProvider chunkProvider) {

// TODO Auto-generated method stub

switch(world.provider.dimensionId){

case -1: generateNether(world, random,chunkX*16,chunkZ*16);

//case 0 : generateSurface(world, random,chunkX*16,chunkZ*16);

}

}

 

private void generateNether(World world, Random random, int BlockX, int BlockZ) {

for(int i =-1; i<10;i++){

int Xcoord = BlockX + random.nextInt(16);

int Zcoord = BlockZ + random.nextInt(16);

int Ycoord = random.nextInt(16);

(new WorldGenMinable(indestructibleTools.nether_carbyneore.blockID, 2, Block.netherrack.blockID)).generate(world, random, Xcoord, Ycoord, Zcoord);

}}}

Posted
  On 1/3/2014 at 11:16 AM, diesieben07 said:

You are only generating in the lowest 16 blocks. I am not sure if that's your intend.

wel how do u make so its generates on all levels

Posted

Are you absolutely sure it isnt generating?

 

Right now, it is making a maximum of 4 veins of 2 ore per chunk. Thats assuming it tries to generate in netherrak and not air, which is what usually makes up most of a chunk. That means its extremely rare.

Posted
  On 1/3/2014 at 12:14 PM, CJLetsGame said:

Are you absolutely sure it isnt generating?

 

Right now, it is making a maximum of 4 veins of 2 ore per chunk. Thats assuming it tries to generate in netherrak and not air, which is what usually makes up most of a chunk. That means its extremely rare.

wel i change all the thing so it would become common but i coundlt find any

Posted
  On 1/4/2014 at 11:12 AM, diesieben07 said:

  Quote

help someone pls

As I said: You are probably not looking in the lower 16 levels of the nether. That is the only place where your ore will generate.

i already tried al types op combination of level and stuff but it just doesnt generate

Posted

this is how to code look now

 

package denbukki.indestructibleTools.worldgen;

import java.util.Random;

 

import net.minecraft.block.Block;

import net.minecraft.world.World;

import net.minecraft.world.chunk.IChunkProvider;

import net.minecraft.world.gen.feature.WorldGenMinable;

import cpw.mods.fml.common.IWorldGenerator;

import cpw.mods.fml.common.IWorldGenerator;

import denbukki.indestructibleTools.indestructibleTools;

 

public class WorldGennether_carbyneore implements IWorldGenerator {

@Override

public void generate(Random random, int chunkX, int chunkZ, World world,

IChunkProvider chunkGenerator, IChunkProvider chunkProvider) {

// TODO Auto-generated method stub

switch(world.provider.dimensionId){

case -1: generateNether(world, random,chunkX*16,chunkZ*16);

//case 0 : generateSurface(world, random,chunkX*16,chunkZ*16);

}

}

 

private void generateNether(World world, Random random, int BlockX, int BlockZ) {

for(int i =-1; i<1;i++){

int Xcoord = BlockX + random.nextInt(16);

int Zcoord = BlockZ + random.nextInt(16);

int Ycoord = random.nextInt(128);

(new WorldGenMinable(indestructibleTools.nether_carbyneore.blockID, 20, Block.netherrack.blockID)).generate(world, random, Xcoord, Ycoord, Zcoord);

}}}

Posted

Your for loop is only running twice per chunk. Try going from 0 to 10 or so. Also, do what diesieben suggested and print the locations the ore is spawning to the console to see if it is spawning at all and where to look.

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

    • Managed to solve the issue myself. Solved by a fresh modpack instance.
    • Hello, so straight to the problem. Today i wanted to startup Enigmatica as usual and it just wont startup. Last night everything worked fine, i didnt even turn off my pc. Crash log: https://mclo.gs/GJ6Kcy1
    • Rubidium and Embeddium are versions of the same mod, you can only have one. I believe Embeddium is the one that's actively maintained.
    • Hello, New to modding, but have a solid CS foundation. I've created multiple custom BlockEntities that all have the same issue, which is that the inventory only updates on right click (overriding the useItemOn method). I've seen multiple posts on here outlining a similar issue to mine, but I've already implemented the solution of: overriding the correct methods in the BlockEntity class and calling setChanged(). I've tried every different place for setChanged() to no success. I'm wondering if I'm missing something else or if there was some change to sending data to the client in 1.21.5? Or will I have to use a custom packet sender? Here is the code for one of my BlockEntity classes with a single inventory slot: public class MyCustomBlockEntity extends BlockEntity { public final ItemStackHandler inventory = new ItemStackHandler(1) { @Override protected int getStackLimit(int slot, @NotNull ItemStack stack) { return 1; } @Override protected void onContentsChanged(int slot) { setChanged(); if (!level.isClientSide()) { level.setBlockAndUpdate(getBlockPos(), getBlockState()); } } }; public MyCustomBlockEntity(BlockPos pPos, BlockState pBlockState) { super(ModBlockEntities.MY_CUSTOM_BE.get(), pPos, pBlockState); } public void clearContents() { inventory.setStackInSlot(0, ItemStack.EMPTY); } public void dropItem() { SimpleContainer inv = new SimpleContainer(inventory.getSlots()); inv.setItem(0, inventory.getStackInSlot(0)); Containers.dropContents(this.level, this.worldPosition, inv); } @Override public void setRemoved() { dropItem(); super.setRemoved(); } @Override protected void saveAdditional(CompoundTag pTag, HolderLookup.Provider pRegistries) { super.saveAdditional(pTag, pRegistries); pTag.put("inventory", inventory.serializeNBT(pRegistries)); } @Override protected void loadAdditional(CompoundTag pTag, HolderLookup.Provider pRegistries) { super.loadAdditional(pTag, pRegistries); inventory.deserializeNBT(pRegistries, pTag.getCompound("inventory").get()); } @Override public Packet<ClientGamePacketListener> getUpdatePacket() { return ClientboundBlockEntityDataPacket.create(this); } @Override public CompoundTag getUpdateTag(HolderLookup.Provider pRegistries) { return saveWithoutMetadata(pRegistries); } } Mostly encountering the issue when calling the clearContents() method anywhere outside of useItemOn() in the Block class. I've also tried overriding both the handleUpdateTag() and onDataPacket() methods, calling their super along with loadAdditional(), but neither changed the outcome. Thanks in advance for any replies.
    • Hi all! I’m working on a Jurassic Park-themed mod for Minecraft 1.20.1, aiming to include dinosaurs, fossils, DNA extraction, and cool machines. This is a free project, mainly passion-driven, and I’ll give full credit to everyone involved. this is the perfect opportunity for beginners of modeling and coding. This project will give you experience and a creative freedom If you love dinosaurs and Minecraft modding, hit me up! Thanks! Add Me ogfrost. <--- Discord
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

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