mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2025-07-03 08:25:31 +00:00
We do a little commonifying
This commit is contained in:
parent
5eeb5af6c4
commit
0e37a839fe
@ -8,5 +8,4 @@ terra.license=MIT
|
|||||||
# Gradle options
|
# Gradle options
|
||||||
org.gradle.jvmargs=-Xmx4096M -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC
|
org.gradle.jvmargs=-Xmx4096M -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC
|
||||||
org.gradle.warning.mode=all
|
org.gradle.warning.mode=all
|
||||||
#org.gradle.parallel=true
|
|
||||||
|
|
||||||
|
@ -17,35 +17,16 @@
|
|||||||
|
|
||||||
package com.dfsek.terra.fabric;
|
package com.dfsek.terra.fabric;
|
||||||
|
|
||||||
import cloud.commandframework.execution.CommandExecutionCoordinator;
|
|
||||||
import cloud.commandframework.fabric.FabricServerCommandManager;
|
|
||||||
import net.fabricmc.api.ModInitializer;
|
import net.fabricmc.api.ModInitializer;
|
||||||
import net.minecraft.server.command.ServerCommandSource;
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import com.dfsek.terra.api.command.CommandSender;
|
import com.dfsek.terra.lifecycle.LifecycleEntryPoint;
|
||||||
import com.dfsek.terra.api.event.events.platform.CommandRegistrationEvent;
|
|
||||||
|
|
||||||
|
|
||||||
public class FabricEntryPoint implements ModInitializer {
|
public class FabricEntryPoint extends LifecycleEntryPoint implements ModInitializer {
|
||||||
private static final Logger logger = LoggerFactory.getLogger(FabricEntryPoint.class);
|
|
||||||
|
|
||||||
private static final FabricPlatform TERRA_PLUGIN = new FabricPlatform();
|
private static final FabricPlatform TERRA_PLUGIN = new FabricPlatform();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onInitialize() {
|
public void onInitialize() {
|
||||||
logger.info("Initializing Terra Fabric mod...");
|
initialize("Fabric", TERRA_PLUGIN);
|
||||||
|
|
||||||
FabricServerCommandManager<CommandSender> manager = new FabricServerCommandManager<>(
|
|
||||||
CommandExecutionCoordinator.simpleCoordinator(),
|
|
||||||
serverCommandSource -> (CommandSender) serverCommandSource,
|
|
||||||
commandSender -> (ServerCommandSource) commandSender
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
manager.brigadierManager().setNativeNumberSuggestions(false);
|
|
||||||
|
|
||||||
TERRA_PLUGIN.getEventManager().callEvent(new CommandRegistrationEvent(manager));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,43 +17,24 @@
|
|||||||
|
|
||||||
package com.dfsek.terra.fabric;
|
package com.dfsek.terra.fabric;
|
||||||
|
|
||||||
import ca.solostudios.strata.Versions;
|
|
||||||
import ca.solostudios.strata.parser.tokenizer.ParseException;
|
|
||||||
import ca.solostudios.strata.version.Version;
|
|
||||||
import net.fabricmc.loader.api.FabricLoader;
|
import net.fabricmc.loader.api.FabricLoader;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import java.util.stream.Stream;
|
|
||||||
|
|
||||||
import com.dfsek.terra.addon.EphemeralAddon;
|
|
||||||
import com.dfsek.terra.api.addon.BaseAddon;
|
import com.dfsek.terra.api.addon.BaseAddon;
|
||||||
import com.dfsek.terra.lifecycle.LifecyclePlatform;
|
import com.dfsek.terra.lifecycle.LifecyclePlatform;
|
||||||
|
|
||||||
|
|
||||||
public class FabricPlatform extends LifecyclePlatform {
|
public class FabricPlatform extends LifecyclePlatform {
|
||||||
private static final Logger LOGGER = LoggerFactory.getLogger(FabricPlatform.class);
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Collection<BaseAddon> getPlatformMods() {
|
protected Collection<BaseAddon> getPlatformMods() {
|
||||||
return FabricLoader.getInstance().getAllMods().stream().flatMap(mod -> {
|
return FabricLoader.getInstance().getAllMods().stream().flatMap(
|
||||||
String id = mod.getMetadata().getId();
|
mod -> parseModData(mod.getMetadata().getId(), mod.getMetadata().getVersion().getFriendlyString())).collect(
|
||||||
if(id.equals("terra") || id.equals("minecraft") || id.equals("java")) return Stream.empty();
|
Collectors.toList());
|
||||||
try {
|
|
||||||
Version version = Versions.parseVersion(mod.getMetadata().getVersion().getFriendlyString());
|
|
||||||
return Stream.<BaseAddon>of(new EphemeralAddon(version, "fabric:" + id));
|
|
||||||
} catch(ParseException e) {
|
|
||||||
LOGGER.warn(
|
|
||||||
"Mod {}, version {} does not follow semantic versioning specification, Terra addons will be unable to depend on " +
|
|
||||||
"it.",
|
|
||||||
id, mod.getMetadata().getVersion().getFriendlyString());
|
|
||||||
}
|
|
||||||
return Stream.empty();
|
|
||||||
}).collect(Collectors.toList());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -15,6 +15,11 @@ dependencies {
|
|||||||
|
|
||||||
minecraft("com.mojang:minecraft:${Versions.Mod.minecraft}")
|
minecraft("com.mojang:minecraft:${Versions.Mod.minecraft}")
|
||||||
mappings("net.fabricmc:yarn:${Versions.Mod.yarn}:v2")
|
mappings("net.fabricmc:yarn:${Versions.Mod.yarn}:v2")
|
||||||
|
|
||||||
|
modImplementation("cloud.commandframework", "cloud-fabric", Versions.Libraries.cloud) {
|
||||||
|
exclude("net.fabricmc")
|
||||||
|
exclude("net.fabricmc.fabric-api")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
loom {
|
loom {
|
||||||
|
@ -0,0 +1,34 @@
|
|||||||
|
package com.dfsek.terra.lifecycle;
|
||||||
|
|
||||||
|
import cloud.commandframework.execution.CommandExecutionCoordinator;
|
||||||
|
|
||||||
|
import cloud.commandframework.fabric.FabricServerCommandManager;
|
||||||
|
|
||||||
|
import com.dfsek.terra.api.command.CommandSender;
|
||||||
|
import com.dfsek.terra.api.event.events.platform.CommandRegistrationEvent;
|
||||||
|
|
||||||
|
import com.dfsek.terra.mod.MinecraftAddon;
|
||||||
|
|
||||||
|
import net.minecraft.server.command.ServerCommandSource;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
|
||||||
|
public class LifecycleEntryPoint {
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(LifecycleEntryPoint.class);
|
||||||
|
|
||||||
|
protected static void initialize(String modName, LifecyclePlatform platform) {
|
||||||
|
logger.info("Initializing Terra %s mod...", modName);
|
||||||
|
|
||||||
|
FabricServerCommandManager<CommandSender> manager = new FabricServerCommandManager<>(
|
||||||
|
CommandExecutionCoordinator.simpleCoordinator(),
|
||||||
|
serverCommandSource -> (CommandSender) serverCommandSource,
|
||||||
|
commandSender -> (ServerCommandSource) commandSender
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
manager.brigadierManager().setNativeNumberSuggestions(false);
|
||||||
|
|
||||||
|
platform.getEventManager().callEvent(new CommandRegistrationEvent(manager));
|
||||||
|
}
|
||||||
|
}
|
@ -2,6 +2,7 @@ package com.dfsek.terra.lifecycle;
|
|||||||
|
|
||||||
import ca.solostudios.strata.Versions;
|
import ca.solostudios.strata.Versions;
|
||||||
import ca.solostudios.strata.parser.tokenizer.ParseException;
|
import ca.solostudios.strata.parser.tokenizer.ParseException;
|
||||||
|
import ca.solostudios.strata.version.Version;
|
||||||
|
|
||||||
import com.dfsek.terra.lifecycle.util.BiomeUtil;
|
import com.dfsek.terra.lifecycle.util.BiomeUtil;
|
||||||
|
|
||||||
@ -20,6 +21,7 @@ import org.slf4j.LoggerFactory;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.stream.Stream;
|
||||||
import java.util.concurrent.atomic.AtomicReference;
|
import java.util.concurrent.atomic.AtomicReference;
|
||||||
|
|
||||||
import com.dfsek.terra.addon.EphemeralAddon;
|
import com.dfsek.terra.addon.EphemeralAddon;
|
||||||
@ -109,6 +111,20 @@ public abstract class LifecyclePlatform extends ModPlatform {
|
|||||||
return addons;
|
return addons;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected Stream<EphemeralAddon> parseModData(String id, String modVersion) {
|
||||||
|
if(id.equals("terra") || id.equals("minecraft") || id.equals("java")) return Stream.empty();
|
||||||
|
try {
|
||||||
|
Version version = Versions.parseVersion(modVersion);
|
||||||
|
return Stream.of(new EphemeralAddon(version, "quilt:" + id));
|
||||||
|
} catch(ParseException e) {
|
||||||
|
LOGGER.warn(
|
||||||
|
"Mod {}, version {} does not follow semantic versioning specification, Terra addons will be unable to depend on " +
|
||||||
|
"it.",
|
||||||
|
id, modVersion);
|
||||||
|
}
|
||||||
|
return Stream.empty();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Registry<DimensionType> dimensionTypeRegistry() {
|
public Registry<DimensionType> dimensionTypeRegistry() {
|
||||||
return DIMENSIONS.get();
|
return DIMENSIONS.get();
|
||||||
|
@ -17,36 +17,17 @@
|
|||||||
|
|
||||||
package com.dfsek.terra.quilt;
|
package com.dfsek.terra.quilt;
|
||||||
|
|
||||||
import cloud.commandframework.execution.CommandExecutionCoordinator;
|
|
||||||
import cloud.commandframework.fabric.FabricServerCommandManager;
|
|
||||||
import net.minecraft.server.command.ServerCommandSource;
|
|
||||||
import org.quiltmc.loader.api.ModContainer;
|
import org.quiltmc.loader.api.ModContainer;
|
||||||
import org.quiltmc.qsl.base.api.entrypoint.ModInitializer;
|
import org.quiltmc.qsl.base.api.entrypoint.ModInitializer;
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import com.dfsek.terra.api.command.CommandSender;
|
import com.dfsek.terra.lifecycle.LifecycleEntryPoint;
|
||||||
import com.dfsek.terra.api.event.events.platform.CommandRegistrationEvent;
|
|
||||||
|
|
||||||
|
|
||||||
public class QuiltEntryPoint implements ModInitializer {
|
public class QuiltEntryPoint extends LifecycleEntryPoint implements ModInitializer {
|
||||||
private static final Logger logger = LoggerFactory.getLogger(QuiltEntryPoint.class);
|
|
||||||
|
|
||||||
private static final QuiltPlatform TERRA_PLUGIN = new QuiltPlatform();
|
private static final QuiltPlatform TERRA_PLUGIN = new QuiltPlatform();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onInitialize(ModContainer container) {
|
public void onInitialize(ModContainer container) {
|
||||||
logger.info("Initializing Terra Quilt mod...");
|
initialize("Quilt", TERRA_PLUGIN);
|
||||||
|
|
||||||
FabricServerCommandManager<CommandSender> manager = new FabricServerCommandManager<>(
|
|
||||||
CommandExecutionCoordinator.simpleCoordinator(),
|
|
||||||
serverCommandSource -> (CommandSender) serverCommandSource,
|
|
||||||
commandSender -> (ServerCommandSource) commandSender
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
manager.brigadierManager().setNativeNumberSuggestions(false);
|
|
||||||
|
|
||||||
TERRA_PLUGIN.getEventManager().callEvent(new CommandRegistrationEvent(manager));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,43 +17,23 @@
|
|||||||
|
|
||||||
package com.dfsek.terra.quilt;
|
package com.dfsek.terra.quilt;
|
||||||
|
|
||||||
import ca.solostudios.strata.Versions;
|
|
||||||
import ca.solostudios.strata.parser.tokenizer.ParseException;
|
|
||||||
import ca.solostudios.strata.version.Version;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.quiltmc.loader.api.QuiltLoader;
|
import org.quiltmc.loader.api.QuiltLoader;
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import java.util.stream.Stream;
|
|
||||||
|
|
||||||
import com.dfsek.terra.addon.EphemeralAddon;
|
|
||||||
import com.dfsek.terra.api.addon.BaseAddon;
|
import com.dfsek.terra.api.addon.BaseAddon;
|
||||||
import com.dfsek.terra.lifecycle.LifecyclePlatform;
|
import com.dfsek.terra.lifecycle.LifecyclePlatform;
|
||||||
|
|
||||||
|
|
||||||
public class QuiltPlatform extends LifecyclePlatform {
|
public class QuiltPlatform extends LifecyclePlatform {
|
||||||
private static final Logger LOGGER = LoggerFactory.getLogger(QuiltPlatform.class);
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Collection<BaseAddon> getPlatformMods() {
|
protected Collection<BaseAddon> getPlatformMods() {
|
||||||
return QuiltLoader.getAllMods().stream().flatMap(mod -> {
|
return QuiltLoader.getAllMods().stream().flatMap(mod -> parseModData(mod.metadata().id(), mod.metadata().version().raw())).collect(
|
||||||
String id = mod.metadata().id();
|
Collectors.toList());
|
||||||
if(id.equals("terra") || id.equals("minecraft") || id.equals("java")) return Stream.empty();
|
|
||||||
try {
|
|
||||||
Version version = Versions.parseVersion(mod.metadata().version().raw());
|
|
||||||
return Stream.of(new EphemeralAddon(version, "quilt:" + id));
|
|
||||||
} catch(ParseException e) {
|
|
||||||
LOGGER.warn(
|
|
||||||
"Mod {}, version {} does not follow semantic versioning specification, Terra addons will be unable to depend on " +
|
|
||||||
"it.",
|
|
||||||
id, mod.metadata().version().raw());
|
|
||||||
}
|
|
||||||
return Stream.empty();
|
|
||||||
}).collect(Collectors.toList());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
x
Reference in New Issue
Block a user