Merge pull request #519 from PolyhedralDev/feat/nmsplatform

Fixed NMSPlatform implementation
This commit is contained in:
Zoë Gidiere 2025-07-13 16:44:10 -06:00 committed by GitHub
commit 9f546370cd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 20 additions and 3 deletions

View File

@ -108,7 +108,7 @@ public abstract class AbstractPlatform implements Platform {
return Collections.emptySet();
}
protected void load() {
protected InternalAddon load() {
if(LOADED.get()) {
throw new IllegalStateException(
"Someone tried to initialize Terra, but Terra has already initialized. This is most likely due to a broken platform " +
@ -159,6 +159,8 @@ public abstract class AbstractPlatform implements Platform {
logger.info("Terra addons successfully loaded.");
logger.info("Finished initialization.");
return internalAddon;
}
protected InternalAddon loadAddons() {

View File

@ -4,7 +4,10 @@ import com.dfsek.tectonic.api.TypeRegistry;
import com.dfsek.tectonic.api.exception.LoadException;
import com.dfsek.terra.addon.InternalAddon;
import com.dfsek.terra.api.addon.BaseAddon;
import com.dfsek.terra.api.event.events.platform.PlatformInitializationEvent;
import com.dfsek.terra.api.event.functional.FunctionalEventHandler;
import com.dfsek.terra.api.world.biome.PlatformBiome;
import com.dfsek.terra.bukkit.PlatformImpl;
import com.dfsek.terra.bukkit.TerraBukkitPlugin;
@ -39,7 +42,6 @@ import net.minecraft.world.level.biome.Biome.Precipitation;
import net.minecraft.world.level.biome.Biome.TemperatureModifier;
import net.minecraft.world.level.biome.BiomeSpecialEffects.GrassColorModifier;
import net.minecraft.world.level.biome.MobSpawnSettings;
import net.minecraft.world.level.biome.MobSpawnSettings.SpawnerData;
import org.bukkit.Bukkit;
import java.util.List;
@ -50,7 +52,7 @@ public class NMSPlatform extends PlatformImpl {
public NMSPlatform(TerraBukkitPlugin plugin) {
super(plugin);
AwfulBukkitHacks.registerBiomes(this.getRawConfigRegistry());
Bukkit.getPluginManager().registerEvents(new NMSInjectListener(), plugin);
}
@ -86,6 +88,19 @@ public class NMSPlatform extends PlatformImpl {
.registerLoader(VillagerType.class, VillagerTypeTemplate::new);
}
@Override
protected InternalAddon load() {
InternalAddon internalAddon = super.load();
this.getEventManager().getHandler(FunctionalEventHandler.class)
.register(internalAddon, PlatformInitializationEvent.class)
.priority(1)
.then(event -> AwfulBukkitHacks.registerBiomes(this.getRawConfigRegistry()))
.global();
return internalAddon;
}
@Override
protected Iterable<BaseAddon> platformAddon() {
return List.of(new NMSAddon(this));