mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-06-18 14:50:56 +00:00
clean up
This commit is contained in:
+1
-1
@@ -93,7 +93,7 @@ public class BukkitChunkGeneratorWrapper extends org.bukkit.generator.ChunkGener
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean shouldGenerateDecorations() {
|
public boolean shouldGenerateDecorations() {
|
||||||
return false;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -45,8 +45,8 @@ public class NMSBiomeInjector {
|
|||||||
public static IRegistryWritable<BiomeBase> getBiomeRegistry() {
|
public static IRegistryWritable<BiomeBase> getBiomeRegistry() {
|
||||||
CraftServer craftserver = (CraftServer) Bukkit.getServer();
|
CraftServer craftserver = (CraftServer) Bukkit.getServer();
|
||||||
DedicatedServer dedicatedserver = craftserver.getServer();
|
DedicatedServer dedicatedserver = craftserver.getServer();
|
||||||
|
|
||||||
return (IRegistryWritable<BiomeBase>) dedicatedserver
|
return (IRegistryWritable<BiomeBase>) dedicatedserver
|
||||||
.aU() // getRegistryManager
|
.aU() // getRegistryManager
|
||||||
.b( // getRegistry
|
.b( // getRegistry
|
||||||
IRegistry.aP // biome registry key
|
IRegistry.aP // biome registry key
|
||||||
@@ -62,7 +62,6 @@ public class NMSBiomeInjector {
|
|||||||
Field frozen = RegistryMaterials.class.getDeclaredField("bL"); // registry frozen field
|
Field frozen = RegistryMaterials.class.getDeclaredField("bL"); // registry frozen field
|
||||||
frozen.setAccessible(true);
|
frozen.setAccessible(true);
|
||||||
frozen.set(biomeRegistry, false);
|
frozen.set(biomeRegistry, false);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
configRegistry.forEach(pack -> pack.getRegistry(Biome.class).forEach((key, biome) -> {
|
configRegistry.forEach(pack -> pack.getRegistry(Biome.class).forEach((key, biome) -> {
|
||||||
@@ -80,7 +79,7 @@ public class NMSBiomeInjector {
|
|||||||
RegistryGeneration.a(RegistryGeneration.i, delegateKey, platform);
|
RegistryGeneration.a(RegistryGeneration.i, delegateKey, platform);
|
||||||
biomeRegistry.a(delegateKey, platform, Lifecycle.stable());
|
biomeRegistry.a(delegateKey, platform, Lifecycle.stable());
|
||||||
platformBiome.setResourceKey(delegateKey);
|
platformBiome.setResourceKey(delegateKey);
|
||||||
|
|
||||||
terraBiomeMap.computeIfAbsent(vanillaMinecraftKey, i -> new ArrayList<>()).add(delegateKey.a());
|
terraBiomeMap.computeIfAbsent(vanillaMinecraftKey, i -> new ArrayList<>()).add(delegateKey.a());
|
||||||
|
|
||||||
LOGGER.debug("Registered biome: " + delegateKey);
|
LOGGER.debug("Registered biome: " + delegateKey);
|
||||||
@@ -90,7 +89,6 @@ public class NMSBiomeInjector {
|
|||||||
}));
|
}));
|
||||||
|
|
||||||
frozen.set(biomeRegistry, true); // freeze registry again :)
|
frozen.set(biomeRegistry, true); // freeze registry again :)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
} catch(NoSuchFieldException | SecurityException | IllegalArgumentException | IllegalAccessException exception) {
|
} catch(NoSuchFieldException | SecurityException | IllegalArgumentException | IllegalAccessException exception) {
|
||||||
@@ -107,43 +105,36 @@ public class NMSBiomeInjector {
|
|||||||
(map, pair) ->
|
(map, pair) ->
|
||||||
map.put(pair.getFirst(), new ArrayList<>(pair.getSecond().a().toList())),
|
map.put(pair.getFirst(), new ArrayList<>(pair.getSecond().a().toList())),
|
||||||
HashMap::putAll);
|
HashMap::putAll);
|
||||||
|
|
||||||
terraBiomeMap
|
terraBiomeMap
|
||||||
.forEach((vb, terraBiomes) ->
|
.forEach((vb, terraBiomes) ->
|
||||||
getEntry(biomeRegistry, vb)
|
getEntry(biomeRegistry, vb)
|
||||||
.ifPresentOrElse(vanilla -> terraBiomes
|
.ifPresentOrElse(
|
||||||
.forEach(tb ->
|
vanilla -> terraBiomes
|
||||||
getEntry(biomeRegistry, tb)
|
.forEach(tb -> getEntry(biomeRegistry, tb)
|
||||||
.ifPresentOrElse(
|
.ifPresentOrElse(
|
||||||
terra -> {
|
terra -> {
|
||||||
LOGGER.debug(
|
LOGGER.debug(vanilla.e().orElseThrow().a() +
|
||||||
vanilla.e()
|
" (vanilla for " +
|
||||||
.orElseThrow()
|
terra.e().orElseThrow().a() +
|
||||||
.a() +
|
": " +
|
||||||
" (vanilla for " +
|
vanilla.c().toList());
|
||||||
terra.e()
|
|
||||||
.orElseThrow()
|
vanilla.c()
|
||||||
.a() +
|
.forEach(
|
||||||
": " +
|
tag -> collect
|
||||||
vanilla.c()
|
.computeIfAbsent(tag,
|
||||||
.toList());
|
t -> new ArrayList<>())
|
||||||
|
.add(terra));
|
||||||
vanilla.c()
|
},
|
||||||
.forEach(
|
() -> LOGGER.error(
|
||||||
tag -> collect
|
"No such biome: {}",
|
||||||
.computeIfAbsent(
|
tb))),
|
||||||
tag,
|
() -> LOGGER.error("No vanilla biome: {}", vb)));
|
||||||
t -> new ArrayList<>())
|
|
||||||
.add(terra));
|
|
||||||
},
|
|
||||||
() -> LOGGER.error(
|
|
||||||
"No such biome: {}",
|
|
||||||
tb))),
|
|
||||||
() -> LOGGER.error("No vanilla biome: {}", vb)));
|
|
||||||
|
|
||||||
biomeRegistry.k(); // clearTags
|
biomeRegistry.k(); // clearTags
|
||||||
biomeRegistry.a(ImmutableMap.copyOf(collect)); // populateTags
|
biomeRegistry.a(ImmutableMap.copyOf(collect)); // populateTags
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <T> Optional<Holder<T>> getEntry(IRegistry<T> registry, MinecraftKey identifier) {
|
public static <T> Optional<Holder<T>> getEntry(IRegistry<T> registry, MinecraftKey identifier) {
|
||||||
@@ -170,9 +161,9 @@ public class NMSBiomeInjector {
|
|||||||
|
|
||||||
BiomeSettingsGeneration.a generationBuilder = new BiomeSettingsGeneration.a(); // builder
|
BiomeSettingsGeneration.a generationBuilder = new BiomeSettingsGeneration.a(); // builder
|
||||||
builder.a(generationBuilder.a())
|
builder.a(generationBuilder.a())
|
||||||
.a(vanilla.c())
|
.a(vanilla.c())
|
||||||
.b(vanilla.h()) // precipitation
|
.b(vanilla.h()) // precipitation
|
||||||
.a(vanilla.i()); // temp
|
.a(vanilla.i()); // temp
|
||||||
|
|
||||||
|
|
||||||
BiomeFog.a effects = new BiomeFog.a(); // Builder
|
BiomeFog.a effects = new BiomeFog.a(); // Builder
|
||||||
|
|||||||
+7
-19
@@ -1,23 +1,13 @@
|
|||||||
package com.dfsek.terra.bukkit.nms;
|
package com.dfsek.terra.bukkit.nms;
|
||||||
|
|
||||||
import com.dfsek.terra.api.config.ConfigPack;
|
|
||||||
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
|
||||||
import com.dfsek.terra.api.world.info.WorldProperties;
|
|
||||||
import com.dfsek.terra.bukkit.world.BukkitAdapter;
|
|
||||||
|
|
||||||
import com.dfsek.terra.bukkit.world.block.data.BukkitBlockState;
|
|
||||||
|
|
||||||
import com.mojang.serialization.Codec;
|
import com.mojang.serialization.Codec;
|
||||||
import net.minecraft.core.BlockPosition;
|
import net.minecraft.core.BlockPosition;
|
||||||
import net.minecraft.core.IRegistry;
|
import net.minecraft.core.IRegistry;
|
||||||
import net.minecraft.core.IRegistryWritable;
|
|
||||||
import net.minecraft.server.dedicated.DedicatedServer;
|
import net.minecraft.server.dedicated.DedicatedServer;
|
||||||
import net.minecraft.server.level.RegionLimitedWorldAccess;
|
import net.minecraft.server.level.RegionLimitedWorldAccess;
|
||||||
import net.minecraft.world.level.BlockColumn;
|
import net.minecraft.world.level.BlockColumn;
|
||||||
import net.minecraft.world.level.GeneratorAccessSeed;
|
|
||||||
import net.minecraft.world.level.LevelHeightAccessor;
|
import net.minecraft.world.level.LevelHeightAccessor;
|
||||||
import net.minecraft.world.level.StructureManager;
|
import net.minecraft.world.level.StructureManager;
|
||||||
import net.minecraft.world.level.biome.BiomeBase;
|
|
||||||
import net.minecraft.world.level.biome.BiomeManager;
|
import net.minecraft.world.level.biome.BiomeManager;
|
||||||
import net.minecraft.world.level.biome.Climate;
|
import net.minecraft.world.level.biome.Climate;
|
||||||
import net.minecraft.world.level.biome.Climate.Sampler;
|
import net.minecraft.world.level.biome.Climate.Sampler;
|
||||||
@@ -31,7 +21,6 @@ import net.minecraft.world.level.levelgen.blending.Blender;
|
|||||||
import net.minecraft.world.level.levelgen.structure.StructureSet;
|
import net.minecraft.world.level.levelgen.structure.StructureSet;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_18_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_18_R2.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_18_R2.CraftWorld;
|
|
||||||
import org.bukkit.craftbukkit.v1_18_R2.block.data.CraftBlockData;
|
import org.bukkit.craftbukkit.v1_18_R2.block.data.CraftBlockData;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -39,9 +28,12 @@ import java.util.Optional;
|
|||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
import java.util.concurrent.Executor;
|
import java.util.concurrent.Executor;
|
||||||
|
|
||||||
|
import com.dfsek.terra.api.config.ConfigPack;
|
||||||
|
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
||||||
|
import com.dfsek.terra.api.world.info.WorldProperties;
|
||||||
|
|
||||||
|
|
||||||
public class NMSChunkGeneratorDelegate extends ChunkGenerator {
|
public class NMSChunkGeneratorDelegate extends ChunkGenerator {
|
||||||
|
|
||||||
private final NMSBiomeProvider biomeSource;
|
private final NMSBiomeProvider biomeSource;
|
||||||
private final com.dfsek.terra.api.world.chunk.generation.ChunkGenerator delegate;
|
private final com.dfsek.terra.api.world.chunk.generation.ChunkGenerator delegate;
|
||||||
|
|
||||||
@@ -54,7 +46,7 @@ public class NMSChunkGeneratorDelegate extends ChunkGenerator {
|
|||||||
CraftServer craftserver = (CraftServer) Bukkit.getServer();
|
CraftServer craftserver = (CraftServer) Bukkit.getServer();
|
||||||
DedicatedServer dedicatedserver = craftserver.getServer();
|
DedicatedServer dedicatedserver = craftserver.getServer();
|
||||||
|
|
||||||
return dedicatedserver
|
return dedicatedserver
|
||||||
.aU() // getRegistryManager
|
.aU() // getRegistryManager
|
||||||
.b( // getRegistry
|
.b( // getRegistry
|
||||||
IRegistry.aM // biome registry key
|
IRegistry.aM // biome registry key
|
||||||
@@ -94,11 +86,6 @@ public class NMSChunkGeneratorDelegate extends ChunkGenerator {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void a(GeneratorAccessSeed gas, StructureManager manager, IChunkAccess ica) {
|
|
||||||
vanilla.a(gas, manager, ica);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Codec<? extends ChunkGenerator> b() {
|
protected Codec<? extends ChunkGenerator> b() {
|
||||||
return ChunkGeneratorAbstract.a;
|
return ChunkGeneratorAbstract.a;
|
||||||
@@ -110,7 +97,8 @@ public class NMSChunkGeneratorDelegate extends ChunkGenerator {
|
|||||||
WorldProperties properties = new NMSWorldProperties(seed, height);
|
WorldProperties properties = new NMSWorldProperties(seed, height);
|
||||||
BiomeProvider biomeProvider = pack.getBiomeProvider().caching(properties);
|
BiomeProvider biomeProvider = pack.getBiomeProvider().caching(properties);
|
||||||
for(int y = properties.getMaxHeight() - 1; y >= properties.getMinHeight(); y--) {
|
for(int y = properties.getMaxHeight() - 1; y >= properties.getMinHeight(); y--) {
|
||||||
array[y - properties.getMinHeight()] = ((CraftBlockData) delegate.getBlock(properties, x, y, z, biomeProvider).getHandle()).getState();
|
array[y - properties.getMinHeight()] = ((CraftBlockData) delegate.getBlock(properties, x, y, z, biomeProvider)
|
||||||
|
.getHandle()).getState();
|
||||||
}
|
}
|
||||||
return new BlockColumn(getMinimumY(), array);
|
return new BlockColumn(getMinimumY(), array);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user