Jump to content

creepersgalore

Members
  • Posts

    11
  • Joined

  • Last visited

Everything posted by creepersgalore

  1. It's not the Y... The X and Z are the problem. The findGroundY() is my own, I know it works from doing this non-biome dependently. The top block is the Biome top block. Some screenshots. The lighter color is the Plains Island top block, darker is Barren top block.
  2. For some reason, my biomes (not the actual biomes, the topblock gen) seems to be inverted. My Code: for (int i = 0; i < 16; i++) { for (int j = 0; j < 16; j++) { //Replace top blocks int i1 = (x * 16 + i) & 15; //Probably unneccesary, same result as before int j1 = (z * 16 + j) & 15; //Probably unneccesary, same result as before int biomeIndex = j + i * 16; Biome biome = biomesIn[biomeIndex]; int groundY = findGroundY(primer, i1, j1); if (groundY > 0) { primer.setBlockState(i1, groundY, j1, biome.topBlock); } } } The calling method: public Chunk generateChunk(int x, int z) { this.chunkX = x; this.chunkZ = z; this.rand.setSeed((long) x * 341873128712L + (long) z * 132897987541L); ChunkPrimer chunkprimer = new ChunkPrimer(); this.setBlocksInChunk(x, z, chunkprimer); this.biomesForGeneration = this.worldObj.getBiomeProvider().getBiomes(this.biomesForGeneration, x * 16, z * 16, 16, 16); this.replaceBiomeBlocks(x, z, chunkprimer, this.biomesForGeneration); Chunk chunk = new Chunk(this.worldObj, chunkprimer, x, z); byte[] abyte = chunk.getBiomeArray(); for (int i = 0; i < abyte.length; ++i) { abyte[i] = (byte) Biome.getIdForBiome(this.biomesForGeneration[i]); } chunk.generateSkylightMap(); return chunk; } Before doing this, I looked at ChunkGeneratorOverworld, and almost-kind-of copied some of the code (the this.worldObj.getBiomeProvider... in generateChunk() and the replaceBiomeBlocks() method). That made it from no top blocks to strange top blocks, my current state.
  3. Strange... Adding the missing files fixed it. Well, I hope that my solution will help others!
  4. I forgot to mention that... I didn't make any files for those. I am ignoring those errors, and focusing on the missing blockstate thing. Missing files shouldn't cause that... Right? I'll do some testing.
  5. Exception loading model for variant greenvoidislands:double_tall_island_grass#facing=north,half=lower,variant=double_grass for blockstate "greenvoidislands:double_tall_island_grass[facing=north,half=lower,variant=double_grass]" But I have the blockstate! { "variants": { "facing=north,half=lower,variant=double_grass": { "model": "greenvoidislands:double_grass_bottom" }, "facing=north,half=upper,variant=double_grass": { "model": "greenvoidislands:double_grass_top" }, "facing=south,half=lower,variant=double_grass": { "model": "greenvoidislands:double_grass_bottom" }, "facing=south,half=upper,variant=double_grass": { "model": "greenvoidislands:double_grass_top" }, "facing=east,half=lower,variant=double_grass": { "model": "greenvoidislands:double_grass_bottom" }, "facing=east,half=upper,variant=double_grass": { "model": "greenvoidislands:double_grass_top" }, "facing=west,half=lower,variant=double_grass": { "model": "greenvoidislands:double_grass_bottom" }, "facing=west,half=upper,variant=double_grass": { "model": "greenvoidislands:double_grass_top" } } } All the Errors:
  6. It could be Optifine, but most likely your MC installation is corrupted. Try removing Optifine and/or reinstalling Forge. (but I might not be right, just looking to help)
  7. Tried that and got this problem: My code, before any init methods or anything: public static MusicTicker.MusicType musicType = EnumHelper.addEnum(MusicTicker.MusicType.class, "GVI", new Class[]{SoundEvent.class, Integer.class, Integer.class}, GVISoundManager.gvi_music, 270, 540); I haven't used EnumHelper much before. The MusicTicker.MusicType Enum constructor uses a SoundEvent, and two ints. My code, before any init methods or anything: public static MusicTicker.MusicType musicType = EnumHelper.addEnum(MusicTicker.MusicType.class, "GVI", new Class[]{SoundEvent.class, Integer.class, Integer.class}, GVISoundManager.gvi_music, 270, 540); I haven't used EnumHelper much before. The MusicTicker.MusicType Enum constructor uses a SoundEvent, and two ints. private MusicType(SoundEvent musicLocationIn, int minDelayIn, int maxDelayIn) { this.musicLocation = musicLocationIn; this.minDelay = minDelayIn; this.maxDelay = maxDelayIn; } I am using Forge 1.12.2-14.23.2.2611. According to the changelog, they fixed the MusicType error. http://www.minecraftforge.net/forum/topic/62903-forge-14232-minecraft-1122/?tab=comments#comment-296005
  8. I need to use this method to have custom music for my dimension. @Nullable @SideOnly(Side.CLIENT) public MusicTicker.MusicType getMusicType() { return MusicTicker.MusicType.<?>; } The <?> is not in the actual code, I'm just using CREATIVE as a placeholder. Formerly I used the PlaySoundEvent and it (kind of) worked, but the music was overlapping, and I spotted this method. But now, I need to add a custom MusicType enum constant, but I don't know how to do this ().
  9. I need help with an event handler. Before you ask, my problem is not having an unregistered event handler. Here is the code: My aim is to play my custom music when Minecraft says "Play ambient music", then stop that music from playing and replace it with my own music.
×
×
  • Create New...

Important Information

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