- Worldgen breaks
This commit is contained in:
parent
ae8b91cbde
commit
049ef096ae
|
@ -63,10 +63,10 @@ public class MathHelperMixin {
|
|||
// return d < i ? i - 1 : i;
|
||||
//}
|
||||
|
||||
//@Overwrite
|
||||
//public static long lfloor(double d) {
|
||||
// return floor(d / 4) * 4;
|
||||
//}
|
||||
@Overwrite
|
||||
public static long lfloor(double d) {
|
||||
return MathHelper.floor(d / 4) * 4;
|
||||
}
|
||||
|
||||
//@Overwrite
|
||||
//public static float abs(float f) {
|
||||
|
|
|
@ -0,0 +1,42 @@
|
|||
package io.gitlab.jfronny.quickmeth.mixin;
|
||||
|
||||
import net.minecraft.util.math.noise.OctavePerlinNoiseSampler;
|
||||
import net.minecraft.util.math.noise.PerlinNoiseSampler;
|
||||
import org.spongepowered.asm.mixin.Final;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Overwrite;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
|
||||
import static net.minecraft.util.math.noise.OctavePerlinNoiseSampler.maintainPrecision;
|
||||
|
||||
@Mixin(OctavePerlinNoiseSampler.class)
|
||||
public class MixinOctavePerlinNoiseSampler {
|
||||
@Shadow
|
||||
@Final
|
||||
private PerlinNoiseSampler[] octaveSamplers;
|
||||
@Shadow
|
||||
@Final
|
||||
private double field_20659;
|
||||
@Shadow
|
||||
@Final
|
||||
private double field_20660;
|
||||
@Overwrite
|
||||
public double sample(double x, double y, double z, double d, double e, boolean bl) {
|
||||
double f = 0.0D;
|
||||
double g = this.field_20660;
|
||||
double h = this.field_20659;
|
||||
PerlinNoiseSampler[] var18 = this.octaveSamplers;
|
||||
int var19 = var18.length;
|
||||
|
||||
for (PerlinNoiseSampler perlinNoiseSampler : var18) {
|
||||
if (perlinNoiseSampler != null) {
|
||||
f += perlinNoiseSampler.sample(x * g - maintainPrecision(x * g), perlinNoiseSampler.originY - (bl ? -perlinNoiseSampler.originY : maintainPrecision(y * g)), maintainPrecision(z * g), d * g, e * g) * h;
|
||||
}
|
||||
|
||||
g /= 2.0D;
|
||||
h *= 2.0D;
|
||||
}
|
||||
|
||||
return f;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,48 @@
|
|||
package io.gitlab.jfronny.quickmeth.mixin;
|
||||
|
||||
import io.gitlab.jfronny.quickmeth.quickmeth;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
import net.minecraft.util.math.noise.PerlinNoiseSampler;
|
||||
import org.spongepowered.asm.mixin.Final;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Overwrite;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
|
||||
@Mixin(PerlinNoiseSampler.class)
|
||||
public class MixinPerlinNoiseSampler {
|
||||
@Shadow @Final
|
||||
public double originX;
|
||||
@Shadow @Final
|
||||
public double originY;
|
||||
@Shadow @Final
|
||||
public double originZ;
|
||||
|
||||
@Overwrite
|
||||
public double sample(double x, double y, double z, double d, double e) {
|
||||
x = quickmeth.BoxedInvert(x);
|
||||
y = quickmeth.BoxedInvert(y);
|
||||
z = quickmeth.BoxedInvert(z);
|
||||
|
||||
double f = x + this.originX;
|
||||
double g = y + this.originY;
|
||||
double h = z + this.originZ;
|
||||
int i = MathHelper.floor(f);
|
||||
int j = MathHelper.floor(g);
|
||||
int k = MathHelper.floor(h);
|
||||
double l = f - (double)i;
|
||||
double m = g - (double)j;
|
||||
double n = h - (double)k;
|
||||
double o = MathHelper.perlinFade(l);
|
||||
double p = MathHelper.perlinFade(m);
|
||||
double q = MathHelper.perlinFade(n);
|
||||
double t;
|
||||
if (d != 0.0D) {
|
||||
double r = Math.min(e, m);
|
||||
t = (double)MathHelper.floor(r / d) * d;
|
||||
} else {
|
||||
t = 0.0D;
|
||||
}
|
||||
|
||||
return quickmeth.BoxedInvert(((PerlinNoiseSampler)(Object)this).sample(i, j, k, l, m - t, n, o, p, q));
|
||||
}
|
||||
}
|
|
@ -7,4 +7,12 @@ public class quickmeth implements ModInitializer {
|
|||
public void onInitialize() {
|
||||
|
||||
}
|
||||
|
||||
public static double BoxedInvert(double min, double max, double value) {
|
||||
return max - value + min;
|
||||
}
|
||||
|
||||
public static double BoxedInvert(double value) {
|
||||
return BoxedInvert(Math.floor(value), Math.ceil(value), value);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,7 +4,9 @@
|
|||
"package": "io.gitlab.jfronny.quickmeth.mixin",
|
||||
"compatibilityLevel": "JAVA_8",
|
||||
"mixins": [
|
||||
"MathHelperMixin"
|
||||
"MathHelperMixin",
|
||||
"MixinOctavePerlinNoiseSampler",
|
||||
"MixinPerlinNoiseSampler"
|
||||
],
|
||||
"client": [
|
||||
],
|
||||
|
|
Loading…
Reference in New Issue