Skip to content

Commit bf24625

Browse files
committed
Update to latest Sponge API 8.
1 parent 92f915f commit bf24625

File tree

6 files changed

+62
-41
lines changed

6 files changed

+62
-41
lines changed

build.gradle

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
plugins {
22
id 'org.cadixdev.licenser' version '0.6.1'
3-
id 'com.github.johnrengelman.shadow' version '7.0.0'
3+
id 'com.github.johnrengelman.shadow' version '7.1.2'
44
}
55

66
wrapper {
7-
gradleVersion = '7.1'
7+
gradleVersion = '7.4.2'
88
distributionType = Wrapper.DistributionType.BIN
99
}
1010

@@ -32,8 +32,8 @@ subprojects {
3232

3333
def major = '5'
3434
def minor = '0'
35-
def spongeRevision = '0'
36-
def bukkitRevision = '0'
35+
def spongeRevision = '1'
36+
def bukkitRevision = '1'
3737

3838
def rev
3939

@@ -60,7 +60,7 @@ subprojects {
6060
}
6161

6262
license {
63-
exclude '**/config.yml'
63+
exclude '**/config.yml', '**/plugin.yml'
6464
header = rootProject.file('HEADER.txt')
6565
properties {
6666
name = 'Daniel D. Scalzi'
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-7.1-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists

skychanger-bukkit/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
plugins {
2-
id 'net.minecrell.plugin-yml.bukkit' version '0.4.0'
2+
id 'net.minecrell.plugin-yml.bukkit' version '0.5.1'
33
id 'java-library'
44
}
55

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

1515
api project(':skychanger-core')
16-
implementation 'org.bstats:bstats-bukkit:2.2.1'
16+
implementation 'org.bstats:bstats-bukkit:3.0.0'
1717
}
1818

1919
bukkit {

skychanger-sponge/build.gradle

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import org.spongepowered.gradle.plugin.config.PluginLoaders
22
import org.spongepowered.gradle.vanilla.repository.MinecraftPlatform
3-
import org.spongepowered.plugin.metadata.PluginDependency
3+
import org.spongepowered.plugin.metadata.model.PluginDependency
44

55
plugins {
6-
id 'org.spongepowered.gradle.plugin' version '1.1.1'
6+
id 'org.spongepowered.gradle.plugin' version '2.0.2'
77
id 'org.spongepowered.gradle.vanilla' version '0.2'
88
id 'java-library'
99
}
@@ -17,11 +17,15 @@ minecraft {
1717

1818
sponge {
1919
apiVersion('8.0.0')
20+
license('MIT')
21+
loader {
22+
name(PluginLoaders.JAVA_PLAIN)
23+
version('1.0')
24+
}
2025
plugin('skychanger') {
21-
mainClass('com.dscalzi.skychanger.sponge.SkyChangerPlugin')
22-
loader(PluginLoaders.JAVA_PLAIN)
2326
displayName(project.ext.name)
2427
version(project.version)
28+
entrypoint('com.dscalzi.skychanger.sponge.SkyChangerPlugin')
2529
description(project.description)
2630
links {
2731
homepage(project.ext.url)
@@ -44,7 +48,7 @@ repositories {
4448

4549
dependencies {
4650
api project(':skychanger-core')
47-
implementation 'org.bstats:bstats-sponge:2.2.1'
51+
implementation 'org.bstats:bstats-sponge:3.0.0'
4852
}
4953

5054
shadowJar {

skychanger-sponge/src/main/java/com/dscalzi/skychanger/sponge/SkyChangerPlugin.java

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@
4242
import com.google.inject.Inject;
4343
import net.kyori.adventure.text.Component;
4444
import org.apache.logging.log4j.Logger;
45-
import org.bstats.charts.SimplePie;
4645
import org.bstats.sponge.Metrics;
4746
import org.spongepowered.api.Game;
4847
import org.spongepowered.api.ResourceKey;
@@ -52,15 +51,18 @@
5251
import org.spongepowered.api.config.ConfigDir;
5352
import org.spongepowered.api.config.DefaultConfig;
5453
import org.spongepowered.api.event.Listener;
55-
import org.spongepowered.api.event.lifecycle.*;
54+
import org.spongepowered.api.event.lifecycle.ConstructPluginEvent;
55+
import org.spongepowered.api.event.lifecycle.RefreshGameEvent;
56+
import org.spongepowered.api.event.lifecycle.RegisterCommandEvent;
57+
import org.spongepowered.api.event.lifecycle.StartedEngineEvent;
5658
import org.spongepowered.api.profile.GameProfile;
5759
import org.spongepowered.api.service.permission.PermissionDescription;
5860
import org.spongepowered.api.service.permission.PermissionDescription.Builder;
5961
import org.spongepowered.api.service.permission.PermissionService;
6062
import org.spongepowered.configurate.CommentedConfigurationNode;
6163
import org.spongepowered.configurate.loader.ConfigurationLoader;
6264
import org.spongepowered.plugin.PluginContainer;
63-
import org.spongepowered.plugin.jvm.Plugin;
65+
import org.spongepowered.plugin.builtin.jvm.Plugin;
6466

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

8890
private WildcardPermissionUtil wildcardPermissionUtil;
8991

90-
// private final Metrics metrics;
92+
private final Metrics metrics;
9193

9294
@Inject
9395
public SkyChangerPlugin(
9496
final PluginContainer container,
9597
final Logger logger,
96-
final Game game//,
97-
// Metrics.Factory metricsFactory
98+
final Game game,
99+
Metrics.Factory metricsFactory
98100
) {
99101
this.plugin = container;
100102
this.logger = logger;
101103
this.game = game;
102104
inst = this;
103-
// metrics = metricsFactory.make(3228);
105+
metrics = metricsFactory.make(3228);
104106
}
105107

106108
/**
@@ -124,7 +126,7 @@ public String getName() {
124126

125127
@Override
126128
public String getVersion() {
127-
return plugin.metadata().version();
129+
return plugin.metadata().version().toString();
128130
}
129131

130132
@Override
@@ -169,12 +171,20 @@ public IWildcardPermissionUtil getWildcardPermissionUtil() {
169171

170172
@Override
171173
public IOfflinePlayer getOfflinePlayer(UUID uuid) {
172-
return this.game.server().userManager().find(GameProfile.of(uuid)).map(SpongeOfflinePlayer::of).orElse(null);
174+
try {
175+
return this.game.server().userManager().load(GameProfile.of(uuid)).get().map(SpongeOfflinePlayer::of).orElse(null);
176+
} catch(Throwable t) {
177+
throw new RuntimeException(t);
178+
}
173179
}
174180

175181
@Override
176182
public IOfflinePlayer getOfflinePlayer(String name) {
177-
return this.game.server().userManager().find(name).map(SpongeOfflinePlayer::of).orElse(null);
183+
try {
184+
return this.game.server().userManager().load(name).get().map(SpongeOfflinePlayer::of).orElse(null);
185+
} catch(Throwable t) {
186+
throw new RuntimeException(t);
187+
}
178188
}
179189

180190
@Override

skychanger-sponge/src/main/java/com/dscalzi/skychanger/sponge/internal/managers/ConfigManager.java

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,13 @@
2626

2727
import com.dscalzi.skychanger.core.internal.manager.IConfigManager;
2828
import com.dscalzi.skychanger.sponge.SkyChangerPlugin;
29-
import org.spongepowered.api.Sponge;
30-
import org.spongepowered.api.asset.Asset;
3129
import org.spongepowered.configurate.CommentedConfigurationNode;
3230

3331
import java.io.File;
3432
import java.io.IOException;
33+
import java.io.InputStream;
34+
import java.net.URI;
35+
import java.nio.file.Files;
3536

3637
public class ConfigManager implements IConfigManager {
3738

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

4142
// TODO Will be implemented in a later version
4243
private final double configVersion = 1.0;
43-
private SkyChangerPlugin plugin;
44+
private final SkyChangerPlugin plugin;
4445
private CommentedConfigurationNode config;
4546

4647

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

6667
public boolean verifyFile() {
6768

68-
Asset asset = Sponge.assetManager().asset(plugin.getPlugin(), "skychanger.conf").orElse(null);
69-
File file = plugin.getConfigDir().resolve("skychanger.conf").toFile();
70-
71-
if (!file.exists()) {
72-
if(asset != null) {
73-
try {
74-
asset.copyToFile(file.toPath());
75-
return true;
76-
} catch (IOException e) {
77-
plugin.severe("Failed to save default config.");
78-
e.printStackTrace();
69+
try(InputStream conf = plugin.getPlugin().openResource(URI.create("assets/skychanger/skychanger.conf")).orElse(null)) {
70+
File file = plugin.getConfigDir().resolve("skychanger.conf").toFile();
71+
72+
if (!file.exists()) {
73+
if(conf != null) {
74+
try {
75+
Files.copy(conf, file.toPath());
76+
return true;
77+
} catch (IOException e) {
78+
plugin.severe("Failed to save default config.");
79+
e.printStackTrace();
80+
return false;
81+
}
82+
} else {
83+
plugin.severe("Failed to locate default config.");
7984
return false;
8085
}
81-
} else {
82-
plugin.severe("Failed to locate default config.");
83-
return false;
8486
}
87+
88+
return true;
89+
} catch (IOException e) {
90+
plugin.severe("Failed to locate default config.");
91+
e.printStackTrace();
92+
return false;
8593
}
86-
return true;
8794
}
8895

8996
public static void initialize(SkyChangerPlugin plugin) {

0 commit comments

Comments
 (0)