PaperMC/scripts/importmcdev.sh
Zach Brown 9ff170660b
Move mc decompile source to its own folder
Makes caching easier, ever so slightly more organized.
2017-08-12 18:56:59 -05:00

100 lines
2.3 KiB
Bash
Executable file

#!/usr/bin/env bash
(
set -e
nms="net/minecraft/server"
export MODLOG=""
PS1="$"
basedir="$(cd "$1" && pwd -P)"
workdir="$basedir/work"
minecraftversion=$(cat "$workdir/BuildData/info.json" | grep minecraftVersion | cut -d '"' -f 4)
decompiledir="$workdir/Minecraft/$minecraftversion"
export importedmcdev=""
function import {
export importedmcdev="$importedmcdev $1"
file="${1}.java"
target="$workdir/Spigot/Spigot-Server/src/main/java/$nms/$file"
base="$decompiledir/$nms/$file"
if [[ ! -f "$target" ]]; then
export MODLOG="$MODLOG Imported $file from mc-dev\n";
echo "Copying $base to $target"
cp "$base" "$target"
else
echo "UN-NEEDED IMPORT: $file"
fi
}
(
cd "$workdir/Spigot/Spigot-Server/"
lastlog=$(git log -1 --oneline)
if [[ "$lastlog" = *"mc-dev Imports"* ]]; then
git reset --hard HEAD^
fi
)
import AxisAlignedBB
import BaseBlockPosition
import BiomeBase
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 DefinedStructure
import EntityLlama
import EULA
import EntitySquid
import EntityWaterAnimal
import FileIOThread
import IHopper
import ItemBlock
import ItemFireworks
import ItemMonsterEgg
import NavigationAbstract
import NBTTagCompound
import NBTTagList
import PersistentScoreboard
import PacketPlayInUseEntity
import PacketPlayOutPlayerListHeaderFooter
import PacketPlayOutScoreboardTeam
import PacketPlayOutTitle
import PacketPlayOutUpdateTime
import PathfinderAbstract
import PathfinderGoal
import PathfinderGoalFloat
import PathfinderGoalGotoTarget
import PathfinderWater
import PersistentVillage
import PlayerConnectionUtils
import RegionFile
import RemoteControlListener
import TileEntityEnderChest
import TileEntityLootable
import WorldGenStronghold
import WorldProvider
cd "$workdir/Spigot/Spigot-Server/"
rm -rf nms-patches applyPatches.sh makePatches.sh >/dev/null 2>&1
git add . -A >/dev/null 2>&1
echo -e "mc-dev Imports\n\n$MODLOG" | git commit . -F -
)