mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-02-16 02:20:57 +00:00
Merge branch 'master' into dev/7.0-2
This commit is contained in:
@@ -66,11 +66,8 @@ fun Project.configureDependencies() {
|
||||
maven("https://storehouse.okaeri.eu/repository/maven-public/") {
|
||||
name = "Okaeri"
|
||||
}
|
||||
maven("https://maven.solo-studios.ca/releases") {
|
||||
name = "Solo Studios"
|
||||
}
|
||||
maven("https://maven.solo-studios.ca/snapshots") {
|
||||
name = "Solo Studios"
|
||||
maven("https://repo.onarandombox.com/multiverse-releases") {
|
||||
name = "onarandombox"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
object Versions {
|
||||
object Terra {
|
||||
const val overworldConfig = "v1.5.1"
|
||||
const val overworldConfig = "v1.5.2"
|
||||
}
|
||||
|
||||
object Libraries {
|
||||
@@ -66,6 +66,7 @@ object Versions {
|
||||
const val runPaper = "2.3.1"
|
||||
const val paperWeight = "2.0.0-beta.17"
|
||||
const val cloud = "2.0.0-beta.10"
|
||||
const val multiverse = "5.0.2"
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
@@ -7,6 +7,8 @@ dependencies {
|
||||
|
||||
compileOnly("io.papermc.paper", "paper-api", Versions.Bukkit.paper)
|
||||
|
||||
compileOnly("org.mvplugins.multiverse.core", "multiverse-core", Versions.Bukkit.multiverse)
|
||||
|
||||
shadedApi("io.papermc", "paperlib", Versions.Bukkit.paperLib)
|
||||
|
||||
shadedApi("com.google.guava", "guava", Versions.Libraries.Internal.guava)
|
||||
|
||||
@@ -87,7 +87,7 @@ public class TerraBukkitPlugin extends JavaPlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
Bukkit.getPluginManager().registerEvents(new CommonListener(), this); // Register master event listener
|
||||
Bukkit.getPluginManager().registerEvents(new CommonListener(platform), this); // Register master event listener
|
||||
PaperUtil.checkPaper(this);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
package com.dfsek.terra.bukkit.hooks;
|
||||
|
||||
import com.dfsek.terra.api.Platform;
|
||||
import com.dfsek.terra.api.registry.key.Keyed;
|
||||
|
||||
import org.mvplugins.multiverse.core.world.generators.GeneratorPlugin;
|
||||
import org.mvplugins.multiverse.external.jetbrains.annotations.NotNull;
|
||||
import org.mvplugins.multiverse.external.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
public final class MultiverseGeneratorPluginHook implements GeneratorPlugin {
|
||||
|
||||
private final Platform platform;
|
||||
|
||||
public MultiverseGeneratorPluginHook(Platform platform) {
|
||||
this.platform = platform;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Collection<String> suggestIds(@Nullable String s) {
|
||||
return platform.getConfigRegistry().entries().stream()
|
||||
.map(Keyed::getID)
|
||||
.toList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable Collection<String> getExampleUsages() {
|
||||
return platform.getConfigRegistry()
|
||||
.entries()
|
||||
.stream()
|
||||
.map(Keyed::getID)
|
||||
.map("/mv create example_world NORMAL -g Terra:%s"::formatted)
|
||||
.limit(5) // reasonable amount
|
||||
.toList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable String getInfoLink() {
|
||||
return "https://terra.polydev.org/";
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull String getPluginName() {
|
||||
return "Terra";
|
||||
}
|
||||
}
|
||||
@@ -17,13 +17,40 @@
|
||||
|
||||
package com.dfsek.terra.bukkit.listeners;
|
||||
|
||||
import com.dfsek.terra.api.Platform;
|
||||
import com.dfsek.terra.bukkit.hooks.MultiverseGeneratorPluginHook;
|
||||
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.server.PluginEnableEvent;
|
||||
import org.mvplugins.multiverse.core.MultiverseCoreApi;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
|
||||
/**
|
||||
* Listener for events on all implementations.
|
||||
*/
|
||||
public class CommonListener implements Listener {
|
||||
public CommonListener() {
|
||||
private static final Logger logger = LoggerFactory.getLogger(CommonListener.class);
|
||||
private final Platform platform;
|
||||
|
||||
public CommonListener(Platform platform) {
|
||||
this.platform = platform;
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onPluginEnable(PluginEnableEvent event) {
|
||||
if(event.getPlugin().getName().equals("Multiverse-Core")) {
|
||||
try {
|
||||
Class.forName("org.mvplugins.multiverse.core.MultiverseCoreApi");
|
||||
MultiverseCoreApi.get().getGeneratorProvider()
|
||||
.registerGeneratorPlugin(new MultiverseGeneratorPluginHook(platform));
|
||||
} catch(ClassNotFoundException e) {
|
||||
logger.debug("Multiverse v5 is not installed.");
|
||||
} catch(IllegalStateException e) {
|
||||
logger.error("Failed to register Terra generator plugin to multiverse.", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
"depends": {
|
||||
"fabricloader": ">=0.16.10",
|
||||
"java": ">=21",
|
||||
"minecraft": ">=1.21.5",
|
||||
"minecraft": ">=1.21.6",
|
||||
"fabric": "*"
|
||||
}
|
||||
}
|
||||
@@ -19,8 +19,6 @@ import java.net.Proxy;
|
||||
|
||||
import com.dfsek.terra.lifecycle.LifecyclePlatform;
|
||||
|
||||
import static com.dfsek.terra.lifecycle.util.LifecycleUtil.initialized;
|
||||
|
||||
|
||||
@Mixin(MinecraftServer.class)
|
||||
public class MinecraftServerMixin {
|
||||
|
||||
@@ -49,8 +49,6 @@ import com.dfsek.terra.lifecycle.LifecyclePlatform;
|
||||
import com.dfsek.terra.lifecycle.util.LifecycleUtil;
|
||||
import com.dfsek.terra.lifecycle.util.RegistryHack;
|
||||
|
||||
import static com.dfsek.terra.lifecycle.util.LifecycleUtil.initialized;
|
||||
|
||||
|
||||
@Mixin(RegistryLoader.class)
|
||||
public class RegistryLoaderMixin {
|
||||
|
||||
@@ -12,8 +12,6 @@ import com.dfsek.terra.mod.CommonPlatform;
|
||||
|
||||
|
||||
public final class LifecycleUtil {
|
||||
public static boolean initialized = false;
|
||||
|
||||
private LifecycleUtil() {
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user