mirror of
https://github.com/Winds-Studio/Leaf.git
synced 2025-12-22 16:39:22 +00:00
Remove useless classes
This commit is contained in:
@@ -7,7 +7,7 @@ Original license: GPLv3
|
|||||||
Original project: https://github.com/LeavesMC/Leaves
|
Original project: https://github.com/LeavesMC/Leaves
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 679209274fbbf8e10498ecec852b0994af2a39e7..ffb47d13563f0ff1f557dfe2ed53be7f170f12fa 100644
|
index 6b7025b4cacdc2b14662d09f8da78bce04392d17..1952c66202f51bdbca52fab03710ca0d76e0312d 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -425,6 +425,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -425,6 +425,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
@@ -49,219 +49,3 @@ index 679209274fbbf8e10498ecec852b0994af2a39e7..ffb47d13563f0ff1f557dfe2ed53be7f
|
|||||||
+ }
|
+ }
|
||||||
+ // Leaves end - leaves ex data
|
+ // Leaves end - leaves ex data
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesLogger.java b/src/main/java/top/leavesmc/leaves/LeavesLogger.java
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000000000000000000000000000000000000..890b91a95719f18a75bc2c2176ef5cb9f2bf4274
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesLogger.java
|
|
||||||
@@ -0,0 +1,16 @@
|
|
||||||
+package top.leavesmc.leaves;
|
|
||||||
+
|
|
||||||
+import org.bukkit.Bukkit;
|
|
||||||
+
|
|
||||||
+import java.util.logging.Level;
|
|
||||||
+import java.util.logging.Logger;
|
|
||||||
+
|
|
||||||
+public class LeavesLogger extends Logger {
|
|
||||||
+ public static final LeavesLogger LOGGER = new LeavesLogger();
|
|
||||||
+
|
|
||||||
+ private LeavesLogger() {
|
|
||||||
+ super("Leaves", null);
|
|
||||||
+ setParent(Bukkit.getLogger());
|
|
||||||
+ setLevel(Level.ALL);
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/util/AsyncExecutor.java b/src/main/java/top/leavesmc/leaves/util/AsyncExecutor.java
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000000000000000000000000000000000000..0c03f3f051eff7abaacfaa8adb992811f934b9c8
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/util/AsyncExecutor.java
|
|
||||||
@@ -0,0 +1,76 @@
|
|
||||||
+package top.leavesmc.leaves.util;
|
|
||||||
+
|
|
||||||
+import com.google.common.collect.Queues;
|
|
||||||
+import top.leavesmc.leaves.LeavesLogger;
|
|
||||||
+
|
|
||||||
+import java.util.Queue;
|
|
||||||
+import java.util.concurrent.locks.Condition;
|
|
||||||
+import java.util.concurrent.locks.Lock;
|
|
||||||
+import java.util.concurrent.locks.ReentrantLock;
|
|
||||||
+import java.util.logging.Level;
|
|
||||||
+
|
|
||||||
+// Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
|
||||||
+public class AsyncExecutor implements Runnable {
|
|
||||||
+
|
|
||||||
+ private final Queue<Runnable> jobs = Queues.newArrayDeque();
|
|
||||||
+ private final Lock mutex = new ReentrantLock();
|
|
||||||
+ private final Condition cond = mutex.newCondition();
|
|
||||||
+ private final Thread thread;
|
|
||||||
+ private volatile boolean killswitch = false;
|
|
||||||
+
|
|
||||||
+ public AsyncExecutor(String threadName) {
|
|
||||||
+ this.thread = new Thread(this, threadName);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ public void start() {
|
|
||||||
+ thread.start();
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ public void kill() {
|
|
||||||
+ killswitch = true;
|
|
||||||
+ cond.signalAll();
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ public void submit(Runnable runnable) {
|
|
||||||
+ mutex.lock();
|
|
||||||
+ try {
|
|
||||||
+ jobs.offer(runnable);
|
|
||||||
+ cond.signalAll();
|
|
||||||
+ } finally {
|
|
||||||
+ mutex.unlock();
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void run() {
|
|
||||||
+ while (!killswitch) {
|
|
||||||
+ try {
|
|
||||||
+ Runnable runnable = takeRunnable();
|
|
||||||
+ if (runnable != null) {
|
|
||||||
+ runnable.run();
|
|
||||||
+ }
|
|
||||||
+ } catch (InterruptedException e) {
|
|
||||||
+ Thread.currentThread().interrupt();
|
|
||||||
+ } catch (Exception e) {
|
|
||||||
+ LeavesLogger.LOGGER.log(Level.SEVERE, e, () -> "Failed to execute async job for thread " + thread.getName());
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ private Runnable takeRunnable() throws InterruptedException {
|
|
||||||
+ mutex.lock();
|
|
||||||
+ try {
|
|
||||||
+ while (jobs.isEmpty() && !killswitch) {
|
|
||||||
+ cond.await();
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (jobs.isEmpty()) {
|
|
||||||
+ return null;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ return jobs.remove();
|
|
||||||
+ } finally {
|
|
||||||
+ mutex.unlock();
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/util/AsyncPlayerAreaMap.java b/src/main/java/top/leavesmc/leaves/util/AsyncPlayerAreaMap.java
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000000000000000000000000000000000000..4ccc1b3b29e9d62526b2d7c56ef06db77704bf80
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/util/AsyncPlayerAreaMap.java
|
|
||||||
@@ -0,0 +1,32 @@
|
|
||||||
+package top.leavesmc.leaves.util;
|
|
||||||
+
|
|
||||||
+import com.destroystokyo.paper.util.misc.PlayerAreaMap;
|
|
||||||
+import com.destroystokyo.paper.util.misc.PooledLinkedHashSets;
|
|
||||||
+import net.minecraft.server.level.ServerPlayer;
|
|
||||||
+
|
|
||||||
+import java.util.concurrent.ConcurrentHashMap;
|
|
||||||
+
|
|
||||||
+// Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
|
||||||
+public class AsyncPlayerAreaMap extends PlayerAreaMap {
|
|
||||||
+
|
|
||||||
+ public AsyncPlayerAreaMap() {
|
|
||||||
+ super();
|
|
||||||
+ this.areaMap = new Long2ObjectOpenHashMapWrapper<>(new ConcurrentHashMap<>(1024, 0.7f));
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ public AsyncPlayerAreaMap(final PooledLinkedHashSets<ServerPlayer> pooledHashSets) {
|
|
||||||
+ super(pooledHashSets);
|
|
||||||
+ this.areaMap = new Long2ObjectOpenHashMapWrapper<>(new ConcurrentHashMap<>(1024, 0.7f));
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ public AsyncPlayerAreaMap(final PooledLinkedHashSets<ServerPlayer> pooledHashSets, final ChangeCallback<ServerPlayer> addCallback,
|
|
||||||
+ final ChangeCallback<ServerPlayer> removeCallback) {
|
|
||||||
+ this(pooledHashSets, addCallback, removeCallback, null);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ public AsyncPlayerAreaMap(final PooledLinkedHashSets<ServerPlayer> pooledHashSets, final ChangeCallback<ServerPlayer> addCallback,
|
|
||||||
+ final ChangeCallback<ServerPlayer> removeCallback, final ChangeSourceCallback<ServerPlayer> changeSourceCallback) {
|
|
||||||
+ super(pooledHashSets, addCallback, removeCallback, changeSourceCallback);
|
|
||||||
+ this.areaMap = new Long2ObjectOpenHashMapWrapper<>(new ConcurrentHashMap<>(1024, 0.7f));
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/util/IterableWrapper.java b/src/main/java/top/leavesmc/leaves/util/IterableWrapper.java
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000000000000000000000000000000000000..0dc58b78c84a825ec7025534cd0fc7be9c4610ad
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/util/IterableWrapper.java
|
|
||||||
@@ -0,0 +1,21 @@
|
|
||||||
+package top.leavesmc.leaves.util;
|
|
||||||
+
|
|
||||||
+import org.jetbrains.annotations.NotNull;
|
|
||||||
+
|
|
||||||
+import java.util.Iterator;
|
|
||||||
+
|
|
||||||
+// Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
|
||||||
+public class IterableWrapper<T> implements Iterable<T> {
|
|
||||||
+
|
|
||||||
+ private final Iterator<T> iterator;
|
|
||||||
+
|
|
||||||
+ public IterableWrapper(Iterator<T> iterator) {
|
|
||||||
+ this.iterator = iterator;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @NotNull
|
|
||||||
+ @Override
|
|
||||||
+ public Iterator<T> iterator() {
|
|
||||||
+ return iterator;
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/util/Long2ObjectOpenHashMapWrapper.java b/src/main/java/top/leavesmc/leaves/util/Long2ObjectOpenHashMapWrapper.java
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000000000000000000000000000000000000..b684d8f576acbc5de8d06b0ff779c257198bc32d
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/util/Long2ObjectOpenHashMapWrapper.java
|
|
||||||
@@ -0,0 +1,41 @@
|
|
||||||
+package top.leavesmc.leaves.util;
|
|
||||||
+
|
|
||||||
+import it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap;
|
|
||||||
+import org.jetbrains.annotations.Nullable;
|
|
||||||
+
|
|
||||||
+import java.util.Map;
|
|
||||||
+
|
|
||||||
+public class Long2ObjectOpenHashMapWrapper<V> extends Long2ObjectOpenHashMap<V> {
|
|
||||||
+
|
|
||||||
+ private final Map<Long, V> backingMap;
|
|
||||||
+
|
|
||||||
+ public Long2ObjectOpenHashMapWrapper(Map<Long, V> map) {
|
|
||||||
+ backingMap = map;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public V put(Long key, V value) {
|
|
||||||
+ return backingMap.put(key, value);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public V get(Object key) {
|
|
||||||
+ return backingMap.get(key);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public V remove(Object key) {
|
|
||||||
+ return backingMap.remove(key);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Nullable
|
|
||||||
+ @Override
|
|
||||||
+ public V putIfAbsent(Long key, V value) {
|
|
||||||
+ return backingMap.putIfAbsent(key, value);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public int size() {
|
|
||||||
+ return backingMap.size();
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user