Archiviert
13
0

Add Async Helper method to MCUtil

Dieser Commit ist enthalten in:
Aikar 2016-05-16 20:50:09 -04:00
Ursprung 7e5d36ded5
Commit 484a23f437

Datei anzeigen

@ -1,4 +1,4 @@
From 09eb35c8f468ea83f5595c8e6e2b89614628641b Mon Sep 17 00:00:00 2001 From a3e63b2551a8b3dfabbc600ea7e5e72763ec6888 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Mon, 28 Mar 2016 20:55:47 -0400 Date: Mon, 28 Mar 2016 20:55:47 -0400
Subject: [PATCH] MC Utils Subject: [PATCH] MC Utils
@ -7,19 +7,23 @@ Collection of utils to help reduce NMS diff
diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java
new file mode 100644 new file mode 100644
index 0000000..cf7c48f index 0000000..8643312
--- /dev/null --- /dev/null
+++ b/src/main/java/net/minecraft/server/MCUtil.java +++ b/src/main/java/net/minecraft/server/MCUtil.java
@@ -0,0 +1,142 @@ @@ -0,0 +1,154 @@
+package net.minecraft.server; +package net.minecraft.server;
+ +
+import com.google.common.util.concurrent.ThreadFactoryBuilder;
+import org.bukkit.Location; +import org.bukkit.Location;
+ +
+import javax.annotation.Nullable; +import javax.annotation.Nullable;
+import java.util.concurrent.Executor;
+import java.util.concurrent.Executors;
+import java.util.regex.Pattern; +import java.util.regex.Pattern;
+ +
+public final class MCUtil { +public final class MCUtil {
+ private static final Pattern REPLACE_QUOTES = Pattern.compile("\""); + private static final Pattern REPLACE_QUOTES = Pattern.compile("\"");
+ private static final Executor asyncExecutor = Executors.newCachedThreadPool(new ThreadFactoryBuilder().setNameFormat("Paper Async Task Handler Thread - %1$d").build());
+ +
+ private MCUtil() {} + private MCUtil() {}
+ +
@ -152,6 +156,14 @@ index 0000000..cf7c48f
+ @Nullable public static Chunk getLoadedChunkWithoutMarkingActive(IChunkProvider provider, int x, int z) { + @Nullable public static Chunk getLoadedChunkWithoutMarkingActive(IChunkProvider provider, int x, int z) {
+ return ((ChunkProviderServer)provider).chunks.get(ChunkCoordIntPair.a(x, z)); + return ((ChunkProviderServer)provider).chunks.get(ChunkCoordIntPair.a(x, z));
+ } + }
+
+ /**
+ * Posts a task to be executed asynchronously
+ * @param run
+ */
+ public static void scheduleAsyncTask(Runnable run) {
+ asyncExecutor.execute(run);
+ }
+} +}
diff --git a/src/main/java/net/minecraft/server/NBTTagCompound.java b/src/main/java/net/minecraft/server/NBTTagCompound.java diff --git a/src/main/java/net/minecraft/server/NBTTagCompound.java b/src/main/java/net/minecraft/server/NBTTagCompound.java
index c01cecb..7fa49dd 100644 index c01cecb..7fa49dd 100644