Jump to content

Recommended Posts

Posted

Send me your code for that now, I want.

 

(More specifically, it's almost exactly like a world generator a bunch of people would like to see in Mystcraft)

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Posted

Actually, I kinda figured it out. The biome had so much water because the biome height was far below sea level. I brought it up a bit and it works.

190y.png

6e6g.png

9vqj.png

“Since when did you start modding?”

“Last night"

Posted

I still want your original, "failed" code.  It looked awesome in its own way.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Posted

Was the only change you did between the first and second post screenshots changing the biome height?

or did you change other stuff too? :)

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

Posted

Was the only change you did between the first and second post screenshots changing the biome height?

or did you change other stuff too? :)

Funny, just the biome height. Honestly, I wasn't even expecting the dimension to load, I have barely done anything in the chunk provider. Like seriously, five lines of code or so. 

Initiating the biome

frozenBiome = new BiomeGenFrozen(45).setBiomeName("frozenBiome").setEnableSnow().setMinMaxHeight(0.3F, 1F).setTemperatureRainfall(0.3F, 0.5F);

Dimension stuff

    DimensionManager.registerProviderType(FrozenDimensionID, FrozenProvider.class, false);
            DimensionManager.registerDimension(FrozenDimensionID, FrozenDimensionID); 

Biome class

	public BiomeGenFrozen(int id) {
	super(id);
	// TODO Auto-generated constructor stub
	this.topBlock = (byte)FrozenWorld.FrozenBiomeDirt.blockID;
	this.spawnableCaveCreatureList.removeAll(spawnableCaveCreatureList);
	this.spawnableMonsterList.removeAll(spawnableMonsterList);
	this.spawnableWaterCreatureList.removeAll(spawnableWaterCreatureList);
	this.spawnableCreatureList.removeAll(spawnableCreatureList);
//Removing all mobs because I was going to replace them. I need all my mobs to do something similar
//to the ones in the overworld, but a bit different so I will make new ones extending the originals.
}

}

Provider

public class FrozenProvider extends WorldProvider{

public void registerWorldChunkManager(){
	this.worldChunkMgr = new WorldChunkManagerHell(FrozenWorld.frozenBiome, 0.2F, 1); 
	this.dimensionId = FrozenWorld.FrozenDimensionID;
}

public IChunkProvider createChunkProvider(){
	return new ChunkProviderFrozen(this.worldObj, this.worldObj.getSeed(), true);

}

public String getDimensionName() {
	// TODO Auto-generated method stub
	return "Frozen Dimension";
}

}

Chunk provider. As I said, very, very empty. I'm just barely learning how to do this.

public class ChunkProviderFrozen implements IChunkProvider {
private Random rand;
private World worldobj;
private final boolean mapFeaturesEnabled;
private double[] NoiseArray;
private double[] StoneNoiseArray = new double[256];
private MapGenBase caveGenerator = new MapGenCaves();
private MapGenScatteredFeature ScatteredFeatureGen = new MapGenScatteredFeature();
private BiomeGenBase[] biomesForGen;
{
caveGenerator = TerrainGen.getModdedMapGen(caveGenerator, EventType.CAVE);
ScatteredFeatureGen = (MapGenScatteredFeature) TerrainGen.getModdedMapGen(ScatteredFeatureGen, EventType.SCATTERED_FEATURE);
}
public ChunkProviderFrozen(World worldObj, long seed, boolean b) {
	mapFeaturesEnabled = b;
	worldobj = worldObj;
	this.rand = new Random(seed);
}


public boolean chunkExists(int i, int j) {
	// TODO Auto-generated method stub
	return false;
}


public Chunk provideChunk(int i, int j) {
	// TODO Auto-generated method stub
	return null;
}


public Chunk loadChunk(int i, int j) {
	// TODO Auto-generated method stub
	return null;
}


public void populate(IChunkProvider ichunkprovider, int i, int j) {
int k = i * 16;
int l = j *16;
BiomeGenBase biome = this.worldobj.getBiomeGenForCoords(k+16, l + 16);
this.rand.setSeed(this.worldobj.getSeed());
long i1 = this.rand.nextLong() / 2L * 2L + 1L;
long j1 = this.rand.nextLong() / 2L * 2L + 1L;
this.rand.setSeed((long)i * i1 + j * j1);
boolean flag = false;
MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Pre(ichunkprovider, worldobj, rand, i, j, flag));
if(mapFeaturesEnabled){
	this.ScatteredFeatureGen.generateStructuresInChunk(worldobj, rand, i, j);
}
//int k1;
//int l1;
//int m1;
//Unused code, WIP

}


public boolean saveChunks(boolean flag, IProgressUpdate iprogressupdate) {
	// TODO Auto-generated method stub
	return false;
}


public boolean unloadQueuedChunks() {
	// TODO Auto-generated method stub
	return false;
}


public boolean canSave() {
	// TODO Auto-generated method stub
	return false;
}


public String makeString() {
	// TODO Auto-generated method stub
	return null;
}


public List getPossibleCreatures(EnumCreatureType enumcreaturetype, int i,
		int j, int k) {
	// TODO Auto-generated method stub
	return null;
}


public ChunkPosition findClosestStructure(World world, String s, int i,
		int j, int k) {
	// TODO Auto-generated method stub
	return null;
}


public int getLoadedChunkCount() {
	// TODO Auto-generated method stub
	return 0;
}


public void recreateStructures(int i, int j) {
	// TODO Auto-generated method stub

}


public void saveExtraData() {
	// TODO Auto-generated method stub

}

}

“Since when did you start modding?”

“Last night"

Posted

I'll see if I can use that at some point to provide an "archipelago" type landscape for Mystcraft worlds.  I ventured into the worldgenerator code at one point to see what I could screw with and get the kind of look I wanted (to no success) and then here you come along and have exactly what I want without having done hardly anything (and don't want the result yourself).

 

Thanks. :)

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Posted

Sorry to hijack the thread, but I'm trying to learn to mod in a handful of new biomes. How did you learn to implement that frozen biome? Or did you just delve into the code to find out yourself?

Posted

You're not hijacking anything, friend. If you look at my earlier post it has all the code I used for the biome - just creating it and registering the biome adds it to the world (as far as it worked for me)Ignore the chunk and dimension providers, those are for the dimension. Look at FrozenBiome and the main class. It's also quite annoying because I have my own biome that is supposed to be dimension-specific spawn in the overworld.

 

Happy modding!

“Since when did you start modding?”

“Last night"

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

    • Please see https://forums.minecraftforge.net/topic/125488-rules-and-frequently-asked-questions-faq/ for information on how to post your log correctly.
    • Hello!  The detailed description of how you got to where you are is certainly valuable.  But, at the end of the day (well, any time of the day actually), it is going to be the actual logs that going to provide the necessary details to hopefully solve your startup issue. Part of me wonders if you have installed a client-only mod on a dedicated server.  But I may very well be wrong, and it will be the logs that will tell that story.
    • Hello there! I didn't quite know where to go regarding this, but ended up deciding to post it here. I have been running a forge server with around 200 mods for me and some friends to play on casually, but have recently started to get an issue when booting the server. This all started after I decided to add some new mods to the server. Like usual, I add a mod, test run the server for any issues, and if all is well, I'll add a next one and so on until I have added all that I wanted to. After doing so, in all test runs, it all seemed to work just fine. However, the next day, after trying to boot the server, I kept getting an error regarding java.lang.NullPointerException, towards one of the mods I had recently added. So far so good, I removed the mod that was causing the issue, started up the server again, and here in when things took a turn for the worse. I received another java.lang.NullPointerException null error that wouldn't allow me to boot the server, but this time with a mod that wasn't part of the new ones I had recently added. I found this weird, but nonetheless, I removed it thinking it might be causing some conflicts with some of the new ones. Afterwards, booting the server again proved to be impossible, as it gave me another java.lang.NullPointerException null error with the 3rd mod I had ever installed on the server! This mod was there since the start, it added some biomes and had been just fine so far. This turn of events made me remove all the newer mods I had recently added in hopes to fix this whole ordeal, but alas, to no avail. Same error, with that same biome mod that had been there since day one. Reluctantly, I removed the biome mod, booted the server, and voila! The server was running, although without a major mod that had always been there to begin with. As I do not wish to part ways with this mod, specially since it had been working so far without any issues, I tried to bring everything back to how it was before I added those new mods, but kept on getting the same java.lang.NullPointerException null error for the biome mod. Even adding the newer mods won't cause me this error, with exception of the one that started it all, which I find quite odd since the mods I had been using without any issues are now giving me the same error the newer one that started it all gave me. Now, I have checked that everything is up to date regarding the mods, forge (forge-1.20.1-47.3.12) and java. The modpack runs perfectly fine when I start Minecraft itself, and play singleplayer, or even when I open a LAN world, everything works. Everything aside from the server. From what I could gather, this java.lang.NullPointerException null error would point to a missing value of sorts, for an item perhaps, within the mod that is causing the error, but aside from removing the whole mod, I lack the knowledge on how to fix this. With this in mind, if anyone would be so kind as to shine some light into this situation, with a way to fix all this blunder, I would be most grateful!
    • If you want a mana GUI, call Minecraft.getInstance().setScreen(new ManaScreen()); somewhere display your GUI. I would recommend creating a keybind and listening to key events, and if your key bind is pressed down, running that code.
    • You are creating an entire new screen, or GUI. What you probably want is an Overlay.
  • Topics

×
×
  • Create New...

Important Information

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