├── .editorconfig ├── .gitattributes ├── .github ├── CODEOWNERS ├── DISCUSSION_TEMPLATE │ └── ideas.yml ├── ISSUE_TEMPLATE │ ├── bug-or-incompatibility.yml │ ├── config.yml │ ├── crash-or-stacktrace.yml │ ├── new-feature.yml │ └── performance-problem.yml └── workflows │ ├── build.yml │ ├── close_invalid_prs.yml │ ├── pr_comment.yml │ ├── projects.yml │ └── test_results.yml ├── .gitignore ├── CONTRIBUTING.md ├── LICENSE.md ├── README.md ├── SECURITY.md ├── build-data ├── dev-imports.txt ├── mappings-patch.tiny ├── paper.at └── reobf-mappings-patch.tiny ├── build.gradle.kts ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── licenses ├── GPL.md └── MIT.md ├── paper-api ├── LICENCE.txt ├── build.gradle.kts └── src │ ├── generated │ └── java │ │ ├── com │ │ └── destroystokyo │ │ │ └── paper │ │ │ └── entity │ │ │ └── ai │ │ │ └── VanillaGoal.java │ │ └── io │ │ └── papermc │ │ └── paper │ │ └── registry │ │ └── keys │ │ ├── AttributeKeys.java │ │ ├── BannerPatternKeys.java │ │ ├── BiomeKeys.java │ │ ├── BlockTypeKeys.java │ │ ├── CatVariantKeys.java │ │ ├── ChickenVariantKeys.java │ │ ├── CowVariantKeys.java │ │ ├── DamageTypeKeys.java │ │ ├── DataComponentTypeKeys.java │ │ ├── EnchantmentKeys.java │ │ ├── FluidKeys.java │ │ ├── FrogVariantKeys.java │ │ ├── GameEventKeys.java │ │ ├── InstrumentKeys.java │ │ ├── ItemTypeKeys.java │ │ ├── JukeboxSongKeys.java │ │ ├── MapDecorationTypeKeys.java │ │ ├── MenuTypeKeys.java │ │ ├── MobEffectKeys.java │ │ ├── PaintingVariantKeys.java │ │ ├── PigVariantKeys.java │ │ ├── SoundEventKeys.java │ │ ├── StructureKeys.java │ │ ├── StructureTypeKeys.java │ │ ├── TrimMaterialKeys.java │ │ ├── TrimPatternKeys.java │ │ ├── VillagerProfessionKeys.java │ │ ├── VillagerTypeKeys.java │ │ ├── WolfSoundVariantKeys.java │ │ ├── WolfVariantKeys.java │ │ └── tags │ │ ├── BannerPatternTagKeys.java │ │ ├── BiomeTagKeys.java │ │ ├── BlockTypeTagKeys.java │ │ ├── DamageTypeTagKeys.java │ │ ├── EnchantmentTagKeys.java │ │ ├── EntityTypeTagKeys.java │ │ ├── FluidTagKeys.java │ │ ├── GameEventTagKeys.java │ │ ├── InstrumentTagKeys.java │ │ ├── ItemTypeTagKeys.java │ │ ├── PaintingVariantTagKeys.java │ │ └── StructureTagKeys.java │ ├── main │ ├── java │ │ ├── co │ │ │ └── aikar │ │ │ │ ├── timings │ │ │ │ ├── FullServerTickHandler.java │ │ │ │ ├── NullTimingHandler.java │ │ │ │ ├── TimedEventExecutor.java │ │ │ │ ├── Timing.java │ │ │ │ ├── TimingData.java │ │ │ │ ├── TimingHandler.java │ │ │ │ ├── TimingHistory.java │ │ │ │ ├── TimingHistoryEntry.java │ │ │ │ ├── TimingIdentifier.java │ │ │ │ ├── Timings.java │ │ │ │ ├── TimingsCommand.java │ │ │ │ ├── TimingsManager.java │ │ │ │ ├── TimingsReportListener.java │ │ │ │ └── UnsafeTimingHandler.java │ │ │ │ └── util │ │ │ │ ├── Counter.java │ │ │ │ ├── JSONUtil.java │ │ │ │ ├── LoadingIntMap.java │ │ │ │ ├── LoadingMap.java │ │ │ │ └── MRUMapCache.java │ │ ├── com │ │ │ └── destroystokyo │ │ │ │ └── paper │ │ │ │ ├── ClientOption.java │ │ │ │ ├── MaterialSetTag.java │ │ │ │ ├── MaterialTags.java │ │ │ │ ├── Namespaced.java │ │ │ │ ├── NamespacedTag.java │ │ │ │ ├── ParticleBuilder.java │ │ │ │ ├── SkinParts.java │ │ │ │ ├── Title.java │ │ │ │ ├── block │ │ │ │ ├── BlockSoundGroup.java │ │ │ │ └── TargetBlockInfo.java │ │ │ │ ├── brigadier │ │ │ │ ├── BukkitBrigadierCommand.java │ │ │ │ └── BukkitBrigadierCommandSource.java │ │ │ │ ├── entity │ │ │ │ ├── Pathfinder.java │ │ │ │ ├── RangedEntity.java │ │ │ │ ├── TargetEntityInfo.java │ │ │ │ ├── ai │ │ │ │ │ ├── Goal.java │ │ │ │ │ ├── GoalKey.java │ │ │ │ │ ├── GoalType.java │ │ │ │ │ └── MobGoals.java │ │ │ │ └── villager │ │ │ │ │ ├── Reputation.java │ │ │ │ │ └── ReputationType.java │ │ │ │ ├── event │ │ │ │ ├── block │ │ │ │ │ ├── AnvilDamagedEvent.java │ │ │ │ │ ├── BeaconEffectEvent.java │ │ │ │ │ ├── BlockDestroyEvent.java │ │ │ │ │ └── TNTPrimeEvent.java │ │ │ │ ├── brigadier │ │ │ │ │ ├── AsyncPlayerSendCommandsEvent.java │ │ │ │ │ ├── AsyncPlayerSendSuggestionsEvent.java │ │ │ │ │ └── CommandRegisteredEvent.java │ │ │ │ ├── entity │ │ │ │ │ ├── CreeperIgniteEvent.java │ │ │ │ │ ├── EnderDragonFireballHitEvent.java │ │ │ │ │ ├── EnderDragonFlameEvent.java │ │ │ │ │ ├── EnderDragonShootFireballEvent.java │ │ │ │ │ ├── EndermanAttackPlayerEvent.java │ │ │ │ │ ├── EndermanEscapeEvent.java │ │ │ │ │ ├── EntityAddToWorldEvent.java │ │ │ │ │ ├── EntityJumpEvent.java │ │ │ │ │ ├── EntityKnockbackByEntityEvent.java │ │ │ │ │ ├── EntityPathfindEvent.java │ │ │ │ │ ├── EntityRemoveFromWorldEvent.java │ │ │ │ │ ├── EntityTeleportEndGatewayEvent.java │ │ │ │ │ ├── EntityZapEvent.java │ │ │ │ │ ├── ExperienceOrbMergeEvent.java │ │ │ │ │ ├── PhantomPreSpawnEvent.java │ │ │ │ │ ├── PlayerNaturallySpawnCreaturesEvent.java │ │ │ │ │ ├── PreCreatureSpawnEvent.java │ │ │ │ │ ├── PreSpawnerSpawnEvent.java │ │ │ │ │ ├── ProjectileCollideEvent.java │ │ │ │ │ ├── SkeletonHorseTrapEvent.java │ │ │ │ │ ├── SlimeChangeDirectionEvent.java │ │ │ │ │ ├── SlimePathfindEvent.java │ │ │ │ │ ├── SlimeSwimEvent.java │ │ │ │ │ ├── SlimeTargetLivingEntityEvent.java │ │ │ │ │ ├── SlimeWanderEvent.java │ │ │ │ │ ├── ThrownEggHatchEvent.java │ │ │ │ │ ├── TurtleGoHomeEvent.java │ │ │ │ │ ├── TurtleLayEggEvent.java │ │ │ │ │ ├── TurtleStartDiggingEvent.java │ │ │ │ │ ├── WitchConsumePotionEvent.java │ │ │ │ │ ├── WitchReadyPotionEvent.java │ │ │ │ │ └── WitchThrowPotionEvent.java │ │ │ │ ├── inventory │ │ │ │ │ ├── PrepareGrindstoneEvent.java │ │ │ │ │ └── PrepareResultEvent.java │ │ │ │ ├── player │ │ │ │ │ ├── IllegalPacketEvent.java │ │ │ │ │ ├── PlayerAdvancementCriterionGrantEvent.java │ │ │ │ │ ├── PlayerArmorChangeEvent.java │ │ │ │ │ ├── PlayerAttackEntityCooldownResetEvent.java │ │ │ │ │ ├── PlayerClientOptionsChangeEvent.java │ │ │ │ │ ├── PlayerConnectionCloseEvent.java │ │ │ │ │ ├── PlayerElytraBoostEvent.java │ │ │ │ │ ├── PlayerHandshakeEvent.java │ │ │ │ │ ├── PlayerJumpEvent.java │ │ │ │ │ ├── PlayerLaunchProjectileEvent.java │ │ │ │ │ ├── PlayerPickupExperienceEvent.java │ │ │ │ │ ├── PlayerPostRespawnEvent.java │ │ │ │ │ ├── PlayerReadyArrowEvent.java │ │ │ │ │ ├── PlayerRecipeBookClickEvent.java │ │ │ │ │ ├── PlayerSetSpawnEvent.java │ │ │ │ │ ├── PlayerStartSpectatingEntityEvent.java │ │ │ │ │ ├── PlayerStopSpectatingEntityEvent.java │ │ │ │ │ ├── PlayerTeleportEndGatewayEvent.java │ │ │ │ │ └── PlayerUseUnknownEntityEvent.java │ │ │ │ ├── profile │ │ │ │ │ ├── FillProfileEvent.java │ │ │ │ │ ├── LookupProfileEvent.java │ │ │ │ │ ├── PreFillProfileEvent.java │ │ │ │ │ ├── PreLookupProfileEvent.java │ │ │ │ │ └── ProfileWhitelistVerifyEvent.java │ │ │ │ └── server │ │ │ │ │ ├── AsyncTabCompleteEvent.java │ │ │ │ │ ├── GS4QueryEvent.java │ │ │ │ │ ├── PaperServerListPingEvent.java │ │ │ │ │ ├── ServerExceptionEvent.java │ │ │ │ │ ├── ServerTickEndEvent.java │ │ │ │ │ ├── ServerTickStartEvent.java │ │ │ │ │ └── WhitelistToggleEvent.java │ │ │ │ ├── exception │ │ │ │ ├── ServerCommandException.java │ │ │ │ ├── ServerEventException.java │ │ │ │ ├── ServerException.java │ │ │ │ ├── ServerInternalException.java │ │ │ │ ├── ServerPluginEnableDisableException.java │ │ │ │ ├── ServerPluginException.java │ │ │ │ ├── ServerPluginMessageException.java │ │ │ │ ├── ServerSchedulerException.java │ │ │ │ └── ServerTabCompleteException.java │ │ │ │ ├── inventory │ │ │ │ └── meta │ │ │ │ │ └── ArmorStandMeta.java │ │ │ │ ├── loottable │ │ │ │ ├── LootableBlockInventory.java │ │ │ │ ├── LootableEntityInventory.java │ │ │ │ ├── LootableInventory.java │ │ │ │ └── LootableInventoryReplenishEvent.java │ │ │ │ ├── network │ │ │ │ ├── NetworkClient.java │ │ │ │ └── StatusClient.java │ │ │ │ ├── profile │ │ │ │ ├── PlayerProfile.java │ │ │ │ └── ProfileProperty.java │ │ │ │ ├── util │ │ │ │ ├── SneakyThrow.java │ │ │ │ └── VersionFetcher.java │ │ │ │ └── utils │ │ │ │ ├── CachedSizeConcurrentLinkedQueue.java │ │ │ │ └── PaperPluginLogger.java │ │ ├── io │ │ │ └── papermc │ │ │ │ └── paper │ │ │ │ ├── InternalAPIBridge.java │ │ │ │ ├── ServerBuildInfo.java │ │ │ │ ├── advancement │ │ │ │ └── AdvancementDisplay.java │ │ │ │ ├── annotation │ │ │ │ └── DoNotUse.java │ │ │ │ ├── ban │ │ │ │ ├── BanListType.java │ │ │ │ └── BanListTypeImpl.java │ │ │ │ ├── block │ │ │ │ ├── BlockPredicate.java │ │ │ │ ├── LockableTileState.java │ │ │ │ ├── MovingPiston.java │ │ │ │ ├── TileStateInventoryHolder.java │ │ │ │ └── fluid │ │ │ │ │ ├── FluidData.java │ │ │ │ │ └── type │ │ │ │ │ ├── FallingFluidData.java │ │ │ │ │ └── FlowingFluidData.java │ │ │ │ ├── brigadier │ │ │ │ └── PaperBrigadier.java │ │ │ │ ├── chat │ │ │ │ ├── ChatRenderer.java │ │ │ │ └── ViewerUnawareImpl.java │ │ │ │ ├── command │ │ │ │ ├── CommandBlockHolder.java │ │ │ │ └── brigadier │ │ │ │ │ ├── BasicCommand.java │ │ │ │ │ ├── CommandRegistrationFlag.java │ │ │ │ │ ├── CommandSourceStack.java │ │ │ │ │ ├── Commands.java │ │ │ │ │ ├── MessageComponentSerializer.java │ │ │ │ │ ├── MessageComponentSerializerHolder.java │ │ │ │ │ └── argument │ │ │ │ │ ├── ArgumentTypes.java │ │ │ │ │ ├── CustomArgumentType.java │ │ │ │ │ ├── RegistryArgumentExtractor.java │ │ │ │ │ ├── SignedMessageResolver.java │ │ │ │ │ ├── VanillaArgumentProvider.java │ │ │ │ │ ├── predicate │ │ │ │ │ └── ItemStackPredicate.java │ │ │ │ │ ├── range │ │ │ │ │ ├── DoubleRangeProvider.java │ │ │ │ │ ├── IntegerRangeProvider.java │ │ │ │ │ └── RangeProvider.java │ │ │ │ │ └── resolvers │ │ │ │ │ ├── ArgumentResolver.java │ │ │ │ │ ├── BlockPositionResolver.java │ │ │ │ │ ├── FinePositionResolver.java │ │ │ │ │ ├── PlayerProfileListResolver.java │ │ │ │ │ ├── RotationResolver.java │ │ │ │ │ └── selector │ │ │ │ │ ├── EntitySelectorArgumentResolver.java │ │ │ │ │ ├── PlayerSelectorArgumentResolver.java │ │ │ │ │ └── SelectorArgumentResolver.java │ │ │ │ ├── configuration │ │ │ │ └── ServerConfiguration.java │ │ │ │ ├── datacomponent │ │ │ │ ├── BuildableDataComponent.java │ │ │ │ ├── DataComponentBuilder.java │ │ │ │ ├── DataComponentHolder.java │ │ │ │ ├── DataComponentType.java │ │ │ │ ├── DataComponentTypes.java │ │ │ │ ├── DataComponentView.java │ │ │ │ └── item │ │ │ │ │ ├── BannerPatternLayers.java │ │ │ │ │ ├── BlockItemDataProperties.java │ │ │ │ │ ├── BlocksAttacks.java │ │ │ │ │ ├── BundleContents.java │ │ │ │ │ ├── ChargedProjectiles.java │ │ │ │ │ ├── Consumable.java │ │ │ │ │ ├── CustomModelData.java │ │ │ │ │ ├── DamageResistant.java │ │ │ │ │ ├── DeathProtection.java │ │ │ │ │ ├── DyedItemColor.java │ │ │ │ │ ├── Enchantable.java │ │ │ │ │ ├── Equippable.java │ │ │ │ │ ├── Fireworks.java │ │ │ │ │ ├── FoodProperties.java │ │ │ │ │ ├── ItemAdventurePredicate.java │ │ │ │ │ ├── ItemArmorTrim.java │ │ │ │ │ ├── ItemAttributeModifiers.java │ │ │ │ │ ├── ItemComponentTypesBridge.java │ │ │ │ │ ├── ItemContainerContents.java │ │ │ │ │ ├── ItemEnchantments.java │ │ │ │ │ ├── ItemLore.java │ │ │ │ │ ├── JukeboxPlayable.java │ │ │ │ │ ├── LodestoneTracker.java │ │ │ │ │ ├── MapDecorations.java │ │ │ │ │ ├── MapId.java │ │ │ │ │ ├── MapItemColor.java │ │ │ │ │ ├── OminousBottleAmplifier.java │ │ │ │ │ ├── PotDecorations.java │ │ │ │ │ ├── PotionContents.java │ │ │ │ │ ├── Repairable.java │ │ │ │ │ ├── ResolvableProfile.java │ │ │ │ │ ├── SeededContainerLoot.java │ │ │ │ │ ├── SuspiciousStewEffects.java │ │ │ │ │ ├── Tool.java │ │ │ │ │ ├── TooltipDisplay.java │ │ │ │ │ ├── UseCooldown.java │ │ │ │ │ ├── UseRemainder.java │ │ │ │ │ ├── Weapon.java │ │ │ │ │ ├── WritableBookContent.java │ │ │ │ │ ├── WrittenBookContent.java │ │ │ │ │ ├── blocksattacks │ │ │ │ │ ├── BlocksAttacksBridge.java │ │ │ │ │ ├── DamageReduction.java │ │ │ │ │ └── ItemDamageFunction.java │ │ │ │ │ └── consumable │ │ │ │ │ ├── ConsumableTypesBridge.java │ │ │ │ │ ├── ConsumeEffect.java │ │ │ │ │ └── ItemUseAnimation.java │ │ │ │ ├── datapack │ │ │ │ ├── Datapack.java │ │ │ │ ├── DatapackManager.java │ │ │ │ ├── DatapackRegistrar.java │ │ │ │ ├── DatapackSource.java │ │ │ │ ├── DatapackSourceImpl.java │ │ │ │ └── DiscoveredDatapack.java │ │ │ │ ├── enchantments │ │ │ │ └── EnchantmentRarity.java │ │ │ │ ├── entity │ │ │ │ ├── Bucketable.java │ │ │ │ ├── CollarColorable.java │ │ │ │ ├── EntitySerializationFlag.java │ │ │ │ ├── Frictional.java │ │ │ │ ├── Leashable.java │ │ │ │ ├── LookAnchor.java │ │ │ │ ├── PlayerGiveResult.java │ │ │ │ ├── SchoolableFish.java │ │ │ │ ├── Shearable.java │ │ │ │ └── TeleportFlag.java │ │ │ │ ├── event │ │ │ │ ├── block │ │ │ │ │ ├── BeaconActivatedEvent.java │ │ │ │ │ ├── BeaconDeactivatedEvent.java │ │ │ │ │ ├── BellRevealRaiderEvent.java │ │ │ │ │ ├── BellRingEvent.java │ │ │ │ │ ├── BlockBreakBlockEvent.java │ │ │ │ │ ├── BlockBreakProgressUpdateEvent.java │ │ │ │ │ ├── BlockFailedDispenseEvent.java │ │ │ │ │ ├── BlockLockCheckEvent.java │ │ │ │ │ ├── BlockPreDispenseEvent.java │ │ │ │ │ ├── CompostItemEvent.java │ │ │ │ │ ├── DragonEggFormEvent.java │ │ │ │ │ ├── PlayerShearBlockEvent.java │ │ │ │ │ ├── TargetHitEvent.java │ │ │ │ │ └── VaultChangeStateEvent.java │ │ │ │ ├── entity │ │ │ │ │ ├── ElderGuardianAppearanceEvent.java │ │ │ │ │ ├── EntityAttemptSmashAttackEvent.java │ │ │ │ │ ├── EntityCompostItemEvent.java │ │ │ │ │ ├── EntityDamageItemEvent.java │ │ │ │ │ ├── EntityDyeEvent.java │ │ │ │ │ ├── EntityEffectTickEvent.java │ │ │ │ │ ├── EntityEquipmentChangedEvent.java │ │ │ │ │ ├── EntityFertilizeEggEvent.java │ │ │ │ │ ├── EntityInsideBlockEvent.java │ │ │ │ │ ├── EntityKnockbackEvent.java │ │ │ │ │ ├── EntityLoadCrossbowEvent.java │ │ │ │ │ ├── EntityMoveEvent.java │ │ │ │ │ ├── EntityPortalReadyEvent.java │ │ │ │ │ ├── EntityPushedByEntityAttackEvent.java │ │ │ │ │ ├── EntityToggleSitEvent.java │ │ │ │ │ ├── FishHookStateChangeEvent.java │ │ │ │ │ ├── PufferFishStateChangeEvent.java │ │ │ │ │ ├── ShulkerDuplicateEvent.java │ │ │ │ │ ├── TameableDeathMessageEvent.java │ │ │ │ │ ├── WardenAngerChangeEvent.java │ │ │ │ │ └── WaterBottleSplashEvent.java │ │ │ │ ├── executor │ │ │ │ │ ├── EventExecutorFactory.java │ │ │ │ │ └── MethodHandleEventExecutorTemplate.java │ │ │ │ ├── packet │ │ │ │ │ ├── ClientTickEndEvent.java │ │ │ │ │ ├── PlayerChunkLoadEvent.java │ │ │ │ │ ├── PlayerChunkUnloadEvent.java │ │ │ │ │ └── UncheckedSignChangeEvent.java │ │ │ │ ├── player │ │ │ │ │ ├── AbstractChatEvent.java │ │ │ │ │ ├── AbstractRespawnEvent.java │ │ │ │ │ ├── AsyncChatCommandDecorateEvent.java │ │ │ │ │ ├── AsyncChatDecorateEvent.java │ │ │ │ │ ├── AsyncChatEvent.java │ │ │ │ │ ├── CartographyItemEvent.java │ │ │ │ │ ├── ChatEvent.java │ │ │ │ │ ├── PlayerArmSwingEvent.java │ │ │ │ │ ├── PlayerBedFailEnterEvent.java │ │ │ │ │ ├── PlayerChangeBeaconEffectEvent.java │ │ │ │ │ ├── PlayerClientLoadedWorldEvent.java │ │ │ │ │ ├── PlayerDeepSleepEvent.java │ │ │ │ │ ├── PlayerFailMoveEvent.java │ │ │ │ │ ├── PlayerFlowerPotManipulateEvent.java │ │ │ │ │ ├── PlayerInsertLecternBookEvent.java │ │ │ │ │ ├── PlayerInventorySlotChangeEvent.java │ │ │ │ │ ├── PlayerItemCooldownEvent.java │ │ │ │ │ ├── PlayerItemFrameChangeEvent.java │ │ │ │ │ ├── PlayerItemGroupCooldownEvent.java │ │ │ │ │ ├── PlayerLecternPageChangeEvent.java │ │ │ │ │ ├── PlayerLoomPatternSelectEvent.java │ │ │ │ │ ├── PlayerMapFilledEvent.java │ │ │ │ │ ├── PlayerNameEntityEvent.java │ │ │ │ │ ├── PlayerOpenSignEvent.java │ │ │ │ │ ├── PlayerPickBlockEvent.java │ │ │ │ │ ├── PlayerPickEntityEvent.java │ │ │ │ │ ├── PlayerPickItemEvent.java │ │ │ │ │ ├── PlayerPurchaseEvent.java │ │ │ │ │ ├── PlayerShieldDisableEvent.java │ │ │ │ │ ├── PlayerSignCommandPreprocessEvent.java │ │ │ │ │ ├── PlayerStonecutterRecipeSelectEvent.java │ │ │ │ │ ├── PlayerStopUsingItemEvent.java │ │ │ │ │ ├── PlayerTrackEntityEvent.java │ │ │ │ │ ├── PlayerTradeEvent.java │ │ │ │ │ ├── PlayerUntrackEntityEvent.java │ │ │ │ │ └── PrePlayerAttackEntityEvent.java │ │ │ │ ├── server │ │ │ │ │ ├── ServerResourcesReloadedEvent.java │ │ │ │ │ └── WhitelistStateUpdateEvent.java │ │ │ │ └── world │ │ │ │ │ ├── StructuresLocateEvent.java │ │ │ │ │ ├── WorldGameRuleChangeEvent.java │ │ │ │ │ └── border │ │ │ │ │ ├── WorldBorderBoundsChangeEvent.java │ │ │ │ │ ├── WorldBorderBoundsChangeFinishEvent.java │ │ │ │ │ ├── WorldBorderCenterChangeEvent.java │ │ │ │ │ └── WorldBorderEvent.java │ │ │ │ ├── generated │ │ │ │ └── GeneratedFrom.java │ │ │ │ ├── inventory │ │ │ │ ├── ItemRarity.java │ │ │ │ └── tooltip │ │ │ │ │ ├── TooltipContext.java │ │ │ │ │ └── TooltipContextImpl.java │ │ │ │ ├── item │ │ │ │ └── MapPostProcessing.java │ │ │ │ ├── math │ │ │ │ ├── BlockPosition.java │ │ │ │ ├── BlockPositionImpl.java │ │ │ │ ├── FinePosition.java │ │ │ │ ├── FinePositionImpl.java │ │ │ │ ├── Position.java │ │ │ │ ├── Rotation.java │ │ │ │ ├── RotationImpl.java │ │ │ │ ├── Rotations.java │ │ │ │ └── RotationsImpl.java │ │ │ │ ├── persistence │ │ │ │ ├── PersistentDataContainerView.java │ │ │ │ └── PersistentDataViewHolder.java │ │ │ │ ├── plugin │ │ │ │ ├── PermissionManager.java │ │ │ │ ├── bootstrap │ │ │ │ │ ├── BootstrapContext.java │ │ │ │ │ ├── PluginBootstrap.java │ │ │ │ │ └── PluginProviderContext.java │ │ │ │ ├── configuration │ │ │ │ │ ├── PluginMeta.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── lifecycle │ │ │ │ │ └── event │ │ │ │ │ │ ├── LifecycleEvent.java │ │ │ │ │ │ ├── LifecycleEventManager.java │ │ │ │ │ │ ├── LifecycleEventOwner.java │ │ │ │ │ │ ├── handler │ │ │ │ │ │ ├── LifecycleEventHandler.java │ │ │ │ │ │ └── configuration │ │ │ │ │ │ │ ├── LifecycleEventHandlerConfiguration.java │ │ │ │ │ │ │ ├── MonitorLifecycleEventHandlerConfiguration.java │ │ │ │ │ │ │ └── PrioritizedLifecycleEventHandlerConfiguration.java │ │ │ │ │ │ ├── registrar │ │ │ │ │ │ ├── Registrar.java │ │ │ │ │ │ ├── RegistrarEvent.java │ │ │ │ │ │ └── ReloadableRegistrarEvent.java │ │ │ │ │ │ └── types │ │ │ │ │ │ ├── LifecycleEventType.java │ │ │ │ │ │ ├── LifecycleEventTypeProvider.java │ │ │ │ │ │ ├── LifecycleEvents.java │ │ │ │ │ │ └── TagEventTypeProvider.java │ │ │ │ ├── loader │ │ │ │ │ ├── PluginClasspathBuilder.java │ │ │ │ │ ├── PluginLoader.java │ │ │ │ │ └── library │ │ │ │ │ │ ├── ClassPathLibrary.java │ │ │ │ │ │ ├── LibraryLoadingException.java │ │ │ │ │ │ ├── LibraryStore.java │ │ │ │ │ │ └── impl │ │ │ │ │ │ ├── JarLibrary.java │ │ │ │ │ │ └── MavenLibraryResolver.java │ │ │ │ └── provider │ │ │ │ │ ├── classloader │ │ │ │ │ ├── ClassLoaderAccess.java │ │ │ │ │ ├── ConfiguredPluginClassLoader.java │ │ │ │ │ ├── PaperClassLoaderStorage.java │ │ │ │ │ ├── PaperClassLoaderStorageAccess.java │ │ │ │ │ └── PluginClassLoaderGroup.java │ │ │ │ │ ├── entrypoint │ │ │ │ │ └── DependencyContext.java │ │ │ │ │ └── util │ │ │ │ │ └── ProviderUtil.java │ │ │ │ ├── potion │ │ │ │ ├── PotionMix.java │ │ │ │ ├── PredicateRecipeChoice.java │ │ │ │ ├── SuspiciousEffectEntry.java │ │ │ │ └── SuspiciousEffectEntryImpl.java │ │ │ │ ├── raytracing │ │ │ │ ├── PositionedRayTraceConfigurationBuilder.java │ │ │ │ └── RayTraceTarget.java │ │ │ │ ├── registry │ │ │ │ ├── Reference.java │ │ │ │ ├── ReferenceImpl.java │ │ │ │ ├── RegistryAccess.java │ │ │ │ ├── RegistryAccessHolder.java │ │ │ │ ├── RegistryBuilder.java │ │ │ │ ├── RegistryBuilderFactory.java │ │ │ │ ├── RegistryKey.java │ │ │ │ ├── RegistryKeyImpl.java │ │ │ │ ├── TypedKey.java │ │ │ │ ├── TypedKeyImpl.java │ │ │ │ ├── data │ │ │ │ │ ├── BannerPatternRegistryEntry.java │ │ │ │ │ ├── CatTypeRegistryEntry.java │ │ │ │ │ ├── ChickenVariantRegistryEntry.java │ │ │ │ │ ├── CowVariantRegistryEntry.java │ │ │ │ │ ├── DamageTypeRegistryEntry.java │ │ │ │ │ ├── EnchantmentRegistryEntry.java │ │ │ │ │ ├── FrogVariantRegistryEntry.java │ │ │ │ │ ├── GameEventRegistryEntry.java │ │ │ │ │ ├── InlinedRegistryBuilderProvider.java │ │ │ │ │ ├── PaintingVariantRegistryEntry.java │ │ │ │ │ ├── PigVariantRegistryEntry.java │ │ │ │ │ ├── WolfVariantRegistryEntry.java │ │ │ │ │ ├── client │ │ │ │ │ │ ├── ClientTextureAsset.java │ │ │ │ │ │ └── ClientTextureAssetImpl.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── event │ │ │ │ │ ├── RegistryEntryAddEvent.java │ │ │ │ │ ├── RegistryEvent.java │ │ │ │ │ ├── RegistryEventProvider.java │ │ │ │ │ ├── RegistryEventProviderImpl.java │ │ │ │ │ ├── RegistryEventTypeProvider.java │ │ │ │ │ ├── RegistryEvents.java │ │ │ │ │ ├── RegistryFreezeEvent.java │ │ │ │ │ ├── WritableRegistry.java │ │ │ │ │ └── type │ │ │ │ │ │ ├── RegistryEntryAddConfiguration.java │ │ │ │ │ │ └── RegistryEntryAddEventType.java │ │ │ │ ├── set │ │ │ │ │ ├── RegistryKeySet.java │ │ │ │ │ ├── RegistryKeySetImpl.java │ │ │ │ │ ├── RegistrySet.java │ │ │ │ │ ├── RegistryValueSet.java │ │ │ │ │ └── RegistryValueSetImpl.java │ │ │ │ └── tag │ │ │ │ │ ├── Tag.java │ │ │ │ │ ├── TagKey.java │ │ │ │ │ └── TagKeyImpl.java │ │ │ │ ├── scoreboard │ │ │ │ └── numbers │ │ │ │ │ ├── BlankFormatImpl.java │ │ │ │ │ ├── FixedFormat.java │ │ │ │ │ ├── FixedFormatImpl.java │ │ │ │ │ ├── NumberFormat.java │ │ │ │ │ ├── StyledFormat.java │ │ │ │ │ └── StyledFormatImpl.java │ │ │ │ ├── tag │ │ │ │ ├── BaseTag.java │ │ │ │ ├── EntitySetTag.java │ │ │ │ ├── EntityTags.java │ │ │ │ ├── PostFlattenTagRegistrar.java │ │ │ │ ├── PreFlattenTagRegistrar.java │ │ │ │ ├── TagEntry.java │ │ │ │ └── TagEntryImpl.java │ │ │ │ ├── text │ │ │ │ ├── Filtered.java │ │ │ │ └── PaperComponents.java │ │ │ │ ├── threadedregions │ │ │ │ └── scheduler │ │ │ │ │ ├── AsyncScheduler.java │ │ │ │ │ ├── EntityScheduler.java │ │ │ │ │ ├── GlobalRegionScheduler.java │ │ │ │ │ ├── RegionScheduler.java │ │ │ │ │ └── ScheduledTask.java │ │ │ │ ├── util │ │ │ │ ├── JarManifests.java │ │ │ │ ├── Tick.java │ │ │ │ └── TransformingRandomAccessList.java │ │ │ │ └── world │ │ │ │ ├── MoonPhase.java │ │ │ │ ├── damagesource │ │ │ │ ├── CombatEntry.java │ │ │ │ ├── CombatTracker.java │ │ │ │ ├── FallLocationType.java │ │ │ │ └── FallLocationTypeImpl.java │ │ │ │ └── flag │ │ │ │ ├── FeatureDependant.java │ │ │ │ ├── FeatureFlagProvider.java │ │ │ │ └── FeatureFlagSetHolder.java │ │ └── org │ │ │ ├── bukkit │ │ │ ├── Art.java │ │ │ ├── Axis.java │ │ │ ├── BanEntry.java │ │ │ ├── BanList.java │ │ │ ├── BlockChangeDelegate.java │ │ │ ├── Bukkit.java │ │ │ ├── ChatColor.java │ │ │ ├── Chunk.java │ │ │ ├── ChunkSnapshot.java │ │ │ ├── CoalType.java │ │ │ ├── Color.java │ │ │ ├── CropState.java │ │ │ ├── Difficulty.java │ │ │ ├── DyeColor.java │ │ │ ├── Effect.java │ │ │ ├── EntityEffect.java │ │ │ ├── ExplosionResult.java │ │ │ ├── FeatureFlag.java │ │ │ ├── FeatureFlagImpl.java │ │ │ ├── FireworkEffect.java │ │ │ ├── Fluid.java │ │ │ ├── FluidCollisionMode.java │ │ │ ├── GameEvent.java │ │ │ ├── GameMode.java │ │ │ ├── GameRule.java │ │ │ ├── GrassSpecies.java │ │ │ ├── HeightMap.java │ │ │ ├── Input.java │ │ │ ├── Instrument.java │ │ │ ├── JukeboxSong.java │ │ │ ├── Keyed.java │ │ │ ├── Location.java │ │ │ ├── Material.java │ │ │ ├── MinecraftExperimental.java │ │ │ ├── MusicInstrument.java │ │ │ ├── Nameable.java │ │ │ ├── NamespacedKey.java │ │ │ ├── NetherWartsState.java │ │ │ ├── Note.java │ │ │ ├── OfflinePlayer.java │ │ │ ├── Particle.java │ │ │ ├── PortalType.java │ │ │ ├── Raid.java │ │ │ ├── RegionAccessor.java │ │ │ ├── Registry.java │ │ │ ├── Rotation.java │ │ │ ├── SandstoneType.java │ │ │ ├── Server.java │ │ │ ├── ServerLinks.java │ │ │ ├── ServerTickManager.java │ │ │ ├── SkullType.java │ │ │ ├── Sound.java │ │ │ ├── SoundCategory.java │ │ │ ├── SoundGroup.java │ │ │ ├── Statistic.java │ │ │ ├── StructureType.java │ │ │ ├── Tag.java │ │ │ ├── Translatable.java │ │ │ ├── TreeSpecies.java │ │ │ ├── TreeType.java │ │ │ ├── UndefinedNullability.java │ │ │ ├── UnsafeValues.java │ │ │ ├── Utility.java │ │ │ ├── Vibration.java │ │ │ ├── Warning.java │ │ │ ├── WeatherType.java │ │ │ ├── World.java │ │ │ ├── WorldBorder.java │ │ │ ├── WorldCreator.java │ │ │ ├── WorldType.java │ │ │ ├── advancement │ │ │ │ ├── Advancement.java │ │ │ │ ├── AdvancementDisplay.java │ │ │ │ ├── AdvancementDisplayType.java │ │ │ │ ├── AdvancementProgress.java │ │ │ │ ├── AdvancementRequirement.java │ │ │ │ ├── AdvancementRequirements.java │ │ │ │ └── package-info.java │ │ │ ├── attribute │ │ │ │ ├── Attributable.java │ │ │ │ ├── Attribute.java │ │ │ │ ├── AttributeInstance.java │ │ │ │ ├── AttributeModifier.java │ │ │ │ └── package-info.java │ │ │ ├── ban │ │ │ │ ├── IpBanList.java │ │ │ │ ├── ProfileBanList.java │ │ │ │ └── package-info.java │ │ │ ├── block │ │ │ │ ├── Banner.java │ │ │ │ ├── Barrel.java │ │ │ │ ├── Beacon.java │ │ │ │ ├── Bed.java │ │ │ │ ├── Beehive.java │ │ │ │ ├── Bell.java │ │ │ │ ├── Biome.java │ │ │ │ ├── BlastFurnace.java │ │ │ │ ├── Block.java │ │ │ │ ├── BlockFace.java │ │ │ │ ├── BlockState.java │ │ │ │ ├── BlockSupport.java │ │ │ │ ├── BlockType.java │ │ │ │ ├── BrewingStand.java │ │ │ │ ├── BrushableBlock.java │ │ │ │ ├── CalibratedSculkSensor.java │ │ │ │ ├── Campfire.java │ │ │ │ ├── Chest.java │ │ │ │ ├── ChiseledBookshelf.java │ │ │ │ ├── CommandBlock.java │ │ │ │ ├── Comparator.java │ │ │ │ ├── Conduit.java │ │ │ │ ├── Container.java │ │ │ │ ├── Crafter.java │ │ │ │ ├── CreakingHeart.java │ │ │ │ ├── CreatureSpawner.java │ │ │ │ ├── DaylightDetector.java │ │ │ │ ├── DecoratedPot.java │ │ │ │ ├── Dispenser.java │ │ │ │ ├── DoubleChest.java │ │ │ │ ├── Dropper.java │ │ │ │ ├── EnchantingTable.java │ │ │ │ ├── EndGateway.java │ │ │ │ ├── EnderChest.java │ │ │ │ ├── EntityBlockStorage.java │ │ │ │ ├── Furnace.java │ │ │ │ ├── HangingSign.java │ │ │ │ ├── Hopper.java │ │ │ │ ├── Jigsaw.java │ │ │ │ ├── Jukebox.java │ │ │ │ ├── Lectern.java │ │ │ │ ├── Lidded.java │ │ │ │ ├── Lockable.java │ │ │ │ ├── Orientation.java │ │ │ │ ├── PistonMoveReaction.java │ │ │ │ ├── SculkCatalyst.java │ │ │ │ ├── SculkSensor.java │ │ │ │ ├── SculkShrieker.java │ │ │ │ ├── ShulkerBox.java │ │ │ │ ├── Sign.java │ │ │ │ ├── Skull.java │ │ │ │ ├── Smoker.java │ │ │ │ ├── Structure.java │ │ │ │ ├── SuspiciousSand.java │ │ │ │ ├── TestBlock.java │ │ │ │ ├── TestInstanceBlock.java │ │ │ │ ├── TileState.java │ │ │ │ ├── TrialSpawner.java │ │ │ │ ├── Vault.java │ │ │ │ ├── banner │ │ │ │ │ ├── Pattern.java │ │ │ │ │ ├── PatternType.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── data │ │ │ │ │ ├── Ageable.java │ │ │ │ │ ├── AnaloguePowerable.java │ │ │ │ │ ├── Attachable.java │ │ │ │ │ ├── Bisected.java │ │ │ │ │ ├── BlockData.java │ │ │ │ │ ├── Brushable.java │ │ │ │ │ ├── Directional.java │ │ │ │ │ ├── FaceAttachable.java │ │ │ │ │ ├── Hangable.java │ │ │ │ │ ├── Hatchable.java │ │ │ │ │ ├── Levelled.java │ │ │ │ │ ├── Lightable.java │ │ │ │ │ ├── MultipleFacing.java │ │ │ │ │ ├── Openable.java │ │ │ │ │ ├── Orientable.java │ │ │ │ │ ├── Powerable.java │ │ │ │ │ ├── Rail.java │ │ │ │ │ ├── Rotatable.java │ │ │ │ │ ├── Segmentable.java │ │ │ │ │ ├── Snowable.java │ │ │ │ │ ├── Waterlogged.java │ │ │ │ │ ├── package-info.java │ │ │ │ │ └── type │ │ │ │ │ │ ├── AmethystCluster.java │ │ │ │ │ │ ├── Bamboo.java │ │ │ │ │ │ ├── Barrel.java │ │ │ │ │ │ ├── Bed.java │ │ │ │ │ │ ├── Beehive.java │ │ │ │ │ │ ├── Bell.java │ │ │ │ │ │ ├── BigDripleaf.java │ │ │ │ │ │ ├── BrewingStand.java │ │ │ │ │ │ ├── BubbleColumn.java │ │ │ │ │ │ ├── Cake.java │ │ │ │ │ │ ├── CalibratedSculkSensor.java │ │ │ │ │ │ ├── Campfire.java │ │ │ │ │ │ ├── Candle.java │ │ │ │ │ │ ├── CaveVines.java │ │ │ │ │ │ ├── CaveVinesPlant.java │ │ │ │ │ │ ├── Chain.java │ │ │ │ │ │ ├── Chest.java │ │ │ │ │ │ ├── ChiseledBookshelf.java │ │ │ │ │ │ ├── Cocoa.java │ │ │ │ │ │ ├── CommandBlock.java │ │ │ │ │ │ ├── Comparator.java │ │ │ │ │ │ ├── CopperBulb.java │ │ │ │ │ │ ├── CoralWallFan.java │ │ │ │ │ │ ├── Crafter.java │ │ │ │ │ │ ├── CreakingHeart.java │ │ │ │ │ │ ├── DaylightDetector.java │ │ │ │ │ │ ├── DecoratedPot.java │ │ │ │ │ │ ├── Dispenser.java │ │ │ │ │ │ ├── Door.java │ │ │ │ │ │ ├── Dripleaf.java │ │ │ │ │ │ ├── EndPortalFrame.java │ │ │ │ │ │ ├── EnderChest.java │ │ │ │ │ │ ├── Farmland.java │ │ │ │ │ │ ├── Fence.java │ │ │ │ │ │ ├── Fire.java │ │ │ │ │ │ ├── FlowerBed.java │ │ │ │ │ │ ├── Furnace.java │ │ │ │ │ │ ├── Gate.java │ │ │ │ │ │ ├── GlassPane.java │ │ │ │ │ │ ├── GlowLichen.java │ │ │ │ │ │ ├── Grindstone.java │ │ │ │ │ │ ├── HangingMoss.java │ │ │ │ │ │ ├── HangingSign.java │ │ │ │ │ │ ├── Hopper.java │ │ │ │ │ │ ├── Jigsaw.java │ │ │ │ │ │ ├── Jukebox.java │ │ │ │ │ │ ├── Ladder.java │ │ │ │ │ │ ├── Lantern.java │ │ │ │ │ │ ├── LeafLitter.java │ │ │ │ │ │ ├── Leaves.java │ │ │ │ │ │ ├── Lectern.java │ │ │ │ │ │ ├── Light.java │ │ │ │ │ │ ├── LightningRod.java │ │ │ │ │ │ ├── MangrovePropagule.java │ │ │ │ │ │ ├── MossyCarpet.java │ │ │ │ │ │ ├── NoteBlock.java │ │ │ │ │ │ ├── Observer.java │ │ │ │ │ │ ├── PinkPetals.java │ │ │ │ │ │ ├── Piston.java │ │ │ │ │ │ ├── PistonHead.java │ │ │ │ │ │ ├── PitcherCrop.java │ │ │ │ │ │ ├── PointedDripstone.java │ │ │ │ │ │ ├── RedstoneRail.java │ │ │ │ │ │ ├── RedstoneWallTorch.java │ │ │ │ │ │ ├── RedstoneWire.java │ │ │ │ │ │ ├── Repeater.java │ │ │ │ │ │ ├── ResinClump.java │ │ │ │ │ │ ├── RespawnAnchor.java │ │ │ │ │ │ ├── Sapling.java │ │ │ │ │ │ ├── Scaffolding.java │ │ │ │ │ │ ├── SculkCatalyst.java │ │ │ │ │ │ ├── SculkSensor.java │ │ │ │ │ │ ├── SculkShrieker.java │ │ │ │ │ │ ├── SculkVein.java │ │ │ │ │ │ ├── SeaPickle.java │ │ │ │ │ │ ├── Sign.java │ │ │ │ │ │ ├── Skull.java │ │ │ │ │ │ ├── Slab.java │ │ │ │ │ │ ├── SmallDripleaf.java │ │ │ │ │ │ ├── Snow.java │ │ │ │ │ │ ├── Stairs.java │ │ │ │ │ │ ├── StructureBlock.java │ │ │ │ │ │ ├── Switch.java │ │ │ │ │ │ ├── TNT.java │ │ │ │ │ │ ├── TechnicalPiston.java │ │ │ │ │ │ ├── TestBlock.java │ │ │ │ │ │ ├── TrapDoor.java │ │ │ │ │ │ ├── TrialSpawner.java │ │ │ │ │ │ ├── Tripwire.java │ │ │ │ │ │ ├── TripwireHook.java │ │ │ │ │ │ ├── TurtleEgg.java │ │ │ │ │ │ ├── Vault.java │ │ │ │ │ │ ├── Wall.java │ │ │ │ │ │ ├── WallHangingSign.java │ │ │ │ │ │ ├── WallSign.java │ │ │ │ │ │ ├── WallSkull.java │ │ │ │ │ │ └── package-info.java │ │ │ │ ├── package-info.java │ │ │ │ ├── sign │ │ │ │ │ ├── Side.java │ │ │ │ │ ├── SignSide.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── spawner │ │ │ │ │ ├── SpawnRule.java │ │ │ │ │ ├── SpawnerEntry.java │ │ │ │ │ └── package-info.java │ │ │ │ └── structure │ │ │ │ │ ├── Mirror.java │ │ │ │ │ ├── StructureRotation.java │ │ │ │ │ ├── UsageMode.java │ │ │ │ │ └── package-info.java │ │ │ ├── boss │ │ │ │ ├── BarColor.java │ │ │ │ ├── BarFlag.java │ │ │ │ ├── BarStyle.java │ │ │ │ ├── BossBar.java │ │ │ │ ├── DragonBattle.java │ │ │ │ ├── KeyedBossBar.java │ │ │ │ └── package-info.java │ │ │ ├── command │ │ │ │ ├── BlockCommandSender.java │ │ │ │ ├── BufferedCommandSender.java │ │ │ │ ├── Command.java │ │ │ │ ├── CommandException.java │ │ │ │ ├── CommandExecutor.java │ │ │ │ ├── CommandMap.java │ │ │ │ ├── CommandSender.java │ │ │ │ ├── ConsoleCommandSender.java │ │ │ │ ├── FormattedCommandAlias.java │ │ │ │ ├── MessageCommandSender.java │ │ │ │ ├── MultipleCommandAlias.java │ │ │ │ ├── PluginCommand.java │ │ │ │ ├── PluginCommandYamlParser.java │ │ │ │ ├── PluginIdentifiableCommand.java │ │ │ │ ├── ProxiedCommandSender.java │ │ │ │ ├── RemoteConsoleCommandSender.java │ │ │ │ ├── SimpleCommandMap.java │ │ │ │ ├── TabCompleter.java │ │ │ │ ├── TabExecutor.java │ │ │ │ ├── defaults │ │ │ │ │ ├── BukkitCommand.java │ │ │ │ │ ├── HelpCommand.java │ │ │ │ │ ├── PluginsCommand.java │ │ │ │ │ ├── ReloadCommand.java │ │ │ │ │ ├── VersionCommand.java │ │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ ├── configuration │ │ │ │ ├── Configuration.java │ │ │ │ ├── ConfigurationOptions.java │ │ │ │ ├── ConfigurationSection.java │ │ │ │ ├── InvalidConfigurationException.java │ │ │ │ ├── MemoryConfiguration.java │ │ │ │ ├── MemoryConfigurationOptions.java │ │ │ │ ├── MemorySection.java │ │ │ │ ├── SectionPathData.java │ │ │ │ ├── file │ │ │ │ │ ├── FileConfiguration.java │ │ │ │ │ ├── FileConfigurationOptions.java │ │ │ │ │ ├── YamlConfiguration.java │ │ │ │ │ ├── YamlConfigurationOptions.java │ │ │ │ │ ├── YamlConstructor.java │ │ │ │ │ ├── YamlRepresenter.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── package-info.java │ │ │ │ └── serialization │ │ │ │ │ ├── ConfigurationSerializable.java │ │ │ │ │ ├── ConfigurationSerialization.java │ │ │ │ │ ├── DelegateDeserialization.java │ │ │ │ │ ├── SerializableAs.java │ │ │ │ │ └── package-info.java │ │ │ ├── conversations │ │ │ │ ├── BooleanPrompt.java │ │ │ │ ├── Conversable.java │ │ │ │ ├── Conversation.java │ │ │ │ ├── ConversationAbandonedEvent.java │ │ │ │ ├── ConversationAbandonedListener.java │ │ │ │ ├── ConversationCanceller.java │ │ │ │ ├── ConversationContext.java │ │ │ │ ├── ConversationFactory.java │ │ │ │ ├── ConversationPrefix.java │ │ │ │ ├── ExactMatchConversationCanceller.java │ │ │ │ ├── FixedSetPrompt.java │ │ │ │ ├── InactivityConversationCanceller.java │ │ │ │ ├── ManuallyAbandonedConversationCanceller.java │ │ │ │ ├── MessagePrompt.java │ │ │ │ ├── NullConversationPrefix.java │ │ │ │ ├── NumericPrompt.java │ │ │ │ ├── PlayerNamePrompt.java │ │ │ │ ├── PluginNameConversationPrefix.java │ │ │ │ ├── Prompt.java │ │ │ │ ├── RegexPrompt.java │ │ │ │ ├── StringPrompt.java │ │ │ │ ├── ValidatingPrompt.java │ │ │ │ └── package-info.java │ │ │ ├── damage │ │ │ │ ├── DamageEffect.java │ │ │ │ ├── DamageScaling.java │ │ │ │ ├── DamageSource.java │ │ │ │ ├── DamageType.java │ │ │ │ ├── DeathMessageType.java │ │ │ │ └── package-info.java │ │ │ ├── enchantments │ │ │ │ ├── Enchantment.java │ │ │ │ ├── EnchantmentOffer.java │ │ │ │ ├── EnchantmentTarget.java │ │ │ │ ├── EnchantmentWrapper.java │ │ │ │ └── package-info.java │ │ │ ├── entity │ │ │ │ ├── AbstractArrow.java │ │ │ │ ├── AbstractCow.java │ │ │ │ ├── AbstractHorse.java │ │ │ │ ├── AbstractSkeleton.java │ │ │ │ ├── AbstractVillager.java │ │ │ │ ├── AbstractWindCharge.java │ │ │ │ ├── Ageable.java │ │ │ │ ├── Allay.java │ │ │ │ ├── Ambient.java │ │ │ │ ├── AnimalTamer.java │ │ │ │ ├── Animals.java │ │ │ │ ├── AreaEffectCloud.java │ │ │ │ ├── Armadillo.java │ │ │ │ ├── ArmorStand.java │ │ │ │ ├── Arrow.java │ │ │ │ ├── Axolotl.java │ │ │ │ ├── Bat.java │ │ │ │ ├── Bee.java │ │ │ │ ├── Blaze.java │ │ │ │ ├── BlockDisplay.java │ │ │ │ ├── Boat.java │ │ │ │ ├── Bogged.java │ │ │ │ ├── Boss.java │ │ │ │ ├── Breedable.java │ │ │ │ ├── Breeze.java │ │ │ │ ├── BreezeWindCharge.java │ │ │ │ ├── Camel.java │ │ │ │ ├── Cat.java │ │ │ │ ├── CaveSpider.java │ │ │ │ ├── ChestBoat.java │ │ │ │ ├── ChestedHorse.java │ │ │ │ ├── Chicken.java │ │ │ │ ├── Cod.java │ │ │ │ ├── ComplexEntityPart.java │ │ │ │ ├── ComplexLivingEntity.java │ │ │ │ ├── Cow.java │ │ │ │ ├── Creaking.java │ │ │ │ ├── Creature.java │ │ │ │ ├── Creeper.java │ │ │ │ ├── Damageable.java │ │ │ │ ├── Display.java │ │ │ │ ├── Dolphin.java │ │ │ │ ├── Donkey.java │ │ │ │ ├── DragonFireball.java │ │ │ │ ├── Drowned.java │ │ │ │ ├── Egg.java │ │ │ │ ├── ElderGuardian.java │ │ │ │ ├── EnderCrystal.java │ │ │ │ ├── EnderDragon.java │ │ │ │ ├── EnderDragonPart.java │ │ │ │ ├── EnderPearl.java │ │ │ │ ├── EnderSignal.java │ │ │ │ ├── Enderman.java │ │ │ │ ├── Endermite.java │ │ │ │ ├── Enemy.java │ │ │ │ ├── Entity.java │ │ │ │ ├── EntityCategory.java │ │ │ │ ├── EntityFactory.java │ │ │ │ ├── EntitySnapshot.java │ │ │ │ ├── EntityType.java │ │ │ │ ├── Evoker.java │ │ │ │ ├── EvokerFangs.java │ │ │ │ ├── ExperienceOrb.java │ │ │ │ ├── Explosive.java │ │ │ │ ├── FallingBlock.java │ │ │ │ ├── Fireball.java │ │ │ │ ├── Firework.java │ │ │ │ ├── Fish.java │ │ │ │ ├── FishHook.java │ │ │ │ ├── Flying.java │ │ │ │ ├── Fox.java │ │ │ │ ├── Frog.java │ │ │ │ ├── Ghast.java │ │ │ │ ├── Giant.java │ │ │ │ ├── GlowItemFrame.java │ │ │ │ ├── GlowSquid.java │ │ │ │ ├── Goat.java │ │ │ │ ├── Golem.java │ │ │ │ ├── Guardian.java │ │ │ │ ├── Hanging.java │ │ │ │ ├── Hoglin.java │ │ │ │ ├── Horse.java │ │ │ │ ├── HumanEntity.java │ │ │ │ ├── Husk.java │ │ │ │ ├── Illager.java │ │ │ │ ├── Illusioner.java │ │ │ │ ├── Interaction.java │ │ │ │ ├── IronGolem.java │ │ │ │ ├── Item.java │ │ │ │ ├── ItemDisplay.java │ │ │ │ ├── ItemFrame.java │ │ │ │ ├── LargeFireball.java │ │ │ │ ├── LeashHitch.java │ │ │ │ ├── LightningStrike.java │ │ │ │ ├── LingeringPotion.java │ │ │ │ ├── LivingEntity.java │ │ │ │ ├── Llama.java │ │ │ │ ├── LlamaSpit.java │ │ │ │ ├── MagmaCube.java │ │ │ │ ├── Marker.java │ │ │ │ ├── Minecart.java │ │ │ │ ├── Mob.java │ │ │ │ ├── Monster.java │ │ │ │ ├── Mule.java │ │ │ │ ├── MushroomCow.java │ │ │ │ ├── NPC.java │ │ │ │ ├── Ocelot.java │ │ │ │ ├── OminousItemSpawner.java │ │ │ │ ├── Painting.java │ │ │ │ ├── Panda.java │ │ │ │ ├── Parrot.java │ │ │ │ ├── Phantom.java │ │ │ │ ├── Pig.java │ │ │ │ ├── PigZombie.java │ │ │ │ ├── Piglin.java │ │ │ │ ├── PiglinAbstract.java │ │ │ │ ├── PiglinBrute.java │ │ │ │ ├── Pillager.java │ │ │ │ ├── Player.java │ │ │ │ ├── PolarBear.java │ │ │ │ ├── Pose.java │ │ │ │ ├── Projectile.java │ │ │ │ ├── PufferFish.java │ │ │ │ ├── Rabbit.java │ │ │ │ ├── Raider.java │ │ │ │ ├── Ravager.java │ │ │ │ ├── Salmon.java │ │ │ │ ├── Shearable.java │ │ │ │ ├── Sheep.java │ │ │ │ ├── Shulker.java │ │ │ │ ├── ShulkerBullet.java │ │ │ │ ├── Silverfish.java │ │ │ │ ├── Sittable.java │ │ │ │ ├── SizedFireball.java │ │ │ │ ├── Skeleton.java │ │ │ │ ├── SkeletonHorse.java │ │ │ │ ├── Slime.java │ │ │ │ ├── SmallFireball.java │ │ │ │ ├── Sniffer.java │ │ │ │ ├── Snowball.java │ │ │ │ ├── Snowman.java │ │ │ │ ├── SpawnCategory.java │ │ │ │ ├── SpectralArrow.java │ │ │ │ ├── Spellcaster.java │ │ │ │ ├── Spider.java │ │ │ │ ├── SplashPotion.java │ │ │ │ ├── Squid.java │ │ │ │ ├── Steerable.java │ │ │ │ ├── Stray.java │ │ │ │ ├── Strider.java │ │ │ │ ├── TNTPrimed.java │ │ │ │ ├── Tadpole.java │ │ │ │ ├── Tameable.java │ │ │ │ ├── TextDisplay.java │ │ │ │ ├── ThrowableProjectile.java │ │ │ │ ├── ThrownExpBottle.java │ │ │ │ ├── ThrownPotion.java │ │ │ │ ├── TippedArrow.java │ │ │ │ ├── TraderLlama.java │ │ │ │ ├── Trident.java │ │ │ │ ├── TropicalFish.java │ │ │ │ ├── Turtle.java │ │ │ │ ├── Vehicle.java │ │ │ │ ├── Vex.java │ │ │ │ ├── Villager.java │ │ │ │ ├── Vindicator.java │ │ │ │ ├── WanderingTrader.java │ │ │ │ ├── Warden.java │ │ │ │ ├── WaterMob.java │ │ │ │ ├── WindCharge.java │ │ │ │ ├── Witch.java │ │ │ │ ├── Wither.java │ │ │ │ ├── WitherSkeleton.java │ │ │ │ ├── WitherSkull.java │ │ │ │ ├── Wolf.java │ │ │ │ ├── Zoglin.java │ │ │ │ ├── Zombie.java │ │ │ │ ├── ZombieHorse.java │ │ │ │ ├── ZombieVillager.java │ │ │ │ ├── boat │ │ │ │ │ ├── AcaciaBoat.java │ │ │ │ │ ├── AcaciaChestBoat.java │ │ │ │ │ ├── BambooChestRaft.java │ │ │ │ │ ├── BambooRaft.java │ │ │ │ │ ├── BirchBoat.java │ │ │ │ │ ├── BirchChestBoat.java │ │ │ │ │ ├── CherryBoat.java │ │ │ │ │ ├── CherryChestBoat.java │ │ │ │ │ ├── DarkOakBoat.java │ │ │ │ │ ├── DarkOakChestBoat.java │ │ │ │ │ ├── JungleBoat.java │ │ │ │ │ ├── JungleChestBoat.java │ │ │ │ │ ├── MangroveBoat.java │ │ │ │ │ ├── MangroveChestBoat.java │ │ │ │ │ ├── OakBoat.java │ │ │ │ │ ├── OakChestBoat.java │ │ │ │ │ ├── PaleOakBoat.java │ │ │ │ │ ├── PaleOakChestBoat.java │ │ │ │ │ ├── SpruceBoat.java │ │ │ │ │ ├── SpruceChestBoat.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── memory │ │ │ │ │ ├── MemoryKey.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── minecart │ │ │ │ │ ├── CommandMinecart.java │ │ │ │ │ ├── ExplosiveMinecart.java │ │ │ │ │ ├── HopperMinecart.java │ │ │ │ │ ├── PoweredMinecart.java │ │ │ │ │ ├── RideableMinecart.java │ │ │ │ │ ├── SpawnerMinecart.java │ │ │ │ │ ├── StorageMinecart.java │ │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ ├── event │ │ │ │ ├── Cancellable.java │ │ │ │ ├── Event.java │ │ │ │ ├── EventException.java │ │ │ │ ├── EventHandler.java │ │ │ │ ├── EventPriority.java │ │ │ │ ├── HandlerList.java │ │ │ │ ├── Listener.java │ │ │ │ ├── block │ │ │ │ │ ├── Action.java │ │ │ │ │ ├── BellResonateEvent.java │ │ │ │ │ ├── BellRingEvent.java │ │ │ │ │ ├── BlockBreakEvent.java │ │ │ │ │ ├── BlockBurnEvent.java │ │ │ │ │ ├── BlockCanBuildEvent.java │ │ │ │ │ ├── BlockCookEvent.java │ │ │ │ │ ├── BlockDamageAbortEvent.java │ │ │ │ │ ├── BlockDamageEvent.java │ │ │ │ │ ├── BlockDispenseArmorEvent.java │ │ │ │ │ ├── BlockDispenseEvent.java │ │ │ │ │ ├── BlockDispenseLootEvent.java │ │ │ │ │ ├── BlockDropItemEvent.java │ │ │ │ │ ├── BlockEvent.java │ │ │ │ │ ├── BlockExpEvent.java │ │ │ │ │ ├── BlockExplodeEvent.java │ │ │ │ │ ├── BlockFadeEvent.java │ │ │ │ │ ├── BlockFertilizeEvent.java │ │ │ │ │ ├── BlockFormEvent.java │ │ │ │ │ ├── BlockFromToEvent.java │ │ │ │ │ ├── BlockGrowEvent.java │ │ │ │ │ ├── BlockIgniteEvent.java │ │ │ │ │ ├── BlockMultiPlaceEvent.java │ │ │ │ │ ├── BlockPhysicsEvent.java │ │ │ │ │ ├── BlockPistonEvent.java │ │ │ │ │ ├── BlockPistonExtendEvent.java │ │ │ │ │ ├── BlockPistonRetractEvent.java │ │ │ │ │ ├── BlockPlaceEvent.java │ │ │ │ │ ├── BlockReceiveGameEvent.java │ │ │ │ │ ├── BlockRedstoneEvent.java │ │ │ │ │ ├── BlockShearEntityEvent.java │ │ │ │ │ ├── BlockSpreadEvent.java │ │ │ │ │ ├── BrewingStartEvent.java │ │ │ │ │ ├── CampfireStartEvent.java │ │ │ │ │ ├── CauldronLevelChangeEvent.java │ │ │ │ │ ├── CrafterCraftEvent.java │ │ │ │ │ ├── EntityBlockFormEvent.java │ │ │ │ │ ├── FluidLevelChangeEvent.java │ │ │ │ │ ├── InventoryBlockStartEvent.java │ │ │ │ │ ├── LeavesDecayEvent.java │ │ │ │ │ ├── MoistureChangeEvent.java │ │ │ │ │ ├── NotePlayEvent.java │ │ │ │ │ ├── SculkBloomEvent.java │ │ │ │ │ ├── SignChangeEvent.java │ │ │ │ │ ├── SpongeAbsorbEvent.java │ │ │ │ │ ├── TNTPrimeEvent.java │ │ │ │ │ ├── VaultDisplayItemEvent.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── command │ │ │ │ │ └── UnknownCommandEvent.java │ │ │ │ ├── enchantment │ │ │ │ │ ├── EnchantItemEvent.java │ │ │ │ │ ├── PrepareItemEnchantEvent.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── entity │ │ │ │ │ ├── AreaEffectCloudApplyEvent.java │ │ │ │ │ ├── ArrowBodyCountChangeEvent.java │ │ │ │ │ ├── BatToggleSleepEvent.java │ │ │ │ │ ├── CreatureSpawnEvent.java │ │ │ │ │ ├── CreeperPowerEvent.java │ │ │ │ │ ├── EnderDragonChangePhaseEvent.java │ │ │ │ │ ├── EntityAirChangeEvent.java │ │ │ │ │ ├── EntityBreakDoorEvent.java │ │ │ │ │ ├── EntityBreedEvent.java │ │ │ │ │ ├── EntityChangeBlockEvent.java │ │ │ │ │ ├── EntityCombustByBlockEvent.java │ │ │ │ │ ├── EntityCombustByEntityEvent.java │ │ │ │ │ ├── EntityCombustEvent.java │ │ │ │ │ ├── EntityCreatePortalEvent.java │ │ │ │ │ ├── EntityDamageByBlockEvent.java │ │ │ │ │ ├── EntityDamageByEntityEvent.java │ │ │ │ │ ├── EntityDamageEvent.java │ │ │ │ │ ├── EntityDeathEvent.java │ │ │ │ │ ├── EntityDismountEvent.java │ │ │ │ │ ├── EntityDropItemEvent.java │ │ │ │ │ ├── EntityEnterBlockEvent.java │ │ │ │ │ ├── EntityEnterLoveModeEvent.java │ │ │ │ │ ├── EntityEvent.java │ │ │ │ │ ├── EntityExhaustionEvent.java │ │ │ │ │ ├── EntityExplodeEvent.java │ │ │ │ │ ├── EntityInteractEvent.java │ │ │ │ │ ├── EntityKnockbackByEntityEvent.java │ │ │ │ │ ├── EntityKnockbackEvent.java │ │ │ │ │ ├── EntityMountEvent.java │ │ │ │ │ ├── EntityPickupItemEvent.java │ │ │ │ │ ├── EntityPlaceEvent.java │ │ │ │ │ ├── EntityPortalEnterEvent.java │ │ │ │ │ ├── EntityPortalEvent.java │ │ │ │ │ ├── EntityPortalExitEvent.java │ │ │ │ │ ├── EntityPoseChangeEvent.java │ │ │ │ │ ├── EntityPotionEffectEvent.java │ │ │ │ │ ├── EntityRegainHealthEvent.java │ │ │ │ │ ├── EntityRemoveEvent.java │ │ │ │ │ ├── EntityResurrectEvent.java │ │ │ │ │ ├── EntityShootBowEvent.java │ │ │ │ │ ├── EntitySpawnEvent.java │ │ │ │ │ ├── EntitySpellCastEvent.java │ │ │ │ │ ├── EntityTameEvent.java │ │ │ │ │ ├── EntityTargetEvent.java │ │ │ │ │ ├── EntityTargetLivingEntityEvent.java │ │ │ │ │ ├── EntityTeleportEvent.java │ │ │ │ │ ├── EntityToggleGlideEvent.java │ │ │ │ │ ├── EntityToggleSwimEvent.java │ │ │ │ │ ├── EntityTransformEvent.java │ │ │ │ │ ├── EntityUnleashEvent.java │ │ │ │ │ ├── ExpBottleEvent.java │ │ │ │ │ ├── ExplosionPrimeEvent.java │ │ │ │ │ ├── FireworkExplodeEvent.java │ │ │ │ │ ├── FoodLevelChangeEvent.java │ │ │ │ │ ├── HorseJumpEvent.java │ │ │ │ │ ├── ItemDespawnEvent.java │ │ │ │ │ ├── ItemMergeEvent.java │ │ │ │ │ ├── ItemSpawnEvent.java │ │ │ │ │ ├── LingeringPotionSplashEvent.java │ │ │ │ │ ├── PigZapEvent.java │ │ │ │ │ ├── PigZombieAngerEvent.java │ │ │ │ │ ├── PiglinBarterEvent.java │ │ │ │ │ ├── PlayerDeathEvent.java │ │ │ │ │ ├── PlayerLeashEntityEvent.java │ │ │ │ │ ├── PotionSplashEvent.java │ │ │ │ │ ├── ProjectileHitEvent.java │ │ │ │ │ ├── ProjectileLaunchEvent.java │ │ │ │ │ ├── SheepDyeWoolEvent.java │ │ │ │ │ ├── SheepRegrowWoolEvent.java │ │ │ │ │ ├── SlimeSplitEvent.java │ │ │ │ │ ├── SpawnerSpawnEvent.java │ │ │ │ │ ├── StriderTemperatureChangeEvent.java │ │ │ │ │ ├── TrialSpawnerSpawnEvent.java │ │ │ │ │ ├── VillagerAcquireTradeEvent.java │ │ │ │ │ ├── VillagerCareerChangeEvent.java │ │ │ │ │ ├── VillagerReplenishTradeEvent.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── hanging │ │ │ │ │ ├── HangingBreakByEntityEvent.java │ │ │ │ │ ├── HangingBreakEvent.java │ │ │ │ │ ├── HangingEvent.java │ │ │ │ │ ├── HangingPlaceEvent.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── inventory │ │ │ │ │ ├── BrewEvent.java │ │ │ │ │ ├── BrewingStandFuelEvent.java │ │ │ │ │ ├── ClickType.java │ │ │ │ │ ├── CraftItemEvent.java │ │ │ │ │ ├── DragType.java │ │ │ │ │ ├── FurnaceBurnEvent.java │ │ │ │ │ ├── FurnaceExtractEvent.java │ │ │ │ │ ├── FurnaceSmeltEvent.java │ │ │ │ │ ├── FurnaceStartSmeltEvent.java │ │ │ │ │ ├── HopperInventorySearchEvent.java │ │ │ │ │ ├── InventoryAction.java │ │ │ │ │ ├── InventoryClickEvent.java │ │ │ │ │ ├── InventoryCloseEvent.java │ │ │ │ │ ├── InventoryCreativeEvent.java │ │ │ │ │ ├── InventoryDragEvent.java │ │ │ │ │ ├── InventoryEvent.java │ │ │ │ │ ├── InventoryInteractEvent.java │ │ │ │ │ ├── InventoryMoveItemEvent.java │ │ │ │ │ ├── InventoryOpenEvent.java │ │ │ │ │ ├── InventoryPickupItemEvent.java │ │ │ │ │ ├── InventoryType.java │ │ │ │ │ ├── PrepareAnvilEvent.java │ │ │ │ │ ├── PrepareGrindstoneEvent.java │ │ │ │ │ ├── PrepareInventoryResultEvent.java │ │ │ │ │ ├── PrepareItemCraftEvent.java │ │ │ │ │ ├── PrepareSmithingEvent.java │ │ │ │ │ ├── SmithItemEvent.java │ │ │ │ │ ├── TradeSelectEvent.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── package-info.java │ │ │ │ ├── player │ │ │ │ │ ├── AsyncPlayerChatEvent.java │ │ │ │ │ ├── AsyncPlayerChatPreviewEvent.java │ │ │ │ │ ├── AsyncPlayerPreLoginEvent.java │ │ │ │ │ ├── PlayerAdvancementDoneEvent.java │ │ │ │ │ ├── PlayerAnimationEvent.java │ │ │ │ │ ├── PlayerAnimationType.java │ │ │ │ │ ├── PlayerArmorStandManipulateEvent.java │ │ │ │ │ ├── PlayerAttemptPickupItemEvent.java │ │ │ │ │ ├── PlayerBedEnterEvent.java │ │ │ │ │ ├── PlayerBedLeaveEvent.java │ │ │ │ │ ├── PlayerBucketEmptyEvent.java │ │ │ │ │ ├── PlayerBucketEntityEvent.java │ │ │ │ │ ├── PlayerBucketEvent.java │ │ │ │ │ ├── PlayerBucketFillEvent.java │ │ │ │ │ ├── PlayerBucketFishEvent.java │ │ │ │ │ ├── PlayerChangedMainHandEvent.java │ │ │ │ │ ├── PlayerChangedWorldEvent.java │ │ │ │ │ ├── PlayerChannelEvent.java │ │ │ │ │ ├── PlayerChatEvent.java │ │ │ │ │ ├── PlayerChatTabCompleteEvent.java │ │ │ │ │ ├── PlayerCommandPreprocessEvent.java │ │ │ │ │ ├── PlayerCommandSendEvent.java │ │ │ │ │ ├── PlayerDropItemEvent.java │ │ │ │ │ ├── PlayerEditBookEvent.java │ │ │ │ │ ├── PlayerEggThrowEvent.java │ │ │ │ │ ├── PlayerEvent.java │ │ │ │ │ ├── PlayerExpChangeEvent.java │ │ │ │ │ ├── PlayerExpCooldownChangeEvent.java │ │ │ │ │ ├── PlayerFishEvent.java │ │ │ │ │ ├── PlayerGameModeChangeEvent.java │ │ │ │ │ ├── PlayerHarvestBlockEvent.java │ │ │ │ │ ├── PlayerHideEntityEvent.java │ │ │ │ │ ├── PlayerInputEvent.java │ │ │ │ │ ├── PlayerInteractAtEntityEvent.java │ │ │ │ │ ├── PlayerInteractEntityEvent.java │ │ │ │ │ ├── PlayerInteractEvent.java │ │ │ │ │ ├── PlayerItemBreakEvent.java │ │ │ │ │ ├── PlayerItemConsumeEvent.java │ │ │ │ │ ├── PlayerItemDamageEvent.java │ │ │ │ │ ├── PlayerItemHeldEvent.java │ │ │ │ │ ├── PlayerItemMendEvent.java │ │ │ │ │ ├── PlayerJoinEvent.java │ │ │ │ │ ├── PlayerKickEvent.java │ │ │ │ │ ├── PlayerLevelChangeEvent.java │ │ │ │ │ ├── PlayerLinksSendEvent.java │ │ │ │ │ ├── PlayerLocaleChangeEvent.java │ │ │ │ │ ├── PlayerLoginEvent.java │ │ │ │ │ ├── PlayerMoveEvent.java │ │ │ │ │ ├── PlayerPickupArrowEvent.java │ │ │ │ │ ├── PlayerPickupItemEvent.java │ │ │ │ │ ├── PlayerPortalEvent.java │ │ │ │ │ ├── PlayerPreLoginEvent.java │ │ │ │ │ ├── PlayerQuitEvent.java │ │ │ │ │ ├── PlayerRecipeBookClickEvent.java │ │ │ │ │ ├── PlayerRecipeBookSettingsChangeEvent.java │ │ │ │ │ ├── PlayerRecipeDiscoverEvent.java │ │ │ │ │ ├── PlayerRegisterChannelEvent.java │ │ │ │ │ ├── PlayerResourcePackStatusEvent.java │ │ │ │ │ ├── PlayerRespawnEvent.java │ │ │ │ │ ├── PlayerRiptideEvent.java │ │ │ │ │ ├── PlayerShearEntityEvent.java │ │ │ │ │ ├── PlayerShowEntityEvent.java │ │ │ │ │ ├── PlayerSignOpenEvent.java │ │ │ │ │ ├── PlayerSpawnChangeEvent.java │ │ │ │ │ ├── PlayerStatisticIncrementEvent.java │ │ │ │ │ ├── PlayerSwapHandItemsEvent.java │ │ │ │ │ ├── PlayerTakeLecternBookEvent.java │ │ │ │ │ ├── PlayerTeleportEvent.java │ │ │ │ │ ├── PlayerToggleFlightEvent.java │ │ │ │ │ ├── PlayerToggleSneakEvent.java │ │ │ │ │ ├── PlayerToggleSprintEvent.java │ │ │ │ │ ├── PlayerUnleashEntityEvent.java │ │ │ │ │ ├── PlayerUnregisterChannelEvent.java │ │ │ │ │ ├── PlayerVelocityEvent.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── raid │ │ │ │ │ ├── RaidEvent.java │ │ │ │ │ ├── RaidFinishEvent.java │ │ │ │ │ ├── RaidSpawnWaveEvent.java │ │ │ │ │ ├── RaidStopEvent.java │ │ │ │ │ ├── RaidTriggerEvent.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── server │ │ │ │ │ ├── BroadcastMessageEvent.java │ │ │ │ │ ├── MapInitializeEvent.java │ │ │ │ │ ├── PluginDisableEvent.java │ │ │ │ │ ├── PluginEnableEvent.java │ │ │ │ │ ├── PluginEvent.java │ │ │ │ │ ├── RemoteServerCommandEvent.java │ │ │ │ │ ├── ServerCommandEvent.java │ │ │ │ │ ├── ServerEvent.java │ │ │ │ │ ├── ServerListPingEvent.java │ │ │ │ │ ├── ServerLoadEvent.java │ │ │ │ │ ├── ServiceEvent.java │ │ │ │ │ ├── ServiceRegisterEvent.java │ │ │ │ │ ├── ServiceUnregisterEvent.java │ │ │ │ │ ├── TabCompleteEvent.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── vehicle │ │ │ │ │ ├── VehicleBlockCollisionEvent.java │ │ │ │ │ ├── VehicleCollisionEvent.java │ │ │ │ │ ├── VehicleCreateEvent.java │ │ │ │ │ ├── VehicleDamageEvent.java │ │ │ │ │ ├── VehicleDestroyEvent.java │ │ │ │ │ ├── VehicleEnterEvent.java │ │ │ │ │ ├── VehicleEntityCollisionEvent.java │ │ │ │ │ ├── VehicleEvent.java │ │ │ │ │ ├── VehicleExitEvent.java │ │ │ │ │ ├── VehicleMoveEvent.java │ │ │ │ │ ├── VehicleUpdateEvent.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── weather │ │ │ │ │ ├── LightningStrikeEvent.java │ │ │ │ │ ├── ThunderChangeEvent.java │ │ │ │ │ ├── WeatherChangeEvent.java │ │ │ │ │ ├── WeatherEvent.java │ │ │ │ │ └── package-info.java │ │ │ │ └── world │ │ │ │ │ ├── AsyncStructureGenerateEvent.java │ │ │ │ │ ├── AsyncStructureSpawnEvent.java │ │ │ │ │ ├── ChunkEvent.java │ │ │ │ │ ├── ChunkLoadEvent.java │ │ │ │ │ ├── ChunkPopulateEvent.java │ │ │ │ │ ├── ChunkUnloadEvent.java │ │ │ │ │ ├── EntitiesLoadEvent.java │ │ │ │ │ ├── EntitiesUnloadEvent.java │ │ │ │ │ ├── GenericGameEvent.java │ │ │ │ │ ├── LootGenerateEvent.java │ │ │ │ │ ├── PortalCreateEvent.java │ │ │ │ │ ├── SpawnChangeEvent.java │ │ │ │ │ ├── StructureGrowEvent.java │ │ │ │ │ ├── TimeSkipEvent.java │ │ │ │ │ ├── WorldEvent.java │ │ │ │ │ ├── WorldInitEvent.java │ │ │ │ │ ├── WorldLoadEvent.java │ │ │ │ │ ├── WorldSaveEvent.java │ │ │ │ │ ├── WorldUnloadEvent.java │ │ │ │ │ └── package-info.java │ │ │ ├── generator │ │ │ │ ├── BiomeParameterPoint.java │ │ │ │ ├── BiomeProvider.java │ │ │ │ ├── BlockPopulator.java │ │ │ │ ├── ChunkGenerator.java │ │ │ │ ├── LimitedRegion.java │ │ │ │ ├── WorldInfo.java │ │ │ │ ├── package-info.java │ │ │ │ └── structure │ │ │ │ │ ├── GeneratedStructure.java │ │ │ │ │ ├── Structure.java │ │ │ │ │ ├── StructurePiece.java │ │ │ │ │ ├── StructureType.java │ │ │ │ │ └── package-info.java │ │ │ ├── help │ │ │ │ ├── GenericCommandHelpTopic.java │ │ │ │ ├── HelpMap.java │ │ │ │ ├── HelpTopic.java │ │ │ │ ├── HelpTopicComparator.java │ │ │ │ ├── HelpTopicFactory.java │ │ │ │ ├── IndexHelpTopic.java │ │ │ │ └── package-info.java │ │ │ ├── inventory │ │ │ │ ├── AbstractHorseInventory.java │ │ │ │ ├── AnvilInventory.java │ │ │ │ ├── ArmoredHorseInventory.java │ │ │ │ ├── BeaconInventory.java │ │ │ │ ├── BlastingRecipe.java │ │ │ │ ├── BlockInventoryHolder.java │ │ │ │ ├── BrewerInventory.java │ │ │ │ ├── CampfireRecipe.java │ │ │ │ ├── CartographyInventory.java │ │ │ │ ├── ChiseledBookshelfInventory.java │ │ │ │ ├── ComplexRecipe.java │ │ │ │ ├── CookingRecipe.java │ │ │ │ ├── CrafterInventory.java │ │ │ │ ├── CraftingInventory.java │ │ │ │ ├── CraftingRecipe.java │ │ │ │ ├── CreativeCategory.java │ │ │ │ ├── DecoratedPotInventory.java │ │ │ │ ├── DoubleChestInventory.java │ │ │ │ ├── EmptyRecipeChoice.java │ │ │ │ ├── EnchantingInventory.java │ │ │ │ ├── EntityEquipment.java │ │ │ │ ├── EquipmentSlot.java │ │ │ │ ├── EquipmentSlotGroup.java │ │ │ │ ├── FurnaceInventory.java │ │ │ │ ├── FurnaceRecipe.java │ │ │ │ ├── GrindstoneInventory.java │ │ │ │ ├── HorseInventory.java │ │ │ │ ├── Inventory.java │ │ │ │ ├── InventoryHolder.java │ │ │ │ ├── InventoryView.java │ │ │ │ ├── ItemCraftResult.java │ │ │ │ ├── ItemFactory.java │ │ │ │ ├── ItemFlag.java │ │ │ │ ├── ItemRarity.java │ │ │ │ ├── ItemStack.java │ │ │ │ ├── ItemType.java │ │ │ │ ├── JukeboxInventory.java │ │ │ │ ├── LecternInventory.java │ │ │ │ ├── LlamaInventory.java │ │ │ │ ├── LoomInventory.java │ │ │ │ ├── MainHand.java │ │ │ │ ├── MenuType.java │ │ │ │ ├── Merchant.java │ │ │ │ ├── MerchantInventory.java │ │ │ │ ├── MerchantRecipe.java │ │ │ │ ├── PlayerInventory.java │ │ │ │ ├── Recipe.java │ │ │ │ ├── RecipeChoice.java │ │ │ │ ├── SaddledHorseInventory.java │ │ │ │ ├── ShapedRecipe.java │ │ │ │ ├── ShapelessRecipe.java │ │ │ │ ├── SmithingInventory.java │ │ │ │ ├── SmithingRecipe.java │ │ │ │ ├── SmithingTransformRecipe.java │ │ │ │ ├── SmithingTrimRecipe.java │ │ │ │ ├── SmokingRecipe.java │ │ │ │ ├── StonecutterInventory.java │ │ │ │ ├── StonecuttingRecipe.java │ │ │ │ ├── TransmuteRecipe.java │ │ │ │ ├── meta │ │ │ │ │ ├── ArmorMeta.java │ │ │ │ │ ├── AxolotlBucketMeta.java │ │ │ │ │ ├── BannerMeta.java │ │ │ │ │ ├── BlockDataMeta.java │ │ │ │ │ ├── BlockStateMeta.java │ │ │ │ │ ├── BookMeta.java │ │ │ │ │ ├── BundleMeta.java │ │ │ │ │ ├── ColorableArmorMeta.java │ │ │ │ │ ├── CompassMeta.java │ │ │ │ │ ├── CrossbowMeta.java │ │ │ │ │ ├── Damageable.java │ │ │ │ │ ├── EnchantmentStorageMeta.java │ │ │ │ │ ├── FireworkEffectMeta.java │ │ │ │ │ ├── FireworkMeta.java │ │ │ │ │ ├── ItemMeta.java │ │ │ │ │ ├── KnowledgeBookMeta.java │ │ │ │ │ ├── LeatherArmorMeta.java │ │ │ │ │ ├── MapMeta.java │ │ │ │ │ ├── MusicInstrumentMeta.java │ │ │ │ │ ├── OminousBottleMeta.java │ │ │ │ │ ├── PotionMeta.java │ │ │ │ │ ├── Repairable.java │ │ │ │ │ ├── ShieldMeta.java │ │ │ │ │ ├── SkullMeta.java │ │ │ │ │ ├── SpawnEggMeta.java │ │ │ │ │ ├── SuspiciousStewMeta.java │ │ │ │ │ ├── TropicalFishBucketMeta.java │ │ │ │ │ ├── WritableBookMeta.java │ │ │ │ │ ├── components │ │ │ │ │ │ ├── CustomModelDataComponent.java │ │ │ │ │ │ ├── EquippableComponent.java │ │ │ │ │ │ ├── FoodComponent.java │ │ │ │ │ │ ├── JukeboxPlayableComponent.java │ │ │ │ │ │ ├── ToolComponent.java │ │ │ │ │ │ ├── UseCooldownComponent.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── package-info.java │ │ │ │ │ ├── tags │ │ │ │ │ │ ├── CustomItemTagContainer.java │ │ │ │ │ │ ├── ItemTagAdapterContext.java │ │ │ │ │ │ ├── ItemTagType.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ └── trim │ │ │ │ │ │ ├── ArmorTrim.java │ │ │ │ │ │ ├── TrimMaterial.java │ │ │ │ │ │ ├── TrimPattern.java │ │ │ │ │ │ └── package-info.java │ │ │ │ ├── package-info.java │ │ │ │ ├── recipe │ │ │ │ │ ├── CookingBookCategory.java │ │ │ │ │ ├── CraftingBookCategory.java │ │ │ │ │ └── package-info.java │ │ │ │ └── view │ │ │ │ │ ├── AnvilView.java │ │ │ │ │ ├── BeaconView.java │ │ │ │ │ ├── BrewingStandView.java │ │ │ │ │ ├── CrafterView.java │ │ │ │ │ ├── EnchantmentView.java │ │ │ │ │ ├── FurnaceView.java │ │ │ │ │ ├── LecternView.java │ │ │ │ │ ├── LoomView.java │ │ │ │ │ ├── MerchantView.java │ │ │ │ │ ├── StonecutterView.java │ │ │ │ │ ├── builder │ │ │ │ │ ├── InventoryViewBuilder.java │ │ │ │ │ ├── LocationInventoryViewBuilder.java │ │ │ │ │ ├── MerchantInventoryViewBuilder.java │ │ │ │ │ └── package-info.java │ │ │ │ │ └── package-info.java │ │ │ ├── loot │ │ │ │ ├── LootContext.java │ │ │ │ ├── LootTable.java │ │ │ │ ├── LootTables.java │ │ │ │ ├── Lootable.java │ │ │ │ └── package-info.java │ │ │ ├── map │ │ │ │ ├── MapCanvas.java │ │ │ │ ├── MapCursor.java │ │ │ │ ├── MapCursorCollection.java │ │ │ │ ├── MapFont.java │ │ │ │ ├── MapPalette.java │ │ │ │ ├── MapRenderer.java │ │ │ │ ├── MapView.java │ │ │ │ ├── MinecraftFont.java │ │ │ │ └── package-info.java │ │ │ ├── material │ │ │ │ ├── Attachable.java │ │ │ │ ├── Banner.java │ │ │ │ ├── Bed.java │ │ │ │ ├── Button.java │ │ │ │ ├── Cake.java │ │ │ │ ├── Cauldron.java │ │ │ │ ├── Chest.java │ │ │ │ ├── Coal.java │ │ │ │ ├── CocoaPlant.java │ │ │ │ ├── Colorable.java │ │ │ │ ├── Command.java │ │ │ │ ├── Comparator.java │ │ │ │ ├── Crops.java │ │ │ │ ├── DetectorRail.java │ │ │ │ ├── Diode.java │ │ │ │ ├── Directional.java │ │ │ │ ├── DirectionalContainer.java │ │ │ │ ├── Dispenser.java │ │ │ │ ├── Door.java │ │ │ │ ├── Dye.java │ │ │ │ ├── EnderChest.java │ │ │ │ ├── ExtendedRails.java │ │ │ │ ├── FlowerPot.java │ │ │ │ ├── Furnace.java │ │ │ │ ├── FurnaceAndDispenser.java │ │ │ │ ├── Gate.java │ │ │ │ ├── Hopper.java │ │ │ │ ├── Ladder.java │ │ │ │ ├── Leaves.java │ │ │ │ ├── Lever.java │ │ │ │ ├── LongGrass.java │ │ │ │ ├── MaterialData.java │ │ │ │ ├── MonsterEggs.java │ │ │ │ ├── Mushroom.java │ │ │ │ ├── NetherWarts.java │ │ │ │ ├── Observer.java │ │ │ │ ├── Openable.java │ │ │ │ ├── PistonBaseMaterial.java │ │ │ │ ├── PistonExtensionMaterial.java │ │ │ │ ├── PoweredRail.java │ │ │ │ ├── PressurePlate.java │ │ │ │ ├── PressureSensor.java │ │ │ │ ├── Pumpkin.java │ │ │ │ ├── Rails.java │ │ │ │ ├── Redstone.java │ │ │ │ ├── RedstoneTorch.java │ │ │ │ ├── RedstoneWire.java │ │ │ │ ├── Sandstone.java │ │ │ │ ├── Sapling.java │ │ │ │ ├── Sign.java │ │ │ │ ├── SimpleAttachableMaterialData.java │ │ │ │ ├── Skull.java │ │ │ │ ├── SmoothBrick.java │ │ │ │ ├── SpawnEgg.java │ │ │ │ ├── Stairs.java │ │ │ │ ├── Step.java │ │ │ │ ├── TexturedMaterial.java │ │ │ │ ├── Torch.java │ │ │ │ ├── TrapDoor.java │ │ │ │ ├── Tree.java │ │ │ │ ├── Tripwire.java │ │ │ │ ├── TripwireHook.java │ │ │ │ ├── Vine.java │ │ │ │ ├── Wood.java │ │ │ │ ├── WoodenStep.java │ │ │ │ ├── Wool.java │ │ │ │ ├── package-info.java │ │ │ │ └── types │ │ │ │ │ ├── MushroomBlockTexture.java │ │ │ │ │ └── package-info.java │ │ │ ├── metadata │ │ │ │ ├── FixedMetadataValue.java │ │ │ │ ├── LazyMetadataValue.java │ │ │ │ ├── MetadataConversionException.java │ │ │ │ ├── MetadataEvaluationException.java │ │ │ │ ├── MetadataStore.java │ │ │ │ ├── MetadataStoreBase.java │ │ │ │ ├── MetadataValue.java │ │ │ │ ├── MetadataValueAdapter.java │ │ │ │ ├── Metadatable.java │ │ │ │ └── package-info.java │ │ │ ├── package-info.java │ │ │ ├── packs │ │ │ │ ├── DataPack.java │ │ │ │ ├── DataPackManager.java │ │ │ │ ├── ResourcePack.java │ │ │ │ └── package-info.java │ │ │ ├── permissions │ │ │ │ ├── Permissible.java │ │ │ │ ├── PermissibleBase.java │ │ │ │ ├── Permission.java │ │ │ │ ├── PermissionAttachment.java │ │ │ │ ├── PermissionAttachmentInfo.java │ │ │ │ ├── PermissionDefault.java │ │ │ │ ├── PermissionRemovedExecutor.java │ │ │ │ ├── ServerOperator.java │ │ │ │ └── package-info.java │ │ │ ├── persistence │ │ │ │ ├── ListPersistentDataType.java │ │ │ │ ├── ListPersistentDataTypeProvider.java │ │ │ │ ├── PersistentDataAdapterContext.java │ │ │ │ ├── PersistentDataContainer.java │ │ │ │ ├── PersistentDataHolder.java │ │ │ │ ├── PersistentDataType.java │ │ │ │ └── package-info.java │ │ │ ├── plugin │ │ │ │ ├── AuthorNagException.java │ │ │ │ ├── EventExecutor.java │ │ │ │ ├── IllegalPluginAccessException.java │ │ │ │ ├── InvalidDescriptionException.java │ │ │ │ ├── InvalidPluginException.java │ │ │ │ ├── Plugin.java │ │ │ │ ├── PluginAwareness.java │ │ │ │ ├── PluginBase.java │ │ │ │ ├── PluginDescriptionFile.java │ │ │ │ ├── PluginDescriptionResolver.java │ │ │ │ ├── PluginLoadOrder.java │ │ │ │ ├── PluginLoader.java │ │ │ │ ├── PluginLogger.java │ │ │ │ ├── PluginManager.java │ │ │ │ ├── RegisteredListener.java │ │ │ │ ├── RegisteredServiceProvider.java │ │ │ │ ├── ServicePriority.java │ │ │ │ ├── ServicesManager.java │ │ │ │ ├── SimplePluginManager.java │ │ │ │ ├── SimpleServicesManager.java │ │ │ │ ├── TimedRegisteredListener.java │ │ │ │ ├── UnknownDependencyException.java │ │ │ │ ├── java │ │ │ │ │ ├── JavaPlugin.java │ │ │ │ │ ├── JavaPluginLoader.java │ │ │ │ │ ├── LibraryLoader.java │ │ │ │ │ ├── PluginClassLoader.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── messaging │ │ │ │ │ ├── ChannelNameTooLongException.java │ │ │ │ │ ├── ChannelNotRegisteredException.java │ │ │ │ │ ├── MessageTooLargeException.java │ │ │ │ │ ├── Messenger.java │ │ │ │ │ ├── PluginChannelDirection.java │ │ │ │ │ ├── PluginMessageListener.java │ │ │ │ │ ├── PluginMessageListenerRegistration.java │ │ │ │ │ ├── PluginMessageRecipient.java │ │ │ │ │ ├── ReservedChannelException.java │ │ │ │ │ ├── StandardMessenger.java │ │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ ├── potion │ │ │ │ ├── PotionBrewer.java │ │ │ │ ├── PotionData.java │ │ │ │ ├── PotionEffect.java │ │ │ │ ├── PotionEffectType.java │ │ │ │ ├── PotionEffectTypeCategory.java │ │ │ │ ├── PotionEffectTypeWrapper.java │ │ │ │ ├── PotionType.java │ │ │ │ └── package-info.java │ │ │ ├── profile │ │ │ │ ├── PlayerProfile.java │ │ │ │ ├── PlayerTextures.java │ │ │ │ └── package-info.java │ │ │ ├── projectiles │ │ │ │ ├── BlockProjectileSource.java │ │ │ │ ├── ProjectileSource.java │ │ │ │ └── package-info.java │ │ │ ├── scheduler │ │ │ │ ├── BukkitRunnable.java │ │ │ │ ├── BukkitScheduler.java │ │ │ │ ├── BukkitTask.java │ │ │ │ ├── BukkitWorker.java │ │ │ │ └── package-info.java │ │ │ ├── scoreboard │ │ │ │ ├── Criteria.java │ │ │ │ ├── Criterias.java │ │ │ │ ├── DisplaySlot.java │ │ │ │ ├── NameTagVisibility.java │ │ │ │ ├── Objective.java │ │ │ │ ├── RenderType.java │ │ │ │ ├── Score.java │ │ │ │ ├── Scoreboard.java │ │ │ │ ├── ScoreboardManager.java │ │ │ │ ├── Team.java │ │ │ │ └── package-info.java │ │ │ ├── spawner │ │ │ │ ├── BaseSpawner.java │ │ │ │ ├── Spawner.java │ │ │ │ ├── TrialSpawnerConfiguration.java │ │ │ │ └── package-info.java │ │ │ ├── structure │ │ │ │ ├── Palette.java │ │ │ │ ├── Structure.java │ │ │ │ ├── StructureManager.java │ │ │ │ └── package-info.java │ │ │ ├── tag │ │ │ │ ├── DamageTypeTags.java │ │ │ │ └── package-info.java │ │ │ └── util │ │ │ │ ├── BiomeSearchResult.java │ │ │ │ ├── BlockIterator.java │ │ │ │ ├── BlockTransformer.java │ │ │ │ ├── BlockVector.java │ │ │ │ ├── BoundingBox.java │ │ │ │ ├── CachedServerIcon.java │ │ │ │ ├── ChatPaginator.java │ │ │ │ ├── Consumer.java │ │ │ │ ├── EntityTransformer.java │ │ │ │ ├── EulerAngle.java │ │ │ │ ├── FileUtil.java │ │ │ │ ├── NumberConversions.java │ │ │ │ ├── OldEnum.java │ │ │ │ ├── RayTraceResult.java │ │ │ │ ├── StringUtil.java │ │ │ │ ├── StructureSearchResult.java │ │ │ │ ├── Transformation.java │ │ │ │ ├── Vector.java │ │ │ │ ├── VoxelShape.java │ │ │ │ ├── io │ │ │ │ ├── BukkitObjectInputStream.java │ │ │ │ ├── BukkitObjectOutputStream.java │ │ │ │ ├── Wrapper.java │ │ │ │ └── package-info.java │ │ │ │ ├── noise │ │ │ │ ├── NoiseGenerator.java │ │ │ │ ├── OctaveGenerator.java │ │ │ │ ├── PerlinNoiseGenerator.java │ │ │ │ ├── PerlinOctaveGenerator.java │ │ │ │ ├── SimplexNoiseGenerator.java │ │ │ │ ├── SimplexOctaveGenerator.java │ │ │ │ └── package-info.java │ │ │ │ ├── package-info.java │ │ │ │ └── permissions │ │ │ │ ├── BroadcastPermissions.java │ │ │ │ ├── CommandPermissions.java │ │ │ │ ├── DefaultPermissions.java │ │ │ │ └── package-info.java │ │ │ └── spigotmc │ │ │ ├── CustomTimingsHandler.java │ │ │ ├── event │ │ │ └── player │ │ │ │ ├── PlayerSpawnLocationEvent.java │ │ │ │ └── package-info.java │ │ │ └── package-info.java │ └── javadoc │ │ ├── org │ │ └── bukkit │ │ │ └── plugin │ │ │ └── doc-files │ │ │ └── permissions-example_plugin.yml │ │ └── overview.html │ └── test │ ├── java │ ├── com │ │ └── destroystokyo │ │ │ └── paper │ │ │ └── MaterialTagsTest.java │ ├── io │ │ └── papermc │ │ │ └── paper │ │ │ ├── EntityTagsTest.java │ │ │ ├── TestServerBuildInfo.java │ │ │ ├── adventure │ │ │ └── KeyTest.java │ │ │ ├── registry │ │ │ └── TestRegistryAccess.java │ │ │ ├── testing │ │ │ └── EmptyTag.java │ │ │ └── util │ │ │ └── TickTest.java │ └── org │ │ └── bukkit │ │ ├── AnnotationTest.java │ │ ├── ChatColorTest.java │ │ ├── ChatPaginatorTest.java │ │ ├── CoalTypeTest.java │ │ ├── ColorTest.java │ │ ├── CropStateTest.java │ │ ├── DeprecatedTest.java │ │ ├── DifficultyTest.java │ │ ├── DyeColorTest.java │ │ ├── EffectTest.java │ │ ├── GameModeTest.java │ │ ├── GrassSpeciesTest.java │ │ ├── LastChatColorTest.java │ │ ├── LocationTest.java │ │ ├── MaterialTest.java │ │ ├── NamespacedKeyTest.java │ │ ├── NoteTest.java │ │ ├── TreeSpeciesTest.java │ │ ├── WorldTypeTest.java │ │ ├── configuration │ │ ├── ConfigurationSectionTest.java │ │ ├── ConfigurationTest.java │ │ ├── MemoryConfigurationTest.java │ │ ├── MemorySectionTest.java │ │ └── file │ │ │ ├── FileConfigurationTest.java │ │ │ └── YamlConfigurationTest.java │ │ ├── conversations │ │ ├── ConversationContextTest.java │ │ ├── ConversationTest.java │ │ ├── FakeConversable.java │ │ └── ValidatingPromptTest.java │ │ ├── event │ │ ├── PlayerChatTabCompleteEventTest.java │ │ └── TestEvent.java │ │ ├── materials │ │ └── MaterialDataTest.java │ │ ├── metadata │ │ ├── FixedMetadataValueTest.java │ │ ├── LazyMetadataValueTest.java │ │ ├── MetadataConversionTest.java │ │ ├── MetadataStoreTest.java │ │ └── MetadataValueAdapterTest.java │ │ ├── plugin │ │ ├── TestPlugin.java │ │ ├── TimedRegisteredListenerTest.java │ │ └── messaging │ │ │ ├── StandardMessengerTest.java │ │ │ └── TestMessageListener.java │ │ ├── scoreboard │ │ └── CriteriaTest.java │ │ ├── support │ │ ├── AbstractTestingBase.java │ │ ├── MatcherAssert.java │ │ ├── TestServer.java │ │ ├── provider │ │ │ ├── ClassNodeArgumentProvider.java │ │ │ └── ClassReaderArgumentProvider.java │ │ └── test │ │ │ ├── ClassNodeTest.java │ │ │ └── ClassReaderTest.java │ │ └── util │ │ ├── BoundingBoxTest.java │ │ ├── StringUtilStartsWithTest.java │ │ ├── StringUtilTest.java │ │ ├── VectorTest.java │ │ └── io │ │ └── BukkitObjectStreamTest.java │ └── resources │ └── META-INF │ └── services │ ├── io.papermc.paper.ServerBuildInfo │ └── io.papermc.paper.registry.RegistryAccess ├── paper-generator ├── .editorconfig ├── build.gradle.kts ├── src │ ├── main │ │ └── java │ │ │ └── io │ │ │ └── papermc │ │ │ └── generator │ │ │ ├── Generators.java │ │ │ ├── Main.java │ │ │ ├── Rewriters.java │ │ │ ├── registry │ │ │ ├── RegistryBootstrapper.java │ │ │ ├── RegistryEntries.java │ │ │ ├── RegistryEntry.java │ │ │ └── RegistryKeyField.java │ │ │ ├── rewriter │ │ │ ├── registration │ │ │ │ ├── PaperPatternSourceSetRewriter.java │ │ │ │ ├── PatternSourceSetRewriter.java │ │ │ │ └── RewriterHolder.java │ │ │ ├── types │ │ │ │ ├── Types.java │ │ │ │ ├── registry │ │ │ │ │ ├── EnumRegistryRewriter.java │ │ │ │ │ ├── FeatureFlagRewriter.java │ │ │ │ │ ├── PaperFeatureFlagMapping.java │ │ │ │ │ ├── PaperRegistriesRewriter.java │ │ │ │ │ ├── RegistryEventsRewriter.java │ │ │ │ │ ├── RegistryFieldRewriter.java │ │ │ │ │ ├── RegistryTagRewriter.java │ │ │ │ │ └── TagRewriter.java │ │ │ │ └── simple │ │ │ │ │ ├── BlockTypeRewriter.java │ │ │ │ │ ├── CraftBlockDataMapping.java │ │ │ │ │ ├── CraftBlockEntityStateMapping.java │ │ │ │ │ ├── CraftPotionUtilRewriter.java │ │ │ │ │ ├── EntityTypeRewriter.java │ │ │ │ │ ├── ItemTypeRewriter.java │ │ │ │ │ ├── MapPaletteRewriter.java │ │ │ │ │ ├── MaterialRewriter.java │ │ │ │ │ ├── MemoryKeyRewriter.java │ │ │ │ │ ├── StatisticRewriter.java │ │ │ │ │ ├── package-info.java │ │ │ │ │ └── trial │ │ │ │ │ ├── DataComponentTypesRewriter.java │ │ │ │ │ ├── ProtoConstant.java │ │ │ │ │ ├── VillagerProfessionRewriter.java │ │ │ │ │ └── package-info.java │ │ │ └── utils │ │ │ │ ├── Annotations.java │ │ │ │ └── ScanOldGeneratedSourceCode.java │ │ │ ├── types │ │ │ ├── OverriddenClassGenerator.java │ │ │ ├── SimpleEnumGenerator.java │ │ │ ├── SimpleGenerator.java │ │ │ ├── SourceGenerator.java │ │ │ ├── Types.java │ │ │ ├── craftblockdata │ │ │ │ ├── CraftBlockDataBootstrapper.java │ │ │ │ ├── CraftBlockDataGenerator.java │ │ │ │ └── property │ │ │ │ │ ├── EnumPropertyWriter.java │ │ │ │ │ ├── IntegerPropertyWriter.java │ │ │ │ │ ├── PropertyMaker.java │ │ │ │ │ ├── PropertyWriter.java │ │ │ │ │ ├── appender │ │ │ │ │ ├── AppenderBase.java │ │ │ │ │ ├── EnumValuesAppender.java │ │ │ │ │ ├── PropertyAppender.java │ │ │ │ │ └── PropertyAppenders.java │ │ │ │ │ ├── converter │ │ │ │ │ ├── Converter.java │ │ │ │ │ ├── ConverterBase.java │ │ │ │ │ ├── Converters.java │ │ │ │ │ ├── NoteConverter.java │ │ │ │ │ └── RotationConverter.java │ │ │ │ │ └── holder │ │ │ │ │ ├── DataHolderType.java │ │ │ │ │ ├── DataPropertyMaker.java │ │ │ │ │ ├── DataPropertyWriter.java │ │ │ │ │ ├── DataPropertyWriterBase.java │ │ │ │ │ ├── VirtualDataPropertyWriter.java │ │ │ │ │ ├── VirtualField.java │ │ │ │ │ ├── appender │ │ │ │ │ ├── ArrayAppender.java │ │ │ │ │ ├── DataAppender.java │ │ │ │ │ ├── DataAppenders.java │ │ │ │ │ ├── ListAppender.java │ │ │ │ │ └── MapAppender.java │ │ │ │ │ └── converter │ │ │ │ │ ├── ArrayConverter.java │ │ │ │ │ ├── DataConverter.java │ │ │ │ │ ├── DataConverters.java │ │ │ │ │ ├── ListConverter.java │ │ │ │ │ └── MapConverter.java │ │ │ ├── goal │ │ │ │ ├── MobGoalGenerator.java │ │ │ │ └── MobGoalNames.java │ │ │ └── registry │ │ │ │ ├── GeneratedKeyType.java │ │ │ │ └── GeneratedTagKeyType.java │ │ │ └── utils │ │ │ ├── Annotations.java │ │ │ ├── BlockEntityMapping.java │ │ │ ├── BlockStateMapping.java │ │ │ ├── ClassHelper.java │ │ │ ├── CommonVariable.java │ │ │ ├── Formatting.java │ │ │ ├── Javadocs.java │ │ │ ├── NamingManager.java │ │ │ └── experimental │ │ │ ├── CollectingContext.java │ │ │ ├── ExperimentalCollector.java │ │ │ ├── FlagHolder.java │ │ │ ├── FlagHolders.java │ │ │ └── SingleFlagHolder.java │ └── test │ │ └── java │ │ └── io │ │ └── papermc │ │ └── generator │ │ ├── BlockStatePropertyTest.java │ │ ├── MobGoalConverterTest.java │ │ └── RegistryMigrationTest.java └── wideners.at ├── paper-server ├── LGPL.txt ├── LICENCE.txt ├── build.gradle.kts ├── patches │ ├── features │ │ ├── 0001-Optimize-Network-Manager-and-add-advanced-packet-sup.patch │ │ ├── 0002-Allow-Saving-of-Oversized-Chunks.patch │ │ ├── 0003-Entity-Activation-Range-2.0.patch │ │ ├── 0004-Anti-Xray.patch │ │ ├── 0005-Use-Velocity-compression-and-cipher-natives.patch │ │ ├── 0006-Optimize-Collision-to-not-load-chunks.patch │ │ ├── 0007-Optimize-GoalSelector-Goal.Flag-Set-operations.patch │ │ ├── 0008-Optimize-Voxel-Shape-Merging.patch │ │ ├── 0009-Handle-Oversized-block-entities-in-chunks.patch │ │ ├── 0010-optimize-dirt-and-snow-spreading.patch │ │ ├── 0011-Optimise-getChunkAt-calls-for-loaded-chunks.patch │ │ ├── 0012-Optimize-Bit-Operations-by-inlining.patch │ │ ├── 0013-Remove-streams-from-hot-code.patch │ │ ├── 0014-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch │ │ ├── 0015-Moonrise-optimisation-patches.patch │ │ ├── 0016-Fix-entity-tracker-desync-when-new-players-are-added.patch │ │ ├── 0017-Eigencraft-redstone-implementation.patch │ │ ├── 0018-Add-Alternate-Current-redstone-implementation.patch │ │ ├── 0019-Improve-exact-choice-recipe-ingredients.patch │ │ ├── 0020-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch │ │ ├── 0021-Entity-load-save-limit-per-chunk.patch │ │ ├── 0022-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch │ │ ├── 0023-Incremental-chunk-and-player-saving.patch │ │ ├── 0024-Optimise-general-POI-access.patch │ │ ├── 0025-Optional-per-player-mob-spawns.patch │ │ ├── 0026-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch │ │ ├── 0027-Optimize-Hoppers.patch │ │ ├── 0028-Flush-regionfiles-on-save-configuration-option.patch │ │ └── 0029-Optimise-collision-checking-in-player-move-packet-ha.patch │ ├── resources │ │ └── data │ │ │ └── minecraft │ │ │ ├── loot_table │ │ │ └── chests │ │ │ │ └── trial_chambers │ │ │ │ └── intersection_barrel.json.patch │ │ │ └── worldgen │ │ │ └── noise_settings │ │ │ ├── amplified.json.patch │ │ │ ├── caves.json.patch │ │ │ ├── large_biomes.json.patch │ │ │ ├── nether.json.patch │ │ │ └── overworld.json.patch │ ├── sources │ │ ├── ca │ │ │ └── spottedleaf │ │ │ │ └── moonrise │ │ │ │ └── paper │ │ │ │ ├── PaperHooks.java.patch │ │ │ │ └── util │ │ │ │ └── BaseChunkSystemHooks.java.patch │ │ ├── com │ │ │ └── mojang │ │ │ │ ├── authlib │ │ │ │ └── yggdrasil │ │ │ │ │ └── YggdrasilGameProfileRepository.java.patch │ │ │ │ ├── brigadier │ │ │ │ ├── CommandDispatcher.java.patch │ │ │ │ ├── builder │ │ │ │ │ └── ArgumentBuilder.java.patch │ │ │ │ ├── exceptions │ │ │ │ │ └── CommandSyntaxException.java.patch │ │ │ │ ├── suggestion │ │ │ │ │ ├── IntegerSuggestion.java.patch │ │ │ │ │ └── Suggestion.java.patch │ │ │ │ └── tree │ │ │ │ │ ├── CommandNode.java.patch │ │ │ │ │ └── LiteralCommandNode.java.patch │ │ │ │ ├── datafixers │ │ │ │ ├── DataFixerBuilder.java.patch │ │ │ │ └── util │ │ │ │ │ └── Either.java.patch │ │ │ │ ├── logging │ │ │ │ └── LogUtils.java.patch │ │ │ │ ├── math │ │ │ │ └── OctahedralGroup.java.patch │ │ │ │ └── serialization │ │ │ │ └── Dynamic.java.patch │ │ ├── io │ │ │ └── papermc │ │ │ │ └── paper │ │ │ │ └── FeatureHooks.java.patch │ │ └── net │ │ │ ├── minecraft │ │ │ ├── ChatFormatting.java.patch │ │ │ ├── CrashReport.java.patch │ │ │ ├── CrashReportCategory.java.patch │ │ │ ├── Util.java.patch │ │ │ ├── advancements │ │ │ │ ├── AdvancementHolder.java.patch │ │ │ │ ├── AdvancementTree.java.patch │ │ │ │ ├── DisplayInfo.java.patch │ │ │ │ └── critereon │ │ │ │ │ ├── LocationPredicate.java.patch │ │ │ │ │ └── SimpleCriterionTrigger.java.patch │ │ │ ├── commands │ │ │ │ ├── CommandSource.java.patch │ │ │ │ ├── CommandSourceStack.java.patch │ │ │ │ ├── Commands.java.patch │ │ │ │ └── arguments │ │ │ │ │ ├── EntityArgument.java.patch │ │ │ │ │ ├── MessageArgument.java.patch │ │ │ │ │ ├── blocks │ │ │ │ │ └── BlockStateParser.java.patch │ │ │ │ │ └── selector │ │ │ │ │ ├── EntitySelector.java.patch │ │ │ │ │ ├── EntitySelectorParser.java.patch │ │ │ │ │ └── SelectorPattern.java.patch │ │ │ ├── core │ │ │ │ ├── BlockPos.java.patch │ │ │ │ ├── ClientAsset.java.patch │ │ │ │ ├── Direction.java.patch │ │ │ │ ├── Holder.java.patch │ │ │ │ ├── MappedRegistry.java.patch │ │ │ │ ├── Rotations.java.patch │ │ │ │ ├── Vec3i.java.patch │ │ │ │ ├── cauldron │ │ │ │ │ └── CauldronInteraction.java.patch │ │ │ │ ├── component │ │ │ │ │ ├── DataComponentPatch.java.patch │ │ │ │ │ └── DataComponents.java.patch │ │ │ │ ├── dispenser │ │ │ │ │ ├── BoatDispenseItemBehavior.java.patch │ │ │ │ │ ├── DefaultDispenseItemBehavior.java.patch │ │ │ │ │ ├── DispenseItemBehavior.java.patch │ │ │ │ │ ├── EquipmentDispenseItemBehavior.java.patch │ │ │ │ │ ├── MinecartDispenseItemBehavior.java.patch │ │ │ │ │ ├── ProjectileDispenseBehavior.java.patch │ │ │ │ │ ├── ShearsDispenseItemBehavior.java.patch │ │ │ │ │ └── ShulkerBoxDispenseBehavior.java.patch │ │ │ │ └── registries │ │ │ │ │ └── BuiltInRegistries.java.patch │ │ │ ├── data │ │ │ │ └── loot │ │ │ │ │ └── packs │ │ │ │ │ └── VanillaChestLoot.java.patch │ │ │ ├── gametest │ │ │ │ └── framework │ │ │ │ │ ├── GameTestInfo.java.patch │ │ │ │ │ ├── GameTestMainUtil.java.patch │ │ │ │ │ ├── GameTestServer.java.patch │ │ │ │ │ ├── StructureUtils.java.patch │ │ │ │ │ └── TestEnvironmentDefinition.java.patch │ │ │ ├── nbt │ │ │ │ ├── ByteArrayTag.java.patch │ │ │ │ ├── CompoundTag.java.patch │ │ │ │ ├── IntArrayTag.java.patch │ │ │ │ ├── NbtIo.java.patch │ │ │ │ └── SnbtGrammar.java.patch │ │ │ ├── network │ │ │ │ ├── Connection.java.patch │ │ │ │ ├── FriendlyByteBuf.java.patch │ │ │ │ ├── PacketEncoder.java.patch │ │ │ │ ├── VarInt.java.patch │ │ │ │ ├── Varint21FrameDecoder.java.patch │ │ │ │ ├── chat │ │ │ │ │ ├── ChatDecorator.java.patch │ │ │ │ │ ├── Component.java.patch │ │ │ │ │ ├── ComponentSerialization.java.patch │ │ │ │ │ ├── ComponentUtils.java.patch │ │ │ │ │ ├── MessageSignature.java.patch │ │ │ │ │ ├── MutableComponent.java.patch │ │ │ │ │ ├── OutgoingChatMessage.java.patch │ │ │ │ │ ├── PlayerChatMessage.java.patch │ │ │ │ │ ├── SignedMessageChain.java.patch │ │ │ │ │ ├── TextColor.java.patch │ │ │ │ │ └── contents │ │ │ │ │ │ ├── NbtContents.java.patch │ │ │ │ │ │ ├── SelectorContents.java.patch │ │ │ │ │ │ └── TranslatableContents.java.patch │ │ │ │ ├── codec │ │ │ │ │ └── ByteBufCodecs.java.patch │ │ │ │ ├── protocol │ │ │ │ │ ├── Packet.java.patch │ │ │ │ │ ├── PacketUtils.java.patch │ │ │ │ │ ├── common │ │ │ │ │ │ ├── ServerboundCustomPayloadPacket.java.patch │ │ │ │ │ │ └── custom │ │ │ │ │ │ │ └── DiscardedPayload.java.patch │ │ │ │ │ ├── game │ │ │ │ │ │ ├── ClientboundBlockEntityDataPacket.java.patch │ │ │ │ │ │ ├── ClientboundContainerSetContentPacket.java.patch │ │ │ │ │ │ ├── ClientboundInitializeBorderPacket.java.patch │ │ │ │ │ │ ├── ClientboundLevelChunkPacketData.java.patch │ │ │ │ │ │ ├── ClientboundLevelChunkWithLightPacket.java.patch │ │ │ │ │ │ ├── ClientboundPlayerInfoUpdatePacket.java.patch │ │ │ │ │ │ ├── ClientboundSectionBlocksUpdatePacket.java.patch │ │ │ │ │ │ ├── ClientboundSetBorderCenterPacket.java.patch │ │ │ │ │ │ ├── ClientboundSetEntityDataPacket.java.patch │ │ │ │ │ │ ├── ClientboundSetEquipmentPacket.java.patch │ │ │ │ │ │ ├── ClientboundSetPlayerTeamPacket.java.patch │ │ │ │ │ │ ├── ClientboundSystemChatPacket.java.patch │ │ │ │ │ │ ├── ServerboundCommandSuggestionPacket.java.patch │ │ │ │ │ │ ├── ServerboundInteractPacket.java.patch │ │ │ │ │ │ ├── ServerboundSetCreativeModeSlotPacket.java.patch │ │ │ │ │ │ ├── ServerboundUseItemOnPacket.java.patch │ │ │ │ │ │ ├── ServerboundUseItemPacket.java.patch │ │ │ │ │ │ └── VecDeltaCodec.java.patch │ │ │ │ │ ├── handshake │ │ │ │ │ │ └── ClientIntentionPacket.java.patch │ │ │ │ │ └── login │ │ │ │ │ │ ├── ClientboundCustomQueryPacket.java.patch │ │ │ │ │ │ ├── ClientboundLoginDisconnectPacket.java.patch │ │ │ │ │ │ └── ServerboundCustomQueryAnswerPacket.java.patch │ │ │ │ └── syncher │ │ │ │ │ ├── EntityDataSerializers.java.patch │ │ │ │ │ └── SynchedEntityData.java.patch │ │ │ ├── resources │ │ │ │ ├── RegistryDataLoader.java.patch │ │ │ │ └── ResourceLocation.java.patch │ │ │ ├── server │ │ │ │ ├── Bootstrap.java.patch │ │ │ │ ├── Main.java.patch │ │ │ │ ├── MinecraftServer.java.patch │ │ │ │ ├── PlayerAdvancements.java.patch │ │ │ │ ├── ReloadableServerRegistries.java.patch │ │ │ │ ├── ReloadableServerResources.java.patch │ │ │ │ ├── ServerAdvancementManager.java.patch │ │ │ │ ├── ServerFunctionLibrary.java.patch │ │ │ │ ├── ServerScoreboard.java.patch │ │ │ │ ├── ServerTickRateManager.java.patch │ │ │ │ ├── Services.java.patch │ │ │ │ ├── WorldLoader.java.patch │ │ │ │ ├── bossevents │ │ │ │ │ └── CustomBossEvent.java.patch │ │ │ │ ├── commands │ │ │ │ │ ├── BanIpCommands.java.patch │ │ │ │ │ ├── BanPlayerCommands.java.patch │ │ │ │ │ ├── DeOpCommands.java.patch │ │ │ │ │ ├── DebugCommand.java.patch │ │ │ │ │ ├── DefaultGameModeCommands.java.patch │ │ │ │ │ ├── DifficultyCommand.java.patch │ │ │ │ │ ├── EffectCommands.java.patch │ │ │ │ │ ├── GameModeCommand.java.patch │ │ │ │ │ ├── GameRuleCommand.java.patch │ │ │ │ │ ├── GiveCommand.java.patch │ │ │ │ │ ├── KickCommand.java.patch │ │ │ │ │ ├── ListPlayersCommand.java.patch │ │ │ │ │ ├── LocateCommand.java.patch │ │ │ │ │ ├── PlaceCommand.java.patch │ │ │ │ │ ├── ReloadCommand.java.patch │ │ │ │ │ ├── RideCommand.java.patch │ │ │ │ │ ├── ScheduleCommand.java.patch │ │ │ │ │ ├── SetSpawnCommand.java.patch │ │ │ │ │ ├── SetWorldSpawnCommand.java.patch │ │ │ │ │ ├── SpreadPlayersCommand.java.patch │ │ │ │ │ ├── SummonCommand.java.patch │ │ │ │ │ ├── TeleportCommand.java.patch │ │ │ │ │ ├── TimeCommand.java.patch │ │ │ │ │ ├── WeatherCommand.java.patch │ │ │ │ │ └── WorldBorderCommand.java.patch │ │ │ │ ├── dedicated │ │ │ │ │ ├── DedicatedPlayerList.java.patch │ │ │ │ │ ├── DedicatedServer.java.patch │ │ │ │ │ ├── DedicatedServerProperties.java.patch │ │ │ │ │ ├── DedicatedServerSettings.java.patch │ │ │ │ │ └── Settings.java.patch │ │ │ │ ├── gui │ │ │ │ │ ├── MinecraftServerGui.java.patch │ │ │ │ │ └── StatsComponent.java.patch │ │ │ │ ├── level │ │ │ │ │ ├── ChunkHolder.java.patch │ │ │ │ │ ├── ChunkMap.java.patch │ │ │ │ │ ├── DistanceManager.java.patch │ │ │ │ │ ├── ServerChunkCache.java.patch │ │ │ │ │ ├── ServerEntity.java.patch │ │ │ │ │ ├── ServerLevel.java.patch │ │ │ │ │ ├── ServerPlayer.java.patch │ │ │ │ │ ├── ServerPlayerGameMode.java.patch │ │ │ │ │ ├── Ticket.java.patch │ │ │ │ │ ├── TicketType.java.patch │ │ │ │ │ └── WorldGenRegion.java.patch │ │ │ │ ├── network │ │ │ │ │ ├── LegacyQueryHandler.java.patch │ │ │ │ │ ├── PlayerChunkSender.java.patch │ │ │ │ │ ├── ServerCommonPacketListenerImpl.java.patch │ │ │ │ │ ├── ServerConfigurationPacketListenerImpl.java.patch │ │ │ │ │ ├── ServerConnectionListener.java.patch │ │ │ │ │ ├── ServerGamePacketListenerImpl.java.patch │ │ │ │ │ ├── ServerHandshakePacketListenerImpl.java.patch │ │ │ │ │ ├── ServerLoginPacketListenerImpl.java.patch │ │ │ │ │ └── ServerStatusPacketListenerImpl.java.patch │ │ │ │ ├── packs │ │ │ │ │ ├── PathPackResources.java.patch │ │ │ │ │ └── repository │ │ │ │ │ │ ├── PackRepository.java.patch │ │ │ │ │ │ └── ServerPacksSource.java.patch │ │ │ │ ├── players │ │ │ │ │ ├── BanListEntry.java.patch │ │ │ │ │ ├── GameProfileCache.java.patch │ │ │ │ │ ├── OldUsersConverter.java.patch │ │ │ │ │ ├── PlayerList.java.patch │ │ │ │ │ ├── SleepStatus.java.patch │ │ │ │ │ ├── StoredUserList.java.patch │ │ │ │ │ ├── UserBanListEntry.java.patch │ │ │ │ │ └── UserWhiteList.java.patch │ │ │ │ └── rcon │ │ │ │ │ ├── RconConsoleSource.java.patch │ │ │ │ │ └── thread │ │ │ │ │ ├── QueryThreadGs4.java.patch │ │ │ │ │ ├── RconClient.java.patch │ │ │ │ │ └── RconThread.java.patch │ │ │ ├── stats │ │ │ │ ├── ServerRecipeBook.java.patch │ │ │ │ ├── ServerStatsCounter.java.patch │ │ │ │ └── StatsCounter.java.patch │ │ │ ├── tags │ │ │ │ └── TagLoader.java.patch │ │ │ ├── util │ │ │ │ ├── SimpleBitStorage.java.patch │ │ │ │ ├── SpawnUtil.java.patch │ │ │ │ ├── StringUtil.java.patch │ │ │ │ ├── TickThrottler.java.patch │ │ │ │ ├── ZeroBitStorage.java.patch │ │ │ │ ├── datafix │ │ │ │ │ ├── DataFixers.java.patch │ │ │ │ │ └── fixes │ │ │ │ │ │ ├── ItemStackMapIdFix.java.patch │ │ │ │ │ │ ├── ItemStackTheFlatteningFix.java.patch │ │ │ │ │ │ └── RaidRenamesDataFix.java.patch │ │ │ │ ├── parsing │ │ │ │ │ └── packrat │ │ │ │ │ │ └── Scope.java.patch │ │ │ │ ├── random │ │ │ │ │ └── WeightedList.java.patch │ │ │ │ ├── thread │ │ │ │ │ └── BlockableEventLoop.java.patch │ │ │ │ └── worldupdate │ │ │ │ │ └── WorldUpgrader.java.patch │ │ │ └── world │ │ │ │ ├── BossEvent.java.patch │ │ │ │ ├── CompoundContainer.java.patch │ │ │ │ ├── Container.java.patch │ │ │ │ ├── InteractionResult.java.patch │ │ │ │ ├── RandomizableContainer.java.patch │ │ │ │ ├── SimpleContainer.java.patch │ │ │ │ ├── damagesource │ │ │ │ ├── CombatTracker.java.patch │ │ │ │ └── DamageSource.java.patch │ │ │ │ ├── effect │ │ │ │ ├── HealOrHarmMobEffect.java.patch │ │ │ │ ├── HungerMobEffect.java.patch │ │ │ │ ├── InfestedMobEffect.java.patch │ │ │ │ ├── MobEffect.java.patch │ │ │ │ ├── MobEffectInstance.java.patch │ │ │ │ ├── MobEffectUtil.java.patch │ │ │ │ ├── OozingMobEffect.java.patch │ │ │ │ ├── PoisonMobEffect.java.patch │ │ │ │ ├── RegenerationMobEffect.java.patch │ │ │ │ ├── SaturationMobEffect.java.patch │ │ │ │ └── WeavingMobEffect.java.patch │ │ │ │ ├── entity │ │ │ │ ├── AgeableMob.java.patch │ │ │ │ ├── AreaEffectCloud.java.patch │ │ │ │ ├── ConversionParams.java.patch │ │ │ │ ├── ConversionType.java.patch │ │ │ │ ├── Entity.java.patch │ │ │ │ ├── EntityEquipment.java.patch │ │ │ │ ├── EntitySelector.java.patch │ │ │ │ ├── EntityType.java.patch │ │ │ │ ├── ExperienceOrb.java.patch │ │ │ │ ├── InsideBlockEffectApplier.java.patch │ │ │ │ ├── InsideBlockEffectType.java.patch │ │ │ │ ├── Interaction.java.patch │ │ │ │ ├── ItemBasedSteering.java.patch │ │ │ │ ├── Leashable.java.patch │ │ │ │ ├── LightningBolt.java.patch │ │ │ │ ├── LivingEntity.java.patch │ │ │ │ ├── Mob.java.patch │ │ │ │ ├── NeutralMob.java.patch │ │ │ │ ├── OminousItemSpawner.java.patch │ │ │ │ ├── Shearable.java.patch │ │ │ │ ├── TamableAnimal.java.patch │ │ │ │ ├── ai │ │ │ │ │ ├── attributes │ │ │ │ │ │ ├── AttributeInstance.java.patch │ │ │ │ │ │ ├── AttributeMap.java.patch │ │ │ │ │ │ └── Attributes.java.patch │ │ │ │ │ ├── behavior │ │ │ │ │ │ ├── AcquirePoi.java.patch │ │ │ │ │ │ ├── AssignProfessionFromJobSite.java.patch │ │ │ │ │ │ ├── BabyFollowAdult.java.patch │ │ │ │ │ │ ├── Behavior.java.patch │ │ │ │ │ │ ├── BehaviorUtils.java.patch │ │ │ │ │ │ ├── GateBehavior.java.patch │ │ │ │ │ │ ├── GoToWantedItem.java.patch │ │ │ │ │ │ ├── HarvestFarmland.java.patch │ │ │ │ │ │ ├── InteractWithDoor.java.patch │ │ │ │ │ │ ├── PoiCompetitorScan.java.patch │ │ │ │ │ │ ├── PrepareRamNearestTarget.java.patch │ │ │ │ │ │ ├── RamTarget.java.patch │ │ │ │ │ │ ├── ResetProfession.java.patch │ │ │ │ │ │ ├── ShufflingList.java.patch │ │ │ │ │ │ ├── SleepInBed.java.patch │ │ │ │ │ │ ├── StartAttacking.java.patch │ │ │ │ │ │ ├── StopAttackingIfTargetInvalid.java.patch │ │ │ │ │ │ ├── TryLaySpawnOnWaterNearLand.java.patch │ │ │ │ │ │ ├── VillagerGoalPackages.java.patch │ │ │ │ │ │ ├── VillagerMakeLove.java.patch │ │ │ │ │ │ ├── WorkAtComposter.java.patch │ │ │ │ │ │ └── warden │ │ │ │ │ │ │ ├── Digging.java.patch │ │ │ │ │ │ │ └── SonicBoom.java.patch │ │ │ │ │ ├── goal │ │ │ │ │ │ ├── BreakDoorGoal.java.patch │ │ │ │ │ │ ├── EatBlockGoal.java.patch │ │ │ │ │ │ ├── FloatGoal.java.patch │ │ │ │ │ │ ├── FollowOwnerGoal.java.patch │ │ │ │ │ │ ├── Goal.java.patch │ │ │ │ │ │ ├── RemoveBlockGoal.java.patch │ │ │ │ │ │ ├── RunAroundLikeCrazyGoal.java.patch │ │ │ │ │ │ ├── SwellGoal.java.patch │ │ │ │ │ │ ├── TemptGoal.java.patch │ │ │ │ │ │ └── target │ │ │ │ │ │ │ ├── DefendVillageTargetGoal.java.patch │ │ │ │ │ │ │ ├── HurtByTargetGoal.java.patch │ │ │ │ │ │ │ ├── NearestAttackableTargetGoal.java.patch │ │ │ │ │ │ │ ├── OwnerHurtByTargetGoal.java.patch │ │ │ │ │ │ │ ├── OwnerHurtTargetGoal.java.patch │ │ │ │ │ │ │ └── TargetGoal.java.patch │ │ │ │ │ ├── gossip │ │ │ │ │ │ └── GossipContainer.java.patch │ │ │ │ │ ├── navigation │ │ │ │ │ │ ├── FlyingPathNavigation.java.patch │ │ │ │ │ │ ├── GroundPathNavigation.java.patch │ │ │ │ │ │ ├── PathNavigation.java.patch │ │ │ │ │ │ └── WallClimberNavigation.java.patch │ │ │ │ │ ├── sensing │ │ │ │ │ │ ├── Sensor.java.patch │ │ │ │ │ │ └── TemptingSensor.java.patch │ │ │ │ │ └── village │ │ │ │ │ │ └── VillageSiege.java.patch │ │ │ │ ├── ambient │ │ │ │ │ └── Bat.java.patch │ │ │ │ ├── animal │ │ │ │ │ ├── AbstractCow.java.patch │ │ │ │ │ ├── AbstractSchoolingFish.java.patch │ │ │ │ │ ├── AgeableWaterCreature.java.patch │ │ │ │ │ ├── Animal.java.patch │ │ │ │ │ ├── Bee.java.patch │ │ │ │ │ ├── Bucketable.java.patch │ │ │ │ │ ├── Cat.java.patch │ │ │ │ │ ├── Chicken.java.patch │ │ │ │ │ ├── Dolphin.java.patch │ │ │ │ │ ├── Fox.java.patch │ │ │ │ │ ├── IronGolem.java.patch │ │ │ │ │ ├── MushroomCow.java.patch │ │ │ │ │ ├── Ocelot.java.patch │ │ │ │ │ ├── Panda.java.patch │ │ │ │ │ ├── Parrot.java.patch │ │ │ │ │ ├── Pig.java.patch │ │ │ │ │ ├── Pufferfish.java.patch │ │ │ │ │ ├── Rabbit.java.patch │ │ │ │ │ ├── ShoulderRidingEntity.java.patch │ │ │ │ │ ├── SnowGolem.java.patch │ │ │ │ │ ├── Squid.java.patch │ │ │ │ │ ├── Turtle.java.patch │ │ │ │ │ ├── WaterAnimal.java.patch │ │ │ │ │ ├── allay │ │ │ │ │ │ └── Allay.java.patch │ │ │ │ │ ├── armadillo │ │ │ │ │ │ └── Armadillo.java.patch │ │ │ │ │ ├── axolotl │ │ │ │ │ │ └── Axolotl.java.patch │ │ │ │ │ ├── camel │ │ │ │ │ │ └── Camel.java.patch │ │ │ │ │ ├── frog │ │ │ │ │ │ ├── Frog.java.patch │ │ │ │ │ │ ├── ShootTongue.java.patch │ │ │ │ │ │ └── Tadpole.java.patch │ │ │ │ │ ├── goat │ │ │ │ │ │ └── Goat.java.patch │ │ │ │ │ ├── horse │ │ │ │ │ │ ├── AbstractChestedHorse.java.patch │ │ │ │ │ │ ├── AbstractHorse.java.patch │ │ │ │ │ │ ├── Llama.java.patch │ │ │ │ │ │ ├── SkeletonHorse.java.patch │ │ │ │ │ │ ├── SkeletonTrapGoal.java.patch │ │ │ │ │ │ └── TraderLlama.java.patch │ │ │ │ │ ├── sheep │ │ │ │ │ │ └── Sheep.java.patch │ │ │ │ │ ├── sniffer │ │ │ │ │ │ └── Sniffer.java.patch │ │ │ │ │ └── wolf │ │ │ │ │ │ └── Wolf.java.patch │ │ │ │ ├── boss │ │ │ │ │ ├── enderdragon │ │ │ │ │ │ ├── EndCrystal.java.patch │ │ │ │ │ │ ├── EnderDragon.java.patch │ │ │ │ │ │ └── phases │ │ │ │ │ │ │ ├── DragonDeathPhase.java.patch │ │ │ │ │ │ │ ├── DragonHoldingPatternPhase.java.patch │ │ │ │ │ │ │ ├── DragonLandingApproachPhase.java.patch │ │ │ │ │ │ │ ├── DragonLandingPhase.java.patch │ │ │ │ │ │ │ ├── DragonSittingFlamingPhase.java.patch │ │ │ │ │ │ │ ├── DragonStrafePlayerPhase.java.patch │ │ │ │ │ │ │ ├── DragonTakeoffPhase.java.patch │ │ │ │ │ │ │ └── EnderDragonPhaseManager.java.patch │ │ │ │ │ └── wither │ │ │ │ │ │ └── WitherBoss.java.patch │ │ │ │ ├── decoration │ │ │ │ │ ├── ArmorStand.java.patch │ │ │ │ │ ├── BlockAttachedEntity.java.patch │ │ │ │ │ ├── ItemFrame.java.patch │ │ │ │ │ ├── LeashFenceKnotEntity.java.patch │ │ │ │ │ └── Painting.java.patch │ │ │ │ ├── item │ │ │ │ │ ├── FallingBlockEntity.java.patch │ │ │ │ │ ├── ItemEntity.java.patch │ │ │ │ │ └── PrimedTnt.java.patch │ │ │ │ ├── monster │ │ │ │ │ ├── AbstractSkeleton.java.patch │ │ │ │ │ ├── Bogged.java.patch │ │ │ │ │ ├── CaveSpider.java.patch │ │ │ │ │ ├── Creeper.java.patch │ │ │ │ │ ├── Drowned.java.patch │ │ │ │ │ ├── ElderGuardian.java.patch │ │ │ │ │ ├── EnderMan.java.patch │ │ │ │ │ ├── Endermite.java.patch │ │ │ │ │ ├── Evoker.java.patch │ │ │ │ │ ├── Ghast.java.patch │ │ │ │ │ ├── Guardian.java.patch │ │ │ │ │ ├── Husk.java.patch │ │ │ │ │ ├── Illusioner.java.patch │ │ │ │ │ ├── Monster.java.patch │ │ │ │ │ ├── Phantom.java.patch │ │ │ │ │ ├── Pillager.java.patch │ │ │ │ │ ├── Ravager.java.patch │ │ │ │ │ ├── Shulker.java.patch │ │ │ │ │ ├── Silverfish.java.patch │ │ │ │ │ ├── Skeleton.java.patch │ │ │ │ │ ├── Slime.java.patch │ │ │ │ │ ├── SpellcasterIllager.java.patch │ │ │ │ │ ├── Spider.java.patch │ │ │ │ │ ├── Strider.java.patch │ │ │ │ │ ├── Vex.java.patch │ │ │ │ │ ├── Vindicator.java.patch │ │ │ │ │ ├── Witch.java.patch │ │ │ │ │ ├── WitherSkeleton.java.patch │ │ │ │ │ ├── Zombie.java.patch │ │ │ │ │ ├── ZombieVillager.java.patch │ │ │ │ │ ├── ZombifiedPiglin.java.patch │ │ │ │ │ ├── breeze │ │ │ │ │ │ └── Breeze.java.patch │ │ │ │ │ ├── creaking │ │ │ │ │ │ └── Creaking.java.patch │ │ │ │ │ ├── hoglin │ │ │ │ │ │ ├── Hoglin.java.patch │ │ │ │ │ │ └── HoglinBase.java.patch │ │ │ │ │ ├── piglin │ │ │ │ │ │ ├── AbstractPiglin.java.patch │ │ │ │ │ │ ├── Piglin.java.patch │ │ │ │ │ │ └── PiglinAi.java.patch │ │ │ │ │ └── warden │ │ │ │ │ │ ├── AngerManagement.java.patch │ │ │ │ │ │ └── Warden.java.patch │ │ │ │ ├── npc │ │ │ │ │ ├── AbstractVillager.java.patch │ │ │ │ │ ├── CatSpawner.java.patch │ │ │ │ │ ├── ClientSideMerchant.java.patch │ │ │ │ │ ├── InventoryCarrier.java.patch │ │ │ │ │ ├── Villager.java.patch │ │ │ │ │ ├── VillagerTrades.java.patch │ │ │ │ │ ├── WanderingTrader.java.patch │ │ │ │ │ └── WanderingTraderSpawner.java.patch │ │ │ │ ├── player │ │ │ │ │ ├── Inventory.java.patch │ │ │ │ │ ├── Player.java.patch │ │ │ │ │ └── ProfilePublicKey.java.patch │ │ │ │ ├── projectile │ │ │ │ │ ├── AbstractArrow.java.patch │ │ │ │ │ ├── AbstractHurtingProjectile.java.patch │ │ │ │ │ ├── AbstractThrownPotion.java.patch │ │ │ │ │ ├── Arrow.java.patch │ │ │ │ │ ├── DragonFireball.java.patch │ │ │ │ │ ├── EvokerFangs.java.patch │ │ │ │ │ ├── EyeOfEnder.java.patch │ │ │ │ │ ├── FireworkRocketEntity.java.patch │ │ │ │ │ ├── FishingHook.java.patch │ │ │ │ │ ├── LargeFireball.java.patch │ │ │ │ │ ├── LlamaSpit.java.patch │ │ │ │ │ ├── Projectile.java.patch │ │ │ │ │ ├── ShulkerBullet.java.patch │ │ │ │ │ ├── SmallFireball.java.patch │ │ │ │ │ ├── Snowball.java.patch │ │ │ │ │ ├── SpectralArrow.java.patch │ │ │ │ │ ├── ThrowableProjectile.java.patch │ │ │ │ │ ├── ThrownEgg.java.patch │ │ │ │ │ ├── ThrownEnderpearl.java.patch │ │ │ │ │ ├── ThrownExperienceBottle.java.patch │ │ │ │ │ ├── ThrownLingeringPotion.java.patch │ │ │ │ │ ├── ThrownSplashPotion.java.patch │ │ │ │ │ ├── ThrownTrident.java.patch │ │ │ │ │ ├── WitherSkull.java.patch │ │ │ │ │ └── windcharge │ │ │ │ │ │ ├── AbstractWindCharge.java.patch │ │ │ │ │ │ ├── BreezeWindCharge.java.patch │ │ │ │ │ │ └── WindCharge.java.patch │ │ │ │ ├── raid │ │ │ │ │ ├── Raid.java.patch │ │ │ │ │ ├── Raider.java.patch │ │ │ │ │ └── Raids.java.patch │ │ │ │ ├── variant │ │ │ │ │ └── StructureCheck.java.patch │ │ │ │ └── vehicle │ │ │ │ │ ├── AbstractBoat.java.patch │ │ │ │ │ ├── AbstractChestBoat.java.patch │ │ │ │ │ ├── AbstractMinecart.java.patch │ │ │ │ │ ├── AbstractMinecartContainer.java.patch │ │ │ │ │ ├── ContainerEntity.java.patch │ │ │ │ │ ├── MinecartCommandBlock.java.patch │ │ │ │ │ ├── MinecartTNT.java.patch │ │ │ │ │ ├── NewMinecartBehavior.java.patch │ │ │ │ │ ├── OldMinecartBehavior.java.patch │ │ │ │ │ └── VehicleEntity.java.patch │ │ │ │ ├── food │ │ │ │ ├── FoodData.java.patch │ │ │ │ └── FoodProperties.java.patch │ │ │ │ ├── inventory │ │ │ │ ├── AbstractContainerMenu.java.patch │ │ │ │ ├── AbstractCraftingMenu.java.patch │ │ │ │ ├── AbstractFurnaceMenu.java.patch │ │ │ │ ├── AnvilMenu.java.patch │ │ │ │ ├── BeaconMenu.java.patch │ │ │ │ ├── BrewingStandMenu.java.patch │ │ │ │ ├── CartographyTableMenu.java.patch │ │ │ │ ├── ChestMenu.java.patch │ │ │ │ ├── ContainerLevelAccess.java.patch │ │ │ │ ├── ContainerListener.java.patch │ │ │ │ ├── ContainerSynchronizer.java.patch │ │ │ │ ├── CrafterMenu.java.patch │ │ │ │ ├── CraftingContainer.java.patch │ │ │ │ ├── CraftingMenu.java.patch │ │ │ │ ├── DispenserMenu.java.patch │ │ │ │ ├── EnchantmentMenu.java.patch │ │ │ │ ├── FurnaceResultSlot.java.patch │ │ │ │ ├── GrindstoneMenu.java.patch │ │ │ │ ├── HopperMenu.java.patch │ │ │ │ ├── HorseInventoryMenu.java.patch │ │ │ │ ├── InventoryMenu.java.patch │ │ │ │ ├── ItemCombinerMenu.java.patch │ │ │ │ ├── LecternMenu.java.patch │ │ │ │ ├── LoomMenu.java.patch │ │ │ │ ├── MenuType.java.patch │ │ │ │ ├── MerchantContainer.java.patch │ │ │ │ ├── MerchantMenu.java.patch │ │ │ │ ├── MerchantResultSlot.java.patch │ │ │ │ ├── PlayerEnderChestContainer.java.patch │ │ │ │ ├── ResultContainer.java.patch │ │ │ │ ├── ResultSlot.java.patch │ │ │ │ ├── ShulkerBoxMenu.java.patch │ │ │ │ ├── SmithingMenu.java.patch │ │ │ │ ├── StonecutterMenu.java.patch │ │ │ │ └── TransientCraftingContainer.java.patch │ │ │ │ ├── item │ │ │ │ ├── ArmorStandItem.java.patch │ │ │ │ ├── AxeItem.java.patch │ │ │ │ ├── BlockItem.java.patch │ │ │ │ ├── BoatItem.java.patch │ │ │ │ ├── BoneMealItem.java.patch │ │ │ │ ├── BowItem.java.patch │ │ │ │ ├── BucketItem.java.patch │ │ │ │ ├── CrossbowItem.java.patch │ │ │ │ ├── DebugStickItem.java.patch │ │ │ │ ├── DyeItem.java.patch │ │ │ │ ├── EggItem.java.patch │ │ │ │ ├── EmptyMapItem.java.patch │ │ │ │ ├── EndCrystalItem.java.patch │ │ │ │ ├── EnderEyeItem.java.patch │ │ │ │ ├── EnderpearlItem.java.patch │ │ │ │ ├── ExperienceBottleItem.java.patch │ │ │ │ ├── FireChargeItem.java.patch │ │ │ │ ├── FireworkRocketItem.java.patch │ │ │ │ ├── FishingRodItem.java.patch │ │ │ │ ├── FlintAndSteelItem.java.patch │ │ │ │ ├── HangingEntityItem.java.patch │ │ │ │ ├── HoneycombItem.java.patch │ │ │ │ ├── ItemCooldowns.java.patch │ │ │ │ ├── ItemStack.java.patch │ │ │ │ ├── ItemUtils.java.patch │ │ │ │ ├── LeadItem.java.patch │ │ │ │ ├── LingeringPotionItem.java.patch │ │ │ │ ├── MaceItem.java.patch │ │ │ │ ├── MapItem.java.patch │ │ │ │ ├── MinecartItem.java.patch │ │ │ │ ├── MobBucketItem.java.patch │ │ │ │ ├── NameTagItem.java.patch │ │ │ │ ├── PotionItem.java.patch │ │ │ │ ├── ProjectileWeaponItem.java.patch │ │ │ │ ├── ServerItemCooldowns.java.patch │ │ │ │ ├── ShovelItem.java.patch │ │ │ │ ├── SignItem.java.patch │ │ │ │ ├── SnowballItem.java.patch │ │ │ │ ├── SpawnEggItem.java.patch │ │ │ │ ├── SplashPotionItem.java.patch │ │ │ │ ├── StandingAndWallBlockItem.java.patch │ │ │ │ ├── ThrowablePotionItem.java.patch │ │ │ │ ├── TridentItem.java.patch │ │ │ │ ├── WindChargeItem.java.patch │ │ │ │ ├── alchemy │ │ │ │ │ ├── PotionBrewing.java.patch │ │ │ │ │ └── PotionContents.java.patch │ │ │ │ ├── component │ │ │ │ │ ├── BlocksAttacks.java.patch │ │ │ │ │ ├── BundleContents.java.patch │ │ │ │ │ ├── ChargedProjectiles.java.patch │ │ │ │ │ ├── Consumable.java.patch │ │ │ │ │ ├── ConsumableListener.java.patch │ │ │ │ │ ├── CustomData.java.patch │ │ │ │ │ ├── DeathProtection.java.patch │ │ │ │ │ ├── ItemContainerContents.java.patch │ │ │ │ │ ├── LodestoneTracker.java.patch │ │ │ │ │ ├── OminousBottleAmplifier.java.patch │ │ │ │ │ ├── ResolvableProfile.java.patch │ │ │ │ │ ├── SuspiciousStewEffects.java.patch │ │ │ │ │ ├── UseRemainder.java.patch │ │ │ │ │ └── WrittenBookContent.java.patch │ │ │ │ ├── consume_effects │ │ │ │ │ ├── ApplyStatusEffectsConsumeEffect.java.patch │ │ │ │ │ ├── ClearAllStatusEffectsConsumeEffect.java.patch │ │ │ │ │ ├── ConsumeEffect.java.patch │ │ │ │ │ ├── RemoveStatusEffectsConsumeEffect.java.patch │ │ │ │ │ └── TeleportRandomlyConsumeEffect.java.patch │ │ │ │ ├── crafting │ │ │ │ │ ├── BlastingRecipe.java.patch │ │ │ │ │ ├── CampfireCookingRecipe.java.patch │ │ │ │ │ ├── CustomRecipe.java.patch │ │ │ │ │ ├── Ingredient.java.patch │ │ │ │ │ ├── Recipe.java.patch │ │ │ │ │ ├── RecipeHolder.java.patch │ │ │ │ │ ├── RecipeManager.java.patch │ │ │ │ │ ├── RecipeMap.java.patch │ │ │ │ │ ├── ShapedRecipe.java.patch │ │ │ │ │ ├── ShapelessRecipe.java.patch │ │ │ │ │ ├── SmeltingRecipe.java.patch │ │ │ │ │ ├── SmithingTransformRecipe.java.patch │ │ │ │ │ ├── SmithingTrimRecipe.java.patch │ │ │ │ │ ├── SmokingRecipe.java.patch │ │ │ │ │ ├── StonecutterRecipe.java.patch │ │ │ │ │ ├── TransmuteRecipe.java.patch │ │ │ │ │ └── TransmuteResult.java.patch │ │ │ │ ├── enchantment │ │ │ │ │ ├── EnchantmentHelper.java.patch │ │ │ │ │ ├── ItemEnchantments.java.patch │ │ │ │ │ └── effects │ │ │ │ │ │ ├── ApplyMobEffect.java.patch │ │ │ │ │ │ ├── ChangeItemDamage.java.patch │ │ │ │ │ │ ├── Ignite.java.patch │ │ │ │ │ │ ├── ReplaceBlock.java.patch │ │ │ │ │ │ ├── ReplaceDisk.java.patch │ │ │ │ │ │ ├── SpawnParticlesEffect.java.patch │ │ │ │ │ │ └── SummonEntityEffect.java.patch │ │ │ │ └── trading │ │ │ │ │ ├── Merchant.java.patch │ │ │ │ │ └── MerchantOffer.java.patch │ │ │ │ ├── level │ │ │ │ ├── BaseCommandBlock.java.patch │ │ │ │ ├── BaseSpawner.java.patch │ │ │ │ ├── BlockGetter.java.patch │ │ │ │ ├── ChunkPos.java.patch │ │ │ │ ├── ClipContext.java.patch │ │ │ │ ├── EmptyBlockAndTintGetter.java.patch │ │ │ │ ├── EmptyBlockGetter.java.patch │ │ │ │ ├── EntityGetter.java.patch │ │ │ │ ├── GameRules.java.patch │ │ │ │ ├── Level.java.patch │ │ │ │ ├── LevelAccessor.java.patch │ │ │ │ ├── LevelReader.java.patch │ │ │ │ ├── LevelWriter.java.patch │ │ │ │ ├── NaturalSpawner.java.patch │ │ │ │ ├── PathNavigationRegion.java.patch │ │ │ │ ├── ServerExplosion.java.patch │ │ │ │ ├── ServerLevelAccessor.java.patch │ │ │ │ ├── StructureManager.java.patch │ │ │ │ ├── TicketStorage.java.patch │ │ │ │ ├── biome │ │ │ │ │ ├── Biome.java.patch │ │ │ │ │ └── MobSpawnSettings.java.patch │ │ │ │ ├── block │ │ │ │ │ ├── AbstractCandleBlock.java.patch │ │ │ │ │ ├── AbstractCauldronBlock.java.patch │ │ │ │ │ ├── AnvilBlock.java.patch │ │ │ │ │ ├── BambooSaplingBlock.java.patch │ │ │ │ │ ├── BambooStalkBlock.java.patch │ │ │ │ │ ├── BarrelBlock.java.patch │ │ │ │ │ ├── BaseFireBlock.java.patch │ │ │ │ │ ├── BasePressurePlateBlock.java.patch │ │ │ │ │ ├── BaseRailBlock.java.patch │ │ │ │ │ ├── BeaconBlock.java.patch │ │ │ │ │ ├── BedBlock.java.patch │ │ │ │ │ ├── BeehiveBlock.java.patch │ │ │ │ │ ├── BellBlock.java.patch │ │ │ │ │ ├── BigDripleafBlock.java.patch │ │ │ │ │ ├── BlastFurnaceBlock.java.patch │ │ │ │ │ ├── Block.java.patch │ │ │ │ │ ├── BrewingStandBlock.java.patch │ │ │ │ │ ├── BubbleColumnBlock.java.patch │ │ │ │ │ ├── BuddingAmethystBlock.java.patch │ │ │ │ │ ├── ButtonBlock.java.patch │ │ │ │ │ ├── CactusBlock.java.patch │ │ │ │ │ ├── CakeBlock.java.patch │ │ │ │ │ ├── CampfireBlock.java.patch │ │ │ │ │ ├── CartographyTableBlock.java.patch │ │ │ │ │ ├── CarvedPumpkinBlock.java.patch │ │ │ │ │ ├── CauldronBlock.java.patch │ │ │ │ │ ├── CaveVines.java.patch │ │ │ │ │ ├── CaveVinesBlock.java.patch │ │ │ │ │ ├── CeilingHangingSignBlock.java.patch │ │ │ │ │ ├── ChangeOverTimeBlock.java.patch │ │ │ │ │ ├── ChestBlock.java.patch │ │ │ │ │ ├── ChorusFlowerBlock.java.patch │ │ │ │ │ ├── ChorusPlantBlock.java.patch │ │ │ │ │ ├── CocoaBlock.java.patch │ │ │ │ │ ├── CommandBlock.java.patch │ │ │ │ │ ├── ComparatorBlock.java.patch │ │ │ │ │ ├── ComposterBlock.java.patch │ │ │ │ │ ├── ConcretePowderBlock.java.patch │ │ │ │ │ ├── CoralBlock.java.patch │ │ │ │ │ ├── CoralFanBlock.java.patch │ │ │ │ │ ├── CoralPlantBlock.java.patch │ │ │ │ │ ├── CoralWallFanBlock.java.patch │ │ │ │ │ ├── CrafterBlock.java.patch │ │ │ │ │ ├── CraftingTableBlock.java.patch │ │ │ │ │ ├── CropBlock.java.patch │ │ │ │ │ ├── DaylightDetectorBlock.java.patch │ │ │ │ │ ├── DecoratedPotBlock.java.patch │ │ │ │ │ ├── DetectorRailBlock.java.patch │ │ │ │ │ ├── DiodeBlock.java.patch │ │ │ │ │ ├── DirtPathBlock.java.patch │ │ │ │ │ ├── DispenserBlock.java.patch │ │ │ │ │ ├── DoorBlock.java.patch │ │ │ │ │ ├── DoubleBlockCombiner.java.patch │ │ │ │ │ ├── DoublePlantBlock.java.patch │ │ │ │ │ ├── DragonEggBlock.java.patch │ │ │ │ │ ├── DropExperienceBlock.java.patch │ │ │ │ │ ├── DropperBlock.java.patch │ │ │ │ │ ├── EndGatewayBlock.java.patch │ │ │ │ │ ├── EndPortalBlock.java.patch │ │ │ │ │ ├── EnderChestBlock.java.patch │ │ │ │ │ ├── EyeblossomBlock.java.patch │ │ │ │ │ ├── FarmBlock.java.patch │ │ │ │ │ ├── FenceGateBlock.java.patch │ │ │ │ │ ├── FireBlock.java.patch │ │ │ │ │ ├── FlowerPotBlock.java.patch │ │ │ │ │ ├── FrogspawnBlock.java.patch │ │ │ │ │ ├── FrostedIceBlock.java.patch │ │ │ │ │ ├── FungusBlock.java.patch │ │ │ │ │ ├── FurnaceBlock.java.patch │ │ │ │ │ ├── GrindstoneBlock.java.patch │ │ │ │ │ ├── GrowingPlantHeadBlock.java.patch │ │ │ │ │ ├── HoneyBlock.java.patch │ │ │ │ │ ├── HopperBlock.java.patch │ │ │ │ │ ├── HugeMushroomBlock.java.patch │ │ │ │ │ ├── IceBlock.java.patch │ │ │ │ │ ├── InfestedBlock.java.patch │ │ │ │ │ ├── LavaCauldronBlock.java.patch │ │ │ │ │ ├── LayeredCauldronBlock.java.patch │ │ │ │ │ ├── LeavesBlock.java.patch │ │ │ │ │ ├── LecternBlock.java.patch │ │ │ │ │ ├── LeverBlock.java.patch │ │ │ │ │ ├── LightBlock.java.patch │ │ │ │ │ ├── LightningRodBlock.java.patch │ │ │ │ │ ├── LiquidBlock.java.patch │ │ │ │ │ ├── LoomBlock.java.patch │ │ │ │ │ ├── MagmaBlock.java.patch │ │ │ │ │ ├── MangrovePropaguleBlock.java.patch │ │ │ │ │ ├── MultifaceSpreader.java.patch │ │ │ │ │ ├── MushroomBlock.java.patch │ │ │ │ │ ├── NetherPortalBlock.java.patch │ │ │ │ │ ├── NetherWartBlock.java.patch │ │ │ │ │ ├── NoteBlock.java.patch │ │ │ │ │ ├── NyliumBlock.java.patch │ │ │ │ │ ├── ObserverBlock.java.patch │ │ │ │ │ ├── PitcherCropBlock.java.patch │ │ │ │ │ ├── PointedDripstoneBlock.java.patch │ │ │ │ │ ├── PowderSnowBlock.java.patch │ │ │ │ │ ├── PoweredRailBlock.java.patch │ │ │ │ │ ├── PressurePlateBlock.java.patch │ │ │ │ │ ├── PumpkinBlock.java.patch │ │ │ │ │ ├── RailState.java.patch │ │ │ │ │ ├── RedStoneOreBlock.java.patch │ │ │ │ │ ├── RedstoneLampBlock.java.patch │ │ │ │ │ ├── RedstoneTorchBlock.java.patch │ │ │ │ │ ├── RespawnAnchorBlock.java.patch │ │ │ │ │ ├── RootedDirtBlock.java.patch │ │ │ │ │ ├── SaplingBlock.java.patch │ │ │ │ │ ├── ScaffoldingBlock.java.patch │ │ │ │ │ ├── SculkBlock.java.patch │ │ │ │ │ ├── SculkCatalystBlock.java.patch │ │ │ │ │ ├── SculkSensorBlock.java.patch │ │ │ │ │ ├── SculkShriekerBlock.java.patch │ │ │ │ │ ├── SculkSpreader.java.patch │ │ │ │ │ ├── SculkVeinBlock.java.patch │ │ │ │ │ ├── ShulkerBoxBlock.java.patch │ │ │ │ │ ├── SignBlock.java.patch │ │ │ │ │ ├── SmithingTableBlock.java.patch │ │ │ │ │ ├── SmokerBlock.java.patch │ │ │ │ │ ├── SnifferEggBlock.java.patch │ │ │ │ │ ├── SnowLayerBlock.java.patch │ │ │ │ │ ├── SpawnerBlock.java.patch │ │ │ │ │ ├── SpongeBlock.java.patch │ │ │ │ │ ├── SpreadingSnowyDirtBlock.java.patch │ │ │ │ │ ├── StemBlock.java.patch │ │ │ │ │ ├── StonecutterBlock.java.patch │ │ │ │ │ ├── SugarCaneBlock.java.patch │ │ │ │ │ ├── SweetBerryBushBlock.java.patch │ │ │ │ │ ├── TargetBlock.java.patch │ │ │ │ │ ├── TntBlock.java.patch │ │ │ │ │ ├── TrapDoorBlock.java.patch │ │ │ │ │ ├── TripWireBlock.java.patch │ │ │ │ │ ├── TripWireHookBlock.java.patch │ │ │ │ │ ├── TurtleEggBlock.java.patch │ │ │ │ │ ├── VegetationBlock.java.patch │ │ │ │ │ ├── VineBlock.java.patch │ │ │ │ │ ├── WallHangingSignBlock.java.patch │ │ │ │ │ ├── WaterlilyBlock.java.patch │ │ │ │ │ ├── WebBlock.java.patch │ │ │ │ │ ├── WeightedPressurePlateBlock.java.patch │ │ │ │ │ ├── WitherRoseBlock.java.patch │ │ │ │ │ ├── WitherSkullBlock.java.patch │ │ │ │ │ ├── entity │ │ │ │ │ │ ├── AbstractFurnaceBlockEntity.java.patch │ │ │ │ │ │ ├── BannerBlockEntity.java.patch │ │ │ │ │ │ ├── BarrelBlockEntity.java.patch │ │ │ │ │ │ ├── BaseContainerBlockEntity.java.patch │ │ │ │ │ │ ├── BeaconBlockEntity.java.patch │ │ │ │ │ │ ├── BeehiveBlockEntity.java.patch │ │ │ │ │ │ ├── BellBlockEntity.java.patch │ │ │ │ │ │ ├── BlockEntity.java.patch │ │ │ │ │ │ ├── BrewingStandBlockEntity.java.patch │ │ │ │ │ │ ├── BrushableBlockEntity.java.patch │ │ │ │ │ │ ├── CalibratedSculkSensorBlockEntity.java.patch │ │ │ │ │ │ ├── CampfireBlockEntity.java.patch │ │ │ │ │ │ ├── ChestBlockEntity.java.patch │ │ │ │ │ │ ├── ChiseledBookShelfBlockEntity.java.patch │ │ │ │ │ │ ├── CommandBlockEntity.java.patch │ │ │ │ │ │ ├── ConduitBlockEntity.java.patch │ │ │ │ │ │ ├── ContainerOpenersCounter.java.patch │ │ │ │ │ │ ├── CrafterBlockEntity.java.patch │ │ │ │ │ │ ├── DecoratedPotBlockEntity.java.patch │ │ │ │ │ │ ├── DispenserBlockEntity.java.patch │ │ │ │ │ │ ├── HopperBlockEntity.java.patch │ │ │ │ │ │ ├── JigsawBlockEntity.java.patch │ │ │ │ │ │ ├── JukeboxBlockEntity.java.patch │ │ │ │ │ │ ├── LecternBlockEntity.java.patch │ │ │ │ │ │ ├── RandomizableContainerBlockEntity.java.patch │ │ │ │ │ │ ├── SculkCatalystBlockEntity.java.patch │ │ │ │ │ │ ├── SculkSensorBlockEntity.java.patch │ │ │ │ │ │ ├── SculkShriekerBlockEntity.java.patch │ │ │ │ │ │ ├── ShulkerBoxBlockEntity.java.patch │ │ │ │ │ │ ├── SignBlockEntity.java.patch │ │ │ │ │ │ ├── SkullBlockEntity.java.patch │ │ │ │ │ │ ├── TestBlockEntity.java.patch │ │ │ │ │ │ ├── TestInstanceBlockEntity.java.patch │ │ │ │ │ │ ├── TheEndGatewayBlockEntity.java.patch │ │ │ │ │ │ ├── trialspawner │ │ │ │ │ │ │ ├── TrialSpawner.java.patch │ │ │ │ │ │ │ └── TrialSpawnerData.java.patch │ │ │ │ │ │ └── vault │ │ │ │ │ │ │ ├── VaultBlockEntity.java.patch │ │ │ │ │ │ │ └── VaultServerData.java.patch │ │ │ │ │ ├── grower │ │ │ │ │ │ └── TreeGrower.java.patch │ │ │ │ │ ├── piston │ │ │ │ │ │ ├── PistonBaseBlock.java.patch │ │ │ │ │ │ └── PistonMovingBlockEntity.java.patch │ │ │ │ │ └── state │ │ │ │ │ │ ├── BlockBehaviour.java.patch │ │ │ │ │ │ ├── BlockState.java.patch │ │ │ │ │ │ └── properties │ │ │ │ │ │ ├── EnumProperty.java.patch │ │ │ │ │ │ ├── IntegerProperty.java.patch │ │ │ │ │ │ └── Property.java.patch │ │ │ │ ├── border │ │ │ │ │ └── WorldBorder.java.patch │ │ │ │ ├── chunk │ │ │ │ │ ├── ChunkAccess.java.patch │ │ │ │ │ ├── ChunkGenerator.java.patch │ │ │ │ │ ├── ChunkGeneratorStructureState.java.patch │ │ │ │ │ ├── EmptyLevelChunk.java.patch │ │ │ │ │ ├── HashMapPalette.java.patch │ │ │ │ │ ├── ImposterProtoChunk.java.patch │ │ │ │ │ ├── LevelChunk.java.patch │ │ │ │ │ ├── LevelChunkSection.java.patch │ │ │ │ │ ├── PalettedContainer.java.patch │ │ │ │ │ ├── ProtoChunk.java.patch │ │ │ │ │ ├── UpgradeData.java.patch │ │ │ │ │ ├── status │ │ │ │ │ │ └── ChunkStatusTasks.java.patch │ │ │ │ │ └── storage │ │ │ │ │ │ ├── ChunkStorage.java.patch │ │ │ │ │ │ ├── RegionFile.java.patch │ │ │ │ │ │ ├── RegionFileStorage.java.patch │ │ │ │ │ │ ├── RegionFileVersion.java.patch │ │ │ │ │ │ └── SerializableChunkData.java.patch │ │ │ │ ├── dimension │ │ │ │ │ └── end │ │ │ │ │ │ ├── DragonRespawnAnimation.java.patch │ │ │ │ │ │ └── EndDragonFight.java.patch │ │ │ │ ├── entity │ │ │ │ │ ├── EntityAccess.java.patch │ │ │ │ │ ├── EntityLookup.java.patch │ │ │ │ │ └── PersistentEntitySectionManager.java.patch │ │ │ │ ├── gameevent │ │ │ │ │ ├── DynamicGameEventListener.java.patch │ │ │ │ │ ├── GameEvent.java.patch │ │ │ │ │ ├── GameEventDispatcher.java.patch │ │ │ │ │ └── vibrations │ │ │ │ │ │ └── VibrationSystem.java.patch │ │ │ │ ├── levelgen │ │ │ │ │ ├── DensityFunctions.java.patch │ │ │ │ │ ├── FlatLevelSource.java.patch │ │ │ │ │ ├── NoiseBasedChunkGenerator.java.patch │ │ │ │ │ ├── PatrolSpawner.java.patch │ │ │ │ │ ├── PhantomSpawner.java.patch │ │ │ │ │ ├── WorldGenerationContext.java.patch │ │ │ │ │ ├── carver │ │ │ │ │ │ └── CarvingContext.java.patch │ │ │ │ │ ├── feature │ │ │ │ │ │ ├── EndPlatformFeature.java.patch │ │ │ │ │ │ ├── SpikeFeature.java.patch │ │ │ │ │ │ └── treedecorators │ │ │ │ │ │ │ └── CocoaDecorator.java.patch │ │ │ │ │ ├── placement │ │ │ │ │ │ └── PlacementContext.java.patch │ │ │ │ │ └── structure │ │ │ │ │ │ ├── LegacyStructureDataHandler.java.patch │ │ │ │ │ │ ├── StructureCheck.java.patch │ │ │ │ │ │ ├── StructurePiece.java.patch │ │ │ │ │ │ ├── StructureStart.java.patch │ │ │ │ │ │ ├── placement │ │ │ │ │ │ └── StructurePlacement.java.patch │ │ │ │ │ │ ├── structures │ │ │ │ │ │ ├── DesertPyramidStructure.java.patch │ │ │ │ │ │ ├── EndCityPieces.java.patch │ │ │ │ │ │ ├── IglooPieces.java.patch │ │ │ │ │ │ ├── MineshaftPieces.java.patch │ │ │ │ │ │ ├── NetherFortressPieces.java.patch │ │ │ │ │ │ ├── OceanRuinPieces.java.patch │ │ │ │ │ │ ├── ShipwreckPieces.java.patch │ │ │ │ │ │ ├── StrongholdPieces.java.patch │ │ │ │ │ │ └── SwampHutPiece.java.patch │ │ │ │ │ │ └── templatesystem │ │ │ │ │ │ ├── StructurePlaceSettings.java.patch │ │ │ │ │ │ └── StructureTemplate.java.patch │ │ │ │ ├── material │ │ │ │ │ ├── FlowingFluid.java.patch │ │ │ │ │ ├── FluidState.java.patch │ │ │ │ │ ├── LavaFluid.java.patch │ │ │ │ │ └── WaterFluid.java.patch │ │ │ │ ├── pathfinder │ │ │ │ │ └── WalkNodeEvaluator.java.patch │ │ │ │ ├── portal │ │ │ │ │ ├── PortalForcer.java.patch │ │ │ │ │ ├── PortalShape.java.patch │ │ │ │ │ └── TeleportTransition.java.patch │ │ │ │ ├── redstone │ │ │ │ │ ├── CollectingNeighborUpdater.java.patch │ │ │ │ │ ├── DefaultRedstoneWireEvaluator.java.patch │ │ │ │ │ ├── ExperimentalRedstoneWireEvaluator.java.patch │ │ │ │ │ └── NeighborUpdater.java.patch │ │ │ │ ├── saveddata │ │ │ │ │ └── maps │ │ │ │ │ │ └── MapItemSavedData.java.patch │ │ │ │ └── storage │ │ │ │ │ ├── DimensionDataStorage.java.patch │ │ │ │ │ ├── LevelStorageSource.java.patch │ │ │ │ │ ├── PlayerDataStorage.java.patch │ │ │ │ │ ├── PrimaryLevelData.java.patch │ │ │ │ │ └── loot │ │ │ │ │ ├── LootDataType.java.patch │ │ │ │ │ ├── LootTable.java.patch │ │ │ │ │ ├── entries │ │ │ │ │ └── LootPoolSingletonContainer.java.patch │ │ │ │ │ ├── functions │ │ │ │ │ └── ExplorationMapFunction.java.patch │ │ │ │ │ └── predicates │ │ │ │ │ └── ExplosionCondition.java.patch │ │ │ │ └── scores │ │ │ │ └── ScoreboardSaveData.java.patch │ │ │ └── neoforged │ │ │ └── art │ │ │ └── internal │ │ │ └── RenamerImpl.java.patch │ └── unapplied │ │ └── 0015-Rewrite-dataconverter-system.patch └── src │ ├── generated │ └── java │ │ └── org │ │ └── bukkit │ │ └── craftbukkit │ │ └── block │ │ └── impl │ │ ├── CraftAmethystCluster.java │ │ ├── CraftAnvil.java │ │ ├── CraftAttachedStem.java │ │ ├── CraftBambooStalk.java │ │ ├── CraftBanner.java │ │ ├── CraftBarrel.java │ │ ├── CraftBarrier.java │ │ ├── CraftBaseCoralFan.java │ │ ├── CraftBaseCoralPlant.java │ │ ├── CraftBaseCoralWallFan.java │ │ ├── CraftBed.java │ │ ├── CraftBeehive.java │ │ ├── CraftBeetroot.java │ │ ├── CraftBell.java │ │ ├── CraftBigDripleaf.java │ │ ├── CraftBigDripleafStem.java │ │ ├── CraftBlastFurnace.java │ │ ├── CraftBrewingStand.java │ │ ├── CraftBrushable.java │ │ ├── CraftBubbleColumn.java │ │ ├── CraftButton.java │ │ ├── CraftCactus.java │ │ ├── CraftCake.java │ │ ├── CraftCalibratedSculkSensor.java │ │ ├── CraftCampfire.java │ │ ├── CraftCandle.java │ │ ├── CraftCandleCake.java │ │ ├── CraftCarrot.java │ │ ├── CraftCarvedPumpkin.java │ │ ├── CraftCaveVines.java │ │ ├── CraftCaveVinesPlant.java │ │ ├── CraftCeilingHangingSign.java │ │ ├── CraftChain.java │ │ ├── CraftChest.java │ │ ├── CraftChiseledBookShelf.java │ │ ├── CraftChorusFlower.java │ │ ├── CraftChorusPlant.java │ │ ├── CraftCocoa.java │ │ ├── CraftCommandBlock.java │ │ ├── CraftComparator.java │ │ ├── CraftComposter.java │ │ ├── CraftConduit.java │ │ ├── CraftCopperBulb.java │ │ ├── CraftCoralFan.java │ │ ├── CraftCoralPlant.java │ │ ├── CraftCoralWallFan.java │ │ ├── CraftCrafter.java │ │ ├── CraftCreakingHeart.java │ │ ├── CraftCrop.java │ │ ├── CraftDaylightDetector.java │ │ ├── CraftDecoratedPot.java │ │ ├── CraftDetectorRail.java │ │ ├── CraftDispenser.java │ │ ├── CraftDoor.java │ │ ├── CraftDoublePlant.java │ │ ├── CraftDropper.java │ │ ├── CraftEndPortalFrame.java │ │ ├── CraftEndRod.java │ │ ├── CraftEnderChest.java │ │ ├── CraftFarm.java │ │ ├── CraftFence.java │ │ ├── CraftFenceGate.java │ │ ├── CraftFire.java │ │ ├── CraftFlowerBed.java │ │ ├── CraftFrostedIce.java │ │ ├── CraftFurnace.java │ │ ├── CraftGlazedTerracotta.java │ │ ├── CraftGlowLichen.java │ │ ├── CraftGrass.java │ │ ├── CraftGrindstone.java │ │ ├── CraftHangingMoss.java │ │ ├── CraftHangingRoots.java │ │ ├── CraftHay.java │ │ ├── CraftHeavyCore.java │ │ ├── CraftHopper.java │ │ ├── CraftHugeMushroom.java │ │ ├── CraftInfestedRotatedPillar.java │ │ ├── CraftIronBars.java │ │ ├── CraftJigsaw.java │ │ ├── CraftJukebox.java │ │ ├── CraftKelp.java │ │ ├── CraftLadder.java │ │ ├── CraftLantern.java │ │ ├── CraftLayeredCauldron.java │ │ ├── CraftLeafLitter.java │ │ ├── CraftLectern.java │ │ ├── CraftLever.java │ │ ├── CraftLight.java │ │ ├── CraftLightningRod.java │ │ ├── CraftLiquid.java │ │ ├── CraftLoom.java │ │ ├── CraftMangroveLeaves.java │ │ ├── CraftMangrovePropagule.java │ │ ├── CraftMangroveRoots.java │ │ ├── CraftMossyCarpet.java │ │ ├── CraftMovingPiston.java │ │ ├── CraftMultiface.java │ │ ├── CraftMycelium.java │ │ ├── CraftNetherPortal.java │ │ ├── CraftNetherWart.java │ │ ├── CraftNoteBlock.java │ │ ├── CraftObserver.java │ │ ├── CraftPiglinWallSkull.java │ │ ├── CraftPistonBase.java │ │ ├── CraftPistonHead.java │ │ ├── CraftPitcherCrop.java │ │ ├── CraftPlayerHead.java │ │ ├── CraftPlayerWallHead.java │ │ ├── CraftPointedDripstone.java │ │ ├── CraftPotato.java │ │ ├── CraftPoweredRail.java │ │ ├── CraftPressurePlate.java │ │ ├── CraftRail.java │ │ ├── CraftRedStoneOre.java │ │ ├── CraftRedStoneWire.java │ │ ├── CraftRedstoneLamp.java │ │ ├── CraftRedstoneTorch.java │ │ ├── CraftRedstoneWallTorch.java │ │ ├── CraftRepeater.java │ │ ├── CraftRespawnAnchor.java │ │ ├── CraftRotatedPillar.java │ │ ├── CraftSapling.java │ │ ├── CraftScaffolding.java │ │ ├── CraftSculkCatalyst.java │ │ ├── CraftSculkSensor.java │ │ ├── CraftSculkShrieker.java │ │ ├── CraftSculkVein.java │ │ ├── CraftSeaPickle.java │ │ ├── CraftShulkerBox.java │ │ ├── CraftSkull.java │ │ ├── CraftSlab.java │ │ ├── CraftSmallDripleaf.java │ │ ├── CraftSmoker.java │ │ ├── CraftSnifferEgg.java │ │ ├── CraftSnowLayer.java │ │ ├── CraftSnowyDirt.java │ │ ├── CraftStainedGlassPane.java │ │ ├── CraftStair.java │ │ ├── CraftStandingSign.java │ │ ├── CraftStem.java │ │ ├── CraftStonecutter.java │ │ ├── CraftStructureBlock.java │ │ ├── CraftSugarCane.java │ │ ├── CraftSweetBerryBush.java │ │ ├── CraftTallFlower.java │ │ ├── CraftTallSeagrass.java │ │ ├── CraftTarget.java │ │ ├── CraftTestBlock.java │ │ ├── CraftTintedParticleLeaves.java │ │ ├── CraftTnt.java │ │ ├── CraftTorchflowerCrop.java │ │ ├── CraftTrapDoor.java │ │ ├── CraftTrappedChest.java │ │ ├── CraftTrialSpawner.java │ │ ├── CraftTripWire.java │ │ ├── CraftTripWireHook.java │ │ ├── CraftTurtleEgg.java │ │ ├── CraftTwistingVines.java │ │ ├── CraftUntintedParticleLeaves.java │ │ ├── CraftVault.java │ │ ├── CraftVine.java │ │ ├── CraftWall.java │ │ ├── CraftWallBanner.java │ │ ├── CraftWallHangingSign.java │ │ ├── CraftWallSign.java │ │ ├── CraftWallSkull.java │ │ ├── CraftWallTorch.java │ │ ├── CraftWaterloggedTransparent.java │ │ ├── CraftWeatheringCopperBulb.java │ │ ├── CraftWeatheringCopperDoor.java │ │ ├── CraftWeatheringCopperGrate.java │ │ ├── CraftWeatheringCopperSlab.java │ │ ├── CraftWeatheringCopperStair.java │ │ ├── CraftWeatheringCopperTrapDoor.java │ │ ├── CraftWeepingVines.java │ │ ├── CraftWeightedPressurePlate.java │ │ ├── CraftWitherSkull.java │ │ └── CraftWitherWallSkull.java │ ├── log4jPlugins │ └── java │ │ └── io │ │ └── papermc │ │ └── paper │ │ ├── console │ │ └── StripANSIConverter.java │ │ └── logging │ │ ├── DelegateLogEvent.java │ │ ├── ExtraClassInfoLogEvent.java │ │ ├── ExtraClassInfoRewritePolicy.java │ │ └── StacktraceDeobfuscatingRewritePolicy.java │ ├── main │ ├── java │ │ ├── ca │ │ │ └── spottedleaf │ │ │ │ └── moonrise │ │ │ │ └── common │ │ │ │ ├── PlatformHooks.java │ │ │ │ ├── list │ │ │ │ ├── EntityList.java │ │ │ │ ├── IntList.java │ │ │ │ ├── IteratorSafeOrderedReferenceSet.java │ │ │ │ ├── ReferenceList.java │ │ │ │ ├── ShortList.java │ │ │ │ └── SortedList.java │ │ │ │ ├── map │ │ │ │ ├── Int2IntArraySortedMap.java │ │ │ │ ├── Int2ObjectArraySortedMap.java │ │ │ │ ├── Long2IntArraySortedMap.java │ │ │ │ ├── Long2ObjectArraySortedMap.java │ │ │ │ ├── SynchronisedLong2BooleanMap.java │ │ │ │ └── SynchronisedLong2ObjectMap.java │ │ │ │ ├── misc │ │ │ │ ├── AllocatingRateLimiter.java │ │ │ │ ├── Delayed26WayDistancePropagator3D.java │ │ │ │ ├── Delayed8WayDistancePropagator2D.java │ │ │ │ ├── LazyRunnable.java │ │ │ │ ├── PositionCountingAreaMap.java │ │ │ │ └── SingleUserAreaMap.java │ │ │ │ ├── set │ │ │ │ └── OptimizedSmallEnumSet.java │ │ │ │ └── util │ │ │ │ ├── ChunkSystemHooks.java │ │ │ │ ├── CoordinateUtils.java │ │ │ │ ├── EntityUtil.java │ │ │ │ ├── FlatBitsetUtil.java │ │ │ │ ├── JsonUtil.java │ │ │ │ ├── MixinWorkarounds.java │ │ │ │ ├── MoonriseCommon.java │ │ │ │ ├── MoonriseConstants.java │ │ │ │ ├── SimpleThreadUnsafeRandom.java │ │ │ │ ├── ThreadUnsafeRandom.java │ │ │ │ ├── TickThread.java │ │ │ │ └── WorldUtil.java │ │ ├── com │ │ │ └── destroystokyo │ │ │ │ └── paper │ │ │ │ ├── Metrics.java │ │ │ │ ├── PaperConfig.java │ │ │ │ ├── PaperSkinParts.java │ │ │ │ ├── PaperVersionFetcher.java │ │ │ │ ├── PaperWorldConfig.java │ │ │ │ ├── ServerSchedulerReportingWrapper.java │ │ │ │ ├── VersionHistoryManager.java │ │ │ │ ├── block │ │ │ │ └── CraftBlockSoundGroup.java │ │ │ │ ├── console │ │ │ │ ├── PaperConsole.java │ │ │ │ └── TerminalConsoleCommandSender.java │ │ │ │ ├── entity │ │ │ │ ├── CraftRangedEntity.java │ │ │ │ ├── PaperPathfinder.java │ │ │ │ └── ai │ │ │ │ │ ├── MobGoalHelper.java │ │ │ │ │ ├── PaperCustomGoal.java │ │ │ │ │ ├── PaperGoal.java │ │ │ │ │ └── PaperMobGoals.java │ │ │ │ ├── gui │ │ │ │ ├── GraphColor.java │ │ │ │ ├── GraphData.java │ │ │ │ ├── GuiStatsComponent.java │ │ │ │ ├── RAMDetails.java │ │ │ │ └── RAMGraph.java │ │ │ │ ├── io │ │ │ │ └── SyncLoadFinder.java │ │ │ │ ├── loottable │ │ │ │ ├── PaperLootable.java │ │ │ │ ├── PaperLootableBlock.java │ │ │ │ ├── PaperLootableBlockInventory.java │ │ │ │ ├── PaperLootableEntity.java │ │ │ │ ├── PaperLootableEntityInventory.java │ │ │ │ ├── PaperLootableInventory.java │ │ │ │ └── PaperLootableInventoryData.java │ │ │ │ ├── network │ │ │ │ ├── PaperLegacyStatusClient.java │ │ │ │ ├── PaperNetworkClient.java │ │ │ │ ├── PaperServerListPingEventImpl.java │ │ │ │ ├── PaperStatusClient.java │ │ │ │ └── StandardPaperServerListPingEventImpl.java │ │ │ │ ├── profile │ │ │ │ ├── CraftPlayerProfile.java │ │ │ │ ├── PaperAuthenticationService.java │ │ │ │ ├── PaperGameProfileRepository.java │ │ │ │ ├── PaperMinecraftSessionService.java │ │ │ │ └── SharedPlayerProfile.java │ │ │ │ └── proxy │ │ │ │ └── VelocityProxy.java │ │ ├── io │ │ │ └── papermc │ │ │ │ └── paper │ │ │ │ ├── PaperBootstrap.java │ │ │ │ ├── PaperServerInternalAPIBridge.java │ │ │ │ ├── ServerBuildInfoImpl.java │ │ │ │ ├── SparksFly.java │ │ │ │ ├── advancement │ │ │ │ └── PaperAdvancementDisplay.java │ │ │ │ ├── adventure │ │ │ │ ├── AdventureCodecs.java │ │ │ │ ├── AdventureComponent.java │ │ │ │ ├── BossBarImplementationImpl.java │ │ │ │ ├── ChatProcessor.java │ │ │ │ ├── DisplayNames.java │ │ │ │ ├── ImprovedChatDecorator.java │ │ │ │ ├── LazyChatAudienceSet.java │ │ │ │ ├── PaperAdventure.java │ │ │ │ ├── WrapperAwareSerializer.java │ │ │ │ └── providers │ │ │ │ │ ├── BossBarImplementationProvider.java │ │ │ │ │ ├── ClickCallbackProviderImpl.java │ │ │ │ │ ├── ComponentLoggerProviderImpl.java │ │ │ │ │ ├── DataComponentValueConverterProviderImpl.java │ │ │ │ │ ├── GsonComponentSerializerProviderImpl.java │ │ │ │ │ ├── LegacyComponentSerializerProviderImpl.java │ │ │ │ │ ├── MiniMessageProviderImpl.java │ │ │ │ │ ├── NBTLegacyHoverEventSerializer.java │ │ │ │ │ └── PlainTextComponentSerializerProviderImpl.java │ │ │ │ ├── antixray │ │ │ │ ├── BitStorageReader.java │ │ │ │ ├── BitStorageWriter.java │ │ │ │ ├── ChunkPacketBlockController.java │ │ │ │ ├── ChunkPacketBlockControllerAntiXray.java │ │ │ │ ├── ChunkPacketInfo.java │ │ │ │ └── ChunkPacketInfoAntiXray.java │ │ │ │ ├── attribute │ │ │ │ ├── UnmodifiableAttributeInstance.java │ │ │ │ └── UnmodifiableAttributeMap.java │ │ │ │ ├── block │ │ │ │ └── fluid │ │ │ │ │ ├── PaperFluidData.java │ │ │ │ │ ├── package-info.java │ │ │ │ │ └── type │ │ │ │ │ ├── PaperFallingFluidData.java │ │ │ │ │ └── PaperFlowingFluidData.java │ │ │ │ ├── brigadier │ │ │ │ ├── NullCommandSender.java │ │ │ │ └── TagParseCommandSyntaxException.java │ │ │ │ ├── command │ │ │ │ ├── CallbackCommand.java │ │ │ │ ├── CommandUtil.java │ │ │ │ ├── MSPTCommand.java │ │ │ │ ├── PaperCommand.java │ │ │ │ ├── PaperCommands.java │ │ │ │ ├── PaperPluginsCommand.java │ │ │ │ ├── PaperSubcommand.java │ │ │ │ ├── PaperVersionCommand.java │ │ │ │ ├── brigadier │ │ │ │ │ ├── APICommandMeta.java │ │ │ │ │ ├── ApiMirrorRootNode.java │ │ │ │ │ ├── MessageComponentSerializerImpl.java │ │ │ │ │ ├── PaperBrigadier.java │ │ │ │ │ ├── PaperCommandSourceStack.java │ │ │ │ │ ├── PaperCommands.java │ │ │ │ │ ├── PluginVanillaCommandWrapper.java │ │ │ │ │ ├── ShadowBrigNode.java │ │ │ │ │ ├── argument │ │ │ │ │ │ ├── SignedMessageResolverImpl.java │ │ │ │ │ │ ├── VanillaArgumentProviderImpl.java │ │ │ │ │ │ └── WrappedArgumentCommandNode.java │ │ │ │ │ └── bukkit │ │ │ │ │ │ ├── BukkitBrigForwardingMap.java │ │ │ │ │ │ └── BukkitCommandNode.java │ │ │ │ └── subcommands │ │ │ │ │ ├── DumpItemCommand.java │ │ │ │ │ ├── DumpListenersCommand.java │ │ │ │ │ ├── DumpPluginsCommand.java │ │ │ │ │ ├── EntityCommand.java │ │ │ │ │ ├── HeapDumpCommand.java │ │ │ │ │ ├── MobcapsCommand.java │ │ │ │ │ ├── ReloadCommand.java │ │ │ │ │ ├── SyncLoadInfoCommand.java │ │ │ │ │ └── VersionCommand.java │ │ │ │ ├── commands │ │ │ │ ├── DelegatingCommandSource.java │ │ │ │ ├── FeedbackForwardingSender.java │ │ │ │ └── PaperCommandBlockHolder.java │ │ │ │ ├── configuration │ │ │ │ ├── Configuration.java │ │ │ │ ├── ConfigurationLoaders.java │ │ │ │ ├── ConfigurationPart.java │ │ │ │ ├── Configurations.java │ │ │ │ ├── GlobalConfiguration.java │ │ │ │ ├── NestedSetting.java │ │ │ │ ├── PaperConfigurations.java │ │ │ │ ├── PaperServerConfiguration.java │ │ │ │ ├── RemovedConfigurations.java │ │ │ │ ├── WorldConfiguration.java │ │ │ │ ├── constraint │ │ │ │ │ ├── Constraint.java │ │ │ │ │ └── Constraints.java │ │ │ │ ├── legacy │ │ │ │ │ ├── MaxEntityCollisionsInitializer.java │ │ │ │ │ ├── RequiresSpigotInitialization.java │ │ │ │ │ └── SpawnLoadedRangeInitializer.java │ │ │ │ ├── mapping │ │ │ │ │ ├── InnerClassFieldDiscoverer.java │ │ │ │ │ ├── InnerClassInstanceFactory.java │ │ │ │ │ ├── InnerClassInstanceSupplier.java │ │ │ │ │ ├── MergeMap.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── package-info.java │ │ │ │ ├── serializer │ │ │ │ │ ├── ComponentSerializer.java │ │ │ │ │ ├── EngineModeSerializer.java │ │ │ │ │ ├── EnumValueSerializer.java │ │ │ │ │ ├── NbtPathSerializer.java │ │ │ │ │ ├── PacketClassSerializer.java │ │ │ │ │ ├── ResourceLocationSerializer.java │ │ │ │ │ ├── StringRepresentableSerializer.java │ │ │ │ │ ├── collections │ │ │ │ │ │ ├── FastutilMapSerializer.java │ │ │ │ │ │ ├── MapSerializer.java │ │ │ │ │ │ ├── TableSerializer.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── package-info.java │ │ │ │ │ └── registry │ │ │ │ │ │ ├── RegistryEntrySerializer.java │ │ │ │ │ │ ├── RegistryHolderSerializer.java │ │ │ │ │ │ ├── RegistryValueSerializer.java │ │ │ │ │ │ └── package-info.java │ │ │ │ ├── transformation │ │ │ │ │ ├── Transformations.java │ │ │ │ │ ├── global │ │ │ │ │ │ ├── LegacyPaperConfig.java │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ └── versioned │ │ │ │ │ │ │ ├── V29_LogIPs.java │ │ │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── package-info.java │ │ │ │ │ └── world │ │ │ │ │ │ ├── FeatureSeedsGeneration.java │ │ │ │ │ │ ├── LegacyPaperWorldConfig.java │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ └── versioned │ │ │ │ │ │ ├── V29_ZeroWorldHeight.java │ │ │ │ │ │ ├── V30_RenameFilterNbtFromSpawnEgg.java │ │ │ │ │ │ ├── V31_SpawnLoadedRangeToGameRule.java │ │ │ │ │ │ └── package-info.java │ │ │ │ └── type │ │ │ │ │ ├── BooleanOrDefault.java │ │ │ │ │ ├── DespawnRange.java │ │ │ │ │ ├── Duration.java │ │ │ │ │ ├── DurationOrDisabled.java │ │ │ │ │ ├── EngineMode.java │ │ │ │ │ ├── fallback │ │ │ │ │ ├── ArrowDespawnRate.java │ │ │ │ │ ├── AutosavePeriod.java │ │ │ │ │ ├── FallbackValue.java │ │ │ │ │ ├── FallbackValueSerializer.java │ │ │ │ │ ├── Util.java │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── number │ │ │ │ │ ├── BelowZeroToEmpty.java │ │ │ │ │ ├── DoubleOr.java │ │ │ │ │ ├── IntOr.java │ │ │ │ │ ├── OptionalNumSerializer.java │ │ │ │ │ └── package-info.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── console │ │ │ │ ├── BrigadierCommandCompleter.java │ │ │ │ ├── BrigadierCommandHighlighter.java │ │ │ │ ├── BrigadierCompletionMatcher.java │ │ │ │ └── BrigadierConsoleParser.java │ │ │ │ ├── datacomponent │ │ │ │ ├── DataComponentAdapter.java │ │ │ │ ├── DataComponentAdapters.java │ │ │ │ ├── PaperDataComponentType.java │ │ │ │ ├── item │ │ │ │ │ ├── ItemComponentTypesBridgesImpl.java │ │ │ │ │ ├── PaperBannerPatternLayers.java │ │ │ │ │ ├── PaperBlockItemDataProperties.java │ │ │ │ │ ├── PaperBlocksAttacks.java │ │ │ │ │ ├── PaperBundleContents.java │ │ │ │ │ ├── PaperChargedProjectiles.java │ │ │ │ │ ├── PaperConsumable.java │ │ │ │ │ ├── PaperCustomModelData.java │ │ │ │ │ ├── PaperDamageResistant.java │ │ │ │ │ ├── PaperDeathProtection.java │ │ │ │ │ ├── PaperDyedItemColor.java │ │ │ │ │ ├── PaperEnchantable.java │ │ │ │ │ ├── PaperEquippable.java │ │ │ │ │ ├── PaperFireworks.java │ │ │ │ │ ├── PaperFoodProperties.java │ │ │ │ │ ├── PaperItemAdventurePredicate.java │ │ │ │ │ ├── PaperItemArmorTrim.java │ │ │ │ │ ├── PaperItemAttributeModifiers.java │ │ │ │ │ ├── PaperItemContainerContents.java │ │ │ │ │ ├── PaperItemEnchantments.java │ │ │ │ │ ├── PaperItemLore.java │ │ │ │ │ ├── PaperItemTool.java │ │ │ │ │ ├── PaperJukeboxPlayable.java │ │ │ │ │ ├── PaperLodestoneTracker.java │ │ │ │ │ ├── PaperMapDecorations.java │ │ │ │ │ ├── PaperMapId.java │ │ │ │ │ ├── PaperMapItemColor.java │ │ │ │ │ ├── PaperOminousBottleAmplifier.java │ │ │ │ │ ├── PaperPotDecorations.java │ │ │ │ │ ├── PaperPotionContents.java │ │ │ │ │ ├── PaperRepairable.java │ │ │ │ │ ├── PaperResolvableProfile.java │ │ │ │ │ ├── PaperSeededContainerLoot.java │ │ │ │ │ ├── PaperSuspiciousStewEffects.java │ │ │ │ │ ├── PaperTooltipDisplay.java │ │ │ │ │ ├── PaperUseCooldown.java │ │ │ │ │ ├── PaperUseRemainder.java │ │ │ │ │ ├── PaperWeapon.java │ │ │ │ │ ├── PaperWritableBookContent.java │ │ │ │ │ ├── PaperWrittenBookContent.java │ │ │ │ │ ├── blocksattacks │ │ │ │ │ │ ├── BlocksAttacksBridgeImpl.java │ │ │ │ │ │ ├── PaperDamageReduction.java │ │ │ │ │ │ ├── PaperItemDamageFunction.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── consumable │ │ │ │ │ │ ├── ConsumableTypesBridgeImpl.java │ │ │ │ │ │ ├── PaperApplyStatusEffects.java │ │ │ │ │ │ ├── PaperClearAllStatusEffects.java │ │ │ │ │ │ ├── PaperConsumableEffectImpl.java │ │ │ │ │ │ ├── PaperConsumableEffects.java │ │ │ │ │ │ ├── PaperPlaySound.java │ │ │ │ │ │ ├── PaperRemoveStatusEffects.java │ │ │ │ │ │ ├── PaperTeleportRandomly.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ │ ├── datapack │ │ │ │ ├── PaperDatapack.java │ │ │ │ ├── PaperDatapackManager.java │ │ │ │ ├── PaperDatapackRegistrar.java │ │ │ │ ├── PaperDiscoveredDatapack.java │ │ │ │ └── PluginPackSource.java │ │ │ │ ├── entity │ │ │ │ ├── PaperBucketable.java │ │ │ │ ├── PaperLeashable.java │ │ │ │ ├── PaperPlayerGiveResult.java │ │ │ │ ├── PaperSchoolableFish.java │ │ │ │ ├── PaperShearable.java │ │ │ │ └── activation │ │ │ │ │ └── ActivationType.java │ │ │ │ ├── inventory │ │ │ │ ├── BrewingSimpleContainerData.java │ │ │ │ └── PaperInventoryCustomHolderContainer.java │ │ │ │ ├── log │ │ │ │ └── CustomLogManager.java │ │ │ │ ├── logging │ │ │ │ └── SysoutCatcher.java │ │ │ │ ├── network │ │ │ │ ├── ChannelInitializeListener.java │ │ │ │ ├── ChannelInitializeListenerHolder.java │ │ │ │ └── ConnectionEvent.java │ │ │ │ ├── persistence │ │ │ │ └── PaperPersistentDataContainerView.java │ │ │ │ ├── plugin │ │ │ │ ├── PluginInitializerManager.java │ │ │ │ ├── bootstrap │ │ │ │ │ ├── PluginBootstrapContextImpl.java │ │ │ │ │ └── PluginProviderContextImpl.java │ │ │ │ ├── entrypoint │ │ │ │ │ ├── Entrypoint.java │ │ │ │ │ ├── EntrypointHandler.java │ │ │ │ │ ├── LaunchEntryPointHandler.java │ │ │ │ │ ├── classloader │ │ │ │ │ │ ├── BytecodeModifyingURLClassLoader.java │ │ │ │ │ │ ├── ClassloaderBytecodeModifier.java │ │ │ │ │ │ ├── PaperClassloaderBytecodeModifier.java │ │ │ │ │ │ ├── PaperPluginClassLoader.java │ │ │ │ │ │ ├── PaperSimplePluginClassLoader.java │ │ │ │ │ │ └── group │ │ │ │ │ │ │ ├── DependencyBasedPluginClassLoaderGroup.java │ │ │ │ │ │ │ ├── GlobalPluginClassLoaderGroup.java │ │ │ │ │ │ │ ├── LockingClassLoaderGroup.java │ │ │ │ │ │ │ ├── PaperPluginClassLoaderStorage.java │ │ │ │ │ │ │ ├── SimpleListPluginClassLoaderGroup.java │ │ │ │ │ │ │ ├── SingletonPluginClassLoaderGroup.java │ │ │ │ │ │ │ ├── SpigotPluginClassLoaderGroup.java │ │ │ │ │ │ │ └── StaticPluginClassLoaderGroup.java │ │ │ │ │ ├── dependency │ │ │ │ │ │ ├── BootstrapMetaDependencyTree.java │ │ │ │ │ │ ├── DependencyContextHolder.java │ │ │ │ │ │ ├── GraphDependencyContext.java │ │ │ │ │ │ ├── MetaDependencyTree.java │ │ │ │ │ │ └── SimpleMetaDependencyTree.java │ │ │ │ │ └── strategy │ │ │ │ │ │ ├── JohnsonSimpleCycles.java │ │ │ │ │ │ ├── LegacyPluginLoadingStrategy.java │ │ │ │ │ │ ├── PluginGraphCycleException.java │ │ │ │ │ │ ├── ProviderConfiguration.java │ │ │ │ │ │ ├── ProviderLoadingStrategy.java │ │ │ │ │ │ ├── TopographicGraphSorter.java │ │ │ │ │ │ └── modern │ │ │ │ │ │ ├── LoadOrderTree.java │ │ │ │ │ │ └── ModernPluginLoadingStrategy.java │ │ │ │ ├── lifecycle │ │ │ │ │ └── event │ │ │ │ │ │ ├── LifecycleEventRunner.java │ │ │ │ │ │ ├── PaperLifecycleEvent.java │ │ │ │ │ │ ├── PaperLifecycleEventManager.java │ │ │ │ │ │ ├── handler │ │ │ │ │ │ └── configuration │ │ │ │ │ │ │ ├── AbstractLifecycleEventHandlerConfiguration.java │ │ │ │ │ │ │ ├── MonitorLifecycleEventHandlerConfigurationImpl.java │ │ │ │ │ │ │ └── PrioritizedLifecycleEventHandlerConfigurationImpl.java │ │ │ │ │ │ ├── registrar │ │ │ │ │ │ ├── PaperRegistrar.java │ │ │ │ │ │ └── RegistrarEventImpl.java │ │ │ │ │ │ └── types │ │ │ │ │ │ ├── AbstractLifecycleEventType.java │ │ │ │ │ │ ├── LifecycleEventTypeProviderImpl.java │ │ │ │ │ │ ├── MonitorableLifecycleEventType.java │ │ │ │ │ │ ├── OwnerAwareLifecycleEvent.java │ │ │ │ │ │ ├── PaperTagEventTypeProvider.java │ │ │ │ │ │ └── PrioritizableLifecycleEventType.java │ │ │ │ ├── loader │ │ │ │ │ ├── PaperClasspathBuilder.java │ │ │ │ │ └── library │ │ │ │ │ │ └── PaperLibraryStore.java │ │ │ │ ├── manager │ │ │ │ │ ├── DummyBukkitPluginLoader.java │ │ │ │ │ ├── MultiRuntimePluginProviderStorage.java │ │ │ │ │ ├── NormalPaperPermissionManager.java │ │ │ │ │ ├── PaperEventManager.java │ │ │ │ │ ├── PaperPermissionManager.java │ │ │ │ │ ├── PaperPluginInstanceManager.java │ │ │ │ │ ├── PaperPluginManagerImpl.java │ │ │ │ │ ├── RuntimePluginEntrypointHandler.java │ │ │ │ │ ├── SingularRuntimePluginProviderStorage.java │ │ │ │ │ └── StupidSPMPermissionManagerWrapper.java │ │ │ │ ├── provider │ │ │ │ │ ├── PluginProvider.java │ │ │ │ │ ├── ProviderStatus.java │ │ │ │ │ ├── ProviderStatusHolder.java │ │ │ │ │ ├── configuration │ │ │ │ │ │ ├── FlattenedResolver.java │ │ │ │ │ │ ├── LegacyPaperMeta.java │ │ │ │ │ │ ├── LoadOrderConfiguration.java │ │ │ │ │ │ ├── PaperPluginMeta.java │ │ │ │ │ │ ├── serializer │ │ │ │ │ │ │ ├── ImmutableCollectionSerializer.java │ │ │ │ │ │ │ ├── ImmutableListSerializer.java │ │ │ │ │ │ │ ├── PermissionConfigurationSerializer.java │ │ │ │ │ │ │ └── constraints │ │ │ │ │ │ │ │ └── PluginConfigConstraints.java │ │ │ │ │ │ └── type │ │ │ │ │ │ │ ├── DependencyConfiguration.java │ │ │ │ │ │ │ ├── LoadConfiguration.java │ │ │ │ │ │ │ ├── PermissionConfiguration.java │ │ │ │ │ │ │ └── PluginDependencyLifeCycle.java │ │ │ │ │ ├── source │ │ │ │ │ │ ├── DirectoryProviderSource.java │ │ │ │ │ │ ├── FileArrayProviderSource.java │ │ │ │ │ │ ├── FileProviderSource.java │ │ │ │ │ │ ├── PluginFlagProviderSource.java │ │ │ │ │ │ └── ProviderSource.java │ │ │ │ │ └── type │ │ │ │ │ │ ├── PluginFileType.java │ │ │ │ │ │ ├── PluginTypeFactory.java │ │ │ │ │ │ ├── paper │ │ │ │ │ │ ├── PaperBootstrapOrderConfiguration.java │ │ │ │ │ │ ├── PaperLoadOrderConfiguration.java │ │ │ │ │ │ ├── PaperPluginParent.java │ │ │ │ │ │ └── PaperPluginProviderFactory.java │ │ │ │ │ │ └── spigot │ │ │ │ │ │ ├── SpigotLoadOrderConfiguration.java │ │ │ │ │ │ ├── SpigotPluginProvider.java │ │ │ │ │ │ └── SpigotPluginProviderFactory.java │ │ │ │ ├── storage │ │ │ │ │ ├── BootstrapProviderStorage.java │ │ │ │ │ ├── ConfiguredProviderStorage.java │ │ │ │ │ ├── ProviderStorage.java │ │ │ │ │ ├── ServerPluginProviderStorage.java │ │ │ │ │ ├── SimpleProviderStorage.java │ │ │ │ │ └── package-info.java │ │ │ │ └── util │ │ │ │ │ ├── EntrypointUtil.java │ │ │ │ │ └── NamespaceChecker.java │ │ │ │ ├── pluginremap │ │ │ │ ├── DebugLogger.java │ │ │ │ ├── InsertManifestAttribute.java │ │ │ │ ├── PluginRemapper.java │ │ │ │ ├── RemappedPluginIndex.java │ │ │ │ ├── ReobfServer.java │ │ │ │ ├── UnknownOriginRemappedPluginIndex.java │ │ │ │ └── reflect │ │ │ │ │ ├── PaperReflection.java │ │ │ │ │ └── ReflectionRemapper.java │ │ │ │ ├── potion │ │ │ │ ├── PaperPotionBrewer.java │ │ │ │ └── PaperPotionMix.java │ │ │ │ ├── raytracing │ │ │ │ └── PositionedRayTraceConfigurationBuilderImpl.java │ │ │ │ ├── registry │ │ │ │ ├── HolderableBase.java │ │ │ │ ├── PaperRegistries.java │ │ │ │ ├── PaperRegistryAccess.java │ │ │ │ ├── PaperRegistryBuilder.java │ │ │ │ ├── PaperRegistryBuilderFactory.java │ │ │ │ ├── PaperRegistryListenerManager.java │ │ │ │ ├── PaperSimpleRegistry.java │ │ │ │ ├── RegistryHolder.java │ │ │ │ ├── WritableCraftRegistry.java │ │ │ │ ├── data │ │ │ │ │ ├── InlinedRegistryBuilderProviderImpl.java │ │ │ │ │ ├── PaperBannerPatternRegistryEntry.java │ │ │ │ │ ├── PaperCatTypeRegistryEntry.java │ │ │ │ │ ├── PaperChickenVariantRegistryEntry.java │ │ │ │ │ ├── PaperCowVariantRegistryEntry.java │ │ │ │ │ ├── PaperDamageTypeRegistryEntry.java │ │ │ │ │ ├── PaperEnchantmentRegistryEntry.java │ │ │ │ │ ├── PaperFrogVariantRegistryEntry.java │ │ │ │ │ ├── PaperGameEventRegistryEntry.java │ │ │ │ │ ├── PaperPaintingVariantRegistryEntry.java │ │ │ │ │ ├── PaperPigVariantRegistryEntry.java │ │ │ │ │ ├── PaperWolfVariantRegistryEntry.java │ │ │ │ │ ├── package-info.java │ │ │ │ │ └── util │ │ │ │ │ │ ├── Checks.java │ │ │ │ │ │ ├── Conversions.java │ │ │ │ │ │ └── package-info.java │ │ │ │ ├── entry │ │ │ │ │ ├── RegistryEntry.java │ │ │ │ │ ├── RegistryEntryBuilder.java │ │ │ │ │ ├── RegistryEntryImpl.java │ │ │ │ │ ├── RegistryEntryMeta.java │ │ │ │ │ ├── RegistryTypeMapper.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── event │ │ │ │ │ ├── RegistryEntryAddEventImpl.java │ │ │ │ │ ├── RegistryEventMap.java │ │ │ │ │ ├── RegistryEventTypeProviderImpl.java │ │ │ │ │ ├── RegistryFreezeEventImpl.java │ │ │ │ │ ├── package-info.java │ │ │ │ │ └── type │ │ │ │ │ │ ├── RegistryEntryAddEventTypeImpl.java │ │ │ │ │ │ ├── RegistryEntryAddHandlerConfiguration.java │ │ │ │ │ │ ├── RegistryLifecycleEventType.java │ │ │ │ │ │ └── package-info.java │ │ │ │ ├── legacy │ │ │ │ │ ├── DelayedRegistry.java │ │ │ │ │ ├── DelayedRegistryEntry.java │ │ │ │ │ ├── LegacyRegistryIdentifiers.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── package-info.java │ │ │ │ └── set │ │ │ │ │ ├── NamedRegistryKeySetImpl.java │ │ │ │ │ ├── PaperRegistrySets.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── tag │ │ │ │ ├── PaperPostFlattenTagRegistrar.java │ │ │ │ ├── PaperPreFlattenTagRegistrar.java │ │ │ │ ├── PaperTagListenerManager.java │ │ │ │ └── TagEventConfig.java │ │ │ │ ├── threadedregions │ │ │ │ ├── EntityScheduler.java │ │ │ │ └── scheduler │ │ │ │ │ ├── FallbackRegionScheduler.java │ │ │ │ │ ├── FoliaAsyncScheduler.java │ │ │ │ │ ├── FoliaEntityScheduler.java │ │ │ │ │ └── FoliaGlobalRegionScheduler.java │ │ │ │ ├── util │ │ │ │ ├── AtomicFiles.java │ │ │ │ ├── Hashing.java │ │ │ │ ├── Holderable.java │ │ │ │ ├── IntervalledCounter.java │ │ │ │ ├── JsonObjectWrapper.java │ │ │ │ ├── LogManagerShutdownThread.java │ │ │ │ ├── MCUtil.java │ │ │ │ ├── MappingEnvironment.java │ │ │ │ ├── ObfHelper.java │ │ │ │ ├── OldEnumHolderable.java │ │ │ │ ├── PaperScoreboardFormat.java │ │ │ │ ├── SafeAutoClosable.java │ │ │ │ ├── ServerEnvironment.java │ │ │ │ ├── ServerStopRejectedExecutionException.java │ │ │ │ ├── ServerWorkerThread.java │ │ │ │ ├── SizeLimitedSet.java │ │ │ │ ├── StackWalkerUtil.java │ │ │ │ ├── StacktraceDeobfuscator.java │ │ │ │ ├── StringPool.java │ │ │ │ ├── TraceUtil.java │ │ │ │ ├── concurrent │ │ │ │ │ └── ScalingThreadPool.java │ │ │ │ └── sanitizer │ │ │ │ │ ├── ItemComponentSanitizer.java │ │ │ │ │ ├── ItemObfuscationBinding.java │ │ │ │ │ ├── ItemObfuscationSession.java │ │ │ │ │ └── OversizedItemComponentSanitizer.java │ │ │ │ └── world │ │ │ │ ├── damagesource │ │ │ │ ├── PaperCombatEntryWrapper.java │ │ │ │ └── PaperCombatTrackerWrapper.java │ │ │ │ ├── flag │ │ │ │ ├── PaperFeatureDependent.java │ │ │ │ └── PaperFeatureFlagProviderImpl.java │ │ │ │ └── worldgen │ │ │ │ └── OptionallyFlatBedrockConditionSource.java │ │ └── org │ │ │ ├── bukkit │ │ │ └── craftbukkit │ │ │ │ ├── CraftArt.java │ │ │ │ ├── CraftChunk.java │ │ │ │ ├── CraftChunkSnapshot.java │ │ │ │ ├── CraftCrashReport.java │ │ │ │ ├── CraftEffect.java │ │ │ │ ├── CraftEquipmentSlot.java │ │ │ │ ├── CraftExplosionResult.java │ │ │ │ ├── CraftFluid.java │ │ │ │ ├── CraftFluidCollisionMode.java │ │ │ │ ├── CraftGameEvent.java │ │ │ │ ├── CraftHeightMap.java │ │ │ │ ├── CraftInput.java │ │ │ │ ├── CraftJukeboxSong.java │ │ │ │ ├── CraftLootTable.java │ │ │ │ ├── CraftMusicInstrument.java │ │ │ │ ├── CraftOfflinePlayer.java │ │ │ │ ├── CraftParticle.java │ │ │ │ ├── CraftRaid.java │ │ │ │ ├── CraftRegionAccessor.java │ │ │ │ ├── CraftRegistry.java │ │ │ │ ├── CraftServer.java │ │ │ │ ├── CraftServerLinks.java │ │ │ │ ├── CraftServerTickManager.java │ │ │ │ ├── CraftSound.java │ │ │ │ ├── CraftSoundGroup.java │ │ │ │ ├── CraftStatistic.java │ │ │ │ ├── CraftWorld.java │ │ │ │ ├── CraftWorldBorder.java │ │ │ │ ├── Main.java │ │ │ │ ├── Overridden.java │ │ │ │ ├── advancement │ │ │ │ ├── CraftAdvancement.java │ │ │ │ ├── CraftAdvancementDisplay.java │ │ │ │ ├── CraftAdvancementProgress.java │ │ │ │ ├── CraftAdvancementRequirement.java │ │ │ │ └── CraftAdvancementRequirements.java │ │ │ │ ├── attribute │ │ │ │ ├── AttributeMappings.java │ │ │ │ ├── CraftAttribute.java │ │ │ │ ├── CraftAttributeInstance.java │ │ │ │ └── CraftAttributeMap.java │ │ │ │ ├── ban │ │ │ │ ├── CraftIpBanEntry.java │ │ │ │ ├── CraftIpBanList.java │ │ │ │ ├── CraftProfileBanEntry.java │ │ │ │ └── CraftProfileBanList.java │ │ │ │ ├── block │ │ │ │ ├── CapturedBlockState.java │ │ │ │ ├── CraftBanner.java │ │ │ │ ├── CraftBarrel.java │ │ │ │ ├── CraftBeacon.java │ │ │ │ ├── CraftBed.java │ │ │ │ ├── CraftBeehive.java │ │ │ │ ├── CraftBell.java │ │ │ │ ├── CraftBiome.java │ │ │ │ ├── CraftBlastFurnace.java │ │ │ │ ├── CraftBlock.java │ │ │ │ ├── CraftBlockEntityState.java │ │ │ │ ├── CraftBlockState.java │ │ │ │ ├── CraftBlockStates.java │ │ │ │ ├── CraftBlockSupport.java │ │ │ │ ├── CraftBlockType.java │ │ │ │ ├── CraftBrewingStand.java │ │ │ │ ├── CraftBrushableBlock.java │ │ │ │ ├── CraftCalibratedSculkSensor.java │ │ │ │ ├── CraftCampfire.java │ │ │ │ ├── CraftChest.java │ │ │ │ ├── CraftChiseledBookshelf.java │ │ │ │ ├── CraftCommandBlock.java │ │ │ │ ├── CraftComparator.java │ │ │ │ ├── CraftConduit.java │ │ │ │ ├── CraftContainer.java │ │ │ │ ├── CraftCrafter.java │ │ │ │ ├── CraftCreakingHeart.java │ │ │ │ ├── CraftCreatureSpawner.java │ │ │ │ ├── CraftDaylightDetector.java │ │ │ │ ├── CraftDecoratedPot.java │ │ │ │ ├── CraftDispenser.java │ │ │ │ ├── CraftDropper.java │ │ │ │ ├── CraftEnchantingTable.java │ │ │ │ ├── CraftEndGateway.java │ │ │ │ ├── CraftEndPortal.java │ │ │ │ ├── CraftEnderChest.java │ │ │ │ ├── CraftFurnace.java │ │ │ │ ├── CraftFurnaceFurnace.java │ │ │ │ ├── CraftHangingSign.java │ │ │ │ ├── CraftHopper.java │ │ │ │ ├── CraftJigsaw.java │ │ │ │ ├── CraftJukebox.java │ │ │ │ ├── CraftLectern.java │ │ │ │ ├── CraftLootable.java │ │ │ │ ├── CraftMovingPiston.java │ │ │ │ ├── CraftSculkCatalyst.java │ │ │ │ ├── CraftSculkSensor.java │ │ │ │ ├── CraftSculkShrieker.java │ │ │ │ ├── CraftShulkerBox.java │ │ │ │ ├── CraftSign.java │ │ │ │ ├── CraftSkull.java │ │ │ │ ├── CraftSmoker.java │ │ │ │ ├── CraftStructureBlock.java │ │ │ │ ├── CraftTestBlock.java │ │ │ │ ├── CraftTestInstanceBlock.java │ │ │ │ ├── CraftTrialSpawner.java │ │ │ │ ├── CraftTrialSpawnerConfiguration.java │ │ │ │ ├── CraftVault.java │ │ │ │ ├── banner │ │ │ │ │ └── CraftPatternType.java │ │ │ │ ├── data │ │ │ │ │ └── CraftBlockData.java │ │ │ │ └── sign │ │ │ │ │ └── CraftSignSide.java │ │ │ │ ├── bootstrap │ │ │ │ └── Main.java │ │ │ │ ├── boss │ │ │ │ ├── CraftBossBar.java │ │ │ │ ├── CraftDragonBattle.java │ │ │ │ └── CraftKeyedBossbar.java │ │ │ │ ├── command │ │ │ │ ├── BukkitCommandWrapper.java │ │ │ │ ├── ConsoleCommandCompleter.java │ │ │ │ ├── CraftBlockCommandSender.java │ │ │ │ ├── CraftCommandMap.java │ │ │ │ ├── CraftConsoleCommandSender.java │ │ │ │ ├── CraftRemoteConsoleCommandSender.java │ │ │ │ ├── ProxiedNativeCommandSender.java │ │ │ │ ├── ServerCommandSender.java │ │ │ │ └── VanillaCommandWrapper.java │ │ │ │ ├── configuration │ │ │ │ └── ConfigSerializationUtil.java │ │ │ │ ├── conversations │ │ │ │ └── ConversationTracker.java │ │ │ │ ├── damage │ │ │ │ ├── CraftDamageEffect.java │ │ │ │ ├── CraftDamageSource.java │ │ │ │ ├── CraftDamageSourceBuilder.java │ │ │ │ └── CraftDamageType.java │ │ │ │ ├── enchantments │ │ │ │ └── CraftEnchantment.java │ │ │ │ ├── entity │ │ │ │ ├── AbstractProjectile.java │ │ │ │ ├── CraftAbstractArrow.java │ │ │ │ ├── CraftAbstractCow.java │ │ │ │ ├── CraftAbstractHorse.java │ │ │ │ ├── CraftAbstractSkeleton.java │ │ │ │ ├── CraftAbstractVillager.java │ │ │ │ ├── CraftAbstractWindCharge.java │ │ │ │ ├── CraftAgeable.java │ │ │ │ ├── CraftAllay.java │ │ │ │ ├── CraftAmbient.java │ │ │ │ ├── CraftAnimals.java │ │ │ │ ├── CraftAreaEffectCloud.java │ │ │ │ ├── CraftArmadillo.java │ │ │ │ ├── CraftArmorStand.java │ │ │ │ ├── CraftArrow.java │ │ │ │ ├── CraftAxolotl.java │ │ │ │ ├── CraftBat.java │ │ │ │ ├── CraftBee.java │ │ │ │ ├── CraftBlaze.java │ │ │ │ ├── CraftBlockAttachedEntity.java │ │ │ │ ├── CraftBlockDisplay.java │ │ │ │ ├── CraftBoat.java │ │ │ │ ├── CraftBogged.java │ │ │ │ ├── CraftBreeze.java │ │ │ │ ├── CraftBreezeWindCharge.java │ │ │ │ ├── CraftCamel.java │ │ │ │ ├── CraftCat.java │ │ │ │ ├── CraftCaveSpider.java │ │ │ │ ├── CraftChestBoat.java │ │ │ │ ├── CraftChestedHorse.java │ │ │ │ ├── CraftChicken.java │ │ │ │ ├── CraftCod.java │ │ │ │ ├── CraftComplexPart.java │ │ │ │ ├── CraftCow.java │ │ │ │ ├── CraftCreaking.java │ │ │ │ ├── CraftCreature.java │ │ │ │ ├── CraftCreeper.java │ │ │ │ ├── CraftDisplay.java │ │ │ │ ├── CraftDolphin.java │ │ │ │ ├── CraftDonkey.java │ │ │ │ ├── CraftDragonFireball.java │ │ │ │ ├── CraftDrowned.java │ │ │ │ ├── CraftEgg.java │ │ │ │ ├── CraftElderGuardian.java │ │ │ │ ├── CraftEnderCrystal.java │ │ │ │ ├── CraftEnderDragon.java │ │ │ │ ├── CraftEnderDragonPart.java │ │ │ │ ├── CraftEnderPearl.java │ │ │ │ ├── CraftEnderSignal.java │ │ │ │ ├── CraftEnderman.java │ │ │ │ ├── CraftEndermite.java │ │ │ │ ├── CraftEnemy.java │ │ │ │ ├── CraftEntity.java │ │ │ │ ├── CraftEntityFactory.java │ │ │ │ ├── CraftEntitySnapshot.java │ │ │ │ ├── CraftEntityType.java │ │ │ │ ├── CraftEntityTypes.java │ │ │ │ ├── CraftEvoker.java │ │ │ │ ├── CraftEvokerFangs.java │ │ │ │ ├── CraftExperienceOrb.java │ │ │ │ ├── CraftFallingBlock.java │ │ │ │ ├── CraftFireball.java │ │ │ │ ├── CraftFirework.java │ │ │ │ ├── CraftFish.java │ │ │ │ ├── CraftFishHook.java │ │ │ │ ├── CraftFlying.java │ │ │ │ ├── CraftFox.java │ │ │ │ ├── CraftFrog.java │ │ │ │ ├── CraftGhast.java │ │ │ │ ├── CraftGiant.java │ │ │ │ ├── CraftGlowItemFrame.java │ │ │ │ ├── CraftGlowSquid.java │ │ │ │ ├── CraftGoat.java │ │ │ │ ├── CraftGolem.java │ │ │ │ ├── CraftGuardian.java │ │ │ │ ├── CraftHanging.java │ │ │ │ ├── CraftHoglin.java │ │ │ │ ├── CraftHorse.java │ │ │ │ ├── CraftHumanEntity.java │ │ │ │ ├── CraftHusk.java │ │ │ │ ├── CraftIllager.java │ │ │ │ ├── CraftIllusioner.java │ │ │ │ ├── CraftInteraction.java │ │ │ │ ├── CraftIronGolem.java │ │ │ │ ├── CraftItem.java │ │ │ │ ├── CraftItemDisplay.java │ │ │ │ ├── CraftItemFrame.java │ │ │ │ ├── CraftLargeFireball.java │ │ │ │ ├── CraftLeash.java │ │ │ │ ├── CraftLightningStrike.java │ │ │ │ ├── CraftLivingEntity.java │ │ │ │ ├── CraftLlama.java │ │ │ │ ├── CraftLlamaSpit.java │ │ │ │ ├── CraftMagmaCube.java │ │ │ │ ├── CraftMarker.java │ │ │ │ ├── CraftMinecart.java │ │ │ │ ├── CraftMinecartChest.java │ │ │ │ ├── CraftMinecartCommand.java │ │ │ │ ├── CraftMinecartContainer.java │ │ │ │ ├── CraftMinecartFurnace.java │ │ │ │ ├── CraftMinecartHopper.java │ │ │ │ ├── CraftMinecartMobSpawner.java │ │ │ │ ├── CraftMinecartRideable.java │ │ │ │ ├── CraftMinecartTNT.java │ │ │ │ ├── CraftMob.java │ │ │ │ ├── CraftMonster.java │ │ │ │ ├── CraftMule.java │ │ │ │ ├── CraftMushroomCow.java │ │ │ │ ├── CraftOcelot.java │ │ │ │ ├── CraftOminousItemSpawner.java │ │ │ │ ├── CraftPainting.java │ │ │ │ ├── CraftPanda.java │ │ │ │ ├── CraftParrot.java │ │ │ │ ├── CraftPhantom.java │ │ │ │ ├── CraftPig.java │ │ │ │ ├── CraftPigZombie.java │ │ │ │ ├── CraftPiglin.java │ │ │ │ ├── CraftPiglinAbstract.java │ │ │ │ ├── CraftPiglinBrute.java │ │ │ │ ├── CraftPillager.java │ │ │ │ ├── CraftPlayer.java │ │ │ │ ├── CraftPolarBear.java │ │ │ │ ├── CraftProjectile.java │ │ │ │ ├── CraftPufferFish.java │ │ │ │ ├── CraftRabbit.java │ │ │ │ ├── CraftRaider.java │ │ │ │ ├── CraftRavager.java │ │ │ │ ├── CraftSalmon.java │ │ │ │ ├── CraftSheep.java │ │ │ │ ├── CraftShulker.java │ │ │ │ ├── CraftShulkerBullet.java │ │ │ │ ├── CraftSilverfish.java │ │ │ │ ├── CraftSizedFireball.java │ │ │ │ ├── CraftSkeleton.java │ │ │ │ ├── CraftSkeletonHorse.java │ │ │ │ ├── CraftSlime.java │ │ │ │ ├── CraftSmallFireball.java │ │ │ │ ├── CraftSniffer.java │ │ │ │ ├── CraftSnowball.java │ │ │ │ ├── CraftSnowman.java │ │ │ │ ├── CraftSpectralArrow.java │ │ │ │ ├── CraftSpellcaster.java │ │ │ │ ├── CraftSpider.java │ │ │ │ ├── CraftSquid.java │ │ │ │ ├── CraftStray.java │ │ │ │ ├── CraftStrider.java │ │ │ │ ├── CraftTNTPrimed.java │ │ │ │ ├── CraftTadpole.java │ │ │ │ ├── CraftTameableAnimal.java │ │ │ │ ├── CraftTextDisplay.java │ │ │ │ ├── CraftThrowableProjectile.java │ │ │ │ ├── CraftThrownExpBottle.java │ │ │ │ ├── CraftThrownLingeringPotion.java │ │ │ │ ├── CraftThrownPotion.java │ │ │ │ ├── CraftThrownSplashPotion.java │ │ │ │ ├── CraftTraderLlama.java │ │ │ │ ├── CraftTrident.java │ │ │ │ ├── CraftTropicalFish.java │ │ │ │ ├── CraftTurtle.java │ │ │ │ ├── CraftVehicle.java │ │ │ │ ├── CraftVex.java │ │ │ │ ├── CraftVillager.java │ │ │ │ ├── CraftVillagerZombie.java │ │ │ │ ├── CraftVindicator.java │ │ │ │ ├── CraftWanderingTrader.java │ │ │ │ ├── CraftWarden.java │ │ │ │ ├── CraftWaterMob.java │ │ │ │ ├── CraftWindCharge.java │ │ │ │ ├── CraftWitch.java │ │ │ │ ├── CraftWither.java │ │ │ │ ├── CraftWitherSkeleton.java │ │ │ │ ├── CraftWitherSkull.java │ │ │ │ ├── CraftWolf.java │ │ │ │ ├── CraftZoglin.java │ │ │ │ ├── CraftZombie.java │ │ │ │ ├── CraftZombieHorse.java │ │ │ │ ├── boat │ │ │ │ │ ├── CraftAcaciaBoat.java │ │ │ │ │ ├── CraftAcaciaChestBoat.java │ │ │ │ │ ├── CraftBambooChestRaft.java │ │ │ │ │ ├── CraftBambooRaft.java │ │ │ │ │ ├── CraftBirchBoat.java │ │ │ │ │ ├── CraftBirchChestBoat.java │ │ │ │ │ ├── CraftCherryBoat.java │ │ │ │ │ ├── CraftCherryChestBoat.java │ │ │ │ │ ├── CraftDarkOakBoat.java │ │ │ │ │ ├── CraftDarkOakChestBoat.java │ │ │ │ │ ├── CraftJungleBoat.java │ │ │ │ │ ├── CraftJungleChestBoat.java │ │ │ │ │ ├── CraftMangroveBoat.java │ │ │ │ │ ├── CraftMangroveChestBoat.java │ │ │ │ │ ├── CraftOakBoat.java │ │ │ │ │ ├── CraftOakChestBoat.java │ │ │ │ │ ├── CraftPaleOakBoat.java │ │ │ │ │ ├── CraftPaleOakChestBoat.java │ │ │ │ │ ├── CraftSpruceBoat.java │ │ │ │ │ └── CraftSpruceChestBoat.java │ │ │ │ └── memory │ │ │ │ │ ├── CraftMemoryKey.java │ │ │ │ │ └── CraftMemoryMapper.java │ │ │ │ ├── event │ │ │ │ ├── CraftEventFactory.java │ │ │ │ └── CraftPortalEvent.java │ │ │ │ ├── generator │ │ │ │ ├── CraftBiomeParameterPoint.java │ │ │ │ ├── CraftChunkData.java │ │ │ │ ├── CraftLimitedRegion.java │ │ │ │ ├── CraftWorldInfo.java │ │ │ │ ├── CustomChunkGenerator.java │ │ │ │ ├── CustomWorldChunkManager.java │ │ │ │ ├── InternalChunkGenerator.java │ │ │ │ ├── OldCraftChunkData.java │ │ │ │ └── structure │ │ │ │ │ ├── CraftGeneratedStructure.java │ │ │ │ │ ├── CraftStructure.java │ │ │ │ │ ├── CraftStructurePiece.java │ │ │ │ │ └── CraftStructureType.java │ │ │ │ ├── help │ │ │ │ ├── CommandAliasHelpTopic.java │ │ │ │ ├── CustomHelpTopic.java │ │ │ │ ├── CustomIndexHelpTopic.java │ │ │ │ ├── HelpTopicAmendment.java │ │ │ │ ├── HelpYamlReader.java │ │ │ │ ├── MultipleCommandAliasHelpTopic.java │ │ │ │ ├── MultipleCommandAliasHelpTopicFactory.java │ │ │ │ └── SimpleHelpMap.java │ │ │ │ ├── inventory │ │ │ │ ├── CraftAbstractInventoryView.java │ │ │ │ ├── CraftBlastingRecipe.java │ │ │ │ ├── CraftBlockInventoryHolder.java │ │ │ │ ├── CraftCampfireRecipe.java │ │ │ │ ├── CraftComplexRecipe.java │ │ │ │ ├── CraftContainer.java │ │ │ │ ├── CraftEntityEquipment.java │ │ │ │ ├── CraftFurnaceRecipe.java │ │ │ │ ├── CraftInventory.java │ │ │ │ ├── CraftInventoryAbstractHorse.java │ │ │ │ ├── CraftInventoryAnvil.java │ │ │ │ ├── CraftInventoryBeacon.java │ │ │ │ ├── CraftInventoryBrewer.java │ │ │ │ ├── CraftInventoryCartography.java │ │ │ │ ├── CraftInventoryChiseledBookshelf.java │ │ │ │ ├── CraftInventoryCrafter.java │ │ │ │ ├── CraftInventoryCrafting.java │ │ │ │ ├── CraftInventoryCustom.java │ │ │ │ ├── CraftInventoryDecoratedPot.java │ │ │ │ ├── CraftInventoryDoubleChest.java │ │ │ │ ├── CraftInventoryEnchanting.java │ │ │ │ ├── CraftInventoryFurnace.java │ │ │ │ ├── CraftInventoryGrindstone.java │ │ │ │ ├── CraftInventoryHorse.java │ │ │ │ ├── CraftInventoryJukebox.java │ │ │ │ ├── CraftInventoryLectern.java │ │ │ │ ├── CraftInventoryLlama.java │ │ │ │ ├── CraftInventoryLoom.java │ │ │ │ ├── CraftInventoryMerchant.java │ │ │ │ ├── CraftInventoryPlayer.java │ │ │ │ ├── CraftInventorySmithing.java │ │ │ │ ├── CraftInventoryStonecutter.java │ │ │ │ ├── CraftInventoryView.java │ │ │ │ ├── CraftItemCraftResult.java │ │ │ │ ├── CraftItemFactory.java │ │ │ │ ├── CraftItemFlag.java │ │ │ │ ├── CraftItemMetas.java │ │ │ │ ├── CraftItemStack.java │ │ │ │ ├── CraftItemType.java │ │ │ │ ├── CraftMenuType.java │ │ │ │ ├── CraftMerchant.java │ │ │ │ ├── CraftMerchantCustom.java │ │ │ │ ├── CraftMerchantRecipe.java │ │ │ │ ├── CraftMetaArmor.java │ │ │ │ ├── CraftMetaArmorStand.java │ │ │ │ ├── CraftMetaAxolotlBucket.java │ │ │ │ ├── CraftMetaBanner.java │ │ │ │ ├── CraftMetaBlockState.java │ │ │ │ ├── CraftMetaBook.java │ │ │ │ ├── CraftMetaBookSigned.java │ │ │ │ ├── CraftMetaBundle.java │ │ │ │ ├── CraftMetaCharge.java │ │ │ │ ├── CraftMetaColorableArmor.java │ │ │ │ ├── CraftMetaCompass.java │ │ │ │ ├── CraftMetaCrossbow.java │ │ │ │ ├── CraftMetaEnchantedBook.java │ │ │ │ ├── CraftMetaEntityTag.java │ │ │ │ ├── CraftMetaFirework.java │ │ │ │ ├── CraftMetaItem.java │ │ │ │ ├── CraftMetaKnowledgeBook.java │ │ │ │ ├── CraftMetaLeatherArmor.java │ │ │ │ ├── CraftMetaMap.java │ │ │ │ ├── CraftMetaMusicInstrument.java │ │ │ │ ├── CraftMetaOminousBottle.java │ │ │ │ ├── CraftMetaPotion.java │ │ │ │ ├── CraftMetaShield.java │ │ │ │ ├── CraftMetaSkull.java │ │ │ │ ├── CraftMetaSpawnEgg.java │ │ │ │ ├── CraftMetaSuspiciousStew.java │ │ │ │ ├── CraftMetaTropicalFishBucket.java │ │ │ │ ├── CraftRecipe.java │ │ │ │ ├── CraftResultInventory.java │ │ │ │ ├── CraftSaddledInventory.java │ │ │ │ ├── CraftShapedRecipe.java │ │ │ │ ├── CraftShapelessRecipe.java │ │ │ │ ├── CraftSmithingTransformRecipe.java │ │ │ │ ├── CraftSmithingTrimRecipe.java │ │ │ │ ├── CraftSmokingRecipe.java │ │ │ │ ├── CraftStonecuttingRecipe.java │ │ │ │ ├── CraftTransmuteRecipe.java │ │ │ │ ├── InventoryIterator.java │ │ │ │ ├── RecipeIterator.java │ │ │ │ ├── SerializableMeta.java │ │ │ │ ├── components │ │ │ │ │ ├── CraftCustomModelDataComponent.java │ │ │ │ │ ├── CraftEquippableComponent.java │ │ │ │ │ ├── CraftFoodComponent.java │ │ │ │ │ ├── CraftJukeboxComponent.java │ │ │ │ │ ├── CraftToolComponent.java │ │ │ │ │ └── CraftUseCooldownComponent.java │ │ │ │ ├── tags │ │ │ │ │ ├── DeprecatedContainerTagType.java │ │ │ │ │ ├── DeprecatedCustomTagContainer.java │ │ │ │ │ ├── DeprecatedItemAdapterContext.java │ │ │ │ │ └── DeprecatedItemTagType.java │ │ │ │ ├── trim │ │ │ │ │ ├── CraftTrimMaterial.java │ │ │ │ │ └── CraftTrimPattern.java │ │ │ │ ├── util │ │ │ │ │ ├── CraftBlockInventoryConverter.java │ │ │ │ │ ├── CraftCustomInventoryConverter.java │ │ │ │ │ ├── CraftInventoryCreator.java │ │ │ │ │ └── CraftMenus.java │ │ │ │ └── view │ │ │ │ │ ├── CraftAnvilView.java │ │ │ │ │ ├── CraftBeaconView.java │ │ │ │ │ ├── CraftBrewingStandView.java │ │ │ │ │ ├── CraftCrafterView.java │ │ │ │ │ ├── CraftEnchantmentView.java │ │ │ │ │ ├── CraftFurnaceView.java │ │ │ │ │ ├── CraftLecternView.java │ │ │ │ │ ├── CraftLoomView.java │ │ │ │ │ ├── CraftMerchantView.java │ │ │ │ │ ├── CraftStonecutterView.java │ │ │ │ │ └── builder │ │ │ │ │ ├── CraftAbstractInventoryViewBuilder.java │ │ │ │ │ ├── CraftAbstractLocationInventoryViewBuilder.java │ │ │ │ │ ├── CraftAccessLocationInventoryViewBuilder.java │ │ │ │ │ ├── CraftBlockEntityInventoryViewBuilder.java │ │ │ │ │ ├── CraftDoubleChestInventoryViewBuilder.java │ │ │ │ │ ├── CraftEnchantmentInventoryViewBuilder.java │ │ │ │ │ ├── CraftMerchantInventoryViewBuilder.java │ │ │ │ │ ├── CraftStandardInventoryViewBuilder.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── legacy │ │ │ │ ├── CraftEvil.java │ │ │ │ ├── CraftLegacy.java │ │ │ │ ├── FieldRename.java │ │ │ │ ├── MaterialRerouting.java │ │ │ │ ├── MethodRerouting.java │ │ │ │ ├── enums │ │ │ │ │ ├── DummyEnum.java │ │ │ │ │ ├── EnumEvil.java │ │ │ │ │ ├── ImposterEnumMap.java │ │ │ │ │ └── ImposterEnumSet.java │ │ │ │ ├── fieldrename │ │ │ │ │ └── FieldRenameData.java │ │ │ │ └── reroute │ │ │ │ │ ├── DoNotReroute.java │ │ │ │ │ ├── InjectCompatibility.java │ │ │ │ │ ├── InjectPluginName.java │ │ │ │ │ ├── InjectPluginVersion.java │ │ │ │ │ ├── NotInBukkit.java │ │ │ │ │ ├── RequireCompatibility.java │ │ │ │ │ ├── RequirePluginVersion.java │ │ │ │ │ ├── RequirePluginVersionData.java │ │ │ │ │ ├── Reroute.java │ │ │ │ │ ├── RerouteArgument.java │ │ │ │ │ ├── RerouteArgumentType.java │ │ │ │ │ ├── RerouteBuilder.java │ │ │ │ │ ├── RerouteMethodData.java │ │ │ │ │ ├── RerouteMethodName.java │ │ │ │ │ ├── RerouteReturn.java │ │ │ │ │ ├── RerouteReturnType.java │ │ │ │ │ └── RerouteStatic.java │ │ │ │ ├── map │ │ │ │ ├── CraftMapCanvas.java │ │ │ │ ├── CraftMapColorCache.java │ │ │ │ ├── CraftMapCursor.java │ │ │ │ ├── CraftMapRenderer.java │ │ │ │ ├── CraftMapView.java │ │ │ │ └── RenderData.java │ │ │ │ ├── metadata │ │ │ │ ├── BlockMetadataStore.java │ │ │ │ ├── EntityMetadataStore.java │ │ │ │ ├── PlayerMetadataStore.java │ │ │ │ └── WorldMetadataStore.java │ │ │ │ ├── packs │ │ │ │ ├── CraftDataPack.java │ │ │ │ ├── CraftDataPackManager.java │ │ │ │ └── CraftResourcePack.java │ │ │ │ ├── persistence │ │ │ │ ├── CraftPersistentDataAdapterContext.java │ │ │ │ ├── CraftPersistentDataContainer.java │ │ │ │ ├── CraftPersistentDataTypeRegistry.java │ │ │ │ └── DirtyCraftPersistentDataContainer.java │ │ │ │ ├── potion │ │ │ │ ├── CraftPotionEffectType.java │ │ │ │ ├── CraftPotionEffectTypeCategory.java │ │ │ │ ├── CraftPotionType.java │ │ │ │ └── CraftPotionUtil.java │ │ │ │ ├── profile │ │ │ │ ├── CraftPlayerProfile.java │ │ │ │ ├── CraftPlayerTextures.java │ │ │ │ └── CraftProfileProperty.java │ │ │ │ ├── projectiles │ │ │ │ └── CraftBlockProjectileSource.java │ │ │ │ ├── scheduler │ │ │ │ ├── CraftAsyncDebugger.java │ │ │ │ ├── CraftAsyncScheduler.java │ │ │ │ ├── CraftAsyncTask.java │ │ │ │ ├── CraftFuture.java │ │ │ │ ├── CraftScheduler.java │ │ │ │ └── CraftTask.java │ │ │ │ ├── scoreboard │ │ │ │ ├── CraftCriteria.java │ │ │ │ ├── CraftObjective.java │ │ │ │ ├── CraftScore.java │ │ │ │ ├── CraftScoreboard.java │ │ │ │ ├── CraftScoreboardComponent.java │ │ │ │ ├── CraftScoreboardManager.java │ │ │ │ ├── CraftScoreboardTranslations.java │ │ │ │ └── CraftTeam.java │ │ │ │ ├── spawner │ │ │ │ └── PaperSharedSpawnerLogic.java │ │ │ │ ├── structure │ │ │ │ ├── CraftPalette.java │ │ │ │ ├── CraftStructure.java │ │ │ │ └── CraftStructureManager.java │ │ │ │ ├── tag │ │ │ │ ├── CraftBlockTag.java │ │ │ │ ├── CraftDamageTag.java │ │ │ │ ├── CraftEntityTag.java │ │ │ │ ├── CraftFluidTag.java │ │ │ │ ├── CraftGameEventTag.java │ │ │ │ ├── CraftItemTag.java │ │ │ │ └── CraftTag.java │ │ │ │ └── util │ │ │ │ ├── ApiVersion.java │ │ │ │ ├── BlockStateListPopulator.java │ │ │ │ ├── ClassTraverser.java │ │ │ │ ├── Commodore.java │ │ │ │ ├── CraftBiomeSearchResult.java │ │ │ │ ├── CraftBlockVector.java │ │ │ │ ├── CraftChatMessage.java │ │ │ │ ├── CraftDimensionUtil.java │ │ │ │ ├── CraftIconCache.java │ │ │ │ ├── CraftLegacy.java │ │ │ │ ├── CraftLocation.java │ │ │ │ ├── CraftMagicNumbers.java │ │ │ │ ├── CraftNBTTagConfigSerializer.java │ │ │ │ ├── CraftNamespacedKey.java │ │ │ │ ├── CraftRayTraceResult.java │ │ │ │ ├── CraftSpawnCategory.java │ │ │ │ ├── CraftStructureSearchResult.java │ │ │ │ ├── CraftStructureTransformer.java │ │ │ │ ├── CraftVector.java │ │ │ │ ├── CraftVoxelShape.java │ │ │ │ ├── DelegatedGeneratorAccess.java │ │ │ │ ├── DummyGeneratorAccess.java │ │ │ │ ├── ForwardLogHandler.java │ │ │ │ ├── Handleable.java │ │ │ │ ├── JsonHelper.java │ │ │ │ ├── LazyHashSet.java │ │ │ │ ├── LazyPlayerSet.java │ │ │ │ ├── LimitedClassRemapper.java │ │ │ │ ├── RandomSourceWrapper.java │ │ │ │ ├── ServerShutdownThread.java │ │ │ │ ├── TransformerGeneratorAccess.java │ │ │ │ ├── UnsafeList.java │ │ │ │ ├── Versioning.java │ │ │ │ ├── Waitable.java │ │ │ │ ├── WeakCollection.java │ │ │ │ ├── WorldUUID.java │ │ │ │ └── permissions │ │ │ │ ├── CommandPermissions.java │ │ │ │ └── CraftDefaultPermissions.java │ │ │ └── spigotmc │ │ │ ├── AsyncCatcher.java │ │ │ ├── LimitStream.java │ │ │ ├── RestartCommand.java │ │ │ ├── SpigotCommand.java │ │ │ ├── SpigotConfig.java │ │ │ ├── SpigotWorldConfig.java │ │ │ ├── TickLimiter.java │ │ │ ├── TicksPerSecondCommand.java │ │ │ ├── TrackingRange.java │ │ │ └── WatchdogThread.java │ └── resources │ │ ├── META-INF │ │ └── services │ │ │ ├── ca.spottedleaf.moonrise.common.PlatformHooks │ │ │ ├── io.papermc.paper.InternalAPIBridge │ │ │ ├── io.papermc.paper.ServerBuildInfo │ │ │ ├── io.papermc.paper.command.brigadier.CommandBuilderProvider │ │ │ ├── io.papermc.paper.command.brigadier.MessageComponentSerializer │ │ │ ├── io.papermc.paper.command.brigadier.argument.VanillaArgumentProvider │ │ │ ├── io.papermc.paper.datacomponent.item.ItemComponentTypesBridge │ │ │ ├── io.papermc.paper.datacomponent.item.blocksattacks.BlocksAttacksBridge │ │ │ ├── io.papermc.paper.datacomponent.item.consumable.ConsumableTypesBridge │ │ │ ├── io.papermc.paper.plugin.entrypoint.classloader.ClassloaderBytecodeModifier │ │ │ ├── io.papermc.paper.plugin.lifecycle.event.types.LifecycleEventTypeProvider │ │ │ ├── io.papermc.paper.plugin.provider.classloader.PaperClassLoaderStorage │ │ │ ├── io.papermc.paper.registry.RegistryAccess │ │ │ ├── io.papermc.paper.registry.data.InlinedRegistryBuilderProvider │ │ │ ├── io.papermc.paper.registry.event.RegistryEventTypeProvider │ │ │ ├── io.papermc.paper.world.flag.FeatureFlagProvider │ │ │ ├── io.papermc.paper.world.flag.FeatureFlags$FeatureFlagProvider │ │ │ ├── net.kyori.adventure.bossbar.BossBarImplementation$Provider │ │ │ ├── net.kyori.adventure.text.event.ClickCallback$Provider │ │ │ ├── net.kyori.adventure.text.event.DataComponentValueConverterRegistry$Provider │ │ │ ├── net.kyori.adventure.text.logger.slf4j.ComponentLoggerProvider │ │ │ ├── net.kyori.adventure.text.minimessage.MiniMessage$Provider │ │ │ ├── net.kyori.adventure.text.serializer.gson.GsonComponentSerializer$Provider │ │ │ ├── net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer$Provider │ │ │ ├── net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer$Provider │ │ │ └── org.bukkit.plugin.PluginLoader │ │ ├── configurations │ │ ├── bukkit.yml │ │ ├── commands.yml │ │ └── help.yml │ │ ├── data │ │ └── minecraft │ │ │ └── datapacks │ │ │ └── paper │ │ │ ├── data │ │ │ └── paper │ │ │ │ └── chat_type │ │ │ │ └── raw.json │ │ │ └── pack.mcmeta │ │ ├── log4j2.component.properties │ │ ├── log4j2.xml │ │ └── logo.png │ └── test │ ├── java │ ├── io │ │ └── papermc │ │ │ └── paper │ │ │ ├── advancement │ │ │ └── AdvancementFrameTest.java │ │ │ ├── adventure │ │ │ ├── AdventureCodecsTest.java │ │ │ └── ComponentServicesTest.java │ │ │ ├── attribute │ │ │ └── EntityTypeAttributesTest.java │ │ │ ├── block │ │ │ ├── CraftBlockDataDestroySpeedTest.java │ │ │ └── InstrumentSoundTest.java │ │ │ ├── command │ │ │ ├── brigadier │ │ │ │ ├── BukkitCommandConversionTest.java │ │ │ │ └── DFUCommandArgumentUpgraderCompatTest.java │ │ │ └── subcommands │ │ │ │ └── MobcapsCommandTest.java │ │ │ ├── configuration │ │ │ ├── ConfigurationSectionTest.java │ │ │ ├── GlobalConfigTestingBase.java │ │ │ └── MemorySectionTest.java │ │ │ ├── datacomponent │ │ │ └── DataComponentTypesTest.java │ │ │ ├── effects │ │ │ └── EffectCategoryTest.java │ │ │ ├── entity │ │ │ ├── EntitySetItemSlotSilentOverrideTest.java │ │ │ ├── ShearableDropsTest.java │ │ │ └── ShearableTest.java │ │ │ ├── inventory │ │ │ ├── CraftMetaTropicalFishBucketTest.java │ │ │ ├── item │ │ │ │ ├── ArmorSlotTypeMaterialTest.java │ │ │ │ └── EquipmentSlotGroupTest.java │ │ │ └── recipe │ │ │ │ └── TestRecipeChoice.java │ │ │ ├── item │ │ │ ├── ItemStackDataComponentEqualsTest.java │ │ │ ├── ItemStackDataComponentTest.java │ │ │ └── MetaComparisonTest.java │ │ │ ├── permissions │ │ │ └── MinecraftCommandPermissionsTest.java │ │ │ ├── plugin │ │ │ ├── PaperTestPlugin.java │ │ │ ├── PluginDependencyValidationTest.java │ │ │ ├── PluginLoadOrderTest.java │ │ │ ├── PluginManagerTest.java │ │ │ ├── PluginNamingTest.java │ │ │ ├── SyntheticEventTest.java │ │ │ ├── TestEvent.java │ │ │ ├── TestJavaPluginProvider.java │ │ │ └── TestPluginMeta.java │ │ │ ├── registry │ │ │ ├── LegacyRegistryIdentifierTest.java │ │ │ ├── RegistryBuilderTest.java │ │ │ └── RegistryKeyTest.java │ │ │ ├── util │ │ │ ├── EmptyTag.java │ │ │ ├── ItemStackRepairCheckTest.java │ │ │ ├── MethodParameterProvider.java │ │ │ └── MethodParameterSource.java │ │ │ └── world │ │ │ ├── TranslationKeyTest.java │ │ │ ├── block │ │ │ └── BlockPlayerDestroyOverrideTest.java │ │ │ ├── flag │ │ │ └── FeatureFlagTest.java │ │ │ └── structure │ │ │ └── StructureSeedConfigTest.java │ └── org │ │ └── bukkit │ │ ├── BlockDataConversionTest.java │ │ ├── BlockDataTest.java │ │ ├── ChatTest.java │ │ ├── DyeColorsTest.java │ │ ├── EffectTest.java │ │ ├── EntityEffectTest.java │ │ ├── ExplosionResultTest.java │ │ ├── GameRuleTest.java │ │ ├── InstrumentTest.java │ │ ├── LootTablesTest.java │ │ ├── MaterialTest.java │ │ ├── ParticleTest.java │ │ ├── PerMaterialTest.java │ │ ├── PotionEffectTypeTest.java │ │ ├── SoundTest.java │ │ ├── StatisticsAndAchievementsTest.java │ │ ├── craftbukkit │ │ ├── HeightMapTest.java │ │ ├── block │ │ │ ├── BlockStateTest.java │ │ │ └── BlockTypeTest.java │ │ ├── entity │ │ │ └── EntityTypesTest.java │ │ ├── generator │ │ │ └── ChunkDataTest.java │ │ ├── inventory │ │ │ ├── CompositeSerializationTest.java │ │ │ ├── DeprecatedItemMetaCustomValueTest.java │ │ │ ├── FactoryItemMaterialTest.java │ │ │ ├── ItemFlagsTest.java │ │ │ ├── ItemMetaCloneTest.java │ │ │ ├── ItemMetaImplementationOverrideTest.java │ │ │ ├── ItemMetaTest.java │ │ │ ├── ItemStackBookTest.java │ │ │ ├── ItemStackEnchantStorageTest.java │ │ │ ├── ItemStackFireworkChargeTest.java │ │ │ ├── ItemStackFireworkTest.java │ │ │ ├── ItemStackLeatherTest.java │ │ │ ├── ItemStackLoreEnchantmentTest.java │ │ │ ├── ItemStackMapTest.java │ │ │ ├── ItemStackPotionsTest.java │ │ │ ├── ItemStackSkullTest.java │ │ │ ├── ItemStackTest.java │ │ │ ├── ItemTypeTest.java │ │ │ ├── MetaHandledTagsTest.java │ │ │ ├── NMSCraftItemStackTest.java │ │ │ ├── PersistentDataContainerTest.java │ │ │ ├── PlayerInventoryTest.java │ │ │ └── YamlSerializationTest.java │ │ ├── legacy │ │ │ ├── EvilTest.java │ │ │ ├── LegacyTest.java │ │ │ ├── MaterialReroutingTest.java │ │ │ ├── PersistentDataContainerLegacyTest.java │ │ │ └── reroute │ │ │ │ ├── AbstractRerouteTest.java │ │ │ │ ├── DoNotRerouteTest.java │ │ │ │ ├── InjectCompatibilityTest.java │ │ │ │ ├── InjectPluginNameTest.java │ │ │ │ ├── InjectPluginVersionTest.java │ │ │ │ ├── NotInBukkitTest.java │ │ │ │ ├── RequireCompatibilityTest.java │ │ │ │ ├── RequirePluginVersionDataTest.java │ │ │ │ ├── RequirePluginVersionTest.java │ │ │ │ ├── RerouteArgumentTypeTest.java │ │ │ │ ├── RerouteBuilderTest.java │ │ │ │ ├── RerouteMethodNameTest.java │ │ │ │ ├── RerouteReturnTypeTest.java │ │ │ │ ├── RerouteStaticTest.java │ │ │ │ └── RerouteValidationTest.java │ │ ├── profile │ │ │ └── PlayerProfileTest.java │ │ └── util │ │ │ ├── ApiVersionTest.java │ │ │ ├── ClassTraverserTest.java │ │ │ └── CraftChatMessageTest.java │ │ ├── damage │ │ └── DamageTypeTest.java │ │ ├── entity │ │ ├── EnderDragonPhaseTest.java │ │ ├── EntityPoseTest.java │ │ ├── EntityTypesTest.java │ │ ├── SpawnCategoryTest.java │ │ └── TropicalFishTest.java │ │ ├── event │ │ └── EntityRemoveEventTest.java │ │ ├── map │ │ └── MapTest.java │ │ ├── potion │ │ └── PotionTest.java │ │ ├── registry │ │ ├── PerRegistryTest.java │ │ ├── RegistryArgumentAddedTest.java │ │ ├── RegistryClassTest.java │ │ ├── RegistryConstantsTest.java │ │ ├── RegistryConversionTest.java │ │ └── RegistryLoadOrderTest.java │ │ └── support │ │ ├── DummyServerHelper.java │ │ ├── LegacyHelper.java │ │ ├── MatcherAssert.java │ │ ├── Matchers.java │ │ ├── RegistryHelper.java │ │ ├── condition │ │ ├── EnableIfMojangServerAvailable.java │ │ └── EnableIfMojangServerAvailableCondition.java │ │ ├── environment │ │ ├── AllFeatures.java │ │ ├── Legacy.java │ │ ├── Normal.java │ │ ├── Slow.java │ │ └── VanillaFeature.java │ │ ├── extension │ │ ├── AllFeaturesExtension.java │ │ ├── BaseExtension.java │ │ ├── LegacyExtension.java │ │ ├── NormalExtension.java │ │ ├── SlowExtension.java │ │ └── VanillaFeatureExtension.java │ │ ├── provider │ │ ├── ClassNodeArgumentProvider.java │ │ ├── ClassReaderArgumentProvider.java │ │ ├── RegistriesArgumentProvider.java │ │ └── RegistryArgumentProvider.java │ │ ├── suite │ │ ├── AllFeaturesTestSuite.java │ │ ├── LegacyTestSuite.java │ │ ├── NormalTestSuite.java │ │ ├── SlowTestSuite.java │ │ └── VanillaFeatureTestSuite.java │ │ └── test │ │ ├── ClassNodeTest.java │ │ ├── ClassReaderTest.java │ │ ├── RegistriesTest.java │ │ └── RegistryTest.java │ └── resources │ └── pdc │ └── legacy_pdc.yml ├── scripts └── apatch.sh ├── settings.gradle.kts └── test-plugin ├── build.gradle.kts └── src └── main ├── java └── io │ └── papermc │ └── testplugin │ ├── TestPlugin.java │ ├── TestPluginBootstrap.java │ ├── TestPluginLoader.java │ └── brigtests │ ├── Registration.java │ └── example │ ├── ComponentCommandExceptionType.java │ ├── ExampleAdminCommand.java │ ├── IceCreamType.java │ ├── IceCreamTypeArgument.java │ └── MaterialArgumentType.java └── resources └── paper-plugin.yml /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto eol=lf 2 | 3 | *.sh text eol=lf 4 | gradlew text eol=lf 5 | *.bat text eol=crlf 6 | 7 | *.jar binary 8 | -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @PaperMC/paper-maintainers 2 | /.github/CODEOWNERS @PaperMC/core-team 3 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: "❗Exploits" 4 | url: https://discord.gg/papermc 5 | about: | 6 | Since GitHub doesn’t currently support private issues, exploit reports are managed through our Discord. 7 | To report an exploit, please visit the #paper-exploit-report channel. 8 | - name: "🗨 Questions" 9 | url: https://discord.gg/papermc 10 | about: If you have questions or need help with any minor issues, feel free to ask us on our Discord server! 11 | -------------------------------------------------------------------------------- /build-data/mappings-patch.tiny: -------------------------------------------------------------------------------- 1 | tiny 2 0 spigot mojang 2 | 3 | # Originally DistanceManager, which also implements DistanceManager, so clashes since the implemented class 4 | # is imported and not fully qualified. Easiest fix is to just change the name 5 | c net/minecraft/server/level/PlayerChunkMap$a net/minecraft/server/level/ChunkMap$ChunkDistanceManager 6 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | group=io.papermc.paper 2 | version=1.21.5-R0.1-SNAPSHOT 3 | mcVersion=1.21.5 4 | 5 | # Set to true while updating Minecraft version 6 | updatingMinecraft=true 7 | updateTaskListIssue=https://github.com/PaperMC/Paper/issues/11736 8 | 9 | org.gradle.configuration-cache=true 10 | org.gradle.caching=true 11 | org.gradle.parallel=true 12 | org.gradle.vfs.watch=false 13 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaperMC/Paper/ba7fb23ddd2376079951d1e22f9204d1ed691585/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/com/destroystokyo/paper/SkinParts.java: -------------------------------------------------------------------------------- 1 | package com.destroystokyo.paper; 2 | 3 | public interface SkinParts { 4 | 5 | boolean hasCapeEnabled(); 6 | 7 | boolean hasJacketEnabled(); 8 | 9 | boolean hasLeftSleeveEnabled(); 10 | 11 | boolean hasRightSleeveEnabled(); 12 | 13 | boolean hasLeftPantsEnabled(); 14 | 15 | boolean hasRightPantsEnabled(); 16 | 17 | boolean hasHatsEnabled(); 18 | 19 | int getRaw(); 20 | } 21 | -------------------------------------------------------------------------------- /paper-api/src/main/java/com/destroystokyo/paper/entity/ai/GoalType.java: -------------------------------------------------------------------------------- 1 | package com.destroystokyo.paper.entity.ai; 2 | 3 | /** 4 | * Represents the subtype of a goal. Used by minecraft to disable certain types of goals if needed. 5 | */ 6 | public enum GoalType { 7 | 8 | MOVE, 9 | LOOK, 10 | JUMP, 11 | TARGET, 12 | /** 13 | * Used to map vanilla goals, that are a behavior goal but don't have a type set... 14 | */ 15 | UNKNOWN_BEHAVIOR, 16 | 17 | } 18 | -------------------------------------------------------------------------------- /paper-api/src/main/java/com/destroystokyo/paper/loottable/LootableBlockInventory.java: -------------------------------------------------------------------------------- 1 | package com.destroystokyo.paper.loottable; 2 | 3 | import org.bukkit.block.Block; 4 | import org.jspecify.annotations.NullMarked; 5 | 6 | /** 7 | * Represents an Inventory that can generate loot, such as Chests inside of Fortresses and Mineshafts 8 | */ 9 | @NullMarked 10 | public interface LootableBlockInventory extends LootableInventory { 11 | 12 | /** 13 | * Gets the block that is lootable 14 | * @return The Block 15 | */ 16 | Block getBlock(); 17 | } 18 | -------------------------------------------------------------------------------- /paper-api/src/main/java/com/destroystokyo/paper/loottable/LootableEntityInventory.java: -------------------------------------------------------------------------------- 1 | package com.destroystokyo.paper.loottable; 2 | 3 | import org.bukkit.entity.Entity; 4 | import org.jspecify.annotations.NullMarked; 5 | 6 | /** 7 | * Represents an Inventory that can generate loot, such as Minecarts inside of Mineshafts 8 | */ 9 | @NullMarked 10 | public interface LootableEntityInventory extends LootableInventory { 11 | 12 | /** 13 | * Gets the entity that is lootable 14 | * @return The Entity 15 | */ 16 | Entity getEntity(); 17 | } 18 | -------------------------------------------------------------------------------- /paper-api/src/main/java/io/papermc/paper/ban/BanListTypeImpl.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.ban; 2 | 3 | import org.jetbrains.annotations.ApiStatus; 4 | import org.jspecify.annotations.NullMarked; 5 | 6 | @ApiStatus.Internal 7 | @NullMarked 8 | record BanListTypeImpl(Class typeClass) implements BanListType { 9 | } 10 | -------------------------------------------------------------------------------- /paper-api/src/main/java/io/papermc/paper/block/LockableTileState.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.block; 2 | 3 | import org.bukkit.Nameable; 4 | import org.bukkit.block.Lockable; 5 | import org.bukkit.block.TileState; 6 | 7 | /** 8 | * Interface for block entities that are lockable. 9 | */ 10 | public interface LockableTileState extends TileState, Lockable, Nameable { 11 | } 12 | -------------------------------------------------------------------------------- /paper-api/src/main/java/io/papermc/paper/block/fluid/type/FallingFluidData.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.block.fluid.type; 2 | 3 | import io.papermc.paper.block.fluid.FluidData; 4 | 5 | /** 6 | * A specific subtype of {@link FluidData} that is returned by the API for fluid data of potentially falling fluids. 7 | */ 8 | public interface FallingFluidData extends FluidData { 9 | 10 | /** 11 | * Get if this liquid is falling. 12 | * 13 | * @return true if falling 14 | */ 15 | boolean isFalling(); 16 | } 17 | -------------------------------------------------------------------------------- /paper-api/src/main/java/io/papermc/paper/block/fluid/type/FlowingFluidData.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.block.fluid.type; 2 | 3 | import io.papermc.paper.block.fluid.FluidData; 4 | 5 | /** 6 | * A specific subtype of {@link FluidData} that is returned by the API for fluid data of potentially falling fluids. 7 | */ 8 | public interface FlowingFluidData extends FallingFluidData { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /paper-api/src/main/java/io/papermc/paper/command/brigadier/MessageComponentSerializerHolder.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.command.brigadier; 2 | 3 | import java.util.Optional; 4 | import java.util.ServiceLoader; 5 | import org.jetbrains.annotations.ApiStatus; 6 | 7 | @ApiStatus.Internal 8 | final class MessageComponentSerializerHolder { 9 | 10 | static final Optional PROVIDER = ServiceLoader.load(MessageComponentSerializer.class) 11 | .findFirst(); 12 | } 13 | -------------------------------------------------------------------------------- /paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/predicate/ItemStackPredicate.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.command.brigadier.argument.predicate; 2 | 3 | import java.util.function.Predicate; 4 | import org.bukkit.inventory.ItemStack; 5 | import org.jetbrains.annotations.ApiStatus; 6 | 7 | /** 8 | * A predicate for ItemStack. 9 | * 10 | * @see io.papermc.paper.command.brigadier.argument.ArgumentTypes#itemPredicate() 11 | */ 12 | @ApiStatus.Experimental 13 | @ApiStatus.NonExtendable 14 | public interface ItemStackPredicate extends Predicate { 15 | } 16 | -------------------------------------------------------------------------------- /paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/range/DoubleRangeProvider.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.command.brigadier.argument.range; 2 | 3 | import org.jetbrains.annotations.ApiStatus; 4 | 5 | /** 6 | * A provider for a {@link com.google.common.collect.Range} of doubles. 7 | * 8 | * @see io.papermc.paper.command.brigadier.argument.ArgumentTypes#doubleRange() 9 | */ 10 | @ApiStatus.Experimental 11 | @ApiStatus.NonExtendable 12 | public non-sealed interface DoubleRangeProvider extends RangeProvider { 13 | 14 | } 15 | -------------------------------------------------------------------------------- /paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/range/IntegerRangeProvider.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.command.brigadier.argument.range; 2 | 3 | import org.jetbrains.annotations.ApiStatus; 4 | 5 | /** 6 | * A provider for a {@link com.google.common.collect.Range} of integers. 7 | * 8 | * @see io.papermc.paper.command.brigadier.argument.ArgumentTypes#integerRange() 9 | */ 10 | @ApiStatus.Experimental 11 | @ApiStatus.NonExtendable 12 | public non-sealed interface IntegerRangeProvider extends RangeProvider { 13 | 14 | } 15 | -------------------------------------------------------------------------------- /paper-api/src/main/java/io/papermc/paper/datapack/DatapackSourceImpl.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.datapack; 2 | 3 | import org.jetbrains.annotations.ApiStatus; 4 | import org.jspecify.annotations.NullMarked; 5 | 6 | @ApiStatus.Internal 7 | @NullMarked 8 | record DatapackSourceImpl(String name) implements DatapackSource { 9 | 10 | @Override 11 | public String toString() { 12 | return this.name; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /paper-api/src/main/java/io/papermc/paper/item/MapPostProcessing.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.item; 2 | 3 | public enum MapPostProcessing { 4 | LOCK, 5 | SCALE 6 | } 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/io/papermc/paper/math/BlockPositionImpl.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.math; 2 | 3 | record BlockPositionImpl(int blockX, int blockY, int blockZ) implements BlockPosition { 4 | } 5 | -------------------------------------------------------------------------------- /paper-api/src/main/java/io/papermc/paper/math/FinePositionImpl.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.math; 2 | 3 | record FinePositionImpl(double x, double y, double z) implements FinePosition { 4 | } 5 | -------------------------------------------------------------------------------- /paper-api/src/main/java/io/papermc/paper/math/RotationImpl.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.math; 2 | 3 | record RotationImpl(float yaw, float pitch) implements Rotation { 4 | } 5 | -------------------------------------------------------------------------------- /paper-api/src/main/java/io/papermc/paper/plugin/lifecycle/event/registrar/Registrar.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.plugin.lifecycle.event.registrar; 2 | 3 | import org.jetbrains.annotations.ApiStatus; 4 | 5 | /** 6 | * To be implemented by types that provide ways to register types 7 | * either on server start or during a reload 8 | */ 9 | @ApiStatus.Experimental 10 | @ApiStatus.NonExtendable 11 | public interface Registrar { 12 | } 13 | -------------------------------------------------------------------------------- /paper-api/src/main/java/io/papermc/paper/plugin/loader/library/LibraryLoadingException.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.plugin.loader.library; 2 | 3 | /** 4 | * Indicates that an exception has occured while loading a library. 5 | */ 6 | public class LibraryLoadingException extends RuntimeException { 7 | 8 | public LibraryLoadingException(String s) { 9 | super(s); 10 | } 11 | 12 | public LibraryLoadingException(String s, Exception e) { 13 | super(s, e); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /paper-api/src/main/java/io/papermc/paper/potion/SuspiciousEffectEntryImpl.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.potion; 2 | 3 | import org.bukkit.potion.PotionEffectType; 4 | import org.jetbrains.annotations.ApiStatus; 5 | import org.jspecify.annotations.NullMarked; 6 | 7 | @ApiStatus.Internal 8 | @NullMarked 9 | record SuspiciousEffectEntryImpl(PotionEffectType effect, int duration) implements SuspiciousEffectEntry { 10 | } 11 | -------------------------------------------------------------------------------- /paper-api/src/main/java/io/papermc/paper/raytracing/RayTraceTarget.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.raytracing; 2 | 3 | /** 4 | * List of Targets a builder can target. 5 | */ 6 | public enum RayTraceTarget { 7 | ENTITY, 8 | BLOCK 9 | } 10 | -------------------------------------------------------------------------------- /paper-api/src/main/java/io/papermc/paper/registry/RegistryAccessHolder.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.registry; 2 | 3 | import java.util.Optional; 4 | import java.util.ServiceLoader; 5 | 6 | final class RegistryAccessHolder { 7 | 8 | static final Optional INSTANCE = ServiceLoader.load(RegistryAccess.class).findFirst(); 9 | 10 | private RegistryAccessHolder() { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /paper-api/src/main/java/io/papermc/paper/registry/RegistryBuilder.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.registry; 2 | 3 | import org.jetbrains.annotations.ApiStatus; 4 | import org.jspecify.annotations.NullMarked; 5 | 6 | /** 7 | * To be implemented by any type used for modifying registries. 8 | * 9 | * @param registry value type 10 | */ 11 | @ApiStatus.Experimental 12 | @NullMarked 13 | @ApiStatus.NonExtendable 14 | public interface RegistryBuilder { 15 | } 16 | -------------------------------------------------------------------------------- /paper-api/src/main/java/io/papermc/paper/registry/tag/TagKeyImpl.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.registry.tag; 2 | 3 | import io.papermc.paper.registry.RegistryKey; 4 | import net.kyori.adventure.key.Key; 5 | import org.jetbrains.annotations.ApiStatus; 6 | import org.jspecify.annotations.NullMarked; 7 | 8 | @ApiStatus.Internal 9 | @NullMarked 10 | record TagKeyImpl(RegistryKey registryKey, Key key) implements TagKey { 11 | 12 | @Override 13 | public String toString() { 14 | return "#" + this.key + " (in " + this.registryKey + ")"; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /paper-api/src/main/java/io/papermc/paper/scoreboard/numbers/BlankFormatImpl.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.scoreboard.numbers; 2 | 3 | record BlankFormatImpl() implements NumberFormat { 4 | public static final BlankFormatImpl INSTANCE = new BlankFormatImpl(); 5 | } 6 | -------------------------------------------------------------------------------- /paper-api/src/main/java/io/papermc/paper/scoreboard/numbers/FixedFormatImpl.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.scoreboard.numbers; 2 | 3 | import net.kyori.adventure.text.Component; 4 | import org.jspecify.annotations.NullMarked; 5 | 6 | @NullMarked 7 | record FixedFormatImpl(Component component) implements FixedFormat { 8 | 9 | @Override 10 | public Component asComponent() { 11 | return this.component(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /paper-api/src/main/java/io/papermc/paper/scoreboard/numbers/StyledFormatImpl.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.scoreboard.numbers; 2 | 3 | import net.kyori.adventure.text.format.Style; 4 | import org.jspecify.annotations.NullMarked; 5 | 6 | @NullMarked 7 | record StyledFormatImpl(Style style) implements StyledFormat { 8 | static final StyledFormat NO_STYLE = new StyledFormatImpl(Style.empty()); 9 | 10 | @Override 11 | public void styleApply(final Style.Builder style) { 12 | style.merge(this.style); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /paper-api/src/main/java/io/papermc/paper/tag/TagEntryImpl.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.tag; 2 | 3 | import net.kyori.adventure.key.Key; 4 | import org.jetbrains.annotations.ApiStatus; 5 | import org.jspecify.annotations.NullMarked; 6 | 7 | @NullMarked 8 | @ApiStatus.Internal 9 | record TagEntryImpl(Key key, boolean isTag, boolean isRequired) implements TagEntry { 10 | } 11 | -------------------------------------------------------------------------------- /paper-api/src/main/java/io/papermc/paper/world/damagesource/FallLocationTypeImpl.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.world.damagesource; 2 | 3 | import org.jspecify.annotations.NullMarked; 4 | 5 | @NullMarked 6 | record FallLocationTypeImpl(String id) implements FallLocationType { 7 | 8 | @Override 9 | public String translationKey() { 10 | // Same as net.minecraft.world.damagesource.FallLocation#languageKey 11 | return "death.fell.accident." + this.id; 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/Axis.java: -------------------------------------------------------------------------------- 1 | package org.bukkit; 2 | 3 | /** 4 | * Represents a mutually perpendicular axis in 3D Cartesian coordinates. In 5 | * Minecraft the x, z axes lie in the horizontal plane, whilst the y axis points 6 | * upwards. 7 | */ 8 | public enum Axis { 9 | /** 10 | * The x axis. 11 | */ 12 | X, 13 | /** 14 | * The y axis. 15 | */ 16 | Y, 17 | /** 18 | * The z axis. 19 | */ 20 | Z; 21 | } 22 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/FluidCollisionMode.java: -------------------------------------------------------------------------------- 1 | package org.bukkit; 2 | 3 | /** 4 | * Determines the collision behavior when fluids get hit during ray tracing. 5 | */ 6 | public enum FluidCollisionMode { 7 | 8 | /** 9 | * Ignore fluids. 10 | */ 11 | NEVER, 12 | /** 13 | * Only collide with source fluid blocks. 14 | */ 15 | SOURCE_ONLY, 16 | /** 17 | * Collide with all fluids. 18 | */ 19 | ALWAYS; 20 | } 21 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/SkullType.java: -------------------------------------------------------------------------------- 1 | package org.bukkit; 2 | 3 | /** 4 | * Represents the different types of skulls. 5 | * @deprecated check {@link Material} instead 6 | */ 7 | @Deprecated(since = "1.13", forRemoval = true) 8 | public enum SkullType { 9 | SKELETON, 10 | WITHER, 11 | ZOMBIE, 12 | PLAYER, 13 | CREEPER, 14 | DRAGON, 15 | PIGLIN; 16 | } 17 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/WeatherType.java: -------------------------------------------------------------------------------- 1 | package org.bukkit; 2 | 3 | /** 4 | * An enum of all current weather types 5 | */ 6 | public enum WeatherType { 7 | 8 | /** 9 | * Raining or snowing depending on biome. 10 | */ 11 | DOWNFALL, 12 | /** 13 | * Clear weather, clouds but no rain. 14 | */ 15 | CLEAR, 16 | ; 17 | } 18 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/advancement/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes relevant to advancements. 3 | */ 4 | package org.bukkit.advancement; 5 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/attribute/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes relevant to attributes. 3 | */ 4 | package org.bukkit.attribute; 5 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/ban/IpBanList.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.ban; 2 | 3 | import java.net.InetAddress; 4 | import org.bukkit.BanList; 5 | 6 | /** 7 | * A {@link BanList} targeting IP bans. 8 | */ 9 | public interface IpBanList extends BanList { 10 | 11 | } 12 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/ban/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes relevant to bans. 3 | */ 4 | package org.bukkit.ban; 5 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/Barrel.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block; 2 | 3 | import org.bukkit.loot.Lootable; 4 | 5 | /** 6 | * Represents a captured state of a Barrel. 7 | */ 8 | public interface Barrel extends Container, com.destroystokyo.paper.loottable.LootableBlockInventory, Lidded { } // Paper 9 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/BlastFurnace.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block; 2 | 3 | /** 4 | * Represents a captured state of a blast furnace. 5 | */ 6 | public interface BlastFurnace extends Furnace { } 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/CalibratedSculkSensor.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block; 2 | 3 | /** 4 | * Represents a captured state of a calibrated sculk sensor 5 | */ 6 | public interface CalibratedSculkSensor extends SculkSensor { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/Comparator.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block; 2 | 3 | /** 4 | * Represents a captured state of an on / off comparator. 5 | */ 6 | public interface Comparator extends TileState { } 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/Container.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block; 2 | 3 | import org.bukkit.Nameable; 4 | import org.bukkit.inventory.BlockInventoryHolder; 5 | import org.bukkit.inventory.Inventory; 6 | import org.jetbrains.annotations.NotNull; 7 | 8 | /** 9 | * Represents a captured state of a container block. 10 | */ 11 | public interface Container extends io.papermc.paper.block.LockableTileState, io.papermc.paper.block.TileStateInventoryHolder { // Paper 12 | 13 | // Paper - moved to TileStateInventoryHolder 14 | } 15 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/CreakingHeart.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block; 2 | 3 | /** 4 | * Represents a captured state of a creaking heart. 5 | */ 6 | public interface CreakingHeart extends TileState { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/DaylightDetector.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block; 2 | 3 | /** 4 | * Represents a captured state of a (possibly inverted) daylight detector. 5 | */ 6 | public interface DaylightDetector extends TileState { } 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/EnchantingTable.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block; 2 | 3 | import org.bukkit.Nameable; 4 | 5 | /** 6 | * Represents a captured state of an enchanting table. 7 | */ 8 | public interface EnchantingTable extends TileState, Nameable { } 9 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/EnderChest.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block; 2 | 3 | /** 4 | * Represents a captured state of an ender chest. 5 | */ 6 | public interface EnderChest extends Lidded, TileState { 7 | // Paper start - More Chest Block API 8 | /** 9 | * Checks whether this ender chest is blocked by a block above 10 | * 11 | * @return whether this ender chest is blocked 12 | */ 13 | boolean isBlocked(); 14 | // Paper end - More Chest Block API 15 | } 16 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/HangingSign.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block; 2 | 3 | /** 4 | * Represents a captured state of a hanging sign. 5 | */ 6 | public interface HangingSign extends Sign { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/Jigsaw.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block; 2 | 3 | /** 4 | * Represents a captured state of a jigsaw. 5 | */ 6 | public interface Jigsaw extends TileState { } 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/Orientation.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block; 2 | 3 | /** 4 | * Represents the face and the direction of a block 5 | */ 6 | public enum Orientation { 7 | 8 | DOWN_EAST, 9 | DOWN_NORTH, 10 | DOWN_SOUTH, 11 | DOWN_WEST, 12 | UP_EAST, 13 | UP_NORTH, 14 | UP_SOUTH, 15 | UP_WEST, 16 | WEST_UP, 17 | EAST_UP, 18 | NORTH_UP, 19 | SOUTH_UP 20 | } 21 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/Smoker.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block; 2 | 3 | /** 4 | * Represents a captured state of a smoker. 5 | */ 6 | public interface Smoker extends Furnace { } 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/SuspiciousSand.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block; 2 | 3 | /** 4 | * Represents a captured state of suspicious sand. 5 | * 6 | * @see BrushableBlock 7 | */ 8 | @Deprecated(since = "1.20", forRemoval = true) 9 | public interface SuspiciousSand extends BrushableBlock { 10 | } 11 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/TestBlock.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block; 2 | 3 | /** 4 | * Represents a captured state of a test block. 5 | */ 6 | public interface TestBlock extends TileState { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/TestInstanceBlock.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block; 2 | 3 | /** 4 | * Represents a captured state of a test instance block. 5 | */ 6 | public interface TestInstanceBlock extends TileState { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/banner/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes relevant to banner blocks. 3 | */ 4 | package org.bukkit.block.banner; 5 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/Hangable.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data; 2 | 3 | /** 4 | * 'hanging' denotes whether the lantern is hanging from a block. 5 | */ 6 | public interface Hangable extends BlockData { 7 | 8 | /** 9 | * Gets the value of the 'hanging' property. 10 | * 11 | * @return the 'hanging' value 12 | */ 13 | boolean isHanging(); 14 | 15 | /** 16 | * Sets the value of the 'hanging' property. 17 | * 18 | * @param hanging the new 'hanging' value 19 | */ 20 | void setHanging(boolean hanging); 21 | } 22 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/Openable.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data; 2 | 3 | /** 4 | * 'open' denotes whether this block is currently opened. 5 | */ 6 | public interface Openable extends BlockData { 7 | 8 | /** 9 | * Gets the value of the 'open' property. 10 | * 11 | * @return the 'open' value 12 | */ 13 | boolean isOpen(); 14 | 15 | /** 16 | * Sets the value of the 'open' property. 17 | * 18 | * @param open the new 'open' value 19 | */ 20 | void setOpen(boolean open); 21 | } 22 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Generalized BlockData classes. 3 | */ 4 | package org.bukkit.block.data; 5 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/AmethystCluster.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.Directional; 4 | import org.bukkit.block.data.Waterlogged; 5 | 6 | public interface AmethystCluster extends Directional, Waterlogged { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/Barrel.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.Directional; 4 | import org.bukkit.block.data.Openable; 5 | 6 | public interface Barrel extends Directional, Openable { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/CalibratedSculkSensor.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.Directional; 4 | 5 | public interface CalibratedSculkSensor extends Directional, SculkSensor { } 6 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/CaveVines.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.Ageable; 4 | 5 | public interface CaveVines extends Ageable, CaveVinesPlant { 6 | } 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/Chain.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.Orientable; 4 | import org.bukkit.block.data.Waterlogged; 5 | 6 | public interface Chain extends Orientable, Waterlogged { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/Cocoa.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.Ageable; 4 | import org.bukkit.block.data.Directional; 5 | 6 | public interface Cocoa extends Ageable, Directional { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/CopperBulb.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.Lightable; 4 | import org.bukkit.block.data.Powerable; 5 | 6 | public interface CopperBulb extends Lightable, Powerable { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/CoralWallFan.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.Directional; 4 | import org.bukkit.block.data.Waterlogged; 5 | 6 | public interface CoralWallFan extends Directional, Waterlogged { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/Dripleaf.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.Directional; 4 | import org.bukkit.block.data.Waterlogged; 5 | 6 | public interface Dripleaf extends Directional, Waterlogged { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/EnderChest.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.Directional; 4 | import org.bukkit.block.data.Waterlogged; 5 | 6 | public interface EnderChest extends Directional, Waterlogged { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/Fence.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.MultipleFacing; 4 | import org.bukkit.block.data.Waterlogged; 5 | 6 | public interface Fence extends MultipleFacing, Waterlogged { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/Fire.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.Ageable; 4 | import org.bukkit.block.data.MultipleFacing; 5 | 6 | /** 7 | * md_5's mixtape. 8 | */ 9 | public interface Fire extends Ageable, MultipleFacing { 10 | } 11 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/Furnace.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.Directional; 4 | import org.bukkit.block.data.Lightable; 5 | 6 | public interface Furnace extends Directional, Lightable { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/GlassPane.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.MultipleFacing; 4 | import org.bukkit.block.data.Waterlogged; 5 | 6 | public interface GlassPane extends MultipleFacing, Waterlogged { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/GlowLichen.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.MultipleFacing; 4 | import org.bukkit.block.data.Waterlogged; 5 | 6 | public interface GlowLichen extends MultipleFacing, Waterlogged { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/Grindstone.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.Directional; 4 | import org.bukkit.block.data.FaceAttachable; 5 | 6 | public interface Grindstone extends Directional, FaceAttachable { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/HangingSign.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.Attachable; 4 | import org.bukkit.block.data.Rotatable; 5 | import org.bukkit.block.data.Waterlogged; 6 | 7 | public interface HangingSign extends Attachable, Rotatable, Waterlogged { 8 | } 9 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/Ladder.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.Directional; 4 | import org.bukkit.block.data.Waterlogged; 5 | 6 | public interface Ladder extends Directional, Waterlogged { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/Lantern.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.Hangable; 4 | import org.bukkit.block.data.Waterlogged; 5 | 6 | public interface Lantern extends Hangable, Waterlogged { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/LeafLitter.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.Directional; 4 | import org.bukkit.block.data.Segmentable; 5 | 6 | public interface LeafLitter extends Segmentable, Directional { } 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/Light.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.Levelled; 4 | import org.bukkit.block.data.Waterlogged; 5 | 6 | public interface Light extends Levelled, Waterlogged { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/LightningRod.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.Directional; 4 | import org.bukkit.block.data.Powerable; 5 | import org.bukkit.block.data.Waterlogged; 6 | 7 | public interface LightningRod extends Directional, Powerable, Waterlogged { 8 | } 9 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/MangrovePropagule.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.Ageable; 4 | import org.bukkit.block.data.Hangable; 5 | import org.bukkit.block.data.Waterlogged; 6 | 7 | public interface MangrovePropagule extends Ageable, Hangable, Sapling, Waterlogged { 8 | } 9 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/Observer.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.Directional; 4 | import org.bukkit.block.data.Powerable; 5 | 6 | public interface Observer extends Directional, Powerable { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/PinkPetals.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | /** 4 | * 'flower_amount' represents the number of petals. 5 | * 6 | * @deprecated incorrect name as multiple types of flower collection blocks exist now. Use {@link FlowerBed} 7 | */ 8 | @Deprecated(forRemoval = true, since = "1.21.5") 9 | public interface PinkPetals extends FlowerBed { 10 | 11 | } 12 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/PitcherCrop.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.Ageable; 4 | import org.bukkit.block.data.Bisected; 5 | 6 | public interface PitcherCrop extends Ageable, Bisected { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/RedstoneRail.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.Powerable; 4 | import org.bukkit.block.data.Rail; 5 | 6 | /** 7 | * A type of minecart rail which interacts with redstone in one way or another. 8 | */ 9 | public interface RedstoneRail extends Powerable, Rail { 10 | } 11 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/RedstoneWallTorch.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.Directional; 4 | import org.bukkit.block.data.Lightable; 5 | 6 | public interface RedstoneWallTorch extends Directional, Lightable { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/ResinClump.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.MultipleFacing; 4 | import org.bukkit.block.data.Waterlogged; 5 | 6 | public interface ResinClump extends MultipleFacing, Waterlogged { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/SculkVein.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.MultipleFacing; 4 | import org.bukkit.block.data.Waterlogged; 5 | 6 | public interface SculkVein extends MultipleFacing, Waterlogged { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/Sign.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.Rotatable; 4 | import org.bukkit.block.data.Waterlogged; 5 | 6 | public interface Sign extends Rotatable, Waterlogged { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/Skull.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.Powerable; 4 | import org.bukkit.block.data.Rotatable; 5 | 6 | public interface Skull extends Powerable, Rotatable { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/SmallDripleaf.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.Bisected; 4 | 5 | public interface SmallDripleaf extends Dripleaf, Bisected { 6 | } 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/TrapDoor.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.Bisected; 4 | import org.bukkit.block.data.Directional; 5 | import org.bukkit.block.data.Openable; 6 | import org.bukkit.block.data.Powerable; 7 | import org.bukkit.block.data.Waterlogged; 8 | 9 | public interface TrapDoor extends Bisected, Directional, Openable, Powerable, Waterlogged { 10 | } 11 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/TripwireHook.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.Attachable; 4 | import org.bukkit.block.data.Directional; 5 | import org.bukkit.block.data.Powerable; 6 | 7 | public interface TripwireHook extends Attachable, Directional, Powerable { 8 | } 9 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/WallHangingSign.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.Directional; 4 | import org.bukkit.block.data.Waterlogged; 5 | 6 | public interface WallHangingSign extends Directional, Waterlogged { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/WallSign.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.Directional; 4 | import org.bukkit.block.data.Waterlogged; 5 | 6 | public interface WallSign extends Directional, Waterlogged { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/WallSkull.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.data.type; 2 | 3 | import org.bukkit.block.data.Directional; 4 | import org.bukkit.block.data.Powerable; 5 | 6 | public interface WallSkull extends Directional, Powerable { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/data/type/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Specific BlockData classes relevant to only a given block or set of blocks. 3 | */ 4 | package org.bukkit.block.data.type; 5 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes used to manipulate the voxels in a {@link org.bukkit.World world}, 3 | * including special states. 4 | */ 5 | package org.bukkit.block; 6 | 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/sign/Side.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.block.sign; 2 | 3 | /** 4 | * Represents the side of sign. 5 | */ 6 | public enum Side { 7 | 8 | FRONT, 9 | BACK; 10 | } 11 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/sign/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes relevant to signs. 3 | */ 4 | package org.bukkit.block.sign; 5 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/spawner/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes relevant to mob spawners. 3 | */ 4 | package org.bukkit.block.spawner; 5 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/block/structure/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes relevant to structure blocks. 3 | */ 4 | package org.bukkit.block.structure; 5 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/boss/BarColor.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.boss; 2 | 3 | public enum BarColor { 4 | PINK, 5 | BLUE, 6 | RED, 7 | GREEN, 8 | YELLOW, 9 | PURPLE, 10 | WHITE 11 | } 12 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/boss/BarFlag.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.boss; 2 | 3 | public enum BarFlag { 4 | 5 | /** 6 | * Darkens the sky like during fighting a wither. 7 | */ 8 | DARKEN_SKY, 9 | /** 10 | * Tells the client to play the Ender Dragon boss music. 11 | */ 12 | PLAY_BOSS_MUSIC, 13 | /** 14 | * Creates fog around the world. 15 | */ 16 | CREATE_FOG, 17 | } 18 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/boss/BarStyle.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.boss; 2 | 3 | public enum BarStyle { 4 | /** 5 | * Makes the boss bar solid (no segments) 6 | */ 7 | SOLID, 8 | /** 9 | * Splits the boss bar into 6 segments 10 | */ 11 | SEGMENTED_6, 12 | /** 13 | * Splits the boss bar into 10 segments 14 | */ 15 | SEGMENTED_10, 16 | /** 17 | * Splits the boss bar into 12 segments 18 | */ 19 | SEGMENTED_12, 20 | /** 21 | * Splits the boss bar into 20 segments 22 | */ 23 | SEGMENTED_20, 24 | } 25 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/boss/KeyedBossBar.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.boss; 2 | 3 | import org.bukkit.Keyed; 4 | 5 | /** 6 | * Represents a custom {@link BossBar} that has a 7 | * {@link org.bukkit.NamespacedKey} 8 | */ 9 | public interface KeyedBossBar extends BossBar, Keyed { } 10 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/boss/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes concerning the creation of boss bars that appear at the top of the 3 | * player's screen. 4 | */ 5 | package org.bukkit.boss; 6 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/command/BlockCommandSender.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.command; 2 | 3 | import org.bukkit.block.Block; 4 | import org.jetbrains.annotations.NotNull; 5 | 6 | public interface BlockCommandSender extends CommandSender { 7 | 8 | /** 9 | * Returns the block this command sender belongs to 10 | * 11 | * @return Block for the command sender 12 | */ 13 | @NotNull 14 | public Block getBlock(); 15 | } 16 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/command/ConsoleCommandSender.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.command; 2 | 3 | import org.bukkit.conversations.Conversable; 4 | 5 | public interface ConsoleCommandSender extends CommandSender, Conversable { 6 | } 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/command/RemoteConsoleCommandSender.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.command; 2 | 3 | import java.net.SocketAddress; 4 | import org.jetbrains.annotations.NotNull; 5 | 6 | public interface RemoteConsoleCommandSender extends CommandSender { 7 | 8 | /** 9 | * Gets the socket address of this remote sender. 10 | * 11 | * @return the remote sender's address 12 | */ 13 | @NotNull 14 | public SocketAddress getAddress(); 15 | } 16 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/command/TabExecutor.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.command; 2 | 3 | /** 4 | * This class is provided as a convenience to implement both TabCompleter and 5 | * CommandExecutor. 6 | */ 7 | public interface TabExecutor extends TabCompleter, CommandExecutor { 8 | } 9 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/command/defaults/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Commands for emulating the Minecraft commands and other necessary ones for 3 | * use by a Bukkit implementation. 4 | */ 5 | package org.bukkit.command.defaults; 6 | 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/command/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes relating to handling specialized non-chat player input. 3 | */ 4 | package org.bukkit.command; 5 | 6 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/configuration/file/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes dedicated to facilitating 3 | * {@link org.bukkit.configuration.Configuration configurations} to be read and 4 | * stored on the filesystem. 5 | */ 6 | package org.bukkit.configuration.file; 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/configuration/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes dedicated to handling a plugin's runtime configuration. 3 | */ 4 | package org.bukkit.configuration; 5 | 6 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/configuration/serialization/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes dedicated to being able to perform serialization specialized for 3 | * the Bukkit {@link org.bukkit.configuration.Configuration configuration} 4 | * implementation. 5 | */ 6 | package org.bukkit.configuration.serialization; 7 | 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/conversations/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes dedicated to facilitate direct player-to-plugin communication. 3 | */ 4 | package org.bukkit.conversations; 5 | 6 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/damage/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes concerning damage types and sources applicable to living entities. 3 | */ 4 | @org.jetbrains.annotations.ApiStatus.Experimental 5 | package org.bukkit.damage; 6 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/enchantments/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes relating to the specialized enhancements to {@link 3 | * org.bukkit.inventory.ItemStack item stacks}, as part of the {@link 4 | * org.bukkit.inventory.meta.ItemMeta meta data}. 5 | */ 6 | package org.bukkit.enchantments; 7 | 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/AbstractCow.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | import org.jspecify.annotations.NullMarked; 4 | 5 | /** 6 | * This interface defines or represents the abstract concept of cow-like 7 | * entities on the server. The interface is hence not a direct representation 8 | * of an entity but rather serves as a parent to interfaces/entity types like 9 | * {@link Cow} or {@link MushroomCow}. 10 | */ 11 | @NullMarked 12 | public interface AbstractCow extends Animals { 13 | 14 | } 15 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/AbstractWindCharge.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a Wind Charge. 5 | */ 6 | public interface AbstractWindCharge extends Fireball { 7 | 8 | /** 9 | * Immediately explode this WindCharge. 10 | */ 11 | public void explode(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/Ambient.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents an ambient mob 5 | */ 6 | public interface Ambient extends Mob {} 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/Blaze.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a Blaze monster 5 | */ 6 | public interface Blaze extends Monster { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/Boss.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | import org.bukkit.boss.BossBar; 4 | import org.jetbrains.annotations.Nullable; 5 | 6 | /** 7 | * Represents the Boss Entity. 8 | */ 9 | public interface Boss extends Entity { 10 | 11 | /** 12 | * Returns the {@link BossBar} of the {@link Boss} 13 | * 14 | * @return the {@link BossBar} of the entity 15 | */ 16 | @Nullable 17 | BossBar getBossBar(); 18 | } 19 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/Breeze.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a Breeze. Whoosh! 5 | */ 6 | public interface Breeze extends Monster { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/BreezeWindCharge.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a Wind Charge. 5 | */ 6 | public interface BreezeWindCharge extends AbstractWindCharge { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/Camel.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a Camel. 5 | */ 6 | public interface Camel extends AbstractHorse, Sittable { 7 | 8 | /** 9 | * Gets whether this camel is dashing (sprinting). 10 | * 11 | * @return dashing status 12 | */ 13 | boolean isDashing(); 14 | 15 | /** 16 | * Sets whether this camel is dashing (sprinting). 17 | * 18 | * @param dashing new dashing status 19 | */ 20 | void setDashing(boolean dashing); 21 | } 22 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/CaveSpider.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a Spider. 5 | */ 6 | public interface CaveSpider extends Spider {} 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/ChestBoat.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | import org.bukkit.inventory.InventoryHolder; 4 | import org.bukkit.loot.Lootable; 5 | 6 | /** 7 | * A {@link Boat} with a chest. 8 | */ 9 | public interface ChestBoat extends Boat, InventoryHolder, com.destroystokyo.paper.loottable.LootableEntityInventory { // Paper 10 | } 11 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/Cod.java: -------------------------------------------------------------------------------- 1 | 2 | package org.bukkit.entity; 3 | 4 | /** 5 | * Represents a cod fish. 6 | */ 7 | public interface Cod extends io.papermc.paper.entity.SchoolableFish { } // Paper - Schooling Fish API 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/ComplexEntityPart.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | import org.jetbrains.annotations.NotNull; 4 | 5 | /** 6 | * Represents a single part of a {@link ComplexLivingEntity} 7 | */ 8 | public interface ComplexEntityPart extends Entity { 9 | 10 | /** 11 | * Gets the parent {@link ComplexLivingEntity} of this part. 12 | * 13 | * @return Parent complex entity 14 | */ 15 | @NotNull 16 | public ComplexLivingEntity getParent(); 17 | } 18 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/ComplexLivingEntity.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | import java.util.Set; 4 | import org.jetbrains.annotations.NotNull; 5 | 6 | /** 7 | * Represents a complex living entity - one that is made up of various smaller 8 | * parts 9 | */ 10 | public interface ComplexLivingEntity extends LivingEntity { 11 | /** 12 | * Gets a list of parts that belong to this complex entity 13 | * 14 | * @return List of parts 15 | */ 16 | @NotNull 17 | public Set getParts(); 18 | } 19 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/Creature.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a Creature. Creatures are non-intelligent monsters or animals 5 | * which have very simple abilities. 6 | */ 7 | public interface Creature extends Mob {} 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/Donkey.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a Donkey - variant of {@link ChestedHorse}. 5 | */ 6 | public interface Donkey extends ChestedHorse { } 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/DragonFireball.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | public interface DragonFireball extends Fireball {} 4 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/Drowned.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | import com.destroystokyo.paper.entity.RangedEntity; 4 | 5 | /** 6 | * Drowned zombie. 7 | */ 8 | public interface Drowned extends Zombie, RangedEntity { } // Paper 9 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/Egg.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a thrown egg. 5 | */ 6 | public interface Egg extends ThrowableProjectile {} 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/ElderGuardian.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents an ElderGuardian - variant of {@link Guardian}. 5 | */ 6 | public interface ElderGuardian extends Guardian { } 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/EnderDragonPart.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | import org.jetbrains.annotations.NotNull; 4 | 5 | /** 6 | * Represents an ender dragon part 7 | */ 8 | public interface EnderDragonPart extends ComplexEntityPart, Damageable { 9 | @Override 10 | @NotNull 11 | public EnderDragon getParent(); 12 | } 13 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/EnderPearl.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a thrown Ender Pearl entity 5 | */ 6 | public interface EnderPearl extends ThrowableProjectile { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/Enemy.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents an Enemy 5 | */ 6 | public interface Enemy extends LivingEntity {} 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/Fish.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a fish entity. 5 | */ 6 | public interface Fish extends WaterMob, io.papermc.paper.entity.Bucketable { } // Paper - Bucketable API 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/Flying.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a Flying Entity. 5 | */ 6 | public interface Flying extends Mob {} 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/Giant.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a Giant. 5 | */ 6 | public interface Giant extends Monster {} 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/GlowItemFrame.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * A Glow Item Frame. 5 | */ 6 | public interface GlowItemFrame extends ItemFrame { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/Golem.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * A mechanical creature that may harm enemies. 5 | */ 6 | public interface Golem extends Creature { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/Illager.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a type of "Illager". 5 | */ 6 | public interface Illager extends Raider { } 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/Illusioner.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | import com.destroystokyo.paper.entity.RangedEntity; 4 | 5 | /** 6 | * Represents an Illusioner "Illager". 7 | */ 8 | public interface Illusioner extends Spellcaster, RangedEntity { // Paper 9 | 10 | } 11 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/LargeFireball.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a large {@link Fireball} 5 | */ 6 | public interface LargeFireball extends SizedFireball { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/LeashHitch.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a Leash Hitch on a fence 5 | */ 6 | public interface LeashHitch extends Hanging { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/LingeringPotion.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a thrown lingering potion bottle 5 | */ 6 | public interface LingeringPotion extends ThrownPotion { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/LlamaSpit.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents Llama spit. 5 | */ 6 | public interface LlamaSpit extends Projectile { } 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/MagmaCube.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a MagmaCube. 5 | */ 6 | public interface MagmaCube extends Slime { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/Marker.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * A Marker entity, exists only on the server. 5 | */ 6 | public interface Marker extends Entity { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/Monster.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a Monster. 5 | */ 6 | public interface Monster extends Creature, Enemy {} 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/Mule.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a Mule - variant of {@link ChestedHorse}. 5 | */ 6 | public interface Mule extends ChestedHorse { } 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/NPC.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a non-player character 5 | */ 6 | public interface NPC extends Creature { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/PiglinBrute.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a Piglin Brute. 5 | */ 6 | public interface PiglinBrute extends PiglinAbstract { } 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/Pillager.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | import com.destroystokyo.paper.entity.RangedEntity; // Paper 4 | 5 | import org.bukkit.inventory.InventoryHolder; 6 | 7 | /** 8 | * Illager entity. 9 | */ 10 | public interface Pillager extends Illager, InventoryHolder, RangedEntity { } // Paper 11 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/PolarBear.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a polar bear. 5 | */ 6 | public interface PolarBear extends Animals { 7 | 8 | /** 9 | * Returns whether the polar bear is standing. 10 | * 11 | * @return whether the polar bear is standing 12 | */ 13 | boolean isStanding(); 14 | 15 | /** 16 | * Sets whether the polar bear is standing. 17 | * 18 | * @param standing whether the polar bear should be standing 19 | */ 20 | void setStanding(boolean standing); 21 | 22 | } 23 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/PufferFish.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a puffer fish. 5 | */ 6 | public interface PufferFish extends Fish { 7 | 8 | /** 9 | * Returns the current puff state of this fish (i.e. how inflated it is). 10 | * 11 | * @return current puff state 12 | */ 13 | int getPuffState(); 14 | 15 | /** 16 | * Sets the current puff state of this fish (i.e. how inflated it is). 17 | * 18 | * @param state new puff state 19 | */ 20 | void setPuffState(int state); 21 | } 22 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/Silverfish.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a Silverfish. 5 | */ 6 | public interface Silverfish extends Monster {} 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/SmallFireball.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a small {@link Fireball} 5 | */ 6 | public interface SmallFireball extends SizedFireball { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/Snowball.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a snowball. 5 | */ 6 | public interface Snowball extends ThrowableProjectile {} 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/Spider.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a Spider. 5 | */ 6 | public interface Spider extends Monster {} 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/SplashPotion.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a thrown splash potion bottle 5 | */ 6 | public interface SplashPotion extends ThrownPotion { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/Squid.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a Squid. 5 | */ 6 | public interface Squid extends Ageable, WaterMob {} 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/Stray.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a Stray - variant of {@link AbstractSkeleton}. 5 | */ 6 | public interface Stray extends AbstractSkeleton { } 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/ThrownExpBottle.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a thrown Experience bottle. 5 | */ 6 | public interface ThrownExpBottle extends ThrowableProjectile { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/TippedArrow.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * @deprecated tipped status depends only on base potion type not being 5 | * UNCRAFTABLE and effects being empty. 6 | */ 7 | @Deprecated(since = "1.14") 8 | public interface TippedArrow extends Arrow { } 9 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/TraderLlama.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a trader Llama. 5 | */ 6 | public interface TraderLlama extends Llama { } 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/WaterMob.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a Water Mob 5 | */ 6 | public interface WaterMob extends Creature {} 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/WindCharge.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a Wind Charge. 5 | */ 6 | public interface WindCharge extends AbstractWindCharge { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/WitherSkeleton.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a WitherSkeleton - variant of {@link AbstractSkeleton}. 5 | */ 6 | public interface WitherSkeleton extends AbstractSkeleton { } 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/ZombieHorse.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity; 2 | 3 | /** 4 | * Represents a ZombieHorse - variant of {@link AbstractHorse}. 5 | */ 6 | public interface ZombieHorse extends AbstractHorse { } 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/boat/AcaciaBoat.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity.boat; 2 | 3 | import org.bukkit.entity.Boat; 4 | 5 | /** 6 | * Represents an acacia boat. 7 | */ 8 | public interface AcaciaBoat extends Boat { 9 | } 10 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/boat/AcaciaChestBoat.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity.boat; 2 | 3 | import org.bukkit.entity.ChestBoat; 4 | 5 | /** 6 | * Represents an acacia chest boat. 7 | */ 8 | public interface AcaciaChestBoat extends ChestBoat { 9 | } 10 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/boat/BambooChestRaft.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity.boat; 2 | 3 | import org.bukkit.entity.ChestBoat; 4 | 5 | /** 6 | * Represents a bamboo chest raft. 7 | */ 8 | public interface BambooChestRaft extends ChestBoat { 9 | } 10 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/boat/BambooRaft.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity.boat; 2 | 3 | import org.bukkit.entity.Boat; 4 | 5 | /** 6 | * Represents a bamboo raft. 7 | */ 8 | public interface BambooRaft extends Boat { 9 | } 10 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/boat/BirchBoat.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity.boat; 2 | 3 | import org.bukkit.entity.Boat; 4 | 5 | /** 6 | * Represents a birch boat. 7 | */ 8 | public interface BirchBoat extends Boat { 9 | } 10 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/boat/BirchChestBoat.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity.boat; 2 | 3 | import org.bukkit.entity.ChestBoat; 4 | 5 | /** 6 | * Represents a birch chest boat. 7 | */ 8 | public interface BirchChestBoat extends ChestBoat { 9 | } 10 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/boat/CherryBoat.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity.boat; 2 | 3 | import org.bukkit.entity.Boat; 4 | 5 | /** 6 | * Represents a cherry boat. 7 | */ 8 | public interface CherryBoat extends Boat { 9 | } 10 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/boat/CherryChestBoat.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity.boat; 2 | 3 | import org.bukkit.entity.ChestBoat; 4 | 5 | /** 6 | * Represents a cherry chest boat. 7 | */ 8 | public interface CherryChestBoat extends ChestBoat { 9 | } 10 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/boat/DarkOakBoat.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity.boat; 2 | 3 | import org.bukkit.entity.Boat; 4 | 5 | /** 6 | * Represents a dark oak boat. 7 | */ 8 | public interface DarkOakBoat extends Boat { 9 | } 10 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/boat/DarkOakChestBoat.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity.boat; 2 | 3 | import org.bukkit.entity.ChestBoat; 4 | 5 | /** 6 | * Represents a dark oak chest boat. 7 | */ 8 | public interface DarkOakChestBoat extends ChestBoat { 9 | } 10 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/boat/JungleBoat.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity.boat; 2 | 3 | import org.bukkit.entity.Boat; 4 | 5 | /** 6 | * Represents a jungle boat. 7 | */ 8 | public interface JungleBoat extends Boat { 9 | } 10 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/boat/JungleChestBoat.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity.boat; 2 | 3 | import org.bukkit.entity.ChestBoat; 4 | 5 | /** 6 | * Represents a jungle chest boat. 7 | */ 8 | public interface JungleChestBoat extends ChestBoat { 9 | } 10 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/boat/MangroveBoat.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity.boat; 2 | 3 | import org.bukkit.entity.Boat; 4 | 5 | /** 6 | * Represents a mangrove boat. 7 | */ 8 | public interface MangroveBoat extends Boat { 9 | } 10 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/boat/MangroveChestBoat.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity.boat; 2 | 3 | import org.bukkit.entity.ChestBoat; 4 | 5 | /** 6 | * Represents a mangrove chest boat. 7 | */ 8 | public interface MangroveChestBoat extends ChestBoat { 9 | } 10 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/boat/OakBoat.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity.boat; 2 | 3 | import org.bukkit.entity.Boat; 4 | 5 | /** 6 | * Represents an oak boat. 7 | */ 8 | public interface OakBoat extends Boat { 9 | } 10 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/boat/OakChestBoat.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity.boat; 2 | 3 | import org.bukkit.entity.ChestBoat; 4 | 5 | /** 6 | * Represents an oak chest boat. 7 | */ 8 | public interface OakChestBoat extends ChestBoat { 9 | } 10 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/boat/PaleOakBoat.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity.boat; 2 | 3 | import org.bukkit.entity.Boat; 4 | 5 | /** 6 | * Represents a pale oak boat. 7 | */ 8 | public interface PaleOakBoat extends Boat { 9 | } 10 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/boat/PaleOakChestBoat.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity.boat; 2 | 3 | import org.bukkit.entity.ChestBoat; 4 | 5 | /** 6 | * Represents a pale oak chest boat. 7 | */ 8 | public interface PaleOakChestBoat extends ChestBoat { 9 | } 10 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/boat/SpruceBoat.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity.boat; 2 | 3 | import org.bukkit.entity.Boat; 4 | 5 | /** 6 | * Represents a spruce boat. 7 | */ 8 | public interface SpruceBoat extends Boat { 9 | } 10 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/boat/SpruceChestBoat.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity.boat; 2 | 3 | import org.bukkit.entity.ChestBoat; 4 | 5 | /** 6 | * Represents a spruce chest boat. 7 | */ 8 | public interface SpruceChestBoat extends ChestBoat { 9 | } 10 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/boat/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Interfaces for various {@link org.bukkit.entity.Boat} types. 3 | */ 4 | package org.bukkit.entity.boat; 5 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/memory/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes concerning an entity's persistent memory. 3 | * 4 | * Currently only relevant for Villagers. 5 | */ 6 | package org.bukkit.entity.memory; 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/minecart/SpawnerMinecart.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.entity.minecart; 2 | 3 | import org.bukkit.entity.Minecart; 4 | import org.bukkit.spawner.Spawner; 5 | 6 | /** 7 | * Represents a Minecart with an {@link org.bukkit.block.CreatureSpawner 8 | * entity spawner} inside it. 9 | */ 10 | public interface SpawnerMinecart extends Minecart, Spawner { 11 | } 12 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/minecart/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Interfaces for various {@link org.bukkit.entity.Minecart} types. 3 | */ 4 | package org.bukkit.entity.minecart; 5 | 6 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/entity/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Interfaces for non-voxel objects that can exist in a {@link 3 | * org.bukkit.World world}, including all players, monsters, projectiles, etc. 4 | */ 5 | package org.bukkit.entity; 6 | 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/event/Listener.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.event; 2 | 3 | /** 4 | * Simple interface for tagging all EventListeners 5 | */ 6 | public interface Listener {} 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/event/block/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * {@link org.bukkit.event.Event Events} relating to when a {@link 3 | * org.bukkit.block.Block block} is changed or interacts with the {@link 4 | * org.bukkit.World world}. 5 | */ 6 | package org.bukkit.event.block; 7 | 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/event/enchantment/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * {@link org.bukkit.event.Event Events} triggered from an {@link 3 | * org.bukkit.inventory.EnchantingInventory enchantment table}. 4 | */ 5 | package org.bukkit.event.enchantment; 6 | 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/event/entity/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * {@link org.bukkit.event.Event Events} relating to {@link 3 | * org.bukkit.entity.Entity entities}, excluding some directly referencing 4 | * some more specific entity types. 5 | */ 6 | package org.bukkit.event.entity; 7 | 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/event/hanging/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * {@link org.bukkit.event.Event Events} relating to {@link 3 | * org.bukkit.entity.Hanging entities that hang}. 4 | */ 5 | package org.bukkit.event.hanging; 6 | 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/event/inventory/DragType.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.event.inventory; 2 | 3 | /** 4 | * Represents the effect of a drag that will be applied to an Inventory in an 5 | * InventoryDragEvent. 6 | */ 7 | public enum DragType { 8 | /** 9 | * One item from the cursor is placed in each selected slot. 10 | */ 11 | SINGLE, 12 | /** 13 | * The cursor is split evenly across all selected slots, not to exceed the 14 | * Material's max stack size, with the remainder going to the cursor. 15 | */ 16 | EVEN, 17 | } 18 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/event/inventory/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * {@link org.bukkit.event.Event Events} relating to {@link 3 | * org.bukkit.inventory.Inventory inventory} manipulation. 4 | */ 5 | package org.bukkit.event.inventory; 6 | 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/event/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes dedicated to handling triggered code executions. 3 | */ 4 | package org.bukkit.event; 5 | 6 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/event/player/PlayerAnimationType.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.event.player; 2 | 3 | /** 4 | * Different types of player animations 5 | */ 6 | public enum PlayerAnimationType { 7 | ARM_SWING, 8 | OFF_ARM_SWING 9 | } 10 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/event/player/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * {@link org.bukkit.event.Event Events} relating to {@link 3 | * org.bukkit.entity.Player players}. 4 | */ 5 | package org.bukkit.event.player; 6 | 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/event/raid/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * {@link org.bukkit.event.Event Events} related to raids. 3 | */ 4 | package org.bukkit.event.raid; 5 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/event/server/ServerEvent.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.event.server; 2 | 3 | import org.bukkit.Bukkit; 4 | import org.bukkit.event.Event; 5 | 6 | /** 7 | * Miscellaneous server events 8 | */ 9 | public abstract class ServerEvent extends Event { 10 | 11 | public ServerEvent() { 12 | super(!Bukkit.isPrimaryThread()); // Paper 13 | } 14 | 15 | public ServerEvent(boolean isAsync) { 16 | super(isAsync); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/event/server/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * {@link org.bukkit.event.Event Events} relating to programmatic state 3 | * changes on the server. 4 | */ 5 | package org.bukkit.event.server; 6 | 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/event/vehicle/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * {@link org.bukkit.event.Event Events} relating to {@link 3 | * org.bukkit.entity.Vehicle vehicular entities}. 4 | */ 5 | package org.bukkit.event.vehicle; 6 | 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/event/weather/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * {@link org.bukkit.event.Event Events} relating to weather. 3 | */ 4 | package org.bukkit.event.weather; 5 | 6 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/event/world/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * {@link org.bukkit.event.Event Events} triggered by various {@link 3 | * org.bukkit.World world} states or changes. 4 | */ 5 | package org.bukkit.event.world; 6 | 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/generator/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes to facilitate {@link org.bukkit.World world} generation 3 | * implementation. 4 | */ 5 | package org.bukkit.generator; 6 | 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/generator/structure/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes to facilitate world {@link org.bukkit.generator.structure.Structure} 3 | * generation. 4 | */ 5 | package org.bukkit.generator.structure; 6 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/help/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes used to manipulate the default command and topic assistance system. 3 | */ 4 | package org.bukkit.help; 5 | 6 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/inventory/ChiseledBookshelfInventory.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.inventory; 2 | 3 | import org.bukkit.block.ChiseledBookshelf; 4 | import org.jetbrains.annotations.Nullable; 5 | 6 | /** 7 | * Interface to the inventory of a chiseled bookshelf. 8 | */ 9 | public interface ChiseledBookshelfInventory extends Inventory { 10 | 11 | @Nullable 12 | @Override 13 | public ChiseledBookshelf getHolder(); 14 | } 15 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/inventory/ComplexRecipe.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.inventory; 2 | 3 | import org.bukkit.Keyed; 4 | 5 | /** 6 | * Represents a complex recipe which has imperative server-defined behavior, eg 7 | * armor dyeing. 8 | * 9 | * Note: Since a complex recipe has dynamic outputs, {@link #getResult()} will 10 | * sometimes return an AIR ItemStack. 11 | */ 12 | public interface ComplexRecipe extends Recipe, Keyed {} 13 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/inventory/CrafterInventory.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.inventory; 2 | 3 | /** 4 | * Interface to the inventory of a Crafter. 5 | */ 6 | public interface CrafterInventory extends Inventory { } 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/inventory/HorseInventory.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.inventory; 2 | 3 | import org.jetbrains.annotations.Nullable; 4 | 5 | /** 6 | * An interface to the inventory of a Horse. 7 | */ 8 | public interface HorseInventory extends AbstractHorseInventory, ArmoredHorseInventory {} 9 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/inventory/InventoryHolder.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.inventory; 2 | 3 | import org.jetbrains.annotations.NotNull; 4 | 5 | public interface InventoryHolder { 6 | 7 | /** 8 | * Get the object's inventory. 9 | * 10 | * @return The inventory. 11 | */ 12 | @NotNull 13 | public Inventory getInventory(); 14 | } 15 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/inventory/LoomInventory.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.inventory; 2 | 3 | /** 4 | * Interface to the inventory of a Loom. 5 | */ 6 | public interface LoomInventory extends Inventory { } 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/inventory/MainHand.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.inventory; 2 | 3 | /** 4 | * Represents the chosen main hand of a player 5 | */ 6 | public enum MainHand { 7 | LEFT, 8 | RIGHT 9 | } 10 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/inventory/Recipe.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.inventory; 2 | 3 | import org.jetbrains.annotations.NotNull; 4 | 5 | /** 6 | * Represents some type of crafting recipe. 7 | */ 8 | public interface Recipe { 9 | 10 | /** 11 | * Get the result of this recipe. 12 | * 13 | * @return The result stack 14 | */ 15 | @NotNull 16 | ItemStack getResult(); 17 | } 18 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/inventory/SaddledHorseInventory.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.inventory; 2 | 3 | import org.jspecify.annotations.NullMarked; 4 | 5 | @NullMarked 6 | public interface SaddledHorseInventory extends AbstractHorseInventory { 7 | } 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/inventory/meta/ColorableArmorMeta.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.inventory.meta; 2 | 3 | import org.jetbrains.annotations.NotNull; 4 | 5 | /** 6 | * Represents armor that an entity can equip and can also be colored. 7 | */ 8 | public interface ColorableArmorMeta extends ArmorMeta, LeatherArmorMeta { 9 | 10 | @Override 11 | @NotNull 12 | ColorableArmorMeta clone(); 13 | } 14 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/inventory/meta/components/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Isolated components which may form part of item meta. 3 | */ 4 | @org.jetbrains.annotations.ApiStatus.Experimental 5 | package org.bukkit.inventory.meta.components; 6 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/inventory/meta/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * The interfaces used when manipulating extra data can can be stored inside 3 | * {@link org.bukkit.inventory.ItemStack item stacks}. 4 | */ 5 | package org.bukkit.inventory.meta; 6 | 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/inventory/meta/tags/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes that allow attaching custom data to items. 3 | */ 4 | package org.bukkit.inventory.meta.tags; 5 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/inventory/meta/trim/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Armor trim meta types. 3 | */ 4 | package org.bukkit.inventory.meta.trim; 5 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/inventory/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes involved in manipulating player inventories and item interactions. 3 | */ 4 | package org.bukkit.inventory; 5 | 6 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/inventory/recipe/CookingBookCategory.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.inventory.recipe; 2 | 3 | /** 4 | * Represents categories within the cooking recipe book. 5 | */ 6 | public enum CookingBookCategory { 7 | 8 | // Start generate - CookingBookCategory 9 | // @GeneratedFrom 1.21.5 10 | FOOD, 11 | BLOCKS, 12 | MISC; 13 | // End generate - CookingBookCategory 14 | } 15 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/inventory/recipe/CraftingBookCategory.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.inventory.recipe; 2 | 3 | /** 4 | * Represents categories within the crafting recipe book. 5 | */ 6 | public enum CraftingBookCategory { 7 | 8 | // Start generate - CraftingBookCategory 9 | // @GeneratedFrom 1.21.5 10 | BUILDING, 11 | REDSTONE, 12 | EQUIPMENT, 13 | MISC; 14 | // End generate - CraftingBookCategory 15 | } 16 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/inventory/recipe/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * New location for recipe-related classes. 3 | */ 4 | package org.bukkit.inventory.recipe; 5 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/inventory/view/builder/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * A Package that contains builders for building InventoryViews. 3 | */ 4 | @NullMarked 5 | @ApiStatus.Experimental 6 | package org.bukkit.inventory.view.builder; 7 | 8 | import org.jetbrains.annotations.ApiStatus; 9 | import org.jspecify.annotations.NullMarked; 10 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/inventory/view/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Package for {@link org.bukkit.inventory.InventoryView} child interfaces that 3 | * house further usability for {@link org.bukkit.inventory.InventoryView}. 4 | */ 5 | @org.jetbrains.annotations.ApiStatus.Experimental 6 | package org.bukkit.inventory.view; 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/loot/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes relevant to loot table manipulation and generation. 3 | */ 4 | package org.bukkit.loot; 5 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/map/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes to facilitate plugin handling of {@link org.bukkit.Material#MAP 3 | * map} displays. 4 | */ 5 | package org.bukkit.map; 6 | 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/material/Attachable.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.material; 2 | 3 | import org.bukkit.block.BlockFace; 4 | import org.jetbrains.annotations.NotNull; 5 | 6 | /** 7 | * Indicates that a block can be attached to another block 8 | */ 9 | public interface Attachable extends Directional { 10 | 11 | /** 12 | * Gets the face that this block is attached on 13 | * 14 | * @return BlockFace attached to 15 | */ 16 | @NotNull 17 | public BlockFace getAttachedFace(); 18 | } 19 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/material/Openable.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.material; 2 | 3 | @Deprecated(forRemoval = true, since = "1.13") 4 | public interface Openable { 5 | 6 | /** 7 | * Check to see if the door is open. 8 | * 9 | * @return true if the door has swung counterclockwise around its hinge. 10 | */ 11 | boolean isOpen(); 12 | 13 | /** 14 | * Configure this door to be either open or closed; 15 | * 16 | * @param isOpen True to open the door. 17 | */ 18 | void setOpen(boolean isOpen); 19 | } 20 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/material/PressureSensor.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.material; 2 | 3 | public interface PressureSensor { 4 | public boolean isPressed(); 5 | } 6 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/material/Redstone.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.material; 2 | 3 | /** 4 | * Indicated a Material that may carry or create a Redstone current 5 | */ 6 | @Deprecated(forRemoval = true, since = "1.13") 7 | public interface Redstone { 8 | 9 | /** 10 | * Gets the current state of this Material, indicating if it's powered or 11 | * unpowered 12 | * 13 | * @return true if powered, otherwise false 14 | */ 15 | public boolean isPowered(); 16 | } 17 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/material/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes that represents various voxel types and states. 3 | */ 4 | package org.bukkit.material; 5 | 6 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/material/types/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes relevant to specific material types. 3 | */ 4 | package org.bukkit.material.types; 5 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/metadata/MetadataConversionException.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.metadata; 2 | 3 | /** 4 | * A MetadataConversionException is thrown any time a {@link 5 | * LazyMetadataValue} attempts to convert a metadata value to an inappropriate 6 | * data type. 7 | */ 8 | @SuppressWarnings("serial") 9 | public class MetadataConversionException extends RuntimeException { 10 | MetadataConversionException(String message) { 11 | super(message); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/metadata/MetadataEvaluationException.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.metadata; 2 | 3 | /** 4 | * A MetadataEvaluationException is thrown any time a {@link 5 | * LazyMetadataValue} fails to evaluate its value due to an exception. The 6 | * originating exception will be included as this exception's cause. 7 | */ 8 | @SuppressWarnings("serial") 9 | public class MetadataEvaluationException extends RuntimeException { 10 | MetadataEvaluationException(Throwable cause) { 11 | super(cause); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/metadata/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes dedicated to providing a layer of plugin specified data on various 3 | * Minecraft concepts. 4 | */ 5 | package org.bukkit.metadata; 6 | 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * The root package of the Bukkit API, contains generalized API classes. 3 | */ 4 | package org.bukkit; 5 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/packs/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes dedicated to handling data pack information. 3 | */ 4 | package org.bukkit.packs; 5 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/permissions/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes dedicated to providing binary state properties to players. 3 | */ 4 | package org.bukkit.permissions; 5 | 6 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/persistence/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes that allow attaching persistent data to various objects. 3 | */ 4 | package org.bukkit.persistence; 5 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/plugin/PluginLoadOrder.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.plugin; 2 | 3 | /** 4 | * Represents the order in which a plugin should be initialized and enabled 5 | */ 6 | public enum PluginLoadOrder { 7 | 8 | /** 9 | * Indicates that the plugin will be loaded at startup 10 | */ 11 | STARTUP, 12 | /** 13 | * Indicates that the plugin will be loaded after the first/default world 14 | * was created 15 | */ 16 | POSTWORLD 17 | } 18 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/plugin/ServicePriority.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.plugin; 2 | 3 | /** 4 | * Represents various priorities of a provider. 5 | */ 6 | public enum ServicePriority { 7 | Lowest, 8 | Low, 9 | Normal, 10 | High, 11 | Highest 12 | } 13 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/plugin/java/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes for handling {@link org.bukkit.plugin.Plugin plugins} written in 3 | * java. 4 | */ 5 | package org.bukkit.plugin.java; 6 | 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/plugin/messaging/PluginChannelDirection.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.plugin.messaging; 2 | 3 | /** 4 | * Represents the different directions a plugin channel may go. 5 | */ 6 | public enum PluginChannelDirection { 7 | 8 | /** 9 | * The plugin channel is being sent to the server from a client. 10 | */ 11 | INCOMING, 12 | 13 | /** 14 | * The plugin channel is being sent to a client from the server. 15 | */ 16 | OUTGOING 17 | } 18 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/plugin/messaging/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes dedicated to specialized plugin to client protocols. 3 | */ 4 | package org.bukkit.plugin.messaging; 5 | 6 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/plugin/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes specifically relating to loading software modules at runtime. 3 | */ 4 | package org.bukkit.plugin; 5 | 6 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/potion/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes to represent various {@link org.bukkit.Material#POTION potion} 3 | * properties and manipulation. 4 | */ 5 | package org.bukkit.potion; 6 | 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/profile/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes relevant to player profiles. 3 | */ 4 | package org.bukkit.profile; 5 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/projectiles/BlockProjectileSource.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.projectiles; 2 | 3 | import org.bukkit.block.Block; 4 | import org.jetbrains.annotations.NotNull; 5 | 6 | public interface BlockProjectileSource extends ProjectileSource { 7 | 8 | /** 9 | * Gets the block this projectile source belongs to. 10 | * 11 | * @return Block for the projectile source 12 | */ 13 | @NotNull 14 | public Block getBlock(); 15 | } 16 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/projectiles/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes to represent the source of a projectile 3 | */ 4 | package org.bukkit.projectiles; 5 | 6 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/scheduler/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes dedicated to letting {@link org.bukkit.plugin.Plugin plugins} run 3 | * code at specific time intervals, including thread safety. 4 | */ 5 | package org.bukkit.scheduler; 6 | 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/scoreboard/RenderType.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.scoreboard; 2 | 3 | /** 4 | * Controls the way in which an {@link Objective} is rendered client side. 5 | */ 6 | public enum RenderType { 7 | 8 | /** 9 | * Display integer value. 10 | */ 11 | INTEGER, 12 | /** 13 | * Display number of hearts corresponding to value. 14 | */ 15 | HEARTS; 16 | } 17 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/scoreboard/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Interfaces used to manage the client side score display system. 3 | */ 4 | package org.bukkit.scoreboard; 5 | 6 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/spawner/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes related to entity spawners. 3 | */ 4 | package org.bukkit.spawner; 5 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/structure/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes related to creating or using {@link org.bukkit.structure.Structure 3 | * structures} without creating {@link org.bukkit.block.Structure Structure 4 | * blocks} in the world. 5 | */ 6 | package org.bukkit.structure; 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/tag/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * {@link org.bukkit.Tag Tag}-related API. 3 | */ 4 | @ApiStatus.Experimental 5 | package org.bukkit.tag; 6 | 7 | import org.jetbrains.annotations.ApiStatus; 8 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/util/io/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes used to facilitate stream processing for specific Bukkit concepts. 3 | */ 4 | package org.bukkit.util.io; 5 | 6 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/util/noise/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes dedicated to facilitating deterministic noise. 3 | */ 4 | package org.bukkit.util.noise; 5 | 6 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/util/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Multi and single purpose classes to facilitate various programmatic 3 | * concepts. 4 | */ 5 | package org.bukkit.util; 6 | 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/bukkit/util/permissions/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Static methods for miscellaneous {@link org.bukkit.permissions.Permission 3 | * permission} functionality. 4 | */ 5 | package org.bukkit.util.permissions; 6 | 7 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/spigotmc/event/player/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Spigot-specific player events. 3 | */ 4 | package org.spigotmc.event.player; 5 | -------------------------------------------------------------------------------- /paper-api/src/main/java/org/spigotmc/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Spigot-specific classes. 3 | */ 4 | package org.spigotmc; 5 | -------------------------------------------------------------------------------- /paper-api/src/test/java/org/bukkit/CoalTypeTest.java: -------------------------------------------------------------------------------- 1 | package org.bukkit; 2 | 3 | import static org.bukkit.support.MatcherAssert.*; 4 | import static org.hamcrest.CoreMatchers.*; 5 | import org.junit.jupiter.api.Test; 6 | 7 | public class CoalTypeTest { 8 | @Test 9 | public void getByData() { 10 | for (CoalType coalType : CoalType.values()) { 11 | assertThat(CoalType.getByData(coalType.getData()), is(coalType)); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /paper-api/src/test/java/org/bukkit/CropStateTest.java: -------------------------------------------------------------------------------- 1 | package org.bukkit; 2 | 3 | import static org.bukkit.support.MatcherAssert.*; 4 | import static org.hamcrest.CoreMatchers.*; 5 | import org.junit.jupiter.api.Test; 6 | 7 | public class CropStateTest { 8 | @Test 9 | public void getByData() { 10 | for (CropState cropState : CropState.values()) { 11 | assertThat(CropState.getByData(cropState.getData()), is(cropState)); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /paper-api/src/test/java/org/bukkit/DifficultyTest.java: -------------------------------------------------------------------------------- 1 | package org.bukkit; 2 | 3 | import static org.bukkit.support.MatcherAssert.*; 4 | import static org.hamcrest.CoreMatchers.*; 5 | import org.junit.jupiter.api.Test; 6 | 7 | public class DifficultyTest { 8 | @Test 9 | public void getByValue() { 10 | for (Difficulty difficulty : Difficulty.values()) { 11 | assertThat(Difficulty.getByValue(difficulty.getValue()), is(difficulty)); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /paper-api/src/test/java/org/bukkit/GameModeTest.java: -------------------------------------------------------------------------------- 1 | package org.bukkit; 2 | 3 | import static org.bukkit.support.MatcherAssert.*; 4 | import static org.hamcrest.CoreMatchers.*; 5 | import org.junit.jupiter.api.Test; 6 | 7 | public class GameModeTest { 8 | @Test 9 | public void getByValue() { 10 | for (GameMode gameMode : GameMode.values()) { 11 | assertThat(GameMode.getByValue(gameMode.getValue()), is(gameMode)); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /paper-api/src/test/java/org/bukkit/GrassSpeciesTest.java: -------------------------------------------------------------------------------- 1 | package org.bukkit; 2 | 3 | import static org.bukkit.support.MatcherAssert.*; 4 | import static org.hamcrest.CoreMatchers.*; 5 | import org.junit.jupiter.api.Test; 6 | 7 | public class GrassSpeciesTest { 8 | @Test 9 | public void getByData() { 10 | for (GrassSpecies grassSpecies : GrassSpecies.values()) { 11 | assertThat(GrassSpecies.getByData(grassSpecies.getData()), is(grassSpecies)); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /paper-api/src/test/java/org/bukkit/TreeSpeciesTest.java: -------------------------------------------------------------------------------- 1 | package org.bukkit; 2 | 3 | import static org.bukkit.support.MatcherAssert.*; 4 | import static org.hamcrest.CoreMatchers.*; 5 | import org.junit.jupiter.api.Test; 6 | 7 | public class TreeSpeciesTest { 8 | @Test 9 | public void getByData() { 10 | for (TreeSpecies treeSpecies : TreeSpecies.values()) { 11 | assertThat(TreeSpecies.getByData(treeSpecies.getData()), is(treeSpecies)); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /paper-api/src/test/java/org/bukkit/WorldTypeTest.java: -------------------------------------------------------------------------------- 1 | package org.bukkit; 2 | 3 | import static org.bukkit.support.MatcherAssert.*; 4 | import static org.hamcrest.CoreMatchers.*; 5 | import org.junit.jupiter.api.Test; 6 | 7 | public class WorldTypeTest { 8 | @Test 9 | public void getByName() { 10 | for (WorldType worldType : WorldType.values()) { 11 | assertThat(WorldType.getByName(worldType.getName()), is(worldType)); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /paper-api/src/test/java/org/bukkit/configuration/MemoryConfigurationTest.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.configuration; 2 | 3 | public class MemoryConfigurationTest extends ConfigurationTest { 4 | @Override 5 | public Configuration getConfig() { 6 | return new MemoryConfiguration(); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /paper-api/src/test/java/org/bukkit/configuration/MemorySectionTest.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.configuration; 2 | 3 | public class MemorySectionTest extends ConfigurationSectionTest { 4 | @Override 5 | public ConfigurationSection getConfigurationSection() { 6 | return new MemoryConfiguration().createSection("section"); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /paper-api/src/test/java/org/bukkit/event/TestEvent.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.event; 2 | 3 | 4 | public class TestEvent extends Event { 5 | private static final HandlerList handlers = new HandlerList(); 6 | 7 | public TestEvent(boolean async) { 8 | super(async); 9 | } 10 | 11 | @Override 12 | public HandlerList getHandlers() { 13 | return handlers; 14 | } 15 | 16 | public static HandlerList getHandlerList() { 17 | return handlers; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /paper-api/src/test/java/org/bukkit/support/AbstractTestingBase.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.support; 2 | 3 | /** 4 | * If you are getting: java.lang.ExceptionInInitializerError 5 | * 6 | * extend this class to solve it. 7 | */ 8 | public abstract class AbstractTestingBase { 9 | 10 | static { 11 | TestServer.setup(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /paper-api/src/test/resources/META-INF/services/io.papermc.paper.ServerBuildInfo: -------------------------------------------------------------------------------- 1 | io.papermc.paper.TestServerBuildInfo 2 | -------------------------------------------------------------------------------- /paper-api/src/test/resources/META-INF/services/io.papermc.paper.registry.RegistryAccess: -------------------------------------------------------------------------------- 1 | io.papermc.paper.registry.TestRegistryAccess 2 | -------------------------------------------------------------------------------- /paper-generator/.editorconfig: -------------------------------------------------------------------------------- 1 | [*.java] 2 | ij_java_generate_final_locals = false 3 | ij_java_generate_final_parameters = false 4 | -------------------------------------------------------------------------------- /paper-generator/src/main/java/io/papermc/generator/registry/RegistryKeyField.java: -------------------------------------------------------------------------------- 1 | package io.papermc.generator.registry; 2 | 3 | import org.jspecify.annotations.NullMarked; 4 | 5 | @NullMarked 6 | public record RegistryKeyField(Class elementClass, String name) { 7 | } 8 | -------------------------------------------------------------------------------- /paper-generator/src/main/java/io/papermc/generator/rewriter/types/simple/package-info.java: -------------------------------------------------------------------------------- 1 | @NullMarked 2 | package io.papermc.generator.rewriter.types.simple; 3 | 4 | import org.jspecify.annotations.NullMarked; 5 | -------------------------------------------------------------------------------- /paper-generator/src/main/java/io/papermc/generator/rewriter/types/simple/trial/package-info.java: -------------------------------------------------------------------------------- 1 | @ApiStatus.Experimental 2 | @NullMarked 3 | package io.papermc.generator.rewriter.types.simple.trial; 4 | 5 | import org.jetbrains.annotations.ApiStatus; 6 | import org.jspecify.annotations.NullMarked; 7 | -------------------------------------------------------------------------------- /paper-generator/src/main/java/io/papermc/generator/types/SourceGenerator.java: -------------------------------------------------------------------------------- 1 | package io.papermc.generator.types; 2 | 3 | import java.io.IOException; 4 | import java.nio.file.Path; 5 | import org.jspecify.annotations.NullMarked; 6 | 7 | @NullMarked 8 | public interface SourceGenerator { 9 | 10 | void writeToFile(Path parent) throws IOException; 11 | } 12 | -------------------------------------------------------------------------------- /paper-generator/src/main/java/io/papermc/generator/types/Types.java: -------------------------------------------------------------------------------- 1 | package io.papermc.generator.types; 2 | 3 | import com.squareup.javapoet.ClassName; 4 | import org.jspecify.annotations.NullMarked; 5 | 6 | @NullMarked 7 | public final class Types { 8 | 9 | public static final String BASE_PACKAGE = "org.bukkit.craftbukkit"; 10 | 11 | public static final ClassName CRAFT_BLOCK_DATA = ClassName.get(BASE_PACKAGE + ".block.data", "CraftBlockData"); 12 | 13 | public static final ClassName CRAFT_BLOCK = ClassName.get(BASE_PACKAGE + ".block", "CraftBlock"); 14 | } 15 | -------------------------------------------------------------------------------- /paper-generator/src/main/java/io/papermc/generator/types/craftblockdata/property/appender/PropertyAppender.java: -------------------------------------------------------------------------------- 1 | package io.papermc.generator.types.craftblockdata.property.appender; 2 | 3 | import net.minecraft.world.level.block.state.properties.Property; 4 | import org.jspecify.annotations.NullMarked; 5 | 6 | @NullMarked 7 | public interface PropertyAppender, A> extends AppenderBase { 8 | 9 | Property getProperty(); 10 | 11 | Class getApiType(); 12 | } 13 | -------------------------------------------------------------------------------- /paper-generator/src/main/java/io/papermc/generator/types/craftblockdata/property/converter/Converter.java: -------------------------------------------------------------------------------- 1 | package io.papermc.generator.types.craftblockdata.property.converter; 2 | 3 | import net.minecraft.world.level.block.state.properties.Property; 4 | import org.jspecify.annotations.NullMarked; 5 | 6 | @NullMarked 7 | public interface Converter, A> extends ConverterBase { 8 | 9 | Property getProperty(); 10 | 11 | @Override 12 | Class getApiType(); 13 | } 14 | -------------------------------------------------------------------------------- /paper-generator/src/main/java/io/papermc/generator/types/craftblockdata/property/holder/DataHolderType.java: -------------------------------------------------------------------------------- 1 | package io.papermc.generator.types.craftblockdata.property.holder; 2 | 3 | public enum DataHolderType { 4 | MAP, 5 | LIST, 6 | ARRAY 7 | } 8 | -------------------------------------------------------------------------------- /paper-generator/src/main/java/io/papermc/generator/utils/CommonVariable.java: -------------------------------------------------------------------------------- 1 | package io.papermc.generator.utils; 2 | 3 | import org.jspecify.annotations.NullMarked; 4 | 5 | @NullMarked 6 | public final class CommonVariable { 7 | 8 | public static final String INDEX = "index"; 9 | public static final String MAP_ENTRY = "entry"; 10 | } 11 | -------------------------------------------------------------------------------- /paper-generator/src/main/java/io/papermc/generator/utils/experimental/FlagHolder.java: -------------------------------------------------------------------------------- 1 | package io.papermc.generator.utils.experimental; 2 | 3 | import net.minecraft.world.flag.FeatureFlag; 4 | import net.minecraft.world.flag.FeatureFlagSet; 5 | import net.minecraft.world.flag.FeatureFlags; 6 | import org.jspecify.annotations.NullMarked; 7 | 8 | @NullMarked 9 | public interface FlagHolder { 10 | 11 | default FeatureFlagSet flagSet() { 12 | return FeatureFlags.REGISTRY.subset(this.flag()); 13 | } 14 | 15 | FeatureFlag flag(); 16 | } 17 | -------------------------------------------------------------------------------- /paper-server/patches/resources/data/minecraft/worldgen/noise_settings/amplified.json.patch: -------------------------------------------------------------------------------- 1 | --- a/data/minecraft/worldgen/noise_settings/amplified.json 2 | +++ b/data/minecraft/worldgen/noise_settings/amplified.json 3 | @@ -389,7 +_,8 @@ 4 | { 5 | "type": "minecraft:condition", 6 | "if_true": { 7 | - "type": "minecraft:vertical_gradient", 8 | + "type": "paper:optionally_flat_bedrock_condition_source", 9 | + "is_roof": false, 10 | "false_at_and_above": { 11 | "above_bottom": 5 12 | }, 13 | -------------------------------------------------------------------------------- /paper-server/patches/resources/data/minecraft/worldgen/noise_settings/large_biomes.json.patch: -------------------------------------------------------------------------------- 1 | --- a/data/minecraft/worldgen/noise_settings/large_biomes.json 2 | +++ b/data/minecraft/worldgen/noise_settings/large_biomes.json 3 | @@ -389,7 +_,8 @@ 4 | { 5 | "type": "minecraft:condition", 6 | "if_true": { 7 | - "type": "minecraft:vertical_gradient", 8 | + "type": "paper:optionally_flat_bedrock_condition_source", 9 | + "is_roof": false, 10 | "false_at_and_above": { 11 | "above_bottom": 5 12 | }, 13 | -------------------------------------------------------------------------------- /paper-server/patches/resources/data/minecraft/worldgen/noise_settings/overworld.json.patch: -------------------------------------------------------------------------------- 1 | --- a/data/minecraft/worldgen/noise_settings/overworld.json 2 | +++ b/data/minecraft/worldgen/noise_settings/overworld.json 3 | @@ -389,7 +_,8 @@ 4 | { 5 | "type": "minecraft:condition", 6 | "if_true": { 7 | - "type": "minecraft:vertical_gradient", 8 | + "type": "paper:optionally_flat_bedrock_condition_source", 9 | + "is_roof": false, 10 | "false_at_and_above": { 11 | "above_bottom": 5 12 | }, 13 | -------------------------------------------------------------------------------- /paper-server/patches/sources/com/mojang/logging/LogUtils.java.patch: -------------------------------------------------------------------------------- 1 | --- a/com/mojang/logging/LogUtils.java 2 | +++ b/com/mojang/logging/LogUtils.java 3 | @@ -61,4 +_,10 @@ 4 | public static Logger getLogger() { 5 | return LoggerFactory.getLogger(STACK_WALKER.getCallerClass()); 6 | } 7 | + 8 | + // Paper start 9 | + public static Logger getClassLogger() { 10 | + return LoggerFactory.getLogger(STACK_WALKER.getCallerClass().getSimpleName()); 11 | + } 12 | + // Paper end 13 | } 14 | -------------------------------------------------------------------------------- /paper-server/patches/sources/net/minecraft/advancements/AdvancementHolder.java.patch: -------------------------------------------------------------------------------- 1 | --- a/net/minecraft/advancements/AdvancementHolder.java 2 | +++ b/net/minecraft/advancements/AdvancementHolder.java 3 | @@ -26,4 +_,10 @@ 4 | public String toString() { 5 | return this.id.toString(); 6 | } 7 | + 8 | + // CraftBukkit start 9 | + public final org.bukkit.advancement.Advancement toBukkit() { 10 | + return new org.bukkit.craftbukkit.advancement.CraftAdvancement(this); 11 | + } 12 | + // CraftBukkit end 13 | } 14 | -------------------------------------------------------------------------------- /paper-server/patches/sources/net/minecraft/advancements/DisplayInfo.java.patch: -------------------------------------------------------------------------------- 1 | --- a/net/minecraft/advancements/DisplayInfo.java 2 | +++ b/net/minecraft/advancements/DisplayInfo.java 3 | @@ -37,6 +_,7 @@ 4 | private final boolean hidden; 5 | private float x; 6 | private float y; 7 | + public final io.papermc.paper.advancement.AdvancementDisplay paper = new io.papermc.paper.advancement.PaperAdvancementDisplay(this); // Paper - Add more advancement API 8 | 9 | public DisplayInfo( 10 | ItemStack icon, 11 | -------------------------------------------------------------------------------- /paper-server/patches/sources/net/minecraft/core/Holder.java.patch: -------------------------------------------------------------------------------- 1 | --- a/net/minecraft/core/Holder.java 2 | +++ b/net/minecraft/core/Holder.java 3 | @@ -230,7 +_,7 @@ 4 | } 5 | 6 | void bindTags(Collection> tags) { 7 | - this.tags = Set.copyOf(tags); 8 | + this.tags = it.unimi.dsi.fastutil.objects.ReferenceSets.unmodifiable(new it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet<>(tags)); // Paper - use reference set because TagKey are interned 9 | } 10 | 11 | @Override 12 | -------------------------------------------------------------------------------- /paper-server/patches/sources/net/minecraft/nbt/IntArrayTag.java.patch: -------------------------------------------------------------------------------- 1 | --- a/net/minecraft/nbt/IntArrayTag.java 2 | +++ b/net/minecraft/nbt/IntArrayTag.java 3 | @@ -23,6 +_,7 @@ 4 | private static int[] readAccounted(DataInput input, NbtAccounter accounter) throws IOException { 5 | accounter.accountBytes(24L); 6 | int _int = input.readInt(); 7 | + com.google.common.base.Preconditions.checkArgument(_int < 1 << 24); // Spigot 8 | accounter.accountBytes(4L, _int); 9 | int[] ints = new int[_int]; 10 | 11 | -------------------------------------------------------------------------------- /paper-server/patches/sources/net/minecraft/server/commands/LocateCommand.java.patch: -------------------------------------------------------------------------------- 1 | --- a/net/minecraft/server/commands/LocateCommand.java 2 | +++ b/net/minecraft/server/commands/LocateCommand.java 3 | @@ -202,6 +_,6 @@ 4 | private static float dist(int x1, int z1, int x2, int z2) { 5 | int i = x2 - x1; 6 | int i1 = z2 - z1; 7 | - return Mth.sqrt(i * i + i1 * i1); 8 | + return (float) Math.hypot(i, i1); // Paper - Fix MC-177381 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /paper-server/patches/sources/net/minecraft/server/commands/SpreadPlayersCommand.java.patch: -------------------------------------------------------------------------------- 1 | --- a/net/minecraft/server/commands/SpreadPlayersCommand.java 2 | +++ b/net/minecraft/server/commands/SpreadPlayersCommand.java 3 | @@ -255,6 +_,7 @@ 4 | entity.getYRot(), 5 | entity.getXRot(), 6 | true 7 | + , org.bukkit.event.player.PlayerTeleportEvent.TeleportCause.COMMAND // CraftBukkit - handle teleport reason 8 | ); 9 | double d1 = Double.MAX_VALUE; 10 | 11 | -------------------------------------------------------------------------------- /paper-server/patches/sources/net/minecraft/world/effect/OozingMobEffect.java.patch: -------------------------------------------------------------------------------- 1 | --- a/net/minecraft/world/effect/OozingMobEffect.java 2 | +++ b/net/minecraft/world/effect/OozingMobEffect.java 3 | @@ -49,7 +_,7 @@ 4 | if (slime != null) { 5 | slime.setSize(2, true); 6 | slime.snapTo(x, y, z, level.getRandom().nextFloat() * 360.0F, 0.0F); 7 | - level.addFreshEntity(slime); 8 | + level.addFreshEntity(slime, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.POTION_EFFECT); // CraftBukkit 9 | } 10 | } 11 | 12 | -------------------------------------------------------------------------------- /paper-server/patches/sources/net/minecraft/world/entity/ai/goal/FloatGoal.java.patch: -------------------------------------------------------------------------------- 1 | --- a/net/minecraft/world/entity/ai/goal/FloatGoal.java 2 | +++ b/net/minecraft/world/entity/ai/goal/FloatGoal.java 3 | @@ -9,6 +_,7 @@ 4 | 5 | public FloatGoal(Mob mob) { 6 | this.mob = mob; 7 | + if (mob.level().paperConfig().entities.behavior.spawnerNerfedMobsShouldJump) mob.goalFloat = this; // Paper - Allow nerfed mobs to jump and float 8 | this.setFlags(EnumSet.of(Goal.Flag.JUMP)); 9 | mob.getNavigation().setCanFloat(true); 10 | } 11 | -------------------------------------------------------------------------------- /paper-server/patches/sources/net/minecraft/world/entity/ai/goal/target/DefendVillageTargetGoal.java.patch: -------------------------------------------------------------------------------- 1 | --- a/net/minecraft/world/entity/ai/goal/target/DefendVillageTargetGoal.java 2 | +++ b/net/minecraft/world/entity/ai/goal/target/DefendVillageTargetGoal.java 3 | @@ -47,7 +_,7 @@ 4 | 5 | @Override 6 | public void start() { 7 | - this.golem.setTarget(this.potentialTarget); 8 | + this.golem.setTarget(this.potentialTarget, org.bukkit.event.entity.EntityTargetEvent.TargetReason.DEFEND_VILLAGE); // CraftBukkit - reason 9 | super.start(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /paper-server/patches/sources/net/minecraft/world/entity/ai/navigation/FlyingPathNavigation.java.patch: -------------------------------------------------------------------------------- 1 | --- a/net/minecraft/world/entity/ai/navigation/FlyingPathNavigation.java 2 | +++ b/net/minecraft/world/entity/ai/navigation/FlyingPathNavigation.java 3 | @@ -39,7 +_,7 @@ 4 | 5 | @Override 6 | public Path createPath(Entity entity, int i) { 7 | - return this.createPath(entity.blockPosition(), i); 8 | + return this.createPath(entity.blockPosition(), entity, i); // Paper - EntityPathfindEvent 9 | } 10 | 11 | @Override 12 | -------------------------------------------------------------------------------- /paper-server/patches/sources/net/minecraft/world/entity/animal/AbstractSchoolingFish.java.patch: -------------------------------------------------------------------------------- 1 | --- a/net/minecraft/world/entity/animal/AbstractSchoolingFish.java 2 | +++ b/net/minecraft/world/entity/animal/AbstractSchoolingFish.java 3 | @@ -51,6 +_,7 @@ 4 | } 5 | 6 | public void stopFollowing() { 7 | + if (this.leader == null) return; // Paper - Avoid NPE, plugins can now set the leader and certain fish goals might cause this method to be called 8 | this.leader.removeFollower(); 9 | this.leader = null; 10 | } 11 | -------------------------------------------------------------------------------- /paper-server/patches/sources/net/minecraft/world/entity/animal/Squid.java.patch: -------------------------------------------------------------------------------- 1 | --- a/net/minecraft/world/entity/animal/Squid.java 2 | +++ b/net/minecraft/world/entity/animal/Squid.java 3 | @@ -46,7 +_,7 @@ 4 | 5 | public Squid(EntityType entityType, Level level) { 6 | super(entityType, level); 7 | - this.random.setSeed(this.getId()); 8 | + //this.random.setSeed(this.getId()); // Paper - Share random for entities to make them more random 9 | this.tentacleSpeed = 1.0F / (this.random.nextFloat() + 1.0F) * 0.2F; 10 | } 11 | 12 | -------------------------------------------------------------------------------- /paper-server/patches/sources/net/minecraft/world/entity/animal/horse/SkeletonHorse.java.patch: -------------------------------------------------------------------------------- 1 | --- a/net/minecraft/world/entity/animal/horse/SkeletonHorse.java 2 | +++ b/net/minecraft/world/entity/animal/horse/SkeletonHorse.java 3 | @@ -124,7 +_,7 @@ 4 | public void aiStep() { 5 | super.aiStep(); 6 | if (this.isTrap() && this.trapTime++ >= 18000) { 7 | - this.discard(); 8 | + this.discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.DESPAWN); // CraftBukkit - add Bukkit remove cause 9 | } 10 | } 11 | 12 | -------------------------------------------------------------------------------- /paper-server/patches/sources/net/minecraft/world/entity/monster/Endermite.java.patch: -------------------------------------------------------------------------------- 1 | --- a/net/minecraft/world/entity/monster/Endermite.java 2 | +++ b/net/minecraft/world/entity/monster/Endermite.java 3 | @@ -122,7 +_,7 @@ 4 | } 5 | 6 | if (this.life >= 2400) { 7 | - this.discard(); 8 | + this.discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.DESPAWN); // CraftBukkit - add Bukkit remove cause 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /paper-server/patches/sources/net/minecraft/world/entity/monster/breeze/Breeze.java.patch: -------------------------------------------------------------------------------- 1 | --- a/net/minecraft/world/entity/monster/breeze/Breeze.java 2 | +++ b/net/minecraft/world/entity/monster/breeze/Breeze.java 3 | @@ -250,6 +_,7 @@ 4 | 5 | @Override 6 | public boolean canAttackType(EntityType type) { 7 | + if (this.getTarget() != null) return this.getTarget().getType() == type; // SPIGOT-7957: Allow attack if target from brain was set 8 | return type == EntityType.PLAYER || type == EntityType.IRON_GOLEM; 9 | } 10 | 11 | -------------------------------------------------------------------------------- /paper-server/patches/sources/net/minecraft/world/entity/projectile/Snowball.java.patch: -------------------------------------------------------------------------------- 1 | --- a/net/minecraft/world/entity/projectile/Snowball.java 2 | +++ b/net/minecraft/world/entity/projectile/Snowball.java 3 | @@ -61,7 +_,7 @@ 4 | super.onHit(result); 5 | if (!this.level().isClientSide) { 6 | this.level().broadcastEntityEvent(this, (byte)3); 7 | - this.discard(); 8 | + this.discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.HIT); // CraftBukkit - add Bukkit remove cause 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /paper-server/patches/sources/net/minecraft/world/inventory/ContainerSynchronizer.java.patch: -------------------------------------------------------------------------------- 1 | --- a/net/minecraft/world/inventory/ContainerSynchronizer.java 2 | +++ b/net/minecraft/world/inventory/ContainerSynchronizer.java 3 | @@ -13,4 +_,6 @@ 4 | void sendDataChange(AbstractContainerMenu container, int id, int value); 5 | 6 | RemoteSlot createSlot(); 7 | + 8 | + default void sendOffHandSlotChange() {} // Paper - Sync offhand slot in menus 9 | } 10 | -------------------------------------------------------------------------------- /paper-server/patches/sources/net/minecraft/world/item/MobBucketItem.java.patch: -------------------------------------------------------------------------------- 1 | --- a/net/minecraft/world/item/MobBucketItem.java 2 | +++ b/net/minecraft/world/item/MobBucketItem.java 3 | @@ -50,7 +_,7 @@ 4 | } 5 | 6 | if (mob != null) { 7 | - serverLevel.addFreshEntityWithPassengers(mob); 8 | + serverLevel.addFreshEntityWithPassengers(mob, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BUCKET); // Paper - Add SpawnReason 9 | mob.playAmbientSound(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /paper-server/patches/sources/net/minecraft/world/item/crafting/Recipe.java.patch: -------------------------------------------------------------------------------- 1 | --- a/net/minecraft/world/item/crafting/Recipe.java 2 | +++ b/net/minecraft/world/item/crafting/Recipe.java 3 | @@ -46,4 +_,6 @@ 4 | } 5 | 6 | RecipeBookCategory recipeBookCategory(); 7 | + 8 | + org.bukkit.inventory.Recipe toBukkitRecipe(org.bukkit.NamespacedKey id); // CraftBukkit 9 | } 10 | -------------------------------------------------------------------------------- /paper-server/patches/sources/net/minecraft/world/level/LevelAccessor.java.patch: -------------------------------------------------------------------------------- 1 | --- a/net/minecraft/world/level/LevelAccessor.java 2 | +++ b/net/minecraft/world/level/LevelAccessor.java 3 | @@ -100,4 +_,6 @@ 4 | default void gameEvent(ResourceKey gameEvent, BlockPos pos, GameEvent.Context context) { 5 | this.gameEvent(this.registryAccess().lookupOrThrow(Registries.GAME_EVENT).getOrThrow(gameEvent), pos, context); 6 | } 7 | + 8 | + net.minecraft.server.level.ServerLevel getMinecraftWorld(); // CraftBukkit 9 | } 10 | -------------------------------------------------------------------------------- /paper-server/patches/sources/net/minecraft/world/level/LevelWriter.java.patch: -------------------------------------------------------------------------------- 1 | --- a/net/minecraft/world/level/LevelWriter.java 2 | +++ b/net/minecraft/world/level/LevelWriter.java 3 | @@ -27,4 +_,10 @@ 4 | default boolean addFreshEntity(Entity entity) { 5 | return false; 6 | } 7 | + 8 | + // CraftBukkit start 9 | + default boolean addFreshEntity(Entity entity, @Nullable org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason reason) { 10 | + return false; 11 | + } 12 | + // CraftBukkit end 13 | } 14 | -------------------------------------------------------------------------------- /paper-server/patches/sources/net/minecraft/world/level/block/BaseRailBlock.java.patch: -------------------------------------------------------------------------------- 1 | --- a/net/minecraft/world/level/block/BaseRailBlock.java 2 | +++ b/net/minecraft/world/level/block/BaseRailBlock.java 3 | @@ -71,6 +_,7 @@ 4 | state = this.updateDir(level, pos, state, true); 5 | if (this.isStraight) { 6 | level.neighborChanged(state, pos, this, null, movedByPiston); 7 | + state = level.getBlockState(pos); // Paper - Fix some rails connecting improperly 8 | } 9 | 10 | return state; 11 | -------------------------------------------------------------------------------- /paper-server/patches/sources/net/minecraft/world/level/block/state/properties/Property.java.patch: -------------------------------------------------------------------------------- 1 | --- a/net/minecraft/world/level/block/state/properties/Property.java 2 | +++ b/net/minecraft/world/level/block/state/properties/Property.java 3 | @@ -72,7 +_,7 @@ 4 | 5 | @Override 6 | public boolean equals(Object other) { 7 | - return this == other || other instanceof Property property && this.clazz.equals(property.clazz) && this.name.equals(property.name); 8 | + return this == other; // Paper - Perf: Optimize hashCode/equals 9 | } 10 | 11 | @Override 12 | -------------------------------------------------------------------------------- /paper-server/src/main/java/ca/spottedleaf/moonrise/common/util/MixinWorkarounds.java: -------------------------------------------------------------------------------- 1 | package ca.spottedleaf.moonrise.common.util; 2 | 3 | public final class MixinWorkarounds { 4 | 5 | // mixins tries to find the owner of the clone() method, which doesn't exist and NPEs 6 | // https://github.com/FabricMC/Mixin/pull/147 7 | public static long[] clone(final long[] values) { 8 | return values.clone(); 9 | } 10 | 11 | public static byte[] clone(final byte[] values) { 12 | return values.clone(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /paper-server/src/main/java/ca/spottedleaf/moonrise/common/util/MoonriseConstants.java: -------------------------------------------------------------------------------- 1 | package ca.spottedleaf.moonrise.common.util; 2 | 3 | import ca.spottedleaf.moonrise.common.PlatformHooks; 4 | 5 | public final class MoonriseConstants { 6 | 7 | public static final int MAX_VIEW_DISTANCE = Integer.getInteger(PlatformHooks.get().getBrand() + ".MaxViewDistance", 32); 8 | 9 | private MoonriseConstants() {} 10 | 11 | } 12 | -------------------------------------------------------------------------------- /paper-server/src/main/java/com/destroystokyo/paper/PaperConfig.java: -------------------------------------------------------------------------------- 1 | package com.destroystokyo.paper; 2 | 3 | /** 4 | * @deprecated kept as a means to identify Paper in older plugins/PaperLib 5 | */ 6 | @Deprecated(forRemoval = true) 7 | public class PaperConfig { 8 | } 9 | -------------------------------------------------------------------------------- /paper-server/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java: -------------------------------------------------------------------------------- 1 | package com.destroystokyo.paper; 2 | 3 | /** 4 | * @deprecated kept as a means to identify Paper in older plugins/PaperLib 5 | */ 6 | @Deprecated(forRemoval = true) 7 | public class PaperWorldConfig { 8 | } 9 | -------------------------------------------------------------------------------- /paper-server/src/main/java/com/destroystokyo/paper/network/PaperStatusClient.java: -------------------------------------------------------------------------------- 1 | package com.destroystokyo.paper.network; 2 | 3 | import net.minecraft.network.Connection; 4 | 5 | class PaperStatusClient extends PaperNetworkClient implements StatusClient { 6 | 7 | PaperStatusClient(Connection networkManager) { 8 | super(networkManager); 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/block/fluid/package-info.java: -------------------------------------------------------------------------------- 1 | @DefaultQualifier(NonNull.class) 2 | package io.papermc.paper.block.fluid; 3 | 4 | import org.checkerframework.checker.nullness.qual.NonNull; 5 | import org.checkerframework.framework.qual.DefaultQualifier; 6 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/block/fluid/type/PaperFlowingFluidData.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.block.fluid.type; 2 | 3 | import net.minecraft.world.level.material.FluidState; 4 | 5 | public class PaperFlowingFluidData extends PaperFallingFluidData implements FlowingFluidData { 6 | 7 | public PaperFlowingFluidData(final FluidState state) { 8 | super(state); 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/configuration/Configuration.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.configuration; 2 | 3 | public final class Configuration { 4 | public static final String VERSION_FIELD = "_version"; 5 | @Deprecated 6 | public static final String LEGACY_CONFIG_VERSION_FIELD = "config-version"; 7 | 8 | @Deprecated 9 | public static final int FINAL_LEGACY_VERSION = 27; 10 | 11 | private Configuration() { 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/configuration/ConfigurationPart.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.configuration; 2 | 3 | /** 4 | * Marker interface for unique sections of a configuration. 5 | */ 6 | public abstract class ConfigurationPart { 7 | } 8 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/configuration/PaperServerConfiguration.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.configuration; 2 | 3 | public class PaperServerConfiguration implements ServerConfiguration { 4 | 5 | @Override 6 | public boolean isProxyOnlineMode() { 7 | return GlobalConfiguration.get().proxies.isProxyOnlineMode(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/configuration/mapping/package-info.java: -------------------------------------------------------------------------------- 1 | @NullMarked 2 | package io.papermc.paper.configuration.mapping; 3 | 4 | import org.jspecify.annotations.NullMarked; 5 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/configuration/package-info.java: -------------------------------------------------------------------------------- 1 | @NullMarked 2 | package io.papermc.paper.configuration; 3 | 4 | import org.jspecify.annotations.NullMarked; 5 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/configuration/serializer/collections/package-info.java: -------------------------------------------------------------------------------- 1 | @NullMarked 2 | package io.papermc.paper.configuration.serializer.collections; 3 | 4 | import org.jspecify.annotations.NullMarked; 5 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/configuration/serializer/package-info.java: -------------------------------------------------------------------------------- 1 | @NullMarked 2 | package io.papermc.paper.configuration.serializer; 3 | 4 | import org.jspecify.annotations.NullMarked; 5 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/configuration/serializer/registry/package-info.java: -------------------------------------------------------------------------------- 1 | @NullMarked 2 | package io.papermc.paper.configuration.serializer.registry; 3 | 4 | import org.jspecify.annotations.NullMarked; 5 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/configuration/transformation/global/package-info.java: -------------------------------------------------------------------------------- 1 | @NullMarked 2 | package io.papermc.paper.configuration.transformation.global; 3 | 4 | import org.jspecify.annotations.NullMarked; 5 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/configuration/transformation/global/versioned/package-info.java: -------------------------------------------------------------------------------- 1 | @NullMarked 2 | package io.papermc.paper.configuration.transformation.global.versioned; 3 | 4 | import org.jspecify.annotations.NullMarked; 5 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/configuration/transformation/package-info.java: -------------------------------------------------------------------------------- 1 | @NullMarked 2 | package io.papermc.paper.configuration.transformation; 3 | 4 | import org.jspecify.annotations.NullMarked; 5 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/configuration/transformation/world/package-info.java: -------------------------------------------------------------------------------- 1 | @NullMarked 2 | package io.papermc.paper.configuration.transformation.world; 3 | 4 | import org.jspecify.annotations.NullMarked; 5 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/configuration/transformation/world/versioned/package-info.java: -------------------------------------------------------------------------------- 1 | @NullMarked 2 | package io.papermc.paper.configuration.transformation.world.versioned; 3 | 4 | import org.jspecify.annotations.NullMarked; 5 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/configuration/type/fallback/Util.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.configuration.type.fallback; 2 | 3 | import java.util.OptionalInt; 4 | 5 | final class Util { 6 | 7 | static OptionalInt negToDef(int value) { 8 | return value < 0 ? OptionalInt.empty() : OptionalInt.of(value); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/configuration/type/fallback/package-info.java: -------------------------------------------------------------------------------- 1 | @NullMarked 2 | package io.papermc.paper.configuration.type.fallback; 3 | 4 | import org.jspecify.annotations.NullMarked; 5 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/configuration/type/number/BelowZeroToEmpty.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.configuration.type.number; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.FIELD) 10 | public @interface BelowZeroToEmpty { 11 | } 12 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/configuration/type/number/package-info.java: -------------------------------------------------------------------------------- 1 | @NullMarked 2 | package io.papermc.paper.configuration.type.number; 3 | 4 | import org.jspecify.annotations.NullMarked; 5 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/configuration/type/package-info.java: -------------------------------------------------------------------------------- 1 | @NullMarked 2 | package io.papermc.paper.configuration.type; 3 | 4 | import org.jspecify.annotations.NullMarked; 5 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/datacomponent/item/blocksattacks/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Relating to block attacks for components. 3 | */ 4 | @NullMarked 5 | package io.papermc.paper.datacomponent.item.blocksattacks; 6 | 7 | import org.jspecify.annotations.NullMarked; 8 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/datacomponent/item/consumable/PaperConsumableEffectImpl.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.datacomponent.item.consumable; 2 | 3 | import net.minecraft.world.item.consume_effects.ConsumeEffect; 4 | import org.bukkit.craftbukkit.util.Handleable; 5 | 6 | public interface PaperConsumableEffectImpl extends Handleable { 7 | } 8 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/datacomponent/item/consumable/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Relating to consumable effects for components. 3 | */ 4 | @NullMarked 5 | package io.papermc.paper.datacomponent.item.consumable; 6 | 7 | import org.jspecify.annotations.NullMarked; 8 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/datacomponent/item/package-info.java: -------------------------------------------------------------------------------- 1 | @NullMarked 2 | package io.papermc.paper.datacomponent.item; 3 | 4 | import org.jspecify.annotations.NullMarked; 5 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/datacomponent/package-info.java: -------------------------------------------------------------------------------- 1 | @NullMarked 2 | package io.papermc.paper.datacomponent; 3 | 4 | import org.jspecify.annotations.NullMarked; 5 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/inventory/BrewingSimpleContainerData.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.inventory; 2 | 3 | import net.minecraft.world.inventory.SimpleContainerData; 4 | 5 | public class BrewingSimpleContainerData extends SimpleContainerData { 6 | 7 | public BrewingSimpleContainerData() { 8 | super(3); 9 | this.set(2, 400); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/network/ChannelInitializeListener.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.network; 2 | 3 | import io.netty.channel.Channel; 4 | import org.checkerframework.checker.nullness.qual.NonNull; 5 | 6 | /** 7 | * Internal API to register channel initialization listeners. 8 | *

9 | * This is not officially supported API and we make no guarantees to the existence or state of this interface. 10 | */ 11 | @FunctionalInterface 12 | public interface ChannelInitializeListener { 13 | 14 | void afterInitChannel(@NonNull Channel channel); 15 | } 16 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/network/ConnectionEvent.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.network; 2 | 3 | /** 4 | * Internal connection pipeline events. 5 | */ 6 | public enum ConnectionEvent { 7 | 8 | COMPRESSION_THRESHOLD_SET, 9 | COMPRESSION_DISABLED 10 | } 11 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/plugin/entrypoint/EntrypointHandler.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.plugin.entrypoint; 2 | 3 | import io.papermc.paper.plugin.provider.PluginProvider; 4 | 5 | /** 6 | * Represents a register that will register providers at a certain {@link Entrypoint}, 7 | * where then when the given {@link Entrypoint} is registered those will be loaded. 8 | */ 9 | public interface EntrypointHandler { 10 | 11 | void register(Entrypoint entrypoint, PluginProvider provider); 12 | 13 | void enter(Entrypoint entrypoint); 14 | } 15 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/plugin/entrypoint/classloader/PaperClassloaderBytecodeModifier.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.plugin.entrypoint.classloader; 2 | 3 | import io.papermc.paper.plugin.configuration.PluginMeta; 4 | 5 | // Stub, implement in future. 6 | public class PaperClassloaderBytecodeModifier implements ClassloaderBytecodeModifier { 7 | 8 | @Override 9 | public byte[] modify(PluginMeta configuration, byte[] bytecode) { 10 | return io.papermc.paper.pluginremap.reflect.ReflectionRemapper.processClass(bytecode); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/plugin/entrypoint/dependency/DependencyContextHolder.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.plugin.entrypoint.dependency; 2 | 3 | import io.papermc.paper.plugin.provider.entrypoint.DependencyContext; 4 | 5 | public interface DependencyContextHolder { 6 | 7 | void setContext(DependencyContext context); 8 | 9 | } 10 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/plugin/lifecycle/event/PaperLifecycleEvent.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.plugin.lifecycle.event; 2 | 3 | public interface PaperLifecycleEvent extends LifecycleEvent { 4 | 5 | // called after all handlers have been run. Can be 6 | // used to invalid various contexts to plugins can't 7 | // try to re-use them by storing them from the event 8 | default void invalidate() { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/plugin/provider/ProviderStatus.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.plugin.provider; 2 | 3 | import org.jetbrains.annotations.ApiStatus; 4 | 5 | /** 6 | * This is used for the /plugins command, where it will look in the {@link io.papermc.paper.plugin.entrypoint.LaunchEntryPointHandler} and 7 | * use the provider statuses to determine the color. 8 | */ 9 | @ApiStatus.Internal 10 | public enum ProviderStatus { 11 | INITIALIZED, 12 | ERRORED, 13 | } 14 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/plugin/provider/ProviderStatusHolder.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.plugin.provider; 2 | 3 | /** 4 | * This is used to mark that a plugin provider is able to hold a status for the /plugins command. 5 | */ 6 | public interface ProviderStatusHolder { 7 | 8 | ProviderStatus getLastProvidedStatus(); 9 | 10 | void setStatus(ProviderStatus status); 11 | } 12 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/plugin/provider/configuration/type/LoadConfiguration.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.plugin.provider.configuration.type; 2 | 3 | import org.spongepowered.configurate.objectmapping.ConfigSerializable; 4 | import org.spongepowered.configurate.objectmapping.meta.Required; 5 | 6 | @ConfigSerializable 7 | public record LoadConfiguration( 8 | @Required String name, 9 | boolean bootstrap 10 | ) { 11 | } 12 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/plugin/provider/configuration/type/PermissionConfiguration.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.plugin.provider.configuration.type; 2 | 3 | import org.bukkit.permissions.Permission; 4 | import org.bukkit.permissions.PermissionDefault; 5 | import org.spongepowered.configurate.objectmapping.ConfigSerializable; 6 | 7 | import java.util.List; 8 | 9 | // Record components used for deserialization!!!! 10 | @ConfigSerializable 11 | public record PermissionConfiguration( 12 | PermissionDefault defaultPerm, 13 | List permissions) { 14 | } 15 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/plugin/provider/configuration/type/PluginDependencyLifeCycle.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.plugin.provider.configuration.type; 2 | 3 | public enum PluginDependencyLifeCycle { 4 | BOOTSTRAP, 5 | SERVER 6 | } 7 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/plugin/storage/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Classes in this package are supposed to connect components of {@link io.papermc.paper.plugin.entrypoint} and {@link io.papermc.paper.plugin.provider} packages. 3 | * @see io.papermc.paper.plugin.entrypoint.Entrypoint 4 | */ 5 | package io.papermc.paper.plugin.storage; 6 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/registry/data/package-info.java: -------------------------------------------------------------------------------- 1 | @NullMarked 2 | package io.papermc.paper.registry.data; 3 | 4 | import org.jspecify.annotations.NullMarked; 5 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/registry/data/util/package-info.java: -------------------------------------------------------------------------------- 1 | @NullMarked 2 | package io.papermc.paper.registry.data.util; 3 | 4 | import org.jspecify.annotations.NullMarked; 5 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/registry/entry/RegistryEntryImpl.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.registry.entry; 2 | 3 | import io.papermc.paper.registry.RegistryHolder; 4 | import net.minecraft.core.Registry; 5 | import org.bukkit.Keyed; 6 | 7 | record RegistryEntryImpl(RegistryEntryMeta meta) implements RegistryEntry { 8 | 9 | @Override 10 | public RegistryHolder createRegistryHolder(final Registry nmsRegistry) { 11 | return new RegistryHolder.Memoized<>(() -> this.meta().createApiRegistry(nmsRegistry)); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/registry/entry/package-info.java: -------------------------------------------------------------------------------- 1 | @NullMarked 2 | package io.papermc.paper.registry.entry; 3 | 4 | import org.jspecify.annotations.NullMarked; 5 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/registry/event/package-info.java: -------------------------------------------------------------------------------- 1 | @NullMarked 2 | package io.papermc.paper.registry.event; 3 | 4 | import org.jspecify.annotations.NullMarked; 5 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/registry/event/type/package-info.java: -------------------------------------------------------------------------------- 1 | @NullMarked 2 | package io.papermc.paper.registry.event.type; 3 | 4 | import org.jspecify.annotations.NullMarked; 5 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/registry/legacy/package-info.java: -------------------------------------------------------------------------------- 1 | @NullMarked 2 | package io.papermc.paper.registry.legacy; 3 | 4 | import org.jspecify.annotations.NullMarked; 5 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/registry/package-info.java: -------------------------------------------------------------------------------- 1 | @NullMarked 2 | package io.papermc.paper.registry; 3 | 4 | import org.jspecify.annotations.NullMarked; 5 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/registry/set/package-info.java: -------------------------------------------------------------------------------- 1 | @NullMarked 2 | package io.papermc.paper.registry.set; 3 | 4 | import org.jspecify.annotations.NullMarked; 5 | -------------------------------------------------------------------------------- /paper-server/src/main/java/io/papermc/paper/util/SafeAutoClosable.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.util; 2 | 3 | /** 4 | * A type of {@link AutoCloseable} that does not throw a checked exception. 5 | */ 6 | public interface SafeAutoClosable extends AutoCloseable { 7 | 8 | @Override 9 | void close(); 10 | } 11 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/Overridden.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * Indicates a method needs to be overridden in sub classes 10 | */ 11 | @Target({ElementType.CONSTRUCTOR, ElementType.METHOD}) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | public @interface Overridden { 14 | } 15 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftAmbient.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity; 2 | 3 | import net.minecraft.world.entity.ambient.AmbientCreature; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.entity.Ambient; 6 | 7 | public class CraftAmbient extends CraftMob implements Ambient { 8 | public CraftAmbient(CraftServer server, AmbientCreature entity) { 9 | super(server, entity); 10 | } 11 | 12 | @Override 13 | public AmbientCreature getHandle() { 14 | return (AmbientCreature) this.entity; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftBlockAttachedEntity.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity; 2 | 3 | import net.minecraft.world.entity.decoration.BlockAttachedEntity; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | 6 | public class CraftBlockAttachedEntity extends CraftEntity { 7 | public CraftBlockAttachedEntity(CraftServer server, BlockAttachedEntity entity) { 8 | super(server, entity); 9 | } 10 | 11 | @Override 12 | public BlockAttachedEntity getHandle() { 13 | return (BlockAttachedEntity) this.entity; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftCreature.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity; 2 | 3 | import net.minecraft.world.entity.PathfinderMob; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.entity.Creature; 6 | 7 | public class CraftCreature extends CraftMob implements Creature { 8 | public CraftCreature(CraftServer server, PathfinderMob entity) { 9 | super(server, entity); 10 | } 11 | 12 | @Override 13 | public PathfinderMob getHandle() { 14 | return (PathfinderMob) this.entity; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftDonkey.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity; 2 | 3 | import org.bukkit.craftbukkit.CraftServer; 4 | import org.bukkit.entity.Donkey; 5 | import org.bukkit.entity.Horse.Variant; 6 | 7 | public class CraftDonkey extends CraftChestedHorse implements Donkey { 8 | 9 | public CraftDonkey(CraftServer server, net.minecraft.world.entity.animal.horse.Donkey entity) { 10 | super(server, entity); 11 | } 12 | 13 | @Override 14 | public Variant getVariant() { 15 | return Variant.DONKEY; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftDragonFireball.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity; 2 | 3 | import org.bukkit.craftbukkit.CraftServer; 4 | import org.bukkit.entity.DragonFireball; 5 | 6 | public class CraftDragonFireball extends CraftFireball implements DragonFireball { 7 | 8 | public CraftDragonFireball(CraftServer server, net.minecraft.world.entity.projectile.DragonFireball entity) { 9 | super(server, entity); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftEgg.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity; 2 | 3 | import net.minecraft.world.entity.projectile.ThrownEgg; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.entity.Egg; 6 | 7 | public class CraftEgg extends CraftThrowableProjectile implements Egg { 8 | 9 | public CraftEgg(CraftServer server, ThrownEgg entity) { 10 | super(server, entity); 11 | } 12 | 13 | @Override 14 | public ThrownEgg getHandle() { 15 | return (ThrownEgg) this.entity; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftElderGuardian.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity; 2 | 3 | import org.bukkit.craftbukkit.CraftServer; 4 | import org.bukkit.entity.ElderGuardian; 5 | 6 | public class CraftElderGuardian extends CraftGuardian implements ElderGuardian { 7 | 8 | public CraftElderGuardian(CraftServer server, net.minecraft.world.entity.monster.ElderGuardian entity) { 9 | super(server, entity); 10 | } 11 | 12 | @Override 13 | public boolean isElder() { 14 | return true; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftEnemy.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity; 2 | 3 | import org.bukkit.entity.Enemy; 4 | 5 | public interface CraftEnemy extends Enemy { 6 | 7 | net.minecraft.world.entity.monster.Enemy getHandle(); 8 | } 9 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftFlying.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity; 2 | 3 | import net.minecraft.world.entity.FlyingMob; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.entity.Flying; 6 | 7 | public class CraftFlying extends CraftMob implements Flying { 8 | 9 | public CraftFlying(CraftServer server, FlyingMob entity) { 10 | super(server, entity); 11 | } 12 | 13 | @Override 14 | public FlyingMob getHandle() { 15 | return (FlyingMob) this.entity; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftGolem.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity; 2 | 3 | import net.minecraft.world.entity.animal.AbstractGolem; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.entity.Golem; 6 | 7 | public class CraftGolem extends CraftCreature implements Golem { 8 | 9 | public CraftGolem(CraftServer server, AbstractGolem entity) { 10 | super(server, entity); 11 | } 12 | 13 | @Override 14 | public AbstractGolem getHandle() { 15 | return (AbstractGolem) this.entity; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftHusk.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity; 2 | 3 | import org.bukkit.craftbukkit.CraftServer; 4 | import org.bukkit.entity.Husk; 5 | 6 | public class CraftHusk extends CraftZombie implements Husk { 7 | 8 | public CraftHusk(CraftServer server, net.minecraft.world.entity.monster.Husk entity) { 9 | super(server, entity); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftMarker.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity; 2 | 3 | import org.bukkit.craftbukkit.CraftServer; 4 | import org.bukkit.entity.Marker; 5 | 6 | public class CraftMarker extends CraftEntity implements Marker { 7 | 8 | public CraftMarker(CraftServer server, net.minecraft.world.entity.Marker entity) { 9 | super(server, entity); 10 | } 11 | 12 | @Override 13 | public net.minecraft.world.entity.Marker getHandle() { 14 | return (net.minecraft.world.entity.Marker) this.entity; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftMinecartRideable.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity; 2 | 3 | import net.minecraft.world.entity.vehicle.Minecart; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.entity.minecart.RideableMinecart; 6 | 7 | public class CraftMinecartRideable extends CraftMinecart implements RideableMinecart { 8 | 9 | public CraftMinecartRideable(CraftServer server, Minecart entity) { 10 | super(server, entity); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftMule.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity; 2 | 3 | import org.bukkit.craftbukkit.CraftServer; 4 | import org.bukkit.entity.Horse.Variant; 5 | import org.bukkit.entity.Mule; 6 | 7 | public class CraftMule extends CraftChestedHorse implements Mule { 8 | 9 | public CraftMule(CraftServer server, net.minecraft.world.entity.animal.horse.Mule entity) { 10 | super(server, entity); 11 | } 12 | 13 | @Override 14 | public Variant getVariant() { 15 | return Variant.MULE; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftVehicle.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity; 2 | 3 | import org.bukkit.craftbukkit.CraftServer; 4 | import org.bukkit.entity.Vehicle; 5 | 6 | public abstract class CraftVehicle extends CraftEntity implements Vehicle { 7 | 8 | public CraftVehicle(CraftServer server, net.minecraft.world.entity.Entity entity) { 9 | super(server, entity); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftWaterMob.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity; 2 | 3 | import net.minecraft.world.entity.animal.WaterAnimal; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.entity.WaterMob; 6 | 7 | public class CraftWaterMob extends CraftCreature implements WaterMob { 8 | 9 | public CraftWaterMob(CraftServer server, WaterAnimal entity) { 10 | super(server, entity); 11 | } 12 | 13 | @Override 14 | public WaterAnimal getHandle() { 15 | return (WaterAnimal) this.entity; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/entity/boat/CraftAcaciaBoat.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity.boat; 2 | 3 | import net.minecraft.world.entity.vehicle.AbstractBoat; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.craftbukkit.entity.CraftBoat; 6 | import org.bukkit.entity.boat.AcaciaBoat; 7 | 8 | public class CraftAcaciaBoat extends CraftBoat implements AcaciaBoat { 9 | 10 | public CraftAcaciaBoat(CraftServer server, AbstractBoat entity) { 11 | super(server, entity); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/entity/boat/CraftAcaciaChestBoat.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity.boat; 2 | 3 | import net.minecraft.world.entity.vehicle.AbstractChestBoat; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.craftbukkit.entity.CraftChestBoat; 6 | import org.bukkit.entity.boat.AcaciaChestBoat; 7 | 8 | public class CraftAcaciaChestBoat extends CraftChestBoat implements AcaciaChestBoat { 9 | 10 | public CraftAcaciaChestBoat(CraftServer server, AbstractChestBoat entity) { 11 | super(server, entity); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/entity/boat/CraftBambooChestRaft.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity.boat; 2 | 3 | import net.minecraft.world.entity.vehicle.AbstractChestBoat; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.craftbukkit.entity.CraftChestBoat; 6 | import org.bukkit.entity.boat.BambooChestRaft; 7 | 8 | public class CraftBambooChestRaft extends CraftChestBoat implements BambooChestRaft { 9 | 10 | public CraftBambooChestRaft(CraftServer server, AbstractChestBoat entity) { 11 | super(server, entity); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/entity/boat/CraftBambooRaft.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity.boat; 2 | 3 | import net.minecraft.world.entity.vehicle.AbstractBoat; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.craftbukkit.entity.CraftBoat; 6 | import org.bukkit.entity.boat.BambooRaft; 7 | 8 | public class CraftBambooRaft extends CraftBoat implements BambooRaft { 9 | 10 | public CraftBambooRaft(CraftServer server, AbstractBoat entity) { 11 | super(server, entity); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/entity/boat/CraftBirchBoat.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity.boat; 2 | 3 | import net.minecraft.world.entity.vehicle.AbstractBoat; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.craftbukkit.entity.CraftBoat; 6 | import org.bukkit.entity.boat.BirchBoat; 7 | 8 | public class CraftBirchBoat extends CraftBoat implements BirchBoat { 9 | 10 | public CraftBirchBoat(CraftServer server, AbstractBoat entity) { 11 | super(server, entity); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/entity/boat/CraftBirchChestBoat.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity.boat; 2 | 3 | import net.minecraft.world.entity.vehicle.AbstractChestBoat; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.craftbukkit.entity.CraftChestBoat; 6 | import org.bukkit.entity.boat.BirchChestBoat; 7 | 8 | public class CraftBirchChestBoat extends CraftChestBoat implements BirchChestBoat { 9 | 10 | public CraftBirchChestBoat(CraftServer server, AbstractChestBoat entity) { 11 | super(server, entity); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/entity/boat/CraftCherryBoat.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity.boat; 2 | 3 | import net.minecraft.world.entity.vehicle.AbstractBoat; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.craftbukkit.entity.CraftBoat; 6 | import org.bukkit.entity.boat.CherryBoat; 7 | 8 | public class CraftCherryBoat extends CraftBoat implements CherryBoat { 9 | 10 | public CraftCherryBoat(CraftServer server, AbstractBoat entity) { 11 | super(server, entity); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/entity/boat/CraftCherryChestBoat.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity.boat; 2 | 3 | import net.minecraft.world.entity.vehicle.AbstractChestBoat; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.craftbukkit.entity.CraftChestBoat; 6 | import org.bukkit.entity.boat.CherryChestBoat; 7 | 8 | public class CraftCherryChestBoat extends CraftChestBoat implements CherryChestBoat { 9 | 10 | public CraftCherryChestBoat(CraftServer server, AbstractChestBoat entity) { 11 | super(server, entity); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/entity/boat/CraftDarkOakBoat.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity.boat; 2 | 3 | import net.minecraft.world.entity.vehicle.AbstractBoat; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.craftbukkit.entity.CraftBoat; 6 | import org.bukkit.entity.boat.DarkOakBoat; 7 | 8 | public class CraftDarkOakBoat extends CraftBoat implements DarkOakBoat { 9 | 10 | public CraftDarkOakBoat(CraftServer server, AbstractBoat entity) { 11 | super(server, entity); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/entity/boat/CraftJungleBoat.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity.boat; 2 | 3 | import net.minecraft.world.entity.vehicle.AbstractBoat; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.craftbukkit.entity.CraftBoat; 6 | import org.bukkit.entity.boat.JungleBoat; 7 | 8 | public class CraftJungleBoat extends CraftBoat implements JungleBoat { 9 | 10 | public CraftJungleBoat(CraftServer server, AbstractBoat entity) { 11 | super(server, entity); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/entity/boat/CraftJungleChestBoat.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity.boat; 2 | 3 | import net.minecraft.world.entity.vehicle.AbstractChestBoat; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.craftbukkit.entity.CraftChestBoat; 6 | import org.bukkit.entity.boat.JungleChestBoat; 7 | 8 | public class CraftJungleChestBoat extends CraftChestBoat implements JungleChestBoat { 9 | 10 | public CraftJungleChestBoat(CraftServer server, AbstractChestBoat entity) { 11 | super(server, entity); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/entity/boat/CraftMangroveBoat.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity.boat; 2 | 3 | import net.minecraft.world.entity.vehicle.AbstractBoat; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.craftbukkit.entity.CraftBoat; 6 | import org.bukkit.entity.boat.MangroveBoat; 7 | 8 | public class CraftMangroveBoat extends CraftBoat implements MangroveBoat { 9 | 10 | public CraftMangroveBoat(CraftServer server, AbstractBoat entity) { 11 | super(server, entity); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/entity/boat/CraftOakBoat.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity.boat; 2 | 3 | import net.minecraft.world.entity.vehicle.AbstractBoat; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.craftbukkit.entity.CraftBoat; 6 | import org.bukkit.entity.boat.OakBoat; 7 | 8 | public class CraftOakBoat extends CraftBoat implements OakBoat { 9 | 10 | public CraftOakBoat(CraftServer server, AbstractBoat entity) { 11 | super(server, entity); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/entity/boat/CraftOakChestBoat.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity.boat; 2 | 3 | import net.minecraft.world.entity.vehicle.AbstractChestBoat; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.craftbukkit.entity.CraftChestBoat; 6 | import org.bukkit.entity.boat.OakChestBoat; 7 | 8 | public class CraftOakChestBoat extends CraftChestBoat implements OakChestBoat { 9 | 10 | public CraftOakChestBoat(CraftServer server, AbstractChestBoat entity) { 11 | super(server, entity); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/entity/boat/CraftPaleOakBoat.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity.boat; 2 | 3 | import net.minecraft.world.entity.vehicle.AbstractBoat; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.craftbukkit.entity.CraftBoat; 6 | import org.bukkit.entity.boat.PaleOakBoat; 7 | 8 | public class CraftPaleOakBoat extends CraftBoat implements PaleOakBoat { 9 | 10 | public CraftPaleOakBoat(CraftServer server, AbstractBoat entity) { 11 | super(server, entity); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/entity/boat/CraftSpruceBoat.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity.boat; 2 | 3 | import net.minecraft.world.entity.vehicle.AbstractBoat; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.craftbukkit.entity.CraftBoat; 6 | import org.bukkit.entity.boat.SpruceBoat; 7 | 8 | public class CraftSpruceBoat extends CraftBoat implements SpruceBoat { 9 | 10 | public CraftSpruceBoat(CraftServer server, AbstractBoat entity) { 11 | super(server, entity); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/entity/boat/CraftSpruceChestBoat.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity.boat; 2 | 3 | import net.minecraft.world.entity.vehicle.AbstractChestBoat; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.craftbukkit.entity.CraftChestBoat; 6 | import org.bukkit.entity.boat.SpruceChestBoat; 7 | 8 | public class CraftSpruceChestBoat extends CraftChestBoat implements SpruceChestBoat { 9 | 10 | public CraftSpruceChestBoat(CraftServer server, AbstractChestBoat entity) { 11 | super(server, entity); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryCartography.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.inventory; 2 | 3 | import net.minecraft.world.Container; 4 | import org.bukkit.inventory.CartographyInventory; 5 | 6 | public class CraftInventoryCartography extends CraftResultInventory implements CartographyInventory { 7 | 8 | public CraftInventoryCartography(Container inventory, Container resultInventory) { 9 | super(inventory, resultInventory); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryCrafter.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.inventory; 2 | 3 | import net.minecraft.world.Container; 4 | import org.bukkit.inventory.CrafterInventory; 5 | 6 | public class CraftInventoryCrafter extends CraftResultInventory implements CrafterInventory { 7 | 8 | public CraftInventoryCrafter(Container inventory, Container resultInventory) { 9 | super(inventory, resultInventory); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryGrindstone.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.inventory; 2 | 3 | import net.minecraft.world.Container; 4 | import org.bukkit.inventory.GrindstoneInventory; 5 | 6 | public class CraftInventoryGrindstone extends CraftResultInventory implements GrindstoneInventory { 7 | 8 | public CraftInventoryGrindstone(Container inventory, Container resultInventory) { 9 | super(inventory, resultInventory); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryHorse.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.inventory; 2 | 3 | import net.minecraft.world.Container; 4 | import org.bukkit.inventory.HorseInventory; 5 | import org.bukkit.inventory.ItemStack; 6 | 7 | public class CraftInventoryHorse extends CraftSaddledInventory implements HorseInventory { 8 | 9 | public CraftInventoryHorse(Container inventory, Container bodyArmorInventory, Container saddleInventory) { 10 | super(inventory, bodyArmorInventory, saddleInventory); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryLoom.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.inventory; 2 | 3 | import net.minecraft.world.Container; 4 | import org.bukkit.inventory.LoomInventory; 5 | 6 | public class CraftInventoryLoom extends CraftResultInventory implements LoomInventory { 7 | 8 | public CraftInventoryLoom(Container inventory, Container resultInventory) { 9 | super(inventory, resultInventory); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryStonecutter.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.inventory; 2 | 3 | import net.minecraft.world.Container; 4 | import org.bukkit.inventory.StonecutterInventory; 5 | 6 | public class CraftInventoryStonecutter extends CraftResultInventory implements StonecutterInventory { 7 | 8 | public CraftInventoryStonecutter(Container inventory, Container resultInventory) { 9 | super(inventory, resultInventory); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftSaddledInventory.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.inventory; 2 | 3 | import net.minecraft.world.Container; 4 | import org.bukkit.inventory.SaddledHorseInventory; 5 | 6 | public class CraftSaddledInventory extends CraftInventoryAbstractHorse implements SaddledHorseInventory { 7 | 8 | public CraftSaddledInventory(Container inventory, final Container bodyArmorInventory, final Container saddleInventory) { 9 | super(inventory, bodyArmorInventory, saddleInventory); 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/inventory/view/builder/package-info.java: -------------------------------------------------------------------------------- 1 | @NullMarked 2 | package org.bukkit.craftbukkit.inventory.view.builder; 3 | 4 | import org.jspecify.annotations.NullMarked; 5 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/legacy/MethodRerouting.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.legacy; 2 | 3 | import org.bukkit.craftbukkit.legacy.reroute.NotInBukkit; 4 | import org.bukkit.event.entity.EntityCombustEvent; 5 | 6 | public class MethodRerouting { 7 | 8 | @NotInBukkit 9 | public static int getDuration(EntityCombustEvent event) { 10 | return (int) event.getDuration(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/legacy/enums/DummyEnum.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.legacy.enums; 2 | 3 | /** 4 | * A crash dummy to use, instead of the old enums which matured to Abstracthood or Interfacehood and the baby enums which are still growing. 5 | */ 6 | public enum DummyEnum { 7 | } 8 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/legacy/reroute/DoNotReroute.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.legacy.reroute; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.METHOD) 10 | public @interface DoNotReroute { 11 | } 12 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/legacy/reroute/InjectCompatibility.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.legacy.reroute; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.PARAMETER) 10 | public @interface InjectCompatibility { 11 | 12 | String value(); 13 | } 14 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/legacy/reroute/InjectPluginName.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.legacy.reroute; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.PARAMETER) 10 | public @interface InjectPluginName { 11 | } 12 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/legacy/reroute/InjectPluginVersion.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.legacy.reroute; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.PARAMETER) 10 | public @interface InjectPluginVersion { 11 | } 12 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/legacy/reroute/NotInBukkit.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.legacy.reroute; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target({ElementType.METHOD, ElementType.TYPE}) 10 | public @interface NotInBukkit { 11 | } 12 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/legacy/reroute/RequireCompatibility.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.legacy.reroute; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target({ElementType.METHOD, ElementType.TYPE}) 10 | public @interface RequireCompatibility { 11 | 12 | String value(); 13 | } 14 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/legacy/reroute/RerouteArgumentType.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.legacy.reroute; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.PARAMETER) 10 | public @interface RerouteArgumentType { 11 | 12 | String value(); 13 | } 14 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/legacy/reroute/RerouteMethodName.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.legacy.reroute; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.METHOD) 10 | public @interface RerouteMethodName { 11 | 12 | String value(); 13 | } 14 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/legacy/reroute/RerouteReturnType.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.legacy.reroute; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.METHOD) 10 | public @interface RerouteReturnType { 11 | 12 | String value(); 13 | } 14 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/legacy/reroute/RerouteStatic.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.legacy.reroute; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.METHOD) 10 | public @interface RerouteStatic { 11 | 12 | String value(); 13 | } 14 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/map/RenderData.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.map; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | import org.bukkit.map.MapCursor; 6 | 7 | public class RenderData { 8 | 9 | public final List cursors = new ArrayList<>(); 10 | public byte[] buffer = new byte[128 * 128]; 11 | } 12 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardComponent.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.scoreboard; 2 | 3 | abstract class CraftScoreboardComponent { 4 | private final CraftScoreboard scoreboard; 5 | 6 | CraftScoreboardComponent(CraftScoreboard scoreboard) { 7 | this.scoreboard = scoreboard; 8 | } 9 | 10 | public CraftScoreboard getScoreboard() { 11 | return this.scoreboard; 12 | } 13 | 14 | abstract void checkState(); 15 | 16 | abstract void unregister(); 17 | } 18 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/util/CraftBiomeSearchResult.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.util; 2 | 3 | import org.bukkit.Location; 4 | import org.bukkit.block.Biome; 5 | import org.bukkit.util.BiomeSearchResult; 6 | 7 | public record CraftBiomeSearchResult(Biome biome, Location location) implements BiomeSearchResult { 8 | 9 | @Override 10 | public Biome getBiome() { 11 | return this.biome; 12 | } 13 | 14 | @Override 15 | public Location getLocation() { 16 | return this.location; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/bukkit/craftbukkit/util/Handleable.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.util; 2 | 3 | import org.jspecify.annotations.NullMarked; 4 | 5 | @NullMarked 6 | public interface Handleable { 7 | 8 | M getHandle(); 9 | } 10 | -------------------------------------------------------------------------------- /paper-server/src/main/java/org/spigotmc/TickLimiter.java: -------------------------------------------------------------------------------- 1 | package org.spigotmc; 2 | 3 | public class TickLimiter { 4 | 5 | private final int maxTime; 6 | private long startTime; 7 | 8 | public TickLimiter(int maxTime) { 9 | this.maxTime = maxTime; 10 | } 11 | 12 | public void initTick() { 13 | this.startTime = System.currentTimeMillis(); 14 | } 15 | 16 | public boolean shouldContinue() { 17 | long remaining = System.currentTimeMillis() - this.startTime; 18 | return remaining < this.maxTime; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /paper-server/src/main/resources/META-INF/services/ca.spottedleaf.moonrise.common.PlatformHooks: -------------------------------------------------------------------------------- 1 | ca.spottedleaf.moonrise.paper.PaperHooks 2 | -------------------------------------------------------------------------------- /paper-server/src/main/resources/META-INF/services/io.papermc.paper.InternalAPIBridge: -------------------------------------------------------------------------------- 1 | io.papermc.paper.PaperServerInternalAPIBridge 2 | -------------------------------------------------------------------------------- /paper-server/src/main/resources/META-INF/services/io.papermc.paper.ServerBuildInfo: -------------------------------------------------------------------------------- 1 | io.papermc.paper.ServerBuildInfoImpl 2 | -------------------------------------------------------------------------------- /paper-server/src/main/resources/META-INF/services/io.papermc.paper.command.brigadier.CommandBuilderProvider: -------------------------------------------------------------------------------- 1 | io.papermc.paper.command.brigadier.CommandBuilderImpl$ProviderImpl 2 | -------------------------------------------------------------------------------- /paper-server/src/main/resources/META-INF/services/io.papermc.paper.command.brigadier.MessageComponentSerializer: -------------------------------------------------------------------------------- 1 | io.papermc.paper.command.brigadier.MessageComponentSerializerImpl 2 | -------------------------------------------------------------------------------- /paper-server/src/main/resources/META-INF/services/io.papermc.paper.command.brigadier.argument.VanillaArgumentProvider: -------------------------------------------------------------------------------- 1 | io.papermc.paper.command.brigadier.argument.VanillaArgumentProviderImpl 2 | -------------------------------------------------------------------------------- /paper-server/src/main/resources/META-INF/services/io.papermc.paper.datacomponent.item.ItemComponentTypesBridge: -------------------------------------------------------------------------------- 1 | io.papermc.paper.datacomponent.item.ItemComponentTypesBridgesImpl 2 | -------------------------------------------------------------------------------- /paper-server/src/main/resources/META-INF/services/io.papermc.paper.datacomponent.item.blocksattacks.BlocksAttacksBridge: -------------------------------------------------------------------------------- 1 | io.papermc.paper.datacomponent.item.blocksattacks.BlocksAttacksBridgeImpl 2 | -------------------------------------------------------------------------------- /paper-server/src/main/resources/META-INF/services/io.papermc.paper.datacomponent.item.consumable.ConsumableTypesBridge: -------------------------------------------------------------------------------- 1 | io.papermc.paper.datacomponent.item.consumable.ConsumableTypesBridgeImpl 2 | -------------------------------------------------------------------------------- /paper-server/src/main/resources/META-INF/services/io.papermc.paper.plugin.entrypoint.classloader.ClassloaderBytecodeModifier: -------------------------------------------------------------------------------- 1 | io.papermc.paper.plugin.entrypoint.classloader.PaperClassloaderBytecodeModifier 2 | -------------------------------------------------------------------------------- /paper-server/src/main/resources/META-INF/services/io.papermc.paper.plugin.lifecycle.event.types.LifecycleEventTypeProvider: -------------------------------------------------------------------------------- 1 | io.papermc.paper.plugin.lifecycle.event.types.LifecycleEventTypeProviderImpl 2 | -------------------------------------------------------------------------------- /paper-server/src/main/resources/META-INF/services/io.papermc.paper.plugin.provider.classloader.PaperClassLoaderStorage: -------------------------------------------------------------------------------- 1 | io.papermc.paper.plugin.entrypoint.classloader.group.PaperPluginClassLoaderStorage 2 | -------------------------------------------------------------------------------- /paper-server/src/main/resources/META-INF/services/io.papermc.paper.registry.RegistryAccess: -------------------------------------------------------------------------------- 1 | io.papermc.paper.registry.PaperRegistryAccess 2 | -------------------------------------------------------------------------------- /paper-server/src/main/resources/META-INF/services/io.papermc.paper.registry.data.InlinedRegistryBuilderProvider: -------------------------------------------------------------------------------- 1 | io.papermc.paper.registry.data.InlinedRegistryBuilderProviderImpl 2 | -------------------------------------------------------------------------------- /paper-server/src/main/resources/META-INF/services/io.papermc.paper.registry.event.RegistryEventTypeProvider: -------------------------------------------------------------------------------- 1 | io.papermc.paper.registry.event.RegistryEventTypeProviderImpl 2 | -------------------------------------------------------------------------------- /paper-server/src/main/resources/META-INF/services/io.papermc.paper.world.flag.FeatureFlagProvider: -------------------------------------------------------------------------------- 1 | io.papermc.paper.world.flag.PaperFeatureFlagProviderImpl 2 | -------------------------------------------------------------------------------- /paper-server/src/main/resources/META-INF/services/io.papermc.paper.world.flag.FeatureFlags$FeatureFlagProvider: -------------------------------------------------------------------------------- 1 | io.papermc.paper.world.flag.PaperFeatureFlagProviderImpl 2 | -------------------------------------------------------------------------------- /paper-server/src/main/resources/META-INF/services/net.kyori.adventure.bossbar.BossBarImplementation$Provider: -------------------------------------------------------------------------------- 1 | io.papermc.paper.adventure.providers.BossBarImplementationProvider 2 | -------------------------------------------------------------------------------- /paper-server/src/main/resources/META-INF/services/net.kyori.adventure.text.event.ClickCallback$Provider: -------------------------------------------------------------------------------- 1 | io.papermc.paper.adventure.providers.ClickCallbackProviderImpl 2 | -------------------------------------------------------------------------------- /paper-server/src/main/resources/META-INF/services/net.kyori.adventure.text.event.DataComponentValueConverterRegistry$Provider: -------------------------------------------------------------------------------- 1 | io.papermc.paper.adventure.providers.DataComponentValueConverterProviderImpl 2 | -------------------------------------------------------------------------------- /paper-server/src/main/resources/META-INF/services/net.kyori.adventure.text.logger.slf4j.ComponentLoggerProvider: -------------------------------------------------------------------------------- 1 | io.papermc.paper.adventure.providers.ComponentLoggerProviderImpl 2 | -------------------------------------------------------------------------------- /paper-server/src/main/resources/META-INF/services/net.kyori.adventure.text.minimessage.MiniMessage$Provider: -------------------------------------------------------------------------------- 1 | io.papermc.paper.adventure.providers.MiniMessageProviderImpl 2 | -------------------------------------------------------------------------------- /paper-server/src/main/resources/META-INF/services/net.kyori.adventure.text.serializer.gson.GsonComponentSerializer$Provider: -------------------------------------------------------------------------------- 1 | io.papermc.paper.adventure.providers.GsonComponentSerializerProviderImpl 2 | -------------------------------------------------------------------------------- /paper-server/src/main/resources/META-INF/services/net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer$Provider: -------------------------------------------------------------------------------- 1 | io.papermc.paper.adventure.providers.LegacyComponentSerializerProviderImpl 2 | -------------------------------------------------------------------------------- /paper-server/src/main/resources/META-INF/services/net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer$Provider: -------------------------------------------------------------------------------- 1 | io.papermc.paper.adventure.providers.PlainTextComponentSerializerProviderImpl 2 | -------------------------------------------------------------------------------- /paper-server/src/main/resources/META-INF/services/org.bukkit.plugin.PluginLoader: -------------------------------------------------------------------------------- 1 | io.papermc.paper.plugin.manager.DummyBukkitPluginLoader 2 | -------------------------------------------------------------------------------- /paper-server/src/main/resources/data/minecraft/datapacks/paper/data/paper/chat_type/raw.json: -------------------------------------------------------------------------------- 1 | { 2 | "chat": { 3 | "parameters": [ 4 | "content" 5 | ], 6 | "translation_key": "%s" 7 | }, 8 | "narration": { 9 | "parameters": [ 10 | "content" 11 | ], 12 | "translation_key": "%s" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /paper-server/src/main/resources/data/minecraft/datapacks/paper/pack.mcmeta: -------------------------------------------------------------------------------- 1 | { 2 | "pack": { 3 | "description": "Built-in Paper Datapack", 4 | "pack_format": 71 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /paper-server/src/main/resources/log4j2.component.properties: -------------------------------------------------------------------------------- 1 | log4j.skipJansi=true 2 | -------------------------------------------------------------------------------- /paper-server/src/main/resources/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PaperMC/Paper/ba7fb23ddd2376079951d1e22f9204d1ed691585/paper-server/src/main/resources/logo.png -------------------------------------------------------------------------------- /paper-server/src/test/java/io/papermc/paper/configuration/MemorySectionTest.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.configuration; 2 | 3 | import org.bukkit.configuration.ConfigurationSection; 4 | import org.bukkit.configuration.MemoryConfiguration; 5 | import org.bukkit.support.environment.Normal; 6 | 7 | @Normal 8 | public class MemorySectionTest extends ConfigurationSectionTest { 9 | @Override 10 | public ConfigurationSection getConfigurationSection() { 11 | return new MemoryConfiguration().createSection("section"); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /test-plugin/build.gradle.kts: -------------------------------------------------------------------------------- 1 | version = "1.0.0-SNAPSHOT" 2 | 3 | dependencies { 4 | compileOnly(project(":paper-api")) 5 | } 6 | 7 | tasks.processResources { 8 | val apiVersion = rootProject.providers.gradleProperty("mcVersion").get() 9 | val props = mapOf( 10 | "version" to project.version, 11 | "apiversion" to "\"$apiVersion\"", 12 | ) 13 | inputs.properties(props) 14 | filesMatching("paper-plugin.yml") { 15 | expand(props) 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /test-plugin/src/main/java/io/papermc/testplugin/TestPlugin.java: -------------------------------------------------------------------------------- 1 | package io.papermc.testplugin; 2 | 3 | import org.bukkit.event.Listener; 4 | import org.bukkit.plugin.java.JavaPlugin; 5 | 6 | public final class TestPlugin extends JavaPlugin implements Listener { 7 | 8 | @Override 9 | public void onEnable() { 10 | this.getServer().getPluginManager().registerEvents(this, this); 11 | 12 | // io.papermc.testplugin.brigtests.Registration.registerViaOnEnable(this); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /test-plugin/src/main/java/io/papermc/testplugin/TestPluginBootstrap.java: -------------------------------------------------------------------------------- 1 | package io.papermc.testplugin; 2 | 3 | import io.papermc.paper.plugin.bootstrap.BootstrapContext; 4 | import io.papermc.paper.plugin.bootstrap.PluginBootstrap; 5 | import org.jetbrains.annotations.NotNull; 6 | 7 | public class TestPluginBootstrap implements PluginBootstrap { 8 | 9 | @Override 10 | public void bootstrap(@NotNull BootstrapContext context) { 11 | // io.papermc.testplugin.brigtests.Registration.registerViaBootstrap(context); 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /test-plugin/src/main/java/io/papermc/testplugin/TestPluginLoader.java: -------------------------------------------------------------------------------- 1 | package io.papermc.testplugin; 2 | 3 | import io.papermc.paper.plugin.loader.PluginClasspathBuilder; 4 | import io.papermc.paper.plugin.loader.PluginLoader; 5 | import org.jetbrains.annotations.NotNull; 6 | 7 | public class TestPluginLoader implements PluginLoader { 8 | @Override 9 | public void classloader(@NotNull PluginClasspathBuilder classpathBuilder) { 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /test-plugin/src/main/java/io/papermc/testplugin/brigtests/example/IceCreamType.java: -------------------------------------------------------------------------------- 1 | package io.papermc.testplugin.brigtests.example; 2 | 3 | public enum IceCreamType { 4 | VANILLA, 5 | CHOCOLATE, 6 | BLUE_MOON, 7 | STRAWBERRY, 8 | WHOLE_MILK 9 | } 10 | -------------------------------------------------------------------------------- /test-plugin/src/main/resources/paper-plugin.yml: -------------------------------------------------------------------------------- 1 | name: Paper-Test-Plugin 2 | version: ${version} 3 | main: io.papermc.testplugin.TestPlugin 4 | description: Paper Test Plugin 5 | author: PaperMC 6 | api-version: ${apiversion} 7 | load: STARTUP 8 | bootstrapper: io.papermc.testplugin.TestPluginBootstrap 9 | loader: io.papermc.testplugin.TestPluginLoader 10 | defaultPerm: FALSE 11 | permissions: 12 | dependencies: 13 | --------------------------------------------------------------------------------