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
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package net.imprex.orebfuscator.api;

import java.util.Collection;

import org.bukkit.block.Block;
import org.jspecify.annotations.NullMarked;

/**
* <p>
Expand All @@ -16,6 +16,7 @@
*
* @since 5.2.0
*/
@NullMarked
public interface OrebfuscatorService {

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,12 @@
package net.imprex.orebfuscator;

import java.lang.reflect.Constructor;
import java.util.concurrent.CompletableFuture;

import org.bukkit.World;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;

import dev.imprex.orebfuscator.config.api.Config;
import dev.imprex.orebfuscator.logging.OfcLogger;
import dev.imprex.orebfuscator.util.ChunkCacheKey;
import java.lang.reflect.Constructor;
import net.imprex.orebfuscator.compatibility.CompatibilityLayer;
import net.imprex.orebfuscator.nms.ReadOnlyChunk;
import net.imprex.orebfuscator.util.ServerVersion;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;

public class OrebfuscatorCompatibility {

Expand All @@ -23,7 +17,7 @@ public static void initialize(Plugin plugin, Config config) {
throw new IllegalStateException("Compatibility layer is already initialized!");
}

String className = "net.imprex.orebfuscator.compatibility.bukkit.BukkitCompatibilityLayer";
String className = "net.imprex.orebfuscator.compatibility.spigot.SpigotCompatibilityLayer";
if (ServerVersion.isFolia()) {
className = "net.imprex.orebfuscator.compatibility.folia.FoliaCompatibilityLayer";
} else if (ServerVersion.isPaper()) {
Expand Down Expand Up @@ -56,18 +50,6 @@ public static void runAsyncNow(Runnable runnable) {
instance.getScheduler().runAsyncNow(runnable);
}

public static void runAsyncAtFixedRate(Runnable runnable, long delay, long period) {
instance.getScheduler().runAsyncAtFixedRate(runnable, delay, period);
}

public static void cancelTasks() {
instance.getScheduler().cancelTasks();
}

public static CompletableFuture<ReadOnlyChunk[]> getNeighboringChunks(World world, ChunkCacheKey key) {
return instance.getNeighboringChunks(world, key);
}

public static void close() {
if (instance != null) {
instance.getScheduler().cancelTasks();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,8 @@
package net.imprex.orebfuscator.compatibility;

import java.util.concurrent.CompletableFuture;

import org.bukkit.World;

import dev.imprex.orebfuscator.util.ChunkCacheKey;
import net.imprex.orebfuscator.nms.ReadOnlyChunk;

public interface CompatibilityLayer {

boolean isGameThread();

CompatibilityScheduler getScheduler();

CompletableFuture<ReadOnlyChunk[]> getNeighboringChunks(World world, ChunkCacheKey key);
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,5 @@ public interface CompatibilityScheduler {

void runAsyncNow(Runnable runnable);

void runAsyncAtFixedRate(Runnable runnable, long delay, long period);

void cancelTasks();
}

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package net.imprex.orebfuscator.compatibility.spigot;

import dev.imprex.orebfuscator.config.api.Config;
import net.imprex.orebfuscator.compatibility.CompatibilityLayer;
import net.imprex.orebfuscator.compatibility.CompatibilityScheduler;
import org.bukkit.plugin.Plugin;

public class SpigotCompatibilityLayer implements CompatibilityLayer {

private final Thread mainThread = Thread.currentThread();

private final SpigotScheduler scheduler;

public SpigotCompatibilityLayer(Plugin plugin, Config config) {
this.scheduler = new SpigotScheduler(plugin);
}

@Override
public boolean isGameThread() {
return Thread.currentThread() == this.mainThread;
}

@Override
public CompatibilityScheduler getScheduler() {
return this.scheduler;
}
}
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
package net.imprex.orebfuscator.compatibility.bukkit;
package net.imprex.orebfuscator.compatibility.spigot;

import net.imprex.orebfuscator.compatibility.CompatibilityScheduler;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;

import net.imprex.orebfuscator.compatibility.CompatibilityScheduler;

public class BukkitScheduler implements CompatibilityScheduler {
public class SpigotScheduler implements CompatibilityScheduler {

private final Plugin plugin;

public BukkitScheduler(Plugin plugin) {
public SpigotScheduler(Plugin plugin) {
this.plugin = plugin;
}

Expand All @@ -28,13 +27,6 @@ public void runAsyncNow(Runnable runnable) {
}
}

@Override
public void runAsyncAtFixedRate(Runnable runnable, long delay, long period) {
if (this.plugin.isEnabled()) {
Bukkit.getScheduler().runTaskTimerAsynchronously(this.plugin, runnable, delay, period);
}
}

@Override
public void cancelTasks() {
Bukkit.getScheduler().cancelTasks(this.plugin);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
package net.imprex.orebfuscator.compatibility.folia;

import org.bukkit.plugin.Plugin;

import dev.imprex.orebfuscator.config.api.Config;
import net.imprex.orebfuscator.compatibility.CompatibilityLayer;
import net.imprex.orebfuscator.compatibility.CompatibilityScheduler;
import net.imprex.orebfuscator.compatibility.paper.AbstractPaperCompatibilityLayer;
import org.bukkit.plugin.Plugin;

public class FoliaCompatibilityLayer extends AbstractPaperCompatibilityLayer {
public class FoliaCompatibilityLayer implements CompatibilityLayer {

private static final Class<?> TICK_THREAD_CLASS = getTickThreadClass();

Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
package net.imprex.orebfuscator.compatibility.folia;

import java.util.concurrent.TimeUnit;

import net.imprex.orebfuscator.compatibility.CompatibilityScheduler;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;

import net.imprex.orebfuscator.compatibility.CompatibilityScheduler;

public class FoliaScheduler implements CompatibilityScheduler {

private final Plugin plugin;
Expand All @@ -30,14 +27,6 @@ public void runAsyncNow(Runnable runnable) {
}
}

@Override
public void runAsyncAtFixedRate(Runnable runnable, long delay, long period) {
if (this.plugin.isEnabled()) {
Bukkit.getAsyncScheduler().runAtFixedRate(this.plugin, task -> runnable.run(),
delay * 50, period * 50, TimeUnit.MILLISECONDS);
}
}

@Override
public void cancelTasks() {
Bukkit.getAsyncScheduler().cancelTasks(this.plugin);
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
package net.imprex.orebfuscator.compatibility.paper;

import org.bukkit.plugin.Plugin;

import dev.imprex.orebfuscator.config.api.Config;
import net.imprex.orebfuscator.compatibility.CompatibilityLayer;
import net.imprex.orebfuscator.compatibility.CompatibilityScheduler;
import net.imprex.orebfuscator.compatibility.bukkit.BukkitScheduler;
import net.imprex.orebfuscator.compatibility.spigot.SpigotScheduler;
import org.bukkit.plugin.Plugin;

public class PaperCompatibilityLayer extends AbstractPaperCompatibilityLayer {
public class PaperCompatibilityLayer implements CompatibilityLayer {

private final Thread mainThread = Thread.currentThread();

private final BukkitScheduler scheduler;
private final SpigotScheduler scheduler;

public PaperCompatibilityLayer(Plugin plugin, Config config) {
this.scheduler = new BukkitScheduler(plugin);
this.scheduler = new SpigotScheduler(plugin);
}

@Override
Expand Down
8 changes: 4 additions & 4 deletions orebfuscator-core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -53,12 +53,12 @@
<version>${dependency.joml.version}</version>
<scope>provided</scope>
</dependency>
<!--<dependency>
<groupId>org.lz4</groupId>
<dependency>
<groupId>at.yawk.lz4</groupId>
<artifactId>lz4-java</artifactId>
<version>${dependency.lz4.version}</version>
<scope>compile</scope>
</dependency>-->
<scope>provided</scope>
</dependency>
</dependencies>

<build>
Expand Down
Loading