Skip to content

Commit

Permalink
Update to latest Sponge API 8.
Browse files Browse the repository at this point in the history
  • Loading branch information
dscalzi committed May 13, 2022
1 parent 92f915f commit bf24625
Show file tree
Hide file tree
Showing 6 changed files with 62 additions and 41 deletions.
10 changes: 5 additions & 5 deletions build.gradle
@@ -1,10 +1,10 @@
plugins {
id 'org.cadixdev.licenser' version '0.6.1'
id 'com.github.johnrengelman.shadow' version '7.0.0'
id 'com.github.johnrengelman.shadow' version '7.1.2'
}

wrapper {
gradleVersion = '7.1'
gradleVersion = '7.4.2'
distributionType = Wrapper.DistributionType.BIN
}

Expand Down Expand Up @@ -32,8 +32,8 @@ subprojects {

def major = '5'
def minor = '0'
def spongeRevision = '0'
def bukkitRevision = '0'
def spongeRevision = '1'
def bukkitRevision = '1'

def rev

Expand All @@ -60,7 +60,7 @@ subprojects {
}

license {
exclude '**/config.yml'
exclude '**/config.yml', '**/plugin.yml'
header = rootProject.file('HEADER.txt')
properties {
name = 'Daniel D. Scalzi'
Expand Down
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
4 changes: 2 additions & 2 deletions skychanger-bukkit/build.gradle
@@ -1,5 +1,5 @@
plugins {
id 'net.minecrell.plugin-yml.bukkit' version '0.4.0'
id 'net.minecrell.plugin-yml.bukkit' version '0.5.1'
id 'java-library'
}

Expand All @@ -13,7 +13,7 @@ dependencies {
compileOnly 'org.spigotmc:spigot-api:1.16.5-R0.1-SNAPSHOT'

api project(':skychanger-core')
implementation 'org.bstats:bstats-bukkit:2.2.1'
implementation 'org.bstats:bstats-bukkit:3.0.0'
}

bukkit {
Expand Down
14 changes: 9 additions & 5 deletions skychanger-sponge/build.gradle
@@ -1,9 +1,9 @@
import org.spongepowered.gradle.plugin.config.PluginLoaders
import org.spongepowered.gradle.vanilla.repository.MinecraftPlatform
import org.spongepowered.plugin.metadata.PluginDependency
import org.spongepowered.plugin.metadata.model.PluginDependency

plugins {
id 'org.spongepowered.gradle.plugin' version '1.1.1'
id 'org.spongepowered.gradle.plugin' version '2.0.2'
id 'org.spongepowered.gradle.vanilla' version '0.2'
id 'java-library'
}
Expand All @@ -17,11 +17,15 @@ minecraft {

sponge {
apiVersion('8.0.0')
license('MIT')
loader {
name(PluginLoaders.JAVA_PLAIN)
version('1.0')
}
plugin('skychanger') {
mainClass('com.dscalzi.skychanger.sponge.SkyChangerPlugin')
loader(PluginLoaders.JAVA_PLAIN)
displayName(project.ext.name)
version(project.version)
entrypoint('com.dscalzi.skychanger.sponge.SkyChangerPlugin')
description(project.description)
links {
homepage(project.ext.url)
Expand All @@ -44,7 +48,7 @@ repositories {

dependencies {
api project(':skychanger-core')
implementation 'org.bstats:bstats-sponge:2.2.1'
implementation 'org.bstats:bstats-sponge:3.0.0'
}

shadowJar {
Expand Down
Expand Up @@ -42,7 +42,6 @@
import com.google.inject.Inject;
import net.kyori.adventure.text.Component;
import org.apache.logging.log4j.Logger;
import org.bstats.charts.SimplePie;
import org.bstats.sponge.Metrics;
import org.spongepowered.api.Game;
import org.spongepowered.api.ResourceKey;
Expand All @@ -52,15 +51,18 @@
import org.spongepowered.api.config.ConfigDir;
import org.spongepowered.api.config.DefaultConfig;
import org.spongepowered.api.event.Listener;
import org.spongepowered.api.event.lifecycle.*;
import org.spongepowered.api.event.lifecycle.ConstructPluginEvent;
import org.spongepowered.api.event.lifecycle.RefreshGameEvent;
import org.spongepowered.api.event.lifecycle.RegisterCommandEvent;
import org.spongepowered.api.event.lifecycle.StartedEngineEvent;
import org.spongepowered.api.profile.GameProfile;
import org.spongepowered.api.service.permission.PermissionDescription;
import org.spongepowered.api.service.permission.PermissionDescription.Builder;
import org.spongepowered.api.service.permission.PermissionService;
import org.spongepowered.configurate.CommentedConfigurationNode;
import org.spongepowered.configurate.loader.ConfigurationLoader;
import org.spongepowered.plugin.PluginContainer;
import org.spongepowered.plugin.jvm.Plugin;
import org.spongepowered.plugin.builtin.jvm.Plugin;

import java.nio.file.Path;
import java.util.List;
Expand All @@ -87,20 +89,20 @@ public class SkyChangerPlugin implements IPlugin {

private WildcardPermissionUtil wildcardPermissionUtil;

// private final Metrics metrics;
private final Metrics metrics;

@Inject
public SkyChangerPlugin(
final PluginContainer container,
final Logger logger,
final Game game//,
// Metrics.Factory metricsFactory
final Game game,
Metrics.Factory metricsFactory
) {
this.plugin = container;
this.logger = logger;
this.game = game;
inst = this;
// metrics = metricsFactory.make(3228);
metrics = metricsFactory.make(3228);
}

/**
Expand All @@ -124,7 +126,7 @@ public String getName() {

@Override
public String getVersion() {
return plugin.metadata().version();
return plugin.metadata().version().toString();
}

@Override
Expand Down Expand Up @@ -169,12 +171,20 @@ public IWildcardPermissionUtil getWildcardPermissionUtil() {

@Override
public IOfflinePlayer getOfflinePlayer(UUID uuid) {
return this.game.server().userManager().find(GameProfile.of(uuid)).map(SpongeOfflinePlayer::of).orElse(null);
try {
return this.game.server().userManager().load(GameProfile.of(uuid)).get().map(SpongeOfflinePlayer::of).orElse(null);
} catch(Throwable t) {
throw new RuntimeException(t);
}
}

@Override
public IOfflinePlayer getOfflinePlayer(String name) {
return this.game.server().userManager().find(name).map(SpongeOfflinePlayer::of).orElse(null);
try {
return this.game.server().userManager().load(name).get().map(SpongeOfflinePlayer::of).orElse(null);
} catch(Throwable t) {
throw new RuntimeException(t);
}
}

@Override
Expand Down
Expand Up @@ -26,12 +26,13 @@

import com.dscalzi.skychanger.core.internal.manager.IConfigManager;
import com.dscalzi.skychanger.sponge.SkyChangerPlugin;
import org.spongepowered.api.Sponge;
import org.spongepowered.api.asset.Asset;
import org.spongepowered.configurate.CommentedConfigurationNode;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.URI;
import java.nio.file.Files;

public class ConfigManager implements IConfigManager {

Expand All @@ -40,7 +41,7 @@ public class ConfigManager implements IConfigManager {

// TODO Will be implemented in a later version
private final double configVersion = 1.0;
private SkyChangerPlugin plugin;
private final SkyChangerPlugin plugin;
private CommentedConfigurationNode config;


Expand All @@ -65,25 +66,31 @@ public void loadConfig() {

public boolean verifyFile() {

Asset asset = Sponge.assetManager().asset(plugin.getPlugin(), "skychanger.conf").orElse(null);
File file = plugin.getConfigDir().resolve("skychanger.conf").toFile();

if (!file.exists()) {
if(asset != null) {
try {
asset.copyToFile(file.toPath());
return true;
} catch (IOException e) {
plugin.severe("Failed to save default config.");
e.printStackTrace();
try(InputStream conf = plugin.getPlugin().openResource(URI.create("assets/skychanger/skychanger.conf")).orElse(null)) {
File file = plugin.getConfigDir().resolve("skychanger.conf").toFile();

if (!file.exists()) {
if(conf != null) {
try {
Files.copy(conf, file.toPath());
return true;
} catch (IOException e) {
plugin.severe("Failed to save default config.");
e.printStackTrace();
return false;
}
} else {
plugin.severe("Failed to locate default config.");
return false;
}
} else {
plugin.severe("Failed to locate default config.");
return false;
}

return true;
} catch (IOException e) {
plugin.severe("Failed to locate default config.");
e.printStackTrace();
return false;
}
return true;
}

public static void initialize(SkyChangerPlugin plugin) {
Expand Down

0 comments on commit bf24625

Please sign in to comment.