NOT FINISHED!!! Current Progress on 1.13-pre7 update

This work is 100% unfinished. I am pushing it up so that we as a team
can work on this update.

Do not try to use this branch. You will fail.
This commit is contained in:
Aikar 2018-07-14 21:53:17 -04:00
parent a8c28e1920
commit 5b6dfb3463
No known key found for this signature in database
GPG key ID: 401ADFC9891FAAFE
234 changed files with 3554 additions and 5857 deletions

View file

@ -37,10 +37,7 @@ function applyPatch {
echo " Applying patches to $target..."
$gitcmd am --abort >/dev/null 2>&1
#TODO: remove
if [ "$what_name" == "Bukkit" ]; then
what_name="../../pre/Bukkit";
fi
# Special case Windows handling because of ARG_MAX constraint
if [[ $windows == "true" ]]; then
echo " Using workaround for Windows ARG_MAX constraint"
@ -72,13 +69,11 @@ function applyPatch {
# Move into spigot dir
cd "$workdir/Spigot"
basedir=$(pwd)
# Apply Spigot
(
#TODO: remove ../pre/ and reset to HEAD
applyPatch ../Bukkit Spigot-API origin/preview # &&
#applyPatch ../CraftBukkit Spigot-Server patched
applyPatch ../Bukkit Spigot-API HEAD &&
applyPatch ../CraftBukkit Spigot-Server patched
) || (
echo "Failed to apply Spigot Patches"
exit 1
@ -89,15 +84,13 @@ cd "$basedir"
echo "Importing MC Dev"
# TODO: Remove comment
# ./scripts/importmcdev.sh "$basedir" >/dev/null 2>&1
./scripts/importmcdev.sh "$basedir" || exit 1
# Apply paper
cd "$basedir"
(
#TODO remove comment
applyPatch "work/Spigot/Spigot-API" Paper-API HEAD # &&
# applyPatch "work/Spigot/Spigot-Server" Paper-Server HEAD
applyPatch "work/Spigot/Spigot-API" Paper-API HEAD &&
applyPatch "work/Spigot/Spigot-Server" Paper-Server HEAD
) || (
echo "Failed to apply Paper Patches"
exit 1

View file

@ -6,6 +6,7 @@ nms="net/minecraft/server"
export MODLOG=""
PS1="$"
basedir="$(cd "$1" && pwd -P)"
source "$basedir/scripts/functions.sh"
gitcmd="git -c commit.gpgsign=false"
workdir="$basedir/work"
@ -21,8 +22,8 @@ function import {
if [[ ! -f "$target" ]]; then
export MODLOG="$MODLOG Imported $file from mc-dev\n";
echo "Copying $base to $target"
cp "$base" "$target"
#echo "Copying $base to $target"
cp "$base" "$target" || exit 1
else
echo "UN-NEEDED IMPORT: $file"
fi
@ -36,85 +37,42 @@ function import {
fi
)
import AxisAlignedBB
import BaseBlockPosition
import BiomeBase
import BlockBed
import BiomeBigHills
import BiomeJungle
import BiomeMesa
import BlockBeacon
import BlockChest
import BlockFalling
import BlockFurnace
import BlockIceFrost
import BlockPosition
import BlockSnowBlock
import BlockStateEnum
import ChunkCache
import ChunkCoordIntPair
import ChunkProviderFlat
import ChunkProviderGenerate
import ChunkProviderHell
import CommandAbstract
import CommandScoreboard
import CommandWhitelist
import ControllerJump
import DataBits
import DataConverterMaterialId
import DataInspectorBlockEntity
import DataPalette
import DefinedStructure
import DragonControllerLandedFlame
import EnchantmentManager
import Enchantments
import EnderDragonBattle
import EntityIllagerIllusioner
import EntityLlama
import EntitySquid
import EntityTypes
import EntityWaterAnimal
import EntityWitch
import EnumItemSlot
import EULA
import FileIOThread
import IHopper
import ItemBlock
import ItemFireworks
import ItemMonsterEgg
import IRangedEntity
import LegacyPingHandler
import LotoSelectorEntry
import NavigationAbstract
import NBTTagCompound
import NBTTagList
import PacketPlayInUseEntity
import PacketPlayOutMapChunk
import PacketPlayOutPlayerListHeaderFooter
import PacketPlayOutScoreboardTeam
import PacketPlayOutTitle
import PacketPlayOutUpdateTime
import PathfinderAbstract
import PathfinderGoal
import PathfinderGoalFloat
import PathfinderGoalGotoTarget
import PathfinderWater
import PersistentScoreboard
import PersistentVillage
import PlayerConnectionUtils
import RegionFile
import RegistryBlockID
import RemoteControlListener
import RecipeBookServer
import ServerPing
import StructureBoundingBox
import StructurePiece
import StructureStart
import TileEntityEnderChest
import TileEntityLootable
import WorldGenStronghold
import WorldProvider
files=$(cat "$basedir/Spigot-Server-Patches/"* | grep "+++ b/src/main/java/net/minecraft/server/" | sort | uniq | sed 's/\+\+\+ b\/src\/main\/java\/net\/minecraft\/server\///g' | sed 's/.java//g')
nonnms=$(cat "$basedir/Spigot-Server-Patches/"* | grep "create mode " | grep -Po "src/main/java/net/minecraft/server/(.*?).java" | sort | uniq | sed 's/src\/main\/java\/net\/minecraft\/server\///g' | sed 's/.java//g' ;
# TODO: Fix non nms to work for Paper, hard code these for now
echo "KeyedObject" ;
echo "MCUtil" ;
echo "PaperLightingQueue"
)
function containsElement {
local e
for e in "${@:2}"; do
[[ "$e" == "$1" ]] && return 0;
done
return 1
}
set +e
for f in $files; do
containsElement "$f" ${nonnms[@]}
if [ "$?" == "1" ]; then
if [ ! -f "$workdir/Spigot/Spigot-Server/src/main/java/net/minecraft/server/$f.java" ]; then
if [ ! -f "$decompiledir/$nms/$f.java" ]; then
echo "$(color 1 31) ERROR!!! Missing NMS$(color 1 34) $f $(colorend)";
else
import $f
fi
fi
fi
done
import NBTList
import TileEntityTypes
set -e
cd "$workdir/Spigot/Spigot-Server/"
rm -rf nms-patches applyPatches.sh makePatches.sh >/dev/null 2>&1
$gitcmd add . -A >/dev/null 2>&1

View file

@ -39,10 +39,11 @@ function savePatches {
echo "REBASE DETECTED - PARTIAL SAVE"
last=$(cat "$basedir/$target/.git/rebase-apply/last")
next=$(cat "$basedir/$target/.git/rebase-apply/next")
orderedfiles=$(find . -name "*.patch" | sort)
for i in $(seq -f "%04g" 1 1 $last)
do
if [ $i -lt $next ]; then
rm ${i}-*.patch
rm $(echo "$orderedfiles{@}" | sed -n "${i}p")
fi
done
else

View file

@ -6,6 +6,7 @@ PS1="$"
basedir="$(cd "$1" && pwd -P)"
workdir="$basedir/work"
minecraftversion=$(cat "${workdir}/BuildData/info.json" | grep minecraftVersion | cut -d '"' -f 4)
minecraftserverurl=$(cat "${workdir}/BuildData/info.json" | grep serverUrl | cut -d '"' -f 4)
minecrafthash=$(cat "${workdir}/BuildData/info.json" | grep minecraftHash | cut -d '"' -f 4)
accesstransforms="$workdir/BuildData/mappings/"$(cat "${workdir}/BuildData/info.json" | grep accessTransforms | cut -d '"' -f 4)
classmappings="$workdir/BuildData/mappings/"$(cat "${workdir}/BuildData/info.json" | grep classMappings | cut -d '"' -f 4)
@ -16,7 +17,7 @@ jarpath="$workdir/Minecraft/$minecraftversion/$minecraftversion"
echo "Downloading unmapped vanilla jar..."
if [ ! -f "$jarpath.jar" ]; then
mkdir -p "$workdir/Minecraft/$minecraftversion"
curl -s -o "$jarpath.jar" "https://s3.amazonaws.com/Minecraft.Download/versions/$minecraftversion/minecraft_server.$minecraftversion.jar"
curl -s -o "$jarpath.jar" "$minecraftserverurl"
if [ "$?" != "0" ]; then
echo "Failed to download the vanilla server jar. Check connectivity or try again later."
exit 1

View file

@ -11,7 +11,7 @@ gitcmd="git -c commit.gpgsign=false"
#
# FUNCTIONS
#
. $basedir/scripts/functions.sh
source $basedir/scripts/functions.sh
updateTest() {
paperstash