├── .github └── FUNDING.yml ├── .gitignore ├── LICENSE ├── README.md ├── build.gradle ├── desktop.ini ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── libs ├── MohistRemapper-0.3 -1.19.2.jar ├── MohistRemapper-0.3-1.19.2.jar ├── MohistRemapper-0.3-1.20.x.jar ├── MohistRemapper-0.3.jar ├── README.txt ├── SpecialSource-1.11.0-shaded.jar ├── Tag.class ├── adventure-exam.jar ├── adventure.jar ├── commons-lang-2.6.jar ├── mappings │ ├── bukkit-1.20.4-cl-intermed.csrg │ ├── bukkit-1.20.4-cl.csrg │ ├── bukkit-a0531ed8-members.csrg │ └── spigot_members.csrg ├── org.bukkit.Material Class │ ├── Material$1.class │ ├── Material.class │ ├── Material.java │ └── buildMaterial.bat ├── paper-api-1.20.4-R0.1-SNAPSHOT_merged.jar ├── slf4j.jar ├── slf4j2.jar └── srglib-0.1.2.jar ├── repos └── tempp │ ├── paper-api-1.21.4-R0.1-20250313.115134-207.jar │ ├── paper-api-1.21.4-R0.1-20250327.133756-218.jar │ └── paper-api-1.21.4-R0.1-20250511.205801-225.jar ├── settings.gradle └── src └── main ├── java ├── ca │ └── spottedleaf │ │ └── concurrentutil │ │ └── executor │ │ └── standard │ │ └── PrioritisedExecutor.java ├── com │ ├── destroystokyo │ │ └── paper │ │ │ ├── Metrics_Cardboard.java │ │ │ ├── PaperConfig.java │ │ │ ├── ServerSchedulerReportingWrapper.java │ │ │ ├── event │ │ │ └── executor │ │ │ │ └── asm │ │ │ │ ├── ASMEventExecutorGenerator.java │ │ │ │ ├── ClassDefiner.java │ │ │ │ └── SafeClassDefiner.java │ │ │ ├── loottable │ │ │ ├── PaperLootableBlockInventory.java │ │ │ ├── PaperLootableInventory.java │ │ │ └── PaperLootableInventoryData.java │ │ │ ├── profile │ │ │ └── CraftPlayerProfile.java │ │ │ └── test.java │ ├── javazilla │ │ └── bukkitfabric │ │ │ ├── BukkitFabricMod.java │ │ │ └── Utils.java │ └── mohistmc │ │ └── banner │ │ └── bukkit │ │ └── nms │ │ └── utils │ │ ├── RemapUtils.java │ │ ├── SpigotReader.java │ │ └── SpigotReader2.java ├── io │ ├── izzel │ │ └── arclight │ │ │ └── api │ │ │ ├── EnumHelper.java │ │ │ └── Unsafe.java │ └── papermc │ │ └── paper │ │ ├── ServerBuildInfoImpl.java │ │ ├── adventure │ │ └── PaperAdventure.java │ │ ├── command │ │ └── brigadier │ │ │ └── bukkit │ │ │ └── BukkitBrigForwardingMap.java │ │ ├── datacomponent │ │ ├── DataComponentAdapter.java │ │ ├── DataComponentAdapters.java │ │ ├── PaperDataComponentType.java │ │ └── item │ │ │ ├── ItemComponentTypesBridgesImpl.java │ │ │ ├── PaperBannerPatternLayers.java │ │ │ ├── PaperBlockItemDataProperties.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 │ │ │ ├── PaperUnbreakable.java │ │ │ ├── PaperUseCooldown.java │ │ │ ├── PaperUseRemainder.java │ │ │ ├── PaperWritableBookContent.java │ │ │ ├── PaperWrittenBookContent.java │ │ │ ├── consumable │ │ │ ├── ConsumableTypesBridgeImpl.java │ │ │ ├── PaperApplyStatusEffects.java │ │ │ ├── PaperClearAllStatusEffects.java │ │ │ ├── PaperConsumableEffectImpl.java │ │ │ ├── PaperConsumableEffects.java │ │ │ ├── PaperPlaySound.java │ │ │ ├── PaperRemoveStatusEffects.java │ │ │ ├── PaperTeleportRandomly.java │ │ │ └── package-info.java │ │ │ └── package-info.java │ │ ├── entity │ │ └── PaperPlayerGiveResult.java │ │ ├── persistence │ │ └── PaperPersistentDataContainerView.java │ │ ├── plugin │ │ └── lifecycle │ │ │ └── event │ │ │ └── PaperLifecycleEventManager.java │ │ ├── registry │ │ ├── PaperRegistries.java │ │ ├── PaperRegistryAccess.java │ │ ├── PaperRegistryBuilder.java │ │ ├── PaperRegistryBuilderFactory.java │ │ ├── PaperRegistryListenerManager.java │ │ ├── PaperSimpleRegistry.java │ │ ├── RegistryHolder.java │ │ ├── WritableCraftRegistry.java │ │ ├── data │ │ │ ├── InlinedRegistryBuilderProviderImpl.java │ │ │ ├── PaperBannerPatternRegistryEntry.java │ │ │ ├── PaperDamageTypeRegistryEntry.java │ │ │ ├── PaperEnchantmentRegistryEntry.java │ │ │ ├── PaperGameEventRegistryEntry.java │ │ │ ├── PaperPaintingVariantRegistryEntry.java │ │ │ ├── package-info.java │ │ │ └── util │ │ │ │ ├── Checks.java │ │ │ │ ├── Conversions.java │ │ │ │ └── package-info.java │ │ ├── entry │ │ │ ├── BaseRegistryEntry.java │ │ │ ├── RegistryEntry.java │ │ │ ├── RegistryEntryBuilder.java │ │ │ ├── RegistryEntryImpl.java │ │ │ ├── RegistryEntryInfo.java │ │ │ ├── RegistryEntryMeta.java │ │ │ ├── RegistryTypeMapper.java │ │ │ └── package-info.java │ │ ├── event │ │ │ ├── RegistryEventMap.java │ │ │ ├── package-info.java │ │ │ └── type │ │ │ │ └── package-info.java │ │ ├── event_old.7z │ │ ├── legacy │ │ │ ├── DelayedRegistry.java │ │ │ ├── DelayedRegistryEntry.java │ │ │ ├── LegacyRegistryIdentifiers.java │ │ │ └── package-info.java │ │ ├── package-info.java │ │ └── set │ │ │ ├── NamedRegistryKeySetImpl.java │ │ │ ├── PaperRegistrySets.java │ │ │ └── package-info.java │ │ ├── util │ │ ├── CoordinateUtils.java │ │ ├── Holderable.java │ │ ├── JsonObjectWrapper.java │ │ ├── MCUtil.java │ │ └── OldEnumHolderable.java │ │ └── world │ │ ├── flag │ │ └── PaperFeatureDependent.java │ │ └── structure │ │ └── PaperConfiguredStructure.java ├── me │ └── isaiah │ │ └── common │ │ └── events │ │ └── LeavesDecayCallback.java └── org │ ├── bukkit │ ├── configuration │ │ └── file │ │ │ └── YamlConfiguration.java │ ├── craftbukkit │ │ ├── CraftArt.java │ │ ├── CraftEquipmentSlot.java │ │ ├── CraftFeatureFlag.java │ │ ├── CraftFluid.java │ │ ├── CraftGameEvent.java │ │ ├── CraftHeightMap.java │ │ ├── CraftJukeboxSong.java │ │ ├── CraftLootTable.java │ │ ├── CraftMusicInstrument.java │ │ ├── CraftOfflinePlayer.java │ │ ├── CraftParticle.java │ │ ├── CraftRegionAccessor.java │ │ ├── CraftRegistry.java │ │ ├── CraftServer.java │ │ ├── CraftServerTickManager.java │ │ ├── CraftSound.java │ │ ├── CraftSoundGroup.java │ │ ├── CraftStatistic.java │ │ ├── Testt.java │ │ ├── attribute │ │ │ ├── AttributeMappings.java │ │ │ ├── CraftAttribute.java │ │ │ ├── CraftAttributeInstance.java │ │ │ └── CraftAttributeMap.java │ │ ├── block │ │ │ ├── CraftBiome.java │ │ │ ├── CraftBlock.java │ │ │ ├── CraftBlockState.java │ │ │ ├── CraftBlockStates.java │ │ │ ├── CraftBlockSupport.java │ │ │ ├── CraftBlockType.java │ │ │ ├── CraftContainer.java │ │ │ ├── banner │ │ │ │ └── CraftPatternType.java │ │ │ ├── data │ │ │ │ ├── CraftBlockData.java │ │ │ │ └── IMagicNumbers.java │ │ │ └── impl │ │ │ │ ├── CraftAnvil.java │ │ │ │ ├── CraftBamboo.java │ │ │ │ ├── CraftBanner.java │ │ │ │ ├── CraftBannerWall.java │ │ │ │ ├── CraftBarrel.java │ │ │ │ ├── CraftBed.java │ │ │ │ ├── CraftBeehive.java │ │ │ │ ├── CraftBeetroot.java │ │ │ │ ├── CraftBell.java │ │ │ │ ├── CraftBlastFurnace.java │ │ │ │ ├── CraftBrewingStand.java │ │ │ │ ├── CraftBubbleColumn.java │ │ │ │ ├── CraftCactus.java │ │ │ │ ├── CraftCake.java │ │ │ │ ├── CraftCampfire.java │ │ │ │ ├── CraftCarrots.java │ │ │ │ ├── CraftCauldron.java │ │ │ │ ├── CraftChain.java │ │ │ │ ├── CraftChest.java │ │ │ │ ├── CraftChestTrapped.java │ │ │ │ ├── CraftChorusFlower.java │ │ │ │ ├── CraftChorusFruit.java │ │ │ │ ├── CraftCobbleWall.java │ │ │ │ ├── CraftCocoa.java │ │ │ │ ├── CraftCommand.java │ │ │ │ ├── CraftComposter.java │ │ │ │ ├── CraftConduit.java │ │ │ │ ├── CraftCoralDead.java │ │ │ │ ├── CraftCoralFan.java │ │ │ │ ├── CraftCoralFanAbstract.java │ │ │ │ ├── CraftCoralFanWall.java │ │ │ │ ├── CraftCoralFanWallAbstract.java │ │ │ │ ├── CraftCoralPlant.java │ │ │ │ ├── CraftCrops.java │ │ │ │ ├── CraftDaylightDetector.java │ │ │ │ ├── CraftDirtSnow.java │ │ │ │ ├── CraftDispenser.java │ │ │ │ ├── CraftDoor.java │ │ │ │ ├── CraftDropper.java │ │ │ │ ├── CraftEndRod.java │ │ │ │ ├── CraftEnderChest.java │ │ │ │ ├── CraftEnderPortalFrame.java │ │ │ │ ├── CraftFence.java │ │ │ │ ├── CraftFenceGate.java │ │ │ │ ├── CraftFire.java │ │ │ │ ├── CraftFloorSign.java │ │ │ │ ├── CraftFluids.java │ │ │ │ ├── CraftFurnaceFurace.java │ │ │ │ ├── CraftGlazedTerracotta.java │ │ │ │ ├── CraftGrass.java │ │ │ │ ├── CraftGrindstone.java │ │ │ │ ├── CraftHay.java │ │ │ │ ├── CraftHopper.java │ │ │ │ ├── CraftHugeMushroom.java │ │ │ │ ├── CraftIceFrost.java │ │ │ │ ├── CraftIronBars.java │ │ │ │ ├── CraftJigsaw.java │ │ │ │ ├── CraftJukeBox.java │ │ │ │ ├── CraftKelp.java │ │ │ │ ├── CraftLadder.java │ │ │ │ ├── CraftLantern.java │ │ │ │ ├── CraftLeaves.java │ │ │ │ ├── CraftLectern.java │ │ │ │ ├── CraftLever.java │ │ │ │ ├── CraftLogAbstract.java │ │ │ │ ├── CraftLoom.java │ │ │ │ ├── CraftMinecartDetector.java │ │ │ │ ├── CraftMinecartTrack.java │ │ │ │ ├── CraftMycel.java │ │ │ │ ├── CraftNetherWart.java │ │ │ │ ├── CraftNote.java │ │ │ │ ├── CraftObserver.java │ │ │ │ ├── CraftPiston.java │ │ │ │ ├── CraftPistonExtension.java │ │ │ │ ├── CraftPistonMoving.java │ │ │ │ ├── CraftPortal.java │ │ │ │ ├── CraftPotatoes.java │ │ │ │ ├── CraftPoweredRail.java │ │ │ │ ├── CraftPressurePlateBinary.java │ │ │ │ ├── CraftPressurePlateWeighted.java │ │ │ │ ├── CraftPumpkinCarved.java │ │ │ │ ├── CraftRedstoneComparator.java │ │ │ │ ├── CraftRedstoneLamp.java │ │ │ │ ├── CraftRedstoneOre.java │ │ │ │ ├── CraftRedstoneTorch.java │ │ │ │ ├── CraftRedstoneTorchWall.java │ │ │ │ ├── CraftRedstoneWire.java │ │ │ │ ├── CraftReed.java │ │ │ │ ├── CraftRepeater.java │ │ │ │ ├── CraftRespawnAnchor.java │ │ │ │ ├── CraftRotatable.java │ │ │ │ ├── CraftSapling.java │ │ │ │ ├── CraftScaffolding.java │ │ │ │ ├── CraftSeaPickle.java │ │ │ │ ├── CraftShulkerBox.java │ │ │ │ ├── CraftSkull.java │ │ │ │ ├── CraftSkullPlayer.java │ │ │ │ ├── CraftSkullPlayerWall.java │ │ │ │ ├── CraftSkullWall.java │ │ │ │ ├── CraftSmoker.java │ │ │ │ ├── CraftSnow.java │ │ │ │ ├── CraftSoil.java │ │ │ │ ├── CraftStainedGlassPane.java │ │ │ │ ├── CraftStairs.java │ │ │ │ ├── CraftStem.java │ │ │ │ ├── CraftStemAttached.java │ │ │ │ ├── CraftStepAbstract.java │ │ │ │ ├── CraftStoneButton.java │ │ │ │ ├── CraftStonecutter.java │ │ │ │ ├── CraftStructure.java │ │ │ │ ├── CraftSweetBerryBush.java │ │ │ │ ├── CraftTNT.java │ │ │ │ ├── CraftTallPlant.java │ │ │ │ ├── CraftTallPlantFlower.java │ │ │ │ ├── CraftTallSeaGrass.java │ │ │ │ ├── CraftTarget.java │ │ │ │ ├── CraftTorchWall.java │ │ │ │ ├── CraftTrapdoor.java │ │ │ │ ├── CraftTripwire.java │ │ │ │ ├── CraftTripwireHook.java │ │ │ │ ├── CraftTurtleEgg.java │ │ │ │ ├── CraftTwistingVines.java │ │ │ │ ├── CraftVine.java │ │ │ │ ├── CraftWallSign.java │ │ │ │ ├── CraftWeepingVines.java │ │ │ │ ├── CraftWitherSkull.java │ │ │ │ ├── CraftWitherSkullWall.java │ │ │ │ └── CraftWoodButton.java │ │ ├── damage │ │ │ ├── CraftDamageEffect.java │ │ │ ├── CraftDamageSource.java │ │ │ ├── CraftDamageSourceBuilder.java │ │ │ └── CraftDamageType.java │ │ ├── entity │ │ │ ├── CraftAbstractArrow.java │ │ │ ├── CraftArrow.java │ │ │ ├── CraftChicken.java │ │ │ ├── CraftCow.java │ │ │ ├── CraftEnderman.java │ │ │ ├── CraftEndermite.java │ │ │ ├── CraftEntity.java │ │ │ ├── CraftEntityFactory.java │ │ │ ├── CraftEntitySnapshot.java │ │ │ ├── CraftEntityType.java │ │ │ ├── CraftEntityTypes.java │ │ │ ├── CraftFrog.java │ │ │ ├── CraftHumanEntity.java │ │ │ ├── CraftIllager.java │ │ │ ├── CraftMushroomCow.java │ │ │ ├── CraftOcelot.java │ │ │ ├── CraftPolarBear.java │ │ │ ├── CraftProjectile.java │ │ │ ├── CraftSkeleton.java │ │ │ ├── CraftSnowball.java │ │ │ ├── CraftSpider.java │ │ │ ├── CraftTNTPrimed.java │ │ │ ├── CraftTameableAnimal.java │ │ │ ├── CraftTurtle.java │ │ │ ├── CraftVillagerZombie.java │ │ │ ├── CraftWolf.java │ │ │ ├── CraftZombie.java │ │ │ └── memory │ │ │ │ └── CraftMemoryMapper.java │ │ ├── event │ │ │ └── CraftEventFactory.java │ │ ├── generator │ │ │ └── structure │ │ │ │ ├── CraftGeneratedStructure.java │ │ │ │ ├── CraftStructure.java │ │ │ │ ├── CraftStructurePiece.java │ │ │ │ └── CraftStructureType.java │ │ ├── inventory │ │ │ ├── CraftContainer.java │ │ │ ├── CraftInventory.java │ │ │ ├── CraftInventoryCrafting.java │ │ │ ├── CraftInventoryCustom.java │ │ │ ├── CraftInventoryDecoratedPot.java │ │ │ ├── CraftInventoryView.java │ │ │ ├── CraftItemFactory.java │ │ │ ├── CraftItemMetas.java │ │ │ ├── CraftItemStack.java │ │ │ ├── CraftItemType.java │ │ │ ├── CraftMenuType.java │ │ │ ├── CraftMerchant.java │ │ │ ├── CraftMerchantRecipe.java │ │ │ ├── CraftMetaArmor.java │ │ │ ├── CraftMetaArmorStand.java │ │ │ ├── CraftMetaBanner.java │ │ │ ├── CraftMetaBlockState.java │ │ │ ├── CraftMetaBook.java │ │ │ ├── CraftMetaBookSigned.java │ │ │ ├── CraftMetaCharge.java │ │ │ ├── CraftMetaColorableArmor.java │ │ │ ├── CraftMetaCrossbow.java │ │ │ ├── CraftMetaEnchantedBook.java │ │ │ ├── CraftMetaEntityTag.java │ │ │ ├── CraftMetaFirework.java │ │ │ ├── CraftMetaItem.java │ │ │ ├── CraftMetaKnowledgeBook.java │ │ │ ├── CraftMetaLeatherArmor.java │ │ │ ├── CraftMetaMap.java │ │ │ ├── CraftMetaPotion.java │ │ │ ├── CraftMetaSkull.java │ │ │ ├── CraftMetaSpawnEgg.java │ │ │ ├── CraftMetaSuspiciousStew.java │ │ │ ├── CraftResultInventory.java │ │ │ ├── InventoryIterator.java │ │ │ ├── SerializableMeta.java │ │ │ ├── components │ │ │ │ ├── CraftCustomModelDataComponent.java │ │ │ │ ├── CraftEquippableComponent.java │ │ │ │ ├── CraftHolderUtil.java │ │ │ │ ├── CraftToolComponent.java │ │ │ │ └── CraftUseCooldownComponent.java │ │ │ ├── tags │ │ │ │ ├── DeprecatedContainerTagType.java │ │ │ │ ├── DeprecatedCustomTagContainer.java │ │ │ │ ├── DeprecatedItemAdapterContext.java │ │ │ │ └── DeprecatedItemTagType.java │ │ │ ├── test │ │ │ │ └── CraftMetaItem.java │ │ │ ├── trim │ │ │ │ ├── CraftTrimMaterial.java │ │ │ │ └── CraftTrimPattern.java │ │ │ ├── util │ │ │ │ ├── CraftMenuBuilder.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 │ │ │ │ ├── CraftMerchantInventoryViewBuilder.java │ │ │ │ ├── CraftStandardInventoryViewBuilder.java │ │ │ │ └── package-info.java │ │ ├── legacy │ │ │ ├── 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 │ │ │ │ └── old.zip │ │ ├── map │ │ │ └── CraftMapCursor.java │ │ ├── packs │ │ │ ├── CraftDataPack.java │ │ │ ├── CraftDataPackManager.java │ │ │ └── CraftResourcePack.java │ │ ├── persistence │ │ │ ├── CraftPersistentDataAdapterContext.java │ │ │ ├── CraftPersistentDataContainer.java │ │ │ └── CraftPersistentDataTypeRegistry.java │ │ ├── potion │ │ │ ├── CraftPotionEffectType.java │ │ │ ├── CraftPotionEffectTypeCategory.java │ │ │ └── CraftPotionType.java │ │ ├── scheduler │ │ │ ├── AsyncTaskImpl.java │ │ │ ├── BukkitTaskImpl.java │ │ │ ├── CraftScheduler.java │ │ │ ├── FutureTask.java │ │ │ └── PaperAsyncScheduler.java │ │ ├── scoreboard │ │ │ ├── CardboardCriteria.java │ │ │ ├── CardboardObjective.java │ │ │ ├── CardboardScore.java │ │ │ ├── CardboardScoreboard.java │ │ │ ├── CardboardScoreboardComponent.java │ │ │ ├── CardboardScoreboardManager.java │ │ │ ├── CardboardTeam.java │ │ │ ├── CraftCriteria.java │ │ │ └── CraftScoreboardTranslations.java │ │ └── util │ │ │ ├── ApiVersion.java │ │ │ ├── BlockStateListPopulator.java │ │ │ ├── ClassTraverser.java │ │ │ ├── Commodore.java │ │ │ ├── Commodore_old.java │ │ │ ├── CraftBiomeSearchResult.java │ │ │ ├── CraftChatMessage.java │ │ │ ├── CraftEvil.java │ │ │ ├── CraftLegacy.java │ │ │ ├── CraftLegacyMaterials.java │ │ │ ├── CraftLocation.java │ │ │ ├── CraftMagicNumbers.java │ │ │ ├── CraftNBTTagConfigSerializer.java │ │ │ ├── CraftNamespacedKey.java │ │ │ ├── CraftVoxelShape.java │ │ │ ├── DummyGeneratorAccess.java │ │ │ ├── Handleable.java │ │ │ ├── RandomSourceWrapper.java │ │ │ ├── Versioning.java │ │ │ └── Waitable.java │ ├── inventory │ │ └── recipe │ │ │ ├── CookingBookCategory.java │ │ │ └── CraftingBookCategory.java │ └── plugin │ │ └── java │ │ ├── JavaPlugin.java │ │ ├── JavaPluginLoader.java │ │ └── PluginClassLoader.java │ ├── cardboardpowered │ ├── BlockImplUtil.java │ ├── BukkitLogger.java │ ├── CardboardConfig.java │ ├── CardboardMod.java │ ├── ExtraPotionEffectTypeWrapper.java │ ├── PaperMetrics.java │ ├── Registries_Bridge.java │ ├── RegistryUtil.java │ ├── TagExtra.java │ ├── adventure │ │ ├── AdventureCodecs.java │ │ ├── CardboardAdventure.java │ │ ├── CardboardAdventureComponent.java │ │ ├── NBTLegacyHoverEventSerializer.java │ │ └── WrapperAwareSerializer.java │ ├── api │ │ └── event │ │ │ ├── CardboardEntityMountEvent.java │ │ │ ├── CardboardEventManager.java │ │ │ └── CardboardFireworkExplodeEvent.java │ ├── extras │ │ ├── BukkitChestDoubleInventory.java │ │ └── DualBlockList.java │ ├── fabric │ │ └── FabricHookBukkitEvent.java │ ├── impl │ │ ├── AdvancementImpl.java │ │ ├── AdvancementProgressImpl.java │ │ ├── CardboardAttributeInstance.java │ │ ├── CardboardBossBar.java │ │ ├── CardboardDragonBattle.java │ │ ├── CardboardEnchantment.java │ │ ├── CardboardModdedBlock.java │ │ ├── CardboardModdedItem.java │ │ ├── CardboardModdedMaterial.java │ │ ├── CardboardModdedMaterialData.java │ │ ├── CardboardPotionBrewer.java │ │ ├── CardboardPotionEffectType.java │ │ ├── CardboardPotionUtil.java │ │ ├── CardboardServerListPingEvent.java │ │ ├── CraftAdvancementRequirement.java │ │ ├── CraftAdvancementRequirements.java │ │ ├── CraftInput.java │ │ ├── CraftServerLinks.java │ │ ├── IpBanList.java │ │ ├── MaterialHelper.java │ │ ├── MetadataStoreImpl.java │ │ ├── ProfileBanList.java │ │ ├── block │ │ │ ├── CapturedBlockState.java │ │ │ ├── CardboardBanner.java │ │ │ ├── CardboardBarrel.java │ │ │ ├── CardboardBeacon.java │ │ │ ├── CardboardBed.java │ │ │ ├── CardboardBeehive.java │ │ │ ├── CardboardBell.java │ │ │ ├── CardboardBlastFurnace.java │ │ │ ├── CardboardBlockEntityState.java │ │ │ ├── CardboardBlockProjectileSource.java │ │ │ ├── CardboardBrewingStand.java │ │ │ ├── CardboardCampfire.java │ │ │ ├── CardboardChest.java │ │ │ ├── CardboardCommandBlock.java │ │ │ ├── CardboardComparator.java │ │ │ ├── CardboardConduit.java │ │ │ ├── CardboardDaylightDetector.java │ │ │ ├── CardboardDispenser.java │ │ │ ├── CardboardDropper.java │ │ │ ├── CardboardEnchantingTable.java │ │ │ ├── CardboardEndGateway.java │ │ │ ├── CardboardEnderchest.java │ │ │ ├── CardboardFurnace.java │ │ │ ├── CardboardFurnaceFurnace.java │ │ │ ├── CardboardHopper.java │ │ │ ├── CardboardJigsaw.java │ │ │ ├── CardboardJukebox.java │ │ │ ├── CardboardLectern.java │ │ │ ├── CardboardLootableBlock.java │ │ │ ├── CardboardMobspawner.java │ │ │ ├── CardboardShulkerBox.java │ │ │ ├── CardboardSign.java │ │ │ ├── CardboardSkull.java │ │ │ ├── CardboardSmoker.java │ │ │ ├── CardboardStructureBlock.java │ │ │ ├── CraftBrushableBlock.java │ │ │ ├── CraftCalibratedSculkSensor.java │ │ │ ├── CraftChiseledBookshelf.java │ │ │ ├── CraftCrafter.java │ │ │ ├── CraftDecoratedPot.java │ │ │ ├── CraftEndPortal.java │ │ │ ├── CraftHangingSign.java │ │ │ ├── CraftMovingPiston.java │ │ │ ├── CraftSculkCatalyst.java │ │ │ ├── CraftSculkSensor.java │ │ │ ├── CraftSculkShrieker.java │ │ │ ├── CraftTrialSpawner.java │ │ │ ├── CraftVault.java │ │ │ └── DispenserBlockHelper.java │ │ ├── command │ │ │ ├── BukkitCommandWrapper.java │ │ │ ├── CardboardConsoleCommandSender.java │ │ │ ├── CommandMapImpl.java │ │ │ ├── MinecraftCommandWrapper.java │ │ │ ├── ModsCommand.java │ │ │ ├── MyCommand.java │ │ │ └── VersionCommand.java │ │ ├── entity │ │ │ ├── AbstractProjectile.java │ │ │ ├── CardboardAbstractHorse.java │ │ │ ├── CardboardAmbient.java │ │ │ ├── CardboardBat.java │ │ │ ├── CardboardBlaze.java │ │ │ ├── CardboardCat.java │ │ │ ├── CardboardCaveSpider.java │ │ │ ├── CardboardChestedHorse.java │ │ │ ├── CardboardComplexEntity.java │ │ │ ├── CardboardComplexPart.java │ │ │ ├── CardboardDolphin.java │ │ │ ├── CardboardDonkey.java │ │ │ ├── CardboardDragonPart.java │ │ │ ├── CardboardDrowned.java │ │ │ ├── CardboardEnderPearl.java │ │ │ ├── CardboardEnderdragon.java │ │ │ ├── CardboardEvoker.java │ │ │ ├── CardboardFirework.java │ │ │ ├── CardboardFish.java │ │ │ ├── CardboardFishCod.java │ │ │ ├── CardboardFishHook.java │ │ │ ├── CardboardFishPufferfish.java │ │ │ ├── CardboardFishSalmon.java │ │ │ ├── CardboardFishTropical.java │ │ │ ├── CardboardFlying.java │ │ │ ├── CardboardFlyingEntity.java │ │ │ ├── CardboardGhast.java │ │ │ ├── CardboardGiant.java │ │ │ ├── CardboardGolem.java │ │ │ ├── CardboardGuardian.java │ │ │ ├── CardboardGuardianElder.java │ │ │ ├── CardboardHanging.java │ │ │ ├── CardboardHorse.java │ │ │ ├── CardboardHusk.java │ │ │ ├── CardboardIllusioner.java │ │ │ ├── CardboardIronGolem.java │ │ │ ├── CardboardLlama.java │ │ │ ├── CardboardLlamaSpit.java │ │ │ ├── CardboardMagmaCube.java │ │ │ ├── CardboardMinecart.java │ │ │ ├── CardboardMinecartChest.java │ │ │ ├── CardboardMinecartFurnace.java │ │ │ ├── CardboardMinecartRideable.java │ │ │ ├── CardboardMinecartSH.java │ │ │ ├── CardboardMule.java │ │ │ ├── CardboardPanda.java │ │ │ ├── CardboardPhantom.java │ │ │ ├── CardboardPig.java │ │ │ ├── CardboardPigZombie.java │ │ │ ├── CardboardPillager.java │ │ │ ├── CardboardRaider.java │ │ │ ├── CardboardShulker.java │ │ │ ├── CardboardSilverfish.java │ │ │ ├── CardboardSnowman.java │ │ │ ├── CardboardSpellcaster.java │ │ │ ├── CardboardSquid.java │ │ │ ├── CardboardThrownExpBottle.java │ │ │ ├── CardboardThrownPotion.java │ │ │ ├── CardboardTntCart.java │ │ │ ├── CardboardVex.java │ │ │ ├── CardboardVindicator.java │ │ │ ├── CardboardWaterMob.java │ │ │ ├── CardboardWitch.java │ │ │ ├── CardboardWither.java │ │ │ ├── CraftAbstractVillager.java │ │ │ ├── CraftAgeable.java │ │ │ ├── CraftAnimals.java │ │ │ ├── CraftArmorStand.java │ │ │ ├── CraftCreature.java │ │ │ ├── CraftFallingBlock.java │ │ │ ├── CraftMob.java │ │ │ ├── CraftMonster.java │ │ │ ├── CraftParrot.java │ │ │ ├── CraftPlayer.java │ │ │ ├── CraftSlime.java │ │ │ ├── CraftVehicle.java │ │ │ ├── CraftVillager.java │ │ │ ├── CreeperImpl.java │ │ │ ├── EggImpl.java │ │ │ ├── ExperienceOrbImpl.java │ │ │ ├── ItemEntityImpl.java │ │ │ ├── LightningStrikeImpl.java │ │ │ ├── LivingEntityImpl.java │ │ │ ├── StrayImpl.java │ │ │ ├── ThrowableProjectileImpl.java │ │ │ ├── TridentImpl.java │ │ │ ├── UnknownEntity.java │ │ │ ├── WanderingTraderImpl.java │ │ │ └── WitherSkeletonImpl.java │ │ ├── inventory │ │ │ ├── BlockInventoryConverter.java │ │ │ ├── CardboardAbstractInventoryView.java │ │ │ ├── CardboardAnvilInventory.java │ │ │ ├── CardboardBeaconInventory.java │ │ │ ├── CardboardBrewerInventory.java │ │ │ ├── CardboardChestBlockDoubleInventory.java │ │ │ ├── CardboardDoubleChestInventory.java │ │ │ ├── CardboardEnchantingInventory.java │ │ │ ├── CardboardEntityEquipment.java │ │ │ ├── CardboardFurnaceInventory.java │ │ │ ├── CardboardGrindstoneInventory.java │ │ │ ├── CardboardInventoryAbstractHorse.java │ │ │ ├── CardboardInventoryHorse.java │ │ │ ├── CardboardInventoryView.java │ │ │ ├── CardboardItemMeta.java │ │ │ ├── CardboardLecternInventory.java │ │ │ ├── CardboardLoomInventory.java │ │ │ ├── CardboardMerchantInventory.java │ │ │ ├── CardboardPlayerInventory.java │ │ │ ├── CardboardSmithingInventory.java │ │ │ ├── CardboardStonecutterInventory.java │ │ │ ├── CraftInventoryJukebox.java │ │ │ ├── CustomInventoryConverter.java │ │ │ ├── CustomInventoryView.java │ │ │ ├── InventoryCreator.java │ │ │ └── recipe │ │ │ │ ├── CardboardBlastingRecipe.java │ │ │ │ ├── CardboardCampfireRecipe.java │ │ │ │ ├── CardboardComplexRecipe.java │ │ │ │ ├── CardboardFurnaceRecipe.java │ │ │ │ ├── CardboardShapedRecipe.java │ │ │ │ ├── CardboardShapelessRecipe.java │ │ │ │ ├── CardboardSmithingRecipe.java │ │ │ │ ├── CardboardSmokingRecipe.java │ │ │ │ ├── CardboardStonecuttingRecipe.java │ │ │ │ ├── RecipeInterface.java │ │ │ │ └── RecipeIterator.java │ │ ├── map │ │ │ ├── MapCanvasImpl.java │ │ │ ├── MapRendererImpl.java │ │ │ ├── MapViewImpl.java │ │ │ └── RenderData.java │ │ ├── tag │ │ │ ├── BlockTagImpl.java │ │ │ ├── CraftGameEventTag.java │ │ │ ├── EntityTagImpl.java │ │ │ ├── FluidTagImpl.java │ │ │ ├── ItemTagImpl.java │ │ │ ├── TagImpl.java │ │ │ └── Tags.java │ │ ├── util │ │ │ ├── CardboardFluidRaytraceMode.java │ │ │ ├── CardboardRayTraceResult.java │ │ │ ├── CardboardSpawnCategory.java │ │ │ ├── CommandPermissions.java │ │ │ ├── HelpYamlReader.java │ │ │ ├── IconCacheImpl.java │ │ │ ├── LazyHashSet.java │ │ │ ├── LazyPlayerSet.java │ │ │ ├── ServerShutdownThread.java │ │ │ ├── SimpleHelpMap.java │ │ │ ├── WaitableImpl.java │ │ │ └── WeakCollection.java │ │ └── world │ │ │ ├── CardboardChunk.java │ │ │ ├── CardboardChunkSnapshot.java │ │ │ ├── ChunkDataImpl.java │ │ │ ├── CraftWorld.java │ │ │ ├── CraftWorldBorder.java │ │ │ └── FakeWorldAccess.java │ ├── interfaces │ │ ├── IBlockItem.java │ │ ├── IBlockState.java │ │ ├── IChunkDeltaUpdateS2CPacket.java │ │ ├── IChunkTicketType.java │ │ ├── IComponentChanges.java │ │ ├── ICreeperEntity.java │ │ ├── IDedicatedServer.java │ │ ├── IGameMessagePacket.java │ │ ├── IHorseBaseEntity.java │ │ ├── IIngredient.java │ │ ├── IItemStack.java │ │ ├── ILevelProperties.java │ │ ├── IMixinAdvancement.java │ │ ├── IMixinAnvilScreenHandler.java │ │ ├── IMixinArmorStandEntity.java │ │ ├── IMixinArrowEntity.java │ │ ├── IMixinBlockEntity.java │ │ ├── IMixinBrewingStandBlockEntity.java │ │ ├── IMixinChunk.java │ │ ├── IMixinChunkHolder.java │ │ ├── IMixinClientConnection.java │ │ ├── IMixinCommandOutput.java │ │ ├── IMixinDamageSource.java │ │ ├── IMixinDataTracker.java │ │ ├── IMixinDispenserBlock.java │ │ ├── IMixinEntity.java │ │ ├── IMixinForgingScreenHandler.java │ │ ├── IMixinInventory.java │ │ ├── IMixinLivingEntity.java │ │ ├── IMixinLockableContainerBlockEntity.java │ │ ├── IMixinLootContextParameters.java │ │ ├── IMixinLootManager.java │ │ ├── IMixinMapState.java │ │ ├── IMixinMaterial.java │ │ ├── IMixinMinecraftServer.java │ │ ├── IMixinPersistentProjectileEntity.java │ │ ├── IMixinPlayNetworkHandler.java │ │ ├── IMixinPlayerInventory.java │ │ ├── IMixinPlayerManager.java │ │ ├── IMixinRecipe.java │ │ ├── IMixinRecipeManager.java │ │ ├── IMixinScreenHandler.java │ │ ├── IMixinScreenHandlerContext.java │ │ ├── IMixinServerBossBar.java │ │ ├── IMixinServerEntityPlayer.java │ │ ├── IMixinServerLoginNetworkHandler.java │ │ ├── IMixinServerPlayerInteractionManager.java │ │ ├── IMixinSignBlockEntity.java │ │ ├── IMixinStyle.java │ │ ├── IMixinThreadedAnvilChunkStorage.java │ │ ├── IMixinThrownItemEntity.java │ │ ├── IMixinTradeOffer.java │ │ ├── IMixinTrader.java │ │ ├── IMixinWorld.java │ │ ├── IMixinWorldSaveHandler.java │ │ ├── INetworkConfiguration.java │ │ ├── INetworkIo.java │ │ ├── ISaddledComponent.java │ │ ├── IScreenHandler.java │ │ ├── IServerCommandSource.java │ │ ├── IServerWorld.java │ │ ├── ISimpleRegistry.java │ │ ├── ISlimeEntity.java │ │ ├── ITnt.java │ │ ├── IUserCache.java │ │ └── IWorldChunk.java │ ├── library │ │ ├── KnotHelper.java │ │ ├── Library.java │ │ ├── LibraryKey.java │ │ └── LibraryManager.java │ ├── mixin │ │ ├── CardboardMixinPlugin.java │ │ ├── MixinAdvancementEntry.java │ │ ├── MixinCommandManager.java │ │ ├── MixinCommandOutput.java │ │ ├── MixinComponentChanges.java │ │ ├── MixinDedicatedServer.java │ │ ├── MixinExplosion.java │ │ ├── MixinFrostWalkerEnchantment.java │ │ ├── MixinMCServer.java │ │ ├── MixinMapState.java │ │ ├── MixinMaterial.java │ │ ├── MixinMinecraftServer.java │ │ ├── MixinPlayerAdvancementTracker.java │ │ ├── MixinPlayerManager.java │ │ ├── MixinPluginLogger.java │ │ ├── MixinServerBossBar.java │ │ ├── MixinServerCommandSource.java │ │ ├── MixinServerNetworkConfiguration.java │ │ ├── MixinServerPlayerInteractionManager.java │ │ ├── MixinServerScoreboard.java │ │ ├── MixinSimplePluginManager.java │ │ ├── MixinStatHandler.java │ │ ├── MixinStatusEffects.java │ │ ├── MixinStyle.java │ │ ├── MixinTimeCommand.java │ │ ├── MixinTradeOffer.java │ │ ├── MixinUserCache.java │ │ ├── block │ │ │ ├── MixinAbstractBlockState.java │ │ │ ├── MixinAbstractCandleBlock.java │ │ │ ├── MixinBambooBlock.java │ │ │ ├── MixinBambooSaplingBlock.java │ │ │ ├── MixinBellBlock.java │ │ │ ├── MixinBuddingAmethystBlock.java │ │ │ ├── MixinCactusBlock.java │ │ │ ├── MixinCampfireBlock.java │ │ │ ├── MixinChestBlockv2.java │ │ │ ├── MixinCocoaBlock.java │ │ │ ├── MixinCoralFanBlock.java │ │ │ ├── MixinCoralWallFanBlock.java │ │ │ ├── MixinCropBlock.java │ │ │ ├── MixinDispenserBlock.java │ │ │ ├── MixinEndPortalBlock.java │ │ │ ├── MixinLeavesBlock.java │ │ │ ├── MixinLilyPadBlock.java │ │ │ ├── MixinNetherPortalBlock.java │ │ │ ├── MixinPistonBlock.java │ │ │ ├── MixinShearsDispenserBehavior.java │ │ │ ├── MixinSugarCaneBlock.java │ │ │ └── MixinTntBlock.java │ │ ├── bukkit │ │ │ ├── MixinBukkit.java │ │ │ ├── MixinRegisteredListener.java │ │ │ └── MixinYamlConfiguration.java │ │ ├── entity │ │ │ ├── MixinAbstractTraderEntity.java │ │ │ ├── MixinAnimalEntity.java │ │ │ ├── MixinArmorStandEntity.java │ │ │ ├── MixinArrowEntity.java │ │ │ ├── MixinBatEntity.java │ │ │ ├── MixinCreeperEntity.java │ │ │ ├── MixinDamageSource.java │ │ │ ├── MixinEggEntity.java │ │ │ ├── MixinEntity.java │ │ │ ├── MixinExperienceBottleEntity.java │ │ │ ├── MixinExperienceOrbEntity.java │ │ │ ├── MixinFireworkRocketEntity.java │ │ │ ├── MixinHorseBaseEntity.java │ │ │ ├── MixinItemEntity.java │ │ │ ├── MixinLeashKnotEntity.java │ │ │ ├── MixinLivingEntity.java │ │ │ ├── MixinMooshroomEntity.java │ │ │ ├── MixinPersistentProjectileEntity.java │ │ │ ├── MixinPhaseManager.java │ │ │ ├── MixinPiglinBrain.java │ │ │ ├── MixinPlayer.java │ │ │ ├── MixinPlayerEntity.java │ │ │ ├── MixinProjectileEntity.java │ │ │ ├── MixinSaddledComponent.java │ │ │ ├── MixinServerPlayerEntityCommandSender.java │ │ │ ├── MixinServerPlayerEntity_DeathEvent.java │ │ │ ├── MixinSheepEntity.java │ │ │ ├── MixinSlimeEntity.java │ │ │ ├── MixinThrownItemEntity.java │ │ │ ├── MixinTntEntity.java │ │ │ ├── ai │ │ │ │ ├── MixinBreakDoorGoal.java │ │ │ │ ├── MixinForgetAttackTargetTask.java │ │ │ │ ├── MixinGoToWorkTask.java │ │ │ │ ├── MixinLookTargetUtil.java │ │ │ │ ├── MixinLoseJobOnSiteLossTask.java │ │ │ │ ├── MixinPrepareRamTask.java │ │ │ │ ├── MixinUpdateAttackTargetTask.java │ │ │ │ └── MixinVillagerBreedTask.java │ │ │ └── block │ │ │ │ ├── MixinAbstractFurnaceBlockEntity.java │ │ │ │ ├── MixinBannerBlockEntity.java │ │ │ │ ├── MixinBarrelBlockEntity.java │ │ │ │ ├── MixinBeehiveBlockEntity.java │ │ │ │ ├── MixinBlockEntity.java │ │ │ │ ├── MixinBoatDispenserBehavior.java │ │ │ │ ├── MixinBrewingStandBlockEntity.java │ │ │ │ ├── MixinChestBlockEntity.java │ │ │ │ ├── MixinDispenserBlockEntity.java │ │ │ │ ├── MixinEndGatewayBlockEntity.java │ │ │ │ ├── MixinHopperBlockEntity.java │ │ │ │ ├── MixinLockableContainerBlockEntity.java │ │ │ │ ├── MixinShulkerBoxBlockEntity.java │ │ │ │ └── MixinSignBlockEntity.java │ │ ├── inventory │ │ │ ├── MixinCraftingInventory.java │ │ │ ├── MixinCraftingResultInventory.java │ │ │ ├── MixinDoubleInventory.java │ │ │ ├── MixinEnderChestInventory.java │ │ │ ├── MixinPlayerInventory.java │ │ │ ├── MixinSimpleInventory.java │ │ │ └── MixinTraderInventory.java │ │ ├── item │ │ │ ├── MixinArmorItem.java │ │ │ ├── MixinArmorStandItem.java │ │ │ ├── MixinBlockItem.java │ │ │ ├── MixinBoatItem.java │ │ │ ├── MixinBowItem.java │ │ │ ├── MixinBucketItem.java │ │ │ ├── MixinChorusFruitItem.java │ │ │ ├── MixinCrossbowItem.java │ │ │ ├── MixinDecorationItem.java │ │ │ ├── MixinDyeItem.java │ │ │ ├── MixinEndCrystalItem.java │ │ │ ├── MixinEnderEyeItem.java │ │ │ ├── MixinEnderPearlItem.java │ │ │ ├── MixinFilledMapItem.java │ │ │ ├── MixinFirechargeItem.java │ │ │ ├── MixinFishingRodItem.java │ │ │ ├── MixinFlintAndSteelItem.java │ │ │ ├── MixinItemStack.java │ │ │ ├── MixinLeadItem.java │ │ │ ├── MixinMinecraftItem.java │ │ │ ├── MixinPotionItem.java │ │ │ ├── MixinSnowballItem.java │ │ │ └── MixinTridentItem.java │ │ ├── loot │ │ │ ├── MixinLootContextParameters.java │ │ │ ├── MixinLootManager.java │ │ │ ├── MixinLootTable.java │ │ │ ├── MixinLootingEnchantLootFunction.java │ │ │ ├── MixinRandomChanceWithLootingLootCondition.java │ │ │ └── MixinSurvivesExplosionLootCondition.java │ │ ├── network │ │ │ ├── MixinChunkDeltaUpdateS2CPacket.java │ │ │ ├── MixinClientConnection.java │ │ │ ├── MixinDataTracker.java │ │ │ ├── MixinGameMessageS2CPacket.java │ │ │ ├── MixinLegacyQueryHandler.java │ │ │ ├── MixinPacketByteBuf.java │ │ │ ├── MixinPlayerManager_ChatEvent.java │ │ │ ├── MixinServerConfigurationNetworkHandler.java │ │ │ ├── MixinServerHandshakeNetworkHandler.java │ │ │ ├── MixinServerLoginNetworkHandler.java │ │ │ ├── MixinServerNetworkIo.java │ │ │ ├── MixinServerPlayNetworkHandler.java │ │ │ ├── MixinServerPlayNetworkHandler_ChatEvent.java │ │ │ ├── MixinServerPlayNetworkHandler_PlayerMove.java │ │ │ ├── MixinServerQueryNetworkHandler.java │ │ │ └── handler │ │ │ │ ├── MixinSPNH_InventoryClickEvent.java │ │ │ │ ├── MixinSPNH_PlayerCommandPreprocessEvent.java │ │ │ │ ├── MixinSPNH_PlayerCommandPreprocessEvent_1_18.java │ │ │ │ └── MixinSPNH_SignUpdateEvent.java │ │ ├── recipe │ │ │ ├── MixinIngredient.java │ │ │ ├── MixinRecipeEntry.java │ │ │ ├── MixinRecipeManager.java │ │ │ ├── MixinServerRecipeBook.java │ │ │ └── MixinSmithingRecipe.java │ │ ├── registry │ │ │ ├── MixinRegistries.java │ │ │ ├── MixinRegistryLoader.java │ │ │ ├── MixinRegistryLoader1.java │ │ │ ├── MixinReloadableRegistries.java │ │ │ └── MixinSimpleRegistry.java │ │ ├── screen │ │ │ ├── MixinAbstractFurnaceScreenHandler.java │ │ │ ├── MixinAnvilScreenHandler.java │ │ │ ├── MixinBeaconScreenHandler.java │ │ │ ├── MixinBrewingStandScreenHandler.java │ │ │ ├── MixinCraftingScreenHandler.java │ │ │ ├── MixinEnchantmentScreenHandler.java │ │ │ ├── MixinForgingScreenHandler.java │ │ │ ├── MixinGeneric3x3ContainerScreenHandler.java │ │ │ ├── MixinGenericContainerScreenHandler.java │ │ │ ├── MixinGrindstoneScreenHandler.java │ │ │ ├── MixinHopperScreenHandler.java │ │ │ ├── MixinHorseScreenHandler.java │ │ │ ├── MixinLecternScreenHandler.java │ │ │ ├── MixinLoomScreenHandler.java │ │ │ ├── MixinMerchantScreenHandler.java │ │ │ ├── MixinPlayerScreenHandler.java │ │ │ ├── MixinScreenHandler.java │ │ │ ├── MixinScreenHandlerContext.java │ │ │ ├── MixinShulkerBoxScreenHandler.java │ │ │ ├── MixinSmithingScreenHandler.java │ │ │ └── MixinStonecutterScreenHandler.java │ │ ├── stat │ │ │ └── MixinServerStatHandler.java │ │ └── world │ │ │ ├── MixinBlockView.java │ │ │ ├── MixinChunk.java │ │ │ ├── MixinChunkHolder.java │ │ │ ├── MixinChunkRegion.java │ │ │ ├── MixinChunkTicketType.java │ │ │ ├── MixinCommandBlockExecutor.java │ │ │ ├── MixinLevelProperties.java │ │ │ ├── MixinServerEntityHandler.java │ │ │ ├── MixinServerWorld.java │ │ │ ├── MixinServerWorldAccess.java │ │ │ ├── MixinThreadedAnvilChunkStorage.java │ │ │ ├── MixinWorld.java │ │ │ ├── MixinWorldAccess.java │ │ │ ├── MixinWorldBorder.java │ │ │ ├── MixinWorldChunk.java │ │ │ └── MixinWorldSaveHandler.java │ └── util │ │ ├── DigestUtil.java │ │ ├── GameVersion.java │ │ ├── Hex.java │ │ ├── JarReader.java │ │ ├── KnownEvents.java │ │ ├── MixinInfo.java │ │ ├── MyPluginFixManager.java │ │ ├── PermissionHook.java │ │ ├── SwitchTableFixer.java │ │ ├── VersionUtil.java │ │ ├── WorldEdit.java │ │ └── nms │ │ ├── MappingsReader.java │ │ ├── ProtocolLibMapper.java │ │ ├── ReflectionMethodVisitor.java │ │ ├── ReflectionRemapper.java │ │ └── WorldGuardMaterialHelper.java │ └── spigotmc │ ├── AsyncCatcher.java │ ├── LimitStream.java │ ├── SpigotConfig.java │ ├── TrackingRange.java │ ├── ValidateUtils.java │ └── WatchdogThread.java └── resources ├── META-INF └── services │ ├── io.papermc.paper.ServerBuildInfo │ └── io.papermc.paper.registry.RegistryAccess ├── bukkitfabric.accesswidener ├── bukkitfabric.mixins.json ├── configurations ├── bukkit.yml ├── commands.yml └── help.yml ├── fabric.mod.json └── mappings ├── bukkit-1.21.4-cl.csrg └── spigot2srg-1.20.srg /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | patreon: isaiahp 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Version file (auto-generated by gradle) 2 | /src/main/java/com/javazilla/bukkitfabric/GitVersion.java 3 | /**/GitVersion.java 4 | 5 | # gradle 6 | 7 | .gradle/ 8 | /.gradle/ 9 | /build/ 10 | build/ 11 | /out/ 12 | /classes/ 13 | /logs/ 14 | 15 | # eclipse 16 | 17 | *.launch 18 | /run/ 19 | 20 | # idea 21 | 22 | /.idea/ 23 | /*.iml/ 24 | /*.ipr/ 25 | /*.iws/ 26 | 27 | # vscode 28 | .settings/ 29 | .vscode/ 30 | /bin/ 31 | .classpath 32 | .project 33 | -------------------------------------------------------------------------------- /desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | IconResource=C:\Users\isaia\Documents\folder.ico,0 3 | [ViewState] 4 | Mode= 5 | Vid= 6 | FolderType=Generic 7 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CardboardPowered/cardboard/6a4e687275de3232dca7dbb344fbd0354ab5fb27/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.12.1-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /libs/MohistRemapper-0.3 -1.19.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CardboardPowered/cardboard/6a4e687275de3232dca7dbb344fbd0354ab5fb27/libs/MohistRemapper-0.3 -1.19.2.jar -------------------------------------------------------------------------------- /libs/MohistRemapper-0.3-1.19.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CardboardPowered/cardboard/6a4e687275de3232dca7dbb344fbd0354ab5fb27/libs/MohistRemapper-0.3-1.19.2.jar -------------------------------------------------------------------------------- /libs/MohistRemapper-0.3-1.20.x.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CardboardPowered/cardboard/6a4e687275de3232dca7dbb344fbd0354ab5fb27/libs/MohistRemapper-0.3-1.20.x.jar -------------------------------------------------------------------------------- /libs/MohistRemapper-0.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CardboardPowered/cardboard/6a4e687275de3232dca7dbb344fbd0354ab5fb27/libs/MohistRemapper-0.3.jar -------------------------------------------------------------------------------- /libs/README.txt: -------------------------------------------------------------------------------- 1 | Spigot-API.jar from Spigot Maven. 2 | 3 | - Delete com/google/ 4 | - Delete org/apache/commons/ 5 | - Delete com\destroystokyo\paper\event\executor\asm\ASMEventExecutorGenerator 6 | - Delete com\destroystokyo\paper\event\executor\asm\ClassDefiner 7 | - Delete com\destroystokyo\paper\event\executor\asm\SafeClassDefiner 8 | 9 | 10 | Updated notes 2023: 11 | 12 | - Download Paper-API jar & Paper Jar 13 | -------------------------------------------------------------------------------- /libs/SpecialSource-1.11.0-shaded.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CardboardPowered/cardboard/6a4e687275de3232dca7dbb344fbd0354ab5fb27/libs/SpecialSource-1.11.0-shaded.jar -------------------------------------------------------------------------------- /libs/Tag.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CardboardPowered/cardboard/6a4e687275de3232dca7dbb344fbd0354ab5fb27/libs/Tag.class -------------------------------------------------------------------------------- /libs/adventure-exam.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CardboardPowered/cardboard/6a4e687275de3232dca7dbb344fbd0354ab5fb27/libs/adventure-exam.jar -------------------------------------------------------------------------------- /libs/adventure.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CardboardPowered/cardboard/6a4e687275de3232dca7dbb344fbd0354ab5fb27/libs/adventure.jar -------------------------------------------------------------------------------- /libs/commons-lang-2.6.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CardboardPowered/cardboard/6a4e687275de3232dca7dbb344fbd0354ab5fb27/libs/commons-lang-2.6.jar -------------------------------------------------------------------------------- /libs/org.bukkit.Material Class/Material$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CardboardPowered/cardboard/6a4e687275de3232dca7dbb344fbd0354ab5fb27/libs/org.bukkit.Material Class/Material$1.class -------------------------------------------------------------------------------- /libs/org.bukkit.Material Class/Material.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CardboardPowered/cardboard/6a4e687275de3232dca7dbb344fbd0354ab5fb27/libs/org.bukkit.Material Class/Material.class -------------------------------------------------------------------------------- /libs/org.bukkit.Material Class/buildMaterial.bat: -------------------------------------------------------------------------------- 1 | javac Material.java -cp ../paper-api-1.17-test.jar;../../build/libs/CardboardMod-1.19.2.jar;C:\Users\admin\Desktop\Paper-17\Paper-Server\build\libs\Paper-Server-1.17-R0.1-SNAPSHOT-all.jar 2 | pause -------------------------------------------------------------------------------- /libs/paper-api-1.20.4-R0.1-SNAPSHOT_merged.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CardboardPowered/cardboard/6a4e687275de3232dca7dbb344fbd0354ab5fb27/libs/paper-api-1.20.4-R0.1-SNAPSHOT_merged.jar -------------------------------------------------------------------------------- /libs/slf4j.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CardboardPowered/cardboard/6a4e687275de3232dca7dbb344fbd0354ab5fb27/libs/slf4j.jar -------------------------------------------------------------------------------- /libs/slf4j2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CardboardPowered/cardboard/6a4e687275de3232dca7dbb344fbd0354ab5fb27/libs/slf4j2.jar -------------------------------------------------------------------------------- /libs/srglib-0.1.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CardboardPowered/cardboard/6a4e687275de3232dca7dbb344fbd0354ab5fb27/libs/srglib-0.1.2.jar -------------------------------------------------------------------------------- /repos/tempp/paper-api-1.21.4-R0.1-20250313.115134-207.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CardboardPowered/cardboard/6a4e687275de3232dca7dbb344fbd0354ab5fb27/repos/tempp/paper-api-1.21.4-R0.1-20250313.115134-207.jar -------------------------------------------------------------------------------- /repos/tempp/paper-api-1.21.4-R0.1-20250327.133756-218.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CardboardPowered/cardboard/6a4e687275de3232dca7dbb344fbd0354ab5fb27/repos/tempp/paper-api-1.21.4-R0.1-20250327.133756-218.jar -------------------------------------------------------------------------------- /repos/tempp/paper-api-1.21.4-R0.1-20250511.205801-225.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CardboardPowered/cardboard/6a4e687275de3232dca7dbb344fbd0354ab5fb27/repos/tempp/paper-api-1.21.4-R0.1-20250511.205801-225.jar -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | jcenter() 4 | maven { 5 | name = 'Fabric' 6 | url = 'https://maven.fabricmc.net/' 7 | } 8 | gradlePluginPortal() 9 | } 10 | } 11 | 12 | //include ':iCommon',':iCommon-API',':iCommon-Fabric-1.20.2' 13 | //project(':iCommon').projectDir = new File("C:/Users/isaia/mods/iCommonLib") 14 | //project(':iCommon-API').projectDir = new File("C:/Users/isaia/mods/iCommonLib/iCommon-API") 15 | 16 | -------------------------------------------------------------------------------- /src/main/java/com/destroystokyo/paper/PaperConfig.java: -------------------------------------------------------------------------------- 1 | package com.destroystokyo.paper; 2 | 3 | @Deprecated 4 | public class PaperConfig { 5 | } -------------------------------------------------------------------------------- /src/main/java/com/destroystokyo/paper/ServerSchedulerReportingWrapper.java: -------------------------------------------------------------------------------- 1 | package com.destroystokyo.paper; 2 | 3 | import com.google.common.base.Preconditions; 4 | import org.bukkit.craftbukkit.scheduler.BukkitTaskImpl; 5 | 6 | /** 7 | * Reporting wrapper to catch exceptions not natively 8 | */ 9 | public class ServerSchedulerReportingWrapper implements Runnable { 10 | 11 | private final BukkitTaskImpl internalTask; 12 | 13 | public ServerSchedulerReportingWrapper(BukkitTaskImpl internalTask) { 14 | this.internalTask = Preconditions.checkNotNull(internalTask, "internalTask"); 15 | } 16 | 17 | @Override 18 | public void run() { 19 | try { 20 | internalTask.run(); 21 | } catch (RuntimeException e) { 22 | e.printStackTrace(); 23 | throw e; 24 | } catch (Throwable t) { 25 | t.printStackTrace(); 26 | } 27 | } 28 | 29 | public BukkitTaskImpl getInternalTask() { 30 | return internalTask; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/com/javazilla/bukkitfabric/BukkitFabricMod.java: -------------------------------------------------------------------------------- 1 | package com.javazilla.bukkitfabric; 2 | 3 | import org.cardboardpowered.CardboardMod; 4 | import net.fabricmc.api.ModInitializer; 5 | 6 | @Deprecated 7 | public class BukkitFabricMod extends CardboardMod implements ModInitializer { 8 | } -------------------------------------------------------------------------------- /src/main/java/io/papermc/paper/datacomponent/item/PaperDamageResistant.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.datacomponent.item; 2 | 3 | import io.papermc.paper.registry.PaperRegistries; 4 | import io.papermc.paper.registry.tag.TagKey; 5 | import org.bukkit.craftbukkit.util.Handleable; 6 | import org.bukkit.damage.DamageType; 7 | 8 | public record PaperDamageResistant( 9 | net.minecraft.component.type.DamageResistantComponent impl 10 | ) implements DamageResistant, Handleable { 11 | 12 | @Override 13 | public net.minecraft.component.type.DamageResistantComponent getHandle() { 14 | return this.impl; 15 | } 16 | 17 | @Override 18 | public TagKey types() { 19 | return PaperRegistries.fromNms(this.impl.types()); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/io/papermc/paper/datacomponent/item/PaperEnchantable.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.datacomponent.item; 2 | 3 | import org.bukkit.craftbukkit.util.Handleable; 4 | 5 | public record PaperEnchantable( 6 | net.minecraft.component.type.EnchantableComponent impl 7 | ) implements Enchantable, Handleable { 8 | 9 | @Override 10 | public net.minecraft.component.type.EnchantableComponent getHandle() { 11 | return this.impl; 12 | } 13 | 14 | @Override 15 | public int value() { 16 | return this.impl.value(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/io/papermc/paper/datacomponent/item/PaperMapId.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.datacomponent.item; 2 | 3 | import org.bukkit.craftbukkit.util.Handleable; 4 | 5 | public record PaperMapId( 6 | net.minecraft.component.type.MapIdComponent impl 7 | ) implements MapId, Handleable { 8 | 9 | @Override 10 | public net.minecraft.component.type.MapIdComponent getHandle() { 11 | return this.impl; 12 | } 13 | 14 | @Override 15 | public int id() { 16 | return this.impl.id(); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/io/papermc/paper/datacomponent/item/PaperOminousBottleAmplifier.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.datacomponent.item; 2 | 3 | import org.bukkit.craftbukkit.util.Handleable; 4 | 5 | public record PaperOminousBottleAmplifier( 6 | net.minecraft.component.type.OminousBottleAmplifierComponent impl 7 | ) implements OminousBottleAmplifier, Handleable { 8 | 9 | @Override 10 | public net.minecraft.component.type.OminousBottleAmplifierComponent getHandle() { 11 | return this.impl; 12 | } 13 | 14 | @Override 15 | public int amplifier() { 16 | return this.impl.value(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/io/papermc/paper/datacomponent/item/PaperRepairable.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.datacomponent.item; 2 | 3 | import io.papermc.paper.registry.RegistryKey; 4 | import io.papermc.paper.registry.set.PaperRegistrySets; 5 | import io.papermc.paper.registry.set.RegistryKeySet; 6 | import org.bukkit.craftbukkit.util.Handleable; 7 | import org.bukkit.inventory.ItemType; 8 | 9 | public record PaperRepairable( 10 | net.minecraft.component.type.RepairableComponent impl 11 | ) implements Repairable, Handleable { 12 | 13 | @Override 14 | public net.minecraft.component.type.RepairableComponent getHandle() { 15 | return this.impl; 16 | } 17 | 18 | @Override 19 | public RegistryKeySet types() { 20 | return PaperRegistrySets.convertToApi(RegistryKey.ITEM, this.impl.items()); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/io/papermc/paper/datacomponent/item/PaperUseRemainder.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.datacomponent.item; 2 | 3 | import org.bukkit.craftbukkit.inventory.CraftItemStack; 4 | import org.bukkit.craftbukkit.util.Handleable; 5 | import org.bukkit.inventory.ItemStack; 6 | 7 | public record PaperUseRemainder( 8 | net.minecraft.component.type.UseRemainderComponent impl 9 | ) implements UseRemainder, Handleable { 10 | 11 | @Override 12 | public net.minecraft.component.type.UseRemainderComponent getHandle() { 13 | return this.impl; 14 | } 15 | 16 | @Override 17 | public ItemStack transformInto() { 18 | return CraftItemStack.asBukkitCopy(this.impl.convertInto()); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/io/papermc/paper/datacomponent/item/consumable/PaperApplyStatusEffects.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.datacomponent.item.consumable; 2 | 3 | import java.util.List; 4 | import net.minecraft.item.consume.ApplyEffectsConsumeEffect; 5 | import org.bukkit.potion.PotionEffect; 6 | import org.cardboardpowered.impl.CardboardPotionUtil; 7 | 8 | import static io.papermc.paper.util.MCUtil.transformUnmodifiable; 9 | 10 | public record PaperApplyStatusEffects( 11 | ApplyEffectsConsumeEffect impl 12 | ) implements ConsumeEffect.ApplyStatusEffects, PaperConsumableEffectImpl { 13 | 14 | @Override 15 | public List effects() { 16 | return transformUnmodifiable(this.impl().effects(), CardboardPotionUtil::toBukkit); 17 | } 18 | 19 | @Override 20 | public float probability() { 21 | return this.impl.probability(); 22 | } 23 | 24 | @Override 25 | public ApplyEffectsConsumeEffect getHandle() { 26 | return this.impl; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/io/papermc/paper/datacomponent/item/consumable/PaperClearAllStatusEffects.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.datacomponent.item.consumable; 2 | 3 | public record PaperClearAllStatusEffects( 4 | net.minecraft.item.consume.ClearAllEffectsConsumeEffect impl 5 | ) implements ConsumeEffect.ClearAllStatusEffects, PaperConsumableEffectImpl { 6 | 7 | @Override 8 | public net.minecraft.item.consume.ClearAllEffectsConsumeEffect getHandle() { 9 | return this.impl; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/io/papermc/paper/datacomponent/item/consumable/PaperConsumableEffectImpl.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.datacomponent.item.consumable; 2 | 3 | import net.minecraft.item.consume.ConsumeEffect; 4 | import org.bukkit.craftbukkit.util.Handleable; 5 | 6 | public interface PaperConsumableEffectImpl extends Handleable { 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/io/papermc/paper/datacomponent/item/consumable/PaperPlaySound.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.datacomponent.item.consumable; 2 | 3 | import io.papermc.paper.adventure.PaperAdventure; 4 | import net.kyori.adventure.key.Key; 5 | import net.minecraft.item.consume.PlaySoundConsumeEffect; 6 | 7 | public record PaperPlaySound( 8 | PlaySoundConsumeEffect impl 9 | ) implements ConsumeEffect.PlaySound, PaperConsumableEffectImpl { 10 | 11 | @Override 12 | public Key sound() { 13 | return PaperAdventure.asAdventure(this.impl.sound().value().id()); 14 | } 15 | 16 | @Override 17 | public PlaySoundConsumeEffect getHandle() { 18 | return this.impl; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/io/papermc/paper/datacomponent/item/consumable/PaperRemoveStatusEffects.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.datacomponent.item.consumable; 2 | 3 | import io.papermc.paper.registry.RegistryKey; 4 | import io.papermc.paper.registry.set.PaperRegistrySets; 5 | import io.papermc.paper.registry.set.RegistryKeySet; 6 | import org.bukkit.potion.PotionEffectType; 7 | 8 | public record PaperRemoveStatusEffects( 9 | net.minecraft.item.consume.RemoveEffectsConsumeEffect impl 10 | ) implements ConsumeEffect.RemoveStatusEffects, PaperConsumableEffectImpl { 11 | 12 | @Override 13 | public RegistryKeySet removeEffects() { 14 | return PaperRegistrySets.convertToApi(RegistryKey.MOB_EFFECT, this.impl.effects()); 15 | } 16 | 17 | @Override 18 | public net.minecraft.item.consume.RemoveEffectsConsumeEffect getHandle() { 19 | return this.impl; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/io/papermc/paper/datacomponent/item/consumable/PaperTeleportRandomly.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.datacomponent.item.consumable; 2 | 3 | public record PaperTeleportRandomly( 4 | net.minecraft.item.consume.TeleportRandomlyConsumeEffect impl 5 | ) implements ConsumeEffect.TeleportRandomly, PaperConsumableEffectImpl { 6 | @Override 7 | public float diameter() { 8 | return this.impl.diameter(); 9 | } 10 | 11 | @Override 12 | public net.minecraft.item.consume.TeleportRandomlyConsumeEffect getHandle() { 13 | return this.impl; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /src/main/java/io/papermc/paper/entity/PaperPlayerGiveResult.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.entity; 2 | 3 | import java.util.Collection; 4 | import java.util.Collections; 5 | import org.bukkit.entity.Item; 6 | import org.bukkit.inventory.ItemStack; 7 | import org.jetbrains.annotations.Unmodifiable; 8 | import org.jspecify.annotations.NullMarked; 9 | 10 | import com.github.bsideup.jabel.Desugar; 11 | 12 | @Desugar 13 | @NullMarked 14 | public record PaperPlayerGiveResult( 15 | @Unmodifiable Collection leftovers, 16 | @Unmodifiable Collection drops 17 | ) implements PlayerGiveResult { 18 | 19 | public static final PlayerGiveResult EMPTY = new PaperPlayerGiveResult( 20 | Collections.emptyList(), Collections.emptyList() 21 | ); 22 | 23 | } -------------------------------------------------------------------------------- /src/main/java/io/papermc/paper/registry/PaperRegistryBuilder.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.registry; 2 | 3 | import io.papermc.paper.registry.RegistryBuilder; 4 | import io.papermc.paper.registry.TypedKey; 5 | import io.papermc.paper.registry.data.util.Conversions; 6 | import org.checkerframework.checker.nullness.qual.Nullable; 7 | 8 | public interface PaperRegistryBuilder extends RegistryBuilder { 9 | 10 | M build(); 11 | 12 | @FunctionalInterface 13 | interface Filler> { 14 | 15 | B fill(Conversions conversions, @Nullable M nms); 16 | 17 | default B create(final Conversions conversions) { 18 | return this.fill(conversions, null); 19 | } 20 | } 21 | 22 | @FunctionalInterface 23 | interface Factory> { 24 | 25 | B create(Conversions conversions); 26 | } 27 | } -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /src/main/java/io/papermc/paper/registry/entry/BaseRegistryEntry.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.registry.entry; 2 | 3 | import io.papermc.paper.registry.RegistryKey; 4 | import io.papermc.paper.registry.entry.RegistryEntry; 5 | import net.minecraft.registry.Registry; 6 | import org.bukkit.Keyed; 7 | 8 | public abstract class BaseRegistryEntry implements RegistryEntry { 9 | 10 | private final net.minecraft.registry.RegistryKey> minecraftRegistryKey; 11 | private final RegistryKey apiRegistryKey; 12 | 13 | protected BaseRegistryEntry(net.minecraft.registry.RegistryKey> minecraftRegistryKey, RegistryKey apiRegistryKey) { 14 | this.minecraftRegistryKey = minecraftRegistryKey; 15 | this.apiRegistryKey = apiRegistryKey; 16 | } 17 | 18 | @Override 19 | public final net.minecraft.registry.RegistryKey> mcKey() { 20 | return this.minecraftRegistryKey; 21 | } 22 | 23 | @Override 24 | public final RegistryKey apiKey() { 25 | return this.apiRegistryKey; 26 | } 27 | } -------------------------------------------------------------------------------- /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.registry.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 | -------------------------------------------------------------------------------- /src/main/java/io/papermc/paper/registry/entry/RegistryEntryInfo.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.registry.entry; 2 | 3 | import io.papermc.paper.registry.RegistryKey; 4 | import net.minecraft.registry.Registry; 5 | 6 | public interface RegistryEntryInfo { 7 | 8 | public net.minecraft.registry.RegistryKey> mcKey(); 9 | 10 | public RegistryKey apiKey(); 11 | 12 | } -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /src/main/java/io/papermc/paper/registry/event_old.7z: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CardboardPowered/cardboard/6a4e687275de3232dca7dbb344fbd0354ab5fb27/src/main/java/io/papermc/paper/registry/event_old.7z -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /src/main/java/io/papermc/paper/world/flag/PaperFeatureDependent.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.world.flag; 2 | 3 | //import io.papermc.paper.world.flag.PaperFeatureFlagProviderImpl; 4 | import net.minecraft.resource.featuretoggle.ToggleableFeature; 5 | 6 | public interface PaperFeatureDependent extends FeatureDependant { 7 | 8 | public M getHandle(); 9 | 10 | /* 11 | default public @NonNull @Unmodifiable Set requiredFeatures() { 12 | return PaperFeatureFlagProviderImpl.fromNms(this.getHandle().getRequiredFeatures()); 13 | } 14 | */ 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/io/papermc/paper/world/structure/PaperConfiguredStructure.java: -------------------------------------------------------------------------------- 1 | package io.papermc.paper.world.structure; 2 | 3 | @Deprecated(forRemoval=true) 4 | public final class PaperConfiguredStructure { 5 | } -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/CraftBlockSupport.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.block; 2 | 3 | import net.minecraft.block.SideShapeType; 4 | import org.bukkit.block.BlockSupport; 5 | 6 | public final class CraftBlockSupport { 7 | 8 | private CraftBlockSupport() { 9 | } 10 | 11 | public static BlockSupport toBukkit(SideShapeType support) { 12 | return switch (support) { 13 | case FULL -> BlockSupport.FULL; 14 | case CENTER -> BlockSupport.CENTER; 15 | case RIGID -> BlockSupport.RIGID; 16 | default -> throw new IllegalArgumentException("Unsupported EnumBlockSupport type: " + support + ". This is a bug."); 17 | }; 18 | } 19 | 20 | public static SideShapeType toNMS(BlockSupport support) { 21 | return switch (support) { 22 | case FULL -> SideShapeType.FULL; 23 | case CENTER -> SideShapeType.CENTER; 24 | case RIGID -> SideShapeType.RIGID; 25 | default -> throw new IllegalArgumentException("Unsupported BlockSupport type: " + support + ". This is a bug."); 26 | }; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/data/IMagicNumbers.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.block.data; 2 | 3 | import net.minecraft.block.Block; 4 | import org.bukkit.Material; 5 | 6 | public interface IMagicNumbers { 7 | 8 | public Material IgetMaterial(Block b); 9 | 10 | public Block IgetBlock(Material m); 11 | 12 | } -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftBeetroot.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftBeetroot extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Ageable { 7 | 8 | public CraftBeetroot() { 9 | super(); 10 | } 11 | 12 | public CraftBeetroot(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.CraftAgeable 17 | 18 | private static final net.minecraft.state.property.IntProperty AGE = getInteger(net.minecraft.block.BeetrootsBlock.class, "age"); 19 | 20 | @Override 21 | public int getAge() { 22 | return get(AGE); 23 | } 24 | 25 | @Override 26 | public void setAge(int age) { 27 | set(AGE, age); 28 | } 29 | 30 | @Override 31 | public int getMaximumAge() { 32 | return getMax(AGE); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftBubbleColumn.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftBubbleColumn extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.type.BubbleColumn { 7 | 8 | public CraftBubbleColumn() { 9 | super(); 10 | } 11 | 12 | public CraftBubbleColumn(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.type.CraftBubbleColumn 17 | 18 | private static final net.minecraft.state.property.BooleanProperty DRAG = getBoolean(net.minecraft.block.BubbleColumnBlock.class, "drag"); 19 | 20 | @Override 21 | public boolean isDrag() { 22 | return get(DRAG); 23 | } 24 | 25 | @Override 26 | public void setDrag(boolean drag) { 27 | set(DRAG, drag); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftCactus.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftCactus extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Ageable { 7 | 8 | public CraftCactus() { 9 | super(); 10 | } 11 | 12 | public CraftCactus(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.CraftAgeable 17 | 18 | private static final net.minecraft.state.property.IntProperty AGE = getInteger(net.minecraft.block.CactusBlock.class, "age"); 19 | 20 | @Override 21 | public int getAge() { 22 | return get(AGE); 23 | } 24 | 25 | @Override 26 | public void setAge(int age) { 27 | set(AGE, age); 28 | } 29 | 30 | @Override 31 | public int getMaximumAge() { 32 | return getMax(AGE); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftCake.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftCake extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.type.Cake { 7 | 8 | public CraftCake() { 9 | super(); 10 | } 11 | 12 | public CraftCake(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.type.CraftCake 17 | 18 | private static final net.minecraft.state.property.IntProperty BITES = getInteger(net.minecraft.block.CakeBlock.class, "bites"); 19 | 20 | @Override 21 | public int getBites() { 22 | return get(BITES); 23 | } 24 | 25 | @Override 26 | public void setBites(int bites) { 27 | set(BITES, bites); 28 | } 29 | 30 | @Override 31 | public int getMaximumBites() { 32 | return getMax(BITES); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftCarrots.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftCarrots extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Ageable { 7 | 8 | public CraftCarrots() { 9 | super(); 10 | } 11 | 12 | public CraftCarrots(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.CraftAgeable 17 | 18 | private static final net.minecraft.state.property.IntProperty AGE = getInteger(net.minecraft.block.CarrotsBlock.class, "age"); 19 | 20 | @Override 21 | public int getAge() { 22 | return get(AGE); 23 | } 24 | 25 | @Override 26 | public void setAge(int age) { 27 | set(AGE, age); 28 | } 29 | 30 | @Override 31 | public int getMaximumAge() { 32 | return getMax(AGE); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftChain.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftChain extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Waterlogged { 7 | 8 | public CraftChain() { 9 | super(); 10 | } 11 | 12 | public CraftChain(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.CraftWaterlogged 17 | 18 | private static final net.minecraft.state.property.BooleanProperty WATERLOGGED = getBoolean(net.minecraft.block.ChainBlock.class, "waterlogged"); 19 | 20 | @Override 21 | public boolean isWaterlogged() { 22 | return get(WATERLOGGED); 23 | } 24 | 25 | @Override 26 | public void setWaterlogged(boolean waterlogged) { 27 | set(WATERLOGGED, waterlogged); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftChorusFlower.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftChorusFlower extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Ageable { 7 | 8 | public CraftChorusFlower() { 9 | super(); 10 | } 11 | 12 | public CraftChorusFlower(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.CraftAgeable 17 | 18 | private static final net.minecraft.state.property.IntProperty AGE = getInteger(net.minecraft.block.ChorusFlowerBlock.class, "age"); 19 | 20 | @Override 21 | public int getAge() { 22 | return get(AGE); 23 | } 24 | 25 | @Override 26 | public void setAge(int age) { 27 | set(AGE, age); 28 | } 29 | 30 | @Override 31 | public int getMaximumAge() { 32 | return getMax(AGE); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftConduit.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftConduit extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Waterlogged { 7 | 8 | public CraftConduit() { 9 | super(); 10 | } 11 | 12 | public CraftConduit(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.CraftWaterlogged 17 | 18 | private static final net.minecraft.state.property.BooleanProperty WATERLOGGED = getBoolean(net.minecraft.block.ConduitBlock.class, "waterlogged"); 19 | 20 | @Override 21 | public boolean isWaterlogged() { 22 | return get(WATERLOGGED); 23 | } 24 | 25 | @Override 26 | public void setWaterlogged(boolean waterlogged) { 27 | set(WATERLOGGED, waterlogged); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftCoralDead.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftCoralDead extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Waterlogged { 7 | 8 | public CraftCoralDead() { 9 | super(); 10 | } 11 | 12 | public CraftCoralDead(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.CraftWaterlogged 17 | 18 | private static final net.minecraft.state.property.BooleanProperty WATERLOGGED = getBoolean(net.minecraft.block.DeadCoralBlock.class, "waterlogged"); 19 | 20 | @Override 21 | public boolean isWaterlogged() { 22 | return get(WATERLOGGED); 23 | } 24 | 25 | @Override 26 | public void setWaterlogged(boolean waterlogged) { 27 | set(WATERLOGGED, waterlogged); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftCoralFan.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftCoralFan extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Waterlogged { 7 | 8 | public CraftCoralFan() { 9 | super(); 10 | } 11 | 12 | public CraftCoralFan(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.CraftWaterlogged 17 | 18 | private static final net.minecraft.state.property.BooleanProperty WATERLOGGED = getBoolean(net.minecraft.block.CoralFanBlock.class, "waterlogged"); 19 | 20 | @Override 21 | public boolean isWaterlogged() { 22 | return get(WATERLOGGED); 23 | } 24 | 25 | @Override 26 | public void setWaterlogged(boolean waterlogged) { 27 | set(WATERLOGGED, waterlogged); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftCoralFanAbstract.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftCoralFanAbstract extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Waterlogged { 7 | 8 | public CraftCoralFanAbstract() { 9 | super(); 10 | } 11 | 12 | public CraftCoralFanAbstract(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.CraftWaterlogged 17 | 18 | private static final net.minecraft.state.property.BooleanProperty WATERLOGGED = getBoolean(net.minecraft.block.DeadCoralFanBlock.class, "waterlogged"); 19 | 20 | @Override 21 | public boolean isWaterlogged() { 22 | return get(WATERLOGGED); 23 | } 24 | 25 | @Override 26 | public void setWaterlogged(boolean waterlogged) { 27 | set(WATERLOGGED, waterlogged); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftCoralPlant.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftCoralPlant extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Waterlogged { 7 | 8 | public CraftCoralPlant() { 9 | super(); 10 | } 11 | 12 | public CraftCoralPlant(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.CraftWaterlogged 17 | 18 | private static final net.minecraft.state.property.BooleanProperty WATERLOGGED = getBoolean(net.minecraft.block.CoralBlock.class, "waterlogged"); 19 | 20 | @Override 21 | public boolean isWaterlogged() { 22 | return get(WATERLOGGED); 23 | } 24 | 25 | @Override 26 | public void setWaterlogged(boolean waterlogged) { 27 | set(WATERLOGGED, waterlogged); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftCrops.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftCrops extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Ageable { 7 | 8 | public CraftCrops() { 9 | super(); 10 | } 11 | 12 | public CraftCrops(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.CraftAgeable 17 | 18 | private static final net.minecraft.state.property.IntProperty AGE = getInteger(net.minecraft.block.CropBlock.class, "age"); 19 | 20 | @Override 21 | public int getAge() { 22 | return get(AGE); 23 | } 24 | 25 | @Override 26 | public void setAge(int age) { 27 | set(AGE, age); 28 | } 29 | 30 | @Override 31 | public int getMaximumAge() { 32 | return getMax(AGE); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftDirtSnow.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftDirtSnow extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Snowable { 7 | 8 | public CraftDirtSnow() { 9 | super(); 10 | } 11 | 12 | public CraftDirtSnow(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.CraftSnowable 17 | 18 | private static final net.minecraft.state.property.BooleanProperty SNOWY = getBoolean(net.minecraft.block.SnowyBlock.class, "snowy"); 19 | 20 | @Override 21 | public boolean isSnowy() { 22 | return get(SNOWY); 23 | } 24 | 25 | @Override 26 | public void setSnowy(boolean snowy) { 27 | set(SNOWY, snowy); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftGrass.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftGrass extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Snowable { 7 | 8 | public CraftGrass() { 9 | super(); 10 | } 11 | 12 | public CraftGrass(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.CraftSnowable 17 | 18 | private static final net.minecraft.state.property.BooleanProperty SNOWY = getBoolean(net.minecraft.block.GrassBlock.class, "snowy"); 19 | 20 | @Override 21 | public boolean isSnowy() { 22 | return get(SNOWY); 23 | } 24 | 25 | @Override 26 | public void setSnowy(boolean snowy) { 27 | set(SNOWY, snowy); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftHay.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftHay extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Orientable { 7 | 8 | public CraftHay() { 9 | super(); 10 | } 11 | 12 | public CraftHay(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.CraftOrientable 17 | 18 | private static final net.minecraft.state.property.EnumProperty AXIS = getEnum(net.minecraft.block.HayBlock.class, "axis"); 19 | 20 | @Override 21 | public org.bukkit.Axis getAxis() { 22 | return get(AXIS, org.bukkit.Axis.class); 23 | } 24 | 25 | @Override 26 | public void setAxis(org.bukkit.Axis axis) { 27 | set(AXIS, axis); 28 | } 29 | 30 | @Override 31 | public java.util.Set getAxes() { 32 | return getValues(AXIS, org.bukkit.Axis.class); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftIceFrost.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftIceFrost extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Ageable { 7 | 8 | public CraftIceFrost() { 9 | super(); 10 | } 11 | 12 | public CraftIceFrost(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.CraftAgeable 17 | 18 | private static final net.minecraft.state.property.IntProperty AGE = getInteger(net.minecraft.block.FrostedIceBlock.class, "age"); 19 | 20 | @Override 21 | public int getAge() { 22 | return get(AGE); 23 | } 24 | 25 | @Override 26 | public void setAge(int age) { 27 | set(AGE, age); 28 | } 29 | 30 | @Override 31 | public int getMaximumAge() { 32 | return getMax(AGE); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftJigsaw.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftJigsaw extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.type.Jigsaw { 7 | 8 | public CraftJigsaw() { 9 | super(); 10 | } 11 | 12 | public CraftJigsaw(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.type.CraftJigsaw 17 | 18 | private static final net.minecraft.state.property.EnumProperty ORIENTATION = getEnum(net.minecraft.block.JigsawBlock.class, "orientation"); 19 | 20 | @Override 21 | public Orientation getOrientation() { 22 | return get(ORIENTATION, Orientation.class); 23 | } 24 | 25 | @Override 26 | public void setOrientation(Orientation orientation) { 27 | set(ORIENTATION, orientation); 28 | } 29 | 30 | } -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftJukeBox.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftJukeBox extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.type.Jukebox { 7 | 8 | public CraftJukeBox() { 9 | super(); 10 | } 11 | 12 | public CraftJukeBox(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.type.CraftJukebox 17 | 18 | private static final net.minecraft.state.property.BooleanProperty HAS_RECORD = getBoolean(net.minecraft.block.JukeboxBlock.class, "has_record"); 19 | 20 | @Override 21 | public boolean hasRecord() { 22 | return get(HAS_RECORD); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftKelp.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftKelp extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Ageable { 7 | 8 | public CraftKelp() { 9 | super(); 10 | } 11 | 12 | public CraftKelp(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.CraftAgeable 17 | 18 | private static final net.minecraft.state.property.IntProperty AGE = getInteger(net.minecraft.block.KelpBlock.class, "age"); 19 | 20 | @Override 21 | public int getAge() { 22 | return get(AGE); 23 | } 24 | 25 | @Override 26 | public void setAge(int age) { 27 | set(AGE, age); 28 | } 29 | 30 | @Override 31 | public int getMaximumAge() { 32 | return getMax(AGE); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftMycel.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftMycel extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Snowable { 7 | 8 | public CraftMycel() { 9 | super(); 10 | } 11 | 12 | public CraftMycel(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.CraftSnowable 17 | 18 | private static final net.minecraft.state.property.BooleanProperty SNOWY = getBoolean(net.minecraft.block.MyceliumBlock.class, "snowy"); 19 | 20 | @Override 21 | public boolean isSnowy() { 22 | return get(SNOWY); 23 | } 24 | 25 | @Override 26 | public void setSnowy(boolean snowy) { 27 | set(SNOWY, snowy); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftNetherWart.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftNetherWart extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Ageable { 7 | 8 | public CraftNetherWart() { 9 | super(); 10 | } 11 | 12 | public CraftNetherWart(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.CraftAgeable 17 | 18 | private static final net.minecraft.state.property.IntProperty AGE = getInteger(net.minecraft.block.NetherWartBlock.class, "age"); 19 | 20 | @Override 21 | public int getAge() { 22 | return get(AGE); 23 | } 24 | 25 | @Override 26 | public void setAge(int age) { 27 | set(AGE, age); 28 | } 29 | 30 | @Override 31 | public int getMaximumAge() { 32 | return getMax(AGE); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftPortal.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftPortal extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Orientable { 7 | 8 | public CraftPortal() { 9 | super(); 10 | } 11 | 12 | public CraftPortal(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.CraftOrientable 17 | 18 | private static final net.minecraft.state.property.EnumProperty AXIS = getEnum(net.minecraft.block.NetherPortalBlock.class, "axis"); 19 | 20 | @Override 21 | public org.bukkit.Axis getAxis() { 22 | return get(AXIS, org.bukkit.Axis.class); 23 | } 24 | 25 | @Override 26 | public void setAxis(org.bukkit.Axis axis) { 27 | set(AXIS, axis); 28 | } 29 | 30 | @Override 31 | public java.util.Set getAxes() { 32 | return getValues(AXIS, org.bukkit.Axis.class); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftPotatoes.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftPotatoes extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Ageable { 7 | 8 | public CraftPotatoes() { 9 | super(); 10 | } 11 | 12 | public CraftPotatoes(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.CraftAgeable 17 | 18 | private static final net.minecraft.state.property.IntProperty AGE = getInteger(net.minecraft.block.PotatoesBlock.class, "age"); 19 | 20 | @Override 21 | public int getAge() { 22 | return get(AGE); 23 | } 24 | 25 | @Override 26 | public void setAge(int age) { 27 | set(AGE, age); 28 | } 29 | 30 | @Override 31 | public int getMaximumAge() { 32 | return getMax(AGE); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftPressurePlateBinary.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftPressurePlateBinary extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Powerable { 7 | 8 | public CraftPressurePlateBinary() { 9 | super(); 10 | } 11 | 12 | public CraftPressurePlateBinary(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.CraftPowerable 17 | 18 | private static final net.minecraft.state.property.BooleanProperty POWERED = getBoolean(net.minecraft.block.PressurePlateBlock.class, "powered"); 19 | 20 | @Override 21 | public boolean isPowered() { 22 | return get(POWERED); 23 | } 24 | 25 | @Override 26 | public void setPowered(boolean powered) { 27 | set(POWERED, powered); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftPressurePlateWeighted.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftPressurePlateWeighted extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.AnaloguePowerable { 7 | 8 | public CraftPressurePlateWeighted() { 9 | super(); 10 | } 11 | 12 | public CraftPressurePlateWeighted(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.CraftAnaloguePowerable 17 | 18 | private static final net.minecraft.state.property.IntProperty POWER = getInteger(net.minecraft.block.WeightedPressurePlateBlock.class, "power"); 19 | 20 | @Override 21 | public int getPower() { 22 | return get(POWER); 23 | } 24 | 25 | @Override 26 | public void setPower(int power) { 27 | set(POWER, power); 28 | } 29 | 30 | @Override 31 | public int getMaximumPower() { 32 | return getMax(POWER); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftRedstoneLamp.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftRedstoneLamp extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Lightable { 7 | 8 | public CraftRedstoneLamp() { 9 | super(); 10 | } 11 | 12 | public CraftRedstoneLamp(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.CraftLightable 17 | 18 | private static final net.minecraft.state.property.BooleanProperty LIT = getBoolean(net.minecraft.block.RedstoneLampBlock.class, "lit"); 19 | 20 | @Override 21 | public boolean isLit() { 22 | return get(LIT); 23 | } 24 | 25 | @Override 26 | public void setLit(boolean lit) { 27 | set(LIT, lit); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftRedstoneOre.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftRedstoneOre extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Lightable { 7 | 8 | public CraftRedstoneOre() { 9 | super(); 10 | } 11 | 12 | public CraftRedstoneOre(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.CraftLightable 17 | 18 | private static final net.minecraft.state.property.BooleanProperty LIT = getBoolean(net.minecraft.block.RedstoneOreBlock.class, "lit"); 19 | 20 | @Override 21 | public boolean isLit() { 22 | return get(LIT); 23 | } 24 | 25 | @Override 26 | public void setLit(boolean lit) { 27 | set(LIT, lit); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftRedstoneTorch.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftRedstoneTorch extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Lightable { 7 | 8 | public CraftRedstoneTorch() { 9 | super(); 10 | } 11 | 12 | public CraftRedstoneTorch(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.CraftLightable 17 | 18 | private static final net.minecraft.state.property.BooleanProperty LIT = getBoolean(net.minecraft.block.RedstoneTorchBlock.class, "lit"); 19 | 20 | @Override 21 | public boolean isLit() { 22 | return get(LIT); 23 | } 24 | 25 | @Override 26 | public void setLit(boolean lit) { 27 | set(LIT, lit); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftReed.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftReed extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Ageable { 7 | 8 | public CraftReed() { 9 | super(); 10 | } 11 | 12 | public CraftReed(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.CraftAgeable 17 | 18 | private static final net.minecraft.state.property.IntProperty AGE = getInteger(net.minecraft.block.SugarCaneBlock.class, "age"); 19 | 20 | @Override 21 | public int getAge() { 22 | return get(AGE); 23 | } 24 | 25 | @Override 26 | public void setAge(int age) { 27 | set(AGE, age); 28 | } 29 | 30 | @Override 31 | public int getMaximumAge() { 32 | return getMax(AGE); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftRespawnAnchor.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftRespawnAnchor extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.type.RespawnAnchor { 7 | 8 | public CraftRespawnAnchor() { 9 | super(); 10 | } 11 | 12 | public CraftRespawnAnchor(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.type.CraftRespawnAnchor 17 | 18 | private static final net.minecraft.state.property.IntProperty CHARGES = getInteger(net.minecraft.block.RespawnAnchorBlock.class, "charges"); 19 | 20 | @Override 21 | public int getCharges() { 22 | return get(CHARGES); 23 | } 24 | 25 | @Override 26 | public void setCharges(int charges) { 27 | set(CHARGES, charges); 28 | } 29 | 30 | @Override 31 | public int getMaximumCharges() { 32 | return getMax(CHARGES); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftRotatable.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftRotatable extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Orientable { 7 | 8 | public CraftRotatable() { 9 | super(); 10 | } 11 | 12 | public CraftRotatable(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.CraftOrientable 17 | 18 | private static final net.minecraft.state.property.EnumProperty AXIS = getEnum(net.minecraft.block.PillarBlock.class, "axis"); 19 | 20 | @Override 21 | public org.bukkit.Axis getAxis() { 22 | return get(AXIS, org.bukkit.Axis.class); 23 | } 24 | 25 | @Override 26 | public void setAxis(org.bukkit.Axis axis) { 27 | set(AXIS, axis); 28 | } 29 | 30 | @Override 31 | public java.util.Set getAxes() { 32 | return getValues(AXIS, org.bukkit.Axis.class); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftSapling.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftSapling extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.type.Sapling { 7 | 8 | public CraftSapling() { 9 | super(); 10 | } 11 | 12 | public CraftSapling(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.type.CraftSapling 17 | 18 | private static final net.minecraft.state.property.IntProperty STAGE = getInteger(net.minecraft.block.SaplingBlock.class, "stage"); 19 | 20 | @Override 21 | public int getStage() { 22 | return get(STAGE); 23 | } 24 | 25 | @Override 26 | public void setStage(int stage) { 27 | set(STAGE, stage); 28 | } 29 | 30 | @Override 31 | public int getMaximumStage() { 32 | return getMax(STAGE); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftSnow.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftSnow extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.type.Snow { 7 | 8 | public CraftSnow() { 9 | super(); 10 | } 11 | 12 | public CraftSnow(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.type.CraftSnow 17 | 18 | private static final net.minecraft.state.property.IntProperty LAYERS = getInteger(net.minecraft.block.SnowBlock.class, "layers"); 19 | 20 | @Override 21 | public int getLayers() { 22 | return get(LAYERS); 23 | } 24 | 25 | @Override 26 | public void setLayers(int layers) { 27 | set(LAYERS, layers); 28 | } 29 | 30 | @Override 31 | public int getMinimumLayers() { 32 | return getMin(LAYERS); 33 | } 34 | 35 | @Override 36 | public int getMaximumLayers() { 37 | return getMax(LAYERS); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftSoil.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftSoil extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.type.Farmland { 7 | 8 | public CraftSoil() { 9 | super(); 10 | } 11 | 12 | public CraftSoil(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.type.CraftFarmland 17 | 18 | private static final net.minecraft.state.property.IntProperty MOISTURE = getInteger(net.minecraft.block.FarmlandBlock.class, "moisture"); 19 | 20 | @Override 21 | public int getMoisture() { 22 | return get(MOISTURE); 23 | } 24 | 25 | @Override 26 | public void setMoisture(int moisture) { 27 | set(MOISTURE, moisture); 28 | } 29 | 30 | @Override 31 | public int getMaximumMoisture() { 32 | return getMax(MOISTURE); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftStem.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftStem extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Ageable { 7 | 8 | public CraftStem() { 9 | super(); 10 | } 11 | 12 | public CraftStem(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.CraftAgeable 17 | 18 | private static final net.minecraft.state.property.IntProperty AGE = getInteger(net.minecraft.block.StemBlock.class, "age"); 19 | 20 | @Override 21 | public int getAge() { 22 | return get(AGE); 23 | } 24 | 25 | @Override 26 | public void setAge(int age) { 27 | set(AGE, age); 28 | } 29 | 30 | @Override 31 | public int getMaximumAge() { 32 | return getMax(AGE); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftStructure.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftStructure extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.type.StructureBlock { 7 | 8 | public CraftStructure() { 9 | super(); 10 | } 11 | 12 | public CraftStructure(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.type.CraftStructureBlock 17 | 18 | private static final net.minecraft.state.property.EnumProperty MODE = getEnum(net.minecraft.block.StructureBlock.class, "mode"); 19 | 20 | @Override 21 | public Mode getMode() { 22 | return get(MODE, Mode.class); 23 | } 24 | 25 | @Override 26 | public void setMode(Mode mode) { 27 | set(MODE, mode); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftSweetBerryBush.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftSweetBerryBush extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Ageable { 7 | 8 | public CraftSweetBerryBush() { 9 | super(); 10 | } 11 | 12 | public CraftSweetBerryBush(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.CraftAgeable 17 | 18 | private static final net.minecraft.state.property.IntProperty AGE = getInteger(net.minecraft.block.SweetBerryBushBlock.class, "age"); 19 | 20 | @Override 21 | public int getAge() { 22 | return get(AGE); 23 | } 24 | 25 | @Override 26 | public void setAge(int age) { 27 | set(AGE, age); 28 | } 29 | 30 | @Override 31 | public int getMaximumAge() { 32 | return getMax(AGE); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftTNT.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftTNT extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.type.TNT { 7 | 8 | public CraftTNT() { 9 | super(); 10 | } 11 | 12 | public CraftTNT(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.type.CraftTNT 17 | 18 | private static final net.minecraft.state.property.BooleanProperty UNSTABLE = getBoolean(net.minecraft.block.TntBlock.class, "unstable"); 19 | 20 | @Override 21 | public boolean isUnstable() { 22 | return get(UNSTABLE); 23 | } 24 | 25 | @Override 26 | public void setUnstable(boolean unstable) { 27 | set(UNSTABLE, unstable); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftTallPlant.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftTallPlant extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Bisected { 7 | 8 | public CraftTallPlant() { 9 | super(); 10 | } 11 | 12 | public CraftTallPlant(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.CraftBisected 17 | 18 | private static final net.minecraft.state.property.EnumProperty HALF = getEnum(net.minecraft.block.TallPlantBlock.class, "half"); 19 | 20 | @Override 21 | public Half getHalf() { 22 | return get(HALF, Half.class); 23 | } 24 | 25 | @Override 26 | public void setHalf(Half half) { 27 | set(HALF, half); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftTallPlantFlower.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftTallPlantFlower extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Bisected { 7 | 8 | public CraftTallPlantFlower() { 9 | super(); 10 | } 11 | 12 | public CraftTallPlantFlower(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.CraftBisected 17 | 18 | private static final net.minecraft.state.property.EnumProperty HALF = getEnum(net.minecraft.block.TallFlowerBlock.class, "half"); 19 | 20 | @Override 21 | public Half getHalf() { 22 | return get(HALF, Half.class); 23 | } 24 | 25 | @Override 26 | public void setHalf(Half half) { 27 | set(HALF, half); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftTallSeaGrass.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftTallSeaGrass extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Bisected { 7 | 8 | public CraftTallSeaGrass() { 9 | super(); 10 | } 11 | 12 | public CraftTallSeaGrass(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.CraftBisected 17 | 18 | private static final net.minecraft.state.property.EnumProperty HALF = getEnum(net.minecraft.block.TallSeagrassBlock.class, "half"); 19 | 20 | @Override 21 | public Half getHalf() { 22 | return get(HALF, Half.class); 23 | } 24 | 25 | @Override 26 | public void setHalf(Half half) { 27 | set(HALF, half); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftTarget.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftTarget extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.AnaloguePowerable { 7 | 8 | public CraftTarget() { 9 | super(); 10 | } 11 | 12 | public CraftTarget(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.CraftAnaloguePowerable 17 | 18 | private static final net.minecraft.state.property.IntProperty POWER = getInteger(net.minecraft.block.TargetBlock.class, "power"); 19 | 20 | @Override 21 | public int getPower() { 22 | return get(POWER); 23 | } 24 | 25 | @Override 26 | public void setPower(int power) { 27 | set(POWER, power); 28 | } 29 | 30 | @Override 31 | public int getMaximumPower() { 32 | return getMax(POWER); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftTwistingVines.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftTwistingVines extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Ageable { 7 | 8 | public CraftTwistingVines() { 9 | super(); 10 | } 11 | 12 | public CraftTwistingVines(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.CraftAgeable 17 | 18 | private static final net.minecraft.state.property.IntProperty AGE = getInteger(net.minecraft.block.TwistingVinesBlock.class, "age"); 19 | 20 | @Override 21 | public int getAge() { 22 | return get(AGE); 23 | } 24 | 25 | @Override 26 | public void setAge(int age) { 27 | set(AGE, age); 28 | } 29 | 30 | @Override 31 | public int getMaximumAge() { 32 | return getMax(AGE); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/block/impl/CraftWeepingVines.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file, changes will be lost. 3 | */ 4 | package org.bukkit.craftbukkit.block.impl; 5 | 6 | public final class CraftWeepingVines extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Ageable { 7 | 8 | public CraftWeepingVines() { 9 | super(); 10 | } 11 | 12 | public CraftWeepingVines(net.minecraft.block.BlockState state) { 13 | super(state); 14 | } 15 | 16 | // org.bukkit.craftbukkit.block.data.CraftAgeable 17 | 18 | private static final net.minecraft.state.property.IntProperty AGE = getInteger(net.minecraft.block.WeepingVinesBlock.class, "age"); 19 | 20 | @Override 21 | public int getAge() { 22 | return get(AGE); 23 | } 24 | 25 | @Override 26 | public void setAge(int age) { 27 | set(AGE, age); 28 | } 29 | 30 | @Override 31 | public int getMaximumAge() { 32 | return getMax(AGE); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/entity/CraftCow.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity; 2 | 3 | import net.minecraft.entity.passive.CowEntity; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.entity.Cow; 6 | import org.bukkit.entity.EntityType; 7 | import org.cardboardpowered.impl.entity.CraftAnimals; 8 | 9 | public class CraftCow extends CraftAnimals implements Cow { 10 | 11 | public CraftCow(CraftServer server, CowEntity entity) { 12 | super(server, entity); 13 | } 14 | 15 | @Override 16 | public CowEntity getHandle() { 17 | return (CowEntity) nms; 18 | } 19 | 20 | @Override 21 | public String toString() { 22 | return "CraftCow"; 23 | } 24 | 25 | @Override 26 | public EntityType getType() { 27 | return EntityType.COW; 28 | } 29 | 30 | } -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/entity/CraftIllager.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity; 2 | 3 | import net.minecraft.entity.mob.IllagerEntity; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.entity.Illager; 6 | import org.cardboardpowered.impl.entity.CardboardRaider; 7 | 8 | public class CraftIllager extends CardboardRaider implements Illager { 9 | 10 | public CraftIllager(CraftServer server, IllagerEntity entity) { 11 | super(server, entity); 12 | } 13 | 14 | @Override 15 | public IllagerEntity getHandle() { 16 | return (IllagerEntity) super.getHandle(); 17 | } 18 | 19 | @Override 20 | public String toString() { 21 | return "Illager"; 22 | } 23 | 24 | @Override 25 | public boolean isCelebrating() { 26 | // TODO Auto-generated method stub 27 | return false; 28 | } 29 | 30 | @Override 31 | public void setCelebrating(boolean arg0) { 32 | // TODO Auto-generated method stub 33 | 34 | } 35 | 36 | } -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/entity/CraftSpider.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.entity; 2 | 3 | import net.minecraft.entity.mob.SpiderEntity; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.entity.EntityType; 6 | import org.bukkit.entity.Spider; 7 | import org.cardboardpowered.impl.entity.CraftMonster; 8 | 9 | public class CraftSpider extends CraftMonster implements Spider { 10 | 11 | public CraftSpider(CraftServer server, SpiderEntity entity) { 12 | super(server, entity); 13 | } 14 | 15 | @Override 16 | public SpiderEntity getHandle() { 17 | return (SpiderEntity) nms; 18 | } 19 | 20 | @Override 21 | public String toString() { 22 | return "CraftSpider"; 23 | } 24 | 25 | @Override 26 | public EntityType getType() { 27 | return EntityType.SPIDER; 28 | } 29 | 30 | } -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/generator/structure/CraftStructurePiece.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.generator.structure; 2 | 3 | import org.bukkit.generator.structure.StructurePiece; 4 | import org.bukkit.util.BoundingBox; 5 | 6 | public class CraftStructurePiece implements StructurePiece { 7 | 8 | private final net.minecraft.structure.StructurePiece handle; 9 | 10 | public CraftStructurePiece(net.minecraft.structure.StructurePiece handle) { 11 | this.handle = handle; 12 | } 13 | 14 | @Override 15 | public BoundingBox getBoundingBox() { 16 | net.minecraft.util.math.BlockBox bb = this.handle.getBoundingBox(); 17 | return new BoundingBox(bb.getMinX(), bb.getMinY(), bb.getMinZ(), bb.getMaxX(), bb.getMaxY(), bb.getMaxZ()); 18 | } 19 | 20 | } -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryDecoratedPot.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.inventory; 2 | 3 | import net.minecraft.inventory.Inventory; 4 | import org.bukkit.block.DecoratedPot; 5 | import org.bukkit.inventory.DecoratedPotInventory; 6 | import org.bukkit.inventory.ItemStack; 7 | 8 | import org.cardboardpowered.interfaces.IMixinInventory; 9 | 10 | public class CraftInventoryDecoratedPot extends CraftInventory implements DecoratedPotInventory { 11 | 12 | public CraftInventoryDecoratedPot(Inventory inventory) { 13 | super(inventory); 14 | } 15 | 16 | @Override 17 | public void setItem(ItemStack item) { 18 | this.setItem(0, item); 19 | } 20 | 21 | @Override 22 | public ItemStack getItem() { 23 | return this.getItem(0); 24 | } 25 | 26 | @Override 27 | public DecoratedPot getHolder() { 28 | return (DecoratedPot) ((IMixinInventory)this.inventory).getOwner(); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryView.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.inventory; 2 | 3 | import org.bukkit.entity.HumanEntity; 4 | import org.bukkit.inventory.Inventory; 5 | import org.cardboardpowered.impl.inventory.CardboardInventoryView; 6 | 7 | import net.minecraft.screen.ScreenHandler; 8 | 9 | public class CraftInventoryView extends CardboardInventoryView { 10 | 11 | public CraftInventoryView(HumanEntity player, I viewing, ScreenHandler container) { 12 | super(player, viewing, container); 13 | // TODO Auto-generated constructor stub 14 | } 15 | 16 | @Override 17 | public I getTopInventory() { 18 | return this.viewing; 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/inventory/tags/DeprecatedItemAdapterContext.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.inventory.tags; 2 | 3 | import org.bukkit.inventory.meta.tags.CustomItemTagContainer; 4 | import org.bukkit.inventory.meta.tags.ItemTagAdapterContext; 5 | import org.bukkit.persistence.PersistentDataAdapterContext; 6 | 7 | public final class DeprecatedItemAdapterContext implements ItemTagAdapterContext { 8 | 9 | private final PersistentDataAdapterContext context; 10 | 11 | public DeprecatedItemAdapterContext(PersistentDataAdapterContext context) { 12 | this.context = context; 13 | } 14 | 15 | @Override 16 | public CustomItemTagContainer newTagContainer() { 17 | return new DeprecatedCustomTagContainer(context.newPersistentDataContainer()); 18 | } 19 | 20 | } -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/legacy/reroute/RequirePluginVersion.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 RequirePluginVersion { 11 | 12 | String value() default ""; 13 | 14 | String minInclusive() default ""; 15 | 16 | String maxInclusive() default ""; 17 | } 18 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/legacy/reroute/RerouteMethodData.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.legacy.reroute; 2 | 3 | import java.util.List; 4 | import org.jetbrains.annotations.Nullable; 5 | import org.objectweb.asm.Type; 6 | 7 | public record RerouteMethodData(String methodKey, Type sourceDesc, Type sourceOwner, String sourceName, 8 | boolean staticReroute, Type targetType, String targetOwner, String targetName, 9 | List arguments, RerouteReturn rerouteReturn, boolean isInBukkit, 10 | @Nullable RequirePluginVersionData requiredPluginVersion) { 11 | } 12 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/legacy/reroute/old.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CardboardPowered/cardboard/6a4e687275de3232dca7dbb344fbd0354ab5fb27/src/main/java/org/bukkit/craftbukkit/legacy/reroute/old.zip -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/persistence/CraftPersistentDataAdapterContext.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.persistence; 2 | 3 | import org.bukkit.persistence.PersistentDataAdapterContext; 4 | 5 | public final class CraftPersistentDataAdapterContext implements PersistentDataAdapterContext { 6 | 7 | private final CraftPersistentDataTypeRegistry registry; 8 | 9 | public CraftPersistentDataAdapterContext(CraftPersistentDataTypeRegistry registry) { 10 | this.registry = registry; 11 | } 12 | 13 | /** 14 | * Creates a new and empty tag container instance 15 | * 16 | * @return the fresh container instance 17 | */ 18 | @Override 19 | public CraftPersistentDataContainer newPersistentDataContainer() { 20 | return new CraftPersistentDataContainer(this.registry); 21 | } 22 | 23 | } -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/potion/CraftPotionEffectType.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.potion; 2 | 3 | import org.bukkit.NamespacedKey; 4 | import org.bukkit.craftbukkit.CraftRegistry; 5 | import org.bukkit.craftbukkit.util.Handleable; 6 | import org.bukkit.potion.PotionEffectType; 7 | import org.cardboardpowered.impl.CardboardPotionEffectType; 8 | import net.minecraft.entity.effect.StatusEffect; 9 | import net.minecraft.registry.RegistryKeys; 10 | 11 | public class CraftPotionEffectType extends CardboardPotionEffectType implements Handleable { 12 | 13 | public CraftPotionEffectType(NamespacedKey key, StatusEffect handle) { 14 | super(key, handle); 15 | } 16 | 17 | public static PotionEffectType minecraftToBukkit(StatusEffect minecraft) { 18 | return (PotionEffectType)CraftRegistry.minecraftToBukkit(minecraft, RegistryKeys.STATUS_EFFECT); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/potion/CraftPotionEffectTypeCategory.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.potion; 2 | 3 | import com.google.common.base.Preconditions; 4 | import net.minecraft.entity.effect.StatusEffectCategory; 5 | import org.bukkit.potion.PotionEffectTypeCategory; 6 | 7 | public final class CraftPotionEffectTypeCategory { 8 | 9 | public static PotionEffectTypeCategory minecraftToBukkit(StatusEffectCategory minecraft) { 10 | Preconditions.checkArgument((minecraft != null ? 1 : 0) != 0); 11 | return PotionEffectTypeCategory.valueOf(minecraft.name()); 12 | } 13 | 14 | public static StatusEffectCategory bukkitToMinecraft(PotionEffectTypeCategory bukkit) { 15 | Preconditions.checkArgument((bukkit != null ? 1 : 0) != 0); 16 | return StatusEffectCategory.valueOf(bukkit.name()); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/scoreboard/CardboardScoreboardComponent.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.scoreboard; 2 | 3 | public abstract class CardboardScoreboardComponent { 4 | 5 | private CardboardScoreboard scoreboard; 6 | 7 | public CardboardScoreboardComponent(CardboardScoreboard scoreboard) { 8 | this.scoreboard = scoreboard; 9 | } 10 | 11 | abstract CardboardScoreboard checkState() throws IllegalStateException; 12 | 13 | public CardboardScoreboard getScoreboard() { 14 | return scoreboard; 15 | } 16 | 17 | abstract void unregister() throws IllegalStateException; 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardTranslations.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.scoreboard; 2 | 3 | import net.minecraft.scoreboard.ScoreboardCriterion; 4 | import net.minecraft.scoreboard.ScoreboardDisplaySlot; 5 | import org.bukkit.scoreboard.DisplaySlot; 6 | import org.bukkit.scoreboard.RenderType; 7 | 8 | final class CardboardScoreboardTranslations { 9 | private CardboardScoreboardTranslations() {} 10 | 11 | static DisplaySlot toBukkitSlot(ScoreboardDisplaySlot slot) { 12 | return DisplaySlot.values()[slot.ordinal()]; 13 | } 14 | 15 | static ScoreboardDisplaySlot fromBukkitSlot(DisplaySlot slot) { 16 | return ScoreboardDisplaySlot.values()[slot.ordinal()]; 17 | } 18 | 19 | static RenderType toBukkitRender(ScoreboardCriterion.RenderType display) { 20 | return RenderType.valueOf(display.name()); 21 | } 22 | 23 | static ScoreboardCriterion.RenderType fromBukkitRender(RenderType render) { 24 | return ScoreboardCriterion.RenderType.valueOf(render.name()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/util/BlockStateListPopulator.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.util; 2 | 3 | public class BlockStateListPopulator extends DummyGeneratorAccess { 4 | 5 | } -------------------------------------------------------------------------------- /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 class CraftBiomeSearchResult implements BiomeSearchResult { 8 | 9 | private final Biome biome; 10 | private final Location location; 11 | 12 | public CraftBiomeSearchResult(Biome biome, Location location) { 13 | this.biome = biome; 14 | this.location = location; 15 | } 16 | 17 | public Biome getBiome() { 18 | return this.biome; 19 | } 20 | 21 | public Location getLocation() { 22 | return this.location; 23 | } 24 | 25 | } -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/util/CraftLegacy.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.util; 2 | 3 | import java.util.Arrays; 4 | import org.bukkit.Material; 5 | import org.bukkit.material.MaterialData; 6 | 7 | @Deprecated 8 | public final class CraftLegacy { 9 | 10 | private CraftLegacy() { 11 | } 12 | 13 | public static Material fromLegacy(Material material) { 14 | if (material == null || !material.isLegacy()) return material; 15 | return CraftLegacyMaterials.fromLegacy(material); 16 | } 17 | 18 | public static Material fromLegacy(MaterialData materialData) { 19 | return CraftLegacyMaterials.fromLegacy(materialData); 20 | } 21 | 22 | public static Material[] modern_values() { 23 | Material[] values = Material.values(); 24 | return Arrays.copyOfRange(values, 0, Material.LEGACY_AIR.ordinal()); 25 | } 26 | 27 | public static int modern_ordinal(Material material) { 28 | if (material.isLegacy()) throw new NoSuchFieldError("Legacy field ordinal: " + material); // SPIGOT-4002 29 | return material.ordinal(); 30 | } 31 | 32 | } -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/util/CraftNamespacedKey.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.util; 2 | 3 | import net.minecraft.util.Identifier; 4 | import org.bukkit.NamespacedKey; 5 | 6 | public final class CraftNamespacedKey { 7 | 8 | public CraftNamespacedKey() { 9 | } 10 | 11 | public static NamespacedKey fromStringOrNull(String string) { 12 | if (string == null || string.isEmpty()) return null; 13 | Identifier minecraft = Identifier.tryParse(string); 14 | return (minecraft == null) ? null : fromMinecraft(minecraft); 15 | } 16 | 17 | public static NamespacedKey fromString(String string) { 18 | return fromMinecraft(Identifier.of(string)); 19 | } 20 | 21 | public static NamespacedKey fromMinecraft(Identifier minecraft) { 22 | return new NamespacedKey(minecraft.getNamespace(), minecraft.getPath()); 23 | } 24 | 25 | public static Identifier toMinecraft(NamespacedKey key) { 26 | return Identifier.of(key.getNamespace(), key.getKey()); 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/util/Handleable.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.util; 2 | 3 | public interface Handleable { 4 | 5 | public M getHandle(); 6 | 7 | } -------------------------------------------------------------------------------- /src/main/java/org/bukkit/craftbukkit/util/Versioning.java: -------------------------------------------------------------------------------- 1 | package org.bukkit.craftbukkit.util; 2 | 3 | import org.bukkit.Bukkit; 4 | 5 | @Deprecated 6 | public final class Versioning { 7 | 8 | @Deprecated 9 | public static String getBukkitVersion() { 10 | return Bukkit.getVersion(); // Returns: git-BukkitFabric-GITHASH 11 | } 12 | 13 | } -------------------------------------------------------------------------------- /src/main/java/org/bukkit/inventory/recipe/CookingBookCategory.java: -------------------------------------------------------------------------------- 1 | // TODO: Update API to 1.19.4 2 | package org.bukkit.inventory.recipe; 3 | 4 | /** 5 | * Represents categories within the cooking recipe book. 6 | */ 7 | public enum CookingBookCategory { 8 | 9 | FOOD, 10 | BLOCKS, 11 | MISC; 12 | } -------------------------------------------------------------------------------- /src/main/java/org/bukkit/inventory/recipe/CraftingBookCategory.java: -------------------------------------------------------------------------------- 1 | // TODO: Update API to 1.19.4 2 | package org.bukkit.inventory.recipe; 3 | 4 | /** 5 | * Represents categories within the crafting recipe book. 6 | */ 7 | public enum CraftingBookCategory { 8 | 9 | BUILDING, 10 | REDSTONE, 11 | EQUIPMENT, 12 | MISC; 13 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/BlockImplUtil.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered; 2 | 3 | import net.minecraft.util.math.Direction; 4 | 5 | import org.bukkit.craftbukkit.block.data.IMagicNumbers; 6 | 7 | import org.bukkit.block.BlockFace; 8 | 9 | public class BlockImplUtil { 10 | 11 | public static BlockFace notchToBlockFace(Direction notch) { 12 | if (notch == null) return BlockFace.SELF; 13 | return BlockFace.valueOf(notch.name()); 14 | } 15 | 16 | public static Direction blockFaceToNotch(BlockFace face) { 17 | return Direction.valueOf(face.name()); 18 | } 19 | 20 | public static IMagicNumbers MN = null; 21 | public static void setMN(IMagicNumbers mn) { 22 | MN = mn; 23 | } 24 | 25 | 26 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/adventure/AdventureCodecs.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.adventure; 2 | 3 | public final class AdventureCodecs { 4 | // public static final Codec COMPONENT_CODEC = Codec.recursive((String)"adventure Component", AdventureCodecs::createCodec); 5 | 6 | 7 | } 8 | 9 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/adventure/CardboardAdventure.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.adventure; 2 | 3 | import io.papermc.paper.adventure.PaperAdventure; 4 | 5 | @Deprecated(forRemoval = true) 6 | public class CardboardAdventure extends PaperAdventure { 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/api/event/CardboardEntityMountEvent.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.api.event; 2 | 3 | import net.fabricmc.fabric.api.event.Event; 4 | import net.fabricmc.fabric.api.event.EventFactory; 5 | import net.minecraft.entity.Entity; 6 | import net.minecraft.util.ActionResult; 7 | 8 | public interface CardboardEntityMountEvent { 9 | 10 | Event EVENT = EventFactory.createArrayBacked(CardboardEntityMountEvent.class, 11 | (listeners) -> (vehicle, entity) -> { 12 | for (CardboardEntityMountEvent listener : listeners) { 13 | ActionResult result = listener.interact(vehicle, entity); 14 | 15 | if(result != ActionResult.PASS) { 16 | return result; 17 | } 18 | } 19 | 20 | return ActionResult.PASS; 21 | }); 22 | 23 | ActionResult interact(Entity vehicle, Entity entity); 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/api/event/CardboardFireworkExplodeEvent.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.api.event; 2 | 3 | import net.fabricmc.fabric.api.event.Event; 4 | import net.fabricmc.fabric.api.event.EventFactory; 5 | import net.minecraft.entity.projectile.FireworkRocketEntity; 6 | import net.minecraft.util.ActionResult; 7 | 8 | public interface CardboardFireworkExplodeEvent { 9 | 10 | Event EVENT = EventFactory.createArrayBacked(CardboardFireworkExplodeEvent.class, 11 | (listeners) -> (firework) -> { 12 | for (CardboardFireworkExplodeEvent listener : listeners) { 13 | ActionResult result = listener.interact(firework); 14 | 15 | if(result != ActionResult.PASS) { 16 | return result; 17 | } 18 | } 19 | 20 | return ActionResult.PASS; 21 | }); 22 | 23 | ActionResult interact(FireworkRocketEntity firework); 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/fabric/FabricHookBukkitEvent.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.fabric; 2 | 3 | import net.fabricmc.fabric.api.event.Event; 4 | import net.fabricmc.fabric.api.event.EventFactory; 5 | 6 | /** 7 | * @author wdog5 8 | * Made mod can hook Bukkit Event 9 | */ 10 | public interface FabricHookBukkitEvent { 11 | 12 | Event EVENT = EventFactory.createArrayBacked(FabricHookBukkitEvent.class, 13 | (listeners) -> (bukkitEvent) -> { 14 | for (FabricHookBukkitEvent listener : listeners) { 15 | listener.hook(bukkitEvent); 16 | } 17 | }); 18 | 19 | void hook(org.bukkit.event.Event bukkitEvent); 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/CardboardAttributeInstance.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl; 2 | 3 | import net.minecraft.entity.attribute.EntityAttributeInstance; 4 | import org.bukkit.attribute.Attribute; 5 | import org.bukkit.craftbukkit.attribute.CraftAttributeInstance; 6 | 7 | @Deprecated(forRemoval = true) 8 | public class CardboardAttributeInstance extends CraftAttributeInstance { 9 | 10 | public CardboardAttributeInstance(EntityAttributeInstance handle, Attribute attribute) { 11 | super(handle, attribute); 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/CardboardModdedBlock.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl; 2 | 3 | import net.minecraft.block.Block; 4 | 5 | public class CardboardModdedBlock implements CardboardModdedMaterial { 6 | 7 | private Block block; 8 | private String id; 9 | 10 | public CardboardModdedBlock(String id) { 11 | this.id = id; 12 | this.block = net.minecraft.registry.Registries.BLOCK.get(net.minecraft.util.Identifier.of(id)); 13 | } 14 | 15 | public CardboardModdedBlock(Block block) { 16 | this.block = block; 17 | } 18 | 19 | @Override 20 | public short getDamage() { 21 | return 0; 22 | } 23 | 24 | @Override 25 | public boolean isBlock() { 26 | return true; 27 | } 28 | 29 | @Override 30 | public boolean isItem() { 31 | return false; 32 | } 33 | 34 | @Override 35 | public boolean isEdible() { 36 | return false; 37 | } 38 | 39 | @Override 40 | public String getId() { 41 | return id; 42 | } 43 | 44 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/CardboardModdedMaterial.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl; 2 | 3 | public interface CardboardModdedMaterial { 4 | 5 | boolean isBlock(); 6 | 7 | boolean isItem(); 8 | 9 | boolean isEdible(); 10 | 11 | short getDamage(); 12 | 13 | String getId(); 14 | 15 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/CardboardModdedMaterialData.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl; 2 | 3 | import org.bukkit.Material; 4 | import org.bukkit.material.MaterialData; 5 | 6 | @SuppressWarnings("deprecation") 7 | public class CardboardModdedMaterialData extends MaterialData { 8 | 9 | public CardboardModdedMaterialData(Material type) { 10 | super(type); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/CraftAdvancementRequirement.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl; 2 | 3 | import java.util.Collections; 4 | import java.util.List; 5 | import org.bukkit.advancement.AdvancementRequirement; 6 | import org.jetbrains.annotations.NotNull; 7 | 8 | public class CraftAdvancementRequirement implements AdvancementRequirement { 9 | 10 | private final List requirements; 11 | 12 | public CraftAdvancementRequirement(List list) { 13 | this.requirements = list; 14 | } 15 | 16 | @NotNull 17 | @Override 18 | public List getRequiredCriteria() { 19 | return Collections.unmodifiableList(this.requirements); 20 | } 21 | 22 | @Override 23 | public boolean isStrict() { 24 | return this.requirements.size() == 1; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/CraftAdvancementRequirements.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl; 2 | 3 | import java.util.List; 4 | import net.minecraft.advancement.AdvancementRequirements; 5 | import org.bukkit.advancement.AdvancementRequirement; 6 | import org.jetbrains.annotations.NotNull; 7 | 8 | public class CraftAdvancementRequirements implements org.bukkit.advancement.AdvancementRequirements { 9 | 10 | private final AdvancementRequirements requirements; 11 | 12 | public CraftAdvancementRequirements(AdvancementRequirements requirements) { 13 | this.requirements = requirements; 14 | } 15 | 16 | @NotNull 17 | @Override 18 | public List getRequirements() { 19 | return this.requirements.requirements().stream().map((requirement) -> (AdvancementRequirement) new CraftAdvancementRequirement(requirement)).toList(); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/MaterialHelper.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl; 2 | 3 | import org.bukkit.Material; 4 | 5 | @Deprecated(forRemoval = true) 6 | public class MaterialHelper { 7 | 8 | public static boolean isBlock(Material mat) { 9 | return false; 10 | } 11 | 12 | public static boolean isEdible(Material mat) { 13 | return false; 14 | } 15 | 16 | public static float getHardness(Material material) { 17 | return 0; 18 | } 19 | 20 | public static float getBlastResistance(Material material) { 21 | return 0; 22 | } 23 | 24 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/block/CardboardBlastFurnace.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.block; 2 | 3 | import net.minecraft.block.entity.BlastFurnaceBlockEntity; 4 | 5 | import org.bukkit.Location; 6 | import org.bukkit.Material; 7 | import org.bukkit.World; 8 | import org.bukkit.block.BlastFurnace; 9 | import org.bukkit.block.Block; 10 | 11 | public class CardboardBlastFurnace extends CardboardFurnace implements BlastFurnace { 12 | 13 | public CardboardBlastFurnace(World world, BlastFurnaceBlockEntity tileEntity) { 14 | super(world, tileEntity); 15 | } 16 | 17 | protected CardboardBlastFurnace(CardboardBlastFurnace state, Location location) { 18 | super(state, location); 19 | } 20 | 21 | @Override 22 | public CardboardBlastFurnace copy() { 23 | return new CardboardBlastFurnace(this, null); 24 | } 25 | 26 | @Override 27 | public CardboardBlastFurnace copy(Location location) { 28 | return new CardboardBlastFurnace(this, location); 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/block/CardboardDaylightDetector.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.block; 2 | 3 | import net.minecraft.block.entity.DaylightDetectorBlockEntity; 4 | 5 | import org.bukkit.Location; 6 | import org.bukkit.Material; 7 | import org.bukkit.World; 8 | import org.bukkit.block.Block; 9 | import org.bukkit.block.DaylightDetector; 10 | 11 | public class CardboardDaylightDetector extends CardboardBlockEntityState implements DaylightDetector { 12 | 13 | public CardboardDaylightDetector(World world, DaylightDetectorBlockEntity tileEntity) { 14 | super(world, tileEntity); 15 | } 16 | 17 | protected CardboardDaylightDetector(CardboardDaylightDetector state, Location location) { 18 | super(state, location); 19 | } 20 | 21 | @Override 22 | public CardboardDaylightDetector copy() { 23 | return new CardboardDaylightDetector(this, null); 24 | } 25 | 26 | @Override 27 | public CardboardDaylightDetector copy(Location location) { 28 | return new CardboardDaylightDetector(this, location); 29 | } 30 | 31 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/block/CardboardFurnaceFurnace.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.block; 2 | 3 | import net.minecraft.block.entity.FurnaceBlockEntity; 4 | 5 | import org.bukkit.Location; 6 | import org.bukkit.Material; 7 | import org.bukkit.World; 8 | import org.bukkit.block.Block; 9 | 10 | public class CardboardFurnaceFurnace extends CardboardFurnace { 11 | 12 | public CardboardFurnaceFurnace(World world, FurnaceBlockEntity tileEntity) { 13 | super(world, tileEntity); 14 | } 15 | 16 | protected CardboardFurnaceFurnace(CardboardFurnaceFurnace state, Location location) { 17 | super(state, location); 18 | } 19 | 20 | @Override 21 | public CardboardFurnaceFurnace copy() { 22 | return new CardboardFurnaceFurnace(this, null); 23 | } 24 | 25 | @Override 26 | public CardboardFurnaceFurnace copy(Location location) { 27 | return new CardboardFurnaceFurnace(this, location); 28 | } 29 | 30 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/block/CardboardJigsaw.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.block; 2 | 3 | import net.minecraft.block.entity.JigsawBlockEntity; 4 | 5 | import org.bukkit.Location; 6 | import org.bukkit.Material; 7 | import org.bukkit.World; 8 | import org.bukkit.block.Block; 9 | import org.bukkit.block.Jigsaw; 10 | 11 | public class CardboardJigsaw extends CardboardBlockEntityState implements Jigsaw { 12 | 13 | public CardboardJigsaw(World world, JigsawBlockEntity tileEntity) { 14 | super(world, tileEntity); 15 | } 16 | 17 | protected CardboardJigsaw(CardboardJigsaw state, Location location) { 18 | super(state, location); 19 | } 20 | 21 | @Override 22 | public CardboardJigsaw copy() { 23 | return new CardboardJigsaw(this, null); 24 | } 25 | 26 | @Override 27 | public CardboardJigsaw copy(Location location) { 28 | return new CardboardJigsaw(this, location); 29 | } 30 | 31 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/block/CardboardSmoker.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.block; 2 | 3 | import net.minecraft.block.entity.SmokerBlockEntity; 4 | 5 | import org.bukkit.Location; 6 | import org.bukkit.Material; 7 | import org.bukkit.World; 8 | import org.bukkit.block.Block; 9 | import org.bukkit.block.Smoker; 10 | 11 | public class CardboardSmoker extends CardboardFurnace implements Smoker { 12 | 13 | public CardboardSmoker(World world, SmokerBlockEntity tileEntity) { 14 | super(world, tileEntity); 15 | } 16 | 17 | protected CardboardSmoker(CardboardSmoker state, Location location) { 18 | super(state, location); 19 | } 20 | 21 | @Override 22 | public CardboardSmoker copy() { 23 | return new CardboardSmoker(this, null); 24 | } 25 | 26 | @Override 27 | public CardboardSmoker copy(Location location) { 28 | return new CardboardSmoker(this, location); 29 | } 30 | 31 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/block/CraftCalibratedSculkSensor.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.block; 2 | 3 | 4 | import net.minecraft.block.entity.CalibratedSculkSensorBlockEntity; 5 | import org.bukkit.Location; 6 | import org.bukkit.World; 7 | 8 | public class CraftCalibratedSculkSensor 9 | extends CraftSculkSensor 10 | // implements CalibratedSculkSensor 11 | { 12 | 13 | public CraftCalibratedSculkSensor(World world, CalibratedSculkSensorBlockEntity tileEntity) { 14 | super(world, tileEntity); 15 | } 16 | 17 | protected CraftCalibratedSculkSensor(CraftCalibratedSculkSensor state, Location location) { 18 | super(state, location); 19 | } 20 | 21 | @Override 22 | public CraftCalibratedSculkSensor copy() { 23 | return new CraftCalibratedSculkSensor(this, null); 24 | } 25 | 26 | @Override 27 | public CraftCalibratedSculkSensor copy(Location location) { 28 | return new CraftCalibratedSculkSensor(this, location); 29 | } 30 | 31 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/block/CraftEndPortal.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.block; 2 | 3 | import net.minecraft.block.entity.EndPortalBlockEntity; 4 | import org.bukkit.Location; 5 | import org.bukkit.World; 6 | 7 | public class CraftEndPortal extends CardboardBlockEntityState { 8 | 9 | public CraftEndPortal(World world, EndPortalBlockEntity tileEntity) { 10 | super(world, tileEntity); 11 | } 12 | 13 | protected CraftEndPortal(CraftEndPortal state, Location location) { 14 | super(state, location); 15 | } 16 | 17 | @Override 18 | public CraftEndPortal copy() { 19 | return new CraftEndPortal(this, null); 20 | } 21 | 22 | @Override 23 | public CraftEndPortal copy(Location location) { 24 | return new CraftEndPortal(this, location); 25 | } 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/block/CraftHangingSign.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.block; 2 | 3 | import net.minecraft.block.entity.HangingSignBlockEntity; 4 | import org.bukkit.Location; 5 | import org.bukkit.World; 6 | import org.bukkit.block.HangingSign; 7 | 8 | public class CraftHangingSign extends CardboardSign implements HangingSign { 9 | 10 | public CraftHangingSign(World world, HangingSignBlockEntity tileEntity) { 11 | super(world, tileEntity); 12 | } 13 | 14 | protected CraftHangingSign(CraftHangingSign state, Location location) { 15 | super(state, location); 16 | } 17 | 18 | @Override 19 | public CraftHangingSign copy() { 20 | return new CraftHangingSign(this, null); 21 | } 22 | 23 | @Override 24 | public CraftHangingSign copy(Location location) { 25 | return new CraftHangingSign(this, location); 26 | } 27 | 28 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/block/CraftTrialSpawner.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.block; 2 | 3 | import net.minecraft.block.entity.TrialSpawnerBlockEntity; 4 | import org.bukkit.Location; 5 | import org.bukkit.World; 6 | // TODO import org.bukkit.block.TrialSpawner; 7 | 8 | public class CraftTrialSpawner 9 | extends CardboardBlockEntityState 10 | // implements TrialSpawner 11 | { 12 | 13 | public CraftTrialSpawner(World world, TrialSpawnerBlockEntity tileEntity) { 14 | super(world, tileEntity); 15 | } 16 | 17 | protected CraftTrialSpawner(CraftTrialSpawner state, Location location) { 18 | super(state, location); 19 | } 20 | 21 | @Override 22 | public CraftTrialSpawner copy() { 23 | return new CraftTrialSpawner(this, null); 24 | } 25 | 26 | @Override 27 | public CraftTrialSpawner copy(Location location) { 28 | return new CraftTrialSpawner(this, location); 29 | } 30 | 31 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/block/CraftVault.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.block; 2 | 3 | import net.minecraft.block.entity.VaultBlockEntity; 4 | import org.bukkit.Location; 5 | import org.bukkit.World; 6 | // import org.bukkit.block.Vault; 7 | 8 | // TODO: Update Paper API 9 | public class CraftVault extends CardboardBlockEntityState 10 | // implements Vault 11 | { 12 | 13 | public CraftVault(World world, VaultBlockEntity tileEntity) { 14 | super(world, tileEntity); 15 | } 16 | 17 | protected CraftVault(CraftVault state, Location location) { 18 | super(state, location); 19 | } 20 | 21 | @Override 22 | public CraftVault copy() { 23 | return new CraftVault(this, null); 24 | } 25 | 26 | @Override 27 | public CraftVault copy(Location location) { 28 | return new CraftVault(this, location); 29 | } 30 | 31 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/block/DispenserBlockHelper.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.block; 2 | 3 | public class DispenserBlockHelper { 4 | 5 | public static boolean eventFired = false; 6 | 7 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/entity/CardboardAmbient.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.entity; 2 | 3 | import net.minecraft.entity.mob.AmbientEntity; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.entity.Ambient; 6 | import org.bukkit.entity.EntityType; 7 | 8 | public class CardboardAmbient extends CraftMob implements Ambient { 9 | 10 | public CardboardAmbient(CraftServer server, AmbientEntity entity) { 11 | super(server, entity); 12 | } 13 | 14 | @Override 15 | public AmbientEntity getHandle() { 16 | return (AmbientEntity) nms; 17 | } 18 | 19 | @Override 20 | public String toString() { 21 | return "Ambient"; 22 | } 23 | 24 | @Override 25 | public EntityType getType() { 26 | return EntityType.UNKNOWN; 27 | } 28 | 29 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/entity/CardboardBlaze.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.entity; 2 | 3 | import net.minecraft.entity.mob.BlazeEntity; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.entity.Blaze; 6 | import org.bukkit.entity.EntityType; 7 | 8 | public class CardboardBlaze extends CraftMonster implements Blaze { 9 | 10 | public CardboardBlaze(CraftServer server, BlazeEntity entity) { 11 | super(server, entity); 12 | } 13 | 14 | @Override 15 | public BlazeEntity getHandle() { 16 | return (BlazeEntity) nms; 17 | } 18 | 19 | @Override 20 | public String toString() { 21 | return "Blaze"; 22 | } 23 | 24 | @Override 25 | public EntityType getType() { 26 | return EntityType.BLAZE; 27 | } 28 | 29 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/entity/CardboardCaveSpider.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.entity; 2 | 3 | import net.minecraft.entity.mob.CaveSpiderEntity; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.craftbukkit.entity.CraftSpider; 6 | import org.bukkit.entity.CaveSpider; 7 | import org.bukkit.entity.EntityType; 8 | 9 | public class CardboardCaveSpider extends CraftSpider implements CaveSpider { 10 | 11 | public CardboardCaveSpider(CraftServer server, CaveSpiderEntity entity) { 12 | super(server, entity); 13 | } 14 | 15 | @Override 16 | public CaveSpiderEntity getHandle() { 17 | return (CaveSpiderEntity) nms; 18 | } 19 | 20 | @Override 21 | public String toString() { 22 | return "Cavespider"; 23 | } 24 | 25 | @Override 26 | public EntityType getType() { 27 | return EntityType.CAVE_SPIDER; 28 | } 29 | 30 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/entity/CardboardComplexEntity.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.entity; 2 | 3 | import net.minecraft.entity.LivingEntity; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.entity.ComplexLivingEntity; 6 | 7 | public abstract class CardboardComplexEntity extends LivingEntityImpl implements ComplexLivingEntity { 8 | 9 | public CardboardComplexEntity(CraftServer server, LivingEntity entity) { 10 | super(server, entity); 11 | } 12 | 13 | @Override 14 | public LivingEntity getHandle() { 15 | return (LivingEntity) nms; 16 | } 17 | 18 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/entity/CardboardDonkey.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.entity; 2 | 3 | import net.minecraft.entity.passive.DonkeyEntity; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.entity.Donkey; 6 | import org.bukkit.entity.EntityType; 7 | import org.bukkit.entity.Horse; 8 | 9 | public class CardboardDonkey extends CardboardChestedHorse implements Donkey { 10 | 11 | public CardboardDonkey(CraftServer server, DonkeyEntity entity) { 12 | super(server, entity); 13 | } 14 | 15 | @Override 16 | public String toString() { 17 | return "Donkey"; 18 | } 19 | 20 | @Override 21 | public EntityType getType() { 22 | return EntityType.DONKEY; 23 | } 24 | 25 | @Override 26 | public Horse.Variant getVariant() { 27 | return Horse.Variant.DONKEY; 28 | } 29 | 30 | @Override 31 | public boolean isEatingHaystack() { 32 | // TODO Auto-generated method stub 33 | return false; 34 | } 35 | 36 | @Override 37 | public void setEatingHaystack(boolean arg0) { 38 | // TODO Auto-generated method stub 39 | 40 | } 41 | 42 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/entity/CardboardFlying.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.entity; 2 | 3 | import net.minecraft.entity.mob.FlyingEntity; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.entity.Flying; 6 | 7 | public class CardboardFlying extends CraftMob implements Flying { 8 | 9 | public CardboardFlying(CraftServer server, FlyingEntity entity) { 10 | super(server, entity); 11 | } 12 | 13 | @Override 14 | public FlyingEntity getHandle() { 15 | return (FlyingEntity) nms; 16 | } 17 | 18 | @Override 19 | public String toString() { 20 | return "FlyingEntity"; 21 | } 22 | 23 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/entity/CardboardFlyingEntity.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.entity; 2 | 3 | import net.minecraft.entity.mob.FlyingEntity; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.entity.Flying; 6 | 7 | public class CardboardFlyingEntity extends CraftMob implements Flying { 8 | 9 | public CardboardFlyingEntity(CraftServer server, FlyingEntity entity) { 10 | super(server, entity); 11 | } 12 | 13 | @Override 14 | public FlyingEntity getHandle() { 15 | return (FlyingEntity) nms; 16 | } 17 | 18 | @Override 19 | public String toString() { 20 | return "FlyingEntity"; 21 | } 22 | 23 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/entity/CardboardGiant.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.entity; 2 | 3 | import net.minecraft.entity.mob.GiantEntity; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.entity.EntityType; 6 | import org.bukkit.entity.Giant; 7 | 8 | public class CardboardGiant extends CraftMonster implements Giant { 9 | 10 | public CardboardGiant(CraftServer server, GiantEntity entity) { 11 | super(server, entity); 12 | } 13 | 14 | @Override 15 | public GiantEntity getHandle() { 16 | return (GiantEntity) nms; 17 | } 18 | 19 | @Override 20 | public String toString() { 21 | return "Giant"; 22 | } 23 | 24 | @Override 25 | public EntityType getType() { 26 | return EntityType.GIANT; 27 | } 28 | 29 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/entity/CardboardGolem.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.entity; 2 | 3 | import net.minecraft.entity.passive.GolemEntity; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.entity.Golem; 6 | 7 | public class CardboardGolem extends CraftCreature implements Golem { 8 | 9 | public CardboardGolem(CraftServer server, GolemEntity entity) { 10 | super(server, entity); 11 | } 12 | 13 | @Override 14 | public GolemEntity getHandle() { 15 | return (GolemEntity) nms; 16 | } 17 | 18 | @Override 19 | public String toString() { 20 | return "Golem"; 21 | } 22 | 23 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/entity/CardboardGuardianElder.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.entity; 2 | 3 | import net.minecraft.entity.mob.ElderGuardianEntity; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.entity.ElderGuardian; 6 | import org.bukkit.entity.EntityType; 7 | 8 | public class CardboardGuardianElder extends CardboardGuardian implements ElderGuardian { 9 | 10 | public CardboardGuardianElder(CraftServer server, ElderGuardianEntity entity) { 11 | super(server, entity); 12 | } 13 | 14 | @Override 15 | public String toString() { 16 | return "ElderGuardian"; 17 | } 18 | 19 | @Override 20 | public EntityType getType() { 21 | return EntityType.ELDER_GUARDIAN; 22 | } 23 | 24 | @Override 25 | public boolean isElder() { 26 | return true; 27 | } 28 | 29 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/entity/CardboardHusk.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.entity; 2 | 3 | import net.minecraft.entity.mob.HuskEntity; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.craftbukkit.entity.CraftZombie; 6 | import org.bukkit.entity.EntityType; 7 | import org.bukkit.entity.Husk; 8 | 9 | public class CardboardHusk extends CraftZombie implements Husk { 10 | 11 | public CardboardHusk(CraftServer server, HuskEntity entity) { 12 | super(server, entity); 13 | } 14 | 15 | @Override 16 | public String toString() { 17 | return "CraftHusk"; 18 | } 19 | 20 | @Override 21 | public EntityType getType() { 22 | return EntityType.HUSK; 23 | } 24 | 25 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/entity/CardboardMagmaCube.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.entity; 2 | 3 | import net.minecraft.entity.mob.MagmaCubeEntity; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.entity.EntityType; 6 | import org.bukkit.entity.MagmaCube; 7 | 8 | public class CardboardMagmaCube extends CraftSlime implements MagmaCube { 9 | 10 | public CardboardMagmaCube(CraftServer server, MagmaCubeEntity entity) { 11 | super(server, entity); 12 | } 13 | 14 | @Override 15 | public MagmaCubeEntity getHandle() { 16 | return (MagmaCubeEntity) nms; 17 | } 18 | 19 | @Override 20 | public String toString() { 21 | return "MagmaCubeImpl"; 22 | } 23 | 24 | @Override 25 | public EntityType getType() { 26 | return EntityType.MAGMA_CUBE; 27 | } 28 | 29 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/entity/CardboardMinecartRideable.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.entity; 2 | 3 | import org.bukkit.craftbukkit.CraftServer; 4 | import org.bukkit.entity.EntityType; 5 | import org.bukkit.entity.minecart.RideableMinecart; 6 | 7 | import net.minecraft.entity.vehicle.AbstractMinecartEntity; 8 | 9 | public class CardboardMinecartRideable extends CardboardMinecart implements RideableMinecart { 10 | 11 | public CardboardMinecartRideable(CraftServer server, AbstractMinecartEntity entity) { 12 | super(server, entity); 13 | } 14 | 15 | @Override 16 | public String toString() { 17 | return "MinecartRideable"; 18 | } 19 | 20 | @Override 21 | public EntityType getType() { 22 | return EntityType.MINECART; 23 | } 24 | 25 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/entity/CardboardMule.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.entity; 2 | 3 | import net.minecraft.entity.passive.MuleEntity; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.entity.EntityType; 6 | import org.bukkit.entity.Horse; 7 | import org.bukkit.entity.Mule; 8 | 9 | public class CardboardMule extends CardboardChestedHorse implements Mule { 10 | 11 | public CardboardMule(CraftServer server, MuleEntity entity) { 12 | super(server, entity); 13 | } 14 | 15 | @Override 16 | public String toString() { 17 | return "Mule"; 18 | } 19 | 20 | @Override 21 | public EntityType getType() { 22 | return EntityType.MULE; 23 | } 24 | 25 | @Override 26 | public Horse.Variant getVariant() { 27 | return Horse.Variant.MULE; 28 | } 29 | 30 | @Override 31 | public boolean isEatingHaystack() { 32 | // TODO Auto-generated method stub 33 | return false; 34 | } 35 | 36 | @Override 37 | public void setEatingHaystack(boolean arg0) { 38 | // TODO Auto-generated method stub 39 | 40 | } 41 | 42 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/entity/CardboardSilverfish.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.entity; 2 | 3 | import net.minecraft.entity.mob.SilverfishEntity; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.entity.EntityType; 6 | import org.bukkit.entity.Silverfish; 7 | 8 | public class CardboardSilverfish extends CraftMonster implements Silverfish { 9 | 10 | public CardboardSilverfish(CraftServer server, SilverfishEntity entity) { 11 | super(server, entity); 12 | } 13 | 14 | @Override 15 | public SilverfishEntity getHandle() { 16 | return (SilverfishEntity) nms; 17 | } 18 | 19 | @Override 20 | public String toString() { 21 | return "CardboardSilverfish"; 22 | } 23 | 24 | @Override 25 | public EntityType getType() { 26 | return EntityType.SILVERFISH; 27 | } 28 | 29 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/entity/CardboardSquid.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.entity; 2 | 3 | import org.bukkit.craftbukkit.CraftServer; 4 | import org.bukkit.entity.Squid; 5 | 6 | public class CardboardSquid extends CraftAgeable implements Squid { 7 | 8 | public CardboardSquid(CraftServer server, net.minecraft.entity.passive.SquidEntity entity) { 9 | super(server, entity); 10 | } 11 | 12 | @Override 13 | public net.minecraft.entity.passive.SquidEntity getHandle() { 14 | return (net.minecraft.entity.passive.SquidEntity) this.nms; 15 | } 16 | 17 | @Override 18 | public String toString() { 19 | return "CraftSquid"; 20 | } 21 | 22 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/entity/CardboardWaterMob.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.entity; 2 | 3 | import net.minecraft.entity.mob.WaterCreatureEntity; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.entity.WaterMob; 6 | 7 | public class CardboardWaterMob extends CraftCreature implements WaterMob { 8 | 9 | public CardboardWaterMob(CraftServer server, WaterCreatureEntity entity) { 10 | super(server, entity); 11 | } 12 | 13 | @Override 14 | public WaterCreatureEntity getHandle() { 15 | return (WaterCreatureEntity) nms; 16 | } 17 | 18 | @Override 19 | public String toString() { 20 | return "WaterMob"; 21 | } 22 | 23 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/entity/CraftMonster.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.entity; 2 | 3 | import org.bukkit.craftbukkit.CraftServer; 4 | import org.bukkit.entity.Monster; 5 | 6 | import net.minecraft.entity.mob.HostileEntity; 7 | 8 | public class CraftMonster extends CraftCreature implements Monster { 9 | 10 | public CraftMonster(CraftServer server, HostileEntity entity) { 11 | super(server, entity); 12 | } 13 | 14 | @Override 15 | public HostileEntity getHandle() { 16 | return (HostileEntity) nms; 17 | } 18 | 19 | @Override 20 | public String toString() { 21 | return "CraftMonster"; 22 | } 23 | 24 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/entity/CraftVehicle.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.entity; 2 | 3 | import org.bukkit.craftbukkit.CraftServer; 4 | import org.bukkit.craftbukkit.entity.CraftEntity; 5 | import org.bukkit.entity.Vehicle; 6 | 7 | public abstract class CraftVehicle extends CraftEntity implements Vehicle { 8 | 9 | public CraftVehicle(CraftServer server, net.minecraft.entity.Entity entity) { 10 | super(entity); 11 | } 12 | 13 | @Override 14 | public String toString() { 15 | return "CraftVehicle{passenger=" + getPassenger() + '}'; 16 | } 17 | 18 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/entity/StrayImpl.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.entity; 2 | 3 | import net.minecraft.entity.mob.StrayEntity; 4 | import org.bukkit.craftbukkit.CraftServer; 5 | import org.bukkit.craftbukkit.entity.CraftSkeleton; 6 | import org.bukkit.entity.EntityType; 7 | import org.bukkit.entity.Stray; 8 | 9 | public class StrayImpl extends CraftSkeleton implements Stray { 10 | 11 | public StrayImpl(CraftServer server, StrayEntity entity) { 12 | super(server, entity); 13 | } 14 | 15 | @Override 16 | public String toString() { 17 | return "Stray"; 18 | } 19 | 20 | @Override 21 | public EntityType getType() { 22 | return EntityType.STRAY; 23 | } 24 | 25 | @SuppressWarnings("deprecation") 26 | @Override 27 | public SkeletonType getSkeletonType() { 28 | return SkeletonType.STRAY; 29 | } 30 | 31 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/entity/WitherSkeletonImpl.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.entity; 2 | 3 | import org.bukkit.craftbukkit.CraftServer; 4 | import org.bukkit.craftbukkit.entity.CraftSkeleton; 5 | import org.bukkit.entity.EntityType; 6 | import org.bukkit.entity.WitherSkeleton; 7 | import net.minecraft.entity.mob.WitherSkeletonEntity; 8 | 9 | public class WitherSkeletonImpl extends CraftSkeleton implements WitherSkeleton { 10 | 11 | public WitherSkeletonImpl(CraftServer server, WitherSkeletonEntity entity) { 12 | super(server, entity); 13 | } 14 | 15 | @Override 16 | public String toString() { 17 | return "WitherSkeletonImpl"; 18 | } 19 | 20 | @Override 21 | public EntityType getType() { 22 | return EntityType.WITHER_SKELETON; 23 | } 24 | 25 | @SuppressWarnings("deprecation") 26 | @Override 27 | public SkeletonType getSkeletonType() { 28 | return SkeletonType.WITHER; 29 | } 30 | 31 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/inventory/CardboardBeaconInventory.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.inventory; 2 | 3 | import net.minecraft.inventory.Inventory; 4 | 5 | import org.bukkit.craftbukkit.inventory.CraftInventory; 6 | import org.bukkit.inventory.BeaconInventory; 7 | import org.bukkit.inventory.ItemStack; 8 | 9 | public class CardboardBeaconInventory extends CraftInventory implements BeaconInventory { 10 | 11 | public CardboardBeaconInventory(Inventory beacon) { 12 | super(beacon); 13 | } 14 | 15 | @Override 16 | public void setItem(ItemStack item) { 17 | setItem(0, item); 18 | } 19 | 20 | @Override 21 | public ItemStack getItem() { 22 | return getItem(0); 23 | } 24 | 25 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/inventory/CardboardEnchantingInventory.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.inventory; 2 | 3 | import net.minecraft.inventory.Inventory; 4 | 5 | import org.bukkit.craftbukkit.inventory.CraftInventory; 6 | import org.bukkit.inventory.EnchantingInventory; 7 | import org.bukkit.inventory.ItemStack; 8 | 9 | public class CardboardEnchantingInventory extends CraftInventory implements EnchantingInventory { 10 | 11 | public CardboardEnchantingInventory(Inventory inventory) { 12 | super(inventory); 13 | } 14 | 15 | @Override 16 | public void setItem(ItemStack item) { 17 | setItem(0, item); 18 | } 19 | 20 | @Override 21 | public ItemStack getItem() { 22 | return getItem(0); 23 | } 24 | 25 | @Override 26 | public void setSecondary(ItemStack item) { 27 | setItem(1, item); 28 | } 29 | 30 | @Override 31 | public ItemStack getSecondary() { 32 | return getItem(1); 33 | } 34 | 35 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/inventory/CardboardGrindstoneInventory.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.inventory; 2 | 3 | import net.minecraft.inventory.Inventory; 4 | 5 | import org.bukkit.craftbukkit.inventory.CraftResultInventory; 6 | import org.bukkit.inventory.GrindstoneInventory; 7 | 8 | public class CardboardGrindstoneInventory extends CraftResultInventory implements GrindstoneInventory { 9 | 10 | public CardboardGrindstoneInventory(Inventory inventory, Inventory resultInventory) { 11 | super(inventory, resultInventory); 12 | } 13 | 14 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/inventory/CardboardInventoryAbstractHorse.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.inventory; 2 | 3 | import org.bukkit.craftbukkit.inventory.CraftInventory; 4 | import org.bukkit.inventory.AbstractHorseInventory; 5 | import org.bukkit.inventory.ItemStack; 6 | import net.minecraft.inventory.Inventory; 7 | 8 | public class CardboardInventoryAbstractHorse extends CraftInventory implements AbstractHorseInventory { 9 | 10 | public CardboardInventoryAbstractHorse(Inventory inventory) { 11 | super(inventory); 12 | } 13 | 14 | @Override 15 | public ItemStack getSaddle() { 16 | return this.getItem(0); 17 | } 18 | 19 | @Override 20 | public void setSaddle(ItemStack stack) { 21 | this.setItem(0, stack); 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/inventory/CardboardInventoryHorse.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.inventory; 2 | 3 | import org.bukkit.inventory.HorseInventory; 4 | import org.bukkit.inventory.ItemStack; 5 | import net.minecraft.inventory.Inventory; 6 | 7 | public class CardboardInventoryHorse extends CardboardInventoryAbstractHorse implements HorseInventory { 8 | 9 | public CardboardInventoryHorse(Inventory inventory) { 10 | super(inventory); 11 | } 12 | 13 | @Override 14 | public ItemStack getArmor() { 15 | // TODO Auto-generated method stub 16 | return null; 17 | } 18 | 19 | @Override 20 | public void setArmor(ItemStack arg0) { 21 | // TODO Auto-generated method stub 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/inventory/CardboardItemMeta.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.inventory; 2 | 3 | public class CardboardItemMeta { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/inventory/CardboardLecternInventory.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.inventory; 2 | 3 | import net.minecraft.inventory.Inventory; 4 | import org.bukkit.block.Lectern; 5 | import org.bukkit.craftbukkit.inventory.CraftInventory; 6 | import org.bukkit.inventory.LecternInventory; 7 | 8 | import org.cardboardpowered.interfaces.IMixinInventory; 9 | 10 | public class CardboardLecternInventory extends CraftInventory implements LecternInventory { 11 | 12 | public CardboardLecternInventory(Inventory inventory) { 13 | super(inventory); 14 | } 15 | 16 | @Override 17 | public Lectern getHolder() { 18 | return (Lectern) ((IMixinInventory)(Object)inventory).getOwner(); 19 | } 20 | 21 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/inventory/CardboardLoomInventory.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.inventory; 2 | 3 | import net.minecraft.inventory.Inventory; 4 | 5 | import org.bukkit.craftbukkit.inventory.CraftResultInventory; 6 | import org.bukkit.inventory.LoomInventory; 7 | 8 | public class CardboardLoomInventory extends CraftResultInventory implements LoomInventory { 9 | 10 | public CardboardLoomInventory(Inventory inventory, Inventory resultInventory) { 11 | super(inventory, resultInventory); 12 | } 13 | 14 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/inventory/CardboardStonecutterInventory.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.inventory; 2 | 3 | import net.minecraft.inventory.Inventory; 4 | 5 | import org.bukkit.craftbukkit.inventory.CraftResultInventory; 6 | import org.bukkit.inventory.StonecutterInventory; 7 | 8 | public class CardboardStonecutterInventory extends CraftResultInventory implements StonecutterInventory { 9 | 10 | public CardboardStonecutterInventory(Inventory inventory, Inventory resultInventory) { 11 | super(inventory, resultInventory); 12 | } 13 | 14 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/inventory/CraftInventoryJukebox.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.inventory; 2 | 3 | import net.minecraft.inventory.Inventory; 4 | import org.bukkit.block.Jukebox; 5 | import org.bukkit.craftbukkit.inventory.CraftInventory; 6 | import org.bukkit.inventory.ItemStack; 7 | import org.bukkit.inventory.JukeboxInventory; 8 | 9 | import org.cardboardpowered.interfaces.IMixinInventory; 10 | 11 | public class CraftInventoryJukebox 12 | extends CraftInventory 13 | implements JukeboxInventory { 14 | public CraftInventoryJukebox(Inventory inventory) { 15 | super(inventory); 16 | } 17 | 18 | public void setRecord(ItemStack item) { 19 | if (item == null) { 20 | this.inventory.removeStack(0, 0); 21 | } else { 22 | this.setItem(0, item); 23 | } 24 | } 25 | 26 | public ItemStack getRecord() { 27 | return this.getItem(0); 28 | } 29 | 30 | public Jukebox getHolder() { 31 | return (Jukebox) ((IMixinInventory)this.inventory).getOwner(); 32 | } 33 | } 34 | 35 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/inventory/CustomInventoryConverter.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.inventory; 2 | 3 | import org.bukkit.craftbukkit.inventory.CraftInventoryCustom; 4 | import org.bukkit.event.inventory.InventoryType; 5 | import org.bukkit.inventory.Inventory; 6 | import org.bukkit.inventory.InventoryHolder; 7 | 8 | public class CustomInventoryConverter implements InventoryCreator.InventoryConverter { 9 | 10 | @Override 11 | public Inventory createInventory(InventoryHolder holder, InventoryType type) { 12 | return new CraftInventoryCustom(holder, type); 13 | } 14 | 15 | @Override 16 | public Inventory createInventory(InventoryHolder owner, InventoryType type, String title) { 17 | return new CraftInventoryCustom(owner, type, title); 18 | } 19 | 20 | public Inventory createInventory(InventoryHolder owner, int size) { 21 | return new CraftInventoryCustom(owner, size); 22 | } 23 | 24 | public Inventory createInventory(InventoryHolder owner, int size, String title) { 25 | return new CraftInventoryCustom(owner, size, title); 26 | } 27 | 28 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/inventory/CustomInventoryView.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.inventory; 2 | 3 | import org.bukkit.entity.HumanEntity; 4 | import org.bukkit.inventory.Inventory; 5 | import net.minecraft.screen.ScreenHandler; 6 | 7 | public class CustomInventoryView extends CardboardInventoryView { 8 | 9 | public CustomInventoryView(HumanEntity player, Inventory viewing, ScreenHandler container) { 10 | super(player, viewing, container); 11 | } 12 | 13 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/map/RenderData.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.map; 2 | 3 | import java.util.ArrayList; 4 | import org.bukkit.map.MapCursor; 5 | 6 | public class RenderData { 7 | 8 | public final byte[] buffer; 9 | public final ArrayList cursors; 10 | 11 | public RenderData() { 12 | this.buffer = new byte[128 * 128]; 13 | this.cursors = new ArrayList(); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/tag/Tags.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.tag; 2 | 3 | import java.util.Collections; 4 | import java.util.Set; 5 | import java.util.stream.Collectors; 6 | 7 | import org.bukkit.craftbukkit.util.CraftMagicNumbers; 8 | 9 | import net.minecraft.fluid.Fluid; 10 | import net.minecraft.util.Identifier; 11 | 12 | public class Tags { 13 | 14 | /*public static class FluidTagImpl extends TagImpl { 15 | 16 | public FluidTagImpl(TagGroup registry, Identifier tag) { 17 | super(registry, tag); 18 | } 19 | 20 | @Override 21 | public boolean isTagged(org.bukkit.Fluid fluid) { 22 | return getHandle().contains(CraftMagicNumbers.getFluid(fluid)); 23 | } 24 | 25 | @Override 26 | public Set getValues() { 27 | return Collections.unmodifiableSet(getHandle().values().stream().map(CraftMagicNumbers::getFluid).collect(Collectors.toSet())); 28 | } 29 | 30 | }*/ 31 | 32 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/util/CardboardFluidRaytraceMode.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.util; 2 | 3 | import org.bukkit.FluidCollisionMode; 4 | 5 | import net.minecraft.world.RaycastContext.FluidHandling; 6 | 7 | public class CardboardFluidRaytraceMode { 8 | 9 | public static FluidHandling toMc(FluidCollisionMode mode) { 10 | if (mode == null) return null; 11 | 12 | switch (mode) { 13 | case ALWAYS: 14 | return FluidHandling.ANY; 15 | case SOURCE_ONLY: 16 | return FluidHandling.SOURCE_ONLY; 17 | case NEVER: 18 | return FluidHandling.NONE; 19 | default: 20 | return null; 21 | } 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/util/IconCacheImpl.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.util; 2 | 3 | import org.bukkit.util.CachedServerIcon; 4 | 5 | public class IconCacheImpl implements CachedServerIcon { 6 | 7 | public byte[] value; 8 | 9 | public IconCacheImpl(final byte[] value) { 10 | this.value = value; 11 | } 12 | 13 | @Override 14 | public String getData() { 15 | // TODO Auto-generated method stub 16 | return null; 17 | } 18 | 19 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/util/LazyPlayerSet.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.util; 2 | 3 | import java.util.HashSet; 4 | import java.util.List; 5 | import net.minecraft.server.MinecraftServer; 6 | import net.minecraft.server.network.ServerPlayerEntity; 7 | import org.bukkit.entity.Player; 8 | 9 | import org.cardboardpowered.interfaces.IMixinEntity; 10 | 11 | public class LazyPlayerSet extends LazyHashSet { 12 | 13 | private final MinecraftServer server; 14 | 15 | public LazyPlayerSet(MinecraftServer server) { 16 | this.server = server; 17 | } 18 | 19 | @Override 20 | HashSet makeReference() { 21 | if (reference != null) throw new IllegalStateException("Reference already created"); 22 | List players = server.getPlayerManager().getPlayerList(); 23 | HashSet reference = new HashSet(players.size()); 24 | for (ServerPlayerEntity player : players) 25 | reference.add((Player) ((IMixinEntity)player).getBukkitEntity()); 26 | return reference; 27 | } 28 | 29 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/util/ServerShutdownThread.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.util; 2 | 3 | public class ServerShutdownThread extends Thread { 4 | 5 | @Override 6 | public void run() { 7 | System.out.println("Server Closed! "); 8 | } 9 | 10 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/impl/util/WaitableImpl.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.impl.util; 2 | 3 | import org.bukkit.craftbukkit.util.Waitable; 4 | 5 | public class WaitableImpl extends Waitable { 6 | 7 | private Runnable runnable; 8 | public WaitableImpl(Runnable runnable) { 9 | this.runnable = runnable; 10 | } 11 | 12 | @Override 13 | protected Object evaluate() { 14 | runnable.run(); 15 | return null; 16 | } 17 | 18 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IBlockItem.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | public interface IBlockItem { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IBlockState.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | import org.bukkit.craftbukkit.block.data.CraftBlockData; 4 | 5 | public interface IBlockState { 6 | 7 | /** 8 | * @author Cardboard 9 | */ 10 | public CraftBlockData createCraftBlockData(); 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IChunkDeltaUpdateS2CPacket.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | import net.minecraft.block.BlockState; 4 | 5 | public interface IChunkDeltaUpdateS2CPacket { 6 | 7 | void cardboard$set_block_states(BlockState[] states); 8 | 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IChunkTicketType.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | import net.minecraft.server.world.ChunkTicketType; 4 | import net.minecraft.util.Unit; 5 | 6 | /** 7 | * Injection Interface for ChunkTicketType. 8 | * 9 | * @see {@link org.cardboardpowered.mixin.world.MixinChunkTicketType} 10 | */ 11 | public interface IChunkTicketType { 12 | 13 | /** 14 | */ 15 | ChunkTicketType getBukkitPluginTicketType(); 16 | 17 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IComponentChanges.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | import net.minecraft.component.ComponentChanges; 4 | import net.minecraft.component.ComponentType; 5 | 6 | public interface IComponentChanges{ 7 | 8 | void copy(ComponentChanges orig); 9 | 10 | void clear(ComponentType type); 11 | 12 | boolean isEmpty(); 13 | 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/ICreeperEntity.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | public interface ICreeperEntity { 4 | 5 | void explodeBF(); 6 | 7 | int getExplosionRadiusBF(); 8 | 9 | void setExplosionRadiusBF(int radius); 10 | 11 | void setFuseTimeBF(int ticks); 12 | 13 | int getFuseTimeBF(); 14 | 15 | void setPowered(boolean powered); 16 | 17 | boolean isPoweredBF(); 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IDedicatedServer.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | public interface IDedicatedServer { 4 | 5 | boolean isDebugging(); 6 | 7 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IHorseBaseEntity.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | import net.minecraft.inventory.SimpleInventory; 4 | 5 | public interface IHorseBaseEntity { 6 | 7 | public SimpleInventory cardboard$get_items(); 8 | 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IIngredient.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Cardboard - Bukkit for Fabric Project 3 | * Copyright (C) 2020-2025 Cardboard contributors 4 | */ 5 | package org.cardboardpowered.interfaces; 6 | 7 | import java.util.List; 8 | 9 | import net.minecraft.item.Item; 10 | import net.minecraft.item.ItemStack; 11 | import net.minecraft.recipe.Ingredient; 12 | import net.minecraft.registry.entry.RegistryEntryList; 13 | 14 | public interface IIngredient { 15 | 16 | boolean getExact_BF(); 17 | 18 | void setExact_BF(boolean value); 19 | 20 | void cardboard$set_itemStacks(List stacks); 21 | 22 | static Ingredient cb$ofStacks(List stacks) { 23 | Ingredient recipe = Ingredient.ofItems(stacks.stream().map(ItemStack::getItem)); 24 | ((IIngredient)recipe).cardboard$set_itemStacks(stacks); 25 | return recipe; 26 | } 27 | 28 | boolean cb$isExact(); 29 | 30 | RegistryEntryList cb$entries(); 31 | 32 | List cb$itemStacks(); 33 | 34 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IItemStack.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | import org.bukkit.inventory.ItemStack; 4 | 5 | import net.minecraft.component.ComponentChanges; 6 | import net.minecraft.item.Item; 7 | 8 | public interface IItemStack { 9 | 10 | void cardboard$restore_patch(ComponentChanges changes); 11 | 12 | public ItemStack getBukkitStack(); 13 | 14 | void cb$setItem(Item item); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/ILevelProperties.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Cardboard - Bukkit for Fabric Project. 3 | * Copyright (C) 2020 Cardboard contributors 4 | */ 5 | package org.cardboardpowered.interfaces; 6 | 7 | public interface ILevelProperties { 8 | 9 | void checkName(String name); 10 | 11 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IMixinAdvancement.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | import org.cardboardpowered.impl.AdvancementImpl; 4 | 5 | public interface IMixinAdvancement { 6 | 7 | AdvancementImpl getBukkitAdvancement(); 8 | 9 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IMixinAnvilScreenHandler.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | public interface IMixinAnvilScreenHandler { 4 | 5 | String getNewItemName_BF(); 6 | 7 | int getLevelCost_BF(); 8 | 9 | void setLevelCost_BF(int i); 10 | 11 | int getMaxRepairCost_BF(); 12 | 13 | void setMaxRepairCost_BF(int levels); 14 | 15 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IMixinArmorStandEntity.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | public interface IMixinArmorStandEntity { 4 | 5 | void setHideBasePlateBF(boolean b); 6 | 7 | void setShowArmsBF(boolean arms); 8 | 9 | void setSmallBF(boolean small); 10 | 11 | void setMarkerBF(boolean marker); 12 | 13 | boolean canMoveBF(); 14 | 15 | void setCanMoveBF(boolean b); 16 | 17 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IMixinArrowEntity.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | public interface IMixinArrowEntity { 4 | 5 | void setType(String fromBukkit); 6 | 7 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IMixinBrewingStandBlockEntity.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | import net.minecraft.item.ItemStack; 4 | import net.minecraft.util.collection.DefaultedList; 5 | 6 | public interface IMixinBrewingStandBlockEntity { 7 | 8 | public DefaultedList cardboard_getInventory(); 9 | 10 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IMixinClientConnection.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | import java.net.SocketAddress; 4 | import java.util.UUID; 5 | 6 | import com.mojang.authlib.properties.Property; 7 | 8 | public interface IMixinClientConnection { 9 | 10 | SocketAddress getRawAddress(); 11 | 12 | UUID getSpoofedUUID(); 13 | 14 | void setSpoofedUUID(UUID uuid); 15 | 16 | Property[] getSpoofedProfile(); 17 | 18 | void setSpoofedProfile(Property[] profile); 19 | 20 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IMixinDamageSource.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | import net.minecraft.entity.damage.DamageSource; 4 | 5 | public interface IMixinDamageSource { 6 | 7 | boolean isSweep_BF(); 8 | 9 | DamageSource sweep_BF(); 10 | 11 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IMixinDataTracker.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | import net.minecraft.entity.data.TrackedData; 4 | 5 | public interface IMixinDataTracker { 6 | 7 | void markDirty(TrackedData key); 8 | } 9 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IMixinDispenserBlock.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | public interface IMixinDispenserBlock { 4 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IMixinForgingScreenHandler.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | /** 4 | * API Interface for ForgingScreenHandler 5 | * 6 | * @implNote https://github.com/PaperMC/Paper/blob/main/paper-server/patches/sources/net/minecraft/world/inventory/ItemCombinerMenu.java.patch 7 | */ 8 | public interface IMixinForgingScreenHandler { 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IMixinLivingEntity.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | import org.bukkit.craftbukkit.attribute.CraftAttributeMap; 4 | import org.bukkit.event.entity.EntityPotionEffectEvent; 5 | 6 | public interface IMixinLivingEntity { 7 | 8 | int getExpReward(); 9 | 10 | void pushEffectCause(EntityPotionEffectEvent.Cause cause); 11 | 12 | CraftAttributeMap cardboard_getAttr(); 13 | 14 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IMixinLockableContainerBlockEntity.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Cardboard - Paper API for Fabric 3 | * Copyright (C) 2020-2025 CardboardPowered.org and contributors 4 | * 5 | * This program is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Lesser General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3 of the License, or (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * Lesser General Public License for more details. 14 | */ 15 | package org.cardboardpowered.interfaces; 16 | 17 | public interface IMixinLockableContainerBlockEntity { 18 | 19 | /** 20 | */ 21 | org.bukkit.Location getLocation(); 22 | 23 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IMixinLootContextParameters.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | import net.minecraft.util.context.ContextParameter; 4 | import net.minecraft.util.Identifier; 5 | 6 | public interface IMixinLootContextParameters { 7 | 8 | ContextParameter LOOTING_MOD = new ContextParameter<>(Identifier.of("bukkit:looting_mod")); 9 | 10 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IMixinLootManager.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | import java.util.Map; 4 | 5 | import net.minecraft.util.Identifier; 6 | 7 | /** 8 | */ 9 | public interface IMixinLootManager { 10 | 11 | Map getLootTableToKeyMapBF(); 12 | 13 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IMixinMapState.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | import org.cardboardpowered.impl.map.MapViewImpl; 4 | 5 | public interface IMixinMapState { 6 | 7 | MapViewImpl getMapViewBF(); 8 | 9 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IMixinMaterial.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | import org.cardboardpowered.impl.CardboardModdedMaterial; 4 | 5 | public interface IMixinMaterial { 6 | 7 | boolean isModded(); 8 | 9 | CardboardModdedMaterial getModdedData(); 10 | 11 | void setModdedData(CardboardModdedMaterial data); 12 | 13 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IMixinPersistentProjectileEntity.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | public interface IMixinPersistentProjectileEntity { 4 | 5 | int getPunchBF(); 6 | 7 | boolean getInGroundBF(); 8 | 9 | void setLifeBF(int value); 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IMixinPlayNetworkHandler.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Cardboard - Paper API for Fabric 3 | * Copyright (C) 2020-2025 4 | * 5 | * This program is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3 of the License, or (at your option) any later version. 9 | */ 10 | package org.cardboardpowered.interfaces; 11 | 12 | import java.util.Set; 13 | 14 | import org.bukkit.Location; 15 | 16 | import net.minecraft.entity.player.PlayerPosition; 17 | import net.minecraft.network.ClientConnection; 18 | import net.minecraft.network.packet.s2c.play.PositionFlag; 19 | 20 | public interface IMixinPlayNetworkHandler { 21 | 22 | void chat(String message, boolean notDeprecated); 23 | 24 | void teleport(Location location); 25 | 26 | boolean isDisconnected(); 27 | 28 | ClientConnection cb_get_connection(); 29 | 30 | void internalTeleport(PlayerPosition positionmoverotation, Set set); 31 | 32 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IMixinPlayerInventory.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | import org.cardboardpowered.interfaces.IMixinInventory; 4 | 5 | import net.minecraft.item.ItemStack; 6 | 7 | public interface IMixinPlayerInventory extends IMixinInventory { 8 | 9 | int canHold(ItemStack itemstack); 10 | 11 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IMixinRecipe.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Cardboard - Paper API for Fabric 3 | * Copyright (C) 2020-2025 4 | */ 5 | package org.cardboardpowered.interfaces; 6 | 7 | import org.bukkit.inventory.Recipe; 8 | 9 | public interface IMixinRecipe { 10 | 11 | Recipe toBukkitRecipe(); 12 | 13 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IMixinScreenHandlerContext.java: -------------------------------------------------------------------------------- 1 | /** 2 | * The Bukkit for Fabric Project 3 | * Copyright (C) 2020-2025 CardboardPowered.org and contributors 4 | * 5 | * This program is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3 of the License, or (at your option) any later version. 9 | */ 10 | package org.cardboardpowered.interfaces; 11 | 12 | import net.minecraft.util.math.BlockPos; 13 | import net.minecraft.world.World; 14 | 15 | /** 16 | */ 17 | public interface IMixinScreenHandlerContext { 18 | 19 | org.bukkit.Location getLocation(); 20 | 21 | World getWorld(); 22 | 23 | BlockPos getPosition(); 24 | 25 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IMixinServerBossBar.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | @Deprecated 4 | public interface IMixinServerBossBar { 5 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IMixinServerLoginNetworkHandler.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | import net.minecraft.network.ClientConnection; 4 | import net.minecraft.server.network.ServerPlayerEntity; 5 | 6 | public interface IMixinServerLoginNetworkHandler { 7 | 8 | String getHostname(); 9 | 10 | void setHostname(String hostname); 11 | 12 | ClientConnection cb_get_connection(); 13 | 14 | ServerPlayerEntity cardboard$get_player(); 15 | 16 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IMixinServerPlayerInteractionManager.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | public interface IMixinServerPlayerInteractionManager { 4 | 5 | boolean getInteractResultBF(); 6 | void setInteractResultBF(boolean b); 7 | 8 | void setFiredInteractBF(boolean b); 9 | boolean getFiredInteractBF(); 10 | 11 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IMixinSignBlockEntity.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | import net.minecraft.text.Text; 4 | 5 | /** 6 | */ 7 | public interface IMixinSignBlockEntity { 8 | 9 | /** 10 | */ 11 | Text[] getTextBF(); 12 | 13 | /** 14 | * Note: bukkit adds method. 15 | */ 16 | boolean cardboard$isFacingFrontText(double x, double z); 17 | 18 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IMixinStyle.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Cardboard - Paper API for Fabric 3 | * Copyright (C) 2020-2025 4 | */ 5 | package org.cardboardpowered.interfaces; 6 | 7 | import net.minecraft.text.Style; 8 | 9 | // TODO 10 | public interface IMixinStyle { 11 | 12 | Style setStrikethrough(Boolean obool); 13 | 14 | Style setUnderline(Boolean obool); 15 | 16 | Style setRandom(Boolean obool); 17 | 18 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IMixinThreadedAnvilChunkStorage.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | import it.unimi.dsi.fastutil.longs.Long2ObjectLinkedOpenHashMap; 4 | import net.minecraft.server.world.ChunkHolder; 5 | 6 | public interface IMixinThreadedAnvilChunkStorage { 7 | 8 | Long2ObjectLinkedOpenHashMap getChunkHoldersBF(); 9 | 10 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IMixinThrownItemEntity.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | import net.minecraft.item.Item; 4 | import net.minecraft.item.ItemStack; 5 | 6 | public interface IMixinThrownItemEntity { 7 | 8 | Item getDefaultItemPublic(); 9 | 10 | @Deprecated 11 | ItemStack getItemBF(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IMixinTradeOffer.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | import org.bukkit.craftbukkit.inventory.CraftMerchantRecipe; 4 | 5 | public interface IMixinTradeOffer { 6 | 7 | CraftMerchantRecipe asBukkit(); 8 | 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IMixinTrader.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | import org.bukkit.craftbukkit.inventory.CraftMerchant; 4 | 5 | public interface IMixinTrader { 6 | 7 | CraftMerchant getCraftMerchant(); 8 | 9 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IMixinWorld.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Cardboard Mod 3 | * Copyright (C) 2024 4 | */ 5 | package org.cardboardpowered.interfaces; 6 | 7 | import java.util.Map; 8 | 9 | import org.cardboardpowered.impl.block.CapturedBlockState; 10 | import org.cardboardpowered.impl.world.CraftWorld; 11 | 12 | import net.minecraft.util.math.BlockPos; 13 | import net.minecraft.world.entity.EntityLookup; 14 | 15 | public interface IMixinWorld { 16 | 17 | CraftWorld getCraftWorld(); 18 | 19 | Map getCapturedBlockStates_BF(); 20 | 21 | boolean isCaptureBlockStates_BF(); 22 | 23 | void setCaptureBlockStates_BF(boolean b); 24 | 25 | void set_bukkit_world(CraftWorld world); 26 | 27 | EntityLookup cb$get_entity_lookup(); 28 | 29 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/INetworkConfiguration.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | import net.minecraft.server.network.ServerPlayerEntity; 4 | 5 | public interface INetworkConfiguration { 6 | void cardboard_setPlayer(ServerPlayerEntity entity); 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/INetworkIo.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Cardboard 3 | */ 4 | package org.cardboardpowered.interfaces; 5 | 6 | public interface INetworkIo { 7 | 8 | void acceptConnections(); 9 | 10 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/ISaddledComponent.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Cardboard - The Bukkit for Fabric Project 3 | * Copyright (C) 2020-2025 Isaiah and contributors 4 | */ 5 | package org.cardboardpowered.interfaces; 6 | 7 | /** 8 | * Injection Interface for SaddledComponent. 9 | * 10 | * @see {@link org.cardboardpowered.mixin.entity.MixinSaddledComponent} 11 | */ 12 | public interface ISaddledComponent { 13 | 14 | /** 15 | */ 16 | void setBoostTicks(int ticks); 17 | 18 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IScreenHandler.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Cardboard Mod 3 | */ 4 | package org.cardboardpowered.interfaces; 5 | 6 | import org.cardboardpowered.impl.inventory.CardboardInventoryView; 7 | 8 | /** 9 | * Injection interface for ScreenHandler 10 | * 11 | * @author Cardboard Mod 12 | * @see {@link net.minecraft.screen.ScreenHandler} 13 | * @see {@link org.cardboardpowered.interfaces.IMixinScreenHandler} 14 | */ 15 | public interface IScreenHandler { 16 | 17 | CardboardInventoryView getBukkitView(); 18 | 19 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IServerCommandSource.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Cardboard - The Bukkit for Fabric Project 3 | * Copyright (C) 2020-2025 Isaiah and contributors 4 | */ 5 | package org.cardboardpowered.interfaces; 6 | 7 | import org.bukkit.command.CommandSender; 8 | 9 | /** 10 | * Injection Interface for ServerCommandSource. 11 | * 12 | * @see {@link org.cardboardpowered.mixin.MixinServerCommandSource} 13 | */ 14 | public interface IServerCommandSource { 15 | 16 | /** 17 | */ 18 | CommandSender getBukkitSender(); 19 | 20 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IServerWorld.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | import java.util.UUID; 4 | 5 | import org.bukkit.craftbukkit.CraftServer; 6 | import org.cardboardpowered.impl.world.CraftWorld; 7 | 8 | import net.minecraft.world.level.ServerWorldProperties; 9 | 10 | public interface IServerWorld { 11 | 12 | ServerWorldProperties cardboard_worldProperties(); 13 | 14 | default CraftWorld getWorld() { 15 | return null; 16 | } 17 | 18 | default CraftServer getCraftServer() { 19 | return CraftServer.INSTANCE; 20 | } 21 | 22 | public void cardboard$set_uuid(UUID id); 23 | 24 | public UUID cardboard$get_uuid(); 25 | 26 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/ISimpleRegistry.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | import java.util.Map; 4 | 5 | import net.minecraft.util.Identifier; 6 | 7 | public interface ISimpleRegistry { 8 | 9 | void clearIntrusiveHolder(T instance); 10 | 11 | Map cb$temporaryUnfrozenMap(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/ISlimeEntity.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | public interface ISlimeEntity { 4 | 5 | void setSizeBF(int i, boolean flag); 6 | 7 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/ITnt.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | import net.minecraft.entity.LivingEntity; 4 | 5 | public interface ITnt { 6 | 7 | void setSourceBF(LivingEntity entity); 8 | 9 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IUserCache.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.interfaces; 2 | 3 | import java.util.Optional; 4 | import java.util.UUID; 5 | 6 | import com.mojang.authlib.GameProfile; 7 | 8 | public interface IUserCache { 9 | 10 | Optional card_getByUuid(UUID uuid); 11 | 12 | Optional card_findByName(String name); 13 | 14 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/interfaces/IWorldChunk.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Cardboard - Spigot/Paper for Fabric 3 | * Copyright (C) 2020-2022 4 | */ 5 | package org.cardboardpowered.interfaces; 6 | 7 | import org.bukkit.Chunk; 8 | 9 | import net.minecraft.block.BlockState; 10 | import net.minecraft.util.math.BlockPos; 11 | 12 | public interface IWorldChunk { 13 | 14 | //Map getHeightMaps(); 15 | 16 | //TypeFilterableList[] getEntitySections(); 17 | 18 | Chunk getBukkitChunk(); 19 | 20 | public default BlockState setBlockState(BlockPos blockposition, BlockState iblockdata, boolean moved, boolean doPlace) { 21 | return null; 22 | } 23 | 24 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/mixin/MixinMCServer.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.mixin; 2 | 3 | import org.spongepowered.asm.mixin.Final; 4 | import org.spongepowered.asm.mixin.Mixin; 5 | import org.spongepowered.asm.mixin.Shadow; 6 | 7 | import net.minecraft.server.MinecraftServer; 8 | import net.minecraft.world.PlayerSaveHandler; 9 | 10 | @Mixin(value=MinecraftServer.class) 11 | public class MixinMCServer { 12 | 13 | // TODO: 1.18.2 @Shadow @Final public DynamicRegistryManager.Impl registryManager; 14 | @Shadow @Final public PlayerSaveHandler saveHandler; 15 | 16 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/mixin/MixinServerBossBar.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.mixin; 2 | 3 | import org.cardboardpowered.interfaces.IMixinServerBossBar; 4 | import org.spongepowered.asm.mixin.Mixin; 5 | import org.spongepowered.asm.mixin.Shadow; 6 | 7 | import net.minecraft.entity.boss.ServerBossBar; 8 | 9 | @Mixin(ServerBossBar.class) 10 | public class MixinServerBossBar implements IMixinServerBossBar { 11 | 12 | /* @Override 13 | public void sendPacketBF(Type updateName) { 14 | sendPacket(updateName); 15 | } 16 | 17 | @Shadow 18 | public void sendPacket(Type updateName) { 19 | }*/ 20 | // TODO 1.17ify 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/mixin/MixinStatusEffects.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.mixin; 2 | 3 | import org.spongepowered.asm.mixin.Mixin; 4 | 5 | import org.cardboardpowered.impl.CardboardPotionEffectType; 6 | 7 | import net.minecraft.entity.effect.StatusEffect; 8 | import net.minecraft.entity.effect.StatusEffects; 9 | 10 | @Mixin(StatusEffects.class) 11 | public class MixinStatusEffects { 12 | 13 | static { 14 | //for (Object effect : Registry.STATUS_EFFECT) { 15 | // org.bukkit.potion.PotionEffectType.registerPotionEffectType(new CardboardPotionEffectType((StatusEffect) effect)); 16 | // } 17 | } 18 | 19 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/mixin/MixinStyle.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.mixin; 2 | 3 | import org.spongepowered.asm.mixin.Mixin; 4 | import org.spongepowered.asm.mixin.Shadow; 5 | 6 | import net.minecraft.text.Style; 7 | 8 | @Mixin(Style.class) 9 | public class MixinStyle { 10 | 11 | @Shadow 12 | public Boolean bold; 13 | 14 | public Style setStrikethrough(Boolean obool) { 15 | Style st = ((Style)(Object)this).withBold(this.bold); 16 | st.strikethrough = obool; 17 | return st; 18 | } 19 | 20 | public Style setUnderline(Boolean obool) { 21 | return ((Style)(Object)this).withBold(this.bold).withUnderline(obool); 22 | } 23 | 24 | public Style setRandom(Boolean obool) { 25 | Style st = ((Style)(Object)this).withBold(this.bold); 26 | st.obfuscated = obool; 27 | return st; 28 | } 29 | 30 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/mixin/MixinTradeOffer.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.mixin; 2 | 3 | import org.bukkit.craftbukkit.inventory.CraftMerchantRecipe; 4 | import org.spongepowered.asm.mixin.Mixin; 5 | 6 | import org.cardboardpowered.interfaces.IMixinTradeOffer; 7 | 8 | import net.minecraft.village.TradeOffer; 9 | 10 | @Mixin(TradeOffer.class) 11 | public class MixinTradeOffer implements IMixinTradeOffer { 12 | 13 | private CraftMerchantRecipe bukkitHandle; 14 | 15 | @Override 16 | public CraftMerchantRecipe asBukkit() { 17 | return (bukkitHandle == null) ? bukkitHandle = new CraftMerchantRecipe((TradeOffer)(Object)this) : bukkitHandle; 18 | } 19 | 20 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/mixin/block/MixinAbstractBlockState.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.mixin.block; 2 | 3 | import org.bukkit.craftbukkit.block.data.CraftBlockData; 4 | import org.cardboardpowered.interfaces.IBlockState; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | 7 | import net.minecraft.block.AbstractBlock.AbstractBlockState; 8 | 9 | @Mixin(AbstractBlockState.class) 10 | public class MixinAbstractBlockState implements IBlockState { 11 | 12 | private CraftBlockData cachedCraftBlockData; 13 | 14 | @Override 15 | public CraftBlockData createCraftBlockData() { 16 | if (this.cachedCraftBlockData == null) { 17 | AbstractBlockState thiz = (AbstractBlockState) (Object) this; 18 | this.cachedCraftBlockData = CraftBlockData.createData(thiz.asBlockState()); 19 | } 20 | return (CraftBlockData)this.cachedCraftBlockData.clone(); 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/mixin/block/MixinBambooSaplingBlock.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.mixin.block; 2 | 3 | import org.bukkit.craftbukkit.event.CraftEventFactory; 4 | import net.minecraft.block.BambooShootBlock; 5 | import net.minecraft.block.BlockState; 6 | import net.minecraft.util.math.BlockPos; 7 | import net.minecraft.world.World; 8 | import org.spongepowered.asm.mixin.Mixin; 9 | 10 | @Mixin(BambooShootBlock.class) 11 | public class MixinBambooSaplingBlock { 12 | 13 | public boolean bukkitSpreadEvent(World world, BlockPos pos, BlockState newState, int flags) { 14 | return CraftEventFactory.handleBlockSpreadEvent(world, pos.down(), pos, newState, flags); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/mixin/block/MixinCactusBlock.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.mixin.block; 2 | 3 | import org.bukkit.craftbukkit.event.CraftEventFactory; 4 | import net.minecraft.block.BlockState; 5 | import net.minecraft.block.CactusBlock; 6 | import net.minecraft.server.world.ServerWorld; 7 | import net.minecraft.util.math.BlockPos; 8 | import org.spongepowered.asm.mixin.Mixin; 9 | import org.spongepowered.asm.mixin.injection.At; 10 | import org.spongepowered.asm.mixin.injection.Redirect; 11 | 12 | @Mixin(CactusBlock.class) 13 | public class MixinCactusBlock { 14 | 15 | @Redirect(method = "randomTick", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/world/ServerWorld;setBlockState(Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)Z")) 16 | private boolean blockGrow(ServerWorld instance, BlockPos blockPos, BlockState blockState) { 17 | return CraftEventFactory.handleBlockGrowEvent(instance, blockPos, blockState); 18 | } 19 | } 20 | 21 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/mixin/block/MixinSugarCaneBlock.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.mixin.block; 2 | 3 | import org.bukkit.craftbukkit.event.CraftEventFactory; 4 | import net.minecraft.block.BlockState; 5 | import net.minecraft.block.SugarCaneBlock; 6 | import net.minecraft.server.world.ServerWorld; 7 | import net.minecraft.util.math.BlockPos; 8 | import org.spongepowered.asm.mixin.Mixin; 9 | import org.spongepowered.asm.mixin.injection.At; 10 | import org.spongepowered.asm.mixin.injection.Redirect; 11 | 12 | @Mixin(SugarCaneBlock.class) 13 | public class MixinSugarCaneBlock { 14 | 15 | @Redirect(method = "randomTick", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/world/ServerWorld;setBlockState(Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)Z")) 16 | public boolean cropGrow(ServerWorld instance, BlockPos blockPos, BlockState blockState) { 17 | return CraftEventFactory.handleBlockGrowEvent(instance, blockPos, blockState); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/mixin/bukkit/MixinYamlConfiguration.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.mixin.bukkit; 2 | 3 | import java.util.LinkedList; 4 | import java.util.List; 5 | import org.bukkit.configuration.file.YamlConfiguration; 6 | import org.spongepowered.asm.mixin.Mixin; 7 | import org.spongepowered.asm.mixin.Shadow; 8 | 9 | @Mixin(YamlConfiguration.class) 10 | public abstract class MixinYamlConfiguration { 11 | 12 | @Shadow(remap = false) 13 | private List loadHeader(List header) { 14 | LinkedList list = new LinkedList<>(header); 15 | 16 | if (!list.isEmpty()) { 17 | list.removeLast(); 18 | } 19 | 20 | while (!list.isEmpty() && list.peek() == null) { 21 | list.remove(); 22 | } 23 | 24 | return list; 25 | } 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/mixin/entity/MixinAbstractTraderEntity.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.mixin.entity; 2 | 3 | import org.bukkit.craftbukkit.inventory.CraftMerchant; 4 | import org.spongepowered.asm.mixin.Mixin; 5 | 6 | import org.cardboardpowered.interfaces.IMixinTrader; 7 | 8 | import net.minecraft.entity.passive.MerchantEntity; 9 | 10 | @Mixin(MerchantEntity.class) 11 | public class MixinAbstractTraderEntity implements IMixinTrader { 12 | 13 | private CraftMerchant craftMerchant; 14 | 15 | @Override 16 | public CraftMerchant getCraftMerchant() { 17 | return (craftMerchant == null) ? craftMerchant = new CraftMerchant((MerchantEntity)(Object) this) : craftMerchant; 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/mixin/entity/MixinDamageSource.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.mixin.entity; 2 | 3 | import org.spongepowered.asm.mixin.Mixin; 4 | 5 | import org.cardboardpowered.interfaces.IMixinDamageSource; 6 | 7 | import net.minecraft.entity.damage.DamageSource; 8 | 9 | @Mixin(DamageSource.class) 10 | public class MixinDamageSource implements IMixinDamageSource { 11 | 12 | private boolean sweep_BF; 13 | 14 | @Override 15 | public boolean isSweep_BF() { 16 | return sweep_BF; 17 | } 18 | 19 | @Override 20 | public DamageSource sweep_BF() { 21 | sweep_BF = true; 22 | return (DamageSource)(Object)this; 23 | } 24 | 25 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/mixin/entity/MixinPhaseManager.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.mixin.entity; 2 | 3 | import org.spongepowered.asm.mixin.Mixin; 4 | 5 | import net.minecraft.entity.boss.dragon.phase.PhaseManager; 6 | 7 | @Mixin(PhaseManager.class) 8 | public class MixinPhaseManager { 9 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/mixin/entity/MixinThrownItemEntity.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.mixin.entity; 2 | 3 | import org.spongepowered.asm.mixin.Mixin; 4 | import org.spongepowered.asm.mixin.Shadow; 5 | 6 | import org.cardboardpowered.interfaces.IMixinThrownItemEntity; 7 | 8 | import net.minecraft.entity.projectile.thrown.ThrownItemEntity; 9 | import net.minecraft.item.Item; 10 | import net.minecraft.item.ItemStack; 11 | 12 | @Mixin(ThrownItemEntity.class) 13 | public abstract class MixinThrownItemEntity implements IMixinThrownItemEntity { 14 | 15 | @Shadow 16 | public abstract Item getDefaultItem(); 17 | 18 | @Override 19 | public Item getDefaultItemPublic() { 20 | return getDefaultItem(); 21 | } 22 | 23 | @Override 24 | @Deprecated 25 | public ItemStack getItemBF() { 26 | return ((ThrownItemEntity) (Object) this).getStack(); 27 | } 28 | 29 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/mixin/entity/MixinTntEntity.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.mixin.entity; 2 | 3 | import org.spongepowered.asm.mixin.Mixin; 4 | import org.spongepowered.asm.mixin.Shadow; 5 | 6 | import org.cardboardpowered.interfaces.ITnt; 7 | 8 | import net.minecraft.entity.LivingEntity; 9 | import net.minecraft.entity.TntEntity; 10 | 11 | @Mixin(TntEntity.class) 12 | public class MixinTntEntity implements ITnt { 13 | 14 | @Shadow 15 | public LivingEntity causingEntity; 16 | 17 | @Override 18 | public void setSourceBF(LivingEntity entity) { 19 | this.causingEntity = entity; 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/mixin/entity/block/MixinBannerBlockEntity.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.mixin.entity.block; 2 | 3 | import org.spongepowered.asm.mixin.Mixin; 4 | import org.spongepowered.asm.mixin.Shadow; 5 | import org.spongepowered.asm.mixin.injection.At; 6 | import org.spongepowered.asm.mixin.injection.Inject; 7 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 8 | 9 | import net.minecraft.block.entity.BannerBlockEntity; 10 | import net.minecraft.nbt.NbtCompound; 11 | import net.minecraft.nbt.NbtList; 12 | 13 | @Mixin(BannerBlockEntity.class) 14 | public class MixinBannerBlockEntity { 15 | 16 | // TODO: 1.18.2 17 | 18 | //@Shadow 19 | //public NbtList patternListTag; 20 | 21 | //@Inject(at = @At("TAIL"), method = "readNbt") 22 | //public void bukkit_readNbt(NbtCompound nbttagcompound, CallbackInfo ci) { 23 | // Bukkit - TitleEntityBanner.patch 24 | //while (this.patternListTag.size() > 20) 25 | // this.patternListTag.remove(20); 26 | //} 27 | 28 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/mixin/entity/block/MixinLockableContainerBlockEntity.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.mixin.entity.block; 2 | 3 | import org.bukkit.Location; 4 | import org.spongepowered.asm.mixin.Mixin; 5 | 6 | import org.cardboardpowered.interfaces.IMixinLockableContainerBlockEntity; 7 | import org.cardboardpowered.interfaces.IMixinWorld; 8 | 9 | import net.minecraft.block.entity.LockableContainerBlockEntity; 10 | import net.minecraft.util.math.BlockPos; 11 | 12 | @Mixin(LockableContainerBlockEntity.class) 13 | public class MixinLockableContainerBlockEntity implements IMixinLockableContainerBlockEntity { 14 | 15 | @Override 16 | public Location getLocation() { 17 | LockableContainerBlockEntity lc = (LockableContainerBlockEntity)(Object)this; 18 | BlockPos pos = lc.getPos(); 19 | return new Location(((IMixinWorld)lc.world).getCraftWorld(), pos.getX(), pos.getY(), pos.getZ()); 20 | } 21 | 22 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/mixin/inventory/MixinEnderChestInventory.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.mixin.inventory; 2 | 3 | import org.bukkit.Location; 4 | import org.bukkit.inventory.InventoryHolder; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.Shadow; 7 | 8 | import org.cardboardpowered.interfaces.IMixinWorld; 9 | 10 | import net.minecraft.block.entity.EnderChestBlockEntity; 11 | import net.minecraft.inventory.EnderChestInventory; 12 | 13 | @Mixin(EnderChestInventory.class) 14 | public class MixinEnderChestInventory extends MixinSimpleInventory { 15 | 16 | @Shadow private EnderChestBlockEntity activeBlockEntity; 17 | 18 | public InventoryHolder getBukkitOwner() { 19 | return null; // TODO 20 | } 21 | 22 | @Override 23 | public Location getLocation() { 24 | return new Location(((IMixinWorld)this.activeBlockEntity.getWorld()).getCraftWorld(), this.activeBlockEntity.getPos().getX(), this.activeBlockEntity.getPos().getY(), this.activeBlockEntity.getPos().getZ()); 25 | } 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/mixin/loot/MixinLootContextParameters.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.mixin.loot; 2 | 3 | import org.spongepowered.asm.mixin.Mixin; 4 | 5 | import org.cardboardpowered.interfaces.IMixinLootContextParameters; 6 | 7 | import net.minecraft.loot.context.LootContextParameters; 8 | 9 | @Mixin(LootContextParameters.class) 10 | public class MixinLootContextParameters implements IMixinLootContextParameters { 11 | // Inherent static method from interface 12 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/mixin/network/MixinChunkDeltaUpdateS2CPacket.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.mixin.network; 2 | 3 | import net.minecraft.block.BlockState; 4 | import net.minecraft.network.packet.s2c.play.ChunkDeltaUpdateS2CPacket; 5 | import org.cardboardpowered.interfaces.IChunkDeltaUpdateS2CPacket; 6 | import org.spongepowered.asm.mixin.Final; 7 | import org.spongepowered.asm.mixin.Mixin; 8 | import org.spongepowered.asm.mixin.Mutable; 9 | import org.spongepowered.asm.mixin.Shadow; 10 | 11 | @Mixin(ChunkDeltaUpdateS2CPacket.class) 12 | public class MixinChunkDeltaUpdateS2CPacket implements IChunkDeltaUpdateS2CPacket { 13 | 14 | @Shadow 15 | @Final 16 | @Mutable 17 | private BlockState[] blockStates; 18 | 19 | @Override 20 | public void cardboard$set_block_states(BlockState[] states) { 21 | this.blockStates = states; 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/mixin/network/MixinDataTracker.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.mixin.network; 2 | 3 | import net.minecraft.entity.data.DataTracker; 4 | import net.minecraft.entity.data.TrackedData; 5 | 6 | import org.cardboardpowered.interfaces.IMixinDataTracker; 7 | import org.spongepowered.asm.mixin.Mixin; 8 | import org.spongepowered.asm.mixin.Shadow; 9 | 10 | @Mixin(DataTracker.class) 11 | public abstract class MixinDataTracker implements IMixinDataTracker { 12 | 13 | @Shadow protected abstract DataTracker.Entry getEntry(TrackedData trackedData); 14 | 15 | @Shadow private boolean dirty; 16 | 17 | @Override 18 | public void markDirty(TrackedData key) { 19 | DataTracker.Entry entry = this.getEntry(key); 20 | entry.setDirty(true); 21 | this.dirty = true; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/mixin/recipe/MixinServerRecipeBook.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.mixin.recipe; 2 | 3 | import java.util.List; 4 | import org.spongepowered.asm.mixin.Mixin; 5 | import org.spongepowered.asm.mixin.injection.At; 6 | import org.spongepowered.asm.mixin.injection.Inject; 7 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 8 | // import net.minecraft.network.packet.s2c.play.ChangeUnlockedRecipesS2CPacket; 9 | import net.minecraft.server.network.ServerPlayerEntity; 10 | import net.minecraft.server.network.ServerRecipeBook; 11 | import net.minecraft.util.Identifier; 12 | 13 | @Mixin(ServerRecipeBook.class) 14 | public class MixinServerRecipeBook { 15 | 16 | /* 17 | @Inject(at = @At("HEAD"), method = "sendUnlockRecipesPacket", cancellable = true) 18 | private void dontSendPacketBeforeLogin(ChangeUnlockedRecipesS2CPacket.Action packetplayoutrecipes_action, ServerPlayerEntity entityplayer, List list, CallbackInfo ci) { 19 | // See SPIGOT-4478 20 | if (entityplayer.networkHandler == null) 21 | ci.cancel(); 22 | } 23 | */ 24 | 25 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/mixin/recipe/MixinSmithingRecipe.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.mixin.recipe; 2 | 3 | import net.minecraft.recipe.Ingredient; 4 | import org.bukkit.inventory.Recipe; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | 7 | //@Mixin(LegacySmithingRecipe.class) 8 | @Mixin(Ingredient.class) 9 | public class MixinSmithingRecipe /*implements IMixinRecipe*/ { 10 | 11 | // @Override 12 | public Recipe toBukkitRecipe() { 13 | // TODO Auto-generated method stub 14 | return null; 15 | } 16 | 17 | /*@Shadow private Ingredient base; 18 | @Shadow private Ingredient addition; 19 | @Shadow private ItemStack result; 20 | @Shadow public Identifier id; 21 | 22 | @Override 23 | public Recipe toBukkitRecipe() { 24 | CraftItemStack result = CraftItemStack.asCraftMirror(this.result); 25 | CardboardSmithingRecipe recipe = new CardboardSmithingRecipe(CraftNamespacedKey.fromMinecraft(this.id), result, RecipeInterface.toBukkit(this.base), RecipeInterface.toBukkit(this.addition)); 26 | 27 | return recipe; 28 | }*/ 29 | 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/mixin/screen/MixinSmithingScreenHandler.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.mixin.screen; 2 | 3 | import org.cardboardpowered.impl.inventory.CardboardInventoryView; 4 | import org.cardboardpowered.impl.inventory.CardboardSmithingInventory; 5 | import org.bukkit.entity.Player; 6 | import org.spongepowered.asm.mixin.Mixin; 7 | 8 | import org.cardboardpowered.interfaces.IMixinServerEntityPlayer; 9 | 10 | import net.minecraft.screen.SmithingScreenHandler; 11 | 12 | @Mixin(SmithingScreenHandler.class) 13 | public class MixinSmithingScreenHandler extends MixinForgingScreenHandler { 14 | 15 | private CardboardInventoryView bukkitEntity; 16 | 17 | @Override 18 | public CardboardInventoryView getBukkitView() { 19 | if (bukkitEntity != null) return bukkitEntity; 20 | 21 | CardboardSmithingInventory inventory = new CardboardSmithingInventory(this.input, this.output); 22 | bukkitEntity = new CardboardInventoryView((Player)((IMixinServerEntityPlayer)this.player).getBukkitEntity(), inventory, (SmithingScreenHandler)(Object)this); 23 | return bukkitEntity; 24 | } 25 | 26 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/mixin/world/MixinChunkHolder.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.mixin.world; 2 | 3 | import org.spongepowered.asm.mixin.Mixin; 4 | import org.cardboardpowered.interfaces.IMixinChunkHolder; 5 | import net.minecraft.server.world.ChunkHolder; 6 | 7 | @Mixin(ChunkHolder.class) 8 | public class MixinChunkHolder implements IMixinChunkHolder { 9 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/mixin/world/MixinChunkRegion.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.mixin.world; 2 | 3 | import org.bukkit.event.entity.CreatureSpawnEvent; 4 | import org.spongepowered.asm.mixin.Mixin; 5 | import org.spongepowered.asm.mixin.Shadow; 6 | 7 | import net.minecraft.entity.Entity; 8 | import net.minecraft.world.ChunkRegion; 9 | 10 | @Mixin(ChunkRegion.class) 11 | public class MixinChunkRegion { 12 | 13 | public boolean addEntity(Entity entity, CreatureSpawnEvent.SpawnReason reason) { 14 | return spawnEntity(entity); 15 | } 16 | 17 | @Shadow 18 | public boolean spawnEntity(Entity entity) { 19 | return false; 20 | } 21 | 22 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/mixin/world/MixinChunkTicketType.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.mixin.world; 2 | 3 | import java.util.Comparator; 4 | 5 | import org.cardboardpowered.interfaces.IChunkTicketType; 6 | import org.spongepowered.asm.mixin.Mixin; 7 | import org.spongepowered.asm.mixin.Shadow; 8 | 9 | import net.minecraft.server.world.ChunkTicketType; 10 | import net.minecraft.util.Unit; 11 | 12 | @Mixin(ChunkTicketType.class) 13 | public class MixinChunkTicketType implements IChunkTicketType { 14 | 15 | private static final ChunkTicketType PLUGIN = create("plugin", (a, b) -> 0); 16 | 17 | @Override 18 | public ChunkTicketType getBukkitPluginTicketType() { 19 | return PLUGIN; 20 | } 21 | 22 | @Shadow 23 | public static ChunkTicketType create(String s, Comparator comparator) { 24 | return null; 25 | } 26 | 27 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/mixin/world/MixinCommandBlockExecutor.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.mixin.world; 2 | 3 | import org.bukkit.command.CommandSender; 4 | import org.spongepowered.asm.mixin.Mixin; 5 | 6 | import org.cardboardpowered.interfaces.IMixinCommandOutput; 7 | 8 | import net.minecraft.server.command.ServerCommandSource; 9 | import net.minecraft.world.CommandBlockExecutor; 10 | 11 | @Mixin(CommandBlockExecutor.class) 12 | public abstract class MixinCommandBlockExecutor implements IMixinCommandOutput { 13 | 14 | @Override 15 | public abstract CommandSender getBukkitSender(ServerCommandSource wrapper); 16 | 17 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/mixin/world/MixinServerWorldAccess.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.mixin.world; 2 | 3 | import org.spongepowered.asm.mixin.Mixin; 4 | 5 | import net.minecraft.entity.Entity; 6 | import net.minecraft.world.ServerWorldAccess; 7 | import net.minecraft.world.WorldAccess; 8 | 9 | @Mixin(ServerWorldAccess.class) 10 | public interface MixinServerWorldAccess extends WorldAccess { 11 | 12 | default boolean addAllEntities(Entity entity, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason reason) { 13 | entity.streamSelfAndPassengers().forEach((e) -> this.spawnEntity(e)); 14 | return !entity.isRemoved(); 15 | } 16 | 17 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/mixin/world/MixinThreadedAnvilChunkStorage.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.mixin.world; 2 | 3 | import org.spongepowered.asm.mixin.Mixin; 4 | import org.spongepowered.asm.mixin.Shadow; 5 | 6 | import org.cardboardpowered.interfaces.IMixinThreadedAnvilChunkStorage; 7 | 8 | import it.unimi.dsi.fastutil.longs.Long2ObjectLinkedOpenHashMap; 9 | import net.minecraft.server.world.ChunkHolder; 10 | import net.minecraft.server.world.ServerChunkLoadingManager; 11 | 12 | @Mixin(ServerChunkLoadingManager.class) 13 | public class MixinThreadedAnvilChunkStorage implements IMixinThreadedAnvilChunkStorage { 14 | 15 | @Shadow 16 | public Long2ObjectLinkedOpenHashMap chunkHolders; 17 | 18 | @Override 19 | public Long2ObjectLinkedOpenHashMap getChunkHoldersBF() { 20 | return chunkHolders; 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/mixin/world/MixinWorldAccess.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.mixin.world; 2 | 3 | import org.spongepowered.asm.mixin.Mixin; 4 | 5 | import net.minecraft.server.world.ServerWorld; 6 | import net.minecraft.world.WorldAccess; 7 | 8 | @Mixin(WorldAccess.class) 9 | public interface MixinWorldAccess { 10 | 11 | default ServerWorld getMinecraftWorld() { 12 | return (ServerWorld)(WorldAccess)(Object)this; 13 | } 14 | 15 | } -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/mixin/world/MixinWorldBorder.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.mixin.world; 2 | 3 | import java.util.List; 4 | 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.Shadow; 7 | import org.spongepowered.asm.mixin.injection.At; 8 | import org.spongepowered.asm.mixin.injection.Inject; 9 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 10 | 11 | import net.minecraft.world.border.WorldBorder; 12 | import net.minecraft.world.border.WorldBorderListener; 13 | 14 | @Mixin(WorldBorder.class) 15 | public class MixinWorldBorder { 16 | 17 | @Shadow 18 | public List listeners; 19 | 20 | @Inject(at = @At("HEAD"), method = "addListener", cancellable = true) 21 | public void addListenerBF(WorldBorderListener listener, CallbackInfo ci) { 22 | if (listeners.contains(listener)) { 23 | ci.cancel(); 24 | return; 25 | } 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/org/cardboardpowered/util/MixinInfo.java: -------------------------------------------------------------------------------- 1 | package org.cardboardpowered.util; 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.TYPE) 10 | public @interface MixinInfo { 11 | 12 | public boolean no_evnt_dis() default false; 13 | 14 | public String[] events() default {""}; 15 | 16 | } -------------------------------------------------------------------------------- /src/main/java/org/spigotmc/AsyncCatcher.java: -------------------------------------------------------------------------------- 1 | package org.spigotmc; 2 | 3 | public class AsyncCatcher { 4 | 5 | public static boolean enabled = false; 6 | 7 | public static void catchOp(String reason) { 8 | } 9 | 10 | } -------------------------------------------------------------------------------- /src/main/java/org/spigotmc/LimitStream.java: -------------------------------------------------------------------------------- 1 | package org.spigotmc; 2 | 3 | import java.io.FilterInputStream; 4 | import java.io.IOException; 5 | import java.io.InputStream; 6 | import net.minecraft.nbt.NbtSizeTracker; 7 | 8 | public class LimitStream extends FilterInputStream { 9 | 10 | private final NbtSizeTracker limit; 11 | 12 | public LimitStream(InputStream is, NbtSizeTracker limit) { 13 | super(is); 14 | this.limit = limit; 15 | } 16 | 17 | @Override 18 | public int read() throws IOException { 19 | limit.add(1); 20 | return super.read(); 21 | } 22 | 23 | @Override 24 | public int read(byte[] b) throws IOException { 25 | limit.add(b.length); 26 | return super.read(b); 27 | } 28 | 29 | @Override 30 | public int read(byte[] b, int off, int len) throws IOException { 31 | limit.add(len); 32 | return super.read(b, off, len); 33 | } 34 | 35 | } -------------------------------------------------------------------------------- /src/main/java/org/spigotmc/TrackingRange.java: -------------------------------------------------------------------------------- 1 | package org.spigotmc; 2 | 3 | import net.minecraft.entity.Entity; 4 | 5 | public class TrackingRange { 6 | 7 | /** 8 | * @param defaultRange Default range defined by Mojang 9 | */ 10 | public static int getEntityTrackingRange(Entity entity, int defaultRange) { 11 | return defaultRange; 12 | } 13 | 14 | public static TrackingRangeType getTrackingRangeType(Entity entity) { 15 | return TrackingRangeType.OTHER; 16 | } 17 | 18 | public static enum TrackingRangeType { 19 | PLAYER, ANIMAL, MONSTER, MISC, OTHER, ENDERDRAGON; 20 | } 21 | 22 | } -------------------------------------------------------------------------------- /src/main/java/org/spigotmc/ValidateUtils.java: -------------------------------------------------------------------------------- 1 | package org.spigotmc; 2 | 3 | public class ValidateUtils { 4 | 5 | public static String limit(String string, int limit) { 6 | if ( string.length() > limit ) 7 | return string.substring( 0, limit ); 8 | return string; 9 | } 10 | 11 | } -------------------------------------------------------------------------------- /src/main/resources/META-INF/services/io.papermc.paper.ServerBuildInfo: -------------------------------------------------------------------------------- 1 | io.papermc.paper.ServerBuildInfoImpl 2 | -------------------------------------------------------------------------------- /src/main/resources/META-INF/services/io.papermc.paper.registry.RegistryAccess: -------------------------------------------------------------------------------- 1 | io.papermc.paper.registry.PaperRegistryAccess 2 | -------------------------------------------------------------------------------- /src/main/resources/configurations/commands.yml: -------------------------------------------------------------------------------- 1 | # This is the commands configuration file for Bukkit. 2 | # For documentation on how to make use of this file, check out the Bukkit Wiki at 3 | # https://www.spigotmc.org/go/commands-yml 4 | # 5 | # If you need help on this file, feel free to join us on irc or leave a message 6 | # on the forums asking for advice. 7 | # 8 | # IRC: #spigot @ irc.spi.gt 9 | # (If this means nothing to you, just go to https://www.spigotmc.org/go/irc ) 10 | # Forums: https://www.spigotmc.org/ 11 | # Bug tracker: https://www.spigotmc.org/go/bugs 12 | 13 | command-block-overrides: [] 14 | ignore-vanilla-permissions: false 15 | aliases: 16 | icanhasbukkit: 17 | - "version $1-" 18 | --------------------------------------------------------------------------------