net.minecraftforge.fml.common.IWorldGenerator
->net.minecraft.world.gen.feature.Feature
- No longer needed. I think it should be removed by forge, as it has been superseded by vanilla functionality. See below.
net.minecraft.world.gen.feature.WorldGenerator
->net.minecraft.world.gen.feature.Feature
- This would also be the most common replacement of Forge's
IWorldGenerator
. This should be the solution for anything smaller than a chunk. - Except the 8 blocks offset. This is not a thing anymore. Population now works just like any normal person would expect.
- Position of features is controlled by instances of
net.minecraft.world.gen.placement.BasePlacement
instead of by the feature itself.
- This would also be the most common replacement of Forge's
net.minecraft.world.gen.MapGenBase
->net.minecraft.world.gen.carver.IWorldCarver
- This is now finally exposed to mods in a useful way. As it was mostly hidden from modders before, not eveyone may know what it is, so it will be explained later. Generates caves a
See imgur / linked pastebin and github mirror for 1-8 → 1-8 balancers. Creator: raynquist, github mirror linked in Balancers Illustrated: 1 through 8 balancers explained, imgur album linked in Balancer Book Update (Summer 2019)
This primer is licensed under CC0, do whatever you want.
BUT do note that this can be updated, so leave a link here so readers can see the updated information themselves.
1.13 and 1.14 are lumped together in this doc, you're on your own if you just want to go to 1.13 and not 1.14, for some reason.
1.15 stuff: https://gist.github.com/williewillus/30d7e3f775fe93c503bddf054ef3f93e
ResourceLocation
now throw on non-snake-case names instead of silently lowercasing for you, so you probably should go and change all those string constants now. More precisely, domains must only contain alphanumeric lowercase, underscore (_), dash (-), or dot (.). Paths have the same restrictions, but can also contain forward slashes (/).
package com.primetoxinz.wgd; | |
import net.minecraft.world.World; | |
import net.minecraft.world.chunk.ChunkPrimer; | |
import net.minecraft.world.gen.MapGenBase; | |
import net.minecraft.world.gen.structure.*; | |
import net.minecraftforge.common.MinecraftForge; | |
import net.minecraftforge.common.config.Config; | |
import net.minecraftforge.common.config.ConfigManager; | |
import net.minecraftforge.event.terraingen.InitMapGenEvent; |
Basic loading. | |
To be done on ServerInit. This means things will load multiple times on the client. | |
Benifits: | |
Allows us to just nuke the custom recipes every server init | |
Allows us to have save leve overrides. | |
Primes us for syncing recipe types/contents S->C {Not gunna happen in 1.12, but I expect Mojang to work twards this in 1.13+} | |
Cons: | |
Increases single player server load time. No known stats at the moment but shouldn't be TO bad | |
Loading Process: |
Hey! So you have a 1.11 mod and want to have a go at supporting MCMultiPart 2? Great! Let's get started!
I should first of all note that the API is NOT final, though the changes to it won't be very big and most likely won't affect you. Still, I would recommend doing this in a separate branch.
The first thing you'll want to do is add MCMP to your dev environment. You can read about that here: https://github.com/amadornes/MCMultiPart/blob/1.11/README.md
You'll need to use experimental builds because there is no stable build yet.
Another award-winning primer by williewillus
Capabilities...a wondrous new system. That you've probably been forced into using. But let's not talk about that and get straight into the learning!
- Capability System - This entire system; what this primer is about. This system is named very literally for what it does.
- Capability - the quality of being capable; capacity; ability
- Capable - having power and ability
local char_to_hex = function(c) | |
return string.format("%%%02X", string.byte(c)) | |
end | |
local function urlencode(url) | |
if url == nil then | |
return | |
end | |
url = url:gsub("\n", "\r\n") | |
url = url:gsub("([^%w ])", char_to_hex) |
Note: This primer assumes you are using MinecraftForge 1.8.9 build 1670 or above. Correctness not guaranteed otherwise. Note 2: This primer is for 1.8.x. Changes in 1.9 are on another gist: https://gist.github.com/williewillus/e37edde85dc78d2e138c
This guide is intended for those with a clear knowledge of general modding and want a quick up to speed on how new things work. If you are confused, please hop on IRC and ask for help!
- 1.7: EVERY BLOCK SHAPE EVER was hardcoded into RenderBlocks or your ISBRH. Oh God, just look at that class. Actually don’t, if you value your sanity.