20w21a
Table of Contents |
---|
Noisesize_horizontal and size_vertical density_factor and density_offset sampling top_slide and bottom_slide |
Structuresspacing and separation salt |
My name is Andreas Pardeike, aka Brrainz, or the creator of Harmony. This guide is my personal attempt to help everyone through the journey of upgrading their mods. I am not affiliated with LUDEON studios or with developing RimWorld. It's just a personal thank you from me to the community.
This guide will help modders to update their C# mod to RimWorld 1.1. I will tell you how you upgrade to Harmony 2 and why. It will also serve as a guide to common changes that I encountered while I upgraded my own Camera+ mod. During the guide, I will use Visual Studio 2019. It's community edition is free. If you use a different IDE, please adapt your changes.
net.minecraftforge.fml.common.IWorldGenerator
-> net.minecraft.world.gen.feature.Feature
net.minecraft.world.gen.feature.WorldGenerator
-> net.minecraft.world.gen.feature.Feature
IWorldGenerator
. This should be the solution for anything smaller than a chunk.net.minecraft.world.gen.placement.BasePlacement
instead of by the feature itself.net.minecraft.world.gen.MapGenBase
-> net.minecraft.world.gen.carver.IWorldCarver
package io.github.opencubicchunks.cubicchunks.cubicgen.noise; | |
import com.flowpowered.noise.Utils; | |
import com.flowpowered.noise.module.Module; | |
import io.github.opencubicchunks.cubicchunks.cubicgen.math.Vec2d; | |
import net.minecraft.util.math.MathHelper; | |
public class BiomeControlledGradValPerlinNoise extends Module { | |
private static final int X_NOISE_GEN = 1619; | |
private static final int Y_NOISE_GEN = 31337; |
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 (/).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!