reset sponge build

This commit is contained in:
dfsek 2021-07-30 10:45:24 -07:00
parent 6010ea3bd6
commit df6cdf37aa
7 changed files with 10 additions and 268 deletions

View File

@ -0,0 +1,10 @@
repositories {
maven {
url = uri("https://repo-new.spongepowered.org/repository/maven-public/")
}
}
dependencies {
"shadedApi"(project(":common:implementation"))
annotationProcessor(implementation("org.spongepowered:spongeapi:8.0.0-SNAPSHOT")!!)
}

View File

@ -1,25 +0,0 @@
import com.dfsek.terra.configureCommon
plugins {
id("org.spongepowered.plugin").version("0.9.0")
}
configureCommon()
repositories {
mavenCentral()
}
dependencies {
"compileOnly"("org.spongepowered:spongeapi:7.2.0")
"shadedApi"(project(":common:implementation"))
"shadedImplementation"("org.yaml:snakeyaml:1.27")
"shadedImplementation"("com.googlecode.json-simple:json-simple:1.1.1")
}
sponge {
plugin {
id = "terra"
}
}

View File

@ -1,14 +0,0 @@
package com.dfsek.terra.sponge;
import com.dfsek.terra.api.block.state.BlockState;
import com.dfsek.terra.sponge.world.block.data.SpongeBlockState;
public final class SpongeAdapter {
public static BlockState adapt(org.spongepowered.api.block.BlockState state) {
return new SpongeBlockState(state);
}
public static org.spongepowered.api.block.BlockState adapt(BlockState data) {
return ((SpongeBlockState) data).getHandle();
}
}

View File

@ -1,26 +0,0 @@
package com.dfsek.terra.sponge;
import com.dfsek.terra.api.Logger;
public class SpongeLogger implements Logger {
private final org.slf4j.Logger logger;
public SpongeLogger(org.slf4j.Logger logger) {
this.logger = logger;
}
@Override
public void info(String message) {
logger.info(message);
}
@Override
public void warning(String message) {
logger.warn(message);
}
@Override
public void severe(String message) {
logger.error(message);
}
}

View File

@ -1,137 +0,0 @@
package com.dfsek.terra.sponge;
import com.dfsek.tectonic.loading.TypeRegistry;
import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.addon.TerraAddon;
import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.config.PluginConfig;
import com.dfsek.terra.api.event.EventManager;
import com.dfsek.terra.api.handle.ItemHandle;
import com.dfsek.terra.api.handle.WorldHandle;
import com.dfsek.terra.api.lang.Language;
import com.dfsek.terra.api.profiler.Profiler;
import com.dfsek.terra.api.registry.CheckedRegistry;
import com.dfsek.terra.api.registry.LockedRegistry;
import com.dfsek.terra.config.PluginConfigImpl;
import com.dfsek.terra.config.lang.LanguageImpl;
import com.dfsek.terra.event.EventManagerImpl;
import com.dfsek.terra.registry.master.AddonRegistry;
import com.dfsek.terra.registry.master.ConfigRegistry;
import com.dfsek.terra.sponge.world.SpongeWorldHandle;
import com.dfsek.terra.util.logging.DebugLogger;
import com.google.inject.Inject;
import org.slf4j.Logger;
import org.spongepowered.api.config.ConfigDir;
import org.spongepowered.api.event.Listener;
import org.spongepowered.api.event.game.state.GameStartedServerEvent;
import org.spongepowered.api.plugin.Plugin;
import java.io.File;
import java.io.IOException;
import java.nio.file.Path;
@Plugin(id = "terra", name = "Terra-Sponge", version = "", description = "Terra")
public class TerraSpongePlugin implements TerraPlugin {
private final ConfigRegistry configRegistry = new ConfigRegistry();
private final CheckedRegistry<ConfigPack> packCheckedRegistry = new CheckedRegistry<>(configRegistry);
private final PluginConfig config = new PluginConfigImpl();
private final AddonRegistry addonRegistry = new AddonRegistry(this);
private final LockedRegistry<TerraAddon> addonLockedRegistry = new LockedRegistry<>(addonRegistry);
private final SpongeWorldHandle spongeWorldHandle = new SpongeWorldHandle();
private final EventManager eventManager = new EventManagerImpl(this);
@Inject
@ConfigDir(sharedRoot = false)
private Path privateConfigDir;
@Inject
private Logger logger;
@Listener
public void initialize(GameStartedServerEvent event) {
addonRegistry.loadAll();
configRegistry.loadAll(this);
}
@Override
public void register(TypeRegistry registry) {
}
@Override
public WorldHandle getWorldHandle() {
return spongeWorldHandle;
}
@Override
public com.dfsek.terra.api.Logger logger() {
return new SpongeLogger(logger);
}
@Override
public PluginConfig getTerraConfig() {
return config;
}
@Override
public File getDataFolder() {
return privateConfigDir.toFile();
}
@Override
public Language getLanguage() {
try {
return new LanguageImpl(new File(getDataFolder(), "lang/en_us.yml"));
} catch(IOException e) {
throw new IllegalArgumentException();
}
}
@Override
public CheckedRegistry<ConfigPack> getConfigRegistry() {
return packCheckedRegistry;
}
@Override
public LockedRegistry<TerraAddon> getAddons() {
return addonLockedRegistry;
}
@Override
public boolean reload() {
return false;
}
@Override
public ItemHandle getItemHandle() {
return null;
}
@Override
public void saveDefaultConfig() {
}
@Override
public String platformName() {
return "Sponge";
}
@Override
public DebugLogger getDebugLogger() {
return null;
}
@Override
public EventManager getEventManager() {
return eventManager;
}
@Override
public Profiler getProfiler() {
return null;
}
}

View File

@ -1,19 +0,0 @@
package com.dfsek.terra.sponge.world;
import com.dfsek.terra.api.block.state.BlockState;
import com.dfsek.terra.api.entity.EntityType;
import com.dfsek.terra.api.handle.WorldHandle;
import com.dfsek.terra.sponge.SpongeAdapter;
import org.spongepowered.api.Sponge;
public class SpongeWorldHandle implements WorldHandle {
@Override
public BlockState createBlockData(String data) {
return SpongeAdapter.adapt(Sponge.getRegistry().getType(org.spongepowered.api.block.BlockState.class, data).orElseThrow(() -> new IllegalArgumentException("Invalid block data \"" + data + "\"")));
}
@Override
public EntityType getEntity(String id) {
return null;
}
}

View File

@ -1,47 +0,0 @@
package com.dfsek.terra.sponge.world.block.data;
import com.dfsek.terra.api.block.BlockType;
import com.dfsek.terra.api.block.state.BlockState;
public class SpongeBlockState implements BlockState {
private final org.spongepowered.api.block.BlockState delegate;
public SpongeBlockState(org.spongepowered.api.block.BlockState delegate) {
this.delegate = delegate;
}
@Override
public org.spongepowered.api.block.BlockState getHandle() {
return delegate;
}
@Override
public BlockType getBlockType() {
return null;
}
@Override
public boolean matches(BlockState other) {
return false;
}
@Override
public BlockState clone() {
return null;
}
@Override
public String getAsString() {
return null;
}
@Override
public boolean isAir() {
return false;
}
@Override
public boolean isStructureVoid() {
return false;
}
}