Skip to content

Instantly share code, notes, and snippets.

View aikar's full-sized avatar
:atom:
Powered by Steak

Daniel Ennis aikar

:atom:
Powered by Steak
View GitHub Profile
#!/usr/bin/env bash
(
set -e
PS1="$"
basedir="$(cd "$1" && pwd -P)"
workdir="$basedir/work"
minecraftversion=$(cat "$workdir/BuildData/info.json" | grep minecraftVersion | cut -d '"' -f 4)
windows="$([[ "$OSTYPE" == "cygwin" || "$OSTYPE" == "msys" ]] && echo "true" || echo "false")"
spigotdecompiledir="$workdir/Minecraft/$minecraftversion-spigot"
From da976f7ed15b762ef138b55b9c711184363cf364 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Thu, 30 Aug 2018 22:38:31 -0400
Subject: [PATCH] Async Chunk Loading and Generation
---
.../java/net/minecraft/server/ChunkMap.java | 3 +-
.../minecraft/server/ChunkProviderServer.java | 24 +-
.../minecraft/server/ChunkRegionLoader.java | 2 +-
.../minecraft/server/DataPaletteBlock.java | 4 +
commit b2a65ead8b8c7aa5728568a5944131e7bfd135bd
Author: Aikar <[email protected]>
Date: Thu Aug 30 22:38:31 2018 -0400
Async Chunk Loading and Generation
diff --git a/src/main/java/net/minecraft/server/ChunkMap.java b/src/main/java/net/minecraft/server/ChunkMap.java
index b941676829..76a449b1fe 100644
--- a/src/main/java/net/minecraft/server/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/ChunkMap.java
Stacks at 2018-08-29 07:04:51 PM (uptime 35s)
Paper Chunk Executor [WAITING]
java.util.concurrent.CompletableFuture.join() CompletableFuture.java:1934
net.minecraft.server.v1_13_R2.ChunkProviderServer.getChunkAt(int, int, boolean, boolean, Consumer) ChunkProviderServer.java:177
net.minecraft.server.v1_13_R2.ChunkProviderServer.getChunkAt(int, int, boolean, boolean) ChunkProviderServer.java:88
net.minecraft.server.v1_13_R2.ChunkProviderServer.a(int, int, boolean) ChunkProviderServer.java:251
net.minecraft.server.v1_13_R2.StructureGenerator.a(GeneratorAccess, ChunkGenerator, SeededRandom, long) StructureGenerator.java:208
#!/bin/bash
if [ -z "$1" ]; then
echo "$0 <prID>"
exit 1;
fi
curl -q https://api.github.com/repos/PaperMC/Paper/pulls/$1 2>/dev/null > /tmp/pr
url=$(grep --color=none ssh_url /tmp/pr | head -n 1 |awk '{print $2}' | sed 's/"//g' | sed 's/,//g')
ref=$(grep --color=none '"head":' -A 3 /tmp/pr | grep ref | head -n 1 |awk '{print $2}' | sed 's/"//g' | sed 's/,//g')
branch="pr/$1"
up="pr-$1"
#!/bin/bash
if [ -z "$1" ]; then
echo "$0 <prID>"
exit 1;
fi
curl -q https://api.github.com/repos/PaperMC/Paper/pulls/$1 2>/dev/null > /tmp/pr
url=$(grep --color=none ssh_url /tmp/pr | head -n 1 |awk '{print $2}' | sed 's/"//g' | sed 's/,//g')
ref=$(grep --color=none '"head":' -A 3 /tmp/pr | grep ref | head -n 1 |awk '{print $2}' | sed 's/"//g' | sed 's/,//g')
branch="pr/$1"
up="pr-$1"
./0023-Entity-Origin-API.patch:25:+ nbttagcompound.set("Paper.Origin", this.createList(origin.getX(), origin.getY(), origin.getZ()));
./0023-Entity-Origin-API.patch:36:+ NBTTagList originTag = nbttagcompound.getList("Paper.Origin", 6);
./0193-Entity-fromMobSpawner.patch:21: nbttagcompound.set("Paper.Origin", this.createList(origin.getX(), origin.getY(), origin.getZ()));
./0193-Entity-fromMobSpawner.patch:25:+ nbttagcompound.setBoolean("Paper.FromMobSpawner", true);
./0193-Entity-fromMobSpawner.patch:35:+ spawnedViaMobSpawner = nbttagcompound.getBoolean("Paper.FromMobSpawner"); // Restore entity's from mob spawner status
./0350-Slime-Pathfinder-Events.patch:15:+ nbttagcompound.setBoolean("Paper.canWander", this.canWander); // Paper
./0350-Slime-Pathfinder-Events.patch:23:+ this.canWander = nbttagcompound.getBoolean("Paper.canWander"); // Paper
./0173-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch:57:+ if (!nbtt
./0345-Cache-World-Entity-Type-counts.patch:98:+ MinecraftServer.LOGGER.error("Paper - Entity count cache has gone negative");
./0333-Add-Early-Warning-Feature-to-WatchDog.patch:88: super( "Paper Watchdog Thread" );
./0183-Use-TerminalConsoleAppender-for-console-improvements.patch:115:+ .appName("Paper")
./0005-Paper-Metrics.patch:602:+ Metrics metrics = new Metrics("Paper", serverUUID, logFailedRequests, Bukkit.getLogger());
./0005-Paper-Metrics.patch:663: MinecraftServer.getServer().server.getCommandMap().register(entry.getKey(), "Paper", entry.getValue());
./0023-Entity-Origin-API.patch:25:+ nbttagcompound.set("Paper.Origin", this.createList(origin.getX(), origin.getY(), origin.getZ()));
./0023-Entity-Origin-API.patch:36:+ NBTTagList originTag = nbttagcompound.getList("Paper.Origin", 6);
./0193-Entity-fromMobSpawner.patch:21: nbttagcompound.set("Paper.Origin", this.createList(origin.getX(), origin.getY(),
public static CraftBlockData fromData(IBlockData data) {
Class<? extends CraftBlockData> craft = MAP.get(data.getBlock().getClass());
if (craft == null) {
craft = CraftBlockData.class;
}
CraftBlockData ret;
try {
ret = craft.getDeclaredConstructor(IBlockData.class).newInstance(data);
} catch (ReflectiveOperationException ex) {
package org.bukkit.craftbukkit.block.data;
import com.google.common.base.Function;
import com.google.common.base.Preconditions;
import com.google.common.collect.BiMap;
import com.google.common.collect.HashBiMap;
import com.google.common.collect.ImmutableSet;
import com.mojang.brigadier.StringReader;
import com.mojang.brigadier.exceptions.CommandSyntaxException;
import java.util.HashMap;