Add compute_density_function to replace removed `sample_noise (#1591)

This commit is contained in:
Crec0 authored and GitHub committed 2023-01-25 17:08:36 +01:00
1 parent d26a56ea98
commit f2c658bf03
10 files changed
+141 -318

No files matched your search

@@ -0,0 +1,33 @@
package carpet.mixins;
import carpet.fakes.RandomStateVisitorAccessor;
import net.minecraft.world.level.levelgen.DensityFunction;
import net.minecraft.world.level.levelgen.RandomState;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.ModifyArg;
@Mixin(RandomState.class)
public class RandomState_ScarpetMixin implements RandomStateVisitorAccessor {
@Unique
private DensityFunction.Visitor visitor;
@ModifyArg(
method = "<init>",
at = @At(
value = "INVOKE",
target = "Lnet/minecraft/world/level/levelgen/NoiseRouter;mapAll(Lnet/minecraft/world/level/levelgen/DensityFunction$Visitor;)Lnet/minecraft/world/level/levelgen/NoiseRouter;"
),
index = 0
)
private DensityFunction.Visitor captureVisitor(DensityFunction.Visitor visitor) {
this.visitor = visitor;
return visitor;
}
@Override
public DensityFunction.Visitor getVisitor() {
return this.visitor;
}
}