From a265d641381d6273f8eed676b66f7df7fd9fa9ec Mon Sep 17 00:00:00 2001 From: CraftBukkit/Spigot <noreply+git-craftbukkit@papermc.io> Date: Wed, 11 Dec 2024 22:26:36 +0100 Subject: [PATCH] Move CraftBukkit per-file patches By: Initial <noreply+automated@papermc.io> --- .../brigadier/CommandDispatcher.java.patch | 19 + .../brigadier/tree/CommandNode.java.patch | 52 ++ .../sources}/net/minecraft/CrashReport.patch | 0 .../advancements/AdvancementHolder.patch | 0 .../advancements/AdvancementTree.patch | 0 .../commands/CommandDispatcher.patch | 0 .../commands/CommandListenerWrapper.patch | 0 .../minecraft/commands/ICommandListener.patch | 0 .../commands/arguments/ArgumentEntity.patch | 0 .../arguments/blocks/ArgumentBlock.patch | 0 .../selector/ArgumentParserSelector.patch | 0 .../arguments/selector/EntitySelector.patch | 0 .../core/cauldron/CauldronInteraction.patch | 0 .../core/component/DataComponentPatch.patch | 0 .../core/dispenser/DispenseBehaviorBoat.patch | 0 .../core/dispenser/DispenseBehaviorItem.patch | 0 .../DispenseBehaviorProjectile.patch | 0 .../dispenser/DispenseBehaviorShears.patch | 0 .../DispenseBehaviorShulkerBox.patch | 0 .../EquipmentDispenseItemBehavior.patch | 0 .../core/dispenser/IDispenseBehavior.patch | 0 .../MinecartDispenseItemBehavior.patch | 0 .../nbt/NBTCompressedStreamTools.patch | 0 .../net/minecraft/nbt/NBTTagByteArray.patch | 0 .../net/minecraft/nbt/NBTTagIntArray.patch | 0 .../minecraft/network/NetworkManager.patch | 0 .../network/PacketDataSerializer.patch | 0 .../minecraft/network/chat/ChatHexColor.patch | 0 .../network/chat/IChatBaseComponent.patch | 0 .../protocol/PlayerConnectionUtils.patch | 0 .../ServerboundCustomPayloadPacket.patch | 0 .../common/custom/DiscardedPayload.patch | 0 .../ClientboundInitializeBorderPacket.patch | 0 .../ClientboundSetBorderCenterPacket.patch | 0 .../game/ClientboundSystemChatPacket.patch | 0 .../game/PacketPlayInBlockPlace.patch | 0 .../protocol/game/PacketPlayInUseItem.patch | 0 .../game/PacketPlayOutMultiBlockChange.patch | 0 .../PacketHandshakingInSetProtocol.patch | 0 .../network/syncher/DataWatcher.patch | 0 .../server/AdvancementDataPlayer.patch | 0 .../server/AdvancementDataWorld.patch | 0 .../minecraft/server/CustomFunctionData.patch | 0 .../minecraft/server/DispenserRegistry.patch | 0 .../sources}/net/minecraft/server/Main.patch | 0 .../minecraft/server/MinecraftServer.patch | 0 .../minecraft/server/ScoreboardServer.patch | 0 .../server/ServerTickRateManager.patch | 0 .../server/bossevents/BossBattleCustom.patch | 0 .../server/commands/CommandDifficulty.patch | 0 .../server/commands/CommandEffect.patch | 0 .../server/commands/CommandGamerule.patch | 0 .../server/commands/CommandGive.patch | 0 .../server/commands/CommandList.patch | 0 .../server/commands/CommandLoot.patch | 0 .../server/commands/CommandReload.patch | 0 .../server/commands/CommandSchedule.patch | 0 .../commands/CommandSetWorldSpawn.patch | 0 .../server/commands/CommandSpawnpoint.patch | 0 .../commands/CommandSpreadPlayers.patch | 0 .../server/commands/CommandSummon.patch | 0 .../server/commands/CommandTeleport.patch | 0 .../server/commands/CommandTime.patch | 0 .../server/commands/CommandWeather.patch | 0 .../server/commands/CommandWorldBorder.patch | 0 .../server/commands/PlaceCommand.patch | 0 .../server/dedicated/DedicatedServer.patch | 0 .../dedicated/DedicatedServerProperties.patch | 0 .../dedicated/DedicatedServerSettings.patch | 0 .../server/dedicated/PropertyManager.patch | 0 .../net/minecraft/server/gui/ServerGUI.patch | 0 .../server/level/ChunkMapDistance.patch | 0 .../server/level/ChunkProviderServer.patch | 0 .../minecraft/server/level/EntityPlayer.patch | 0 .../server/level/EntityTrackerEntry.patch | 0 .../minecraft/server/level/PlayerChunk.patch | 0 .../server/level/PlayerChunkMap.patch | 0 .../server/level/PlayerInteractManager.patch | 0 .../level/RegionLimitedWorldAccess.patch | 0 .../minecraft/server/level/TicketType.patch | 0 .../minecraft/server/level/WorldServer.patch | 0 .../server/network/HandshakeListener.patch | 0 .../server/network/LegacyPingHandler.patch | 0 .../server/network/LoginListener.patch | 0 .../server/network/PacketStatusListener.patch | 0 .../server/network/PlayerConnection.patch | 0 .../ServerCommonPacketListenerImpl.patch | 0 ...erverConfigurationPacketListenerImpl.patch | 0 .../server/network/ServerConnection.patch | 0 .../server/players/ExpirableListEntry.patch | 0 .../server/players/GameProfileBanEntry.patch | 0 .../minecraft/server/players/JsonList.patch | 0 .../NameReferencingFileConverter.patch | 0 .../minecraft/server/players/PlayerList.patch | 0 .../server/players/SleepStatus.patch | 0 .../minecraft/server/players/UserCache.patch | 0 .../rcon/RemoteControlCommandListener.patch | 0 .../rcon/thread/RemoteControlSession.patch | 0 .../minecraft/stats/RecipeBookServer.patch | 0 .../stats/ServerStatisticManager.patch | 0 .../minecraft/stats/StatisticManager.patch | 0 .../net/minecraft/util/SpawnUtil.patch | 0 .../net/minecraft/util/TickThrottler.patch | 0 .../util/datafix/DataConverterRegistry.patch | 0 .../datafix/fixes/DataConverterFlatten.patch | 0 .../util/datafix/fixes/DataConverterMap.patch | 0 .../util/worldupdate/WorldUpgrader.patch | 0 .../net/minecraft/world/IInventory.patch | 0 .../minecraft/world/InventoryLargeChest.patch | 0 .../world/InventorySubcontainer.patch | 0 .../world/damagesource/DamageSource.patch | 0 .../world/damagesource/DamageSources.patch | 0 .../world/effect/HealOrHarmMobEffect.patch | 0 .../world/effect/HungerMobEffect.patch | 0 .../world/effect/InfestedMobEffect.patch | 0 .../world/effect/MobEffectUtil.patch | 0 .../world/effect/OozingMobEffect.patch | 0 .../world/effect/PoisonMobEffect.patch | 0 .../world/effect/RegenerationMobEffect.patch | 0 .../world/effect/SaturationMobEffect.patch | 0 .../world/entity/ConversionType.patch | 0 .../net/minecraft/world/entity/Entity.patch | 0 .../world/entity/EntityAgeable.patch | 0 .../world/entity/EntityAreaEffectCloud.patch | 0 .../world/entity/EntityCreature.patch | 0 .../world/entity/EntityExperienceOrb.patch | 0 .../world/entity/EntityInsentient.patch | 0 .../world/entity/EntityLightning.patch | 0 .../minecraft/world/entity/EntityLiving.patch | 0 .../world/entity/EntityTameableAnimal.patch | 0 .../minecraft/world/entity/EntityTypes.patch | 0 .../world/entity/IEntityAngerable.patch | 0 .../world/entity/IEntitySelector.patch | 0 .../minecraft/world/entity/Interaction.patch | 0 .../minecraft/world/entity/Leashable.patch | 0 .../world/entity/SaddleStorage.patch | 0 .../ai/attributes/GenericAttributes.patch | 0 .../behavior/BehaviorAttackTargetForget.patch | 0 .../ai/behavior/BehaviorAttackTargetSet.patch | 0 .../entity/ai/behavior/BehaviorCareer.patch | 0 .../entity/ai/behavior/BehaviorFarm.patch | 0 .../behavior/BehaviorFindAdmirableItem.patch | 0 .../ai/behavior/BehaviorFollowAdult.patch | 0 .../ai/behavior/BehaviorInteractDoor.patch | 0 .../entity/ai/behavior/BehaviorMakeLove.patch | 0 .../ai/behavior/BehaviorProfession.patch | 0 .../entity/ai/behavior/BehaviorUtil.patch | 0 .../ai/behavior/PrepareRamNearestTarget.patch | 0 .../behavior/TryLaySpawnOnWaterNearLand.patch | 0 .../entity/ai/behavior/warden/Digging.patch | 0 .../ai/goal/PathfinderGoalBreakDoor.patch | 0 .../ai/goal/PathfinderGoalEatTile.patch | 0 .../ai/goal/PathfinderGoalRemoveBlock.patch | 0 .../entity/ai/goal/PathfinderGoalSit.patch | 0 .../entity/ai/goal/PathfinderGoalTame.patch | 0 .../entity/ai/goal/PathfinderGoalTempt.patch | 0 .../target/PathfinderGoalDefendVillage.patch | 0 .../target/PathfinderGoalHurtByTarget.patch | 0 ...athfinderGoalNearestAttackableTarget.patch | 0 .../PathfinderGoalOwnerHurtByTarget.patch | 0 .../PathfinderGoalOwnerHurtTarget.patch | 0 .../ai/goal/target/PathfinderGoalTarget.patch | 0 .../entity/ai/sensing/TemptingSensor.patch | 0 .../entity/ai/village/VillageSiege.patch | 0 .../world/entity/ambient/EntityBat.patch | 0 .../world/entity/animal/Bucketable.patch | 0 .../world/entity/animal/EntityAnimal.patch | 0 .../world/entity/animal/EntityBee.patch | 0 .../world/entity/animal/EntityCat.patch | 0 .../world/entity/animal/EntityChicken.patch | 0 .../world/entity/animal/EntityCow.patch | 0 .../world/entity/animal/EntityDolphin.patch | 0 .../world/entity/animal/EntityFox.patch | 0 .../world/entity/animal/EntityIronGolem.patch | 0 .../entity/animal/EntityMushroomCow.patch | 0 .../world/entity/animal/EntityOcelot.patch | 0 .../world/entity/animal/EntityPanda.patch | 0 .../world/entity/animal/EntityParrot.patch | 0 .../world/entity/animal/EntityPerchable.patch | 0 .../world/entity/animal/EntityPig.patch | 0 .../entity/animal/EntityPufferFish.patch | 0 .../world/entity/animal/EntityRabbit.patch | 0 .../world/entity/animal/EntitySheep.patch | 0 .../world/entity/animal/EntitySnowman.patch | 0 .../world/entity/animal/EntityTurtle.patch | 0 .../world/entity/animal/EntityWolf.patch | 0 .../world/entity/animal/allay/Allay.patch | 0 .../entity/animal/armadillo/Armadillo.patch | 0 .../world/entity/animal/axolotl/Axolotl.patch | 0 .../world/entity/animal/camel/Camel.patch | 0 .../entity/animal/frog/ShootTongue.patch | 0 .../world/entity/animal/frog/Tadpole.patch | 0 .../world/entity/animal/goat/Goat.patch | 0 .../animal/horse/EntityHorseAbstract.patch | 0 .../animal/horse/EntityHorseSkeleton.patch | 0 .../entity/animal/horse/EntityLlama.patch | 0 .../animal/horse/EntityLlamaTrader.patch | 0 .../horse/PathfinderGoalHorseTrap.patch | 0 .../world/entity/animal/sniffer/Sniffer.patch | 0 .../boss/enderdragon/EntityEnderCrystal.patch | 0 .../boss/enderdragon/EntityEnderDragon.patch | 0 .../phases/DragonControllerLandedFlame.patch | 0 .../phases/DragonControllerManager.patch | 0 .../entity/boss/wither/EntityWither.patch | 0 .../decoration/BlockAttachedEntity.patch | 0 .../entity/decoration/EntityArmorStand.patch | 0 .../entity/decoration/EntityItemFrame.patch | 0 .../world/entity/decoration/EntityLeash.patch | 0 .../entity/decoration/EntityPainting.patch | 0 .../entity/item/EntityFallingBlock.patch | 0 .../world/entity/item/EntityItem.patch | 0 .../world/entity/item/EntityTNTPrimed.patch | 0 .../world/entity/monster/Bogged.patch | 0 .../entity/monster/EntityCaveSpider.patch | 0 .../world/entity/monster/EntityCreeper.patch | 0 .../world/entity/monster/EntityEnderman.patch | 0 .../entity/monster/EntityEndermite.patch | 0 .../world/entity/monster/EntityEvoker.patch | 0 .../world/entity/monster/EntityGhast.patch | 0 .../world/entity/monster/EntityGuardian.patch | 0 .../entity/monster/EntityGuardianElder.patch | 0 .../monster/EntityIllagerIllusioner.patch | 0 .../entity/monster/EntityIllagerWizard.patch | 0 .../world/entity/monster/EntityPhantom.patch | 0 .../entity/monster/EntityPigZombie.patch | 0 .../world/entity/monster/EntityPillager.patch | 0 .../world/entity/monster/EntityRavager.patch | 0 .../world/entity/monster/EntityShulker.patch | 0 .../entity/monster/EntitySilverfish.patch | 0 .../world/entity/monster/EntitySkeleton.patch | 0 .../monster/EntitySkeletonAbstract.patch | 0 .../entity/monster/EntitySkeletonWither.patch | 0 .../world/entity/monster/EntitySlime.patch | 0 .../world/entity/monster/EntitySpider.patch | 0 .../world/entity/monster/EntityStrider.patch | 0 .../world/entity/monster/EntityVex.patch | 0 .../world/entity/monster/EntityWitch.patch | 0 .../world/entity/monster/EntityZombie.patch | 0 .../entity/monster/EntityZombieHusk.patch | 0 .../entity/monster/EntityZombieVillager.patch | 0 .../world/entity/monster/breeze/Breeze.patch | 0 .../entity/monster/creaking/Creaking.patch | 0 .../entity/monster/hoglin/EntityHoglin.patch | 0 .../entity/monster/piglin/EntityPiglin.patch | 0 .../monster/piglin/EntityPiglinAbstract.patch | 0 .../entity/monster/piglin/PiglinAI.patch | 0 .../world/entity/monster/warden/Warden.patch | 0 .../world/entity/npc/EntityVillager.patch | 0 .../entity/npc/EntityVillagerAbstract.patch | 0 .../entity/npc/EntityVillagerTrader.patch | 0 .../world/entity/npc/InventoryCarrier.patch | 0 .../world/entity/npc/MobSpawnerTrader.patch | 0 .../world/entity/player/EntityHuman.patch | 0 .../world/entity/player/PlayerInventory.patch | 0 .../world/entity/projectile/EntityArrow.patch | 0 .../projectile/EntityDragonFireball.patch | 0 .../world/entity/projectile/EntityEgg.patch | 0 .../entity/projectile/EntityEnderPearl.patch | 0 .../entity/projectile/EntityEnderSignal.patch | 0 .../entity/projectile/EntityEvokerFangs.patch | 0 .../entity/projectile/EntityFireball.patch | 0 .../projectile/EntityFireballFireball.patch | 0 .../entity/projectile/EntityFireworks.patch | 0 .../entity/projectile/EntityFishingHook.patch | 0 .../projectile/EntityLargeFireball.patch | 0 .../entity/projectile/EntityLlamaSpit.patch | 0 .../entity/projectile/EntityPotion.patch | 0 .../entity/projectile/EntityProjectile.patch | 0 .../EntityProjectileThrowable.patch | 0 .../projectile/EntityShulkerBullet.patch | 0 .../projectile/EntitySmallFireball.patch | 0 .../entity/projectile/EntitySnowball.patch | 0 .../projectile/EntitySpectralArrow.patch | 0 .../projectile/EntityThrownExpBottle.patch | 0 .../projectile/EntityThrownTrident.patch | 0 .../entity/projectile/EntityTippedArrow.patch | 0 .../entity/projectile/EntityWitherSkull.patch | 0 .../world/entity/projectile/IProjectile.patch | 0 .../windcharge/AbstractWindCharge.patch | 0 .../world/entity/raid/EntityRaider.patch | 0 .../world/entity/raid/PersistentRaid.patch | 0 .../minecraft/world/entity/raid/Raid.patch | 0 .../world/entity/vehicle/AbstractBoat.patch | 0 .../entity/vehicle/AbstractChestBoat.patch | 0 .../vehicle/EntityMinecartAbstract.patch | 0 .../vehicle/EntityMinecartCommandBlock.patch | 0 .../vehicle/EntityMinecartContainer.patch | 0 .../entity/vehicle/EntityMinecartTNT.patch | 0 .../entity/vehicle/NewMinecartBehavior.patch | 0 .../entity/vehicle/OldMinecartBehavior.patch | 0 .../world/entity/vehicle/VehicleEntity.patch | 0 .../net/minecraft/world/food/FoodInfo.patch | 0 .../minecraft/world/food/FoodMetaData.patch | 0 .../inventory/AbstractCraftingMenu.patch | 0 .../minecraft/world/inventory/Container.patch | 0 .../world/inventory/ContainerAccess.patch | 0 .../world/inventory/ContainerAnvil.patch | 0 .../inventory/ContainerAnvilAbstract.patch | 0 .../world/inventory/ContainerBeacon.patch | 0 .../inventory/ContainerBrewingStand.patch | 0 .../inventory/ContainerCartography.patch | 0 .../world/inventory/ContainerChest.patch | 0 .../world/inventory/ContainerDispenser.patch | 0 .../inventory/ContainerEnchantTable.patch | 0 .../world/inventory/ContainerFurnace.patch | 0 .../world/inventory/ContainerGrindstone.patch | 0 .../world/inventory/ContainerHopper.patch | 0 .../world/inventory/ContainerHorse.patch | 0 .../world/inventory/ContainerLectern.patch | 0 .../world/inventory/ContainerLoom.patch | 0 .../world/inventory/ContainerMerchant.patch | 0 .../world/inventory/ContainerPlayer.patch | 0 .../world/inventory/ContainerShulkerBox.patch | 0 .../world/inventory/ContainerSmithing.patch | 0 .../inventory/ContainerStonecutter.patch | 0 .../world/inventory/ContainerWorkbench.patch | 0 .../world/inventory/Containers.patch | 0 .../world/inventory/CrafterMenu.patch | 0 .../inventory/InventoryCraftResult.patch | 0 .../world/inventory/InventoryCrafting.patch | 0 .../world/inventory/InventoryEnderChest.patch | 0 .../world/inventory/InventoryMerchant.patch | 0 .../world/inventory/SlotFurnaceResult.patch | 0 .../TransientCraftingContainer.patch | 0 .../minecraft/world/item/ItemArmorStand.patch | 0 .../net/minecraft/world/item/ItemBlock.patch | 0 .../world/item/ItemBlockWallable.patch | 0 .../net/minecraft/world/item/ItemBoat.patch | 0 .../minecraft/world/item/ItemBoneMeal.patch | 0 .../net/minecraft/world/item/ItemBucket.patch | 0 .../minecraft/world/item/ItemDebugStick.patch | 0 .../net/minecraft/world/item/ItemDye.patch | 0 .../net/minecraft/world/item/ItemEgg.patch | 0 .../minecraft/world/item/ItemEndCrystal.patch | 0 .../minecraft/world/item/ItemEnderEye.patch | 0 .../minecraft/world/item/ItemEnderPearl.patch | 0 .../minecraft/world/item/ItemFireball.patch | 0 .../minecraft/world/item/ItemFishingRod.patch | 0 .../world/item/ItemFlintAndSteel.patch | 0 .../minecraft/world/item/ItemHanging.patch | 0 .../net/minecraft/world/item/ItemLeash.patch | 0 .../minecraft/world/item/ItemMinecart.patch | 0 .../minecraft/world/item/ItemMonsterEgg.patch | 0 .../world/item/ItemProjectileWeapon.patch | 0 .../net/minecraft/world/item/ItemSign.patch | 0 .../minecraft/world/item/ItemSnowball.patch | 0 .../net/minecraft/world/item/ItemStack.patch | 0 .../minecraft/world/item/ItemTrident.patch | 0 .../world/item/alchemy/PotionContents.patch | 0 .../world/item/component/Consumable.patch | 0 .../item/component/ConsumableListener.patch | 0 .../item/component/DeathProtection.patch | 0 .../component/SuspiciousStewEffects.patch | 0 .../ApplyStatusEffectsConsumeEffect.patch | 0 .../ClearAllStatusEffectsConsumeEffect.patch | 0 .../item/consume_effects/ConsumeEffect.patch | 0 .../RemoveStatusEffectsConsumeEffect.patch | 0 .../TeleportRandomlyConsumeEffect.patch | 0 .../world/item/crafting/CraftingManager.patch | 0 .../world/item/crafting/FurnaceRecipe.patch | 0 .../world/item/crafting/IRecipe.patch | 0 .../world/item/crafting/IRecipeComplex.patch | 0 .../world/item/crafting/RecipeBlasting.patch | 0 .../world/item/crafting/RecipeCampfire.patch | 0 .../world/item/crafting/RecipeHolder.patch | 0 .../world/item/crafting/RecipeItemStack.patch | 0 .../world/item/crafting/RecipeMap.patch | 0 .../world/item/crafting/RecipeSmoking.patch | 0 .../item/crafting/RecipeStonecutting.patch | 0 .../world/item/crafting/ShapedRecipes.patch | 0 .../item/crafting/ShapelessRecipes.patch | 0 .../crafting/SmithingTransformRecipe.patch | 0 .../item/crafting/SmithingTrimRecipe.patch | 0 .../world/item/crafting/TransmuteRecipe.patch | 0 .../enchantment/effects/ApplyMobEffect.patch | 0 .../item/enchantment/effects/Ignite.patch | 0 .../enchantment/effects/ReplaceBlock.patch | 0 .../enchantment/effects/ReplaceDisk.patch | 0 .../effects/SummonEntityEffect.patch | 0 .../world/item/trading/IMerchant.patch | 0 .../world/item/trading/MerchantRecipe.patch | 0 .../level/CommandBlockListenerAbstract.patch | 0 .../net/minecraft/world/level/GameRules.patch | 0 .../world/level/GeneratorAccess.patch | 0 .../minecraft/world/level/IBlockAccess.patch | 0 .../minecraft/world/level/IWorldWriter.patch | 0 .../world/level/MobSpawnerAbstract.patch | 0 .../net/minecraft/world/level/RayTrace.patch | 0 .../world/level/ServerExplosion.patch | 0 .../world/level/SpawnerCreature.patch | 0 .../net/minecraft/world/level/World.patch | 0 .../minecraft/world/level/WorldAccess.patch | 0 .../level/block/AbstractCandleBlock.patch | 0 .../world/level/block/BigDripleafBlock.patch | 0 .../minecraft/world/level/block/Block.patch | 0 .../world/level/block/BlockBamboo.patch | 0 .../level/block/BlockBambooSapling.patch | 0 .../world/level/block/BlockBed.patch | 0 .../world/level/block/BlockBeehive.patch | 0 .../world/level/block/BlockBell.patch | 0 .../level/block/BlockButtonAbstract.patch | 0 .../world/level/block/BlockCactus.patch | 0 .../world/level/block/BlockCake.patch | 0 .../world/level/block/BlockCampfire.patch | 0 .../world/level/block/BlockCauldron.patch | 0 .../world/level/block/BlockChest.patch | 0 .../world/level/block/BlockChorusFlower.patch | 0 .../world/level/block/BlockCocoa.patch | 0 .../world/level/block/BlockCommand.patch | 0 .../world/level/block/BlockComposter.patch | 0 .../level/block/BlockConcretePowder.patch | 0 .../world/level/block/BlockCoral.patch | 0 .../world/level/block/BlockCoralFan.patch | 0 .../world/level/block/BlockCoralFanWall.patch | 0 .../world/level/block/BlockCoralPlant.patch | 0 .../world/level/block/BlockCrops.patch | 0 .../level/block/BlockDaylightDetector.patch | 0 .../level/block/BlockDiodeAbstract.patch | 0 .../level/block/BlockDirtSnowSpreadable.patch | 0 .../world/level/block/BlockDispenser.patch | 0 .../world/level/block/BlockDoor.patch | 0 .../world/level/block/BlockDragonEgg.patch | 0 .../world/level/block/BlockDropper.patch | 0 .../world/level/block/BlockEndGateway.patch | 0 .../world/level/block/BlockEnderPortal.patch | 0 .../world/level/block/BlockFenceGate.patch | 0 .../world/level/block/BlockFire.patch | 0 .../world/level/block/BlockFireAbstract.patch | 0 .../world/level/block/BlockFluids.patch | 0 .../world/level/block/BlockFungi.patch | 0 .../world/level/block/BlockGrassPath.patch | 0 .../world/level/block/BlockGrowingTop.patch | 0 .../world/level/block/BlockIce.patch | 0 .../world/level/block/BlockLeaves.patch | 0 .../world/level/block/BlockLectern.patch | 0 .../world/level/block/BlockLever.patch | 0 .../world/level/block/BlockMagma.patch | 0 .../level/block/BlockMinecartDetector.patch | 0 .../world/level/block/BlockMobSpawner.patch | 0 .../world/level/block/BlockMonsterEggs.patch | 0 .../world/level/block/BlockMushroom.patch | 0 .../world/level/block/BlockNetherWart.patch | 0 .../world/level/block/BlockNote.patch | 0 .../world/level/block/BlockNylium.patch | 0 .../world/level/block/BlockObserver.patch | 0 .../world/level/block/BlockPlant.patch | 0 .../world/level/block/BlockPortal.patch | 0 .../world/level/block/BlockPoweredRail.patch | 0 .../block/BlockPressurePlateAbstract.patch | 0 .../block/BlockPressurePlateBinary.patch | 0 .../block/BlockPressurePlateWeighted.patch | 0 .../level/block/BlockPumpkinCarved.patch | 0 .../level/block/BlockRedstoneComparator.patch | 0 .../world/level/block/BlockRedstoneLamp.patch | 0 .../world/level/block/BlockRedstoneOre.patch | 0 .../level/block/BlockRedstoneTorch.patch | 0 .../world/level/block/BlockReed.patch | 0 .../level/block/BlockRespawnAnchor.patch | 0 .../world/level/block/BlockSapling.patch | 0 .../world/level/block/BlockScaffolding.patch | 0 .../world/level/block/BlockSign.patch | 0 .../world/level/block/BlockSnow.patch | 0 .../world/level/block/BlockSoil.patch | 0 .../world/level/block/BlockSponge.patch | 0 .../world/level/block/BlockStem.patch | 0 .../level/block/BlockSweetBerryBush.patch | 0 .../world/level/block/BlockTNT.patch | 0 .../world/level/block/BlockTallPlant.patch | 0 .../world/level/block/BlockTrapdoor.patch | 0 .../world/level/block/BlockTripwire.patch | 0 .../world/level/block/BlockTripwireHook.patch | 0 .../world/level/block/BlockTurtleEgg.patch | 0 .../world/level/block/BlockVine.patch | 0 .../world/level/block/BlockWaterLily.patch | 0 .../world/level/block/BlockWitherRose.patch | 0 .../world/level/block/BlockWitherSkull.patch | 0 .../level/block/BuddingAmethystBlock.patch | 0 .../world/level/block/CaveVines.patch | 0 .../level/block/CeilingHangingSignBlock.patch | 0 .../level/block/ChangeOverTimeBlock.patch | 0 .../world/level/block/CrafterBlock.patch | 0 .../world/level/block/DecoratedPotBlock.patch | 0 .../level/block/DropExperienceBlock.patch | 0 .../level/block/LayeredCauldronBlock.patch | 0 .../world/level/block/LightningRodBlock.patch | 0 .../world/level/block/MultifaceSpreader.patch | 0 .../level/block/PointedDripstoneBlock.patch | 0 .../world/level/block/PowderSnowBlock.patch | 0 .../world/level/block/RootedDirtBlock.patch | 0 .../world/level/block/SculkBlock.patch | 0 .../level/block/SculkCatalystBlock.patch | 0 .../world/level/block/SculkSensorBlock.patch | 0 .../level/block/SculkShriekerBlock.patch | 0 .../world/level/block/SculkSpreader.patch | 0 .../world/level/block/SculkVeinBlock.patch | 0 .../level/block/WallHangingSignBlock.patch | 0 .../block/entity/BrushableBlockEntity.patch | 0 .../entity/ChiseledBookShelfBlockEntity.patch | 0 .../entity/ContainerOpenersCounter.patch | 0 .../block/entity/CrafterBlockEntity.patch | 0 .../entity/DecoratedPotBlockEntity.patch | 0 .../entity/SculkCatalystBlockEntity.patch | 0 .../world/level/block/entity/TileEntity.patch | 0 .../level/block/entity/TileEntityBanner.patch | 0 .../level/block/entity/TileEntityBarrel.patch | 0 .../level/block/entity/TileEntityBeacon.patch | 0 .../block/entity/TileEntityBeehive.patch | 0 .../level/block/entity/TileEntityBell.patch | 0 .../block/entity/TileEntityBrewingStand.patch | 0 .../block/entity/TileEntityCampfire.patch | 0 .../level/block/entity/TileEntityChest.patch | 0 .../block/entity/TileEntityCommand.patch | 0 .../block/entity/TileEntityConduit.patch | 0 .../block/entity/TileEntityContainer.patch | 0 .../block/entity/TileEntityDispenser.patch | 0 .../block/entity/TileEntityEndGateway.patch | 0 .../block/entity/TileEntityFurnace.patch | 0 .../level/block/entity/TileEntityHopper.patch | 0 .../block/entity/TileEntityJukeBox.patch | 0 .../block/entity/TileEntityLectern.patch | 0 .../block/entity/TileEntityShulkerBox.patch | 0 .../level/block/entity/TileEntitySign.patch | 0 .../level/block/entity/TileEntityTypes.patch | 0 .../entity/trialspawner/TrialSpawner.patch | 0 .../trialspawner/TrialSpawnerData.patch | 0 .../block/entity/vault/VaultBlockEntity.patch | 0 .../block/grower/WorldGenTreeProvider.patch | 0 .../level/block/piston/BlockPiston.patch | 0 .../world/level/block/state/BlockBase.patch | 0 .../world/level/border/WorldBorder.patch | 0 .../minecraft/world/level/chunk/Chunk.patch | 0 .../world/level/chunk/ChunkGenerator.patch | 0 .../chunk/ChunkGeneratorStructureState.patch | 0 .../world/level/chunk/ChunkSection.patch | 0 .../world/level/chunk/IChunkAccess.patch | 0 .../world/level/chunk/NibbleArray.patch | 0 .../level/chunk/status/ChunkStatusTasks.patch | 0 .../level/chunk/storage/IChunkLoader.patch | 0 .../level/chunk/storage/RegionFile.patch | 0 .../level/chunk/storage/RegionFileCache.patch | 0 .../chunk/storage/SerializableChunkData.patch | 0 .../dimension/end/EnderDragonBattle.patch | 0 .../dimension/end/EnumDragonRespawn.patch | 0 .../world/level/entity/EntityAccess.patch | 0 .../PersistentEntitySectionManager.patch | 0 .../level/gameevent/GameEventDispatcher.patch | 0 .../vibrations/VibrationSystem.patch | 0 .../levelgen/ChunkGeneratorAbstract.patch | 0 .../level/levelgen/ChunkProviderFlat.patch | 0 .../level/levelgen/MobSpawnerPatrol.patch | 0 .../level/levelgen/MobSpawnerPhantom.patch | 0 .../levelgen/feature/EndPlatformFeature.patch | 0 .../structure/PersistentStructureLegacy.patch | 0 .../levelgen/structure/StructurePiece.patch | 0 .../levelgen/structure/StructureStart.patch | 0 .../structures/DesertPyramidStructure.patch | 0 .../structure/structures/EndCityPieces.patch | 0 .../structure/structures/IglooPieces.patch | 0 .../structures/MineshaftPieces.patch | 0 .../structures/NetherFortressPieces.patch | 0 .../structures/OceanRuinPieces.patch | 0 .../structures/ShipwreckPieces.patch | 0 .../structures/StrongholdPieces.patch | 0 .../structure/structures/SwampHutPiece.patch | 0 .../templatesystem/DefinedStructure.patch | 0 .../templatesystem/DefinedStructureInfo.patch | 0 .../level/material/FluidTypeFlowing.patch | 0 .../world/level/material/FluidTypeLava.patch | 0 .../world/level/portal/BlockPortalShape.patch | 0 .../level/portal/PortalTravelAgent.patch | 0 .../level/portal/TeleportTransition.patch | 0 .../DefaultRedstoneWireEvaluator.patch | 0 .../ExperimentalRedstoneWireEvaluator.patch | 0 .../level/redstone/NeighborUpdater.patch | 0 .../world/level/saveddata/maps/WorldMap.patch | 0 .../world/level/storage/Convertable.patch | 0 .../world/level/storage/WorldDataServer.patch | 0 .../world/level/storage/WorldNBTStorage.patch | 0 .../level/storage/loot/LootDataType.patch | 0 .../world/level/storage/loot/LootTable.patch | 0 .../LootItemConditionSurvivesExplosion.patch | 0 .../mojang/brigadier/CommandDispatcher.java | 651 ------------------ .../mojang/brigadier/tree/CommandNode.java | 206 ------ 583 files changed, 71 insertions(+), 857 deletions(-) create mode 100644 paper-server/patches/sources/com/mojang/brigadier/CommandDispatcher.java.patch create mode 100644 paper-server/patches/sources/com/mojang/brigadier/tree/CommandNode.java.patch rename paper-server/{nms-patches => patches/sources}/net/minecraft/CrashReport.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/advancements/AdvancementHolder.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/advancements/AdvancementTree.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/commands/CommandDispatcher.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/commands/CommandListenerWrapper.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/commands/ICommandListener.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/commands/arguments/ArgumentEntity.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/commands/arguments/blocks/ArgumentBlock.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/commands/arguments/selector/ArgumentParserSelector.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/commands/arguments/selector/EntitySelector.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/core/cauldron/CauldronInteraction.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/core/component/DataComponentPatch.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/core/dispenser/DispenseBehaviorBoat.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/core/dispenser/DispenseBehaviorItem.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/core/dispenser/DispenseBehaviorProjectile.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/core/dispenser/DispenseBehaviorShears.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/core/dispenser/DispenseBehaviorShulkerBox.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/core/dispenser/EquipmentDispenseItemBehavior.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/core/dispenser/IDispenseBehavior.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/core/dispenser/MinecartDispenseItemBehavior.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/nbt/NBTCompressedStreamTools.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/nbt/NBTTagByteArray.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/nbt/NBTTagIntArray.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/network/NetworkManager.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/network/PacketDataSerializer.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/network/chat/ChatHexColor.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/network/chat/IChatBaseComponent.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/network/protocol/PlayerConnectionUtils.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/network/protocol/common/ServerboundCustomPayloadPacket.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/network/protocol/common/custom/DiscardedPayload.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/network/protocol/game/ClientboundInitializeBorderPacket.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/network/protocol/game/ClientboundSetBorderCenterPacket.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/network/protocol/game/ClientboundSystemChatPacket.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/network/protocol/game/PacketPlayInBlockPlace.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/network/protocol/game/PacketPlayInUseItem.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/network/protocol/game/PacketPlayOutMultiBlockChange.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/network/protocol/handshake/PacketHandshakingInSetProtocol.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/network/syncher/DataWatcher.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/AdvancementDataPlayer.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/AdvancementDataWorld.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/CustomFunctionData.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/DispenserRegistry.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/Main.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/MinecraftServer.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/ScoreboardServer.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/ServerTickRateManager.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/bossevents/BossBattleCustom.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/commands/CommandDifficulty.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/commands/CommandEffect.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/commands/CommandGamerule.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/commands/CommandGive.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/commands/CommandList.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/commands/CommandLoot.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/commands/CommandReload.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/commands/CommandSchedule.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/commands/CommandSetWorldSpawn.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/commands/CommandSpawnpoint.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/commands/CommandSpreadPlayers.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/commands/CommandSummon.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/commands/CommandTeleport.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/commands/CommandTime.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/commands/CommandWeather.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/commands/CommandWorldBorder.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/commands/PlaceCommand.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/dedicated/DedicatedServer.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/dedicated/DedicatedServerProperties.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/dedicated/DedicatedServerSettings.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/dedicated/PropertyManager.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/gui/ServerGUI.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/level/ChunkMapDistance.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/level/ChunkProviderServer.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/level/EntityPlayer.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/level/EntityTrackerEntry.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/level/PlayerChunk.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/level/PlayerChunkMap.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/level/PlayerInteractManager.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/level/RegionLimitedWorldAccess.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/level/TicketType.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/level/WorldServer.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/network/HandshakeListener.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/network/LegacyPingHandler.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/network/LoginListener.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/network/PacketStatusListener.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/network/PlayerConnection.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/network/ServerCommonPacketListenerImpl.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/network/ServerConfigurationPacketListenerImpl.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/network/ServerConnection.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/players/ExpirableListEntry.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/players/GameProfileBanEntry.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/players/JsonList.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/players/NameReferencingFileConverter.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/players/PlayerList.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/players/SleepStatus.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/players/UserCache.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/rcon/RemoteControlCommandListener.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/server/rcon/thread/RemoteControlSession.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/stats/RecipeBookServer.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/stats/ServerStatisticManager.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/stats/StatisticManager.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/util/SpawnUtil.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/util/TickThrottler.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/util/datafix/DataConverterRegistry.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/util/datafix/fixes/DataConverterFlatten.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/util/datafix/fixes/DataConverterMap.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/util/worldupdate/WorldUpgrader.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/IInventory.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/InventoryLargeChest.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/InventorySubcontainer.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/damagesource/DamageSource.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/damagesource/DamageSources.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/effect/HealOrHarmMobEffect.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/effect/HungerMobEffect.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/effect/InfestedMobEffect.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/effect/MobEffectUtil.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/effect/OozingMobEffect.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/effect/PoisonMobEffect.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/effect/RegenerationMobEffect.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/effect/SaturationMobEffect.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/ConversionType.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/Entity.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/EntityAgeable.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/EntityAreaEffectCloud.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/EntityCreature.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/EntityExperienceOrb.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/EntityInsentient.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/EntityLightning.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/EntityLiving.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/EntityTameableAnimal.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/EntityTypes.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/IEntityAngerable.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/IEntitySelector.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/Interaction.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/Leashable.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/SaddleStorage.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/ai/attributes/GenericAttributes.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/ai/behavior/BehaviorAttackTargetForget.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/ai/behavior/BehaviorAttackTargetSet.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/ai/behavior/BehaviorCareer.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/ai/behavior/BehaviorFarm.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/ai/behavior/BehaviorFindAdmirableItem.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/ai/behavior/BehaviorFollowAdult.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/ai/behavior/BehaviorInteractDoor.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/ai/behavior/BehaviorMakeLove.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/ai/behavior/BehaviorProfession.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/ai/behavior/BehaviorUtil.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/ai/behavior/PrepareRamNearestTarget.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/ai/behavior/TryLaySpawnOnWaterNearLand.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/ai/behavior/warden/Digging.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/ai/goal/PathfinderGoalBreakDoor.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/ai/goal/PathfinderGoalEatTile.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/ai/goal/PathfinderGoalRemoveBlock.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/ai/goal/PathfinderGoalSit.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/ai/goal/PathfinderGoalTame.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/ai/goal/PathfinderGoalTempt.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/ai/goal/target/PathfinderGoalDefendVillage.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/ai/goal/target/PathfinderGoalHurtByTarget.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/ai/goal/target/PathfinderGoalNearestAttackableTarget.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/ai/goal/target/PathfinderGoalOwnerHurtByTarget.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/ai/goal/target/PathfinderGoalOwnerHurtTarget.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/ai/goal/target/PathfinderGoalTarget.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/ai/sensing/TemptingSensor.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/ai/village/VillageSiege.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/ambient/EntityBat.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/animal/Bucketable.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/animal/EntityAnimal.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/animal/EntityBee.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/animal/EntityCat.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/animal/EntityChicken.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/animal/EntityCow.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/animal/EntityDolphin.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/animal/EntityFox.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/animal/EntityIronGolem.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/animal/EntityMushroomCow.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/animal/EntityOcelot.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/animal/EntityPanda.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/animal/EntityParrot.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/animal/EntityPerchable.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/animal/EntityPig.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/animal/EntityPufferFish.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/animal/EntityRabbit.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/animal/EntitySheep.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/animal/EntitySnowman.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/animal/EntityTurtle.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/animal/EntityWolf.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/animal/allay/Allay.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/animal/armadillo/Armadillo.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/animal/axolotl/Axolotl.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/animal/camel/Camel.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/animal/frog/ShootTongue.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/animal/frog/Tadpole.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/animal/goat/Goat.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/animal/horse/EntityHorseAbstract.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/animal/horse/EntityHorseSkeleton.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/animal/horse/EntityLlama.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/animal/horse/EntityLlamaTrader.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/animal/horse/PathfinderGoalHorseTrap.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/animal/sniffer/Sniffer.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/boss/enderdragon/EntityEnderCrystal.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/boss/enderdragon/EntityEnderDragon.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/boss/enderdragon/phases/DragonControllerLandedFlame.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/boss/enderdragon/phases/DragonControllerManager.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/boss/wither/EntityWither.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/decoration/BlockAttachedEntity.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/decoration/EntityArmorStand.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/decoration/EntityItemFrame.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/decoration/EntityLeash.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/decoration/EntityPainting.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/item/EntityFallingBlock.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/item/EntityItem.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/item/EntityTNTPrimed.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/monster/Bogged.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/monster/EntityCaveSpider.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/monster/EntityCreeper.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/monster/EntityEnderman.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/monster/EntityEndermite.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/monster/EntityEvoker.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/monster/EntityGhast.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/monster/EntityGuardian.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/monster/EntityGuardianElder.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/monster/EntityIllagerIllusioner.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/monster/EntityIllagerWizard.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/monster/EntityPhantom.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/monster/EntityPigZombie.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/monster/EntityPillager.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/monster/EntityRavager.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/monster/EntityShulker.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/monster/EntitySilverfish.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/monster/EntitySkeleton.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/monster/EntitySkeletonAbstract.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/monster/EntitySkeletonWither.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/monster/EntitySlime.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/monster/EntitySpider.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/monster/EntityStrider.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/monster/EntityVex.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/monster/EntityWitch.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/monster/EntityZombie.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/monster/EntityZombieHusk.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/monster/EntityZombieVillager.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/monster/breeze/Breeze.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/monster/creaking/Creaking.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/monster/hoglin/EntityHoglin.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/monster/piglin/EntityPiglin.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/monster/piglin/EntityPiglinAbstract.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/monster/piglin/PiglinAI.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/monster/warden/Warden.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/npc/EntityVillager.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/npc/EntityVillagerAbstract.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/npc/EntityVillagerTrader.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/npc/InventoryCarrier.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/npc/MobSpawnerTrader.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/player/EntityHuman.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/player/PlayerInventory.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/projectile/EntityArrow.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/projectile/EntityDragonFireball.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/projectile/EntityEgg.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/projectile/EntityEnderPearl.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/projectile/EntityEnderSignal.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/projectile/EntityEvokerFangs.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/projectile/EntityFireball.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/projectile/EntityFireballFireball.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/projectile/EntityFireworks.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/projectile/EntityFishingHook.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/projectile/EntityLargeFireball.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/projectile/EntityLlamaSpit.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/projectile/EntityPotion.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/projectile/EntityProjectile.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/projectile/EntityProjectileThrowable.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/projectile/EntityShulkerBullet.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/projectile/EntitySmallFireball.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/projectile/EntitySnowball.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/projectile/EntitySpectralArrow.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/projectile/EntityThrownExpBottle.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/projectile/EntityThrownTrident.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/projectile/EntityTippedArrow.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/projectile/EntityWitherSkull.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/projectile/IProjectile.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/projectile/windcharge/AbstractWindCharge.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/raid/EntityRaider.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/raid/PersistentRaid.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/raid/Raid.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/vehicle/AbstractBoat.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/vehicle/AbstractChestBoat.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/vehicle/EntityMinecartAbstract.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/vehicle/EntityMinecartCommandBlock.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/vehicle/EntityMinecartContainer.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/vehicle/EntityMinecartTNT.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/vehicle/NewMinecartBehavior.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/vehicle/OldMinecartBehavior.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/entity/vehicle/VehicleEntity.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/food/FoodInfo.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/food/FoodMetaData.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/inventory/AbstractCraftingMenu.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/inventory/Container.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/inventory/ContainerAccess.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/inventory/ContainerAnvil.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/inventory/ContainerAnvilAbstract.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/inventory/ContainerBeacon.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/inventory/ContainerBrewingStand.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/inventory/ContainerCartography.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/inventory/ContainerChest.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/inventory/ContainerDispenser.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/inventory/ContainerEnchantTable.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/inventory/ContainerFurnace.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/inventory/ContainerGrindstone.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/inventory/ContainerHopper.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/inventory/ContainerHorse.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/inventory/ContainerLectern.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/inventory/ContainerLoom.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/inventory/ContainerMerchant.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/inventory/ContainerPlayer.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/inventory/ContainerShulkerBox.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/inventory/ContainerSmithing.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/inventory/ContainerStonecutter.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/inventory/ContainerWorkbench.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/inventory/Containers.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/inventory/CrafterMenu.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/inventory/InventoryCraftResult.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/inventory/InventoryCrafting.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/inventory/InventoryEnderChest.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/inventory/InventoryMerchant.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/inventory/SlotFurnaceResult.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/inventory/TransientCraftingContainer.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/ItemArmorStand.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/ItemBlock.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/ItemBlockWallable.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/ItemBoat.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/ItemBoneMeal.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/ItemBucket.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/ItemDebugStick.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/ItemDye.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/ItemEgg.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/ItemEndCrystal.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/ItemEnderEye.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/ItemEnderPearl.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/ItemFireball.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/ItemFishingRod.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/ItemFlintAndSteel.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/ItemHanging.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/ItemLeash.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/ItemMinecart.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/ItemMonsterEgg.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/ItemProjectileWeapon.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/ItemSign.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/ItemSnowball.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/ItemStack.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/ItemTrident.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/alchemy/PotionContents.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/component/Consumable.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/component/ConsumableListener.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/component/DeathProtection.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/component/SuspiciousStewEffects.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/consume_effects/ApplyStatusEffectsConsumeEffect.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/consume_effects/ClearAllStatusEffectsConsumeEffect.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/consume_effects/ConsumeEffect.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/consume_effects/RemoveStatusEffectsConsumeEffect.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/consume_effects/TeleportRandomlyConsumeEffect.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/crafting/CraftingManager.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/crafting/FurnaceRecipe.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/crafting/IRecipe.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/crafting/IRecipeComplex.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/crafting/RecipeBlasting.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/crafting/RecipeCampfire.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/crafting/RecipeHolder.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/crafting/RecipeItemStack.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/crafting/RecipeMap.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/crafting/RecipeSmoking.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/crafting/RecipeStonecutting.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/crafting/ShapedRecipes.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/crafting/ShapelessRecipes.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/crafting/SmithingTransformRecipe.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/crafting/SmithingTrimRecipe.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/crafting/TransmuteRecipe.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/enchantment/effects/ApplyMobEffect.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/enchantment/effects/Ignite.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/enchantment/effects/ReplaceBlock.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/enchantment/effects/ReplaceDisk.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/enchantment/effects/SummonEntityEffect.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/trading/IMerchant.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/item/trading/MerchantRecipe.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/CommandBlockListenerAbstract.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/GameRules.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/GeneratorAccess.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/IBlockAccess.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/IWorldWriter.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/MobSpawnerAbstract.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/RayTrace.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/ServerExplosion.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/SpawnerCreature.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/World.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/WorldAccess.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/AbstractCandleBlock.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BigDripleafBlock.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/Block.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockBamboo.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockBambooSapling.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockBed.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockBeehive.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockBell.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockButtonAbstract.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockCactus.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockCake.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockCampfire.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockCauldron.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockChest.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockChorusFlower.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockCocoa.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockCommand.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockComposter.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockConcretePowder.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockCoral.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockCoralFan.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockCoralFanWall.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockCoralPlant.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockCrops.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockDaylightDetector.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockDiodeAbstract.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockDirtSnowSpreadable.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockDispenser.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockDoor.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockDragonEgg.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockDropper.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockEndGateway.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockEnderPortal.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockFenceGate.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockFire.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockFireAbstract.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockFluids.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockFungi.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockGrassPath.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockGrowingTop.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockIce.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockLeaves.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockLectern.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockLever.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockMagma.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockMinecartDetector.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockMobSpawner.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockMonsterEggs.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockMushroom.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockNetherWart.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockNote.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockNylium.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockObserver.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockPlant.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockPortal.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockPoweredRail.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockPressurePlateAbstract.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockPressurePlateBinary.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockPressurePlateWeighted.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockPumpkinCarved.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockRedstoneComparator.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockRedstoneLamp.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockRedstoneOre.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockRedstoneTorch.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockReed.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockRespawnAnchor.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockSapling.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockScaffolding.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockSign.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockSnow.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockSoil.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockSponge.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockStem.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockSweetBerryBush.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockTNT.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockTallPlant.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockTrapdoor.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockTripwire.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockTripwireHook.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockTurtleEgg.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockVine.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockWaterLily.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockWitherRose.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BlockWitherSkull.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/BuddingAmethystBlock.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/CaveVines.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/CeilingHangingSignBlock.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/ChangeOverTimeBlock.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/CrafterBlock.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/DecoratedPotBlock.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/DropExperienceBlock.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/LayeredCauldronBlock.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/LightningRodBlock.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/MultifaceSpreader.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/PointedDripstoneBlock.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/PowderSnowBlock.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/RootedDirtBlock.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/SculkBlock.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/SculkCatalystBlock.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/SculkSensorBlock.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/SculkShriekerBlock.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/SculkSpreader.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/SculkVeinBlock.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/WallHangingSignBlock.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/entity/BrushableBlockEntity.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/entity/ChiseledBookShelfBlockEntity.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/entity/ContainerOpenersCounter.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/entity/CrafterBlockEntity.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/entity/DecoratedPotBlockEntity.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/entity/SculkCatalystBlockEntity.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/entity/TileEntity.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/entity/TileEntityBanner.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/entity/TileEntityBarrel.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/entity/TileEntityBeacon.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/entity/TileEntityBeehive.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/entity/TileEntityBell.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/entity/TileEntityBrewingStand.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/entity/TileEntityCampfire.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/entity/TileEntityChest.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/entity/TileEntityCommand.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/entity/TileEntityConduit.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/entity/TileEntityContainer.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/entity/TileEntityDispenser.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/entity/TileEntityEndGateway.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/entity/TileEntityFurnace.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/entity/TileEntityHopper.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/entity/TileEntityJukeBox.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/entity/TileEntityLectern.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/entity/TileEntityShulkerBox.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/entity/TileEntitySign.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/entity/TileEntityTypes.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/entity/trialspawner/TrialSpawner.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/entity/trialspawner/TrialSpawnerData.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/entity/vault/VaultBlockEntity.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/grower/WorldGenTreeProvider.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/piston/BlockPiston.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/block/state/BlockBase.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/border/WorldBorder.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/chunk/Chunk.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/chunk/ChunkGenerator.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/chunk/ChunkGeneratorStructureState.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/chunk/ChunkSection.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/chunk/IChunkAccess.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/chunk/NibbleArray.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/chunk/status/ChunkStatusTasks.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/chunk/storage/IChunkLoader.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/chunk/storage/RegionFile.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/chunk/storage/RegionFileCache.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/chunk/storage/SerializableChunkData.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/dimension/end/EnderDragonBattle.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/dimension/end/EnumDragonRespawn.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/entity/EntityAccess.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/entity/PersistentEntitySectionManager.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/gameevent/GameEventDispatcher.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/gameevent/vibrations/VibrationSystem.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/levelgen/ChunkGeneratorAbstract.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/levelgen/ChunkProviderFlat.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/levelgen/MobSpawnerPatrol.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/levelgen/MobSpawnerPhantom.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/levelgen/feature/EndPlatformFeature.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/levelgen/structure/PersistentStructureLegacy.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/levelgen/structure/StructurePiece.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/levelgen/structure/StructureStart.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/levelgen/structure/structures/DesertPyramidStructure.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/levelgen/structure/structures/EndCityPieces.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/levelgen/structure/structures/IglooPieces.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/levelgen/structure/structures/MineshaftPieces.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/levelgen/structure/structures/NetherFortressPieces.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/levelgen/structure/structures/OceanRuinPieces.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/levelgen/structure/structures/ShipwreckPieces.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/levelgen/structure/structures/StrongholdPieces.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/levelgen/structure/structures/SwampHutPiece.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/levelgen/structure/templatesystem/DefinedStructure.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/levelgen/structure/templatesystem/DefinedStructureInfo.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/material/FluidTypeFlowing.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/material/FluidTypeLava.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/portal/BlockPortalShape.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/portal/PortalTravelAgent.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/portal/TeleportTransition.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/redstone/DefaultRedstoneWireEvaluator.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/redstone/ExperimentalRedstoneWireEvaluator.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/redstone/NeighborUpdater.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/saveddata/maps/WorldMap.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/storage/Convertable.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/storage/WorldDataServer.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/storage/WorldNBTStorage.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/storage/loot/LootDataType.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/storage/loot/LootTable.patch (100%) rename paper-server/{nms-patches => patches/sources}/net/minecraft/world/level/storage/loot/predicates/LootItemConditionSurvivesExplosion.patch (100%) delete mode 100644 paper-server/src/main/java/com/mojang/brigadier/CommandDispatcher.java delete mode 100644 paper-server/src/main/java/com/mojang/brigadier/tree/CommandNode.java diff --git a/paper-server/patches/sources/com/mojang/brigadier/CommandDispatcher.java.patch b/paper-server/patches/sources/com/mojang/brigadier/CommandDispatcher.java.patch new file mode 100644 index 0000000000..25e60973c6 --- /dev/null +++ b/paper-server/patches/sources/com/mojang/brigadier/CommandDispatcher.java.patch @@ -0,0 +1,19 @@ +--- a/com/mojang/brigadier/CommandDispatcher.java ++++ b/com/mojang/brigadier/CommandDispatcher.java +@@ -3,6 +3,7 @@ + + package com.mojang.brigadier; + ++// CHECKSTYLE:OFF + import com.mojang.brigadier.builder.LiteralArgumentBuilder; + import com.mojang.brigadier.context.CommandContext; + import com.mojang.brigadier.context.CommandContextBuilder; +@@ -538,7 +539,7 @@ + for (final CommandNode<S> node : parent.getChildren()) { + CompletableFuture<Suggestions> future = Suggestions.empty(); + try { +- future = node.listSuggestions(context.build(truncatedInput), new SuggestionsBuilder(truncatedInput, truncatedInputLowerCase, start)); ++ if (node.canUse(parse.getContext().getSource())) future = node.listSuggestions(context.build(truncatedInput), new SuggestionsBuilder(truncatedInput, truncatedInputLowerCase, start)); // CraftBukkit + } catch (final CommandSyntaxException ignored) { + } + futures[i++] = future; diff --git a/paper-server/patches/sources/com/mojang/brigadier/tree/CommandNode.java.patch b/paper-server/patches/sources/com/mojang/brigadier/tree/CommandNode.java.patch new file mode 100644 index 0000000000..bb35aa4fcd --- /dev/null +++ b/paper-server/patches/sources/com/mojang/brigadier/tree/CommandNode.java.patch @@ -0,0 +1,52 @@ +--- a/com/mojang/brigadier/tree/CommandNode.java ++++ b/com/mojang/brigadier/tree/CommandNode.java +@@ -3,6 +3,7 @@ + + package com.mojang.brigadier.tree; + ++// CHECKSTYLE:OFF + import com.mojang.brigadier.AmbiguityConsumer; + import com.mojang.brigadier.Command; + import com.mojang.brigadier.RedirectModifier; +@@ -23,6 +24,8 @@ + import java.util.concurrent.CompletableFuture; + import java.util.function.Predicate; + ++import net.minecraft.commands.CommandListenerWrapper; // CraftBukkit ++ + public abstract class CommandNode<S> implements Comparable<CommandNode<S>> { + private final Map<String, CommandNode<S>> children = new LinkedHashMap<>(); + private final Map<String, LiteralCommandNode<S>> literals = new LinkedHashMap<>(); +@@ -32,6 +35,13 @@ + private final RedirectModifier<S> modifier; + private final boolean forks; + private Command<S> command; ++ // CraftBukkit start ++ public void removeCommand(String name) { ++ children.remove(name); ++ literals.remove(name); ++ arguments.remove(name); ++ } ++ // CraftBukkit end + + protected CommandNode(final Command<S> command, final Predicate<S> requirement, final CommandNode<S> redirect, final RedirectModifier<S> modifier, final boolean forks) { + this.command = command; +@@ -61,7 +71,17 @@ + return modifier; + } + +- public boolean canUse(final S source) { ++ // CraftBukkit start ++ public synchronized boolean canUse(final S source) { ++ if (source instanceof CommandListenerWrapper) { ++ try { ++ ((CommandListenerWrapper) source).currentCommand = this; ++ return requirement.test(source); ++ } finally { ++ ((CommandListenerWrapper) source).currentCommand = null; ++ } ++ } ++ // CraftBukkit end + return requirement.test(source); + } + diff --git a/paper-server/nms-patches/net/minecraft/CrashReport.patch b/paper-server/patches/sources/net/minecraft/CrashReport.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/CrashReport.patch rename to paper-server/patches/sources/net/minecraft/CrashReport.patch diff --git a/paper-server/nms-patches/net/minecraft/advancements/AdvancementHolder.patch b/paper-server/patches/sources/net/minecraft/advancements/AdvancementHolder.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/advancements/AdvancementHolder.patch rename to paper-server/patches/sources/net/minecraft/advancements/AdvancementHolder.patch diff --git a/paper-server/nms-patches/net/minecraft/advancements/AdvancementTree.patch b/paper-server/patches/sources/net/minecraft/advancements/AdvancementTree.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/advancements/AdvancementTree.patch rename to paper-server/patches/sources/net/minecraft/advancements/AdvancementTree.patch diff --git a/paper-server/nms-patches/net/minecraft/commands/CommandDispatcher.patch b/paper-server/patches/sources/net/minecraft/commands/CommandDispatcher.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/commands/CommandDispatcher.patch rename to paper-server/patches/sources/net/minecraft/commands/CommandDispatcher.patch diff --git a/paper-server/nms-patches/net/minecraft/commands/CommandListenerWrapper.patch b/paper-server/patches/sources/net/minecraft/commands/CommandListenerWrapper.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/commands/CommandListenerWrapper.patch rename to paper-server/patches/sources/net/minecraft/commands/CommandListenerWrapper.patch diff --git a/paper-server/nms-patches/net/minecraft/commands/ICommandListener.patch b/paper-server/patches/sources/net/minecraft/commands/ICommandListener.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/commands/ICommandListener.patch rename to paper-server/patches/sources/net/minecraft/commands/ICommandListener.patch diff --git a/paper-server/nms-patches/net/minecraft/commands/arguments/ArgumentEntity.patch b/paper-server/patches/sources/net/minecraft/commands/arguments/ArgumentEntity.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/commands/arguments/ArgumentEntity.patch rename to paper-server/patches/sources/net/minecraft/commands/arguments/ArgumentEntity.patch diff --git a/paper-server/nms-patches/net/minecraft/commands/arguments/blocks/ArgumentBlock.patch b/paper-server/patches/sources/net/minecraft/commands/arguments/blocks/ArgumentBlock.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/commands/arguments/blocks/ArgumentBlock.patch rename to paper-server/patches/sources/net/minecraft/commands/arguments/blocks/ArgumentBlock.patch diff --git a/paper-server/nms-patches/net/minecraft/commands/arguments/selector/ArgumentParserSelector.patch b/paper-server/patches/sources/net/minecraft/commands/arguments/selector/ArgumentParserSelector.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/commands/arguments/selector/ArgumentParserSelector.patch rename to paper-server/patches/sources/net/minecraft/commands/arguments/selector/ArgumentParserSelector.patch diff --git a/paper-server/nms-patches/net/minecraft/commands/arguments/selector/EntitySelector.patch b/paper-server/patches/sources/net/minecraft/commands/arguments/selector/EntitySelector.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/commands/arguments/selector/EntitySelector.patch rename to paper-server/patches/sources/net/minecraft/commands/arguments/selector/EntitySelector.patch diff --git a/paper-server/nms-patches/net/minecraft/core/cauldron/CauldronInteraction.patch b/paper-server/patches/sources/net/minecraft/core/cauldron/CauldronInteraction.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/core/cauldron/CauldronInteraction.patch rename to paper-server/patches/sources/net/minecraft/core/cauldron/CauldronInteraction.patch diff --git a/paper-server/nms-patches/net/minecraft/core/component/DataComponentPatch.patch b/paper-server/patches/sources/net/minecraft/core/component/DataComponentPatch.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/core/component/DataComponentPatch.patch rename to paper-server/patches/sources/net/minecraft/core/component/DataComponentPatch.patch diff --git a/paper-server/nms-patches/net/minecraft/core/dispenser/DispenseBehaviorBoat.patch b/paper-server/patches/sources/net/minecraft/core/dispenser/DispenseBehaviorBoat.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/core/dispenser/DispenseBehaviorBoat.patch rename to paper-server/patches/sources/net/minecraft/core/dispenser/DispenseBehaviorBoat.patch diff --git a/paper-server/nms-patches/net/minecraft/core/dispenser/DispenseBehaviorItem.patch b/paper-server/patches/sources/net/minecraft/core/dispenser/DispenseBehaviorItem.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/core/dispenser/DispenseBehaviorItem.patch rename to paper-server/patches/sources/net/minecraft/core/dispenser/DispenseBehaviorItem.patch diff --git a/paper-server/nms-patches/net/minecraft/core/dispenser/DispenseBehaviorProjectile.patch b/paper-server/patches/sources/net/minecraft/core/dispenser/DispenseBehaviorProjectile.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/core/dispenser/DispenseBehaviorProjectile.patch rename to paper-server/patches/sources/net/minecraft/core/dispenser/DispenseBehaviorProjectile.patch diff --git a/paper-server/nms-patches/net/minecraft/core/dispenser/DispenseBehaviorShears.patch b/paper-server/patches/sources/net/minecraft/core/dispenser/DispenseBehaviorShears.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/core/dispenser/DispenseBehaviorShears.patch rename to paper-server/patches/sources/net/minecraft/core/dispenser/DispenseBehaviorShears.patch diff --git a/paper-server/nms-patches/net/minecraft/core/dispenser/DispenseBehaviorShulkerBox.patch b/paper-server/patches/sources/net/minecraft/core/dispenser/DispenseBehaviorShulkerBox.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/core/dispenser/DispenseBehaviorShulkerBox.patch rename to paper-server/patches/sources/net/minecraft/core/dispenser/DispenseBehaviorShulkerBox.patch diff --git a/paper-server/nms-patches/net/minecraft/core/dispenser/EquipmentDispenseItemBehavior.patch b/paper-server/patches/sources/net/minecraft/core/dispenser/EquipmentDispenseItemBehavior.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/core/dispenser/EquipmentDispenseItemBehavior.patch rename to paper-server/patches/sources/net/minecraft/core/dispenser/EquipmentDispenseItemBehavior.patch diff --git a/paper-server/nms-patches/net/minecraft/core/dispenser/IDispenseBehavior.patch b/paper-server/patches/sources/net/minecraft/core/dispenser/IDispenseBehavior.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/core/dispenser/IDispenseBehavior.patch rename to paper-server/patches/sources/net/minecraft/core/dispenser/IDispenseBehavior.patch diff --git a/paper-server/nms-patches/net/minecraft/core/dispenser/MinecartDispenseItemBehavior.patch b/paper-server/patches/sources/net/minecraft/core/dispenser/MinecartDispenseItemBehavior.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/core/dispenser/MinecartDispenseItemBehavior.patch rename to paper-server/patches/sources/net/minecraft/core/dispenser/MinecartDispenseItemBehavior.patch diff --git a/paper-server/nms-patches/net/minecraft/nbt/NBTCompressedStreamTools.patch b/paper-server/patches/sources/net/minecraft/nbt/NBTCompressedStreamTools.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/nbt/NBTCompressedStreamTools.patch rename to paper-server/patches/sources/net/minecraft/nbt/NBTCompressedStreamTools.patch diff --git a/paper-server/nms-patches/net/minecraft/nbt/NBTTagByteArray.patch b/paper-server/patches/sources/net/minecraft/nbt/NBTTagByteArray.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/nbt/NBTTagByteArray.patch rename to paper-server/patches/sources/net/minecraft/nbt/NBTTagByteArray.patch diff --git a/paper-server/nms-patches/net/minecraft/nbt/NBTTagIntArray.patch b/paper-server/patches/sources/net/minecraft/nbt/NBTTagIntArray.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/nbt/NBTTagIntArray.patch rename to paper-server/patches/sources/net/minecraft/nbt/NBTTagIntArray.patch diff --git a/paper-server/nms-patches/net/minecraft/network/NetworkManager.patch b/paper-server/patches/sources/net/minecraft/network/NetworkManager.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/network/NetworkManager.patch rename to paper-server/patches/sources/net/minecraft/network/NetworkManager.patch diff --git a/paper-server/nms-patches/net/minecraft/network/PacketDataSerializer.patch b/paper-server/patches/sources/net/minecraft/network/PacketDataSerializer.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/network/PacketDataSerializer.patch rename to paper-server/patches/sources/net/minecraft/network/PacketDataSerializer.patch diff --git a/paper-server/nms-patches/net/minecraft/network/chat/ChatHexColor.patch b/paper-server/patches/sources/net/minecraft/network/chat/ChatHexColor.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/network/chat/ChatHexColor.patch rename to paper-server/patches/sources/net/minecraft/network/chat/ChatHexColor.patch diff --git a/paper-server/nms-patches/net/minecraft/network/chat/IChatBaseComponent.patch b/paper-server/patches/sources/net/minecraft/network/chat/IChatBaseComponent.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/network/chat/IChatBaseComponent.patch rename to paper-server/patches/sources/net/minecraft/network/chat/IChatBaseComponent.patch diff --git a/paper-server/nms-patches/net/minecraft/network/protocol/PlayerConnectionUtils.patch b/paper-server/patches/sources/net/minecraft/network/protocol/PlayerConnectionUtils.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/network/protocol/PlayerConnectionUtils.patch rename to paper-server/patches/sources/net/minecraft/network/protocol/PlayerConnectionUtils.patch diff --git a/paper-server/nms-patches/net/minecraft/network/protocol/common/ServerboundCustomPayloadPacket.patch b/paper-server/patches/sources/net/minecraft/network/protocol/common/ServerboundCustomPayloadPacket.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/network/protocol/common/ServerboundCustomPayloadPacket.patch rename to paper-server/patches/sources/net/minecraft/network/protocol/common/ServerboundCustomPayloadPacket.patch diff --git a/paper-server/nms-patches/net/minecraft/network/protocol/common/custom/DiscardedPayload.patch b/paper-server/patches/sources/net/minecraft/network/protocol/common/custom/DiscardedPayload.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/network/protocol/common/custom/DiscardedPayload.patch rename to paper-server/patches/sources/net/minecraft/network/protocol/common/custom/DiscardedPayload.patch diff --git a/paper-server/nms-patches/net/minecraft/network/protocol/game/ClientboundInitializeBorderPacket.patch b/paper-server/patches/sources/net/minecraft/network/protocol/game/ClientboundInitializeBorderPacket.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/network/protocol/game/ClientboundInitializeBorderPacket.patch rename to paper-server/patches/sources/net/minecraft/network/protocol/game/ClientboundInitializeBorderPacket.patch diff --git a/paper-server/nms-patches/net/minecraft/network/protocol/game/ClientboundSetBorderCenterPacket.patch b/paper-server/patches/sources/net/minecraft/network/protocol/game/ClientboundSetBorderCenterPacket.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/network/protocol/game/ClientboundSetBorderCenterPacket.patch rename to paper-server/patches/sources/net/minecraft/network/protocol/game/ClientboundSetBorderCenterPacket.patch diff --git a/paper-server/nms-patches/net/minecraft/network/protocol/game/ClientboundSystemChatPacket.patch b/paper-server/patches/sources/net/minecraft/network/protocol/game/ClientboundSystemChatPacket.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/network/protocol/game/ClientboundSystemChatPacket.patch rename to paper-server/patches/sources/net/minecraft/network/protocol/game/ClientboundSystemChatPacket.patch diff --git a/paper-server/nms-patches/net/minecraft/network/protocol/game/PacketPlayInBlockPlace.patch b/paper-server/patches/sources/net/minecraft/network/protocol/game/PacketPlayInBlockPlace.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/network/protocol/game/PacketPlayInBlockPlace.patch rename to paper-server/patches/sources/net/minecraft/network/protocol/game/PacketPlayInBlockPlace.patch diff --git a/paper-server/nms-patches/net/minecraft/network/protocol/game/PacketPlayInUseItem.patch b/paper-server/patches/sources/net/minecraft/network/protocol/game/PacketPlayInUseItem.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/network/protocol/game/PacketPlayInUseItem.patch rename to paper-server/patches/sources/net/minecraft/network/protocol/game/PacketPlayInUseItem.patch diff --git a/paper-server/nms-patches/net/minecraft/network/protocol/game/PacketPlayOutMultiBlockChange.patch b/paper-server/patches/sources/net/minecraft/network/protocol/game/PacketPlayOutMultiBlockChange.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/network/protocol/game/PacketPlayOutMultiBlockChange.patch rename to paper-server/patches/sources/net/minecraft/network/protocol/game/PacketPlayOutMultiBlockChange.patch diff --git a/paper-server/nms-patches/net/minecraft/network/protocol/handshake/PacketHandshakingInSetProtocol.patch b/paper-server/patches/sources/net/minecraft/network/protocol/handshake/PacketHandshakingInSetProtocol.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/network/protocol/handshake/PacketHandshakingInSetProtocol.patch rename to paper-server/patches/sources/net/minecraft/network/protocol/handshake/PacketHandshakingInSetProtocol.patch diff --git a/paper-server/nms-patches/net/minecraft/network/syncher/DataWatcher.patch b/paper-server/patches/sources/net/minecraft/network/syncher/DataWatcher.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/network/syncher/DataWatcher.patch rename to paper-server/patches/sources/net/minecraft/network/syncher/DataWatcher.patch diff --git a/paper-server/nms-patches/net/minecraft/server/AdvancementDataPlayer.patch b/paper-server/patches/sources/net/minecraft/server/AdvancementDataPlayer.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/AdvancementDataPlayer.patch rename to paper-server/patches/sources/net/minecraft/server/AdvancementDataPlayer.patch diff --git a/paper-server/nms-patches/net/minecraft/server/AdvancementDataWorld.patch b/paper-server/patches/sources/net/minecraft/server/AdvancementDataWorld.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/AdvancementDataWorld.patch rename to paper-server/patches/sources/net/minecraft/server/AdvancementDataWorld.patch diff --git a/paper-server/nms-patches/net/minecraft/server/CustomFunctionData.patch b/paper-server/patches/sources/net/minecraft/server/CustomFunctionData.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/CustomFunctionData.patch rename to paper-server/patches/sources/net/minecraft/server/CustomFunctionData.patch diff --git a/paper-server/nms-patches/net/minecraft/server/DispenserRegistry.patch b/paper-server/patches/sources/net/minecraft/server/DispenserRegistry.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/DispenserRegistry.patch rename to paper-server/patches/sources/net/minecraft/server/DispenserRegistry.patch diff --git a/paper-server/nms-patches/net/minecraft/server/Main.patch b/paper-server/patches/sources/net/minecraft/server/Main.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/Main.patch rename to paper-server/patches/sources/net/minecraft/server/Main.patch diff --git a/paper-server/nms-patches/net/minecraft/server/MinecraftServer.patch b/paper-server/patches/sources/net/minecraft/server/MinecraftServer.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/MinecraftServer.patch rename to paper-server/patches/sources/net/minecraft/server/MinecraftServer.patch diff --git a/paper-server/nms-patches/net/minecraft/server/ScoreboardServer.patch b/paper-server/patches/sources/net/minecraft/server/ScoreboardServer.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/ScoreboardServer.patch rename to paper-server/patches/sources/net/minecraft/server/ScoreboardServer.patch diff --git a/paper-server/nms-patches/net/minecraft/server/ServerTickRateManager.patch b/paper-server/patches/sources/net/minecraft/server/ServerTickRateManager.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/ServerTickRateManager.patch rename to paper-server/patches/sources/net/minecraft/server/ServerTickRateManager.patch diff --git a/paper-server/nms-patches/net/minecraft/server/bossevents/BossBattleCustom.patch b/paper-server/patches/sources/net/minecraft/server/bossevents/BossBattleCustom.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/bossevents/BossBattleCustom.patch rename to paper-server/patches/sources/net/minecraft/server/bossevents/BossBattleCustom.patch diff --git a/paper-server/nms-patches/net/minecraft/server/commands/CommandDifficulty.patch b/paper-server/patches/sources/net/minecraft/server/commands/CommandDifficulty.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/commands/CommandDifficulty.patch rename to paper-server/patches/sources/net/minecraft/server/commands/CommandDifficulty.patch diff --git a/paper-server/nms-patches/net/minecraft/server/commands/CommandEffect.patch b/paper-server/patches/sources/net/minecraft/server/commands/CommandEffect.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/commands/CommandEffect.patch rename to paper-server/patches/sources/net/minecraft/server/commands/CommandEffect.patch diff --git a/paper-server/nms-patches/net/minecraft/server/commands/CommandGamerule.patch b/paper-server/patches/sources/net/minecraft/server/commands/CommandGamerule.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/commands/CommandGamerule.patch rename to paper-server/patches/sources/net/minecraft/server/commands/CommandGamerule.patch diff --git a/paper-server/nms-patches/net/minecraft/server/commands/CommandGive.patch b/paper-server/patches/sources/net/minecraft/server/commands/CommandGive.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/commands/CommandGive.patch rename to paper-server/patches/sources/net/minecraft/server/commands/CommandGive.patch diff --git a/paper-server/nms-patches/net/minecraft/server/commands/CommandList.patch b/paper-server/patches/sources/net/minecraft/server/commands/CommandList.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/commands/CommandList.patch rename to paper-server/patches/sources/net/minecraft/server/commands/CommandList.patch diff --git a/paper-server/nms-patches/net/minecraft/server/commands/CommandLoot.patch b/paper-server/patches/sources/net/minecraft/server/commands/CommandLoot.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/commands/CommandLoot.patch rename to paper-server/patches/sources/net/minecraft/server/commands/CommandLoot.patch diff --git a/paper-server/nms-patches/net/minecraft/server/commands/CommandReload.patch b/paper-server/patches/sources/net/minecraft/server/commands/CommandReload.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/commands/CommandReload.patch rename to paper-server/patches/sources/net/minecraft/server/commands/CommandReload.patch diff --git a/paper-server/nms-patches/net/minecraft/server/commands/CommandSchedule.patch b/paper-server/patches/sources/net/minecraft/server/commands/CommandSchedule.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/commands/CommandSchedule.patch rename to paper-server/patches/sources/net/minecraft/server/commands/CommandSchedule.patch diff --git a/paper-server/nms-patches/net/minecraft/server/commands/CommandSetWorldSpawn.patch b/paper-server/patches/sources/net/minecraft/server/commands/CommandSetWorldSpawn.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/commands/CommandSetWorldSpawn.patch rename to paper-server/patches/sources/net/minecraft/server/commands/CommandSetWorldSpawn.patch diff --git a/paper-server/nms-patches/net/minecraft/server/commands/CommandSpawnpoint.patch b/paper-server/patches/sources/net/minecraft/server/commands/CommandSpawnpoint.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/commands/CommandSpawnpoint.patch rename to paper-server/patches/sources/net/minecraft/server/commands/CommandSpawnpoint.patch diff --git a/paper-server/nms-patches/net/minecraft/server/commands/CommandSpreadPlayers.patch b/paper-server/patches/sources/net/minecraft/server/commands/CommandSpreadPlayers.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/commands/CommandSpreadPlayers.patch rename to paper-server/patches/sources/net/minecraft/server/commands/CommandSpreadPlayers.patch diff --git a/paper-server/nms-patches/net/minecraft/server/commands/CommandSummon.patch b/paper-server/patches/sources/net/minecraft/server/commands/CommandSummon.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/commands/CommandSummon.patch rename to paper-server/patches/sources/net/minecraft/server/commands/CommandSummon.patch diff --git a/paper-server/nms-patches/net/minecraft/server/commands/CommandTeleport.patch b/paper-server/patches/sources/net/minecraft/server/commands/CommandTeleport.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/commands/CommandTeleport.patch rename to paper-server/patches/sources/net/minecraft/server/commands/CommandTeleport.patch diff --git a/paper-server/nms-patches/net/minecraft/server/commands/CommandTime.patch b/paper-server/patches/sources/net/minecraft/server/commands/CommandTime.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/commands/CommandTime.patch rename to paper-server/patches/sources/net/minecraft/server/commands/CommandTime.patch diff --git a/paper-server/nms-patches/net/minecraft/server/commands/CommandWeather.patch b/paper-server/patches/sources/net/minecraft/server/commands/CommandWeather.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/commands/CommandWeather.patch rename to paper-server/patches/sources/net/minecraft/server/commands/CommandWeather.patch diff --git a/paper-server/nms-patches/net/minecraft/server/commands/CommandWorldBorder.patch b/paper-server/patches/sources/net/minecraft/server/commands/CommandWorldBorder.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/commands/CommandWorldBorder.patch rename to paper-server/patches/sources/net/minecraft/server/commands/CommandWorldBorder.patch diff --git a/paper-server/nms-patches/net/minecraft/server/commands/PlaceCommand.patch b/paper-server/patches/sources/net/minecraft/server/commands/PlaceCommand.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/commands/PlaceCommand.patch rename to paper-server/patches/sources/net/minecraft/server/commands/PlaceCommand.patch diff --git a/paper-server/nms-patches/net/minecraft/server/dedicated/DedicatedServer.patch b/paper-server/patches/sources/net/minecraft/server/dedicated/DedicatedServer.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/dedicated/DedicatedServer.patch rename to paper-server/patches/sources/net/minecraft/server/dedicated/DedicatedServer.patch diff --git a/paper-server/nms-patches/net/minecraft/server/dedicated/DedicatedServerProperties.patch b/paper-server/patches/sources/net/minecraft/server/dedicated/DedicatedServerProperties.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/dedicated/DedicatedServerProperties.patch rename to paper-server/patches/sources/net/minecraft/server/dedicated/DedicatedServerProperties.patch diff --git a/paper-server/nms-patches/net/minecraft/server/dedicated/DedicatedServerSettings.patch b/paper-server/patches/sources/net/minecraft/server/dedicated/DedicatedServerSettings.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/dedicated/DedicatedServerSettings.patch rename to paper-server/patches/sources/net/minecraft/server/dedicated/DedicatedServerSettings.patch diff --git a/paper-server/nms-patches/net/minecraft/server/dedicated/PropertyManager.patch b/paper-server/patches/sources/net/minecraft/server/dedicated/PropertyManager.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/dedicated/PropertyManager.patch rename to paper-server/patches/sources/net/minecraft/server/dedicated/PropertyManager.patch diff --git a/paper-server/nms-patches/net/minecraft/server/gui/ServerGUI.patch b/paper-server/patches/sources/net/minecraft/server/gui/ServerGUI.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/gui/ServerGUI.patch rename to paper-server/patches/sources/net/minecraft/server/gui/ServerGUI.patch diff --git a/paper-server/nms-patches/net/minecraft/server/level/ChunkMapDistance.patch b/paper-server/patches/sources/net/minecraft/server/level/ChunkMapDistance.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/level/ChunkMapDistance.patch rename to paper-server/patches/sources/net/minecraft/server/level/ChunkMapDistance.patch diff --git a/paper-server/nms-patches/net/minecraft/server/level/ChunkProviderServer.patch b/paper-server/patches/sources/net/minecraft/server/level/ChunkProviderServer.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/level/ChunkProviderServer.patch rename to paper-server/patches/sources/net/minecraft/server/level/ChunkProviderServer.patch diff --git a/paper-server/nms-patches/net/minecraft/server/level/EntityPlayer.patch b/paper-server/patches/sources/net/minecraft/server/level/EntityPlayer.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/level/EntityPlayer.patch rename to paper-server/patches/sources/net/minecraft/server/level/EntityPlayer.patch diff --git a/paper-server/nms-patches/net/minecraft/server/level/EntityTrackerEntry.patch b/paper-server/patches/sources/net/minecraft/server/level/EntityTrackerEntry.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/level/EntityTrackerEntry.patch rename to paper-server/patches/sources/net/minecraft/server/level/EntityTrackerEntry.patch diff --git a/paper-server/nms-patches/net/minecraft/server/level/PlayerChunk.patch b/paper-server/patches/sources/net/minecraft/server/level/PlayerChunk.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/level/PlayerChunk.patch rename to paper-server/patches/sources/net/minecraft/server/level/PlayerChunk.patch diff --git a/paper-server/nms-patches/net/minecraft/server/level/PlayerChunkMap.patch b/paper-server/patches/sources/net/minecraft/server/level/PlayerChunkMap.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/level/PlayerChunkMap.patch rename to paper-server/patches/sources/net/minecraft/server/level/PlayerChunkMap.patch diff --git a/paper-server/nms-patches/net/minecraft/server/level/PlayerInteractManager.patch b/paper-server/patches/sources/net/minecraft/server/level/PlayerInteractManager.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/level/PlayerInteractManager.patch rename to paper-server/patches/sources/net/minecraft/server/level/PlayerInteractManager.patch diff --git a/paper-server/nms-patches/net/minecraft/server/level/RegionLimitedWorldAccess.patch b/paper-server/patches/sources/net/minecraft/server/level/RegionLimitedWorldAccess.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/level/RegionLimitedWorldAccess.patch rename to paper-server/patches/sources/net/minecraft/server/level/RegionLimitedWorldAccess.patch diff --git a/paper-server/nms-patches/net/minecraft/server/level/TicketType.patch b/paper-server/patches/sources/net/minecraft/server/level/TicketType.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/level/TicketType.patch rename to paper-server/patches/sources/net/minecraft/server/level/TicketType.patch diff --git a/paper-server/nms-patches/net/minecraft/server/level/WorldServer.patch b/paper-server/patches/sources/net/minecraft/server/level/WorldServer.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/level/WorldServer.patch rename to paper-server/patches/sources/net/minecraft/server/level/WorldServer.patch diff --git a/paper-server/nms-patches/net/minecraft/server/network/HandshakeListener.patch b/paper-server/patches/sources/net/minecraft/server/network/HandshakeListener.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/network/HandshakeListener.patch rename to paper-server/patches/sources/net/minecraft/server/network/HandshakeListener.patch diff --git a/paper-server/nms-patches/net/minecraft/server/network/LegacyPingHandler.patch b/paper-server/patches/sources/net/minecraft/server/network/LegacyPingHandler.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/network/LegacyPingHandler.patch rename to paper-server/patches/sources/net/minecraft/server/network/LegacyPingHandler.patch diff --git a/paper-server/nms-patches/net/minecraft/server/network/LoginListener.patch b/paper-server/patches/sources/net/minecraft/server/network/LoginListener.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/network/LoginListener.patch rename to paper-server/patches/sources/net/minecraft/server/network/LoginListener.patch diff --git a/paper-server/nms-patches/net/minecraft/server/network/PacketStatusListener.patch b/paper-server/patches/sources/net/minecraft/server/network/PacketStatusListener.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/network/PacketStatusListener.patch rename to paper-server/patches/sources/net/minecraft/server/network/PacketStatusListener.patch diff --git a/paper-server/nms-patches/net/minecraft/server/network/PlayerConnection.patch b/paper-server/patches/sources/net/minecraft/server/network/PlayerConnection.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/network/PlayerConnection.patch rename to paper-server/patches/sources/net/minecraft/server/network/PlayerConnection.patch diff --git a/paper-server/nms-patches/net/minecraft/server/network/ServerCommonPacketListenerImpl.patch b/paper-server/patches/sources/net/minecraft/server/network/ServerCommonPacketListenerImpl.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/network/ServerCommonPacketListenerImpl.patch rename to paper-server/patches/sources/net/minecraft/server/network/ServerCommonPacketListenerImpl.patch diff --git a/paper-server/nms-patches/net/minecraft/server/network/ServerConfigurationPacketListenerImpl.patch b/paper-server/patches/sources/net/minecraft/server/network/ServerConfigurationPacketListenerImpl.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/network/ServerConfigurationPacketListenerImpl.patch rename to paper-server/patches/sources/net/minecraft/server/network/ServerConfigurationPacketListenerImpl.patch diff --git a/paper-server/nms-patches/net/minecraft/server/network/ServerConnection.patch b/paper-server/patches/sources/net/minecraft/server/network/ServerConnection.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/network/ServerConnection.patch rename to paper-server/patches/sources/net/minecraft/server/network/ServerConnection.patch diff --git a/paper-server/nms-patches/net/minecraft/server/players/ExpirableListEntry.patch b/paper-server/patches/sources/net/minecraft/server/players/ExpirableListEntry.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/players/ExpirableListEntry.patch rename to paper-server/patches/sources/net/minecraft/server/players/ExpirableListEntry.patch diff --git a/paper-server/nms-patches/net/minecraft/server/players/GameProfileBanEntry.patch b/paper-server/patches/sources/net/minecraft/server/players/GameProfileBanEntry.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/players/GameProfileBanEntry.patch rename to paper-server/patches/sources/net/minecraft/server/players/GameProfileBanEntry.patch diff --git a/paper-server/nms-patches/net/minecraft/server/players/JsonList.patch b/paper-server/patches/sources/net/minecraft/server/players/JsonList.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/players/JsonList.patch rename to paper-server/patches/sources/net/minecraft/server/players/JsonList.patch diff --git a/paper-server/nms-patches/net/minecraft/server/players/NameReferencingFileConverter.patch b/paper-server/patches/sources/net/minecraft/server/players/NameReferencingFileConverter.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/players/NameReferencingFileConverter.patch rename to paper-server/patches/sources/net/minecraft/server/players/NameReferencingFileConverter.patch diff --git a/paper-server/nms-patches/net/minecraft/server/players/PlayerList.patch b/paper-server/patches/sources/net/minecraft/server/players/PlayerList.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/players/PlayerList.patch rename to paper-server/patches/sources/net/minecraft/server/players/PlayerList.patch diff --git a/paper-server/nms-patches/net/minecraft/server/players/SleepStatus.patch b/paper-server/patches/sources/net/minecraft/server/players/SleepStatus.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/players/SleepStatus.patch rename to paper-server/patches/sources/net/minecraft/server/players/SleepStatus.patch diff --git a/paper-server/nms-patches/net/minecraft/server/players/UserCache.patch b/paper-server/patches/sources/net/minecraft/server/players/UserCache.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/players/UserCache.patch rename to paper-server/patches/sources/net/minecraft/server/players/UserCache.patch diff --git a/paper-server/nms-patches/net/minecraft/server/rcon/RemoteControlCommandListener.patch b/paper-server/patches/sources/net/minecraft/server/rcon/RemoteControlCommandListener.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/rcon/RemoteControlCommandListener.patch rename to paper-server/patches/sources/net/minecraft/server/rcon/RemoteControlCommandListener.patch diff --git a/paper-server/nms-patches/net/minecraft/server/rcon/thread/RemoteControlSession.patch b/paper-server/patches/sources/net/minecraft/server/rcon/thread/RemoteControlSession.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/server/rcon/thread/RemoteControlSession.patch rename to paper-server/patches/sources/net/minecraft/server/rcon/thread/RemoteControlSession.patch diff --git a/paper-server/nms-patches/net/minecraft/stats/RecipeBookServer.patch b/paper-server/patches/sources/net/minecraft/stats/RecipeBookServer.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/stats/RecipeBookServer.patch rename to paper-server/patches/sources/net/minecraft/stats/RecipeBookServer.patch diff --git a/paper-server/nms-patches/net/minecraft/stats/ServerStatisticManager.patch b/paper-server/patches/sources/net/minecraft/stats/ServerStatisticManager.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/stats/ServerStatisticManager.patch rename to paper-server/patches/sources/net/minecraft/stats/ServerStatisticManager.patch diff --git a/paper-server/nms-patches/net/minecraft/stats/StatisticManager.patch b/paper-server/patches/sources/net/minecraft/stats/StatisticManager.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/stats/StatisticManager.patch rename to paper-server/patches/sources/net/minecraft/stats/StatisticManager.patch diff --git a/paper-server/nms-patches/net/minecraft/util/SpawnUtil.patch b/paper-server/patches/sources/net/minecraft/util/SpawnUtil.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/util/SpawnUtil.patch rename to paper-server/patches/sources/net/minecraft/util/SpawnUtil.patch diff --git a/paper-server/nms-patches/net/minecraft/util/TickThrottler.patch b/paper-server/patches/sources/net/minecraft/util/TickThrottler.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/util/TickThrottler.patch rename to paper-server/patches/sources/net/minecraft/util/TickThrottler.patch diff --git a/paper-server/nms-patches/net/minecraft/util/datafix/DataConverterRegistry.patch b/paper-server/patches/sources/net/minecraft/util/datafix/DataConverterRegistry.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/util/datafix/DataConverterRegistry.patch rename to paper-server/patches/sources/net/minecraft/util/datafix/DataConverterRegistry.patch diff --git a/paper-server/nms-patches/net/minecraft/util/datafix/fixes/DataConverterFlatten.patch b/paper-server/patches/sources/net/minecraft/util/datafix/fixes/DataConverterFlatten.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/util/datafix/fixes/DataConverterFlatten.patch rename to paper-server/patches/sources/net/minecraft/util/datafix/fixes/DataConverterFlatten.patch diff --git a/paper-server/nms-patches/net/minecraft/util/datafix/fixes/DataConverterMap.patch b/paper-server/patches/sources/net/minecraft/util/datafix/fixes/DataConverterMap.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/util/datafix/fixes/DataConverterMap.patch rename to paper-server/patches/sources/net/minecraft/util/datafix/fixes/DataConverterMap.patch diff --git a/paper-server/nms-patches/net/minecraft/util/worldupdate/WorldUpgrader.patch b/paper-server/patches/sources/net/minecraft/util/worldupdate/WorldUpgrader.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/util/worldupdate/WorldUpgrader.patch rename to paper-server/patches/sources/net/minecraft/util/worldupdate/WorldUpgrader.patch diff --git a/paper-server/nms-patches/net/minecraft/world/IInventory.patch b/paper-server/patches/sources/net/minecraft/world/IInventory.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/IInventory.patch rename to paper-server/patches/sources/net/minecraft/world/IInventory.patch diff --git a/paper-server/nms-patches/net/minecraft/world/InventoryLargeChest.patch b/paper-server/patches/sources/net/minecraft/world/InventoryLargeChest.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/InventoryLargeChest.patch rename to paper-server/patches/sources/net/minecraft/world/InventoryLargeChest.patch diff --git a/paper-server/nms-patches/net/minecraft/world/InventorySubcontainer.patch b/paper-server/patches/sources/net/minecraft/world/InventorySubcontainer.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/InventorySubcontainer.patch rename to paper-server/patches/sources/net/minecraft/world/InventorySubcontainer.patch diff --git a/paper-server/nms-patches/net/minecraft/world/damagesource/DamageSource.patch b/paper-server/patches/sources/net/minecraft/world/damagesource/DamageSource.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/damagesource/DamageSource.patch rename to paper-server/patches/sources/net/minecraft/world/damagesource/DamageSource.patch diff --git a/paper-server/nms-patches/net/minecraft/world/damagesource/DamageSources.patch b/paper-server/patches/sources/net/minecraft/world/damagesource/DamageSources.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/damagesource/DamageSources.patch rename to paper-server/patches/sources/net/minecraft/world/damagesource/DamageSources.patch diff --git a/paper-server/nms-patches/net/minecraft/world/effect/HealOrHarmMobEffect.patch b/paper-server/patches/sources/net/minecraft/world/effect/HealOrHarmMobEffect.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/effect/HealOrHarmMobEffect.patch rename to paper-server/patches/sources/net/minecraft/world/effect/HealOrHarmMobEffect.patch diff --git a/paper-server/nms-patches/net/minecraft/world/effect/HungerMobEffect.patch b/paper-server/patches/sources/net/minecraft/world/effect/HungerMobEffect.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/effect/HungerMobEffect.patch rename to paper-server/patches/sources/net/minecraft/world/effect/HungerMobEffect.patch diff --git a/paper-server/nms-patches/net/minecraft/world/effect/InfestedMobEffect.patch b/paper-server/patches/sources/net/minecraft/world/effect/InfestedMobEffect.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/effect/InfestedMobEffect.patch rename to paper-server/patches/sources/net/minecraft/world/effect/InfestedMobEffect.patch diff --git a/paper-server/nms-patches/net/minecraft/world/effect/MobEffectUtil.patch b/paper-server/patches/sources/net/minecraft/world/effect/MobEffectUtil.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/effect/MobEffectUtil.patch rename to paper-server/patches/sources/net/minecraft/world/effect/MobEffectUtil.patch diff --git a/paper-server/nms-patches/net/minecraft/world/effect/OozingMobEffect.patch b/paper-server/patches/sources/net/minecraft/world/effect/OozingMobEffect.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/effect/OozingMobEffect.patch rename to paper-server/patches/sources/net/minecraft/world/effect/OozingMobEffect.patch diff --git a/paper-server/nms-patches/net/minecraft/world/effect/PoisonMobEffect.patch b/paper-server/patches/sources/net/minecraft/world/effect/PoisonMobEffect.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/effect/PoisonMobEffect.patch rename to paper-server/patches/sources/net/minecraft/world/effect/PoisonMobEffect.patch diff --git a/paper-server/nms-patches/net/minecraft/world/effect/RegenerationMobEffect.patch b/paper-server/patches/sources/net/minecraft/world/effect/RegenerationMobEffect.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/effect/RegenerationMobEffect.patch rename to paper-server/patches/sources/net/minecraft/world/effect/RegenerationMobEffect.patch diff --git a/paper-server/nms-patches/net/minecraft/world/effect/SaturationMobEffect.patch b/paper-server/patches/sources/net/minecraft/world/effect/SaturationMobEffect.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/effect/SaturationMobEffect.patch rename to paper-server/patches/sources/net/minecraft/world/effect/SaturationMobEffect.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/ConversionType.patch b/paper-server/patches/sources/net/minecraft/world/entity/ConversionType.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/ConversionType.patch rename to paper-server/patches/sources/net/minecraft/world/entity/ConversionType.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/Entity.patch b/paper-server/patches/sources/net/minecraft/world/entity/Entity.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/Entity.patch rename to paper-server/patches/sources/net/minecraft/world/entity/Entity.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/EntityAgeable.patch b/paper-server/patches/sources/net/minecraft/world/entity/EntityAgeable.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/EntityAgeable.patch rename to paper-server/patches/sources/net/minecraft/world/entity/EntityAgeable.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/EntityAreaEffectCloud.patch b/paper-server/patches/sources/net/minecraft/world/entity/EntityAreaEffectCloud.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/EntityAreaEffectCloud.patch rename to paper-server/patches/sources/net/minecraft/world/entity/EntityAreaEffectCloud.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/EntityCreature.patch b/paper-server/patches/sources/net/minecraft/world/entity/EntityCreature.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/EntityCreature.patch rename to paper-server/patches/sources/net/minecraft/world/entity/EntityCreature.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/EntityExperienceOrb.patch b/paper-server/patches/sources/net/minecraft/world/entity/EntityExperienceOrb.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/EntityExperienceOrb.patch rename to paper-server/patches/sources/net/minecraft/world/entity/EntityExperienceOrb.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/EntityInsentient.patch b/paper-server/patches/sources/net/minecraft/world/entity/EntityInsentient.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/EntityInsentient.patch rename to paper-server/patches/sources/net/minecraft/world/entity/EntityInsentient.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/EntityLightning.patch b/paper-server/patches/sources/net/minecraft/world/entity/EntityLightning.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/EntityLightning.patch rename to paper-server/patches/sources/net/minecraft/world/entity/EntityLightning.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/EntityLiving.patch b/paper-server/patches/sources/net/minecraft/world/entity/EntityLiving.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/EntityLiving.patch rename to paper-server/patches/sources/net/minecraft/world/entity/EntityLiving.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/EntityTameableAnimal.patch b/paper-server/patches/sources/net/minecraft/world/entity/EntityTameableAnimal.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/EntityTameableAnimal.patch rename to paper-server/patches/sources/net/minecraft/world/entity/EntityTameableAnimal.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/EntityTypes.patch b/paper-server/patches/sources/net/minecraft/world/entity/EntityTypes.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/EntityTypes.patch rename to paper-server/patches/sources/net/minecraft/world/entity/EntityTypes.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/IEntityAngerable.patch b/paper-server/patches/sources/net/minecraft/world/entity/IEntityAngerable.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/IEntityAngerable.patch rename to paper-server/patches/sources/net/minecraft/world/entity/IEntityAngerable.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/IEntitySelector.patch b/paper-server/patches/sources/net/minecraft/world/entity/IEntitySelector.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/IEntitySelector.patch rename to paper-server/patches/sources/net/minecraft/world/entity/IEntitySelector.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/Interaction.patch b/paper-server/patches/sources/net/minecraft/world/entity/Interaction.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/Interaction.patch rename to paper-server/patches/sources/net/minecraft/world/entity/Interaction.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/Leashable.patch b/paper-server/patches/sources/net/minecraft/world/entity/Leashable.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/Leashable.patch rename to paper-server/patches/sources/net/minecraft/world/entity/Leashable.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/SaddleStorage.patch b/paper-server/patches/sources/net/minecraft/world/entity/SaddleStorage.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/SaddleStorage.patch rename to paper-server/patches/sources/net/minecraft/world/entity/SaddleStorage.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/ai/attributes/GenericAttributes.patch b/paper-server/patches/sources/net/minecraft/world/entity/ai/attributes/GenericAttributes.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/ai/attributes/GenericAttributes.patch rename to paper-server/patches/sources/net/minecraft/world/entity/ai/attributes/GenericAttributes.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/ai/behavior/BehaviorAttackTargetForget.patch b/paper-server/patches/sources/net/minecraft/world/entity/ai/behavior/BehaviorAttackTargetForget.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/ai/behavior/BehaviorAttackTargetForget.patch rename to paper-server/patches/sources/net/minecraft/world/entity/ai/behavior/BehaviorAttackTargetForget.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/ai/behavior/BehaviorAttackTargetSet.patch b/paper-server/patches/sources/net/minecraft/world/entity/ai/behavior/BehaviorAttackTargetSet.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/ai/behavior/BehaviorAttackTargetSet.patch rename to paper-server/patches/sources/net/minecraft/world/entity/ai/behavior/BehaviorAttackTargetSet.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/ai/behavior/BehaviorCareer.patch b/paper-server/patches/sources/net/minecraft/world/entity/ai/behavior/BehaviorCareer.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/ai/behavior/BehaviorCareer.patch rename to paper-server/patches/sources/net/minecraft/world/entity/ai/behavior/BehaviorCareer.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/ai/behavior/BehaviorFarm.patch b/paper-server/patches/sources/net/minecraft/world/entity/ai/behavior/BehaviorFarm.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/ai/behavior/BehaviorFarm.patch rename to paper-server/patches/sources/net/minecraft/world/entity/ai/behavior/BehaviorFarm.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/ai/behavior/BehaviorFindAdmirableItem.patch b/paper-server/patches/sources/net/minecraft/world/entity/ai/behavior/BehaviorFindAdmirableItem.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/ai/behavior/BehaviorFindAdmirableItem.patch rename to paper-server/patches/sources/net/minecraft/world/entity/ai/behavior/BehaviorFindAdmirableItem.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/ai/behavior/BehaviorFollowAdult.patch b/paper-server/patches/sources/net/minecraft/world/entity/ai/behavior/BehaviorFollowAdult.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/ai/behavior/BehaviorFollowAdult.patch rename to paper-server/patches/sources/net/minecraft/world/entity/ai/behavior/BehaviorFollowAdult.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/ai/behavior/BehaviorInteractDoor.patch b/paper-server/patches/sources/net/minecraft/world/entity/ai/behavior/BehaviorInteractDoor.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/ai/behavior/BehaviorInteractDoor.patch rename to paper-server/patches/sources/net/minecraft/world/entity/ai/behavior/BehaviorInteractDoor.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/ai/behavior/BehaviorMakeLove.patch b/paper-server/patches/sources/net/minecraft/world/entity/ai/behavior/BehaviorMakeLove.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/ai/behavior/BehaviorMakeLove.patch rename to paper-server/patches/sources/net/minecraft/world/entity/ai/behavior/BehaviorMakeLove.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/ai/behavior/BehaviorProfession.patch b/paper-server/patches/sources/net/minecraft/world/entity/ai/behavior/BehaviorProfession.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/ai/behavior/BehaviorProfession.patch rename to paper-server/patches/sources/net/minecraft/world/entity/ai/behavior/BehaviorProfession.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/ai/behavior/BehaviorUtil.patch b/paper-server/patches/sources/net/minecraft/world/entity/ai/behavior/BehaviorUtil.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/ai/behavior/BehaviorUtil.patch rename to paper-server/patches/sources/net/minecraft/world/entity/ai/behavior/BehaviorUtil.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/ai/behavior/PrepareRamNearestTarget.patch b/paper-server/patches/sources/net/minecraft/world/entity/ai/behavior/PrepareRamNearestTarget.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/ai/behavior/PrepareRamNearestTarget.patch rename to paper-server/patches/sources/net/minecraft/world/entity/ai/behavior/PrepareRamNearestTarget.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/ai/behavior/TryLaySpawnOnWaterNearLand.patch b/paper-server/patches/sources/net/minecraft/world/entity/ai/behavior/TryLaySpawnOnWaterNearLand.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/ai/behavior/TryLaySpawnOnWaterNearLand.patch rename to paper-server/patches/sources/net/minecraft/world/entity/ai/behavior/TryLaySpawnOnWaterNearLand.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/ai/behavior/warden/Digging.patch b/paper-server/patches/sources/net/minecraft/world/entity/ai/behavior/warden/Digging.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/ai/behavior/warden/Digging.patch rename to paper-server/patches/sources/net/minecraft/world/entity/ai/behavior/warden/Digging.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/ai/goal/PathfinderGoalBreakDoor.patch b/paper-server/patches/sources/net/minecraft/world/entity/ai/goal/PathfinderGoalBreakDoor.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/ai/goal/PathfinderGoalBreakDoor.patch rename to paper-server/patches/sources/net/minecraft/world/entity/ai/goal/PathfinderGoalBreakDoor.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/ai/goal/PathfinderGoalEatTile.patch b/paper-server/patches/sources/net/minecraft/world/entity/ai/goal/PathfinderGoalEatTile.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/ai/goal/PathfinderGoalEatTile.patch rename to paper-server/patches/sources/net/minecraft/world/entity/ai/goal/PathfinderGoalEatTile.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/ai/goal/PathfinderGoalRemoveBlock.patch b/paper-server/patches/sources/net/minecraft/world/entity/ai/goal/PathfinderGoalRemoveBlock.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/ai/goal/PathfinderGoalRemoveBlock.patch rename to paper-server/patches/sources/net/minecraft/world/entity/ai/goal/PathfinderGoalRemoveBlock.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/ai/goal/PathfinderGoalSit.patch b/paper-server/patches/sources/net/minecraft/world/entity/ai/goal/PathfinderGoalSit.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/ai/goal/PathfinderGoalSit.patch rename to paper-server/patches/sources/net/minecraft/world/entity/ai/goal/PathfinderGoalSit.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/ai/goal/PathfinderGoalTame.patch b/paper-server/patches/sources/net/minecraft/world/entity/ai/goal/PathfinderGoalTame.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/ai/goal/PathfinderGoalTame.patch rename to paper-server/patches/sources/net/minecraft/world/entity/ai/goal/PathfinderGoalTame.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/ai/goal/PathfinderGoalTempt.patch b/paper-server/patches/sources/net/minecraft/world/entity/ai/goal/PathfinderGoalTempt.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/ai/goal/PathfinderGoalTempt.patch rename to paper-server/patches/sources/net/minecraft/world/entity/ai/goal/PathfinderGoalTempt.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/ai/goal/target/PathfinderGoalDefendVillage.patch b/paper-server/patches/sources/net/minecraft/world/entity/ai/goal/target/PathfinderGoalDefendVillage.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/ai/goal/target/PathfinderGoalDefendVillage.patch rename to paper-server/patches/sources/net/minecraft/world/entity/ai/goal/target/PathfinderGoalDefendVillage.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/ai/goal/target/PathfinderGoalHurtByTarget.patch b/paper-server/patches/sources/net/minecraft/world/entity/ai/goal/target/PathfinderGoalHurtByTarget.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/ai/goal/target/PathfinderGoalHurtByTarget.patch rename to paper-server/patches/sources/net/minecraft/world/entity/ai/goal/target/PathfinderGoalHurtByTarget.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/ai/goal/target/PathfinderGoalNearestAttackableTarget.patch b/paper-server/patches/sources/net/minecraft/world/entity/ai/goal/target/PathfinderGoalNearestAttackableTarget.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/ai/goal/target/PathfinderGoalNearestAttackableTarget.patch rename to paper-server/patches/sources/net/minecraft/world/entity/ai/goal/target/PathfinderGoalNearestAttackableTarget.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/ai/goal/target/PathfinderGoalOwnerHurtByTarget.patch b/paper-server/patches/sources/net/minecraft/world/entity/ai/goal/target/PathfinderGoalOwnerHurtByTarget.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/ai/goal/target/PathfinderGoalOwnerHurtByTarget.patch rename to paper-server/patches/sources/net/minecraft/world/entity/ai/goal/target/PathfinderGoalOwnerHurtByTarget.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/ai/goal/target/PathfinderGoalOwnerHurtTarget.patch b/paper-server/patches/sources/net/minecraft/world/entity/ai/goal/target/PathfinderGoalOwnerHurtTarget.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/ai/goal/target/PathfinderGoalOwnerHurtTarget.patch rename to paper-server/patches/sources/net/minecraft/world/entity/ai/goal/target/PathfinderGoalOwnerHurtTarget.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/ai/goal/target/PathfinderGoalTarget.patch b/paper-server/patches/sources/net/minecraft/world/entity/ai/goal/target/PathfinderGoalTarget.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/ai/goal/target/PathfinderGoalTarget.patch rename to paper-server/patches/sources/net/minecraft/world/entity/ai/goal/target/PathfinderGoalTarget.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/ai/sensing/TemptingSensor.patch b/paper-server/patches/sources/net/minecraft/world/entity/ai/sensing/TemptingSensor.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/ai/sensing/TemptingSensor.patch rename to paper-server/patches/sources/net/minecraft/world/entity/ai/sensing/TemptingSensor.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/ai/village/VillageSiege.patch b/paper-server/patches/sources/net/minecraft/world/entity/ai/village/VillageSiege.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/ai/village/VillageSiege.patch rename to paper-server/patches/sources/net/minecraft/world/entity/ai/village/VillageSiege.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/ambient/EntityBat.patch b/paper-server/patches/sources/net/minecraft/world/entity/ambient/EntityBat.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/ambient/EntityBat.patch rename to paper-server/patches/sources/net/minecraft/world/entity/ambient/EntityBat.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/animal/Bucketable.patch b/paper-server/patches/sources/net/minecraft/world/entity/animal/Bucketable.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/animal/Bucketable.patch rename to paper-server/patches/sources/net/minecraft/world/entity/animal/Bucketable.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/animal/EntityAnimal.patch b/paper-server/patches/sources/net/minecraft/world/entity/animal/EntityAnimal.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/animal/EntityAnimal.patch rename to paper-server/patches/sources/net/minecraft/world/entity/animal/EntityAnimal.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/animal/EntityBee.patch b/paper-server/patches/sources/net/minecraft/world/entity/animal/EntityBee.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/animal/EntityBee.patch rename to paper-server/patches/sources/net/minecraft/world/entity/animal/EntityBee.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/animal/EntityCat.patch b/paper-server/patches/sources/net/minecraft/world/entity/animal/EntityCat.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/animal/EntityCat.patch rename to paper-server/patches/sources/net/minecraft/world/entity/animal/EntityCat.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/animal/EntityChicken.patch b/paper-server/patches/sources/net/minecraft/world/entity/animal/EntityChicken.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/animal/EntityChicken.patch rename to paper-server/patches/sources/net/minecraft/world/entity/animal/EntityChicken.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/animal/EntityCow.patch b/paper-server/patches/sources/net/minecraft/world/entity/animal/EntityCow.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/animal/EntityCow.patch rename to paper-server/patches/sources/net/minecraft/world/entity/animal/EntityCow.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/animal/EntityDolphin.patch b/paper-server/patches/sources/net/minecraft/world/entity/animal/EntityDolphin.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/animal/EntityDolphin.patch rename to paper-server/patches/sources/net/minecraft/world/entity/animal/EntityDolphin.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/animal/EntityFox.patch b/paper-server/patches/sources/net/minecraft/world/entity/animal/EntityFox.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/animal/EntityFox.patch rename to paper-server/patches/sources/net/minecraft/world/entity/animal/EntityFox.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/animal/EntityIronGolem.patch b/paper-server/patches/sources/net/minecraft/world/entity/animal/EntityIronGolem.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/animal/EntityIronGolem.patch rename to paper-server/patches/sources/net/minecraft/world/entity/animal/EntityIronGolem.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/animal/EntityMushroomCow.patch b/paper-server/patches/sources/net/minecraft/world/entity/animal/EntityMushroomCow.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/animal/EntityMushroomCow.patch rename to paper-server/patches/sources/net/minecraft/world/entity/animal/EntityMushroomCow.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/animal/EntityOcelot.patch b/paper-server/patches/sources/net/minecraft/world/entity/animal/EntityOcelot.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/animal/EntityOcelot.patch rename to paper-server/patches/sources/net/minecraft/world/entity/animal/EntityOcelot.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/animal/EntityPanda.patch b/paper-server/patches/sources/net/minecraft/world/entity/animal/EntityPanda.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/animal/EntityPanda.patch rename to paper-server/patches/sources/net/minecraft/world/entity/animal/EntityPanda.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/animal/EntityParrot.patch b/paper-server/patches/sources/net/minecraft/world/entity/animal/EntityParrot.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/animal/EntityParrot.patch rename to paper-server/patches/sources/net/minecraft/world/entity/animal/EntityParrot.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/animal/EntityPerchable.patch b/paper-server/patches/sources/net/minecraft/world/entity/animal/EntityPerchable.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/animal/EntityPerchable.patch rename to paper-server/patches/sources/net/minecraft/world/entity/animal/EntityPerchable.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/animal/EntityPig.patch b/paper-server/patches/sources/net/minecraft/world/entity/animal/EntityPig.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/animal/EntityPig.patch rename to paper-server/patches/sources/net/minecraft/world/entity/animal/EntityPig.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/animal/EntityPufferFish.patch b/paper-server/patches/sources/net/minecraft/world/entity/animal/EntityPufferFish.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/animal/EntityPufferFish.patch rename to paper-server/patches/sources/net/minecraft/world/entity/animal/EntityPufferFish.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/animal/EntityRabbit.patch b/paper-server/patches/sources/net/minecraft/world/entity/animal/EntityRabbit.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/animal/EntityRabbit.patch rename to paper-server/patches/sources/net/minecraft/world/entity/animal/EntityRabbit.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/animal/EntitySheep.patch b/paper-server/patches/sources/net/minecraft/world/entity/animal/EntitySheep.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/animal/EntitySheep.patch rename to paper-server/patches/sources/net/minecraft/world/entity/animal/EntitySheep.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/animal/EntitySnowman.patch b/paper-server/patches/sources/net/minecraft/world/entity/animal/EntitySnowman.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/animal/EntitySnowman.patch rename to paper-server/patches/sources/net/minecraft/world/entity/animal/EntitySnowman.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/animal/EntityTurtle.patch b/paper-server/patches/sources/net/minecraft/world/entity/animal/EntityTurtle.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/animal/EntityTurtle.patch rename to paper-server/patches/sources/net/minecraft/world/entity/animal/EntityTurtle.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/animal/EntityWolf.patch b/paper-server/patches/sources/net/minecraft/world/entity/animal/EntityWolf.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/animal/EntityWolf.patch rename to paper-server/patches/sources/net/minecraft/world/entity/animal/EntityWolf.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/animal/allay/Allay.patch b/paper-server/patches/sources/net/minecraft/world/entity/animal/allay/Allay.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/animal/allay/Allay.patch rename to paper-server/patches/sources/net/minecraft/world/entity/animal/allay/Allay.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/animal/armadillo/Armadillo.patch b/paper-server/patches/sources/net/minecraft/world/entity/animal/armadillo/Armadillo.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/animal/armadillo/Armadillo.patch rename to paper-server/patches/sources/net/minecraft/world/entity/animal/armadillo/Armadillo.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/animal/axolotl/Axolotl.patch b/paper-server/patches/sources/net/minecraft/world/entity/animal/axolotl/Axolotl.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/animal/axolotl/Axolotl.patch rename to paper-server/patches/sources/net/minecraft/world/entity/animal/axolotl/Axolotl.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/animal/camel/Camel.patch b/paper-server/patches/sources/net/minecraft/world/entity/animal/camel/Camel.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/animal/camel/Camel.patch rename to paper-server/patches/sources/net/minecraft/world/entity/animal/camel/Camel.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/animal/frog/ShootTongue.patch b/paper-server/patches/sources/net/minecraft/world/entity/animal/frog/ShootTongue.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/animal/frog/ShootTongue.patch rename to paper-server/patches/sources/net/minecraft/world/entity/animal/frog/ShootTongue.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/animal/frog/Tadpole.patch b/paper-server/patches/sources/net/minecraft/world/entity/animal/frog/Tadpole.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/animal/frog/Tadpole.patch rename to paper-server/patches/sources/net/minecraft/world/entity/animal/frog/Tadpole.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/animal/goat/Goat.patch b/paper-server/patches/sources/net/minecraft/world/entity/animal/goat/Goat.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/animal/goat/Goat.patch rename to paper-server/patches/sources/net/minecraft/world/entity/animal/goat/Goat.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/animal/horse/EntityHorseAbstract.patch b/paper-server/patches/sources/net/minecraft/world/entity/animal/horse/EntityHorseAbstract.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/animal/horse/EntityHorseAbstract.patch rename to paper-server/patches/sources/net/minecraft/world/entity/animal/horse/EntityHorseAbstract.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/animal/horse/EntityHorseSkeleton.patch b/paper-server/patches/sources/net/minecraft/world/entity/animal/horse/EntityHorseSkeleton.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/animal/horse/EntityHorseSkeleton.patch rename to paper-server/patches/sources/net/minecraft/world/entity/animal/horse/EntityHorseSkeleton.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/animal/horse/EntityLlama.patch b/paper-server/patches/sources/net/minecraft/world/entity/animal/horse/EntityLlama.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/animal/horse/EntityLlama.patch rename to paper-server/patches/sources/net/minecraft/world/entity/animal/horse/EntityLlama.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/animal/horse/EntityLlamaTrader.patch b/paper-server/patches/sources/net/minecraft/world/entity/animal/horse/EntityLlamaTrader.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/animal/horse/EntityLlamaTrader.patch rename to paper-server/patches/sources/net/minecraft/world/entity/animal/horse/EntityLlamaTrader.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/animal/horse/PathfinderGoalHorseTrap.patch b/paper-server/patches/sources/net/minecraft/world/entity/animal/horse/PathfinderGoalHorseTrap.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/animal/horse/PathfinderGoalHorseTrap.patch rename to paper-server/patches/sources/net/minecraft/world/entity/animal/horse/PathfinderGoalHorseTrap.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/animal/sniffer/Sniffer.patch b/paper-server/patches/sources/net/minecraft/world/entity/animal/sniffer/Sniffer.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/animal/sniffer/Sniffer.patch rename to paper-server/patches/sources/net/minecraft/world/entity/animal/sniffer/Sniffer.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/boss/enderdragon/EntityEnderCrystal.patch b/paper-server/patches/sources/net/minecraft/world/entity/boss/enderdragon/EntityEnderCrystal.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/boss/enderdragon/EntityEnderCrystal.patch rename to paper-server/patches/sources/net/minecraft/world/entity/boss/enderdragon/EntityEnderCrystal.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/boss/enderdragon/EntityEnderDragon.patch b/paper-server/patches/sources/net/minecraft/world/entity/boss/enderdragon/EntityEnderDragon.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/boss/enderdragon/EntityEnderDragon.patch rename to paper-server/patches/sources/net/minecraft/world/entity/boss/enderdragon/EntityEnderDragon.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/boss/enderdragon/phases/DragonControllerLandedFlame.patch b/paper-server/patches/sources/net/minecraft/world/entity/boss/enderdragon/phases/DragonControllerLandedFlame.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/boss/enderdragon/phases/DragonControllerLandedFlame.patch rename to paper-server/patches/sources/net/minecraft/world/entity/boss/enderdragon/phases/DragonControllerLandedFlame.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/boss/enderdragon/phases/DragonControllerManager.patch b/paper-server/patches/sources/net/minecraft/world/entity/boss/enderdragon/phases/DragonControllerManager.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/boss/enderdragon/phases/DragonControllerManager.patch rename to paper-server/patches/sources/net/minecraft/world/entity/boss/enderdragon/phases/DragonControllerManager.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/boss/wither/EntityWither.patch b/paper-server/patches/sources/net/minecraft/world/entity/boss/wither/EntityWither.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/boss/wither/EntityWither.patch rename to paper-server/patches/sources/net/minecraft/world/entity/boss/wither/EntityWither.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/decoration/BlockAttachedEntity.patch b/paper-server/patches/sources/net/minecraft/world/entity/decoration/BlockAttachedEntity.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/decoration/BlockAttachedEntity.patch rename to paper-server/patches/sources/net/minecraft/world/entity/decoration/BlockAttachedEntity.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/decoration/EntityArmorStand.patch b/paper-server/patches/sources/net/minecraft/world/entity/decoration/EntityArmorStand.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/decoration/EntityArmorStand.patch rename to paper-server/patches/sources/net/minecraft/world/entity/decoration/EntityArmorStand.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/decoration/EntityItemFrame.patch b/paper-server/patches/sources/net/minecraft/world/entity/decoration/EntityItemFrame.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/decoration/EntityItemFrame.patch rename to paper-server/patches/sources/net/minecraft/world/entity/decoration/EntityItemFrame.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/decoration/EntityLeash.patch b/paper-server/patches/sources/net/minecraft/world/entity/decoration/EntityLeash.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/decoration/EntityLeash.patch rename to paper-server/patches/sources/net/minecraft/world/entity/decoration/EntityLeash.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/decoration/EntityPainting.patch b/paper-server/patches/sources/net/minecraft/world/entity/decoration/EntityPainting.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/decoration/EntityPainting.patch rename to paper-server/patches/sources/net/minecraft/world/entity/decoration/EntityPainting.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/item/EntityFallingBlock.patch b/paper-server/patches/sources/net/minecraft/world/entity/item/EntityFallingBlock.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/item/EntityFallingBlock.patch rename to paper-server/patches/sources/net/minecraft/world/entity/item/EntityFallingBlock.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/item/EntityItem.patch b/paper-server/patches/sources/net/minecraft/world/entity/item/EntityItem.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/item/EntityItem.patch rename to paper-server/patches/sources/net/minecraft/world/entity/item/EntityItem.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/item/EntityTNTPrimed.patch b/paper-server/patches/sources/net/minecraft/world/entity/item/EntityTNTPrimed.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/item/EntityTNTPrimed.patch rename to paper-server/patches/sources/net/minecraft/world/entity/item/EntityTNTPrimed.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/Bogged.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/Bogged.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/monster/Bogged.patch rename to paper-server/patches/sources/net/minecraft/world/entity/monster/Bogged.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/EntityCaveSpider.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/EntityCaveSpider.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/monster/EntityCaveSpider.patch rename to paper-server/patches/sources/net/minecraft/world/entity/monster/EntityCaveSpider.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/EntityCreeper.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/EntityCreeper.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/monster/EntityCreeper.patch rename to paper-server/patches/sources/net/minecraft/world/entity/monster/EntityCreeper.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/EntityEnderman.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/EntityEnderman.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/monster/EntityEnderman.patch rename to paper-server/patches/sources/net/minecraft/world/entity/monster/EntityEnderman.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/EntityEndermite.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/EntityEndermite.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/monster/EntityEndermite.patch rename to paper-server/patches/sources/net/minecraft/world/entity/monster/EntityEndermite.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/EntityEvoker.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/EntityEvoker.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/monster/EntityEvoker.patch rename to paper-server/patches/sources/net/minecraft/world/entity/monster/EntityEvoker.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/EntityGhast.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/EntityGhast.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/monster/EntityGhast.patch rename to paper-server/patches/sources/net/minecraft/world/entity/monster/EntityGhast.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/EntityGuardian.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/EntityGuardian.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/monster/EntityGuardian.patch rename to paper-server/patches/sources/net/minecraft/world/entity/monster/EntityGuardian.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/EntityGuardianElder.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/EntityGuardianElder.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/monster/EntityGuardianElder.patch rename to paper-server/patches/sources/net/minecraft/world/entity/monster/EntityGuardianElder.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/EntityIllagerIllusioner.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/EntityIllagerIllusioner.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/monster/EntityIllagerIllusioner.patch rename to paper-server/patches/sources/net/minecraft/world/entity/monster/EntityIllagerIllusioner.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/EntityIllagerWizard.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/EntityIllagerWizard.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/monster/EntityIllagerWizard.patch rename to paper-server/patches/sources/net/minecraft/world/entity/monster/EntityIllagerWizard.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/EntityPhantom.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/EntityPhantom.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/monster/EntityPhantom.patch rename to paper-server/patches/sources/net/minecraft/world/entity/monster/EntityPhantom.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/EntityPigZombie.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/EntityPigZombie.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/monster/EntityPigZombie.patch rename to paper-server/patches/sources/net/minecraft/world/entity/monster/EntityPigZombie.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/EntityPillager.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/EntityPillager.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/monster/EntityPillager.patch rename to paper-server/patches/sources/net/minecraft/world/entity/monster/EntityPillager.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/EntityRavager.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/EntityRavager.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/monster/EntityRavager.patch rename to paper-server/patches/sources/net/minecraft/world/entity/monster/EntityRavager.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/EntityShulker.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/EntityShulker.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/monster/EntityShulker.patch rename to paper-server/patches/sources/net/minecraft/world/entity/monster/EntityShulker.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/EntitySilverfish.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/EntitySilverfish.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/monster/EntitySilverfish.patch rename to paper-server/patches/sources/net/minecraft/world/entity/monster/EntitySilverfish.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/EntitySkeleton.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/EntitySkeleton.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/monster/EntitySkeleton.patch rename to paper-server/patches/sources/net/minecraft/world/entity/monster/EntitySkeleton.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/EntitySkeletonAbstract.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/EntitySkeletonAbstract.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/monster/EntitySkeletonAbstract.patch rename to paper-server/patches/sources/net/minecraft/world/entity/monster/EntitySkeletonAbstract.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/EntitySkeletonWither.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/EntitySkeletonWither.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/monster/EntitySkeletonWither.patch rename to paper-server/patches/sources/net/minecraft/world/entity/monster/EntitySkeletonWither.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/EntitySlime.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/EntitySlime.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/monster/EntitySlime.patch rename to paper-server/patches/sources/net/minecraft/world/entity/monster/EntitySlime.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/EntitySpider.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/EntitySpider.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/monster/EntitySpider.patch rename to paper-server/patches/sources/net/minecraft/world/entity/monster/EntitySpider.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/EntityStrider.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/EntityStrider.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/monster/EntityStrider.patch rename to paper-server/patches/sources/net/minecraft/world/entity/monster/EntityStrider.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/EntityVex.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/EntityVex.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/monster/EntityVex.patch rename to paper-server/patches/sources/net/minecraft/world/entity/monster/EntityVex.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/EntityWitch.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/EntityWitch.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/monster/EntityWitch.patch rename to paper-server/patches/sources/net/minecraft/world/entity/monster/EntityWitch.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/EntityZombie.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/EntityZombie.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/monster/EntityZombie.patch rename to paper-server/patches/sources/net/minecraft/world/entity/monster/EntityZombie.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/EntityZombieHusk.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/EntityZombieHusk.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/monster/EntityZombieHusk.patch rename to paper-server/patches/sources/net/minecraft/world/entity/monster/EntityZombieHusk.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/EntityZombieVillager.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/EntityZombieVillager.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/monster/EntityZombieVillager.patch rename to paper-server/patches/sources/net/minecraft/world/entity/monster/EntityZombieVillager.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/breeze/Breeze.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/breeze/Breeze.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/monster/breeze/Breeze.patch rename to paper-server/patches/sources/net/minecraft/world/entity/monster/breeze/Breeze.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/creaking/Creaking.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/creaking/Creaking.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/monster/creaking/Creaking.patch rename to paper-server/patches/sources/net/minecraft/world/entity/monster/creaking/Creaking.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/hoglin/EntityHoglin.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/hoglin/EntityHoglin.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/monster/hoglin/EntityHoglin.patch rename to paper-server/patches/sources/net/minecraft/world/entity/monster/hoglin/EntityHoglin.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/piglin/EntityPiglin.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/piglin/EntityPiglin.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/monster/piglin/EntityPiglin.patch rename to paper-server/patches/sources/net/minecraft/world/entity/monster/piglin/EntityPiglin.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/piglin/EntityPiglinAbstract.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/piglin/EntityPiglinAbstract.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/monster/piglin/EntityPiglinAbstract.patch rename to paper-server/patches/sources/net/minecraft/world/entity/monster/piglin/EntityPiglinAbstract.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/piglin/PiglinAI.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/piglin/PiglinAI.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/monster/piglin/PiglinAI.patch rename to paper-server/patches/sources/net/minecraft/world/entity/monster/piglin/PiglinAI.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/monster/warden/Warden.patch b/paper-server/patches/sources/net/minecraft/world/entity/monster/warden/Warden.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/monster/warden/Warden.patch rename to paper-server/patches/sources/net/minecraft/world/entity/monster/warden/Warden.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/npc/EntityVillager.patch b/paper-server/patches/sources/net/minecraft/world/entity/npc/EntityVillager.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/npc/EntityVillager.patch rename to paper-server/patches/sources/net/minecraft/world/entity/npc/EntityVillager.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/npc/EntityVillagerAbstract.patch b/paper-server/patches/sources/net/minecraft/world/entity/npc/EntityVillagerAbstract.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/npc/EntityVillagerAbstract.patch rename to paper-server/patches/sources/net/minecraft/world/entity/npc/EntityVillagerAbstract.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/npc/EntityVillagerTrader.patch b/paper-server/patches/sources/net/minecraft/world/entity/npc/EntityVillagerTrader.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/npc/EntityVillagerTrader.patch rename to paper-server/patches/sources/net/minecraft/world/entity/npc/EntityVillagerTrader.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/npc/InventoryCarrier.patch b/paper-server/patches/sources/net/minecraft/world/entity/npc/InventoryCarrier.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/npc/InventoryCarrier.patch rename to paper-server/patches/sources/net/minecraft/world/entity/npc/InventoryCarrier.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/npc/MobSpawnerTrader.patch b/paper-server/patches/sources/net/minecraft/world/entity/npc/MobSpawnerTrader.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/npc/MobSpawnerTrader.patch rename to paper-server/patches/sources/net/minecraft/world/entity/npc/MobSpawnerTrader.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/player/EntityHuman.patch b/paper-server/patches/sources/net/minecraft/world/entity/player/EntityHuman.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/player/EntityHuman.patch rename to paper-server/patches/sources/net/minecraft/world/entity/player/EntityHuman.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/player/PlayerInventory.patch b/paper-server/patches/sources/net/minecraft/world/entity/player/PlayerInventory.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/player/PlayerInventory.patch rename to paper-server/patches/sources/net/minecraft/world/entity/player/PlayerInventory.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityArrow.patch b/paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityArrow.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityArrow.patch rename to paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityArrow.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityDragonFireball.patch b/paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityDragonFireball.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityDragonFireball.patch rename to paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityDragonFireball.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityEgg.patch b/paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityEgg.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityEgg.patch rename to paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityEgg.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityEnderPearl.patch b/paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityEnderPearl.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityEnderPearl.patch rename to paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityEnderPearl.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityEnderSignal.patch b/paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityEnderSignal.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityEnderSignal.patch rename to paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityEnderSignal.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityEvokerFangs.patch b/paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityEvokerFangs.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityEvokerFangs.patch rename to paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityEvokerFangs.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityFireball.patch b/paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityFireball.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityFireball.patch rename to paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityFireball.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityFireballFireball.patch b/paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityFireballFireball.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityFireballFireball.patch rename to paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityFireballFireball.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityFireworks.patch b/paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityFireworks.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityFireworks.patch rename to paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityFireworks.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityFishingHook.patch b/paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityFishingHook.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityFishingHook.patch rename to paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityFishingHook.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityLargeFireball.patch b/paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityLargeFireball.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityLargeFireball.patch rename to paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityLargeFireball.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityLlamaSpit.patch b/paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityLlamaSpit.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityLlamaSpit.patch rename to paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityLlamaSpit.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityPotion.patch b/paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityPotion.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityPotion.patch rename to paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityPotion.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityProjectile.patch b/paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityProjectile.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityProjectile.patch rename to paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityProjectile.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityProjectileThrowable.patch b/paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityProjectileThrowable.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityProjectileThrowable.patch rename to paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityProjectileThrowable.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityShulkerBullet.patch b/paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityShulkerBullet.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityShulkerBullet.patch rename to paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityShulkerBullet.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/projectile/EntitySmallFireball.patch b/paper-server/patches/sources/net/minecraft/world/entity/projectile/EntitySmallFireball.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/projectile/EntitySmallFireball.patch rename to paper-server/patches/sources/net/minecraft/world/entity/projectile/EntitySmallFireball.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/projectile/EntitySnowball.patch b/paper-server/patches/sources/net/minecraft/world/entity/projectile/EntitySnowball.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/projectile/EntitySnowball.patch rename to paper-server/patches/sources/net/minecraft/world/entity/projectile/EntitySnowball.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/projectile/EntitySpectralArrow.patch b/paper-server/patches/sources/net/minecraft/world/entity/projectile/EntitySpectralArrow.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/projectile/EntitySpectralArrow.patch rename to paper-server/patches/sources/net/minecraft/world/entity/projectile/EntitySpectralArrow.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityThrownExpBottle.patch b/paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityThrownExpBottle.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityThrownExpBottle.patch rename to paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityThrownExpBottle.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityThrownTrident.patch b/paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityThrownTrident.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityThrownTrident.patch rename to paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityThrownTrident.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityTippedArrow.patch b/paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityTippedArrow.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityTippedArrow.patch rename to paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityTippedArrow.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityWitherSkull.patch b/paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityWitherSkull.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/projectile/EntityWitherSkull.patch rename to paper-server/patches/sources/net/minecraft/world/entity/projectile/EntityWitherSkull.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/projectile/IProjectile.patch b/paper-server/patches/sources/net/minecraft/world/entity/projectile/IProjectile.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/projectile/IProjectile.patch rename to paper-server/patches/sources/net/minecraft/world/entity/projectile/IProjectile.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/projectile/windcharge/AbstractWindCharge.patch b/paper-server/patches/sources/net/minecraft/world/entity/projectile/windcharge/AbstractWindCharge.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/projectile/windcharge/AbstractWindCharge.patch rename to paper-server/patches/sources/net/minecraft/world/entity/projectile/windcharge/AbstractWindCharge.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/raid/EntityRaider.patch b/paper-server/patches/sources/net/minecraft/world/entity/raid/EntityRaider.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/raid/EntityRaider.patch rename to paper-server/patches/sources/net/minecraft/world/entity/raid/EntityRaider.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/raid/PersistentRaid.patch b/paper-server/patches/sources/net/minecraft/world/entity/raid/PersistentRaid.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/raid/PersistentRaid.patch rename to paper-server/patches/sources/net/minecraft/world/entity/raid/PersistentRaid.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/raid/Raid.patch b/paper-server/patches/sources/net/minecraft/world/entity/raid/Raid.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/raid/Raid.patch rename to paper-server/patches/sources/net/minecraft/world/entity/raid/Raid.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/vehicle/AbstractBoat.patch b/paper-server/patches/sources/net/minecraft/world/entity/vehicle/AbstractBoat.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/vehicle/AbstractBoat.patch rename to paper-server/patches/sources/net/minecraft/world/entity/vehicle/AbstractBoat.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/vehicle/AbstractChestBoat.patch b/paper-server/patches/sources/net/minecraft/world/entity/vehicle/AbstractChestBoat.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/vehicle/AbstractChestBoat.patch rename to paper-server/patches/sources/net/minecraft/world/entity/vehicle/AbstractChestBoat.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/vehicle/EntityMinecartAbstract.patch b/paper-server/patches/sources/net/minecraft/world/entity/vehicle/EntityMinecartAbstract.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/vehicle/EntityMinecartAbstract.patch rename to paper-server/patches/sources/net/minecraft/world/entity/vehicle/EntityMinecartAbstract.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/vehicle/EntityMinecartCommandBlock.patch b/paper-server/patches/sources/net/minecraft/world/entity/vehicle/EntityMinecartCommandBlock.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/vehicle/EntityMinecartCommandBlock.patch rename to paper-server/patches/sources/net/minecraft/world/entity/vehicle/EntityMinecartCommandBlock.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/vehicle/EntityMinecartContainer.patch b/paper-server/patches/sources/net/minecraft/world/entity/vehicle/EntityMinecartContainer.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/vehicle/EntityMinecartContainer.patch rename to paper-server/patches/sources/net/minecraft/world/entity/vehicle/EntityMinecartContainer.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/vehicle/EntityMinecartTNT.patch b/paper-server/patches/sources/net/minecraft/world/entity/vehicle/EntityMinecartTNT.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/vehicle/EntityMinecartTNT.patch rename to paper-server/patches/sources/net/minecraft/world/entity/vehicle/EntityMinecartTNT.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/vehicle/NewMinecartBehavior.patch b/paper-server/patches/sources/net/minecraft/world/entity/vehicle/NewMinecartBehavior.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/vehicle/NewMinecartBehavior.patch rename to paper-server/patches/sources/net/minecraft/world/entity/vehicle/NewMinecartBehavior.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/vehicle/OldMinecartBehavior.patch b/paper-server/patches/sources/net/minecraft/world/entity/vehicle/OldMinecartBehavior.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/vehicle/OldMinecartBehavior.patch rename to paper-server/patches/sources/net/minecraft/world/entity/vehicle/OldMinecartBehavior.patch diff --git a/paper-server/nms-patches/net/minecraft/world/entity/vehicle/VehicleEntity.patch b/paper-server/patches/sources/net/minecraft/world/entity/vehicle/VehicleEntity.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/entity/vehicle/VehicleEntity.patch rename to paper-server/patches/sources/net/minecraft/world/entity/vehicle/VehicleEntity.patch diff --git a/paper-server/nms-patches/net/minecraft/world/food/FoodInfo.patch b/paper-server/patches/sources/net/minecraft/world/food/FoodInfo.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/food/FoodInfo.patch rename to paper-server/patches/sources/net/minecraft/world/food/FoodInfo.patch diff --git a/paper-server/nms-patches/net/minecraft/world/food/FoodMetaData.patch b/paper-server/patches/sources/net/minecraft/world/food/FoodMetaData.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/food/FoodMetaData.patch rename to paper-server/patches/sources/net/minecraft/world/food/FoodMetaData.patch diff --git a/paper-server/nms-patches/net/minecraft/world/inventory/AbstractCraftingMenu.patch b/paper-server/patches/sources/net/minecraft/world/inventory/AbstractCraftingMenu.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/inventory/AbstractCraftingMenu.patch rename to paper-server/patches/sources/net/minecraft/world/inventory/AbstractCraftingMenu.patch diff --git a/paper-server/nms-patches/net/minecraft/world/inventory/Container.patch b/paper-server/patches/sources/net/minecraft/world/inventory/Container.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/inventory/Container.patch rename to paper-server/patches/sources/net/minecraft/world/inventory/Container.patch diff --git a/paper-server/nms-patches/net/minecraft/world/inventory/ContainerAccess.patch b/paper-server/patches/sources/net/minecraft/world/inventory/ContainerAccess.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/inventory/ContainerAccess.patch rename to paper-server/patches/sources/net/minecraft/world/inventory/ContainerAccess.patch diff --git a/paper-server/nms-patches/net/minecraft/world/inventory/ContainerAnvil.patch b/paper-server/patches/sources/net/minecraft/world/inventory/ContainerAnvil.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/inventory/ContainerAnvil.patch rename to paper-server/patches/sources/net/minecraft/world/inventory/ContainerAnvil.patch diff --git a/paper-server/nms-patches/net/minecraft/world/inventory/ContainerAnvilAbstract.patch b/paper-server/patches/sources/net/minecraft/world/inventory/ContainerAnvilAbstract.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/inventory/ContainerAnvilAbstract.patch rename to paper-server/patches/sources/net/minecraft/world/inventory/ContainerAnvilAbstract.patch diff --git a/paper-server/nms-patches/net/minecraft/world/inventory/ContainerBeacon.patch b/paper-server/patches/sources/net/minecraft/world/inventory/ContainerBeacon.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/inventory/ContainerBeacon.patch rename to paper-server/patches/sources/net/minecraft/world/inventory/ContainerBeacon.patch diff --git a/paper-server/nms-patches/net/minecraft/world/inventory/ContainerBrewingStand.patch b/paper-server/patches/sources/net/minecraft/world/inventory/ContainerBrewingStand.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/inventory/ContainerBrewingStand.patch rename to paper-server/patches/sources/net/minecraft/world/inventory/ContainerBrewingStand.patch diff --git a/paper-server/nms-patches/net/minecraft/world/inventory/ContainerCartography.patch b/paper-server/patches/sources/net/minecraft/world/inventory/ContainerCartography.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/inventory/ContainerCartography.patch rename to paper-server/patches/sources/net/minecraft/world/inventory/ContainerCartography.patch diff --git a/paper-server/nms-patches/net/minecraft/world/inventory/ContainerChest.patch b/paper-server/patches/sources/net/minecraft/world/inventory/ContainerChest.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/inventory/ContainerChest.patch rename to paper-server/patches/sources/net/minecraft/world/inventory/ContainerChest.patch diff --git a/paper-server/nms-patches/net/minecraft/world/inventory/ContainerDispenser.patch b/paper-server/patches/sources/net/minecraft/world/inventory/ContainerDispenser.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/inventory/ContainerDispenser.patch rename to paper-server/patches/sources/net/minecraft/world/inventory/ContainerDispenser.patch diff --git a/paper-server/nms-patches/net/minecraft/world/inventory/ContainerEnchantTable.patch b/paper-server/patches/sources/net/minecraft/world/inventory/ContainerEnchantTable.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/inventory/ContainerEnchantTable.patch rename to paper-server/patches/sources/net/minecraft/world/inventory/ContainerEnchantTable.patch diff --git a/paper-server/nms-patches/net/minecraft/world/inventory/ContainerFurnace.patch b/paper-server/patches/sources/net/minecraft/world/inventory/ContainerFurnace.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/inventory/ContainerFurnace.patch rename to paper-server/patches/sources/net/minecraft/world/inventory/ContainerFurnace.patch diff --git a/paper-server/nms-patches/net/minecraft/world/inventory/ContainerGrindstone.patch b/paper-server/patches/sources/net/minecraft/world/inventory/ContainerGrindstone.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/inventory/ContainerGrindstone.patch rename to paper-server/patches/sources/net/minecraft/world/inventory/ContainerGrindstone.patch diff --git a/paper-server/nms-patches/net/minecraft/world/inventory/ContainerHopper.patch b/paper-server/patches/sources/net/minecraft/world/inventory/ContainerHopper.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/inventory/ContainerHopper.patch rename to paper-server/patches/sources/net/minecraft/world/inventory/ContainerHopper.patch diff --git a/paper-server/nms-patches/net/minecraft/world/inventory/ContainerHorse.patch b/paper-server/patches/sources/net/minecraft/world/inventory/ContainerHorse.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/inventory/ContainerHorse.patch rename to paper-server/patches/sources/net/minecraft/world/inventory/ContainerHorse.patch diff --git a/paper-server/nms-patches/net/minecraft/world/inventory/ContainerLectern.patch b/paper-server/patches/sources/net/minecraft/world/inventory/ContainerLectern.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/inventory/ContainerLectern.patch rename to paper-server/patches/sources/net/minecraft/world/inventory/ContainerLectern.patch diff --git a/paper-server/nms-patches/net/minecraft/world/inventory/ContainerLoom.patch b/paper-server/patches/sources/net/minecraft/world/inventory/ContainerLoom.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/inventory/ContainerLoom.patch rename to paper-server/patches/sources/net/minecraft/world/inventory/ContainerLoom.patch diff --git a/paper-server/nms-patches/net/minecraft/world/inventory/ContainerMerchant.patch b/paper-server/patches/sources/net/minecraft/world/inventory/ContainerMerchant.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/inventory/ContainerMerchant.patch rename to paper-server/patches/sources/net/minecraft/world/inventory/ContainerMerchant.patch diff --git a/paper-server/nms-patches/net/minecraft/world/inventory/ContainerPlayer.patch b/paper-server/patches/sources/net/minecraft/world/inventory/ContainerPlayer.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/inventory/ContainerPlayer.patch rename to paper-server/patches/sources/net/minecraft/world/inventory/ContainerPlayer.patch diff --git a/paper-server/nms-patches/net/minecraft/world/inventory/ContainerShulkerBox.patch b/paper-server/patches/sources/net/minecraft/world/inventory/ContainerShulkerBox.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/inventory/ContainerShulkerBox.patch rename to paper-server/patches/sources/net/minecraft/world/inventory/ContainerShulkerBox.patch diff --git a/paper-server/nms-patches/net/minecraft/world/inventory/ContainerSmithing.patch b/paper-server/patches/sources/net/minecraft/world/inventory/ContainerSmithing.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/inventory/ContainerSmithing.patch rename to paper-server/patches/sources/net/minecraft/world/inventory/ContainerSmithing.patch diff --git a/paper-server/nms-patches/net/minecraft/world/inventory/ContainerStonecutter.patch b/paper-server/patches/sources/net/minecraft/world/inventory/ContainerStonecutter.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/inventory/ContainerStonecutter.patch rename to paper-server/patches/sources/net/minecraft/world/inventory/ContainerStonecutter.patch diff --git a/paper-server/nms-patches/net/minecraft/world/inventory/ContainerWorkbench.patch b/paper-server/patches/sources/net/minecraft/world/inventory/ContainerWorkbench.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/inventory/ContainerWorkbench.patch rename to paper-server/patches/sources/net/minecraft/world/inventory/ContainerWorkbench.patch diff --git a/paper-server/nms-patches/net/minecraft/world/inventory/Containers.patch b/paper-server/patches/sources/net/minecraft/world/inventory/Containers.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/inventory/Containers.patch rename to paper-server/patches/sources/net/minecraft/world/inventory/Containers.patch diff --git a/paper-server/nms-patches/net/minecraft/world/inventory/CrafterMenu.patch b/paper-server/patches/sources/net/minecraft/world/inventory/CrafterMenu.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/inventory/CrafterMenu.patch rename to paper-server/patches/sources/net/minecraft/world/inventory/CrafterMenu.patch diff --git a/paper-server/nms-patches/net/minecraft/world/inventory/InventoryCraftResult.patch b/paper-server/patches/sources/net/minecraft/world/inventory/InventoryCraftResult.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/inventory/InventoryCraftResult.patch rename to paper-server/patches/sources/net/minecraft/world/inventory/InventoryCraftResult.patch diff --git a/paper-server/nms-patches/net/minecraft/world/inventory/InventoryCrafting.patch b/paper-server/patches/sources/net/minecraft/world/inventory/InventoryCrafting.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/inventory/InventoryCrafting.patch rename to paper-server/patches/sources/net/minecraft/world/inventory/InventoryCrafting.patch diff --git a/paper-server/nms-patches/net/minecraft/world/inventory/InventoryEnderChest.patch b/paper-server/patches/sources/net/minecraft/world/inventory/InventoryEnderChest.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/inventory/InventoryEnderChest.patch rename to paper-server/patches/sources/net/minecraft/world/inventory/InventoryEnderChest.patch diff --git a/paper-server/nms-patches/net/minecraft/world/inventory/InventoryMerchant.patch b/paper-server/patches/sources/net/minecraft/world/inventory/InventoryMerchant.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/inventory/InventoryMerchant.patch rename to paper-server/patches/sources/net/minecraft/world/inventory/InventoryMerchant.patch diff --git a/paper-server/nms-patches/net/minecraft/world/inventory/SlotFurnaceResult.patch b/paper-server/patches/sources/net/minecraft/world/inventory/SlotFurnaceResult.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/inventory/SlotFurnaceResult.patch rename to paper-server/patches/sources/net/minecraft/world/inventory/SlotFurnaceResult.patch diff --git a/paper-server/nms-patches/net/minecraft/world/inventory/TransientCraftingContainer.patch b/paper-server/patches/sources/net/minecraft/world/inventory/TransientCraftingContainer.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/inventory/TransientCraftingContainer.patch rename to paper-server/patches/sources/net/minecraft/world/inventory/TransientCraftingContainer.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/ItemArmorStand.patch b/paper-server/patches/sources/net/minecraft/world/item/ItemArmorStand.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/ItemArmorStand.patch rename to paper-server/patches/sources/net/minecraft/world/item/ItemArmorStand.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/ItemBlock.patch b/paper-server/patches/sources/net/minecraft/world/item/ItemBlock.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/ItemBlock.patch rename to paper-server/patches/sources/net/minecraft/world/item/ItemBlock.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/ItemBlockWallable.patch b/paper-server/patches/sources/net/minecraft/world/item/ItemBlockWallable.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/ItemBlockWallable.patch rename to paper-server/patches/sources/net/minecraft/world/item/ItemBlockWallable.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/ItemBoat.patch b/paper-server/patches/sources/net/minecraft/world/item/ItemBoat.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/ItemBoat.patch rename to paper-server/patches/sources/net/minecraft/world/item/ItemBoat.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/ItemBoneMeal.patch b/paper-server/patches/sources/net/minecraft/world/item/ItemBoneMeal.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/ItemBoneMeal.patch rename to paper-server/patches/sources/net/minecraft/world/item/ItemBoneMeal.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/ItemBucket.patch b/paper-server/patches/sources/net/minecraft/world/item/ItemBucket.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/ItemBucket.patch rename to paper-server/patches/sources/net/minecraft/world/item/ItemBucket.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/ItemDebugStick.patch b/paper-server/patches/sources/net/minecraft/world/item/ItemDebugStick.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/ItemDebugStick.patch rename to paper-server/patches/sources/net/minecraft/world/item/ItemDebugStick.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/ItemDye.patch b/paper-server/patches/sources/net/minecraft/world/item/ItemDye.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/ItemDye.patch rename to paper-server/patches/sources/net/minecraft/world/item/ItemDye.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/ItemEgg.patch b/paper-server/patches/sources/net/minecraft/world/item/ItemEgg.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/ItemEgg.patch rename to paper-server/patches/sources/net/minecraft/world/item/ItemEgg.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/ItemEndCrystal.patch b/paper-server/patches/sources/net/minecraft/world/item/ItemEndCrystal.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/ItemEndCrystal.patch rename to paper-server/patches/sources/net/minecraft/world/item/ItemEndCrystal.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/ItemEnderEye.patch b/paper-server/patches/sources/net/minecraft/world/item/ItemEnderEye.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/ItemEnderEye.patch rename to paper-server/patches/sources/net/minecraft/world/item/ItemEnderEye.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/ItemEnderPearl.patch b/paper-server/patches/sources/net/minecraft/world/item/ItemEnderPearl.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/ItemEnderPearl.patch rename to paper-server/patches/sources/net/minecraft/world/item/ItemEnderPearl.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/ItemFireball.patch b/paper-server/patches/sources/net/minecraft/world/item/ItemFireball.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/ItemFireball.patch rename to paper-server/patches/sources/net/minecraft/world/item/ItemFireball.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/ItemFishingRod.patch b/paper-server/patches/sources/net/minecraft/world/item/ItemFishingRod.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/ItemFishingRod.patch rename to paper-server/patches/sources/net/minecraft/world/item/ItemFishingRod.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/ItemFlintAndSteel.patch b/paper-server/patches/sources/net/minecraft/world/item/ItemFlintAndSteel.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/ItemFlintAndSteel.patch rename to paper-server/patches/sources/net/minecraft/world/item/ItemFlintAndSteel.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/ItemHanging.patch b/paper-server/patches/sources/net/minecraft/world/item/ItemHanging.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/ItemHanging.patch rename to paper-server/patches/sources/net/minecraft/world/item/ItemHanging.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/ItemLeash.patch b/paper-server/patches/sources/net/minecraft/world/item/ItemLeash.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/ItemLeash.patch rename to paper-server/patches/sources/net/minecraft/world/item/ItemLeash.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/ItemMinecart.patch b/paper-server/patches/sources/net/minecraft/world/item/ItemMinecart.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/ItemMinecart.patch rename to paper-server/patches/sources/net/minecraft/world/item/ItemMinecart.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/ItemMonsterEgg.patch b/paper-server/patches/sources/net/minecraft/world/item/ItemMonsterEgg.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/ItemMonsterEgg.patch rename to paper-server/patches/sources/net/minecraft/world/item/ItemMonsterEgg.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/ItemProjectileWeapon.patch b/paper-server/patches/sources/net/minecraft/world/item/ItemProjectileWeapon.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/ItemProjectileWeapon.patch rename to paper-server/patches/sources/net/minecraft/world/item/ItemProjectileWeapon.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/ItemSign.patch b/paper-server/patches/sources/net/minecraft/world/item/ItemSign.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/ItemSign.patch rename to paper-server/patches/sources/net/minecraft/world/item/ItemSign.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/ItemSnowball.patch b/paper-server/patches/sources/net/minecraft/world/item/ItemSnowball.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/ItemSnowball.patch rename to paper-server/patches/sources/net/minecraft/world/item/ItemSnowball.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/ItemStack.patch b/paper-server/patches/sources/net/minecraft/world/item/ItemStack.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/ItemStack.patch rename to paper-server/patches/sources/net/minecraft/world/item/ItemStack.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/ItemTrident.patch b/paper-server/patches/sources/net/minecraft/world/item/ItemTrident.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/ItemTrident.patch rename to paper-server/patches/sources/net/minecraft/world/item/ItemTrident.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/alchemy/PotionContents.patch b/paper-server/patches/sources/net/minecraft/world/item/alchemy/PotionContents.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/alchemy/PotionContents.patch rename to paper-server/patches/sources/net/minecraft/world/item/alchemy/PotionContents.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/component/Consumable.patch b/paper-server/patches/sources/net/minecraft/world/item/component/Consumable.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/component/Consumable.patch rename to paper-server/patches/sources/net/minecraft/world/item/component/Consumable.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/component/ConsumableListener.patch b/paper-server/patches/sources/net/minecraft/world/item/component/ConsumableListener.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/component/ConsumableListener.patch rename to paper-server/patches/sources/net/minecraft/world/item/component/ConsumableListener.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/component/DeathProtection.patch b/paper-server/patches/sources/net/minecraft/world/item/component/DeathProtection.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/component/DeathProtection.patch rename to paper-server/patches/sources/net/minecraft/world/item/component/DeathProtection.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/component/SuspiciousStewEffects.patch b/paper-server/patches/sources/net/minecraft/world/item/component/SuspiciousStewEffects.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/component/SuspiciousStewEffects.patch rename to paper-server/patches/sources/net/minecraft/world/item/component/SuspiciousStewEffects.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/consume_effects/ApplyStatusEffectsConsumeEffect.patch b/paper-server/patches/sources/net/minecraft/world/item/consume_effects/ApplyStatusEffectsConsumeEffect.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/consume_effects/ApplyStatusEffectsConsumeEffect.patch rename to paper-server/patches/sources/net/minecraft/world/item/consume_effects/ApplyStatusEffectsConsumeEffect.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/consume_effects/ClearAllStatusEffectsConsumeEffect.patch b/paper-server/patches/sources/net/minecraft/world/item/consume_effects/ClearAllStatusEffectsConsumeEffect.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/consume_effects/ClearAllStatusEffectsConsumeEffect.patch rename to paper-server/patches/sources/net/minecraft/world/item/consume_effects/ClearAllStatusEffectsConsumeEffect.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/consume_effects/ConsumeEffect.patch b/paper-server/patches/sources/net/minecraft/world/item/consume_effects/ConsumeEffect.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/consume_effects/ConsumeEffect.patch rename to paper-server/patches/sources/net/minecraft/world/item/consume_effects/ConsumeEffect.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/consume_effects/RemoveStatusEffectsConsumeEffect.patch b/paper-server/patches/sources/net/minecraft/world/item/consume_effects/RemoveStatusEffectsConsumeEffect.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/consume_effects/RemoveStatusEffectsConsumeEffect.patch rename to paper-server/patches/sources/net/minecraft/world/item/consume_effects/RemoveStatusEffectsConsumeEffect.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/consume_effects/TeleportRandomlyConsumeEffect.patch b/paper-server/patches/sources/net/minecraft/world/item/consume_effects/TeleportRandomlyConsumeEffect.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/consume_effects/TeleportRandomlyConsumeEffect.patch rename to paper-server/patches/sources/net/minecraft/world/item/consume_effects/TeleportRandomlyConsumeEffect.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/crafting/CraftingManager.patch b/paper-server/patches/sources/net/minecraft/world/item/crafting/CraftingManager.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/crafting/CraftingManager.patch rename to paper-server/patches/sources/net/minecraft/world/item/crafting/CraftingManager.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/crafting/FurnaceRecipe.patch b/paper-server/patches/sources/net/minecraft/world/item/crafting/FurnaceRecipe.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/crafting/FurnaceRecipe.patch rename to paper-server/patches/sources/net/minecraft/world/item/crafting/FurnaceRecipe.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/crafting/IRecipe.patch b/paper-server/patches/sources/net/minecraft/world/item/crafting/IRecipe.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/crafting/IRecipe.patch rename to paper-server/patches/sources/net/minecraft/world/item/crafting/IRecipe.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/crafting/IRecipeComplex.patch b/paper-server/patches/sources/net/minecraft/world/item/crafting/IRecipeComplex.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/crafting/IRecipeComplex.patch rename to paper-server/patches/sources/net/minecraft/world/item/crafting/IRecipeComplex.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/crafting/RecipeBlasting.patch b/paper-server/patches/sources/net/minecraft/world/item/crafting/RecipeBlasting.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/crafting/RecipeBlasting.patch rename to paper-server/patches/sources/net/minecraft/world/item/crafting/RecipeBlasting.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/crafting/RecipeCampfire.patch b/paper-server/patches/sources/net/minecraft/world/item/crafting/RecipeCampfire.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/crafting/RecipeCampfire.patch rename to paper-server/patches/sources/net/minecraft/world/item/crafting/RecipeCampfire.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/crafting/RecipeHolder.patch b/paper-server/patches/sources/net/minecraft/world/item/crafting/RecipeHolder.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/crafting/RecipeHolder.patch rename to paper-server/patches/sources/net/minecraft/world/item/crafting/RecipeHolder.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/crafting/RecipeItemStack.patch b/paper-server/patches/sources/net/minecraft/world/item/crafting/RecipeItemStack.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/crafting/RecipeItemStack.patch rename to paper-server/patches/sources/net/minecraft/world/item/crafting/RecipeItemStack.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/crafting/RecipeMap.patch b/paper-server/patches/sources/net/minecraft/world/item/crafting/RecipeMap.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/crafting/RecipeMap.patch rename to paper-server/patches/sources/net/minecraft/world/item/crafting/RecipeMap.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/crafting/RecipeSmoking.patch b/paper-server/patches/sources/net/minecraft/world/item/crafting/RecipeSmoking.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/crafting/RecipeSmoking.patch rename to paper-server/patches/sources/net/minecraft/world/item/crafting/RecipeSmoking.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/crafting/RecipeStonecutting.patch b/paper-server/patches/sources/net/minecraft/world/item/crafting/RecipeStonecutting.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/crafting/RecipeStonecutting.patch rename to paper-server/patches/sources/net/minecraft/world/item/crafting/RecipeStonecutting.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/crafting/ShapedRecipes.patch b/paper-server/patches/sources/net/minecraft/world/item/crafting/ShapedRecipes.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/crafting/ShapedRecipes.patch rename to paper-server/patches/sources/net/minecraft/world/item/crafting/ShapedRecipes.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/crafting/ShapelessRecipes.patch b/paper-server/patches/sources/net/minecraft/world/item/crafting/ShapelessRecipes.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/crafting/ShapelessRecipes.patch rename to paper-server/patches/sources/net/minecraft/world/item/crafting/ShapelessRecipes.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/crafting/SmithingTransformRecipe.patch b/paper-server/patches/sources/net/minecraft/world/item/crafting/SmithingTransformRecipe.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/crafting/SmithingTransformRecipe.patch rename to paper-server/patches/sources/net/minecraft/world/item/crafting/SmithingTransformRecipe.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/crafting/SmithingTrimRecipe.patch b/paper-server/patches/sources/net/minecraft/world/item/crafting/SmithingTrimRecipe.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/crafting/SmithingTrimRecipe.patch rename to paper-server/patches/sources/net/minecraft/world/item/crafting/SmithingTrimRecipe.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/crafting/TransmuteRecipe.patch b/paper-server/patches/sources/net/minecraft/world/item/crafting/TransmuteRecipe.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/crafting/TransmuteRecipe.patch rename to paper-server/patches/sources/net/minecraft/world/item/crafting/TransmuteRecipe.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/enchantment/effects/ApplyMobEffect.patch b/paper-server/patches/sources/net/minecraft/world/item/enchantment/effects/ApplyMobEffect.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/enchantment/effects/ApplyMobEffect.patch rename to paper-server/patches/sources/net/minecraft/world/item/enchantment/effects/ApplyMobEffect.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/enchantment/effects/Ignite.patch b/paper-server/patches/sources/net/minecraft/world/item/enchantment/effects/Ignite.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/enchantment/effects/Ignite.patch rename to paper-server/patches/sources/net/minecraft/world/item/enchantment/effects/Ignite.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/enchantment/effects/ReplaceBlock.patch b/paper-server/patches/sources/net/minecraft/world/item/enchantment/effects/ReplaceBlock.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/enchantment/effects/ReplaceBlock.patch rename to paper-server/patches/sources/net/minecraft/world/item/enchantment/effects/ReplaceBlock.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/enchantment/effects/ReplaceDisk.patch b/paper-server/patches/sources/net/minecraft/world/item/enchantment/effects/ReplaceDisk.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/enchantment/effects/ReplaceDisk.patch rename to paper-server/patches/sources/net/minecraft/world/item/enchantment/effects/ReplaceDisk.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/enchantment/effects/SummonEntityEffect.patch b/paper-server/patches/sources/net/minecraft/world/item/enchantment/effects/SummonEntityEffect.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/enchantment/effects/SummonEntityEffect.patch rename to paper-server/patches/sources/net/minecraft/world/item/enchantment/effects/SummonEntityEffect.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/trading/IMerchant.patch b/paper-server/patches/sources/net/minecraft/world/item/trading/IMerchant.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/trading/IMerchant.patch rename to paper-server/patches/sources/net/minecraft/world/item/trading/IMerchant.patch diff --git a/paper-server/nms-patches/net/minecraft/world/item/trading/MerchantRecipe.patch b/paper-server/patches/sources/net/minecraft/world/item/trading/MerchantRecipe.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/item/trading/MerchantRecipe.patch rename to paper-server/patches/sources/net/minecraft/world/item/trading/MerchantRecipe.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/CommandBlockListenerAbstract.patch b/paper-server/patches/sources/net/minecraft/world/level/CommandBlockListenerAbstract.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/CommandBlockListenerAbstract.patch rename to paper-server/patches/sources/net/minecraft/world/level/CommandBlockListenerAbstract.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/GameRules.patch b/paper-server/patches/sources/net/minecraft/world/level/GameRules.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/GameRules.patch rename to paper-server/patches/sources/net/minecraft/world/level/GameRules.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/GeneratorAccess.patch b/paper-server/patches/sources/net/minecraft/world/level/GeneratorAccess.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/GeneratorAccess.patch rename to paper-server/patches/sources/net/minecraft/world/level/GeneratorAccess.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/IBlockAccess.patch b/paper-server/patches/sources/net/minecraft/world/level/IBlockAccess.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/IBlockAccess.patch rename to paper-server/patches/sources/net/minecraft/world/level/IBlockAccess.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/IWorldWriter.patch b/paper-server/patches/sources/net/minecraft/world/level/IWorldWriter.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/IWorldWriter.patch rename to paper-server/patches/sources/net/minecraft/world/level/IWorldWriter.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/MobSpawnerAbstract.patch b/paper-server/patches/sources/net/minecraft/world/level/MobSpawnerAbstract.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/MobSpawnerAbstract.patch rename to paper-server/patches/sources/net/minecraft/world/level/MobSpawnerAbstract.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/RayTrace.patch b/paper-server/patches/sources/net/minecraft/world/level/RayTrace.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/RayTrace.patch rename to paper-server/patches/sources/net/minecraft/world/level/RayTrace.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/ServerExplosion.patch b/paper-server/patches/sources/net/minecraft/world/level/ServerExplosion.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/ServerExplosion.patch rename to paper-server/patches/sources/net/minecraft/world/level/ServerExplosion.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/SpawnerCreature.patch b/paper-server/patches/sources/net/minecraft/world/level/SpawnerCreature.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/SpawnerCreature.patch rename to paper-server/patches/sources/net/minecraft/world/level/SpawnerCreature.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/World.patch b/paper-server/patches/sources/net/minecraft/world/level/World.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/World.patch rename to paper-server/patches/sources/net/minecraft/world/level/World.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/WorldAccess.patch b/paper-server/patches/sources/net/minecraft/world/level/WorldAccess.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/WorldAccess.patch rename to paper-server/patches/sources/net/minecraft/world/level/WorldAccess.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/AbstractCandleBlock.patch b/paper-server/patches/sources/net/minecraft/world/level/block/AbstractCandleBlock.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/AbstractCandleBlock.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/AbstractCandleBlock.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BigDripleafBlock.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BigDripleafBlock.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BigDripleafBlock.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BigDripleafBlock.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/Block.patch b/paper-server/patches/sources/net/minecraft/world/level/block/Block.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/Block.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/Block.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockBamboo.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockBamboo.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockBamboo.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockBamboo.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockBambooSapling.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockBambooSapling.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockBambooSapling.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockBambooSapling.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockBed.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockBed.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockBed.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockBed.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockBeehive.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockBeehive.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockBeehive.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockBeehive.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockBell.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockBell.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockBell.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockBell.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockButtonAbstract.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockButtonAbstract.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockButtonAbstract.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockButtonAbstract.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockCactus.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockCactus.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockCactus.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockCactus.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockCake.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockCake.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockCake.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockCake.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockCampfire.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockCampfire.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockCampfire.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockCampfire.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockCauldron.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockCauldron.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockCauldron.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockCauldron.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockChest.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockChest.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockChest.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockChest.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockChorusFlower.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockChorusFlower.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockChorusFlower.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockChorusFlower.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockCocoa.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockCocoa.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockCocoa.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockCocoa.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockCommand.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockCommand.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockCommand.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockCommand.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockComposter.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockComposter.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockComposter.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockComposter.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockConcretePowder.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockConcretePowder.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockConcretePowder.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockConcretePowder.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockCoral.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockCoral.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockCoral.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockCoral.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockCoralFan.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockCoralFan.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockCoralFan.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockCoralFan.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockCoralFanWall.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockCoralFanWall.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockCoralFanWall.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockCoralFanWall.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockCoralPlant.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockCoralPlant.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockCoralPlant.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockCoralPlant.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockCrops.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockCrops.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockCrops.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockCrops.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockDaylightDetector.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockDaylightDetector.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockDaylightDetector.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockDaylightDetector.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockDiodeAbstract.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockDiodeAbstract.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockDiodeAbstract.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockDiodeAbstract.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockDirtSnowSpreadable.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockDirtSnowSpreadable.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockDirtSnowSpreadable.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockDirtSnowSpreadable.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockDispenser.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockDispenser.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockDispenser.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockDispenser.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockDoor.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockDoor.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockDoor.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockDoor.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockDragonEgg.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockDragonEgg.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockDragonEgg.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockDragonEgg.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockDropper.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockDropper.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockDropper.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockDropper.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockEndGateway.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockEndGateway.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockEndGateway.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockEndGateway.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockEnderPortal.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockEnderPortal.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockEnderPortal.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockEnderPortal.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockFenceGate.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockFenceGate.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockFenceGate.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockFenceGate.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockFire.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockFire.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockFire.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockFire.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockFireAbstract.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockFireAbstract.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockFireAbstract.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockFireAbstract.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockFluids.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockFluids.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockFluids.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockFluids.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockFungi.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockFungi.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockFungi.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockFungi.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockGrassPath.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockGrassPath.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockGrassPath.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockGrassPath.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockGrowingTop.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockGrowingTop.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockGrowingTop.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockGrowingTop.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockIce.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockIce.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockIce.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockIce.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockLeaves.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockLeaves.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockLeaves.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockLeaves.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockLectern.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockLectern.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockLectern.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockLectern.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockLever.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockLever.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockLever.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockLever.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockMagma.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockMagma.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockMagma.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockMagma.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockMinecartDetector.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockMinecartDetector.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockMinecartDetector.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockMinecartDetector.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockMobSpawner.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockMobSpawner.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockMobSpawner.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockMobSpawner.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockMonsterEggs.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockMonsterEggs.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockMonsterEggs.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockMonsterEggs.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockMushroom.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockMushroom.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockMushroom.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockMushroom.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockNetherWart.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockNetherWart.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockNetherWart.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockNetherWart.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockNote.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockNote.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockNote.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockNote.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockNylium.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockNylium.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockNylium.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockNylium.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockObserver.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockObserver.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockObserver.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockObserver.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockPlant.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockPlant.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockPlant.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockPlant.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockPortal.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockPortal.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockPortal.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockPortal.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockPoweredRail.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockPoweredRail.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockPoweredRail.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockPoweredRail.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockPressurePlateAbstract.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockPressurePlateAbstract.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockPressurePlateAbstract.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockPressurePlateAbstract.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockPressurePlateBinary.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockPressurePlateBinary.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockPressurePlateBinary.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockPressurePlateBinary.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockPressurePlateWeighted.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockPressurePlateWeighted.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockPressurePlateWeighted.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockPressurePlateWeighted.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockPumpkinCarved.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockPumpkinCarved.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockPumpkinCarved.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockPumpkinCarved.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockRedstoneComparator.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockRedstoneComparator.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockRedstoneComparator.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockRedstoneComparator.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockRedstoneLamp.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockRedstoneLamp.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockRedstoneLamp.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockRedstoneLamp.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockRedstoneOre.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockRedstoneOre.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockRedstoneOre.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockRedstoneOre.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockRedstoneTorch.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockRedstoneTorch.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockRedstoneTorch.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockRedstoneTorch.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockReed.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockReed.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockReed.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockReed.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockRespawnAnchor.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockRespawnAnchor.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockRespawnAnchor.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockRespawnAnchor.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockSapling.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockSapling.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockSapling.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockSapling.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockScaffolding.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockScaffolding.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockScaffolding.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockScaffolding.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockSign.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockSign.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockSign.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockSign.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockSnow.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockSnow.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockSnow.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockSnow.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockSoil.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockSoil.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockSoil.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockSoil.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockSponge.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockSponge.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockSponge.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockSponge.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockStem.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockStem.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockStem.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockStem.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockSweetBerryBush.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockSweetBerryBush.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockSweetBerryBush.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockSweetBerryBush.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockTNT.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockTNT.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockTNT.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockTNT.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockTallPlant.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockTallPlant.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockTallPlant.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockTallPlant.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockTrapdoor.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockTrapdoor.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockTrapdoor.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockTrapdoor.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockTripwire.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockTripwire.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockTripwire.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockTripwire.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockTripwireHook.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockTripwireHook.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockTripwireHook.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockTripwireHook.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockTurtleEgg.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockTurtleEgg.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockTurtleEgg.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockTurtleEgg.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockVine.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockVine.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockVine.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockVine.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockWaterLily.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockWaterLily.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockWaterLily.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockWaterLily.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockWitherRose.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockWitherRose.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockWitherRose.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockWitherRose.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BlockWitherSkull.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BlockWitherSkull.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BlockWitherSkull.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BlockWitherSkull.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/BuddingAmethystBlock.patch b/paper-server/patches/sources/net/minecraft/world/level/block/BuddingAmethystBlock.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/BuddingAmethystBlock.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/BuddingAmethystBlock.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/CaveVines.patch b/paper-server/patches/sources/net/minecraft/world/level/block/CaveVines.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/CaveVines.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/CaveVines.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/CeilingHangingSignBlock.patch b/paper-server/patches/sources/net/minecraft/world/level/block/CeilingHangingSignBlock.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/CeilingHangingSignBlock.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/CeilingHangingSignBlock.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/ChangeOverTimeBlock.patch b/paper-server/patches/sources/net/minecraft/world/level/block/ChangeOverTimeBlock.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/ChangeOverTimeBlock.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/ChangeOverTimeBlock.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/CrafterBlock.patch b/paper-server/patches/sources/net/minecraft/world/level/block/CrafterBlock.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/CrafterBlock.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/CrafterBlock.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/DecoratedPotBlock.patch b/paper-server/patches/sources/net/minecraft/world/level/block/DecoratedPotBlock.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/DecoratedPotBlock.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/DecoratedPotBlock.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/DropExperienceBlock.patch b/paper-server/patches/sources/net/minecraft/world/level/block/DropExperienceBlock.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/DropExperienceBlock.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/DropExperienceBlock.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/LayeredCauldronBlock.patch b/paper-server/patches/sources/net/minecraft/world/level/block/LayeredCauldronBlock.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/LayeredCauldronBlock.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/LayeredCauldronBlock.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/LightningRodBlock.patch b/paper-server/patches/sources/net/minecraft/world/level/block/LightningRodBlock.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/LightningRodBlock.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/LightningRodBlock.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/MultifaceSpreader.patch b/paper-server/patches/sources/net/minecraft/world/level/block/MultifaceSpreader.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/MultifaceSpreader.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/MultifaceSpreader.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/PointedDripstoneBlock.patch b/paper-server/patches/sources/net/minecraft/world/level/block/PointedDripstoneBlock.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/PointedDripstoneBlock.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/PointedDripstoneBlock.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/PowderSnowBlock.patch b/paper-server/patches/sources/net/minecraft/world/level/block/PowderSnowBlock.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/PowderSnowBlock.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/PowderSnowBlock.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/RootedDirtBlock.patch b/paper-server/patches/sources/net/minecraft/world/level/block/RootedDirtBlock.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/RootedDirtBlock.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/RootedDirtBlock.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/SculkBlock.patch b/paper-server/patches/sources/net/minecraft/world/level/block/SculkBlock.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/SculkBlock.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/SculkBlock.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/SculkCatalystBlock.patch b/paper-server/patches/sources/net/minecraft/world/level/block/SculkCatalystBlock.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/SculkCatalystBlock.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/SculkCatalystBlock.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/SculkSensorBlock.patch b/paper-server/patches/sources/net/minecraft/world/level/block/SculkSensorBlock.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/SculkSensorBlock.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/SculkSensorBlock.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/SculkShriekerBlock.patch b/paper-server/patches/sources/net/minecraft/world/level/block/SculkShriekerBlock.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/SculkShriekerBlock.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/SculkShriekerBlock.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/SculkSpreader.patch b/paper-server/patches/sources/net/minecraft/world/level/block/SculkSpreader.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/SculkSpreader.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/SculkSpreader.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/SculkVeinBlock.patch b/paper-server/patches/sources/net/minecraft/world/level/block/SculkVeinBlock.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/SculkVeinBlock.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/SculkVeinBlock.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/WallHangingSignBlock.patch b/paper-server/patches/sources/net/minecraft/world/level/block/WallHangingSignBlock.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/WallHangingSignBlock.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/WallHangingSignBlock.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/entity/BrushableBlockEntity.patch b/paper-server/patches/sources/net/minecraft/world/level/block/entity/BrushableBlockEntity.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/entity/BrushableBlockEntity.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/entity/BrushableBlockEntity.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/entity/ChiseledBookShelfBlockEntity.patch b/paper-server/patches/sources/net/minecraft/world/level/block/entity/ChiseledBookShelfBlockEntity.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/entity/ChiseledBookShelfBlockEntity.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/entity/ChiseledBookShelfBlockEntity.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/entity/ContainerOpenersCounter.patch b/paper-server/patches/sources/net/minecraft/world/level/block/entity/ContainerOpenersCounter.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/entity/ContainerOpenersCounter.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/entity/ContainerOpenersCounter.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/entity/CrafterBlockEntity.patch b/paper-server/patches/sources/net/minecraft/world/level/block/entity/CrafterBlockEntity.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/entity/CrafterBlockEntity.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/entity/CrafterBlockEntity.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/entity/DecoratedPotBlockEntity.patch b/paper-server/patches/sources/net/minecraft/world/level/block/entity/DecoratedPotBlockEntity.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/entity/DecoratedPotBlockEntity.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/entity/DecoratedPotBlockEntity.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/entity/SculkCatalystBlockEntity.patch b/paper-server/patches/sources/net/minecraft/world/level/block/entity/SculkCatalystBlockEntity.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/entity/SculkCatalystBlockEntity.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/entity/SculkCatalystBlockEntity.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntity.patch b/paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntity.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntity.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntity.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityBanner.patch b/paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityBanner.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityBanner.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityBanner.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityBarrel.patch b/paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityBarrel.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityBarrel.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityBarrel.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityBeacon.patch b/paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityBeacon.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityBeacon.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityBeacon.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityBeehive.patch b/paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityBeehive.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityBeehive.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityBeehive.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityBell.patch b/paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityBell.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityBell.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityBell.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityBrewingStand.patch b/paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityBrewingStand.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityBrewingStand.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityBrewingStand.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityCampfire.patch b/paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityCampfire.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityCampfire.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityCampfire.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityChest.patch b/paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityChest.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityChest.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityChest.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityCommand.patch b/paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityCommand.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityCommand.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityCommand.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityConduit.patch b/paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityConduit.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityConduit.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityConduit.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityContainer.patch b/paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityContainer.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityContainer.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityContainer.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityDispenser.patch b/paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityDispenser.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityDispenser.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityDispenser.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityEndGateway.patch b/paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityEndGateway.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityEndGateway.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityEndGateway.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityFurnace.patch b/paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityFurnace.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityFurnace.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityFurnace.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityHopper.patch b/paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityHopper.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityHopper.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityHopper.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityJukeBox.patch b/paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityJukeBox.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityJukeBox.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityJukeBox.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityLectern.patch b/paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityLectern.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityLectern.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityLectern.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityShulkerBox.patch b/paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityShulkerBox.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityShulkerBox.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityShulkerBox.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntitySign.patch b/paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntitySign.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntitySign.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntitySign.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityTypes.patch b/paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityTypes.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/entity/TileEntityTypes.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/entity/TileEntityTypes.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/entity/trialspawner/TrialSpawner.patch b/paper-server/patches/sources/net/minecraft/world/level/block/entity/trialspawner/TrialSpawner.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/entity/trialspawner/TrialSpawner.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/entity/trialspawner/TrialSpawner.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/entity/trialspawner/TrialSpawnerData.patch b/paper-server/patches/sources/net/minecraft/world/level/block/entity/trialspawner/TrialSpawnerData.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/entity/trialspawner/TrialSpawnerData.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/entity/trialspawner/TrialSpawnerData.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/entity/vault/VaultBlockEntity.patch b/paper-server/patches/sources/net/minecraft/world/level/block/entity/vault/VaultBlockEntity.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/entity/vault/VaultBlockEntity.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/entity/vault/VaultBlockEntity.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/grower/WorldGenTreeProvider.patch b/paper-server/patches/sources/net/minecraft/world/level/block/grower/WorldGenTreeProvider.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/grower/WorldGenTreeProvider.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/grower/WorldGenTreeProvider.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/piston/BlockPiston.patch b/paper-server/patches/sources/net/minecraft/world/level/block/piston/BlockPiston.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/piston/BlockPiston.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/piston/BlockPiston.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/block/state/BlockBase.patch b/paper-server/patches/sources/net/minecraft/world/level/block/state/BlockBase.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/block/state/BlockBase.patch rename to paper-server/patches/sources/net/minecraft/world/level/block/state/BlockBase.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/border/WorldBorder.patch b/paper-server/patches/sources/net/minecraft/world/level/border/WorldBorder.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/border/WorldBorder.patch rename to paper-server/patches/sources/net/minecraft/world/level/border/WorldBorder.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/chunk/Chunk.patch b/paper-server/patches/sources/net/minecraft/world/level/chunk/Chunk.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/chunk/Chunk.patch rename to paper-server/patches/sources/net/minecraft/world/level/chunk/Chunk.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/chunk/ChunkGenerator.patch b/paper-server/patches/sources/net/minecraft/world/level/chunk/ChunkGenerator.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/chunk/ChunkGenerator.patch rename to paper-server/patches/sources/net/minecraft/world/level/chunk/ChunkGenerator.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/chunk/ChunkGeneratorStructureState.patch b/paper-server/patches/sources/net/minecraft/world/level/chunk/ChunkGeneratorStructureState.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/chunk/ChunkGeneratorStructureState.patch rename to paper-server/patches/sources/net/minecraft/world/level/chunk/ChunkGeneratorStructureState.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/chunk/ChunkSection.patch b/paper-server/patches/sources/net/minecraft/world/level/chunk/ChunkSection.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/chunk/ChunkSection.patch rename to paper-server/patches/sources/net/minecraft/world/level/chunk/ChunkSection.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/chunk/IChunkAccess.patch b/paper-server/patches/sources/net/minecraft/world/level/chunk/IChunkAccess.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/chunk/IChunkAccess.patch rename to paper-server/patches/sources/net/minecraft/world/level/chunk/IChunkAccess.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/chunk/NibbleArray.patch b/paper-server/patches/sources/net/minecraft/world/level/chunk/NibbleArray.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/chunk/NibbleArray.patch rename to paper-server/patches/sources/net/minecraft/world/level/chunk/NibbleArray.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/chunk/status/ChunkStatusTasks.patch b/paper-server/patches/sources/net/minecraft/world/level/chunk/status/ChunkStatusTasks.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/chunk/status/ChunkStatusTasks.patch rename to paper-server/patches/sources/net/minecraft/world/level/chunk/status/ChunkStatusTasks.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/chunk/storage/IChunkLoader.patch b/paper-server/patches/sources/net/minecraft/world/level/chunk/storage/IChunkLoader.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/chunk/storage/IChunkLoader.patch rename to paper-server/patches/sources/net/minecraft/world/level/chunk/storage/IChunkLoader.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/chunk/storage/RegionFile.patch b/paper-server/patches/sources/net/minecraft/world/level/chunk/storage/RegionFile.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/chunk/storage/RegionFile.patch rename to paper-server/patches/sources/net/minecraft/world/level/chunk/storage/RegionFile.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/chunk/storage/RegionFileCache.patch b/paper-server/patches/sources/net/minecraft/world/level/chunk/storage/RegionFileCache.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/chunk/storage/RegionFileCache.patch rename to paper-server/patches/sources/net/minecraft/world/level/chunk/storage/RegionFileCache.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/chunk/storage/SerializableChunkData.patch b/paper-server/patches/sources/net/minecraft/world/level/chunk/storage/SerializableChunkData.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/chunk/storage/SerializableChunkData.patch rename to paper-server/patches/sources/net/minecraft/world/level/chunk/storage/SerializableChunkData.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/dimension/end/EnderDragonBattle.patch b/paper-server/patches/sources/net/minecraft/world/level/dimension/end/EnderDragonBattle.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/dimension/end/EnderDragonBattle.patch rename to paper-server/patches/sources/net/minecraft/world/level/dimension/end/EnderDragonBattle.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/dimension/end/EnumDragonRespawn.patch b/paper-server/patches/sources/net/minecraft/world/level/dimension/end/EnumDragonRespawn.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/dimension/end/EnumDragonRespawn.patch rename to paper-server/patches/sources/net/minecraft/world/level/dimension/end/EnumDragonRespawn.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/entity/EntityAccess.patch b/paper-server/patches/sources/net/minecraft/world/level/entity/EntityAccess.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/entity/EntityAccess.patch rename to paper-server/patches/sources/net/minecraft/world/level/entity/EntityAccess.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/entity/PersistentEntitySectionManager.patch b/paper-server/patches/sources/net/minecraft/world/level/entity/PersistentEntitySectionManager.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/entity/PersistentEntitySectionManager.patch rename to paper-server/patches/sources/net/minecraft/world/level/entity/PersistentEntitySectionManager.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/gameevent/GameEventDispatcher.patch b/paper-server/patches/sources/net/minecraft/world/level/gameevent/GameEventDispatcher.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/gameevent/GameEventDispatcher.patch rename to paper-server/patches/sources/net/minecraft/world/level/gameevent/GameEventDispatcher.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/gameevent/vibrations/VibrationSystem.patch b/paper-server/patches/sources/net/minecraft/world/level/gameevent/vibrations/VibrationSystem.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/gameevent/vibrations/VibrationSystem.patch rename to paper-server/patches/sources/net/minecraft/world/level/gameevent/vibrations/VibrationSystem.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/levelgen/ChunkGeneratorAbstract.patch b/paper-server/patches/sources/net/minecraft/world/level/levelgen/ChunkGeneratorAbstract.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/levelgen/ChunkGeneratorAbstract.patch rename to paper-server/patches/sources/net/minecraft/world/level/levelgen/ChunkGeneratorAbstract.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/levelgen/ChunkProviderFlat.patch b/paper-server/patches/sources/net/minecraft/world/level/levelgen/ChunkProviderFlat.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/levelgen/ChunkProviderFlat.patch rename to paper-server/patches/sources/net/minecraft/world/level/levelgen/ChunkProviderFlat.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/levelgen/MobSpawnerPatrol.patch b/paper-server/patches/sources/net/minecraft/world/level/levelgen/MobSpawnerPatrol.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/levelgen/MobSpawnerPatrol.patch rename to paper-server/patches/sources/net/minecraft/world/level/levelgen/MobSpawnerPatrol.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/levelgen/MobSpawnerPhantom.patch b/paper-server/patches/sources/net/minecraft/world/level/levelgen/MobSpawnerPhantom.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/levelgen/MobSpawnerPhantom.patch rename to paper-server/patches/sources/net/minecraft/world/level/levelgen/MobSpawnerPhantom.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/levelgen/feature/EndPlatformFeature.patch b/paper-server/patches/sources/net/minecraft/world/level/levelgen/feature/EndPlatformFeature.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/levelgen/feature/EndPlatformFeature.patch rename to paper-server/patches/sources/net/minecraft/world/level/levelgen/feature/EndPlatformFeature.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/levelgen/structure/PersistentStructureLegacy.patch b/paper-server/patches/sources/net/minecraft/world/level/levelgen/structure/PersistentStructureLegacy.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/levelgen/structure/PersistentStructureLegacy.patch rename to paper-server/patches/sources/net/minecraft/world/level/levelgen/structure/PersistentStructureLegacy.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/levelgen/structure/StructurePiece.patch b/paper-server/patches/sources/net/minecraft/world/level/levelgen/structure/StructurePiece.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/levelgen/structure/StructurePiece.patch rename to paper-server/patches/sources/net/minecraft/world/level/levelgen/structure/StructurePiece.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/levelgen/structure/StructureStart.patch b/paper-server/patches/sources/net/minecraft/world/level/levelgen/structure/StructureStart.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/levelgen/structure/StructureStart.patch rename to paper-server/patches/sources/net/minecraft/world/level/levelgen/structure/StructureStart.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/levelgen/structure/structures/DesertPyramidStructure.patch b/paper-server/patches/sources/net/minecraft/world/level/levelgen/structure/structures/DesertPyramidStructure.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/levelgen/structure/structures/DesertPyramidStructure.patch rename to paper-server/patches/sources/net/minecraft/world/level/levelgen/structure/structures/DesertPyramidStructure.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/levelgen/structure/structures/EndCityPieces.patch b/paper-server/patches/sources/net/minecraft/world/level/levelgen/structure/structures/EndCityPieces.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/levelgen/structure/structures/EndCityPieces.patch rename to paper-server/patches/sources/net/minecraft/world/level/levelgen/structure/structures/EndCityPieces.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/levelgen/structure/structures/IglooPieces.patch b/paper-server/patches/sources/net/minecraft/world/level/levelgen/structure/structures/IglooPieces.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/levelgen/structure/structures/IglooPieces.patch rename to paper-server/patches/sources/net/minecraft/world/level/levelgen/structure/structures/IglooPieces.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/levelgen/structure/structures/MineshaftPieces.patch b/paper-server/patches/sources/net/minecraft/world/level/levelgen/structure/structures/MineshaftPieces.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/levelgen/structure/structures/MineshaftPieces.patch rename to paper-server/patches/sources/net/minecraft/world/level/levelgen/structure/structures/MineshaftPieces.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/levelgen/structure/structures/NetherFortressPieces.patch b/paper-server/patches/sources/net/minecraft/world/level/levelgen/structure/structures/NetherFortressPieces.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/levelgen/structure/structures/NetherFortressPieces.patch rename to paper-server/patches/sources/net/minecraft/world/level/levelgen/structure/structures/NetherFortressPieces.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/levelgen/structure/structures/OceanRuinPieces.patch b/paper-server/patches/sources/net/minecraft/world/level/levelgen/structure/structures/OceanRuinPieces.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/levelgen/structure/structures/OceanRuinPieces.patch rename to paper-server/patches/sources/net/minecraft/world/level/levelgen/structure/structures/OceanRuinPieces.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/levelgen/structure/structures/ShipwreckPieces.patch b/paper-server/patches/sources/net/minecraft/world/level/levelgen/structure/structures/ShipwreckPieces.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/levelgen/structure/structures/ShipwreckPieces.patch rename to paper-server/patches/sources/net/minecraft/world/level/levelgen/structure/structures/ShipwreckPieces.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/levelgen/structure/structures/StrongholdPieces.patch b/paper-server/patches/sources/net/minecraft/world/level/levelgen/structure/structures/StrongholdPieces.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/levelgen/structure/structures/StrongholdPieces.patch rename to paper-server/patches/sources/net/minecraft/world/level/levelgen/structure/structures/StrongholdPieces.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/levelgen/structure/structures/SwampHutPiece.patch b/paper-server/patches/sources/net/minecraft/world/level/levelgen/structure/structures/SwampHutPiece.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/levelgen/structure/structures/SwampHutPiece.patch rename to paper-server/patches/sources/net/minecraft/world/level/levelgen/structure/structures/SwampHutPiece.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/levelgen/structure/templatesystem/DefinedStructure.patch b/paper-server/patches/sources/net/minecraft/world/level/levelgen/structure/templatesystem/DefinedStructure.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/levelgen/structure/templatesystem/DefinedStructure.patch rename to paper-server/patches/sources/net/minecraft/world/level/levelgen/structure/templatesystem/DefinedStructure.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/levelgen/structure/templatesystem/DefinedStructureInfo.patch b/paper-server/patches/sources/net/minecraft/world/level/levelgen/structure/templatesystem/DefinedStructureInfo.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/levelgen/structure/templatesystem/DefinedStructureInfo.patch rename to paper-server/patches/sources/net/minecraft/world/level/levelgen/structure/templatesystem/DefinedStructureInfo.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/material/FluidTypeFlowing.patch b/paper-server/patches/sources/net/minecraft/world/level/material/FluidTypeFlowing.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/material/FluidTypeFlowing.patch rename to paper-server/patches/sources/net/minecraft/world/level/material/FluidTypeFlowing.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/material/FluidTypeLava.patch b/paper-server/patches/sources/net/minecraft/world/level/material/FluidTypeLava.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/material/FluidTypeLava.patch rename to paper-server/patches/sources/net/minecraft/world/level/material/FluidTypeLava.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/portal/BlockPortalShape.patch b/paper-server/patches/sources/net/minecraft/world/level/portal/BlockPortalShape.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/portal/BlockPortalShape.patch rename to paper-server/patches/sources/net/minecraft/world/level/portal/BlockPortalShape.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/portal/PortalTravelAgent.patch b/paper-server/patches/sources/net/minecraft/world/level/portal/PortalTravelAgent.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/portal/PortalTravelAgent.patch rename to paper-server/patches/sources/net/minecraft/world/level/portal/PortalTravelAgent.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/portal/TeleportTransition.patch b/paper-server/patches/sources/net/minecraft/world/level/portal/TeleportTransition.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/portal/TeleportTransition.patch rename to paper-server/patches/sources/net/minecraft/world/level/portal/TeleportTransition.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/redstone/DefaultRedstoneWireEvaluator.patch b/paper-server/patches/sources/net/minecraft/world/level/redstone/DefaultRedstoneWireEvaluator.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/redstone/DefaultRedstoneWireEvaluator.patch rename to paper-server/patches/sources/net/minecraft/world/level/redstone/DefaultRedstoneWireEvaluator.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/redstone/ExperimentalRedstoneWireEvaluator.patch b/paper-server/patches/sources/net/minecraft/world/level/redstone/ExperimentalRedstoneWireEvaluator.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/redstone/ExperimentalRedstoneWireEvaluator.patch rename to paper-server/patches/sources/net/minecraft/world/level/redstone/ExperimentalRedstoneWireEvaluator.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/redstone/NeighborUpdater.patch b/paper-server/patches/sources/net/minecraft/world/level/redstone/NeighborUpdater.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/redstone/NeighborUpdater.patch rename to paper-server/patches/sources/net/minecraft/world/level/redstone/NeighborUpdater.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/saveddata/maps/WorldMap.patch b/paper-server/patches/sources/net/minecraft/world/level/saveddata/maps/WorldMap.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/saveddata/maps/WorldMap.patch rename to paper-server/patches/sources/net/minecraft/world/level/saveddata/maps/WorldMap.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/storage/Convertable.patch b/paper-server/patches/sources/net/minecraft/world/level/storage/Convertable.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/storage/Convertable.patch rename to paper-server/patches/sources/net/minecraft/world/level/storage/Convertable.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/storage/WorldDataServer.patch b/paper-server/patches/sources/net/minecraft/world/level/storage/WorldDataServer.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/storage/WorldDataServer.patch rename to paper-server/patches/sources/net/minecraft/world/level/storage/WorldDataServer.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/storage/WorldNBTStorage.patch b/paper-server/patches/sources/net/minecraft/world/level/storage/WorldNBTStorage.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/storage/WorldNBTStorage.patch rename to paper-server/patches/sources/net/minecraft/world/level/storage/WorldNBTStorage.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/storage/loot/LootDataType.patch b/paper-server/patches/sources/net/minecraft/world/level/storage/loot/LootDataType.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/storage/loot/LootDataType.patch rename to paper-server/patches/sources/net/minecraft/world/level/storage/loot/LootDataType.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/storage/loot/LootTable.patch b/paper-server/patches/sources/net/minecraft/world/level/storage/loot/LootTable.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/storage/loot/LootTable.patch rename to paper-server/patches/sources/net/minecraft/world/level/storage/loot/LootTable.patch diff --git a/paper-server/nms-patches/net/minecraft/world/level/storage/loot/predicates/LootItemConditionSurvivesExplosion.patch b/paper-server/patches/sources/net/minecraft/world/level/storage/loot/predicates/LootItemConditionSurvivesExplosion.patch similarity index 100% rename from paper-server/nms-patches/net/minecraft/world/level/storage/loot/predicates/LootItemConditionSurvivesExplosion.patch rename to paper-server/patches/sources/net/minecraft/world/level/storage/loot/predicates/LootItemConditionSurvivesExplosion.patch diff --git a/paper-server/src/main/java/com/mojang/brigadier/CommandDispatcher.java b/paper-server/src/main/java/com/mojang/brigadier/CommandDispatcher.java deleted file mode 100644 index b851f9a406..0000000000 --- a/paper-server/src/main/java/com/mojang/brigadier/CommandDispatcher.java +++ /dev/null @@ -1,651 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT license. - -package com.mojang.brigadier; - -// CHECKSTYLE:OFF -import com.mojang.brigadier.builder.LiteralArgumentBuilder; -import com.mojang.brigadier.context.CommandContext; -import com.mojang.brigadier.context.CommandContextBuilder; -import com.mojang.brigadier.context.ContextChain; -import com.mojang.brigadier.context.SuggestionContext; -import com.mojang.brigadier.exceptions.CommandSyntaxException; -import com.mojang.brigadier.suggestion.Suggestions; -import com.mojang.brigadier.suggestion.SuggestionsBuilder; -import com.mojang.brigadier.tree.CommandNode; -import com.mojang.brigadier.tree.LiteralCommandNode; -import com.mojang.brigadier.tree.RootCommandNode; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.LinkedHashMap; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Locale; -import java.util.Map; -import java.util.Optional; -import java.util.Set; -import java.util.concurrent.CompletableFuture; -import java.util.function.Predicate; -import java.util.stream.Collectors; - - -/** - * The core command dispatcher, for registering, parsing, and executing commands. - * - * @param <S> a custom "source" type, such as a user or originator of a command - */ -public class CommandDispatcher<S> { - /** - * The string required to separate individual arguments in an input string - * - * @see #ARGUMENT_SEPARATOR_CHAR - */ - public static final String ARGUMENT_SEPARATOR = " "; - - /** - * The char required to separate individual arguments in an input string - * - * @see #ARGUMENT_SEPARATOR - */ - public static final char ARGUMENT_SEPARATOR_CHAR = ' '; - - private static final String USAGE_OPTIONAL_OPEN = "["; - private static final String USAGE_OPTIONAL_CLOSE = "]"; - private static final String USAGE_REQUIRED_OPEN = "("; - private static final String USAGE_REQUIRED_CLOSE = ")"; - private static final String USAGE_OR = "|"; - - private final RootCommandNode<S> root; - - private final Predicate<CommandNode<S>> hasCommand = new Predicate<CommandNode<S>>() { - @Override - public boolean test(final CommandNode<S> input) { - return input != null && (input.getCommand() != null || input.getChildren().stream().anyMatch(hasCommand)); - } - }; - private ResultConsumer<S> consumer = (c, s, r) -> { - }; - - /** - * Create a new {@link CommandDispatcher} with the specified root node. - * - * <p>This is often useful to copy existing or pre-defined command trees.</p> - * - * @param root the existing {@link RootCommandNode} to use as the basis for this tree - */ - public CommandDispatcher(final RootCommandNode<S> root) { - this.root = root; - } - - /** - * Creates a new {@link CommandDispatcher} with an empty command tree. - */ - public CommandDispatcher() { - this(new RootCommandNode<>()); - } - - /** - * Utility method for registering new commands. - * - * <p>This is a shortcut for calling {@link RootCommandNode#addChild(CommandNode)} after building the provided {@code command}.</p> - * - * <p>As {@link RootCommandNode} can only hold literals, this method will only allow literal arguments.</p> - * - * @param command a literal argument builder to add to this command tree - * @return the node added to this tree - */ - public LiteralCommandNode<S> register(final LiteralArgumentBuilder<S> command) { - final LiteralCommandNode<S> build = command.build(); - root.addChild(build); - return build; - } - - /** - * Sets a callback to be informed of the result of every command. - * - * @param consumer the new result consumer to be called - */ - public void setConsumer(final ResultConsumer<S> consumer) { - this.consumer = consumer; - } - - /** - * Parses and executes a given command. - * - * <p>This is a shortcut to first {@link #parse(StringReader, Object)} and then {@link #execute(ParseResults)}.</p> - * - * <p>It is recommended to parse and execute as separate steps, as parsing is often the most expensive step, and easiest to cache.</p> - * - * <p>If this command returns a value, then it successfully executed something. If it could not parse the command, or the execution was a failure, - * then an exception will be thrown. Most exceptions will be of type {@link CommandSyntaxException}, but it is possible that a {@link RuntimeException} - * may bubble up from the result of a command. The meaning behind the returned result is arbitrary, and will depend - * entirely on what command was performed.</p> - * - * <p>If the command passes through a node that is {@link CommandNode#isFork()} then it will be 'forked'. - * A forked command will not bubble up any {@link CommandSyntaxException}s, and the 'result' returned will turn into - * 'amount of successful commands executes'.</p> - * - * <p>After each and any command is ran, a registered callback given to {@link #setConsumer(ResultConsumer)} - * will be notified of the result and success of the command. You can use that method to gather more meaningful - * results than this method will return, especially when a command forks.</p> - * - * @param input a command string to parse & execute - * @param source a custom "source" object, usually representing the originator of this command - * @return a numeric result from a "command" that was performed - * @throws CommandSyntaxException if the command failed to parse or execute - * @throws RuntimeException if the command failed to execute and was not handled gracefully - * @see #parse(String, Object) - * @see #parse(StringReader, Object) - * @see #execute(ParseResults) - * @see #execute(StringReader, Object) - */ - public int execute(final String input, final S source) throws CommandSyntaxException { - return execute(new StringReader(input), source); - } - - /** - * Parses and executes a given command. - * - * <p>This is a shortcut to first {@link #parse(StringReader, Object)} and then {@link #execute(ParseResults)}.</p> - * - * <p>It is recommended to parse and execute as separate steps, as parsing is often the most expensive step, and easiest to cache.</p> - * - * <p>If this command returns a value, then it successfully executed something. If it could not parse the command, or the execution was a failure, - * then an exception will be thrown. Most exceptions will be of type {@link CommandSyntaxException}, but it is possible that a {@link RuntimeException} - * may bubble up from the result of a command. The meaning behind the returned result is arbitrary, and will depend - * entirely on what command was performed.</p> - * - * <p>If the command passes through a node that is {@link CommandNode#isFork()} then it will be 'forked'. - * A forked command will not bubble up any {@link CommandSyntaxException}s, and the 'result' returned will turn into - * 'amount of successful commands executes'.</p> - * - * <p>After each and any command is ran, a registered callback given to {@link #setConsumer(ResultConsumer)} - * will be notified of the result and success of the command. You can use that method to gather more meaningful - * results than this method will return, especially when a command forks.</p> - * - * @param input a command string to parse & execute - * @param source a custom "source" object, usually representing the originator of this command - * @return a numeric result from a "command" that was performed - * @throws CommandSyntaxException if the command failed to parse or execute - * @throws RuntimeException if the command failed to execute and was not handled gracefully - * @see #parse(String, Object) - * @see #parse(StringReader, Object) - * @see #execute(ParseResults) - * @see #execute(String, Object) - */ - public int execute(final StringReader input, final S source) throws CommandSyntaxException { - final ParseResults<S> parse = parse(input, source); - return execute(parse); - } - - /** - * Executes a given pre-parsed command. - * - * <p>If this command returns a value, then it successfully executed something. If the execution was a failure, - * then an exception will be thrown. - * Most exceptions will be of type {@link CommandSyntaxException}, but it is possible that a {@link RuntimeException} - * may bubble up from the result of a command. The meaning behind the returned result is arbitrary, and will depend - * entirely on what command was performed.</p> - * - * <p>If the command passes through a node that is {@link CommandNode#isFork()} then it will be 'forked'. - * A forked command will not bubble up any {@link CommandSyntaxException}s, and the 'result' returned will turn into - * 'amount of successful commands executes'.</p> - * - * <p>After each and any command is ran, a registered callback given to {@link #setConsumer(ResultConsumer)} - * will be notified of the result and success of the command. You can use that method to gather more meaningful - * results than this method will return, especially when a command forks.</p> - * - * @param parse the result of a successful {@link #parse(StringReader, Object)} - * @return a numeric result from a "command" that was performed. - * @throws CommandSyntaxException if the command failed to parse or execute - * @throws RuntimeException if the command failed to execute and was not handled gracefully - * @see #parse(String, Object) - * @see #parse(StringReader, Object) - * @see #execute(String, Object) - * @see #execute(StringReader, Object) - */ - public int execute(final ParseResults<S> parse) throws CommandSyntaxException { - if (parse.getReader().canRead()) { - if (parse.getExceptions().size() == 1) { - throw parse.getExceptions().values().iterator().next(); - } else if (parse.getContext().getRange().isEmpty()) { - throw CommandSyntaxException.BUILT_IN_EXCEPTIONS.dispatcherUnknownCommand().createWithContext(parse.getReader()); - } else { - throw CommandSyntaxException.BUILT_IN_EXCEPTIONS.dispatcherUnknownArgument().createWithContext(parse.getReader()); - } - } - - final String command = parse.getReader().getString(); - final CommandContext<S> original = parse.getContext().build(command); - - final Optional<ContextChain<S>> flatContext = ContextChain.tryFlatten(original); - if (!flatContext.isPresent()) { - consumer.onCommandComplete(original, false, 0); - throw CommandSyntaxException.BUILT_IN_EXCEPTIONS.dispatcherUnknownCommand().createWithContext(parse.getReader()); - } - - return flatContext.get().executeAll(original.getSource(), consumer); - } - - /** - * Parses a given command. - * - * <p>The result of this method can be cached, and it is advised to do so where appropriate. Parsing is often the - * most expensive step, and this allows you to essentially "precompile" a command if it will be ran often.</p> - * - * <p>If the command passes through a node that is {@link CommandNode#isFork()} then the resulting context will be marked as 'forked'. - * Forked contexts may contain child contexts, which may be modified by the {@link RedirectModifier} attached to the fork.</p> - * - * <p>Parsing a command can never fail, you will always be provided with a new {@link ParseResults}. - * However, that does not mean that it will always parse into a valid command. You should inspect the returned results - * to check for validity. If its {@link ParseResults#getReader()} {@link StringReader#canRead()} then it did not finish - * parsing successfully. You can use that position as an indicator to the user where the command stopped being valid. - * You may inspect {@link ParseResults#getExceptions()} if you know the parse failed, as it will explain why it could - * not find any valid commands. It may contain multiple exceptions, one for each "potential node" that it could have visited, - * explaining why it did not go down that node.</p> - * - * <p>When you eventually call {@link #execute(ParseResults)} with the result of this method, the above error checking - * will occur. You only need to inspect it yourself if you wish to handle that yourself.</p> - * - * @param command a command string to parse - * @param source a custom "source" object, usually representing the originator of this command - * @return the result of parsing this command - * @see #parse(StringReader, Object) - * @see #execute(ParseResults) - * @see #execute(String, Object) - */ - public ParseResults<S> parse(final String command, final S source) { - return parse(new StringReader(command), source); - } - - /** - * Parses a given command. - * - * <p>The result of this method can be cached, and it is advised to do so where appropriate. Parsing is often the - * most expensive step, and this allows you to essentially "precompile" a command if it will be ran often.</p> - * - * <p>If the command passes through a node that is {@link CommandNode#isFork()} then the resulting context will be marked as 'forked'. - * Forked contexts may contain child contexts, which may be modified by the {@link RedirectModifier} attached to the fork.</p> - * - * <p>Parsing a command can never fail, you will always be provided with a new {@link ParseResults}. - * However, that does not mean that it will always parse into a valid command. You should inspect the returned results - * to check for validity. If its {@link ParseResults#getReader()} {@link StringReader#canRead()} then it did not finish - * parsing successfully. You can use that position as an indicator to the user where the command stopped being valid. - * You may inspect {@link ParseResults#getExceptions()} if you know the parse failed, as it will explain why it could - * not find any valid commands. It may contain multiple exceptions, one for each "potential node" that it could have visited, - * explaining why it did not go down that node.</p> - * - * <p>When you eventually call {@link #execute(ParseResults)} with the result of this method, the above error checking - * will occur. You only need to inspect it yourself if you wish to handle that yourself.</p> - * - * @param command a command string to parse - * @param source a custom "source" object, usually representing the originator of this command - * @return the result of parsing this command - * @see #parse(String, Object) - * @see #execute(ParseResults) - * @see #execute(String, Object) - */ - public ParseResults<S> parse(final StringReader command, final S source) { - final CommandContextBuilder<S> context = new CommandContextBuilder<>(this, source, root, command.getCursor()); - return parseNodes(root, command, context); - } - - private ParseResults<S> parseNodes(final CommandNode<S> node, final StringReader originalReader, final CommandContextBuilder<S> contextSoFar) { - final S source = contextSoFar.getSource(); - Map<CommandNode<S>, CommandSyntaxException> errors = null; - List<ParseResults<S>> potentials = null; - final int cursor = originalReader.getCursor(); - - for (final CommandNode<S> child : node.getRelevantNodes(originalReader)) { - if (!child.canUse(source)) { - continue; - } - final CommandContextBuilder<S> context = contextSoFar.copy(); - final StringReader reader = new StringReader(originalReader); - try { - try { - child.parse(reader, context); - } catch (final RuntimeException ex) { - throw CommandSyntaxException.BUILT_IN_EXCEPTIONS.dispatcherParseException().createWithContext(reader, ex.getMessage()); - } - if (reader.canRead()) { - if (reader.peek() != ARGUMENT_SEPARATOR_CHAR) { - throw CommandSyntaxException.BUILT_IN_EXCEPTIONS.dispatcherExpectedArgumentSeparator().createWithContext(reader); - } - } - } catch (final CommandSyntaxException ex) { - if (errors == null) { - errors = new LinkedHashMap<>(); - } - errors.put(child, ex); - reader.setCursor(cursor); - continue; - } - - context.withCommand(child.getCommand()); - if (reader.canRead(child.getRedirect() == null ? 2 : 1)) { - reader.skip(); - if (child.getRedirect() != null) { - final CommandContextBuilder<S> childContext = new CommandContextBuilder<>(this, source, child.getRedirect(), reader.getCursor()); - final ParseResults<S> parse = parseNodes(child.getRedirect(), reader, childContext); - context.withChild(parse.getContext()); - return new ParseResults<>(context, parse.getReader(), parse.getExceptions()); - } else { - final ParseResults<S> parse = parseNodes(child, reader, context); - if (potentials == null) { - potentials = new ArrayList<>(1); - } - potentials.add(parse); - } - } else { - if (potentials == null) { - potentials = new ArrayList<>(1); - } - potentials.add(new ParseResults<>(context, reader, Collections.emptyMap())); - } - } - - if (potentials != null) { - if (potentials.size() > 1) { - potentials.sort((a, b) -> { - if (!a.getReader().canRead() && b.getReader().canRead()) { - return -1; - } - if (a.getReader().canRead() && !b.getReader().canRead()) { - return 1; - } - if (a.getExceptions().isEmpty() && !b.getExceptions().isEmpty()) { - return -1; - } - if (!a.getExceptions().isEmpty() && b.getExceptions().isEmpty()) { - return 1; - } - return 0; - }); - } - return potentials.get(0); - } - - return new ParseResults<>(contextSoFar, originalReader, errors == null ? Collections.emptyMap() : errors); - } - - /** - * Gets all possible executable commands following the given node. - * - * <p>You may use {@link #getRoot()} as a target to get all usage data for the entire command tree.</p> - * - * <p>The returned syntax will be in "simple" form: {@code <param>} and {@code literal}. "Optional" nodes will be - * listed as multiple entries: the parent node, and the child nodes. - * For example, a required literal "foo" followed by an optional param "int" will be two nodes:</p> - * <ul> - * <li>{@code foo}</li> - * <li>{@code foo <int>}</li> - * </ul> - * - * <p>The path to the specified node will <b>not</b> be prepended to the output, as there can theoretically be many - * ways to reach a given node. It will only give you paths relative to the specified node, not absolute from root.</p> - * - * @param node target node to get child usage strings for - * @param source a custom "source" object, usually representing the originator of this command - * @param restricted if true, commands that the {@code source} cannot access will not be mentioned - * @return array of full usage strings under the target node - */ - public String[] getAllUsage(final CommandNode<S> node, final S source, final boolean restricted) { - final ArrayList<String> result = new ArrayList<>(); - getAllUsage(node, source, result, "", restricted); - return result.toArray(new String[result.size()]); - } - - private void getAllUsage(final CommandNode<S> node, final S source, final ArrayList<String> result, final String prefix, final boolean restricted) { - if (restricted && !node.canUse(source)) { - return; - } - - if (node.getCommand() != null) { - result.add(prefix); - } - - if (node.getRedirect() != null) { - final String redirect = node.getRedirect() == root ? "..." : "-> " + node.getRedirect().getUsageText(); - result.add(prefix.isEmpty() ? node.getUsageText() + ARGUMENT_SEPARATOR + redirect : prefix + ARGUMENT_SEPARATOR + redirect); - } else if (!node.getChildren().isEmpty()) { - for (final CommandNode<S> child : node.getChildren()) { - getAllUsage(child, source, result, prefix.isEmpty() ? child.getUsageText() : prefix + ARGUMENT_SEPARATOR + child.getUsageText(), restricted); - } - } - } - - /** - * Gets the possible executable commands from a specified node. - * - * <p>You may use {@link #getRoot()} as a target to get usage data for the entire command tree.</p> - * - * <p>The returned syntax will be in "smart" form: {@code <param>}, {@code literal}, {@code [optional]} and {@code (either|or)}. - * These forms may be mixed and matched to provide as much information about the child nodes as it can, without being too verbose. - * For example, a required literal "foo" followed by an optional param "int" can be compressed into one string:</p> - * <ul> - * <li>{@code foo [<int>]}</li> - * </ul> - * - * <p>The path to the specified node will <b>not</b> be prepended to the output, as there can theoretically be many - * ways to reach a given node. It will only give you paths relative to the specified node, not absolute from root.</p> - * - * <p>The returned usage will be restricted to only commands that the provided {@code source} can use.</p> - * - * @param node target node to get child usage strings for - * @param source a custom "source" object, usually representing the originator of this command - * @return array of full usage strings under the target node - */ - public Map<CommandNode<S>, String> getSmartUsage(final CommandNode<S> node, final S source) { - final Map<CommandNode<S>, String> result = new LinkedHashMap<>(); - - final boolean optional = node.getCommand() != null; - for (final CommandNode<S> child : node.getChildren()) { - final String usage = getSmartUsage(child, source, optional, false); - if (usage != null) { - result.put(child, usage); - } - } - return result; - } - - private String getSmartUsage(final CommandNode<S> node, final S source, final boolean optional, final boolean deep) { - if (!node.canUse(source)) { - return null; - } - - final String self = optional ? USAGE_OPTIONAL_OPEN + node.getUsageText() + USAGE_OPTIONAL_CLOSE : node.getUsageText(); - final boolean childOptional = node.getCommand() != null; - final String open = childOptional ? USAGE_OPTIONAL_OPEN : USAGE_REQUIRED_OPEN; - final String close = childOptional ? USAGE_OPTIONAL_CLOSE : USAGE_REQUIRED_CLOSE; - - if (!deep) { - if (node.getRedirect() != null) { - final String redirect = node.getRedirect() == root ? "..." : "-> " + node.getRedirect().getUsageText(); - return self + ARGUMENT_SEPARATOR + redirect; - } else { - final Collection<CommandNode<S>> children = node.getChildren().stream().filter(c -> c.canUse(source)).collect(Collectors.toList()); - if (children.size() == 1) { - final String usage = getSmartUsage(children.iterator().next(), source, childOptional, childOptional); - if (usage != null) { - return self + ARGUMENT_SEPARATOR + usage; - } - } else if (children.size() > 1) { - final Set<String> childUsage = new LinkedHashSet<>(); - for (final CommandNode<S> child : children) { - final String usage = getSmartUsage(child, source, childOptional, true); - if (usage != null) { - childUsage.add(usage); - } - } - if (childUsage.size() == 1) { - final String usage = childUsage.iterator().next(); - return self + ARGUMENT_SEPARATOR + (childOptional ? USAGE_OPTIONAL_OPEN + usage + USAGE_OPTIONAL_CLOSE : usage); - } else if (childUsage.size() > 1) { - final StringBuilder builder = new StringBuilder(open); - int count = 0; - for (final CommandNode<S> child : children) { - if (count > 0) { - builder.append(USAGE_OR); - } - builder.append(child.getUsageText()); - count++; - } - if (count > 0) { - builder.append(close); - return self + ARGUMENT_SEPARATOR + builder.toString(); - } - } - } - } - } - - return self; - } - - /** - * Gets suggestions for a parsed input string on what comes next. - * - * <p>As it is ultimately up to custom argument types to provide suggestions, it may be an asynchronous operation, - * for example getting in-game data or player names etc. As such, this method returns a future and no guarantees - * are made to when or how the future completes.</p> - * - * <p>The suggestions provided will be in the context of the end of the parsed input string, but may suggest - * new or replacement strings for earlier in the input string. For example, if the end of the string was - * {@code foobar} but an argument preferred it to be {@code minecraft:foobar}, it will suggest a replacement for that - * whole segment of the input.</p> - * - * @param parse the result of a {@link #parse(StringReader, Object)} - * @return a future that will eventually resolve into a {@link Suggestions} object - */ - public CompletableFuture<Suggestions> getCompletionSuggestions(final ParseResults<S> parse) { - return getCompletionSuggestions(parse, parse.getReader().getTotalLength()); - } - - public CompletableFuture<Suggestions> getCompletionSuggestions(final ParseResults<S> parse, int cursor) { - final CommandContextBuilder<S> context = parse.getContext(); - - final SuggestionContext<S> nodeBeforeCursor = context.findSuggestionContext(cursor); - final CommandNode<S> parent = nodeBeforeCursor.parent; - final int start = Math.min(nodeBeforeCursor.startPos, cursor); - - final String fullInput = parse.getReader().getString(); - final String truncatedInput = fullInput.substring(0, cursor); - final String truncatedInputLowerCase = truncatedInput.toLowerCase(Locale.ROOT); - @SuppressWarnings("unchecked") final CompletableFuture<Suggestions>[] futures = new CompletableFuture[parent.getChildren().size()]; - int i = 0; - for (final CommandNode<S> node : parent.getChildren()) { - CompletableFuture<Suggestions> future = Suggestions.empty(); - try { - if (node.canUse(parse.getContext().getSource())) future = node.listSuggestions(context.build(truncatedInput), new SuggestionsBuilder(truncatedInput, truncatedInputLowerCase, start)); // CraftBukkit - } catch (final CommandSyntaxException ignored) { - } - futures[i++] = future; - } - - final CompletableFuture<Suggestions> result = new CompletableFuture<>(); - CompletableFuture.allOf(futures).thenRun(() -> { - final List<Suggestions> suggestions = new ArrayList<>(); - for (final CompletableFuture<Suggestions> future : futures) { - suggestions.add(future.join()); - } - result.complete(Suggestions.merge(fullInput, suggestions)); - }); - - return result; - } - - /** - * Gets the root of this command tree. - * - * <p>This is often useful as a target of a {@link com.mojang.brigadier.builder.ArgumentBuilder#redirect(CommandNode)}, - * {@link #getAllUsage(CommandNode, Object, boolean)} or {@link #getSmartUsage(CommandNode, Object)}. - * You may also use it to clone the command tree via {@link #CommandDispatcher(RootCommandNode)}.</p> - * - * @return root of the command tree - */ - public RootCommandNode<S> getRoot() { - return root; - } - - /** - * Finds a valid path to a given node on the command tree. - * - * <p>There may theoretically be multiple paths to a node on the tree, especially with the use of forking or redirecting. - * As such, this method makes no guarantees about which path it finds. It will not look at forks or redirects, - * and find the first instance of the target node on the tree.</p> - * - * <p>The only guarantee made is that for the same command tree and the same version of this library, the result of - * this method will <b>always</b> be a valid input for {@link #findNode(Collection)}, which should return the same node - * as provided to this method.</p> - * - * @param target the target node you are finding a path for - * @return a path to the resulting node, or an empty list if it was not found - */ - public Collection<String> getPath(final CommandNode<S> target) { - final List<List<CommandNode<S>>> nodes = new ArrayList<>(); - addPaths(root, nodes, new ArrayList<>()); - - for (final List<CommandNode<S>> list : nodes) { - if (list.get(list.size() - 1) == target) { - final List<String> result = new ArrayList<>(list.size()); - for (final CommandNode<S> node : list) { - if (node != root) { - result.add(node.getName()); - } - } - return result; - } - } - - return Collections.emptyList(); - } - - /** - * Finds a node by its path - * - * <p>Paths may be generated with {@link #getPath(CommandNode)}, and are guaranteed (for the same tree, and the - * same version of this library) to always produce the same valid node by this method.</p> - * - * <p>If a node could not be found at the specified path, then {@code null} will be returned.</p> - * - * @param path a generated path to a node - * @return the node at the given path, or null if not found - */ - public CommandNode<S> findNode(final Collection<String> path) { - CommandNode<S> node = root; - for (final String name : path) { - node = node.getChild(name); - if (node == null) { - return null; - } - } - return node; - } - - /** - * Scans the command tree for potential ambiguous commands. - * - * <p>This is a shortcut for {@link CommandNode#findAmbiguities(AmbiguityConsumer)} on {@link #getRoot()}.</p> - * - * <p>Ambiguities are detected by testing every {@link CommandNode#getExamples()} on one node verses every sibling - * node. This is not fool proof, and relies a lot on the providers of the used argument types to give good examples.</p> - * - * @param consumer a callback to be notified of potential ambiguities - */ - public void findAmbiguities(final AmbiguityConsumer<S> consumer) { - root.findAmbiguities(consumer); - } - - private void addPaths(final CommandNode<S> node, final List<List<CommandNode<S>>> result, final List<CommandNode<S>> parents) { - final List<CommandNode<S>> current = new ArrayList<>(parents); - current.add(node); - result.add(current); - - for (final CommandNode<S> child : node.getChildren()) { - addPaths(child, result, current); - } - } -} diff --git a/paper-server/src/main/java/com/mojang/brigadier/tree/CommandNode.java b/paper-server/src/main/java/com/mojang/brigadier/tree/CommandNode.java deleted file mode 100644 index 9be5c58f97..0000000000 --- a/paper-server/src/main/java/com/mojang/brigadier/tree/CommandNode.java +++ /dev/null @@ -1,206 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT license. - -package com.mojang.brigadier.tree; - -// CHECKSTYLE:OFF -import com.mojang.brigadier.AmbiguityConsumer; -import com.mojang.brigadier.Command; -import com.mojang.brigadier.RedirectModifier; -import com.mojang.brigadier.StringReader; -import com.mojang.brigadier.builder.ArgumentBuilder; -import com.mojang.brigadier.context.CommandContext; -import com.mojang.brigadier.context.CommandContextBuilder; -import com.mojang.brigadier.exceptions.CommandSyntaxException; -import com.mojang.brigadier.suggestion.Suggestions; -import com.mojang.brigadier.suggestion.SuggestionsBuilder; - -import java.util.Collection; -import java.util.Collections; -import java.util.HashSet; -import java.util.LinkedHashMap; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.CompletableFuture; -import java.util.function.Predicate; - -import net.minecraft.commands.CommandListenerWrapper; // CraftBukkit - -public abstract class CommandNode<S> implements Comparable<CommandNode<S>> { - private final Map<String, CommandNode<S>> children = new LinkedHashMap<>(); - private final Map<String, LiteralCommandNode<S>> literals = new LinkedHashMap<>(); - private final Map<String, ArgumentCommandNode<S, ?>> arguments = new LinkedHashMap<>(); - private final Predicate<S> requirement; - private final CommandNode<S> redirect; - private final RedirectModifier<S> modifier; - private final boolean forks; - private Command<S> command; - // CraftBukkit start - public void removeCommand(String name) { - children.remove(name); - literals.remove(name); - arguments.remove(name); - } - // CraftBukkit end - - protected CommandNode(final Command<S> command, final Predicate<S> requirement, final CommandNode<S> redirect, final RedirectModifier<S> modifier, final boolean forks) { - this.command = command; - this.requirement = requirement; - this.redirect = redirect; - this.modifier = modifier; - this.forks = forks; - } - - public Command<S> getCommand() { - return command; - } - - public Collection<CommandNode<S>> getChildren() { - return children.values(); - } - - public CommandNode<S> getChild(final String name) { - return children.get(name); - } - - public CommandNode<S> getRedirect() { - return redirect; - } - - public RedirectModifier<S> getRedirectModifier() { - return modifier; - } - - // CraftBukkit start - public synchronized boolean canUse(final S source) { - if (source instanceof CommandListenerWrapper) { - try { - ((CommandListenerWrapper) source).currentCommand = this; - return requirement.test(source); - } finally { - ((CommandListenerWrapper) source).currentCommand = null; - } - } - // CraftBukkit end - return requirement.test(source); - } - - public void addChild(final CommandNode<S> node) { - if (node instanceof RootCommandNode) { - throw new UnsupportedOperationException("Cannot add a RootCommandNode as a child to any other CommandNode"); - } - - final CommandNode<S> child = children.get(node.getName()); - if (child != null) { - // We've found something to merge onto - if (node.getCommand() != null) { - child.command = node.getCommand(); - } - for (final CommandNode<S> grandchild : node.getChildren()) { - child.addChild(grandchild); - } - } else { - children.put(node.getName(), node); - if (node instanceof LiteralCommandNode) { - literals.put(node.getName(), (LiteralCommandNode<S>) node); - } else if (node instanceof ArgumentCommandNode) { - arguments.put(node.getName(), (ArgumentCommandNode<S, ?>) node); - } - } - } - - public void findAmbiguities(final AmbiguityConsumer<S> consumer) { - Set<String> matches = new HashSet<>(); - - for (final CommandNode<S> child : children.values()) { - for (final CommandNode<S> sibling : children.values()) { - if (child == sibling) { - continue; - } - - for (final String input : child.getExamples()) { - if (sibling.isValidInput(input)) { - matches.add(input); - } - } - - if (matches.size() > 0) { - consumer.ambiguous(this, child, sibling, matches); - matches = new HashSet<>(); - } - } - - child.findAmbiguities(consumer); - } - } - - protected abstract boolean isValidInput(final String input); - - @Override - public boolean equals(final Object o) { - if (this == o) return true; - if (!(o instanceof CommandNode)) return false; - - final CommandNode<S> that = (CommandNode<S>) o; - - if (!children.equals(that.children)) return false; - if (command != null ? !command.equals(that.command) : that.command != null) return false; - - return true; - } - - @Override - public int hashCode() { - return 31 * children.hashCode() + (command != null ? command.hashCode() : 0); - } - - public Predicate<S> getRequirement() { - return requirement; - } - - public abstract String getName(); - - public abstract String getUsageText(); - - public abstract void parse(StringReader reader, CommandContextBuilder<S> contextBuilder) throws CommandSyntaxException; - - public abstract CompletableFuture<Suggestions> listSuggestions(CommandContext<S> context, SuggestionsBuilder builder) throws CommandSyntaxException; - - public abstract ArgumentBuilder<S, ?> createBuilder(); - - protected abstract String getSortedKey(); - - public Collection<? extends CommandNode<S>> getRelevantNodes(final StringReader input) { - if (literals.size() > 0) { - final int cursor = input.getCursor(); - while (input.canRead() && input.peek() != ' ') { - input.skip(); - } - final String text = input.getString().substring(cursor, input.getCursor()); - input.setCursor(cursor); - final LiteralCommandNode<S> literal = literals.get(text); - if (literal != null) { - return Collections.singleton(literal); - } else { - return arguments.values(); - } - } else { - return arguments.values(); - } - } - - @Override - public int compareTo(final CommandNode<S> o) { - if (this instanceof LiteralCommandNode == o instanceof LiteralCommandNode) { - return getSortedKey().compareTo(o.getSortedKey()); - } - - return (o instanceof LiteralCommandNode) ? 1 : -1; - } - - public boolean isFork() { - return forks; - } - - public abstract Collection<String> getExamples(); -}