Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-11-14 20:10:05 +01:00
fixed flat bedrock patch
Dieser Commit ist enthalten in:
Ursprung
c98499113f
Commit
490517d31e
@ -277,7 +277,7 @@ public org.bukkit.craftbukkit.profile.CraftPlayerProfile toString(Lcom/mojang/au
|
|||||||
public org.bukkit.craftbukkit.profile.CraftPlayerProfile equals(Lcom/mojang/authlib/properties/PropertyMap;Lcom/mojang/authlib/properties/PropertyMap;)Z
|
public org.bukkit.craftbukkit.profile.CraftPlayerProfile equals(Lcom/mojang/authlib/properties/PropertyMap;Lcom/mojang/authlib/properties/PropertyMap;)Z
|
||||||
public org.bukkit.craftbukkit.profile.CraftPlayerProfile hashCode(Lcom/mojang/authlib/properties/PropertyMap;)I
|
public org.bukkit.craftbukkit.profile.CraftPlayerProfile hashCode(Lcom/mojang/authlib/properties/PropertyMap;)I
|
||||||
|
|
||||||
# Generator Settings
|
# Flat bedrock generator settings
|
||||||
public net.minecraft.world.level.levelgen.SurfaceRules$Condition
|
public net.minecraft.world.level.levelgen.SurfaceRules$Condition
|
||||||
public net.minecraft.world.level.levelgen.SurfaceRules$Context
|
public net.minecraft.world.level.levelgen.SurfaceRules$Context
|
||||||
public net.minecraft.world.level.levelgen.SurfaceRules$Context blockX
|
public net.minecraft.world.level.levelgen.SurfaceRules$Context blockX
|
||||||
|
@ -21,16 +21,31 @@ index 3510509a02b5c0de695b55792c035943ceaef222..03fbe3ff215cc482108a8926960bb601
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/data/worldgen/SurfaceRuleData.java b/src/main/java/net/minecraft/data/worldgen/SurfaceRuleData.java
|
diff --git a/src/main/java/net/minecraft/data/worldgen/SurfaceRuleData.java b/src/main/java/net/minecraft/data/worldgen/SurfaceRuleData.java
|
||||||
index a8d422352fa21b607a77746f847f3c54ed3d5a60..226a422023be7060a7b8abf1e42c93b77ffe4213 100644
|
index a8d422352fa21b607a77746f847f3c54ed3d5a60..61ff899aa03b5248e6f1d2bfb5167ac19927e0ad 100644
|
||||||
--- a/src/main/java/net/minecraft/data/worldgen/SurfaceRuleData.java
|
--- a/src/main/java/net/minecraft/data/worldgen/SurfaceRuleData.java
|
||||||
+++ b/src/main/java/net/minecraft/data/worldgen/SurfaceRuleData.java
|
+++ b/src/main/java/net/minecraft/data/worldgen/SurfaceRuleData.java
|
||||||
@@ -53,6 +53,50 @@ public class SurfaceRuleData {
|
@@ -53,6 +53,65 @@ public class SurfaceRuleData {
|
||||||
return overworldLike(true, false, true);
|
return overworldLike(true, false, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
+ // Paper start
|
+ // Paper start
|
||||||
+ // Taken from SurfaceRules$VerticalGradientConditionSource
|
+ // Taken from SurfaceRules$VerticalGradientConditionSource
|
||||||
+ private final record PaperBedrockConditionSource(String randomName, VerticalAnchor trueAtAndBelow, VerticalAnchor falseAtAndAbove, boolean invert) implements SurfaceRules.ConditionSource {
|
+ // isRoof = true if roof, false if floor
|
||||||
|
+ public record PaperBedrockConditionSource(net.minecraft.resources.ResourceLocation randomName, VerticalAnchor trueAtAndBelow, VerticalAnchor falseAtAndAbove, boolean isRoof) implements SurfaceRules.ConditionSource {
|
||||||
|
+
|
||||||
|
+ public static final com.mojang.serialization.Codec<PaperBedrockConditionSource> CODEC = com.mojang.serialization.codecs.RecordCodecBuilder.create((instance) -> {
|
||||||
|
+ return instance.group(
|
||||||
|
+ net.minecraft.resources.ResourceLocation.CODEC.fieldOf("random_name").forGetter(PaperBedrockConditionSource::randomName),
|
||||||
|
+ VerticalAnchor.CODEC.fieldOf("true_at_and_below").forGetter(PaperBedrockConditionSource::trueAtAndBelow),
|
||||||
|
+ VerticalAnchor.CODEC.fieldOf("false_at_and_above").forGetter(PaperBedrockConditionSource::falseAtAndAbove),
|
||||||
|
+ com.mojang.serialization.Codec.BOOL.fieldOf("roof").forGetter(PaperBedrockConditionSource::isRoof)
|
||||||
|
+ ).apply(instance, PaperBedrockConditionSource::new);
|
||||||
|
+ });
|
||||||
|
+
|
||||||
|
+ public PaperBedrockConditionSource(String randomName, net.minecraft.world.level.levelgen.VerticalAnchor trueAtAndBelow, net.minecraft.world.level.levelgen.VerticalAnchor falseAtAndAbove, boolean invert) {
|
||||||
|
+ this(new net.minecraft.resources.ResourceLocation(randomName), trueAtAndBelow, falseAtAndAbove, invert);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public com.mojang.serialization.Codec<? extends SurfaceRules.ConditionSource> codec() {
|
+ public com.mojang.serialization.Codec<? extends SurfaceRules.ConditionSource> codec() {
|
||||||
+ return CODEC;
|
+ return CODEC;
|
||||||
@ -42,10 +57,10 @@ index a8d422352fa21b607a77746f847f3c54ed3d5a60..226a422023be7060a7b8abf1e42c93b7
|
|||||||
+ int trueAtY = this.trueAtAndBelow().resolveY(context.context);
|
+ int trueAtY = this.trueAtAndBelow().resolveY(context.context);
|
||||||
+ int falseAtY = this.falseAtAndAbove().resolveY(context.context);
|
+ int falseAtY = this.falseAtAndAbove().resolveY(context.context);
|
||||||
+
|
+
|
||||||
+ int y = invert ? Math.max(falseAtY, trueAtY) - 1 : Math.min(falseAtY, trueAtY) ;
|
+ int y = isRoof ? Math.max(falseAtY, trueAtY) - 1 : Math.min(falseAtY, trueAtY) ;
|
||||||
+ final int i = hasFlatBedrock ? y : trueAtY;
|
+ final int i = hasFlatBedrock ? y : trueAtY;
|
||||||
+ final int j = hasFlatBedrock ? y : falseAtY;
|
+ final int j = hasFlatBedrock ? y : falseAtY;
|
||||||
+ final net.minecraft.world.level.levelgen.PositionalRandomFactory positionalRandomFactory = context.system.getOrCreateRandomFactory(new net.minecraft.resources.ResourceLocation(this.randomName()));
|
+ final net.minecraft.world.level.levelgen.PositionalRandomFactory positionalRandomFactory = context.system.getOrCreateRandomFactory(this.randomName());
|
||||||
+
|
+
|
||||||
+ class VerticalGradientCondition extends SurfaceRules.LazyYCondition {
|
+ class VerticalGradientCondition extends SurfaceRules.LazyYCondition {
|
||||||
+ VerticalGradientCondition(SurfaceRules.Context context) {
|
+ VerticalGradientCondition(SurfaceRules.Context context) {
|
||||||
@ -75,7 +90,7 @@ index a8d422352fa21b607a77746f847f3c54ed3d5a60..226a422023be7060a7b8abf1e42c93b7
|
|||||||
public static SurfaceRules.RuleSource overworldLike(boolean surface, boolean bedrockRoof, boolean bedrockFloor) {
|
public static SurfaceRules.RuleSource overworldLike(boolean surface, boolean bedrockRoof, boolean bedrockFloor) {
|
||||||
SurfaceRules.ConditionSource conditionSource = SurfaceRules.yBlockCheck(VerticalAnchor.absolute(97), 2);
|
SurfaceRules.ConditionSource conditionSource = SurfaceRules.yBlockCheck(VerticalAnchor.absolute(97), 2);
|
||||||
SurfaceRules.ConditionSource conditionSource2 = SurfaceRules.yBlockCheck(VerticalAnchor.absolute(256), 0);
|
SurfaceRules.ConditionSource conditionSource2 = SurfaceRules.yBlockCheck(VerticalAnchor.absolute(256), 0);
|
||||||
@@ -82,11 +126,11 @@ public class SurfaceRuleData {
|
@@ -82,11 +141,11 @@ public class SurfaceRuleData {
|
||||||
SurfaceRules.RuleSource ruleSource9 = SurfaceRules.sequence(SurfaceRules.ifTrue(SurfaceRules.ON_FLOOR, SurfaceRules.sequence(SurfaceRules.ifTrue(SurfaceRules.isBiome(Biomes.WOODED_BADLANDS), SurfaceRules.ifTrue(conditionSource, SurfaceRules.sequence(SurfaceRules.ifTrue(conditionSource15, COARSE_DIRT), SurfaceRules.ifTrue(conditionSource16, COARSE_DIRT), SurfaceRules.ifTrue(conditionSource17, COARSE_DIRT), ruleSource))), SurfaceRules.ifTrue(SurfaceRules.isBiome(Biomes.SWAMP), SurfaceRules.ifTrue(conditionSource5, SurfaceRules.ifTrue(SurfaceRules.not(conditionSource6), SurfaceRules.ifTrue(SurfaceRules.noiseCondition(Noises.SWAMP, 0.0D), WATER)))))), SurfaceRules.ifTrue(SurfaceRules.isBiome(Biomes.BADLANDS, Biomes.ERODED_BADLANDS, Biomes.WOODED_BADLANDS), SurfaceRules.sequence(SurfaceRules.ifTrue(SurfaceRules.ON_FLOOR, SurfaceRules.sequence(SurfaceRules.ifTrue(conditionSource2, ORANGE_TERRACOTTA), SurfaceRules.ifTrue(conditionSource4, SurfaceRules.sequence(SurfaceRules.ifTrue(conditionSource15, TERRACOTTA), SurfaceRules.ifTrue(conditionSource16, TERRACOTTA), SurfaceRules.ifTrue(conditionSource17, TERRACOTTA), SurfaceRules.bandlands())), SurfaceRules.ifTrue(conditionSource7, SurfaceRules.sequence(SurfaceRules.ifTrue(SurfaceRules.ON_CEILING, RED_SANDSTONE), RED_SAND)), SurfaceRules.ifTrue(SurfaceRules.not(conditionSource10), ORANGE_TERRACOTTA), SurfaceRules.ifTrue(conditionSource9, WHITE_TERRACOTTA), ruleSource3)), SurfaceRules.ifTrue(conditionSource3, SurfaceRules.sequence(SurfaceRules.ifTrue(conditionSource6, SurfaceRules.ifTrue(SurfaceRules.not(conditionSource4), ORANGE_TERRACOTTA)), SurfaceRules.bandlands())), SurfaceRules.ifTrue(SurfaceRules.UNDER_FLOOR, SurfaceRules.ifTrue(conditionSource9, WHITE_TERRACOTTA)))), SurfaceRules.ifTrue(SurfaceRules.ON_FLOOR, SurfaceRules.ifTrue(conditionSource7, SurfaceRules.sequence(SurfaceRules.ifTrue(conditionSource11, SurfaceRules.ifTrue(conditionSource10, SurfaceRules.sequence(SurfaceRules.ifTrue(conditionSource8, AIR), SurfaceRules.ifTrue(SurfaceRules.temperature(), ICE), WATER))), ruleSource8))), SurfaceRules.ifTrue(conditionSource9, SurfaceRules.sequence(SurfaceRules.ifTrue(SurfaceRules.ON_FLOOR, SurfaceRules.ifTrue(conditionSource11, SurfaceRules.ifTrue(conditionSource10, WATER))), SurfaceRules.ifTrue(SurfaceRules.UNDER_FLOOR, ruleSource7), SurfaceRules.ifTrue(conditionSource13, SurfaceRules.ifTrue(SurfaceRules.DEEP_UNDER_FLOOR, SANDSTONE)), SurfaceRules.ifTrue(conditionSource14, SurfaceRules.ifTrue(SurfaceRules.VERY_DEEP_UNDER_FLOOR, SANDSTONE)))), SurfaceRules.ifTrue(SurfaceRules.ON_FLOOR, SurfaceRules.sequence(SurfaceRules.ifTrue(SurfaceRules.isBiome(Biomes.FROZEN_PEAKS, Biomes.JAGGED_PEAKS), STONE), SurfaceRules.ifTrue(SurfaceRules.isBiome(Biomes.WARM_OCEAN, Biomes.LUKEWARM_OCEAN, Biomes.DEEP_LUKEWARM_OCEAN), ruleSource2), ruleSource3)));
|
SurfaceRules.RuleSource ruleSource9 = SurfaceRules.sequence(SurfaceRules.ifTrue(SurfaceRules.ON_FLOOR, SurfaceRules.sequence(SurfaceRules.ifTrue(SurfaceRules.isBiome(Biomes.WOODED_BADLANDS), SurfaceRules.ifTrue(conditionSource, SurfaceRules.sequence(SurfaceRules.ifTrue(conditionSource15, COARSE_DIRT), SurfaceRules.ifTrue(conditionSource16, COARSE_DIRT), SurfaceRules.ifTrue(conditionSource17, COARSE_DIRT), ruleSource))), SurfaceRules.ifTrue(SurfaceRules.isBiome(Biomes.SWAMP), SurfaceRules.ifTrue(conditionSource5, SurfaceRules.ifTrue(SurfaceRules.not(conditionSource6), SurfaceRules.ifTrue(SurfaceRules.noiseCondition(Noises.SWAMP, 0.0D), WATER)))))), SurfaceRules.ifTrue(SurfaceRules.isBiome(Biomes.BADLANDS, Biomes.ERODED_BADLANDS, Biomes.WOODED_BADLANDS), SurfaceRules.sequence(SurfaceRules.ifTrue(SurfaceRules.ON_FLOOR, SurfaceRules.sequence(SurfaceRules.ifTrue(conditionSource2, ORANGE_TERRACOTTA), SurfaceRules.ifTrue(conditionSource4, SurfaceRules.sequence(SurfaceRules.ifTrue(conditionSource15, TERRACOTTA), SurfaceRules.ifTrue(conditionSource16, TERRACOTTA), SurfaceRules.ifTrue(conditionSource17, TERRACOTTA), SurfaceRules.bandlands())), SurfaceRules.ifTrue(conditionSource7, SurfaceRules.sequence(SurfaceRules.ifTrue(SurfaceRules.ON_CEILING, RED_SANDSTONE), RED_SAND)), SurfaceRules.ifTrue(SurfaceRules.not(conditionSource10), ORANGE_TERRACOTTA), SurfaceRules.ifTrue(conditionSource9, WHITE_TERRACOTTA), ruleSource3)), SurfaceRules.ifTrue(conditionSource3, SurfaceRules.sequence(SurfaceRules.ifTrue(conditionSource6, SurfaceRules.ifTrue(SurfaceRules.not(conditionSource4), ORANGE_TERRACOTTA)), SurfaceRules.bandlands())), SurfaceRules.ifTrue(SurfaceRules.UNDER_FLOOR, SurfaceRules.ifTrue(conditionSource9, WHITE_TERRACOTTA)))), SurfaceRules.ifTrue(SurfaceRules.ON_FLOOR, SurfaceRules.ifTrue(conditionSource7, SurfaceRules.sequence(SurfaceRules.ifTrue(conditionSource11, SurfaceRules.ifTrue(conditionSource10, SurfaceRules.sequence(SurfaceRules.ifTrue(conditionSource8, AIR), SurfaceRules.ifTrue(SurfaceRules.temperature(), ICE), WATER))), ruleSource8))), SurfaceRules.ifTrue(conditionSource9, SurfaceRules.sequence(SurfaceRules.ifTrue(SurfaceRules.ON_FLOOR, SurfaceRules.ifTrue(conditionSource11, SurfaceRules.ifTrue(conditionSource10, WATER))), SurfaceRules.ifTrue(SurfaceRules.UNDER_FLOOR, ruleSource7), SurfaceRules.ifTrue(conditionSource13, SurfaceRules.ifTrue(SurfaceRules.DEEP_UNDER_FLOOR, SANDSTONE)), SurfaceRules.ifTrue(conditionSource14, SurfaceRules.ifTrue(SurfaceRules.VERY_DEEP_UNDER_FLOOR, SANDSTONE)))), SurfaceRules.ifTrue(SurfaceRules.ON_FLOOR, SurfaceRules.sequence(SurfaceRules.ifTrue(SurfaceRules.isBiome(Biomes.FROZEN_PEAKS, Biomes.JAGGED_PEAKS), STONE), SurfaceRules.ifTrue(SurfaceRules.isBiome(Biomes.WARM_OCEAN, Biomes.LUKEWARM_OCEAN, Biomes.DEEP_LUKEWARM_OCEAN), ruleSource2), ruleSource3)));
|
||||||
Builder<SurfaceRules.RuleSource> builder = ImmutableList.builder();
|
Builder<SurfaceRules.RuleSource> builder = ImmutableList.builder();
|
||||||
if (bedrockRoof) {
|
if (bedrockRoof) {
|
||||||
@ -89,7 +104,7 @@ index a8d422352fa21b607a77746f847f3c54ed3d5a60..226a422023be7060a7b8abf1e42c93b7
|
|||||||
}
|
}
|
||||||
|
|
||||||
SurfaceRules.RuleSource ruleSource10 = SurfaceRules.ifTrue(SurfaceRules.abovePreliminarySurface(), ruleSource9);
|
SurfaceRules.RuleSource ruleSource10 = SurfaceRules.ifTrue(SurfaceRules.abovePreliminarySurface(), ruleSource9);
|
||||||
@@ -111,7 +155,7 @@ public class SurfaceRuleData {
|
@@ -111,7 +170,7 @@ public class SurfaceRuleData {
|
||||||
SurfaceRules.ConditionSource conditionSource11 = SurfaceRules.noiseCondition(Noises.NETHER_WART, 1.17D);
|
SurfaceRules.ConditionSource conditionSource11 = SurfaceRules.noiseCondition(Noises.NETHER_WART, 1.17D);
|
||||||
SurfaceRules.ConditionSource conditionSource12 = SurfaceRules.noiseCondition(Noises.NETHER_STATE_SELECTOR, 0.0D);
|
SurfaceRules.ConditionSource conditionSource12 = SurfaceRules.noiseCondition(Noises.NETHER_STATE_SELECTOR, 0.0D);
|
||||||
SurfaceRules.RuleSource ruleSource = SurfaceRules.ifTrue(conditionSource9, SurfaceRules.ifTrue(conditionSource3, SurfaceRules.ifTrue(conditionSource4, GRAVEL)));
|
SurfaceRules.RuleSource ruleSource = SurfaceRules.ifTrue(conditionSource9, SurfaceRules.ifTrue(conditionSource3, SurfaceRules.ifTrue(conditionSource4, GRAVEL)));
|
||||||
@ -98,8 +113,20 @@ index a8d422352fa21b607a77746f847f3c54ed3d5a60..226a422023be7060a7b8abf1e42c93b7
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static SurfaceRules.RuleSource end() {
|
public static SurfaceRules.RuleSource end() {
|
||||||
|
diff --git a/src/main/java/net/minecraft/server/Bootstrap.java b/src/main/java/net/minecraft/server/Bootstrap.java
|
||||||
|
index 248b7ca7dbd75d4eab52fb937cace2b2d9ee3467..ebefbb9d2a29db9e6abb41a2340e44f7b778cb5d 100644
|
||||||
|
--- a/src/main/java/net/minecraft/server/Bootstrap.java
|
||||||
|
+++ b/src/main/java/net/minecraft/server/Bootstrap.java
|
||||||
|
@@ -77,6 +77,7 @@ public class Bootstrap {
|
||||||
|
DispenseItemBehavior.bootStrap();
|
||||||
|
CauldronInteraction.bootStrap();
|
||||||
|
ArgumentTypes.bootStrap();
|
||||||
|
+ Registry.register(net.minecraft.core.Registry.CONDITION, new net.minecraft.resources.ResourceLocation("paper", "bedrock_condition_source"), net.minecraft.data.worldgen.SurfaceRuleData.PaperBedrockConditionSource.CODEC); // Paper - register custom flat bedrock thing. TODO is this the best place to do this?
|
||||||
|
Registry.freezeBuiltins();
|
||||||
|
Bootstrap.wrapStreams();
|
||||||
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java b/src/main/java/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java
|
diff --git a/src/main/java/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java b/src/main/java/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java
|
||||||
index bc7eda79df872d26c5f55e489ba99e7396370e31..829403a35ec91627f38857e66fd5451eb4c1e83a 100644
|
index bc7eda79df872d26c5f55e489ba99e7396370e31..51864ad3fbc874332da63254097a1b8048c46ce4 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java
|
--- a/src/main/java/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java
|
+++ b/src/main/java/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java
|
||||||
@@ -233,7 +233,7 @@ public final class NoiseBasedChunkGenerator extends ChunkGenerator {
|
@@ -233,7 +233,7 @@ public final class NoiseBasedChunkGenerator extends ChunkGenerator {
|
||||||
@ -107,7 +134,7 @@ index bc7eda79df872d26c5f55e489ba99e7396370e31..829403a35ec91627f38857e66fd5451e
|
|||||||
public void buildSurface(WorldGenRegion region, StructureFeatureManager structures, ChunkAccess chunk) {
|
public void buildSurface(WorldGenRegion region, StructureFeatureManager structures, ChunkAccess chunk) {
|
||||||
if (!SharedConstants.debugVoidTerrain(chunk.getPos())) {
|
if (!SharedConstants.debugVoidTerrain(chunk.getPos())) {
|
||||||
- WorldGenerationContext worldgenerationcontext = new WorldGenerationContext(this, region);
|
- WorldGenerationContext worldgenerationcontext = new WorldGenerationContext(this, region);
|
||||||
+ WorldGenerationContext worldgenerationcontext = new WorldGenerationContext(this, region, region.getLevel()); // Paper
|
+ WorldGenerationContext worldgenerationcontext = new WorldGenerationContext(this, region, region.getMinecraftWorld()); // Paper
|
||||||
NoiseGeneratorSettings generatorsettingbase = (NoiseGeneratorSettings) this.settings.value();
|
NoiseGeneratorSettings generatorsettingbase = (NoiseGeneratorSettings) this.settings.value();
|
||||||
NoiseChunk noisechunk = chunk.getOrCreateNoiseChunk(this.router, () -> {
|
NoiseChunk noisechunk = chunk.getOrCreateNoiseChunk(this.router, () -> {
|
||||||
return new Beardifier(structures, chunk);
|
return new Beardifier(structures, chunk);
|
||||||
@ -116,19 +143,19 @@ index bc7eda79df872d26c5f55e489ba99e7396370e31..829403a35ec91627f38857e66fd5451e
|
|||||||
}, (NoiseGeneratorSettings) this.settings.value(), this.globalFluidPicker, Blender.of(chunkRegion));
|
}, (NoiseGeneratorSettings) this.settings.value(), this.globalFluidPicker, Blender.of(chunkRegion));
|
||||||
Aquifer aquifer = noisechunk.aquifer();
|
Aquifer aquifer = noisechunk.aquifer();
|
||||||
- CarvingContext carvingcontext = new CarvingContext(this, chunkRegion.registryAccess(), chunk.getHeightAccessorForGeneration(), noisechunk);
|
- CarvingContext carvingcontext = new CarvingContext(this, chunkRegion.registryAccess(), chunk.getHeightAccessorForGeneration(), noisechunk);
|
||||||
+ CarvingContext carvingcontext = new CarvingContext(this, chunkRegion.registryAccess(), chunk.getHeightAccessorForGeneration(), noisechunk, chunkRegion.getLevel()); // Paper
|
+ CarvingContext carvingcontext = new CarvingContext(this, chunkRegion.registryAccess(), chunk.getHeightAccessorForGeneration(), noisechunk, chunkRegion.getMinecraftWorld()); // Paper
|
||||||
CarvingMask carvingmask = ((ProtoChunk) chunk).getOrCreateCarvingMask(generationStep);
|
CarvingMask carvingmask = ((ProtoChunk) chunk).getOrCreateCarvingMask(generationStep);
|
||||||
|
|
||||||
for (int j = -8; j <= 8; ++j) {
|
for (int j = -8; j <= 8; ++j) {
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/levelgen/WorldGenerationContext.java b/src/main/java/net/minecraft/world/level/levelgen/WorldGenerationContext.java
|
diff --git a/src/main/java/net/minecraft/world/level/levelgen/WorldGenerationContext.java b/src/main/java/net/minecraft/world/level/levelgen/WorldGenerationContext.java
|
||||||
index b99283c31193e2110f6e3f39c23dbfc2442bab2b..eed55a3f95d30bcd4184b8dfd597af7da26281a2 100644
|
index b99283c31193e2110f6e3f39c23dbfc2442bab2b..1c9d9ecdafb2bd04348045ba0404da052dcd6437 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/levelgen/WorldGenerationContext.java
|
--- a/src/main/java/net/minecraft/world/level/levelgen/WorldGenerationContext.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/levelgen/WorldGenerationContext.java
|
+++ b/src/main/java/net/minecraft/world/level/levelgen/WorldGenerationContext.java
|
||||||
@@ -6,10 +6,13 @@ import net.minecraft.world.level.chunk.ChunkGenerator;
|
@@ -6,10 +6,13 @@ import net.minecraft.world.level.chunk.ChunkGenerator;
|
||||||
public class WorldGenerationContext {
|
public class WorldGenerationContext {
|
||||||
private final int minY;
|
private final int minY;
|
||||||
private final int height;
|
private final int height;
|
||||||
+ private final net.minecraft.world.level.Level level; // Paper
|
+ private final @javax.annotation.Nullable net.minecraft.world.level.Level level; // Paper
|
||||||
|
|
||||||
- public WorldGenerationContext(ChunkGenerator generator, LevelHeightAccessor world) {
|
- public WorldGenerationContext(ChunkGenerator generator, LevelHeightAccessor world) {
|
||||||
+ public WorldGenerationContext(ChunkGenerator generator, LevelHeightAccessor world) { this(generator, world, null); } // Paper
|
+ public WorldGenerationContext(ChunkGenerator generator, LevelHeightAccessor world) { this(generator, world, null); } // Paper
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren