46 lines
3.3 KiB
Diff
46 lines
3.3 KiB
Diff
--- a/net/minecraft/world/level/levelgen/GeneratorSettings.java
|
|
+++ b/net/minecraft/world/level/levelgen/GeneratorSettings.java
|
|
@@ -35,9 +35,14 @@
|
|
import org.apache.logging.log4j.LogManager;
|
|
import org.apache.logging.log4j.Logger;
|
|
|
|
+// CraftBukkit start
|
|
+import net.minecraft.resources.RegistryReadOps;
|
|
+import net.minecraft.server.packs.resources.IResourceManager;
|
|
+// CraftBukkit end
|
|
+
|
|
public class GeneratorSettings {
|
|
|
|
- public static final Codec<GeneratorSettings> CODEC = RecordCodecBuilder.create((instance) -> {
|
|
+ public static final Codec<GeneratorSettings> CODEC = RecordCodecBuilder.<GeneratorSettings>create((instance) -> { // CraftBukkit - decompile error
|
|
return instance.group(Codec.LONG.fieldOf("seed").stable().forGetter(GeneratorSettings::seed), Codec.BOOL.fieldOf("generate_features").orElse(true).stable().forGetter(GeneratorSettings::generateFeatures), Codec.BOOL.fieldOf("bonus_chest").orElse(false).stable().forGetter(GeneratorSettings::generateBonusChest), RegistryMaterials.dataPackCodec(IRegistry.LEVEL_STEM_REGISTRY, Lifecycle.stable(), WorldDimension.CODEC).xmap(WorldDimension::sortMap, Function.identity()).fieldOf("dimensions").forGetter(GeneratorSettings::dimensions), Codec.STRING.optionalFieldOf("legacy_custom_options").stable().forGetter((generatorsettings) -> {
|
|
return generatorsettings.legacyCustomOptions;
|
|
})).apply(instance, instance.stable(GeneratorSettings::new));
|
|
@@ -130,7 +135,7 @@
|
|
public static RegistryMaterials<WorldDimension> withOverworld(RegistryMaterials<WorldDimension> registrymaterials, Supplier<DimensionManager> supplier, ChunkGenerator chunkgenerator) {
|
|
RegistryMaterials<WorldDimension> registrymaterials1 = new RegistryMaterials<>(IRegistry.LEVEL_STEM_REGISTRY, Lifecycle.experimental());
|
|
|
|
- registrymaterials1.register(WorldDimension.OVERWORLD, (Object) (new WorldDimension(supplier, chunkgenerator)), Lifecycle.stable());
|
|
+ registrymaterials1.register(WorldDimension.OVERWORLD, (new WorldDimension(supplier, chunkgenerator)), Lifecycle.stable()); // CraftBukkit - decompile error
|
|
Iterator iterator = registrymaterials.entrySet().iterator();
|
|
|
|
while (iterator.hasNext()) {
|
|
@@ -138,7 +143,7 @@
|
|
ResourceKey<WorldDimension> resourcekey = (ResourceKey) entry.getKey();
|
|
|
|
if (resourcekey != WorldDimension.OVERWORLD) {
|
|
- registrymaterials1.register(resourcekey, (Object) ((WorldDimension) entry.getValue()), registrymaterials.lifecycle((WorldDimension) entry.getValue()));
|
|
+ registrymaterials1.register(resourcekey, ((WorldDimension) entry.getValue()), registrymaterials.lifecycle((WorldDimension) entry.getValue())); // CraftBukkit - decompile error
|
|
}
|
|
}
|
|
|
|
@@ -256,7 +261,7 @@
|
|
switch (b0) {
|
|
case 0:
|
|
JsonObject jsonobject = !s.isEmpty() ? ChatDeserializer.parse(s) : new JsonObject();
|
|
- Dynamic<JsonElement> dynamic = new Dynamic(JsonOps.INSTANCE, jsonobject);
|
|
+ Dynamic<JsonElement> dynamic = new Dynamic(RegistryReadOps.createAndLoad(JsonOps.INSTANCE, IResourceManager.Empty.INSTANCE, (IRegistryCustom.Dimension) iregistrycustom), jsonobject); // CraftBukkit - SPIGOT-6237
|
|
DataResult dataresult = GeneratorSettingsFlat.CODEC.parse(dynamic);
|
|
Logger logger = GeneratorSettings.LOGGER;
|
|
|