Merge remote-tracking branch 'origin/ver/6.0.0' into architecture/slf4j-logging

# Conflicts:
#	common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/generation/generators/NoiseChunkGenerator3D.java
#	common/addons/config-structure/src/main/java/com/dfsek/terra/addons/structure/command/structure/StructureExportCommand.java
#	common/addons/config-structure/src/main/java/com/dfsek/terra/addons/structure/structures/loot/functions/EnchantFunction.java
#	common/addons/language-yaml/src/main/java/com/dfsek/terra/addons/yaml/YamlAddon.java
#	common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/buffer/items/BufferedBlock.java
#	common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/buffer/items/BufferedLootApplication.java
#	common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/buffer/items/BufferedStateManipulator.java
#	common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/StructureScript.java
#	common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/functions/LootFunction.java
#	common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/functions/StructureFunction.java
#	common/api/core/src/main/java/com/dfsek/terra/api/Platform.java
#	common/implementation/src/main/java/com/dfsek/terra/AbstractPlatform.java
#	common/implementation/src/main/java/com/dfsek/terra/InternalAddon.java
#	common/implementation/src/main/java/com/dfsek/terra/commands/AddonsCommand.java
#	common/implementation/src/main/java/com/dfsek/terra/commands/ReloadCommand.java
#	common/implementation/src/main/java/com/dfsek/terra/commands/profiler/ProfileQueryCommand.java
#	common/implementation/src/main/java/com/dfsek/terra/config/PluginConfigImpl.java
#	common/implementation/src/main/java/com/dfsek/terra/config/lang/LangUtil.java
#	common/implementation/src/main/java/com/dfsek/terra/config/pack/ConfigPackImpl.java
#	common/implementation/src/main/java/com/dfsek/terra/event/FunctionalEventHandlerImpl.java
#	common/implementation/src/main/java/com/dfsek/terra/registry/config/ConfigTypeRegistry.java
#	common/implementation/src/main/java/com/dfsek/terra/registry/master/AddonRegistry.java
#	common/implementation/src/main/java/com/dfsek/terra/registry/master/ConfigRegistry.java
#	platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/BukkitAddon.java
#	platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/PlatformImpl.java
#	platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/listeners/SpigotListener.java
#	platforms/fabric/src/main/java/com/dfsek/terra/fabric/FabricAddon.java
#	platforms/fabric/src/main/java/com/dfsek/terra/fabric/FabricEntryPoint.java
#	platforms/fabric/src/main/java/com/dfsek/terra/fabric/PlatformImpl.java
#	platforms/fabric/src/main/java/com/dfsek/terra/fabric/generation/FabricChunkGeneratorWrapper.java
#	platforms/sponge/src/main/java/com/dfsek/terra/sponge/PlatformImpl.java
This commit is contained in:
dfsek
2021-09-26 22:46:54 -07:00
160 changed files with 1172 additions and 1365 deletions
@@ -5,7 +5,7 @@ import com.dfsek.terra.addons.chunkgenerator.palette.PaletteHolder;
import com.dfsek.terra.addons.chunkgenerator.palette.PaletteHolderLoader;
import com.dfsek.terra.addons.chunkgenerator.palette.SlantHolder;
import com.dfsek.terra.addons.chunkgenerator.palette.SlantHolderLoader;
import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.Platform;
import com.dfsek.terra.api.addon.TerraAddon;
import com.dfsek.terra.api.addon.annotations.Addon;
import com.dfsek.terra.api.addon.annotations.Author;
@@ -23,30 +23,31 @@ import com.dfsek.terra.api.world.generator.ChunkGeneratorProvider;
@Version("1.0.0")
public class NoiseChunkGenerator3DAddon extends TerraAddon {
@Inject
private TerraPlugin main;
private Platform platform;
@Override
public void initialize() {
main.getEventManager()
.getHandler(FunctionalEventHandler.class)
.register(this, ConfigPackPreLoadEvent.class)
.then(event -> {
platform.getEventManager()
.getHandler(FunctionalEventHandler.class)
.register(this, ConfigPackPreLoadEvent.class)
.then(event -> {
event.getPack().getOrCreateRegistry(ChunkGeneratorProvider.class).register("NOISE_3D",
pack -> new NoiseChunkGenerator3D(pack, main));
pack -> new NoiseChunkGenerator3D(pack,
platform));
event.getPack()
.applyLoader(SlantHolder.class, new SlantHolderLoader())
.applyLoader(PaletteHolder.class, new PaletteHolderLoader());
})
.failThrough();
.failThrough();
main.getEventManager()
.getHandler(FunctionalEventHandler.class)
.register(this, ConfigurationLoadEvent.class)
.then(event -> {
platform.getEventManager()
.getHandler(FunctionalEventHandler.class)
.register(this, ConfigurationLoadEvent.class)
.then(event -> {
if(event.is(TerraBiome.class)) {
event.getLoadedObject(TerraBiome.class).getContext().put(event.load(new BiomePaletteTemplate()).get());
}
})
.failThrough();
.failThrough();
}
}
@@ -1,5 +1,7 @@
package com.dfsek.terra.addons.chunkgenerator.generation.generators;
import com.dfsek.terra.api.Platform;
import net.jafama.FastMath;
import org.jetbrains.annotations.NotNull;
import org.slf4j.Logger;
@@ -12,7 +14,6 @@ import java.util.Random;
import com.dfsek.terra.addons.chunkgenerator.PaletteUtil;
import com.dfsek.terra.addons.chunkgenerator.generation.math.samplers.Sampler3D;
import com.dfsek.terra.addons.chunkgenerator.palette.PaletteInfo;
import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.block.state.BlockState;
import com.dfsek.terra.api.block.state.properties.base.Properties;
import com.dfsek.terra.api.block.state.properties.enums.Direction;
@@ -35,21 +36,21 @@ public class NoiseChunkGenerator3D implements ChunkGenerator {
private static final Logger logger = LoggerFactory.getLogger(NoiseChunkGenerator3D.class);
private final ConfigPack configPack;
private final TerraPlugin main;
private final Platform platform;
private final List<GenerationStage> generationStages = new ArrayList<>();
private final BlockState air;
public NoiseChunkGenerator3D(ConfigPack c, TerraPlugin main) {
public NoiseChunkGenerator3D(ConfigPack c, Platform platform) {
this.configPack = c;
this.main = main;
this.air = main.getWorldHandle().air();
this.platform = platform;
this.air = platform.getWorldHandle().air();
c.getStages().forEach(stage -> generationStages.add(stage.newInstance(c)));
}
@SuppressWarnings("try")
static void biomes(@NotNull World world, int chunkX, int chunkZ, @NotNull BiomeGrid biome, TerraPlugin main) {
try(ProfileFrame ignore = main.getProfiler().profile("biomes")) {
static void biomes(@NotNull World world, int chunkX, int chunkZ, @NotNull BiomeGrid biome, Platform platform) {
try(ProfileFrame ignore = platform.getProfiler().profile("biomes")) {
int xOrig = (chunkX << 4);
int zOrig = (chunkZ << 4);
long seed = world.getSeed();
@@ -69,7 +70,7 @@ public class NoiseChunkGenerator3D implements ChunkGenerator {
@Override
@SuppressWarnings("try")
public ChunkData generateChunkData(@NotNull World world, Random random, int chunkX, int chunkZ, ChunkData chunk) {
try(ProfileFrame ignore = main.getProfiler().profile("chunk_base_3d")) {
try(ProfileFrame ignore = platform.getProfiler().profile("chunk_base_3d")) {
BiomeProvider grid = world.getBiomeProvider();
int xOrig = (chunkX << 4);
@@ -129,7 +130,7 @@ public class NoiseChunkGenerator3D implements ChunkGenerator {
@Override
public void generateBiomes(@NotNull World world, @NotNull Random random, int chunkX, int chunkZ, @NotNull BiomeGrid biome) {
biomes(world, chunkX, chunkZ, biome, main);
biomes(world, chunkX, chunkZ, biome, platform);
}
@Override
@@ -143,8 +144,8 @@ public class NoiseChunkGenerator3D implements ChunkGenerator {
}
@Override
public TerraPlugin getMain() {
return main;
public Platform getPlatform() {
return platform;
}
@Override