MCTCP / TerrainControl

Minecraft Terrain Generator for SpigotMC and Forge
https://www.spigotmc.org/threads/terraincontrol.37980/
MIT License
230 stars 163 forks source link

Fix map item texture #521

Closed Pokechu22 closed 7 years ago

Pokechu22 commented 7 years ago

Fixes #492 and also fixes #519 (which is a duplicate...)

This was caused by the splitting of two fields in a recent update. See ModCoderPack/MCPBot-Issues#330 for more information about these fields. Because NMS is being used (ಠ_ಠ), this change was missed (which is to be expected for NMS).


Alright, I'm just going to make a complaint (that can be ignored). Plugins shouldn't be using NMS. Yes, it's the same code as exposed via MCP in forge, but the mappings used by NMS aren't designed for other developers, and thus changes like this can easily be missed. Bukkit does have its own generation API, although it's a bit lackluster. In the future, to avoid mistakes like this, take a look at the diff of the relevant classes in MCP whenever there's an NMS version bump (if you've got forge, you've got MCP). That said, everyone makes this kind of mistake (md_5 made it when updating craftbukkit itself, because an obfuscated sound field was included in the diff and keeping it in the diff meant the wrong sound was used), so don't feel too bad.

rutgerkok commented 7 years ago

Thank you very much!

Without access to NMS, TerrainControl would not be able to add custom biomes, make ender pearls work, add mobs to custom biomes, spawn villages, spawn strongholds, etc. How I wish that I would not need NMS...

In the case here, it may be better to not override WorldProvider at all. In that case, worlds with a lowered sea level will have trouble spawning most Minecraft structures, but that may be a reasonable trade-off.