Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,19 +15,20 @@ jobs:

strategy:
matrix:
java: [8, 11, 16, 17]
java: [25]

steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4

- name: Set up JDK 1.8
uses: actions/setup-java@v1
- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: ${{ matrix.java }}

- name: Cache Maven packages
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
Expand Down
9 changes: 5 additions & 4 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,22 +18,23 @@ on:
- 'v*'

env:
JAVA_VERSION: 8
JAVA_VERSION: 25

jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4

- name: Set up Java ${{ env.JAVA_VERSION }}
uses: actions/setup-java@v1
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: ${{ env.JAVA_VERSION }}

- name: Cache all the things
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
Expand Down
56 changes: 24 additions & 32 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -44,32 +44,38 @@

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.release>25</maven.compiler.release>
</properties>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.14.1</version>
<configuration>
<release>${maven.compiler.release}</release>
<compilerArgs>
<arg>-Xlint:deprecation</arg>
<arg>-Xlint:removal</arg>
</compilerArgs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.1.0</version>
<version>3.6.2</version>
<configuration>
<createDependencyReducedPom>false</createDependencyReducedPom>
<createDependencyReducedPom>false</createDependencyReducedPom>
<artifactSet>
<includes>
<include>fr.zcraft:quartzlib</include>
<include>org.bstats:bstats-bukkit</include>
<include>org.bstats:*</include>
</includes>
</artifactSet>
<relocations>
<relocation>
<pattern>fr.zcraft.quartzlib</pattern>
<shadedPattern>fr.zcraft.imageonmap.quartzlib</shadedPattern>
</relocation>
<relocation>
<pattern>org.bstats</pattern>
<shadedPattern>fr.moribus.imageonmap</shadedPattern>
<shadedPattern>fr.moribus.imageonmap.libs.bstats</shadedPattern>
</relocation>
</relocations>
<minimizeJar>true</minimizeJar>
Expand Down Expand Up @@ -110,36 +116,22 @@

<repositories>
<repository>
<id>spigot-repo</id>
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
</repository>
<repository>
<id>zdevelopers-quartzlib</id>
<url>https://maven.zcraft.fr/QuartzLib</url>
</repository>

<!-- bStats -->
<repository>
<id>CodeMC</id>
<url>https://repo.codemc.org/repository/maven-public</url>
<id>papermc</id>
<url>https://repo.papermc.io/repository/maven-public/</url>
</repository>
</repositories>

<dependencies>
<dependency>
<groupId>org.bukkit</groupId>
<artifactId>bukkit</artifactId>
<version>1.13.2-R0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>fr.zcraft</groupId>
<artifactId>quartzlib</artifactId>
<version>0.0.6</version>
<groupId>io.papermc.paper</groupId>
<artifactId>paper-api</artifactId>
<version>26.3.build.175-stable</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.bstats</groupId>
<artifactId>bstats-bukkit</artifactId>
<version>1.8</version>
<version>3.1.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
Expand Down
54 changes: 33 additions & 21 deletions src/main/java/fr/moribus/imageonmap/ImageOnMap.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
package fr.moribus.imageonmap;


import fr.moribus.imageonmap.commands.Commands;
import fr.moribus.imageonmap.commands.maptool.DeleteCommand;
import fr.moribus.imageonmap.commands.maptool.ExploreCommand;
import fr.moribus.imageonmap.commands.maptool.GetCommand;
Expand All @@ -46,29 +47,36 @@
import fr.moribus.imageonmap.commands.maptool.NewCommand;
import fr.moribus.imageonmap.commands.maptool.RenameCommand;
import fr.moribus.imageonmap.commands.maptool.UpdateCommand;
import fr.moribus.imageonmap.gui.framework.Gui;
import fr.moribus.imageonmap.i18n.I18n;
import fr.moribus.imageonmap.image.ImageIOExecutor;
import fr.moribus.imageonmap.image.ImageRendererExecutor;
import fr.moribus.imageonmap.image.MapInitEvent;
import fr.moribus.imageonmap.map.MapManager;
import fr.moribus.imageonmap.tools.ActionBar;
import fr.moribus.imageonmap.tools.PluginLogger;
import fr.moribus.imageonmap.tools.UpdateChecker;
import fr.moribus.imageonmap.ui.MapItemManager;
import fr.zcraft.quartzlib.components.commands.CommandWorkers;
import fr.zcraft.quartzlib.components.commands.Commands;
import fr.zcraft.quartzlib.components.gui.Gui;
import fr.zcraft.quartzlib.components.i18n.I18n;
import fr.zcraft.quartzlib.core.QuartzPlugin;
import fr.zcraft.quartzlib.tools.PluginLogger;
import fr.zcraft.quartzlib.tools.UpdateChecker;
import fr.moribus.imageonmap.ui.SplatterMapManager;
import fr.moribus.imageonmap.worker.Worker;
import java.io.File;
import java.io.IOException;
import org.bstats.bukkit.Metrics;
import org.bstats.charts.SingleLineChart;
import org.bukkit.plugin.java.JavaPlugin;

public final class ImageOnMap extends QuartzPlugin {
public final class ImageOnMap extends JavaPlugin {
private static final String IMAGES_DIRECTORY_NAME = "images";
private static final String MAPS_DIRECTORY_NAME = "maps";

/**
* How long to wait, when the plugin is disabled, for the queued images to be written to disk.
*/
private static final long IMAGE_IO_SHUTDOWN_TIMEOUT_MS = 10_000;

private static ImageOnMap plugin;
private final File mapsDirectory;
private File imagesDirectory;
private CommandWorkers commandWorker;

public ImageOnMap() {
imagesDirectory = new File(this.getDataFolder(), IMAGES_DIRECTORY_NAME);
Expand All @@ -92,11 +100,6 @@ public File getImageFile(int mapID) {
return new File(imagesDirectory, "map" + mapID + ".png");
}

public CommandWorkers getCommandWorker() {
return commandWorker;
}

@SuppressWarnings("unchecked")
@Override
public void onEnable() {
// Creating the images and maps directories if necessary
Expand All @@ -112,16 +115,18 @@ public void onEnable() {


saveDefaultConfig();
commandWorker = loadComponent(CommandWorkers.class);
loadComponents(I18n.class, Gui.class, Commands.class, PluginConfiguration.class, ImageIOExecutor.class,
ImageRendererExecutor.class);
I18n.init(this, getFile());
Gui.init(this);
Worker.start(ImageIOExecutor.class);
Worker.start(ImageRendererExecutor.class);

//Init all the things !
I18n.setPrimaryLocale(PluginConfiguration.LANG.get());

MapManager.init();
MapInitEvent.init();
MapItemManager.init();
SplatterMapManager.init(this);


Commands.register(
Expand All @@ -142,14 +147,16 @@ public void onEnable() {
Commands.registerShortcut("maptool", ExploreCommand.class, "maps");
Commands.registerShortcut("maptool", GiveCommand.class, "givemap");

Commands.registerToServer(this);

if (PluginConfiguration.CHECK_FOR_UPDATES.get()) {
UpdateChecker.boot("imageonmap.26585");
}

if (PluginConfiguration.COLLECT_DATA.get()) {
final Metrics metrics = new Metrics(this,5920);
metrics.addCustomChart(new Metrics.SingleLineChart("rendered-images", MapManager::getImagesCount));
metrics.addCustomChart(new Metrics.SingleLineChart("used-minecraft-maps", MapManager::getMapCount));
final Metrics metrics = new Metrics(this, 5920);
metrics.addCustomChart(new SingleLineChart("rendered-images", MapManager::getImagesCount));
metrics.addCustomChart(new SingleLineChart("used-minecraft-maps", MapManager::getMapCount));
} else {
PluginLogger.warning("Collect data disabled");
}
Expand All @@ -161,7 +168,12 @@ public void onDisable() {
MapItemManager.exit();
//MigratorExecutor.waitForMigration();//Removed for now doesn't work nor is useful, maybe useful later on

super.onDisable();
Gui.exit();
ActionBar.clear();
Worker.stop(ImageRendererExecutor.class, 0);
Worker.stop(ImageIOExecutor.class, IMAGE_IO_SHUTDOWN_TIMEOUT_MS);
Commands.clear();
I18n.exit();
}

private File checkPluginDirectory(File primaryFile, File... alternateFiles) throws IOException {
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/fr/moribus/imageonmap/Permissions.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@
package fr.moribus.imageonmap;


import fr.zcraft.quartzlib.components.i18n.I;
import fr.zcraft.quartzlib.tools.PluginLogger;
import fr.moribus.imageonmap.i18n.I;
import fr.moribus.imageonmap.tools.PluginLogger;
import java.util.Set;
import org.bukkit.permissions.Permissible;
import org.bukkit.permissions.PermissionAttachmentInfo;
Expand Down
Loading
Loading