├── .editorconfig ├── .github └── workflows │ ├── build.yml │ ├── release.yml │ └── snapshot.yml ├── .gitignore ├── .idea └── icon.png ├── CHANGELOG.txt ├── CONTRIBUTING.md ├── CREDIT ├── LICENSE ├── README.md ├── build.gradle ├── buildSrc ├── build.gradle └── src │ └── main │ └── java │ └── io │ └── github │ └── fabricators_of_create │ └── porting_lib_build │ ├── PortingLibBuildPlugin.java │ ├── PortingLibExtension.java │ ├── ProjectProcessor.java │ ├── Utils.java │ ├── processor │ ├── DeduplicationProcessor.java │ └── ValidationProcessor.java │ └── tasks │ ├── FmjExpander.java │ ├── SortAccessWidenerTask.java │ └── ValidateModuleTask.java ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── modules ├── accessors │ ├── build.gradle │ └── src │ │ └── main │ │ ├── java │ │ └── io │ │ │ └── github │ │ │ └── fabricators_of_create │ │ │ └── porting_lib │ │ │ └── mixin │ │ │ └── accessors │ │ │ ├── client │ │ │ └── accessor │ │ │ │ ├── AbstractContainerScreenAccessor.java │ │ │ │ ├── AbstractSelectionList$EntryAccessor.java │ │ │ │ ├── AbstractSelectionListAccessor.java │ │ │ │ ├── AbstractWidgetAccessor.java │ │ │ │ ├── AgeableListModelAccessor.java │ │ │ │ ├── BlockModel$DeserializerAccessor.java │ │ │ │ ├── BlockRenderDispatcherAccessor.java │ │ │ │ ├── ClientPacketListenerAccessor.java │ │ │ │ ├── CommandSuggestions$SuggestionsListAccessor.java │ │ │ │ ├── FontAccessor.java │ │ │ │ ├── GameRendererAccessor.java │ │ │ │ ├── GuiAccessor.java │ │ │ │ ├── HumanoidModelAccessor.java │ │ │ │ ├── ItemInHandRendererAccessor.java │ │ │ │ ├── ItemRendererAccessor.java │ │ │ │ ├── KeyMappingAccessor.java │ │ │ │ ├── ModelBakeryAccessor.java │ │ │ │ ├── ModelPartAccessor.java │ │ │ │ ├── ParticleAccessor.java │ │ │ │ ├── ParticleEngineAccessor.java │ │ │ │ ├── RenderStateShardAccessor.java │ │ │ │ ├── RenderTypeAccessor.java │ │ │ │ ├── ScreenAccessor.java │ │ │ │ ├── SheetsAccessor.java │ │ │ │ ├── SimpleBakedModel$BuilderAccessor.java │ │ │ │ ├── TextureAtlasSprite$AnimatedTextureAccessor.java │ │ │ │ ├── TextureSheetParticleAccessor.java │ │ │ │ ├── TextureStateShardAccessor.java │ │ │ │ └── TitleScreenAccessor.java │ │ │ └── common │ │ │ └── accessor │ │ │ ├── AbstractMinecartAccessor.java │ │ │ ├── AbstractProjectileDispenseBehaviorAccessor.java │ │ │ ├── AdvancementProviderAccessor.java │ │ │ ├── ArrayVoxelShapeAccessor.java │ │ │ ├── AxeItemAccessor.java │ │ │ ├── BaseSpawnerAccessor.java │ │ │ ├── BeaconBlockEntityAccessor.java │ │ │ ├── BiomeManagerAccessor.java │ │ │ ├── BlockAccessor.java │ │ │ ├── BlockEntityAccessor.java │ │ │ ├── BlockLootSubProviderAccessor.java │ │ │ ├── BucketItemAccessor.java │ │ │ ├── BundleItemAccessor.java │ │ │ ├── ClientboundPlayerAbilitiesPacketAccessor.java │ │ │ ├── CubeVoxelShapeAccessor.java │ │ │ ├── EntityAccessor.java │ │ │ ├── HashMapPaletteAccessor.java │ │ │ ├── ItemAccessor.java │ │ │ ├── ItemValueAccessor.java │ │ │ ├── LiquidBlockAccessor.java │ │ │ ├── LivingEntityAccessor.java │ │ │ ├── MinecraftServerAccessor.java │ │ │ ├── MobAccessor.java │ │ │ ├── PackRepositoryAccessor.java │ │ │ ├── PaintingAccessor.java │ │ │ ├── PlayerAccessor.java │ │ │ ├── PotionBrewing$MixAccessor.java │ │ │ ├── PotionBrewingAccessor.java │ │ │ ├── RailStateAccessor.java │ │ │ ├── RecipeManagerAccessor.java │ │ │ ├── ServerGamePacketListenerImplAccessor.java │ │ │ ├── ServerPlayerAccessor.java │ │ │ ├── SlotAccessor.java │ │ │ ├── StructureTemplateAccessor.java │ │ │ ├── TagValueAccessor.java │ │ │ └── UseOnContextAccessor.java │ │ └── resources │ │ ├── fabric.mod.json │ │ ├── porting_lib_accessors.accesswidener │ │ └── porting_lib_accessors.mixins.json ├── asm │ ├── build.gradle │ └── src │ │ └── main │ │ ├── java │ │ └── io │ │ │ └── github │ │ │ └── fabricators_of_create │ │ │ └── porting_lib │ │ │ └── asm │ │ │ └── ASMUtils.java │ │ └── resources │ │ └── fabric.mod.json ├── attributes │ ├── build.gradle │ └── src │ │ └── main │ │ ├── java │ │ └── io │ │ │ └── github │ │ │ └── fabricators_of_create │ │ │ └── porting_lib │ │ │ └── attributes │ │ │ ├── PortingLibAttributes.java │ │ │ ├── extensions │ │ │ └── PlayerAttributesExtensions.java │ │ │ └── mixin │ │ │ ├── AttributeMapMixin.java │ │ │ ├── LivingEntityMixin.java │ │ │ └── PlayerMixin.java │ │ └── resources │ │ ├── assets │ │ └── porting_lib │ │ │ └── lang │ │ │ └── en_us.json │ │ ├── fabric.mod.json │ │ └── porting_lib_attributes.mixins.json ├── base │ ├── build.gradle │ └── src │ │ └── main │ │ ├── java │ │ └── io │ │ │ └── github │ │ │ └── fabricators_of_create │ │ │ └── porting_lib │ │ │ ├── PortingLibBase.java │ │ │ ├── PortingLibClient.java │ │ │ ├── block │ │ │ ├── BeaconColorMultiplierBlock.java │ │ │ ├── CaughtFireBlock.java │ │ │ ├── ChunkUnloadListeningBlockEntity.java │ │ │ ├── ConnectableRedstoneBlock.java │ │ │ ├── CullingBlockEntityIterator.java │ │ │ ├── CustomBurnabilityBlock.java │ │ │ ├── CustomDataPacketHandlingBlockEntity.java │ │ │ ├── CustomDestroyEffectsBlock.java │ │ │ ├── CustomExpBlock.java │ │ │ ├── CustomFrictionBlock.java │ │ │ ├── CustomHitEffectsBlock.java │ │ │ ├── CustomLandingEffectsBlock.java │ │ │ ├── CustomRenderBoundingBoxBlockEntity.java │ │ │ ├── CustomRunningEffectsBlock.java │ │ │ ├── CustomScaffoldingBlock.java │ │ │ ├── CustomSlimeBlock.java │ │ │ ├── CustomSoundTypeBlock.java │ │ │ ├── CustomUpdateTagHandlingBlockEntity.java │ │ │ ├── EntityDestroyBlock.java │ │ │ ├── ExplosionResistanceBlock.java │ │ │ ├── FireSourceBlock.java │ │ │ ├── HarvestableBlock.java │ │ │ ├── LightEmissiveBlock.java │ │ │ ├── MinecartPassHandlerBlock.java │ │ │ ├── NeighborChangeListeningBlock.java │ │ │ ├── PlayerDestroyBlock.java │ │ │ ├── SlopeCreationCheckingRailBlock.java │ │ │ ├── StickToBlock.java │ │ │ ├── StickyBlock.java │ │ │ ├── ValidSpawnBlock.java │ │ │ └── WeakPowerCheckingBlock.java │ │ │ ├── client │ │ │ ├── armor │ │ │ │ ├── ArmorRenderer.java │ │ │ │ └── ArmorRendererRegistry.java │ │ │ └── entity │ │ │ │ └── CustomBoatModel.java │ │ │ ├── command │ │ │ ├── ConfigCommand.java │ │ │ ├── EnumArgument.java │ │ │ └── ModIdArgument.java │ │ │ ├── data │ │ │ ├── ConditionalAdvancement.java │ │ │ └── ConditionalRecipe.java │ │ │ ├── enchant │ │ │ ├── CustomEnchantingBehaviorItem.java │ │ │ ├── CustomEnchantingTableBehaviorEnchantment.java │ │ │ └── EnchantmentBonusBlock.java │ │ │ ├── event │ │ │ ├── client │ │ │ │ ├── CameraSetupCallback.java │ │ │ │ ├── ClientWorldEvents.java │ │ │ │ ├── ColorHandlersCallback.java │ │ │ │ ├── CreateSkullModelsCallback.java │ │ │ │ ├── DrawSelectionEvents.java │ │ │ │ ├── EntityAddedLayerCallback.java │ │ │ │ ├── FieldOfViewEvents.java │ │ │ │ ├── FogEvents.java │ │ │ │ ├── InstanceRegistrationCallback.java │ │ │ │ ├── InteractEvents.java │ │ │ │ ├── KeyInputCallback.java │ │ │ │ ├── LivingEntityRenderEvents.java │ │ │ │ ├── MinecraftTailCallback.java │ │ │ │ ├── ModelLoadCallback.java │ │ │ │ ├── MouseInputEvents.java │ │ │ │ ├── OverlayRenderCallback.java │ │ │ │ ├── ParticleManagerRegistrationCallback.java │ │ │ │ ├── PreRenderTooltipCallback.java │ │ │ │ ├── RenderHandCallback.java │ │ │ │ ├── RenderPlayerEvents.java │ │ │ │ ├── RenderTickStartCallback.java │ │ │ │ ├── RenderTooltipBorderColorCallback.java │ │ │ │ └── TextureStitchCallback.java │ │ │ └── common │ │ │ │ ├── AddPackFindersCallback.java │ │ │ │ ├── AddPackFindersEvent.java │ │ │ │ ├── AdvancementCallback.java │ │ │ │ ├── AttackAirCallback.java │ │ │ │ ├── BlockEvents.java │ │ │ │ ├── ChunkTrackingCallback.java │ │ │ │ ├── ExplosionEvents.java │ │ │ │ ├── FluidPlaceBlockCallback.java │ │ │ │ ├── GrindstoneEvents.java │ │ │ │ ├── ItemCraftedCallback.java │ │ │ │ ├── ModsLoadedCallback.java │ │ │ │ ├── PotionEvents.java │ │ │ │ ├── RecipesUpdatedCallback.java │ │ │ │ └── TagsUpdatedCallback.java │ │ │ ├── extensions │ │ │ ├── BaseBlockStateExtension.java │ │ │ └── PackRepositoryExtension.java │ │ │ ├── item │ │ │ ├── ArmorTextureItem.java │ │ │ ├── ArmorTickListeningItem.java │ │ │ ├── BlockUseBypassingItem.java │ │ │ ├── ContinueUsingItem.java │ │ │ ├── CustomArrowItem.java │ │ │ ├── CustomEnchantmentLevelItem.java │ │ │ ├── CustomEnchantmentsItem.java │ │ │ ├── CustomMapItem.java │ │ │ ├── CustomMaxCountItem.java │ │ │ ├── DamageableItem.java │ │ │ ├── EntitySwingListenerItem.java │ │ │ ├── EntityTickListenerItem.java │ │ │ ├── EquipmentItem.java │ │ │ ├── InfiniteArrowItem.java │ │ │ ├── PiglinsNeutralItem.java │ │ │ ├── ReequipAnimationItem.java │ │ │ ├── ShieldBlockItem.java │ │ │ ├── UseFirstBehaviorItem.java │ │ │ ├── UsingTickItem.java │ │ │ ├── WalkOnSnowItem.java │ │ │ └── XpRepairItem.java │ │ │ ├── mixin │ │ │ ├── PortingLibMixinPlugin.java │ │ │ ├── client │ │ │ │ ├── AbstractClientPlayerMixin.java │ │ │ │ ├── AbstractTextureMixin.java │ │ │ │ ├── BlockColorsMixin.java │ │ │ │ ├── BlockRenderDispatcherMixin.java │ │ │ │ ├── BoatRendererMixin.java │ │ │ │ ├── CameraMixin.java │ │ │ │ ├── ChestRendererMixin.java │ │ │ │ ├── ClientLanguageAccessor.java │ │ │ │ ├── ClientLevelMixin.java │ │ │ │ ├── ClientPacketListenerMixin.java │ │ │ │ ├── CreateWorldScreenMixin.java │ │ │ │ ├── EntityRenderDispatcherMixin.java │ │ │ │ ├── FogRendererMixin.java │ │ │ │ ├── GameRendererMixin.java │ │ │ │ ├── GuiGraphicsMixin.java │ │ │ │ ├── GuiMixin.java │ │ │ │ ├── HumanoidArmorLayerMixin.java │ │ │ │ ├── I18nMixin.java │ │ │ │ ├── ItemColorsMixin.java │ │ │ │ ├── ItemFrameRendererMixin.java │ │ │ │ ├── ItemInHandRendererMixin.java │ │ │ │ ├── KeyboardHandlerMixin.java │ │ │ │ ├── LevelRendererMixin.java │ │ │ │ ├── LivingEntityRendererMixin.java │ │ │ │ ├── MapRendererMapInstanceMixin.java │ │ │ │ ├── MinecraftMixin.java │ │ │ │ ├── ModelBakeryMixin.java │ │ │ │ ├── ModelBlockRendererMixin.java │ │ │ │ ├── ModelStateMixin.java │ │ │ │ ├── MouseHandlerMixin.java │ │ │ │ ├── MultiPlayerGameModeMixin.java │ │ │ │ ├── ParticleEngineMixin.java │ │ │ │ ├── ParticleMixin.java │ │ │ │ ├── PlayerRendererMixin.java │ │ │ │ ├── PostChainMixin.java │ │ │ │ ├── RenderTargetMixin.java │ │ │ │ ├── SkullBlockRendererMixin.java │ │ │ │ ├── TextureAtlasMixin.java │ │ │ │ └── frex │ │ │ │ │ └── EntityBlockRenderContextMixin.java │ │ │ └── common │ │ │ │ ├── AbstractButtonAccessor.java │ │ │ │ ├── AbstractMinecartMixin.java │ │ │ │ ├── AnvilMenuMixin.java │ │ │ │ ├── AxeItemMixin.java │ │ │ │ ├── BambooStalkBlockMixin.java │ │ │ │ ├── BaseRailBlockMixin.java │ │ │ │ ├── BeaconBlockEntityMixin.java │ │ │ │ ├── BeardifierMixin.java │ │ │ │ ├── BlockBehavior$PropertiesMixin.java │ │ │ │ ├── BlockBehaviour$BlockStateBaseMixin.java │ │ │ │ ├── BlockEntityMixin.java │ │ │ │ ├── BlockGetterMixin.java │ │ │ │ ├── BlockItemMixin.java │ │ │ │ ├── BlockLightEngineMixin.java │ │ │ │ ├── BlockStateMixin.java │ │ │ │ ├── BoatMixin.java │ │ │ │ ├── BowItemMixin.java │ │ │ │ ├── BushBlockMixin.java │ │ │ │ ├── CactusBlockMixin.java │ │ │ │ ├── ChunkMapMixin.java │ │ │ │ ├── ChunkStatusMixin.java │ │ │ │ ├── ClipContextMixin.java │ │ │ │ ├── ConnectionMixin.java │ │ │ │ ├── DeadBushBlockMixin.java │ │ │ │ ├── DiodeBlockMixin.java │ │ │ │ ├── DropExperienceBlockMixin.java │ │ │ │ ├── EnchantmentHelperMixin.java │ │ │ │ ├── EnchantmentMenuMixin.java │ │ │ │ ├── EnchantmentMixin.java │ │ │ │ ├── EnchantmentTableBlockMixin.java │ │ │ │ ├── EntityCollisionContextMixin.java │ │ │ │ ├── EntityMixin.java │ │ │ │ ├── ExperienceOrbMixin.java │ │ │ │ ├── ExplosionDamageCalculatorMixin.java │ │ │ │ ├── ExplosionMixin.java │ │ │ │ ├── FireBlockMixin.java │ │ │ │ ├── FlyingMobMixin.java │ │ │ │ ├── GrindstoneMenuMixin.java │ │ │ │ ├── InventoryMixin.java │ │ │ │ ├── ItemEntityMixin.java │ │ │ │ ├── ItemPredicateMixin.java │ │ │ │ ├── ItemStackMixin.java │ │ │ │ ├── LavaFluidMixin.java │ │ │ │ ├── LeavesBlockMixin.java │ │ │ │ ├── LevelChunkMixin.java │ │ │ │ ├── LevelMixin.java │ │ │ │ ├── LevelReaderMixin.java │ │ │ │ ├── LightEngineMixin.java │ │ │ │ ├── LiquidBlockMixin.java │ │ │ │ ├── LivingEntityMixin.java │ │ │ │ ├── MainMixin.java │ │ │ │ ├── MapDecorationMixin.java │ │ │ │ ├── MapItemMixin.java │ │ │ │ ├── MobEffectInstanceMixin.java │ │ │ │ ├── MushroomCowMixin.java │ │ │ │ ├── NaturalSpawnerMixin.java │ │ │ │ ├── PackRepositoryMixin.java │ │ │ │ ├── PiglinAiMixin.java │ │ │ │ ├── PistonMovingBlockEntityMixin.java │ │ │ │ ├── PistonStructureResolverMixin.java │ │ │ │ ├── PlayerAdvancementsMixin.java │ │ │ │ ├── PlayerListMixin.java │ │ │ │ ├── PlayerMixin.java │ │ │ │ ├── PowderSnowBlockMixin.java │ │ │ │ ├── RailStateMixin.java │ │ │ │ ├── RecipeManagerMixin.java │ │ │ │ ├── RedStoneOreBlockMixin.java │ │ │ │ ├── RedStoneWireBlockMixin.java │ │ │ │ ├── ReloadableServerResourcesMixin.java │ │ │ │ ├── ResourceLocationMixin.java │ │ │ │ ├── ResultSlotMixin.java │ │ │ │ ├── SculkCatalystBlockMixin.java │ │ │ │ ├── SculkSensorBlockMixin.java │ │ │ │ ├── SculkShriekerBlockMixin.java │ │ │ │ ├── SeagrassBlockMixin.java │ │ │ │ ├── ServerLevelMixin.java │ │ │ │ ├── ServerPacksSourceMixin.java │ │ │ │ ├── ServerPlayerGameModeMixin.java │ │ │ │ ├── ShapedRecipeMixin.java │ │ │ │ ├── ShapelessRecipe$SerializerMixin.java │ │ │ │ ├── ShapelessRecipeMixin.java │ │ │ │ ├── SignalGetterMixin.java │ │ │ │ ├── SnowGolemMixin.java │ │ │ │ ├── SpawnerBlockMixin.java │ │ │ │ ├── StartAttackingMixin.java │ │ │ │ ├── StemBlockMixin.java │ │ │ │ ├── StructureProcessorMixin.java │ │ │ │ ├── StructureTemplateMixin.java │ │ │ │ ├── SugarCaneBlockMixin.java │ │ │ │ ├── TagAppenderMixin.java │ │ │ │ ├── TallGrassBlockMixin.java │ │ │ │ ├── TierMixin.java │ │ │ │ ├── TiersMixin.java │ │ │ │ ├── WitherBossMixin.java │ │ │ │ └── WitherSkullMixin.java │ │ │ ├── render │ │ │ └── MapDecorationIterator.java │ │ │ ├── resource │ │ │ └── DelegatingPackResources.java │ │ │ ├── util │ │ │ ├── AbstractSpawnerHelper.java │ │ │ ├── ArmorTextureRegistry.java │ │ │ ├── BiomeManagerHelper.java │ │ │ ├── BlockEntityHelper.java │ │ │ ├── BlockSnapshot.java │ │ │ ├── Constants.java │ │ │ ├── CyclePresentException.java │ │ │ ├── EntityHelper.java │ │ │ ├── FirstPersonRendererHelper.java │ │ │ ├── FontRenderUtil.java │ │ │ ├── ForgeI18n.java │ │ │ ├── GameRendererHelper.java │ │ │ ├── IdentifiableSimplePreparableReloadListener.java │ │ │ ├── ItemPredicateRegistry.java │ │ │ ├── ItemRendererHelper.java │ │ │ ├── KeyBindingHelper.java │ │ │ ├── LazyOptional.java │ │ │ ├── LazySoundType.java │ │ │ ├── LazySpawnEggItem.java │ │ │ ├── MaterialChest.java │ │ │ ├── MinecartAndRailUtil.java │ │ │ ├── MinecraftServerUtil.java │ │ │ ├── MultiItemValue.java │ │ │ ├── NBTSerializer.java │ │ │ ├── NetworkDirection.java │ │ │ ├── NetworkHooks.java │ │ │ ├── ParticleHelper.java │ │ │ ├── PlayerEntityHelper.java │ │ │ ├── PortingHooks.java │ │ │ ├── PotionHelper.java │ │ │ ├── ScreenHelper.java │ │ │ ├── ShapedRecipeUtil.java │ │ │ ├── SimpleFlowableFluid.java │ │ │ ├── StickinessUtil.java │ │ │ ├── StronglyConnectedComponentDetector.java │ │ │ ├── StructureTemplateUtils.java │ │ │ ├── TablePrinter.java │ │ │ ├── TagUtil.java │ │ │ ├── TierSortingRegistry.java │ │ │ ├── TopologicalSort.java │ │ │ ├── UsernameCache.java │ │ │ └── client │ │ │ │ ├── ClientHooks.java │ │ │ │ ├── ExtendedButton.java │ │ │ │ ├── ForgeSlider.java │ │ │ │ ├── ScreenUtils.java │ │ │ │ └── ScrollPanel.java │ │ │ └── world │ │ │ ├── PieceBeardifierIterator.java │ │ │ └── PieceBeardifierModifier.java │ │ └── resources │ │ ├── assets │ │ ├── forge │ │ │ ├── icon.png │ │ │ ├── models │ │ │ │ └── item │ │ │ │ │ ├── bucket.json │ │ │ │ │ ├── bucket_drip.json │ │ │ │ │ ├── default-tool.json │ │ │ │ │ └── default.json │ │ │ └── textures │ │ │ │ └── item │ │ │ │ └── mask │ │ │ │ ├── bucket_fluid.png │ │ │ │ ├── bucket_fluid_cover.png │ │ │ │ ├── bucket_fluid_cover_drip.png │ │ │ │ └── bucket_fluid_drip.png │ │ └── porting_lib │ │ │ ├── lang │ │ │ └── en_us.json │ │ │ └── white.png │ │ ├── data │ │ ├── c │ │ │ └── tags │ │ │ │ └── blocks │ │ │ │ └── rails │ │ │ │ └── activator.json │ │ └── forge │ │ │ └── loot_modifiers │ │ │ └── global_loot_modifiers.json │ │ ├── fabric.mod.json │ │ ├── porting_lib_base.accesswidener │ │ └── porting_lib_base.mixins.json ├── blocks │ ├── build.gradle │ └── src │ │ └── main │ │ ├── java │ │ └── io │ │ │ └── github │ │ │ └── fabricators_of_create │ │ │ └── porting_lib │ │ │ └── blocks │ │ │ ├── extensions │ │ │ └── OnExplodedBlock.java │ │ │ └── mixin │ │ │ └── ExplosionMixin.java │ │ └── resources │ │ ├── fabric.mod.json │ │ └── porting_lib_blocks.mixins.json ├── brewing │ ├── build.gradle │ └── src │ │ └── main │ │ ├── java │ │ └── io │ │ │ └── github │ │ │ └── fabricators_of_create │ │ │ └── porting_lib │ │ │ └── brewing │ │ │ ├── BrewingHandler.java │ │ │ ├── BrewingRecipe.java │ │ │ ├── BrewingRecipeRegistry.java │ │ │ ├── IBrewingRecipe.java │ │ │ ├── VanillaBrewingRecipe.java │ │ │ └── mixin │ │ │ ├── BrewingStandBlockEntityMixin.java │ │ │ ├── BrewingStandMenu$IngredientsSlotMixin.java │ │ │ └── BrewingStandMenu$PotionSlotMixin.java │ │ └── resources │ │ ├── fabric.mod.json │ │ └── porting_lib_brewing.mixins.json ├── chunk_loading │ ├── build.gradle │ └── src │ │ └── main │ │ ├── java │ │ └── io │ │ │ └── github │ │ │ └── fabricators_of_create │ │ │ └── porting_lib │ │ │ └── chunk │ │ │ └── loading │ │ │ ├── PortingLibChunkManager.java │ │ │ ├── extensions │ │ │ ├── DistanceManagerExtension.java │ │ │ ├── ForcedChunksSavedDataExtension.java │ │ │ ├── ServerChunkCacheExtension.java │ │ │ └── TicketExtension.java │ │ │ └── mixin │ │ │ ├── DistanceManagerMixin.java │ │ │ ├── ForcedChunksSavedDataMixin.java │ │ │ ├── MinecraftServerMixin.java │ │ │ ├── ServerChunkCacheMixin.java │ │ │ ├── ServerLevelMixin.java │ │ │ └── TicketMixin.java │ │ └── resources │ │ ├── fabric.mod.json │ │ └── porting_lib_chunk_loading.mixins.json ├── client_events │ ├── build.gradle │ └── src │ │ └── main │ │ ├── java │ │ └── io │ │ │ └── github │ │ │ └── fabricators_of_create │ │ │ └── porting_lib │ │ │ └── client_events │ │ │ ├── EntityShaderManager.java │ │ │ ├── event │ │ │ └── client │ │ │ │ ├── ClientPlayerNetworkCloneCallback.java │ │ │ │ ├── MovementInputUpdateCallback.java │ │ │ │ ├── PlaySoundCallback.java │ │ │ │ ├── PlaySoundSourceCallback.java │ │ │ │ ├── RegisterColorResolversCallback.java │ │ │ │ ├── RegisterEntitySpectatorShadersCallback.java │ │ │ │ └── RenderArmCallback.java │ │ │ └── mixin │ │ │ └── client │ │ │ ├── ClientLevelMixin.java │ │ │ ├── ClientPacketListenerMixin.java │ │ │ ├── GameRendererMixin.java │ │ │ ├── LocalPlayerMixin.java │ │ │ ├── PlayerRendererMixin.java │ │ │ └── SoundEngineMixin.java │ │ └── resources │ │ ├── fabric.mod.json │ │ └── porting_lib_client_events.mixins.json ├── common │ ├── build.gradle │ └── src │ │ └── main │ │ ├── java │ │ └── io │ │ │ └── github │ │ │ └── fabricators_of_create │ │ │ └── porting_lib │ │ │ └── common │ │ │ ├── extensions │ │ │ └── LanguageManagerExtensions.java │ │ │ ├── mixin │ │ │ └── client │ │ │ │ ├── LanguageManagerMixin.java │ │ │ │ └── accessor │ │ │ │ └── MinecraftAccessor.java │ │ │ └── util │ │ │ ├── IPlantable.java │ │ │ ├── Lazy.java │ │ │ ├── MinecraftClientUtil.java │ │ │ ├── MixinHelper.java │ │ │ ├── NonNullConsumer.java │ │ │ ├── NonNullFunction.java │ │ │ ├── NonNullSupplier.java │ │ │ ├── PlantType.java │ │ │ └── PlantUtil.java │ │ └── resources │ │ ├── fabric.mod.json │ │ └── porting_lib_common.mixins.json ├── config │ ├── build.gradle │ └── src │ │ └── main │ │ ├── java │ │ └── io │ │ │ └── github │ │ │ └── fabricators_of_create │ │ │ └── porting_lib │ │ │ └── config │ │ │ ├── ConfigEvents.java │ │ │ ├── ConfigRegistry.java │ │ │ ├── ConfigTracker.java │ │ │ ├── ConfigType.java │ │ │ ├── ModConfig.java │ │ │ ├── ModConfigSpec.java │ │ │ ├── PortingLibConfig.java │ │ │ ├── client │ │ │ └── PortingLibConfigClient.java │ │ │ └── mixin │ │ │ ├── client │ │ │ └── MinecraftMixin.java │ │ │ └── server │ │ │ └── MainMixin.java │ │ └── resources │ │ ├── fabric.mod.json │ │ ├── porting_lib_config.accesswidener │ │ └── porting_lib_config.mixins.json ├── core │ ├── build.gradle │ └── src │ │ └── main │ │ ├── java │ │ └── io │ │ │ └── github │ │ │ └── fabricators_of_create │ │ │ └── porting_lib │ │ │ └── core │ │ │ ├── PortingLib.java │ │ │ ├── event │ │ │ └── BaseEvent.java │ │ │ └── util │ │ │ ├── INBTSerializable.java │ │ │ └── LamdbaExceptionUtils.java │ │ └── resources │ │ └── fabric.mod.json ├── data │ ├── build.gradle │ └── src │ │ └── main │ │ ├── java │ │ └── io │ │ │ └── github │ │ │ └── fabricators_of_create │ │ │ └── porting_lib │ │ │ ├── data │ │ │ ├── DatapackBuiltinEntriesProvider.java │ │ │ ├── ExistingFileHelper.java │ │ │ ├── JsonCodecProvider.java │ │ │ ├── LanguageProvider.java │ │ │ ├── ModdedBlockLootSubProvider.java │ │ │ ├── ModdedEntityLootSubProvider.java │ │ │ ├── ModdedLootTableProvider.java │ │ │ ├── PortingLibItemTagsProvider.java │ │ │ ├── PortingLibTagsProvider.java │ │ │ ├── SoundDefinition.java │ │ │ ├── SoundDefinitionsProvider.java │ │ │ ├── SpriteSourceProvider.java │ │ │ ├── extensions │ │ │ │ └── MinecraftExtension.java │ │ │ └── mixin │ │ │ │ └── MinecraftMixin.java │ │ │ └── resources │ │ │ └── PathPackResources.java │ │ └── resources │ │ ├── fabric.mod.json │ │ ├── porting_lib_data.accesswidener │ │ └── porting_lib_data.mixins.json ├── entity │ ├── build.gradle │ └── src │ │ ├── main │ │ ├── java │ │ │ └── io │ │ │ │ └── github │ │ │ │ └── fabricators_of_create │ │ │ │ └── porting_lib │ │ │ │ └── entity │ │ │ │ ├── IEntityAdditionalSpawnData.java │ │ │ │ ├── ITeleporter.java │ │ │ │ ├── MultiPartEntity.java │ │ │ │ ├── PartEntity.java │ │ │ │ ├── PortingLibEntity.java │ │ │ │ ├── RemovalFromWorldListener.java │ │ │ │ ├── client │ │ │ │ ├── MobEffectRenderer.java │ │ │ │ └── PortingLibEntityClient.java │ │ │ │ ├── events │ │ │ │ ├── CriticalHitEvent.java │ │ │ │ ├── EntityDataEvents.java │ │ │ │ ├── EntityEventFactory.java │ │ │ │ ├── EntityEvents.java │ │ │ │ ├── EntityInteractCallback.java │ │ │ │ ├── EntityMountEvents.java │ │ │ │ ├── EntityReadExtraDataCallback.java │ │ │ │ ├── EntityStruckByLightningEvent.java │ │ │ │ ├── LivingAttackEvent.java │ │ │ │ ├── LivingDeathEvent.java │ │ │ │ ├── LivingEntityEvents.java │ │ │ │ ├── LivingEntityUseItemEvents.java │ │ │ │ ├── MinecartEvents.java │ │ │ │ ├── MobEntitySetTargetCallback.java │ │ │ │ ├── OnDatapackSyncCallback.java │ │ │ │ ├── PlayerEvents.java │ │ │ │ ├── PlayerInteractionEvents.java │ │ │ │ ├── PlayerTickEvents.java │ │ │ │ ├── ProjectileImpactCallback.java │ │ │ │ ├── ProjectileImpactEvent.java │ │ │ │ ├── ServerPlayerCreationCallback.java │ │ │ │ ├── ShieldBlockEvent.java │ │ │ │ ├── living │ │ │ │ │ ├── LivingDamageEvent.java │ │ │ │ │ ├── LivingHurtEvent.java │ │ │ │ │ └── MobEffectEvent.java │ │ │ │ └── player │ │ │ │ │ └── AttackEntityEvent.java │ │ │ │ ├── extensions │ │ │ │ ├── AbstractMinecartExtensions.java │ │ │ │ ├── EntityExtensions.java │ │ │ │ ├── ItemExtensions.java │ │ │ │ ├── LevelExtensions.java │ │ │ │ ├── MobEffectExtensions.java │ │ │ │ ├── PlayerExtension.java │ │ │ │ └── SlimeExtension.java │ │ │ │ └── mixin │ │ │ │ ├── client │ │ │ │ ├── ClientLevel$EntityCallbacksMixin.java │ │ │ │ ├── ClientLevelMixin.java │ │ │ │ ├── EffectRenderingInventoryScreenMixin.java │ │ │ │ ├── EntityRenderDispatcherMixin.java │ │ │ │ ├── GuiMixin.java │ │ │ │ ├── LocalPlayerMixin.java │ │ │ │ ├── MinecraftMixin.java │ │ │ │ ├── MultiPlayerGameModeMixin.java │ │ │ │ └── RemotePlayerMixin.java │ │ │ │ └── common │ │ │ │ ├── AbstractArrowMixin.java │ │ │ │ ├── AbstractHorseMixin.java │ │ │ │ ├── AbstractHurtingProjectileMixin.java │ │ │ │ ├── AbstractMinecartMixin.java │ │ │ │ ├── BlockBehaviourMixin.java │ │ │ │ ├── BlockableEventLoopAccessor.java │ │ │ │ ├── BundlePacketMixin.java │ │ │ │ ├── CatSpawnerMixin.java │ │ │ │ ├── ChorusFruitItemMixin.java │ │ │ │ ├── EnderManMixin.java │ │ │ │ ├── EntityAccessor.java │ │ │ │ ├── EntityMixin.java │ │ │ │ ├── ExperienceOrbMixin.java │ │ │ │ ├── FireworkRocketEntityMixin.java │ │ │ │ ├── FishingHookMixin.java │ │ │ │ ├── ItemMixin.java │ │ │ │ ├── LevelMixin.java │ │ │ │ ├── LightningBoltMixin.java │ │ │ │ ├── LivingEntityMixin.java │ │ │ │ ├── LlamaSpitMixin.java │ │ │ │ ├── MagmaCubeMixin.java │ │ │ │ ├── MobEffectMixin.java │ │ │ │ ├── MobMixin.java │ │ │ │ ├── NaturalSpawnerMixin.java │ │ │ │ ├── PatrolSpawnerMixin.java │ │ │ │ ├── PersistentEntitySectionManager$CallbackMixin.java │ │ │ │ ├── PersistentEntitySectionManagerMixin.java │ │ │ │ ├── PhantomSpawnerMixin.java │ │ │ │ ├── PlayerListMixin.java │ │ │ │ ├── PlayerMixin.java │ │ │ │ ├── PortalForcerMixin.java │ │ │ │ ├── ProjectileMixin.java │ │ │ │ ├── ProjectileUtilMixin.java │ │ │ │ ├── ServerEntityMixin.java │ │ │ │ ├── ServerGamePacketListenerImplInteractHandlerMixin.java │ │ │ │ ├── ServerLevelMixin.java │ │ │ │ ├── ServerPlayerGameModeMixin.java │ │ │ │ ├── ServerPlayerMixin.java │ │ │ │ ├── ShulkerBulletMixin.java │ │ │ │ ├── SlimeMixin.java │ │ │ │ ├── SpiderMixin.java │ │ │ │ ├── SpreadPlayersCommandMixin.java │ │ │ │ ├── TeleportCommandMixin.java │ │ │ │ ├── ThrowableProjectileMixin.java │ │ │ │ ├── ThrownEnderpearlMixin.java │ │ │ │ └── TransientEntitySectionManager$CallbackMixin.java │ │ └── resources │ │ │ ├── fabric.mod.json │ │ │ ├── porting_lib_entity.accesswidener │ │ │ └── porting_lib_entity.mixins.json │ │ └── testmod │ │ ├── java │ │ └── io │ │ │ └── github │ │ │ └── fabricators_of_create │ │ │ └── porting_lib │ │ │ └── entity │ │ │ └── testmod │ │ │ ├── CustomSlime.java │ │ │ ├── CustomSlimeRenderer.java │ │ │ ├── PortingLibEntityTestmod.java │ │ │ └── PortingLibEntityTestmodClient.java │ │ └── resources │ │ └── fabric.mod.json ├── extensions │ ├── build.gradle │ └── src │ │ └── main │ │ ├── java │ │ └── io │ │ │ └── github │ │ │ └── fabricators_of_create │ │ │ └── porting_lib │ │ │ └── extensions │ │ │ ├── ClientExtensionHooks.java │ │ │ ├── extensions │ │ │ ├── AbstractTextureExtensions.java │ │ │ ├── BaseRailBlockExtensions.java │ │ │ ├── BlockEntityExtensions.java │ │ │ ├── BlockExtensions.java │ │ │ ├── BlockItemExtensions.java │ │ │ ├── BlockStateExtensions.java │ │ │ ├── CameraExtensions.java │ │ │ ├── DimensionSpecialEffectsExtensions.java │ │ │ ├── EntityCollisionContextExtensions.java │ │ │ ├── GrindstoneMenuExtension.java │ │ │ ├── INBTSerializableCompound.java │ │ │ ├── IShearable.java │ │ │ ├── ItemExtensions.java │ │ │ ├── ItemStackExtensions.java │ │ │ ├── ItemTransformExtensions.java │ │ │ ├── LevelExtensions.java │ │ │ ├── LevelReaderExtensions.java │ │ │ ├── MapDecorationExtensions.java │ │ │ ├── MobEffectExtensions.java │ │ │ ├── MobEffectInstanceExtensions.java │ │ │ ├── ModelStateExtensions.java │ │ │ ├── ParticleExtensions.java │ │ │ ├── PoseStackExtensions.java │ │ │ ├── RenderTargetExtensions.java │ │ │ ├── ResourceLocationExtensions.java │ │ │ ├── SlotExtensions.java │ │ │ ├── SpriteContentsExtensions.java │ │ │ ├── StructureProcessorExtensions.java │ │ │ ├── StructureTemplateExtensions.java │ │ │ ├── TagAppenderExtensions.java │ │ │ ├── TierExtensions.java │ │ │ └── VertexFormatExtensions.java │ │ │ └── mixin │ │ │ ├── client │ │ │ ├── DimensionSpecialEffectsMixin.java │ │ │ ├── ItemTransformDeserializerMixin.java │ │ │ ├── ItemTransformMixin.java │ │ │ ├── LevelRendererMixin.java │ │ │ ├── LightTextureMixin.java │ │ │ ├── PoseStackMixin.java │ │ │ ├── SpriteContentsMixin.java │ │ │ └── VertexFormatMixin.java │ │ │ └── common │ │ │ ├── BlockMixin.java │ │ │ ├── ItemMixin.java │ │ │ ├── MobEffectMixin.java │ │ │ ├── SheepMixin.java │ │ │ ├── SlotMixin.java │ │ │ ├── TrunkPlacerMixin.java │ │ │ ├── VineBlockMixin.java │ │ │ └── WebBlockMixin.java │ │ └── resources │ │ ├── fabric.mod.json │ │ ├── porting_lib_extensions.accesswidener │ │ └── porting_lib_extensions.mixins.json ├── fluids │ ├── build.gradle │ └── src │ │ ├── main │ │ ├── java │ │ │ └── io │ │ │ │ └── github │ │ │ │ └── fabricators_of_create │ │ │ │ └── porting_lib │ │ │ │ └── fluids │ │ │ │ ├── BaseFlowingFluid.java │ │ │ │ ├── FluidInteractionRegistry.java │ │ │ │ ├── FluidStack.java │ │ │ │ ├── FluidType.java │ │ │ │ ├── PortingLibFluids.java │ │ │ │ ├── extensions │ │ │ │ ├── ConvertToSourceFluid.java │ │ │ │ ├── FluidExtension.java │ │ │ │ └── FluidStateExtension.java │ │ │ │ ├── mixin │ │ │ │ ├── FlowingFluidAccessor.java │ │ │ │ ├── FlowingFluidMixin.java │ │ │ │ ├── FluidMixin.java │ │ │ │ ├── FluidStateMixin.java │ │ │ │ └── LiquidBlockMixin.java │ │ │ │ ├── sound │ │ │ │ ├── SoundAction.java │ │ │ │ └── SoundActions.java │ │ │ │ └── wrapper │ │ │ │ ├── FabricFluidTypeWrapper.java │ │ │ │ ├── FluidAttributeFluidType.java │ │ │ │ └── MergingFluidAttributeFluidType.java │ │ └── resources │ │ │ ├── fabric.mod.json │ │ │ └── porting_lib_fluids.mixins.json │ │ └── testmod │ │ ├── java │ │ └── io │ │ │ └── github │ │ │ └── fabricators_of_create │ │ │ └── porting_lib │ │ │ └── fluids │ │ │ └── testmod │ │ │ └── PortingLibFluidsTestmod.java │ │ └── resources │ │ └── fabric.mod.json ├── gametest │ ├── build.gradle │ └── src │ │ └── main │ │ ├── java │ │ └── io │ │ │ └── github │ │ │ └── fabricators_of_create │ │ │ └── porting_lib │ │ │ └── gametest │ │ │ ├── PortingLibGameTest.java │ │ │ ├── PortingLibGameTestClient.java │ │ │ ├── extensions │ │ │ └── StructureBlockEntityExtensions.java │ │ │ ├── infrastructure │ │ │ ├── CustomGameTestHelper.java │ │ │ ├── ExtendedTestFunction.java │ │ │ ├── GameTestGroup.java │ │ │ ├── PortingLibGameTestHelper.java │ │ │ └── PortingLibStructures.java │ │ │ ├── mixin │ │ │ ├── StructureBlockEntityMixin.java │ │ │ └── TestCommandMixin.java │ │ │ ├── quickexport │ │ │ ├── AreaSelection.java │ │ │ ├── AreaSelectionRenderer.java │ │ │ ├── AreaSelectorItem.java │ │ │ ├── AreaSelectorTooltipProvider.java │ │ │ └── QuickExportCommand.java │ │ │ └── tests │ │ │ └── PortingLibGameTestTests.java │ │ └── resources │ │ ├── assets │ │ ├── porting_lib │ │ │ └── models │ │ │ │ └── item │ │ │ │ └── area_selector.json │ │ └── porting_lib_gametest │ │ │ └── lang │ │ │ └── en_us.json │ │ ├── data │ │ └── porting_lib_gametest │ │ │ └── structures │ │ │ └── gametest │ │ │ ├── platform │ │ │ ├── 18x3.nbt │ │ │ ├── 3x3.nbt │ │ │ ├── 5x5.nbt │ │ │ ├── 7x7.nbt │ │ │ └── 9x9.nbt │ │ │ └── test_testing │ │ │ └── test.nbt │ │ ├── fabric.mod.json │ │ ├── porting_lib_gametest.accesswidener │ │ └── porting_lib_gametest.mixins.json ├── gui_utils │ ├── build.gradle │ └── src │ │ └── main │ │ ├── java │ │ └── io │ │ │ └── github │ │ │ └── fabricators_of_create │ │ │ └── porting_lib │ │ │ └── gui │ │ │ ├── GuiHooks.java │ │ │ ├── events │ │ │ └── GatherComponentsEvent.java │ │ │ ├── extensions │ │ │ └── GuiGraphicsExtension.java │ │ │ ├── mixin │ │ │ └── GuiGraphicsMixin.java │ │ │ └── utils │ │ │ └── ModdedButton.java │ │ └── resources │ │ ├── fabric.mod.json │ │ ├── porting_lib_gui_utils.accesswidener │ │ └── porting_lib_gui_utils.mixins.json ├── items │ ├── build.gradle │ └── src │ │ ├── main │ │ ├── java │ │ │ └── io │ │ │ │ └── github │ │ │ │ └── fabricators_of_create │ │ │ │ └── porting_lib │ │ │ │ └── item │ │ │ │ ├── api │ │ │ │ ├── client │ │ │ │ │ ├── IItemDecorator.java │ │ │ │ │ └── callbacks │ │ │ │ │ │ └── ItemDecorationsCallback.java │ │ │ │ ├── extensions │ │ │ │ │ ├── CreativeModeTabExt.java │ │ │ │ │ └── RepairableItem.java │ │ │ │ └── itemgroup │ │ │ │ │ └── PortingLibCreativeTab.java │ │ │ │ └── impl │ │ │ │ ├── client │ │ │ │ ├── GlStateBackup.java │ │ │ │ └── ItemDecoratorHandler.java │ │ │ │ └── mixin │ │ │ │ ├── client │ │ │ │ ├── CreativeModeInventoryScreenMixin.java │ │ │ │ └── GuiGraphicsMixin.java │ │ │ │ └── common │ │ │ │ ├── CreativeModeTabMixin.java │ │ │ │ └── RepairItemRecipeMixin.java │ │ └── resources │ │ │ ├── fabric.mod.json │ │ │ ├── porting_lib_items.accesswidener │ │ │ └── porting_lib_items.mixins.json │ │ └── testmod │ │ ├── java │ │ └── io │ │ │ └── github │ │ │ └── fabricators_of_create │ │ │ └── porting_lib │ │ │ └── item │ │ │ └── testmod │ │ │ └── PortingLibItemsTestmod.java │ │ └── resources │ │ └── fabric.mod.json ├── lazy_registration │ ├── build.gradle │ └── src │ │ └── main │ │ ├── java │ │ └── io │ │ │ └── github │ │ │ └── fabricators_of_create │ │ │ └── porting_lib │ │ │ └── util │ │ │ ├── LazyRegistrar.java │ │ │ └── RegistryObject.java │ │ └── resources │ │ ├── fabric.mod.json │ │ └── porting_lib_lazy_registration.accesswidener ├── level_events │ ├── build.gradle │ └── src │ │ └── main │ │ ├── java │ │ └── io │ │ │ └── github │ │ │ └── fabricators_of_create │ │ │ └── porting_lib │ │ │ └── level │ │ │ ├── events │ │ │ ├── LevelEvent.java │ │ │ └── SleepFinishedTimeEvent.java │ │ │ └── mixin │ │ │ └── ServerLevelMixin.java │ │ └── resources │ │ ├── fabric.mod.json │ │ └── porting_lib_level_events.mixins.json ├── loot │ ├── build.gradle │ └── src │ │ └── main │ │ ├── java │ │ └── io │ │ │ └── github │ │ │ └── fabricators_of_create │ │ │ └── porting_lib │ │ │ └── loot │ │ │ ├── GlobalLootModifierProvider.java │ │ │ ├── IGlobalLootModifier.java │ │ │ ├── LootCollector.java │ │ │ ├── LootModifier.java │ │ │ ├── LootModifierManager.java │ │ │ ├── LootTableIdCondition.java │ │ │ ├── PortingLibLoot.java │ │ │ ├── extensions │ │ │ ├── LootContextExtensions.java │ │ │ ├── LootPoolBuilderExtension.java │ │ │ ├── LootPoolExtensions.java │ │ │ ├── LootTableBuilderExtensions.java │ │ │ └── LootTableExtensions.java │ │ │ └── mixin │ │ │ ├── LootContextMixin.java │ │ │ ├── LootDataTypeMixin.java │ │ │ ├── LootPoolMixin.java │ │ │ └── loottable │ │ │ └── LootTableMixin.java │ │ └── resources │ │ ├── fabric.mod.json │ │ └── porting_lib_loot.mixins.json ├── mixin_extensions │ ├── build.gradle │ └── src │ │ └── main │ │ ├── java │ │ └── io │ │ │ └── github │ │ │ └── fabricators_of_create │ │ │ └── porting_lib │ │ │ └── mixin_extensions │ │ │ ├── init │ │ │ ├── PortingLibMixinExtensions.java │ │ │ ├── PortingLibMixinExtensionsAP.java │ │ │ └── PortingLibMixinExtensionsPlugin.java │ │ │ ├── injectors │ │ │ └── wrap_variable │ │ │ │ ├── WrapVariable.java │ │ │ │ ├── WrapVariableInjectionInfo.java │ │ │ │ └── WrapVariableInjector.java │ │ │ └── points │ │ │ └── WrappableInjectionPoint.java │ │ └── resources │ │ ├── META-INF │ │ └── services │ │ │ └── javax.annotation.processing.Processor │ │ ├── fabric.mod.json │ │ └── porting_lib_mixin_extensions.mixins.json ├── model_builders │ ├── build.gradle │ └── src │ │ └── main │ │ ├── java │ │ └── io │ │ │ └── github │ │ │ └── fabricators_of_create │ │ │ └── porting_lib │ │ │ └── models │ │ │ └── builders │ │ │ ├── CompositeModelBuilder.java │ │ │ └── ItemLayerModelBuilder.java │ │ └── resources │ │ └── fabric.mod.json ├── model_generators │ ├── build.gradle │ └── src │ │ └── main │ │ ├── java │ │ └── io │ │ │ └── github │ │ │ └── fabricators_of_create │ │ │ └── porting_lib │ │ │ └── models │ │ │ └── generators │ │ │ ├── ConfiguredModel.java │ │ │ ├── CustomLoaderBuilder.java │ │ │ ├── IGeneratedBlockState.java │ │ │ ├── ModelBuilder.java │ │ │ ├── ModelFile.java │ │ │ ├── ModelProvider.java │ │ │ ├── block │ │ │ ├── BlockModelBuilder.java │ │ │ ├── BlockModelProvider.java │ │ │ ├── BlockStateProvider.java │ │ │ ├── MultiPartBlockStateBuilder.java │ │ │ └── VariantBlockStateBuilder.java │ │ │ ├── extensions │ │ │ └── BlockElementFaceExtensions.java │ │ │ ├── item │ │ │ ├── ItemModelBuilder.java │ │ │ └── ItemModelProvider.java │ │ │ └── mixin │ │ │ ├── BlockElementFaceDeserializerMixin.java │ │ │ └── BlockElementFaceMixin.java │ │ └── resources │ │ ├── fabric.mod.json │ │ ├── porting_lib_model_generators.accesswidener │ │ └── porting_lib_model_generators.mixins.json ├── model_loader │ ├── build.gradle │ └── src │ │ └── main │ │ ├── java │ │ └── io │ │ │ └── github │ │ │ └── fabricators_of_create │ │ │ └── porting_lib │ │ │ └── models │ │ │ ├── QuadTransformers.java │ │ │ ├── UnbakedGeometryHelper.java │ │ │ └── geometry │ │ │ ├── EmptyModel.java │ │ │ ├── GeometryLoaderManager.java │ │ │ ├── IGeometryLoader.java │ │ │ ├── IUnbakedGeometry.java │ │ │ ├── NullGeometryLoader.java │ │ │ ├── RegisterGeometryLoadersCallback.java │ │ │ ├── SimpleModelState.java │ │ │ ├── VisibilityData.java │ │ │ ├── extensions │ │ │ ├── BlockModelExtensions.java │ │ │ └── TransformationExtensions.java │ │ │ └── mixin │ │ │ ├── client │ │ │ ├── BlockModelDeserializerMixin.java │ │ │ └── BlockModelMixin.java │ │ │ └── common │ │ │ └── TransformationMixin.java │ │ └── resources │ │ ├── fabric.mod.json │ │ ├── porting_lib_model_loader.accesswidener │ │ └── porting_lib_model_loader.mixins.json ├── model_materials │ ├── build.gradle │ └── src │ │ └── main │ │ ├── java │ │ └── io │ │ │ └── github │ │ │ └── fabricators_of_create │ │ │ └── porting_lib │ │ │ └── models │ │ │ └── materials │ │ │ ├── MaterialData.java │ │ │ ├── extensions │ │ │ └── BakedQuadExtensions.java │ │ │ └── mixin │ │ │ └── BakedQuadMixin.java │ │ └── resources │ │ ├── fabric.mod.json │ │ ├── porting_lib_model_materials.accesswidener │ │ └── porting_lib_model_materials.mixins.json ├── models │ ├── build.gradle │ └── src │ │ ├── main │ │ ├── java │ │ │ └── io │ │ │ │ └── github │ │ │ │ └── fabricators_of_create │ │ │ │ └── porting_lib │ │ │ │ └── models │ │ │ │ ├── BakedMeshModel.java │ │ │ │ ├── CompositeModel.java │ │ │ │ ├── CompositeModelLoader.java │ │ │ │ ├── ConcatenatedListView.java │ │ │ │ ├── CustomBlendModeModel.java │ │ │ │ ├── CustomParticleIconModel.java │ │ │ │ ├── DynamicFluidContainerModel.java │ │ │ │ ├── ElementsModel.java │ │ │ │ ├── ItemLayerModel.java │ │ │ │ ├── ModelLoader.java │ │ │ │ ├── PortingLibModelLoadingRegistry.java │ │ │ │ ├── PortingLibModels.java │ │ │ │ ├── RenderMaterialDeserializer.java │ │ │ │ ├── RenderMaterialModel.java │ │ │ │ ├── TransformTypeDependentItemBakedModel.java │ │ │ │ ├── extensions │ │ │ │ ├── BlockModelExtensions.java │ │ │ │ ├── BlockParticleOptionExtensions.java │ │ │ │ └── TerrainParticleExtensions.java │ │ │ │ ├── internal │ │ │ │ └── TransformTypeDependentModelHelper.java │ │ │ │ ├── mixin │ │ │ │ ├── BlockParticleOptionMixin.java │ │ │ │ ├── EntityMixin.java │ │ │ │ ├── LivingEntityMixin.java │ │ │ │ ├── PortingLibModelsPlugin.java │ │ │ │ └── client │ │ │ │ │ ├── BlockModelDeserializerMixin.java │ │ │ │ │ ├── BlockModelMixin.java │ │ │ │ │ ├── ItemRendererMixin.java │ │ │ │ │ ├── ParticleEngineMixin.java │ │ │ │ │ ├── ScreenEffectRendererMixin.java │ │ │ │ │ ├── TerrainParticle$ProviderMixin.java │ │ │ │ │ ├── TerrainParticleMixin.java │ │ │ │ │ ├── TextureSheetParticleAccessor.java │ │ │ │ │ └── frex │ │ │ │ │ └── ItemRenderContextMixin.java │ │ │ │ ├── util │ │ │ │ ├── RenderTypeUtil.java │ │ │ │ └── TransformationHelper.java │ │ │ │ └── virtual │ │ │ │ ├── FixedColorTintingBakedModel.java │ │ │ │ ├── FixedLightBakedModel.java │ │ │ │ └── TranslucentBakedModel.java │ │ └── resources │ │ │ ├── fabric.mod.json │ │ │ ├── porting_lib_models.accesswidener │ │ │ └── porting_lib_models.mixins.json │ │ └── testmod │ │ ├── java │ │ └── io │ │ │ └── github │ │ │ └── fabricators_of_create │ │ │ └── porting_lib │ │ │ └── models │ │ │ └── testmod │ │ │ ├── PortingLibModelsTestmod.java │ │ │ └── client │ │ │ ├── DerpyItemModel.java │ │ │ └── PortingLibModelsTestmodClient.java │ │ └── resources │ │ ├── assets │ │ └── porting_lib │ │ │ ├── blockstates │ │ │ └── not_glass.json │ │ │ ├── lang │ │ │ └── en_us.json │ │ │ └── models │ │ │ ├── block │ │ │ └── not_glass.json │ │ │ └── item │ │ │ ├── derp_helmet.json │ │ │ └── stone_2.json │ │ └── fabric.mod.json ├── networking │ ├── build.gradle │ └── src │ │ └── main │ │ ├── java │ │ └── me │ │ │ └── pepperbell │ │ │ └── simplenetworking │ │ │ ├── C2SPacket.java │ │ │ ├── Packet.java │ │ │ ├── S2CPacket.java │ │ │ ├── SimpleChannel.java │ │ │ └── SimpleNetworking.java │ │ └── resources │ │ └── fabric.mod.json ├── obj_loader │ ├── build.gradle │ └── src │ │ ├── main │ │ ├── java │ │ │ └── io │ │ │ │ └── github │ │ │ │ └── fabricators_of_create │ │ │ │ └── porting_lib │ │ │ │ ├── PortingLibObjLoader.java │ │ │ │ └── models │ │ │ │ └── obj │ │ │ │ ├── ObjBakedModel.java │ │ │ │ ├── ObjLoader.java │ │ │ │ ├── ObjMaterialLibrary.java │ │ │ │ ├── ObjModel.java │ │ │ │ ├── ObjParser.java │ │ │ │ └── ObjTokenizer.java │ │ └── resources │ │ │ └── fabric.mod.json │ │ └── testmod │ │ ├── java │ │ └── io │ │ │ └── github │ │ │ └── fabricators_of_create │ │ │ └── porting_lib │ │ │ └── obj_loader │ │ │ └── testmod │ │ │ ├── PortingLibObjLoaderTestmod.java │ │ │ └── RingItem.java │ │ └── resources │ │ ├── assets │ │ └── porting_lib │ │ │ └── models │ │ │ └── item │ │ │ ├── ring.json │ │ │ ├── ring.mtl │ │ │ └── ring.obj │ │ └── fabric.mod.json ├── recipe_book_categories │ ├── build.gradle │ └── src │ │ └── main │ │ ├── java │ │ └── io │ │ │ └── github │ │ │ └── fabricators_of_create │ │ │ └── porting_lib │ │ │ └── recipe_book_categories │ │ │ ├── RecipeBookRegistry.java │ │ │ └── mixin │ │ │ ├── ClientRecipeBookMixin.java │ │ │ └── RecipeBookCategoriesMixin.java │ │ └── resources │ │ ├── fabric.mod.json │ │ └── porting_lib_recipe_book_categories.mixins.json ├── registries │ ├── build.gradle │ └── src │ │ └── main │ │ ├── java │ │ └── io │ │ │ └── github │ │ │ └── fabricators_of_create │ │ │ └── porting_lib │ │ │ └── registries │ │ │ ├── DynamicRegistryHandler.java │ │ │ ├── RegistryEvents.java │ │ │ └── mixin │ │ │ ├── NetworkedRegistryDataAccessor.java │ │ │ ├── RegistryDataLoaderMixin.java │ │ │ └── RegistrySynchronizationMixin.java │ │ └── resources │ │ ├── fabric.mod.json │ │ ├── porting_lib_registries.accesswidener │ │ └── porting_lib_registries.mixins.json ├── tags │ ├── build.gradle │ └── src │ │ ├── generated │ │ └── resources │ │ │ ├── .cache │ │ │ ├── 0db07b083d8ec4867dc8d8bdff9548858228ce08 │ │ │ ├── 6962ca521ed0f04c0af588ee702ea5e92dd92bbf │ │ │ ├── 878c0710f526c0b7873f5817de08efcf0d1534b7 │ │ │ ├── 9897d8c3e92150bbf2fefe657c4abae25457fe85 │ │ │ ├── adaca8b06aaaf3f4d67b9cca4cb2c5464edbdcad │ │ │ └── eea7abfa3446d2a4e6ddd444e2bc333157ec6267 │ │ │ ├── assets │ │ │ └── porting_lib_tags │ │ │ │ └── lang │ │ │ │ └── en_us.json │ │ │ └── data │ │ │ └── c │ │ │ └── tags │ │ │ ├── blocks │ │ │ ├── amethyst_blocks.json │ │ │ ├── barrels.json │ │ │ ├── black_glass.json │ │ │ ├── black_glass_panes.json │ │ │ ├── blue_glass.json │ │ │ ├── blue_glass_panes.json │ │ │ ├── brown_glass.json │ │ │ ├── brown_glass_panes.json │ │ │ ├── chests.json │ │ │ ├── coal_blocks.json │ │ │ ├── coal_ores.json │ │ │ ├── cobblestone.json │ │ │ ├── colorless_glass.json │ │ │ ├── colorless_glass_panes.json │ │ │ ├── colorless_sand.json │ │ │ ├── copper_blocks.json │ │ │ ├── copper_ores.json │ │ │ ├── cyan_glass.json │ │ │ ├── cyan_glass_panes.json │ │ │ ├── deepslate_cobblestone.json │ │ │ ├── diamond_blocks.json │ │ │ ├── diamond_ores.json │ │ │ ├── emerald_blocks.json │ │ │ ├── emerald_ores.json │ │ │ ├── end_stones.json │ │ │ ├── ender_chests.json │ │ │ ├── enderman_place_on_blacklist.json │ │ │ ├── fence_gates.json │ │ │ ├── fences.json │ │ │ ├── glass_blocks.json │ │ │ ├── glass_panes.json │ │ │ ├── gold_blocks.json │ │ │ ├── gold_ores.json │ │ │ ├── gravel.json │ │ │ ├── gray_glass.json │ │ │ ├── gray_glass_panes.json │ │ │ ├── green_glass.json │ │ │ ├── green_glass_panes.json │ │ │ ├── infested_cobblestone.json │ │ │ ├── iron_blocks.json │ │ │ ├── iron_ores.json │ │ │ ├── lapis_blocks.json │ │ │ ├── lapis_ores.json │ │ │ ├── light_blue_glass.json │ │ │ ├── light_blue_glass_panes.json │ │ │ ├── light_gray_glass.json │ │ │ ├── light_gray_glass_panes.json │ │ │ ├── lime_glass.json │ │ │ ├── lime_glass_panes.json │ │ │ ├── magenta_glass.json │ │ │ ├── magenta_glass_panes.json │ │ │ ├── mossy_cobblestone.json │ │ │ ├── nether_brick_fences.json │ │ │ ├── netherite_blocks.json │ │ │ ├── netherite_scrap_ores.json │ │ │ ├── netherrack.json │ │ │ ├── normal_cobblestone.json │ │ │ ├── obsidian.json │ │ │ ├── orange_glass.json │ │ │ ├── orange_glass_panes.json │ │ │ ├── ore_bearing_ground │ │ │ │ ├── deepslate.json │ │ │ │ ├── netherrack.json │ │ │ │ └── stone.json │ │ │ ├── ore_rates │ │ │ │ ├── dense.json │ │ │ │ ├── singular.json │ │ │ │ └── sparse.json │ │ │ ├── ores.json │ │ │ ├── ores_in_ground │ │ │ │ ├── deepslate.json │ │ │ │ ├── netherrack.json │ │ │ │ └── stone.json │ │ │ ├── pink_glass.json │ │ │ ├── pink_glass_panes.json │ │ │ ├── purple_glass.json │ │ │ ├── purple_glass_panes.json │ │ │ ├── quartz_blocks.json │ │ │ ├── quartz_ores.json │ │ │ ├── raw_copper_blocks.json │ │ │ ├── raw_gold_blocks.json │ │ │ ├── raw_iron_blocks.json │ │ │ ├── red_glass.json │ │ │ ├── red_glass_panes.json │ │ │ ├── red_sand.json │ │ │ ├── redstone_blocks.json │ │ │ ├── redstone_ores.json │ │ │ ├── sand.json │ │ │ ├── sandstone.json │ │ │ ├── silica_glass.json │ │ │ ├── stained_glass.json │ │ │ ├── stained_glass_panes.json │ │ │ ├── stone.json │ │ │ ├── storage_blocks.json │ │ │ ├── tinted_glass.json │ │ │ ├── trapped_chests.json │ │ │ ├── white_glass.json │ │ │ ├── white_glass_panes.json │ │ │ ├── wooden_barrels.json │ │ │ ├── wooden_chests.json │ │ │ ├── wooden_fence_gates.json │ │ │ ├── wooden_fences.json │ │ │ ├── yellow_glass.json │ │ │ └── yellow_glass_panes.json │ │ │ ├── entity_types │ │ │ └── bosses.json │ │ │ ├── items │ │ │ ├── amethyst.json │ │ │ ├── amethyst_blocks.json │ │ │ ├── armors.json │ │ │ ├── axes.json │ │ │ ├── barrels.json │ │ │ ├── beetroot_seeds.json │ │ │ ├── black_dyes.json │ │ │ ├── black_glass.json │ │ │ ├── black_glass_panes.json │ │ │ ├── blaze_rods.json │ │ │ ├── blue_dyes.json │ │ │ ├── blue_glass.json │ │ │ ├── blue_glass_panes.json │ │ │ ├── bones.json │ │ │ ├── bookshelves.json │ │ │ ├── boots.json │ │ │ ├── bows.json │ │ │ ├── brick_ingots.json │ │ │ ├── brown_dyes.json │ │ │ ├── brown_glass.json │ │ │ ├── brown_glass_panes.json │ │ │ ├── chestplates.json │ │ │ ├── chests.json │ │ │ ├── coal_blocks.json │ │ │ ├── coal_ores.json │ │ │ ├── cobblestone.json │ │ │ ├── colorless_glass.json │ │ │ ├── colorless_glass_panes.json │ │ │ ├── colorless_sand.json │ │ │ ├── copper_blocks.json │ │ │ ├── copper_ingots.json │ │ │ ├── copper_ores.json │ │ │ ├── copper_raw_materials.json │ │ │ ├── crops.json │ │ │ ├── crops │ │ │ │ ├── beetroot.json │ │ │ │ ├── carrot.json │ │ │ │ ├── nether_wart.json │ │ │ │ ├── potato.json │ │ │ │ └── wheat.json │ │ │ ├── crossbows.json │ │ │ ├── cyan_dyes.json │ │ │ ├── cyan_glass.json │ │ │ ├── cyan_glass_panes.json │ │ │ ├── deepslate_cobblestone.json │ │ │ ├── diamond_blocks.json │ │ │ ├── diamond_ores.json │ │ │ ├── diamonds.json │ │ │ ├── dusts.json │ │ │ ├── dusts │ │ │ │ ├── glowstone.json │ │ │ │ ├── prismarine.json │ │ │ │ └── redstone.json │ │ │ ├── dyes.json │ │ │ ├── eggs.json │ │ │ ├── emerald_blocks.json │ │ │ ├── emerald_ores.json │ │ │ ├── emeralds.json │ │ │ ├── enchanting_fuels.json │ │ │ ├── end_stones.json │ │ │ ├── ender_chests.json │ │ │ ├── ender_pearls.json │ │ │ ├── feathers.json │ │ │ ├── fence_gates.json │ │ │ ├── fences.json │ │ │ ├── fishing_rods.json │ │ │ ├── gems.json │ │ │ ├── glass_blocks.json │ │ │ ├── glass_panes.json │ │ │ ├── gold_blocks.json │ │ │ ├── gold_ingots.json │ │ │ ├── gold_nuggets.json │ │ │ ├── gold_ores.json │ │ │ ├── gold_raw_materials.json │ │ │ ├── gravel.json │ │ │ ├── gray_dyes.json │ │ │ ├── gray_glass.json │ │ │ ├── gray_glass_panes.json │ │ │ ├── green_dyes.json │ │ │ ├── green_glass.json │ │ │ ├── green_glass_panes.json │ │ │ ├── gunpowder.json │ │ │ ├── heads.json │ │ │ ├── helmets.json │ │ │ ├── hoes.json │ │ │ ├── infested_cobblestone.json │ │ │ ├── ingots.json │ │ │ ├── iron_blocks.json │ │ │ ├── iron_ingots.json │ │ │ ├── iron_nuggets.json │ │ │ ├── iron_ores.json │ │ │ ├── iron_raw_materials.json │ │ │ ├── lapis.json │ │ │ ├── lapis_blocks.json │ │ │ ├── lapis_ores.json │ │ │ ├── leather.json │ │ │ ├── leggings.json │ │ │ ├── light_blue_dyes.json │ │ │ ├── light_blue_glass.json │ │ │ ├── light_blue_glass_panes.json │ │ │ ├── light_gray_dyes.json │ │ │ ├── light_gray_glass.json │ │ │ ├── light_gray_glass_panes.json │ │ │ ├── lime_dyes.json │ │ │ ├── lime_glass.json │ │ │ ├── lime_glass_panes.json │ │ │ ├── magenta_dyes.json │ │ │ ├── magenta_glass.json │ │ │ ├── magenta_glass_panes.json │ │ │ ├── melon_seeds.json │ │ │ ├── mossy_cobblestone.json │ │ │ ├── mushrooms.json │ │ │ ├── nether_brick_fences.json │ │ │ ├── nether_brick_ingots.json │ │ │ ├── nether_stars.json │ │ │ ├── netherite_blocks.json │ │ │ ├── netherite_ingots.json │ │ │ ├── netherite_scrap_ores.json │ │ │ ├── netherrack.json │ │ │ ├── normal_cobblestone.json │ │ │ ├── nuggets.json │ │ │ ├── obsidian.json │ │ │ ├── orange_dyes.json │ │ │ ├── orange_glass.json │ │ │ ├── orange_glass_panes.json │ │ │ ├── ore_bearing_ground │ │ │ │ ├── deepslate.json │ │ │ │ ├── netherrack.json │ │ │ │ └── stone.json │ │ │ ├── ore_rates │ │ │ │ ├── dense.json │ │ │ │ ├── singular.json │ │ │ │ └── sparse.json │ │ │ ├── ores.json │ │ │ ├── ores_in_ground │ │ │ │ ├── deepslate.json │ │ │ │ ├── netherrack.json │ │ │ │ └── stone.json │ │ │ ├── pickaxes.json │ │ │ ├── pink_dyes.json │ │ │ ├── pink_glass.json │ │ │ ├── pink_glass_panes.json │ │ │ ├── prismarine.json │ │ │ ├── pumpkin_seeds.json │ │ │ ├── purple_dyes.json │ │ │ ├── purple_glass.json │ │ │ ├── purple_glass_panes.json │ │ │ ├── quartz.json │ │ │ ├── quartz_blocks.json │ │ │ ├── quartz_ores.json │ │ │ ├── raw_copper_blocks.json │ │ │ ├── raw_gold_blocks.json │ │ │ ├── raw_iron_blocks.json │ │ │ ├── raw_materials.json │ │ │ ├── red_dyes.json │ │ │ ├── red_glass.json │ │ │ ├── red_glass_panes.json │ │ │ ├── red_sand.json │ │ │ ├── redstone_blocks.json │ │ │ ├── redstone_ores.json │ │ │ ├── rods.json │ │ │ ├── sand.json │ │ │ ├── sandstone.json │ │ │ ├── seeds.json │ │ │ ├── shears.json │ │ │ ├── shields.json │ │ │ ├── shovels.json │ │ │ ├── silica_glass.json │ │ │ ├── slimeballs.json │ │ │ ├── stained_glass.json │ │ │ ├── stained_glass_panes.json │ │ │ ├── stone.json │ │ │ ├── storage_blocks.json │ │ │ ├── string.json │ │ │ ├── swords.json │ │ │ ├── tinted_glass.json │ │ │ ├── tools.json │ │ │ ├── trapped_chests.json │ │ │ ├── tridents.json │ │ │ ├── wheat_seeds.json │ │ │ ├── white_dyes.json │ │ │ ├── white_glass.json │ │ │ ├── white_glass_panes.json │ │ │ ├── wooden_barrels.json │ │ │ ├── wooden_chests.json │ │ │ ├── wooden_fence_gates.json │ │ │ ├── wooden_fences.json │ │ │ ├── wooden_rods.json │ │ │ ├── yellow_dyes.json │ │ │ ├── yellow_glass.json │ │ │ └── yellow_glass_panes.json │ │ │ └── worldgen │ │ │ └── biome │ │ │ ├── is_cave.json │ │ │ ├── is_cold.json │ │ │ ├── is_cold │ │ │ ├── end.json │ │ │ └── overworld.json │ │ │ ├── is_coniferous.json │ │ │ ├── is_dense.json │ │ │ ├── is_dense │ │ │ └── overworld.json │ │ │ ├── is_desert.json │ │ │ ├── is_dry.json │ │ │ ├── is_dry │ │ │ ├── end.json │ │ │ ├── nether.json │ │ │ └── overworld.json │ │ │ ├── is_hot.json │ │ │ ├── is_hot │ │ │ ├── nether.json │ │ │ └── overworld.json │ │ │ ├── is_lush.json │ │ │ ├── is_mountain.json │ │ │ ├── is_mushroom.json │ │ │ ├── is_peak.json │ │ │ ├── is_plains.json │ │ │ ├── is_plateau.json │ │ │ ├── is_rare.json │ │ │ ├── is_sandy.json │ │ │ ├── is_slope.json │ │ │ ├── is_snowy.json │ │ │ ├── is_sparse.json │ │ │ ├── is_sparse │ │ │ └── overworld.json │ │ │ ├── is_spooky.json │ │ │ ├── is_swamp.json │ │ │ ├── is_underground.json │ │ │ ├── is_void.json │ │ │ ├── is_wasteland.json │ │ │ ├── is_water.json │ │ │ ├── is_wet.json │ │ │ └── is_wet │ │ │ └── overworld.json │ │ └── main │ │ ├── java │ │ └── io │ │ │ └── github │ │ │ └── fabricators_of_create │ │ │ └── porting_lib │ │ │ └── tags │ │ │ ├── TagHelper.java │ │ │ ├── Tags.java │ │ │ ├── data │ │ │ ├── BiomeTagsProvider.java │ │ │ ├── BlockTagProvider.java │ │ │ ├── DataGenerators.java │ │ │ ├── EntityTagProvider.java │ │ │ ├── FluidTagProvider.java │ │ │ ├── ItemTagLangProvider.java │ │ │ └── ItemTagProvider.java │ │ │ ├── extensions │ │ │ └── DyeExtension.java │ │ │ └── mixin │ │ │ └── DyeColorMixin.java │ │ └── resources │ │ ├── fabric.mod.json │ │ └── porting_lib_tags.mixins.json ├── tool_actions │ ├── build.gradle │ └── src │ │ ├── generated │ │ └── resources │ │ │ ├── .cache │ │ │ └── e363a18310a24f02bdb404f7180170842373bd76 │ │ │ └── data │ │ │ └── minecraft │ │ │ └── loot_tables │ │ │ └── blocks │ │ │ ├── acacia_leaves.json │ │ │ ├── azalea_leaves.json │ │ │ ├── birch_leaves.json │ │ │ ├── cherry_leaves.json │ │ │ ├── cobweb.json │ │ │ ├── dark_oak_leaves.json │ │ │ ├── dead_bush.json │ │ │ ├── fern.json │ │ │ ├── flowering_azalea_leaves.json │ │ │ ├── glow_lichen.json │ │ │ ├── grass.json │ │ │ ├── hanging_roots.json │ │ │ ├── jungle_leaves.json │ │ │ ├── large_fern.json │ │ │ ├── mangrove_leaves.json │ │ │ ├── nether_sprouts.json │ │ │ ├── oak_leaves.json │ │ │ ├── seagrass.json │ │ │ ├── small_dripleaf.json │ │ │ ├── spruce_leaves.json │ │ │ ├── tall_grass.json │ │ │ ├── tall_seagrass.json │ │ │ ├── twisting_vines.json │ │ │ ├── vine.json │ │ │ └── weeping_vines.json │ │ └── main │ │ ├── java │ │ └── io │ │ │ └── github │ │ │ └── fabricators_of_create │ │ │ └── porting_lib │ │ │ └── tool │ │ │ ├── ToolAction.java │ │ │ ├── ToolActions.java │ │ │ ├── addons │ │ │ └── ToolActionItem.java │ │ │ ├── data │ │ │ ├── ToolActionsData.java │ │ │ └── ToolActionsLootTableProvider.java │ │ │ ├── extensions │ │ │ ├── BlockExtensions.java │ │ │ ├── BlockStateExtensions.java │ │ │ ├── ItemStackExtensions.java │ │ │ └── VanillaToolActionItem.java │ │ │ ├── loot │ │ │ └── CanToolPerformAction.java │ │ │ └── mixin │ │ │ ├── AxeItemMixin.java │ │ │ ├── BambooSaplingBlockMixin.java │ │ │ ├── BambooStalkBlockMixin.java │ │ │ ├── BeehiveBlockMixin.java │ │ │ ├── BlockMixin.java │ │ │ ├── BlockStateMixin.java │ │ │ ├── BuilderAccessor.java │ │ │ ├── FishingHookMixin.java │ │ │ ├── FishingHookRendererMixin.java │ │ │ ├── FishingRodItemMixin.java │ │ │ ├── HoeItemMixin.java │ │ │ ├── InvertedLootItemConditionAccessor.java │ │ │ ├── ItemStackMixin.java │ │ │ ├── LivingEntityMixin.java │ │ │ ├── PickaxeItemMixin.java │ │ │ ├── PlayerMixin.java │ │ │ ├── PumpkinBlockMixin.java │ │ │ ├── ShearsItemMixin.java │ │ │ ├── ShieldItemMixin.java │ │ │ ├── ShovelItemMixin.java │ │ │ ├── StopHoldingItemIfNoLongerAdmiringMixin.java │ │ │ ├── SwordItemMixin.java │ │ │ └── TripWireBlockMixin.java │ │ └── resources │ │ ├── fabric.mod.json │ │ ├── porting_lib_tool_actions.accesswidener │ │ └── porting_lib_tool_actions.mixins.json ├── transfer │ ├── build.gradle │ └── src │ │ └── main │ │ ├── java │ │ └── io │ │ │ └── github │ │ │ └── fabricators_of_create │ │ │ └── porting_lib │ │ │ ├── PortingLibTransfer.java │ │ │ ├── transfer │ │ │ ├── MutableContainerItemContext.java │ │ │ ├── StorageViewArrayIterator.java │ │ │ ├── TransferUtil.java │ │ │ ├── ViewOnlyWrappedIterator.java │ │ │ ├── ViewOnlyWrappedStorageView.java │ │ │ ├── WrappedStorage.java │ │ │ ├── callbacks │ │ │ │ ├── TransactionCallback.java │ │ │ │ ├── TransactionFailCallback.java │ │ │ │ └── TransactionSuccessCallback.java │ │ │ ├── fluid │ │ │ │ ├── FluidTank.java │ │ │ │ ├── block │ │ │ │ │ └── BucketPickupHandlerWrapper.java │ │ │ │ └── item │ │ │ │ │ ├── FluidBucketWrapper.java │ │ │ │ │ └── FluidHandlerItemStack.java │ │ │ ├── internal │ │ │ │ ├── cache │ │ │ │ │ ├── ClientBlockApiCache.java │ │ │ │ │ ├── ClientFluidLookupCache.java │ │ │ │ │ ├── ClientItemLookupCache.java │ │ │ │ │ ├── EmptyFluidLookupCache.java │ │ │ │ │ └── EmptyItemLookupCache.java │ │ │ │ └── extensions │ │ │ │ │ ├── ClientLevelExtensions.java │ │ │ │ │ └── LevelExtensions.java │ │ │ ├── item │ │ │ │ ├── BundleStorage.java │ │ │ │ ├── ItemHandlerHelper.java │ │ │ │ ├── ItemItemStorages.java │ │ │ │ ├── ItemStackHandler.java │ │ │ │ ├── ItemStackHandlerContainer.java │ │ │ │ ├── ItemStackHandlerContainerItemContext.java │ │ │ │ ├── ItemStackHandlerSlot.java │ │ │ │ ├── RecipeWrapper.java │ │ │ │ ├── ShulkerBoxStorage.java │ │ │ │ ├── SlotItemHandler.java │ │ │ │ └── SlottedStackStorage.java │ │ │ └── mixin │ │ │ │ ├── client │ │ │ │ └── ClientLevelMixin.java │ │ │ │ └── common │ │ │ │ ├── LevelMixin.java │ │ │ │ └── ServerLevelMixin.java │ │ │ └── util │ │ │ ├── DualSortedSetIterator.java │ │ │ ├── EmptySortedSet.java │ │ │ ├── FluidTextUtil.java │ │ │ ├── FluidUnit.java │ │ │ ├── FluidUtil.java │ │ │ ├── ItemStackUtil.java │ │ │ └── StorageProvider.java │ │ └── resources │ │ ├── fabric.mod.json │ │ ├── porting_lib_transfer.accesswidener │ │ └── porting_lib_transfer.mixins.json └── utility │ ├── build.gradle │ └── src │ └── main │ ├── java │ └── io │ │ └── github │ │ └── fabricators_of_create │ │ └── porting_lib │ │ ├── PortingLibUtility.java │ │ └── util │ │ ├── CraftingHelper.java │ │ ├── EnvExecutor.java │ │ ├── LazyTier.java │ │ ├── LogicalSidedProvider.java │ │ ├── ServerLifecycleHooks.java │ │ ├── SimpleRecipeType.java │ │ └── TrueCondition.java │ └── resources │ ├── fabric.mod.json │ └── porting_lib_utility.accesswidener ├── settings.gradle └── src └── main └── resources ├── assets └── porting_lib │ └── icon.png ├── fabric.mod.json └── template.fabric.mod.json /.gitignore: -------------------------------------------------------------------------------- 1 | # gradle 2 | 3 | .gradle/ 4 | build/ 5 | out/ 6 | classes/ 7 | 8 | # eclipse 9 | 10 | *.launch 11 | 12 | # idea 13 | 14 | .idea/ 15 | *.iml 16 | *.ipr 17 | *.iws 18 | 19 | # vscode 20 | 21 | .settings/ 22 | .vscode/ 23 | bin/ 24 | .classpath 25 | .project 26 | 27 | # macos 28 | 29 | *.DS_Store 30 | 31 | # fabric 32 | 33 | run/ 34 | -------------------------------------------------------------------------------- /.idea/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fabricators-of-Create/Porting-Lib/c42ad24ca1ecab323bfbfcb8b79e4a2c8e10bb61/.idea/icon.png -------------------------------------------------------------------------------- /CHANGELOG.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fabricators-of-Create/Porting-Lib/c42ad24ca1ecab323bfbfcb8b79e4a2c8e10bb61/CHANGELOG.txt -------------------------------------------------------------------------------- /CREDIT: -------------------------------------------------------------------------------- 1 | A lot of the mixins in this lib are replications of Forge features. 2 | Forge can be found here: https://github.com/MinecraftForge/MinecraftForge 3 | -------------------------------------------------------------------------------- /buildSrc/build.gradle: -------------------------------------------------------------------------------- 1 | repositories { 2 | mavenCentral() 3 | maven { url = "https://maven.fabricmc.net/" } 4 | } 5 | 6 | dependencies { 7 | implementation("com.google.code.gson:gson:2.10.1") 8 | implementation("net.fabricmc:fabric-loom:${readLoomVersion()}") 9 | } 10 | 11 | def readLoomVersion() { 12 | // cannot access directly during buildSrc configuration 13 | Properties properties = new Properties() 14 | // also can't use rootProject, it's buildSrc some reason 15 | properties.load(project.file("../gradle.properties").newReader()) 16 | return properties.get("loom_version") 17 | } 18 | -------------------------------------------------------------------------------- /buildSrc/src/main/java/io/github/fabricators_of_create/porting_lib_build/ProjectProcessor.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib_build; 2 | 3 | import org.gradle.api.Project; 4 | 5 | public interface ProjectProcessor { 6 | void apply(Project project); 7 | } 8 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fabricators-of-Create/Porting-Lib/c42ad24ca1ecab323bfbfcb8b79e4a2c8e10bb61/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.6-all.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /modules/accessors/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fabricators-of-Create/Porting-Lib/c42ad24ca1ecab323bfbfcb8b79e4a2c8e10bb61/modules/accessors/build.gradle -------------------------------------------------------------------------------- /modules/accessors/src/main/java/io/github/fabricators_of_create/porting_lib/mixin/accessors/common/accessor/AbstractMinecartAccessor.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.mixin.accessors.common.accessor; 2 | 3 | import org.spongepowered.asm.mixin.Mixin; 4 | import org.spongepowered.asm.mixin.gen.Invoker; 5 | 6 | import net.minecraft.world.entity.vehicle.AbstractMinecart; 7 | 8 | @Mixin(AbstractMinecart.class) 9 | public interface AbstractMinecartAccessor { 10 | @Invoker("getMaxSpeed") 11 | double port_lib$getMaxSpeed(); 12 | } 13 | -------------------------------------------------------------------------------- /modules/accessors/src/main/java/io/github/fabricators_of_create/porting_lib/mixin/accessors/common/accessor/BiomeManagerAccessor.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.mixin.accessors.common.accessor; 2 | 3 | import org.spongepowered.asm.mixin.Mixin; 4 | import org.spongepowered.asm.mixin.gen.Accessor; 5 | 6 | import net.minecraft.world.level.biome.BiomeManager; 7 | 8 | @Mixin(BiomeManager.class) 9 | public interface BiomeManagerAccessor { 10 | @Accessor("biomeZoomSeed") 11 | long port_lib$getBiomeZoomSeed(); 12 | } 13 | -------------------------------------------------------------------------------- /modules/accessors/src/main/java/io/github/fabricators_of_create/porting_lib/mixin/accessors/common/accessor/BucketItemAccessor.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.mixin.accessors.common.accessor; 2 | 3 | import org.spongepowered.asm.mixin.Mixin; 4 | import org.spongepowered.asm.mixin.gen.Accessor; 5 | 6 | import net.minecraft.world.item.BucketItem; 7 | import net.minecraft.world.level.material.Fluid; 8 | 9 | @Mixin(BucketItem.class) 10 | public interface BucketItemAccessor { 11 | @Accessor("content") 12 | Fluid port_lib$getContent(); 13 | } 14 | -------------------------------------------------------------------------------- /modules/accessors/src/main/java/io/github/fabricators_of_create/porting_lib/mixin/accessors/common/accessor/LiquidBlockAccessor.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.mixin.accessors.common.accessor; 2 | 3 | import org.spongepowered.asm.mixin.Mixin; 4 | import org.spongepowered.asm.mixin.gen.Accessor; 5 | 6 | import net.minecraft.world.level.block.LiquidBlock; 7 | import net.minecraft.world.level.material.FlowingFluid; 8 | 9 | @Mixin(LiquidBlock.class) 10 | public interface LiquidBlockAccessor { 11 | @Accessor("fluid") 12 | FlowingFluid port_lib$getFluid(); 13 | } 14 | -------------------------------------------------------------------------------- /modules/accessors/src/main/java/io/github/fabricators_of_create/porting_lib/mixin/accessors/common/accessor/PlayerAccessor.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.mixin.accessors.common.accessor; 2 | 3 | import org.spongepowered.asm.mixin.Mixin; 4 | import org.spongepowered.asm.mixin.gen.Invoker; 5 | 6 | import net.minecraft.world.entity.player.Player; 7 | 8 | @Mixin(Player.class) 9 | public interface PlayerAccessor { 10 | @Invoker("closeContainer") 11 | void port_lib$closeScreen(); 12 | } 13 | -------------------------------------------------------------------------------- /modules/accessors/src/main/java/io/github/fabricators_of_create/porting_lib/mixin/accessors/common/accessor/SlotAccessor.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.mixin.accessors.common.accessor; 2 | 3 | import org.spongepowered.asm.mixin.Mixin; 4 | import org.spongepowered.asm.mixin.gen.Accessor; 5 | 6 | import net.minecraft.world.inventory.Slot; 7 | 8 | @Mixin(Slot.class) 9 | public interface SlotAccessor { 10 | @Accessor("slot") 11 | int port_lib$getSlotIndex(); 12 | } 13 | -------------------------------------------------------------------------------- /modules/accessors/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "porting_lib_accessors", 4 | "version": "${version}", 5 | "name": "Porting Lib Accessors", 6 | "description": "Opens up access to Minecraft internals for other modules to use." 7 | } 8 | -------------------------------------------------------------------------------- /modules/asm/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fabricators-of-Create/Porting-Lib/c42ad24ca1ecab323bfbfcb8b79e4a2c8e10bb61/modules/asm/build.gradle -------------------------------------------------------------------------------- /modules/asm/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "porting_lib_asm", 4 | "version": "${version}", 5 | "name": "Porting Lib ASM", 6 | "description": "Utilities to make asm easier." 7 | } 8 | -------------------------------------------------------------------------------- /modules/attributes/build.gradle: -------------------------------------------------------------------------------- 1 | repositories { 2 | maven { 3 | url "https://maven.jamieswhiteshirt.com/libs-release" 4 | content { 5 | includeGroup "com.jamieswhiteshirt" 6 | } 7 | } 8 | } 9 | 10 | dependencies { 11 | modApi(include("com.jamieswhiteshirt:reach-entity-attributes:2.4.0")) 12 | } 13 | -------------------------------------------------------------------------------- /modules/attributes/src/main/java/io/github/fabricators_of_create/porting_lib/attributes/mixin/PlayerMixin.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.attributes.mixin; 2 | 3 | import io.github.fabricators_of_create.porting_lib.attributes.extensions.PlayerAttributesExtensions; 4 | 5 | import net.minecraft.world.entity.player.Player; 6 | 7 | import org.spongepowered.asm.mixin.Mixin; 8 | 9 | @Mixin(Player.class) 10 | public class PlayerMixin implements PlayerAttributesExtensions { 11 | // no need to do anything, all methods are defaulted. 12 | } 13 | -------------------------------------------------------------------------------- /modules/attributes/src/main/resources/assets/porting_lib/lang/en_us.json: -------------------------------------------------------------------------------- 1 | { 2 | "porting_lib.swim_speed": "Swim Speed", 3 | "porting_lib.name_tag_distance": "Nametag Render Distance", 4 | "porting_lib.entity_gravity": "Gravity", 5 | "porting_lib.step_height": "Step Height" 6 | } 7 | -------------------------------------------------------------------------------- /modules/attributes/src/main/resources/porting_lib_attributes.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "minVersion": "0.8", 4 | "priority": 951, 5 | "package": "io.github.fabricators_of_create.porting_lib.attributes.mixin", 6 | "compatibilityLevel": "JAVA_17", 7 | "mixins": [ 8 | "AttributeMapMixin", 9 | "LivingEntityMixin", 10 | "PlayerMixin" 11 | ], 12 | "injectors": { 13 | "defaultRequire": 1, 14 | "maxShiftBy": 5 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /modules/base/build.gradle: -------------------------------------------------------------------------------- 1 | portingLib.addModuleDependencies([ 2 | "lazy_registration", 3 | "tool_actions", 4 | "extensions", 5 | "gui_utils", 6 | "transfer", 7 | "utility", 8 | "entity", 9 | "common", 10 | "config", 11 | "tags" 12 | ]) 13 | 14 | dependencies { 15 | modCompileOnly("io.vram:frex-fabric:$frex_version") 16 | } 17 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/block/ChunkUnloadListeningBlockEntity.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.block; 2 | 3 | import io.github.fabricators_of_create.porting_lib.extensions.extensions.BlockEntityExtensions; 4 | 5 | public interface ChunkUnloadListeningBlockEntity { 6 | default void onChunkUnloaded() { 7 | if (this instanceof BlockEntityExtensions ex) { 8 | ex.invalidateCaps(); 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/block/CustomBurnabilityBlock.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.block; 2 | 3 | import net.minecraft.world.level.block.FireBlock; 4 | import net.minecraft.world.level.block.state.BlockState; 5 | 6 | /** 7 | * Allows blocks to control their burnability based on their state 8 | * @see FireBlock#canBurn(BlockState) 9 | */ 10 | public interface CustomBurnabilityBlock { 11 | /** 12 | * @return true if the provided state is burnable by fire 13 | */ 14 | boolean canBurn(BlockState state); 15 | } 16 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/block/CustomDataPacketHandlingBlockEntity.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.block; 2 | 3 | import net.minecraft.network.Connection; 4 | import net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket; 5 | 6 | public interface CustomDataPacketHandlingBlockEntity { 7 | void onDataPacket(Connection connection, ClientboundBlockEntityDataPacket packet); 8 | } 9 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/block/CustomFrictionBlock.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.block; 2 | 3 | import net.minecraft.core.BlockPos; 4 | import net.minecraft.world.entity.Entity; 5 | import net.minecraft.world.level.LevelReader; 6 | import net.minecraft.world.level.block.state.BlockState; 7 | 8 | public interface CustomFrictionBlock { 9 | float getFriction(BlockState state, LevelReader world, BlockPos pos, Entity entity); 10 | } 11 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/block/CustomRunningEffectsBlock.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.block; 2 | 3 | import net.minecraft.core.BlockPos; 4 | import net.minecraft.world.entity.Entity; 5 | import net.minecraft.world.level.Level; 6 | import net.minecraft.world.level.block.state.BlockState; 7 | 8 | public interface CustomRunningEffectsBlock { 9 | /** 10 | * @return true to prevent vanilla particles spawning 11 | */ 12 | boolean addRunningEffects(BlockState state, Level world, BlockPos pos, Entity entity); 13 | } 14 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/block/CustomSlimeBlock.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.block; 2 | 3 | import net.minecraft.world.level.block.Blocks; 4 | import net.minecraft.world.level.block.state.BlockState; 5 | 6 | public interface CustomSlimeBlock { 7 | /** 8 | * @param state The state 9 | * @return true if the block is sticky block which used for pull or push adjacent blocks (use by piston) 10 | */ 11 | default boolean isSlimeBlock(BlockState state) { 12 | return state.getBlock() == Blocks.SLIME_BLOCK; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/block/CustomSoundTypeBlock.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.block; 2 | 3 | import net.minecraft.core.BlockPos; 4 | import net.minecraft.world.entity.Entity; 5 | import net.minecraft.world.level.LevelReader; 6 | import net.minecraft.world.level.block.SoundType; 7 | import net.minecraft.world.level.block.state.BlockState; 8 | 9 | public interface CustomSoundTypeBlock { 10 | SoundType getSoundType(BlockState state, LevelReader world, BlockPos pos, Entity entity); 11 | } 12 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/block/CustomUpdateTagHandlingBlockEntity.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.block; 2 | 3 | import net.minecraft.nbt.CompoundTag; 4 | import net.minecraft.world.level.block.entity.BlockEntity; 5 | 6 | public interface CustomUpdateTagHandlingBlockEntity { 7 | default void handleUpdateTag(CompoundTag tag) { 8 | ((BlockEntity) this).load(tag); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/block/LightEmissiveBlock.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.block; 2 | 3 | import net.minecraft.core.BlockPos; 4 | import net.minecraft.world.level.BlockGetter; 5 | import net.minecraft.world.level.block.state.BlockState; 6 | 7 | public interface LightEmissiveBlock { 8 | default int getLightEmission(BlockState state, BlockGetter world, BlockPos pos) { 9 | return state.getLightEmission(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/block/MinecartPassHandlerBlock.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.block; 2 | 3 | import net.minecraft.core.BlockPos; 4 | import net.minecraft.world.entity.vehicle.AbstractMinecart; 5 | import net.minecraft.world.level.Level; 6 | import net.minecraft.world.level.block.state.BlockState; 7 | 8 | public interface MinecartPassHandlerBlock { 9 | void onMinecartPass(BlockState state, Level world, BlockPos pos, AbstractMinecart cart); 10 | } 11 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/block/NeighborChangeListeningBlock.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.block; 2 | 3 | import net.minecraft.core.BlockPos; 4 | import net.minecraft.world.level.LevelReader; 5 | import net.minecraft.world.level.block.state.BlockState; 6 | 7 | public interface NeighborChangeListeningBlock { 8 | void onNeighborChange(BlockState state, LevelReader world, BlockPos pos, BlockPos neighbor); 9 | } 10 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/block/SlopeCreationCheckingRailBlock.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.block; 2 | 3 | import javax.annotation.Nonnull; 4 | 5 | import net.minecraft.core.BlockPos; 6 | import net.minecraft.world.level.BlockGetter; 7 | import net.minecraft.world.level.block.state.BlockState; 8 | 9 | public interface SlopeCreationCheckingRailBlock { 10 | boolean canMakeSlopes(@Nonnull BlockState state, @Nonnull BlockGetter world, @Nonnull BlockPos pos); 11 | } 12 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/block/WeakPowerCheckingBlock.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.block; 2 | 3 | import net.minecraft.core.BlockPos; 4 | import net.minecraft.core.Direction; 5 | import net.minecraft.world.level.SignalGetter; 6 | import net.minecraft.world.level.block.state.BlockState; 7 | 8 | public interface WeakPowerCheckingBlock { 9 | boolean shouldCheckWeakPower(BlockState state, SignalGetter world, BlockPos pos, Direction side); 10 | } 11 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/client/entity/CustomBoatModel.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.client.entity; 2 | 3 | import com.mojang.datafixers.util.Pair; 4 | 5 | import net.minecraft.client.model.ListModel; 6 | import net.minecraft.resources.ResourceLocation; 7 | import net.minecraft.world.entity.vehicle.Boat; 8 | 9 | public interface CustomBoatModel { 10 | Pair> getModelWithLocation(Boat boat); 11 | } 12 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/extensions/PackRepositoryExtension.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.extensions; 2 | 3 | import net.minecraft.server.packs.repository.RepositorySource; 4 | 5 | public interface PackRepositoryExtension { 6 | default void pl$addPackFinder(RepositorySource packFinder) { 7 | throw new RuntimeException("PackRepository implementation does not support adding sources!"); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/item/ArmorTextureItem.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.item; 2 | 3 | import net.minecraft.world.entity.Entity; 4 | import net.minecraft.world.entity.EquipmentSlot; 5 | import net.minecraft.world.item.ItemStack; 6 | 7 | /** 8 | * An Armor Item with custom logic for getting the texture. 9 | */ 10 | public interface ArmorTextureItem { 11 | String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlot slot, String type); 12 | } 13 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/item/BlockUseBypassingItem.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.item; 2 | 3 | import net.minecraft.core.BlockPos; 4 | import net.minecraft.world.InteractionHand; 5 | import net.minecraft.world.entity.player.Player; 6 | import net.minecraft.world.level.Level; 7 | import net.minecraft.world.level.block.state.BlockState; 8 | 9 | public interface BlockUseBypassingItem { 10 | boolean shouldBypass(BlockState state, BlockPos pos, Level level, Player player, InteractionHand hand); 11 | } 12 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/item/CustomArrowItem.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.item; 2 | 3 | import net.minecraft.world.entity.projectile.AbstractArrow; 4 | 5 | // TODO: Implement on Illusioner and AbstractSkeleton 6 | public interface CustomArrowItem { 7 | default AbstractArrow customArrow(AbstractArrow arrow) { 8 | return arrow; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/item/CustomEnchantmentLevelItem.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.item; 2 | 3 | import net.minecraft.world.item.ItemStack; 4 | import net.minecraft.world.item.enchantment.Enchantment; 5 | 6 | public interface CustomEnchantmentLevelItem { 7 | /** 8 | * Modify the found level of an enchantment on this item. 9 | * @return the new level, or 'level' if unchanged 10 | */ 11 | int modifyEnchantmentLevel(ItemStack stack, Enchantment enchantment, int level); 12 | } 13 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/item/CustomMaxCountItem.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.item; 2 | 3 | import net.minecraft.world.item.ItemStack; 4 | 5 | public interface CustomMaxCountItem { 6 | int getItemStackLimit(ItemStack stack); 7 | } 8 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/item/EntitySwingListenerItem.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.item; 2 | 3 | import net.minecraft.world.entity.LivingEntity; 4 | import net.minecraft.world.item.ItemStack; 5 | 6 | public interface EntitySwingListenerItem { 7 | boolean onEntitySwing(ItemStack stack, LivingEntity entity); 8 | } 9 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/item/EntityTickListenerItem.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.item; 2 | 3 | import net.minecraft.world.entity.item.ItemEntity; 4 | import net.minecraft.world.item.ItemStack; 5 | 6 | public interface EntityTickListenerItem { 7 | boolean onEntityItemUpdate(ItemStack stack, ItemEntity entity); 8 | } 9 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/item/EquipmentItem.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.item; 2 | 3 | import net.minecraft.world.entity.EquipmentSlot; 4 | import net.minecraft.world.item.ItemStack; 5 | 6 | public interface EquipmentItem { 7 | EquipmentSlot getEquipmentSlot(ItemStack stack); 8 | } 9 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/item/ReequipAnimationItem.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.item; 2 | 3 | import net.minecraft.world.item.ItemStack; 4 | 5 | public interface ReequipAnimationItem { 6 | default boolean shouldCauseReequipAnimation(ItemStack oldStack, ItemStack newStack, boolean slotChanged) { 7 | return !oldStack.equals(newStack); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/item/XpRepairItem.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.item; 2 | 3 | import net.minecraft.world.item.ItemStack; 4 | 5 | public interface XpRepairItem { 6 | /** 7 | * Determines the amount of durability the mending enchantment 8 | * will repair, on average, per point of experience. 9 | */ 10 | default float getXpRepairRatio(ItemStack stack) { 11 | return 2f; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/mixin/client/ClientLanguageAccessor.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.mixin.client; 2 | 3 | import net.minecraft.client.resources.language.ClientLanguage; 4 | 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.gen.Accessor; 7 | 8 | import java.util.Map; 9 | 10 | @Mixin(ClientLanguage.class) 11 | public interface ClientLanguageAccessor { 12 | @Accessor("storage") 13 | Map port_lib$getStorage(); 14 | } 15 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/mixin/client/ModelStateMixin.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.mixin.client; 2 | 3 | import org.spongepowered.asm.mixin.Mixin; 4 | 5 | import io.github.fabricators_of_create.porting_lib.extensions.extensions.ModelStateExtensions; 6 | import net.minecraft.client.resources.model.ModelState; 7 | 8 | @Mixin(ModelState.class) 9 | public interface ModelStateMixin extends ModelStateExtensions { 10 | } 11 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/mixin/client/ParticleMixin.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.mixin.client; 2 | 3 | import io.github.fabricators_of_create.porting_lib.extensions.extensions.ParticleExtensions; 4 | import net.minecraft.client.particle.Particle; 5 | 6 | import org.spongepowered.asm.mixin.Mixin; 7 | 8 | @Mixin(Particle.class) 9 | public abstract class ParticleMixin implements ParticleExtensions { 10 | } 11 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/mixin/common/AbstractButtonAccessor.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.mixin.common; 2 | 3 | import net.minecraft.client.gui.components.AbstractButton; 4 | 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.gen.Invoker; 7 | 8 | @Mixin(AbstractButton.class) 9 | public interface AbstractButtonAccessor { 10 | @Invoker("getTextureY") 11 | int port_lib$getTextureY(); 12 | } 13 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/mixin/common/ChunkStatusMixin.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.mixin.common; 2 | 3 | import org.spongepowered.asm.mixin.Final; 4 | import org.spongepowered.asm.mixin.Mixin; 5 | import org.spongepowered.asm.mixin.Mutable; 6 | import org.spongepowered.asm.mixin.Shadow; 7 | 8 | import net.minecraft.world.level.chunk.ChunkStatus; 9 | 10 | @Mixin(ChunkStatus.class) 11 | public abstract class ChunkStatusMixin { 12 | @Shadow 13 | @Final 14 | @Mutable 15 | public static ChunkStatus FULL; 16 | } 17 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/mixin/common/DeadBushBlockMixin.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.mixin.common; 2 | 3 | import io.github.fabricators_of_create.porting_lib.extensions.extensions.IShearable; 4 | 5 | import org.spongepowered.asm.mixin.Mixin; 6 | 7 | import net.minecraft.world.level.block.DeadBushBlock; 8 | 9 | @Mixin(DeadBushBlock.class) 10 | public abstract class DeadBushBlockMixin implements IShearable { 11 | } 12 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/mixin/common/LeavesBlockMixin.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.mixin.common; 2 | 3 | import io.github.fabricators_of_create.porting_lib.extensions.extensions.IShearable; 4 | 5 | import org.spongepowered.asm.mixin.Mixin; 6 | 7 | import net.minecraft.world.level.block.LeavesBlock; 8 | 9 | @Mixin(LeavesBlock.class) 10 | public abstract class LeavesBlockMixin implements IShearable { 11 | } 12 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/mixin/common/LevelReaderMixin.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.mixin.common; 2 | 3 | import io.github.fabricators_of_create.porting_lib.extensions.extensions.LevelReaderExtensions; 4 | import net.minecraft.world.level.LevelReader; 5 | 6 | import org.spongepowered.asm.mixin.Mixin; 7 | 8 | @Mixin(LevelReader.class) 9 | public interface LevelReaderMixin extends LevelReaderExtensions { 10 | } 11 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/mixin/common/MapDecorationMixin.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.mixin.common; 2 | 3 | import io.github.fabricators_of_create.porting_lib.extensions.extensions.MapDecorationExtensions; 4 | import net.minecraft.world.level.saveddata.maps.MapDecoration; 5 | 6 | import org.spongepowered.asm.mixin.Mixin; 7 | 8 | @Mixin(MapDecoration.class) 9 | public abstract class MapDecorationMixin implements MapDecorationExtensions { 10 | } 11 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/mixin/common/SeagrassBlockMixin.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.mixin.common; 2 | 3 | import io.github.fabricators_of_create.porting_lib.extensions.extensions.IShearable; 4 | 5 | import org.spongepowered.asm.mixin.Mixin; 6 | 7 | import net.minecraft.world.level.block.SeagrassBlock; 8 | 9 | @Mixin(SeagrassBlock.class) 10 | public abstract class SeagrassBlockMixin implements IShearable { 11 | } 12 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/mixin/common/TallGrassBlockMixin.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.mixin.common; 2 | 3 | import io.github.fabricators_of_create.porting_lib.extensions.extensions.IShearable; 4 | 5 | import org.spongepowered.asm.mixin.Mixin; 6 | 7 | import net.minecraft.world.level.block.TallGrassBlock; 8 | 9 | @Mixin(TallGrassBlock.class) 10 | public abstract class TallGrassBlockMixin implements IShearable { 11 | } 12 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/mixin/common/TierMixin.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.mixin.common; 2 | 3 | import io.github.fabricators_of_create.porting_lib.extensions.extensions.TierExtensions; 4 | import net.minecraft.world.item.Tier; 5 | 6 | import org.spongepowered.asm.mixin.Mixin; 7 | 8 | @Mixin(Tier.class) 9 | public interface TierMixin extends TierExtensions { 10 | } 11 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/util/BlockEntityHelper.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.util; 2 | 3 | public class BlockEntityHelper { 4 | public static final String EXTRA_DATA_KEY = "ForgeData"; 5 | } 6 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/util/MaterialChest.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.util; 2 | 3 | import net.minecraft.client.resources.model.Material; 4 | import net.minecraft.world.level.block.entity.BlockEntity; 5 | import net.minecraft.world.level.block.entity.LidBlockEntity; 6 | import net.minecraft.world.level.block.state.properties.ChestType; 7 | 8 | public interface MaterialChest { 9 | Material getMaterial(T blockEntity, ChestType chestType); 10 | } 11 | -------------------------------------------------------------------------------- /modules/base/src/main/java/io/github/fabricators_of_create/porting_lib/util/ShapedRecipeUtil.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.util; 2 | 3 | public class ShapedRecipeUtil { 4 | public static int HEIGHT = 3; 5 | public static int WIDTH = 3; 6 | 7 | public static void setCraftingSize(int width, int height) { 8 | HEIGHT = height; 9 | WIDTH = width; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /modules/base/src/main/resources/assets/forge/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fabricators-of-Create/Porting-Lib/c42ad24ca1ecab323bfbfcb8b79e4a2c8e10bb61/modules/base/src/main/resources/assets/forge/icon.png -------------------------------------------------------------------------------- /modules/base/src/main/resources/assets/forge/models/item/bucket.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "parent": "forge:item/default", 4 | "textures": { 5 | "base": "item/bucket", 6 | "fluid": "forge:item/mask/bucket_fluid" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /modules/base/src/main/resources/assets/forge/models/item/bucket_drip.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "forge:item/default", 3 | "textures": { 4 | "base": "item/bucket", 5 | "fluid": "forge:item/mask/bucket_fluid_drip" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /modules/base/src/main/resources/assets/forge/textures/item/mask/bucket_fluid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fabricators-of-Create/Porting-Lib/c42ad24ca1ecab323bfbfcb8b79e4a2c8e10bb61/modules/base/src/main/resources/assets/forge/textures/item/mask/bucket_fluid.png -------------------------------------------------------------------------------- /modules/base/src/main/resources/assets/forge/textures/item/mask/bucket_fluid_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fabricators-of-Create/Porting-Lib/c42ad24ca1ecab323bfbfcb8b79e4a2c8e10bb61/modules/base/src/main/resources/assets/forge/textures/item/mask/bucket_fluid_cover.png -------------------------------------------------------------------------------- /modules/base/src/main/resources/assets/forge/textures/item/mask/bucket_fluid_cover_drip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fabricators-of-Create/Porting-Lib/c42ad24ca1ecab323bfbfcb8b79e4a2c8e10bb61/modules/base/src/main/resources/assets/forge/textures/item/mask/bucket_fluid_cover_drip.png -------------------------------------------------------------------------------- /modules/base/src/main/resources/assets/forge/textures/item/mask/bucket_fluid_drip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fabricators-of-Create/Porting-Lib/c42ad24ca1ecab323bfbfcb8b79e4a2c8e10bb61/modules/base/src/main/resources/assets/forge/textures/item/mask/bucket_fluid_drip.png -------------------------------------------------------------------------------- /modules/base/src/main/resources/assets/porting_lib/lang/en_us.json: -------------------------------------------------------------------------------- 1 | { 2 | "commands.porting_lib.arguments.enum.invalid": "Enum constant must be one of {0}, found {1}", 3 | 4 | "commands.config.getwithtype": "Config for %s of type %s found at %s", 5 | "commands.config.noconfig": "Config for %s of type %s not found" 6 | } 7 | -------------------------------------------------------------------------------- /modules/base/src/main/resources/assets/porting_lib/white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fabricators-of-Create/Porting-Lib/c42ad24ca1ecab323bfbfcb8b79e4a2c8e10bb61/modules/base/src/main/resources/assets/porting_lib/white.png -------------------------------------------------------------------------------- /modules/base/src/main/resources/data/c/tags/blocks/rails/activator.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:activator_rail" 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /modules/base/src/main/resources/data/forge/loot_modifiers/global_loot_modifiers.json: -------------------------------------------------------------------------------- 1 | { 2 | "comment": "Entries will be loaded, parsed, and executed in order, first to last. Duplicate entries will override earlier entries and missing entries will be ignored while replace:true will clear the list first.", 3 | "replace": false, 4 | "entries": [ 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /modules/blocks/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fabricators-of-Create/Porting-Lib/c42ad24ca1ecab323bfbfcb8b79e4a2c8e10bb61/modules/blocks/build.gradle -------------------------------------------------------------------------------- /modules/blocks/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "porting_lib_blocks", 4 | "version": "${version}", 5 | "name": "Porting Lib Blocks", 6 | "description": "Adds extra block extensions." 7 | } 8 | -------------------------------------------------------------------------------- /modules/blocks/src/main/resources/porting_lib_blocks.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "minVersion": "0.8", 4 | "package": "io.github.fabricators_of_create.porting_lib.blocks.mixin", 5 | "compatibilityLevel": "JAVA_17", 6 | "injectors": { 7 | "defaultRequire": 1 8 | }, 9 | "mixins": [ 10 | "ExplosionMixin" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /modules/brewing/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fabricators-of-Create/Porting-Lib/c42ad24ca1ecab323bfbfcb8b79e4a2c8e10bb61/modules/brewing/build.gradle -------------------------------------------------------------------------------- /modules/brewing/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "porting_lib_brewing", 4 | "version": "${version}", 5 | "name": "Porting Lib Brewing", 6 | "description": "Small library for adding brewing recipes" 7 | } 8 | -------------------------------------------------------------------------------- /modules/brewing/src/main/resources/porting_lib_brewing.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "minVersion": "0.8", 4 | "priority": 951, 5 | "package": "io.github.fabricators_of_create.porting_lib.brewing.mixin", 6 | "compatibilityLevel": "JAVA_17", 7 | "injectors": { 8 | "defaultRequire": 1, 9 | "maxShiftBy": 5 10 | }, 11 | "mixins": [ 12 | "BrewingStandBlockEntityMixin", 13 | "BrewingStandMenu$IngredientsSlotMixin", 14 | "BrewingStandMenu$PotionSlotMixin" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /modules/chunk_loading/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fabricators-of-Create/Porting-Lib/c42ad24ca1ecab323bfbfcb8b79e4a2c8e10bb61/modules/chunk_loading/build.gradle -------------------------------------------------------------------------------- /modules/chunk_loading/src/main/java/io/github/fabricators_of_create/porting_lib/chunk/loading/extensions/TicketExtension.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.chunk.loading.extensions; 2 | 3 | import org.jetbrains.annotations.ApiStatus; 4 | 5 | public interface TicketExtension { 6 | @ApiStatus.Internal 7 | default void setForceTicks(boolean forceTicks) { 8 | throw new RuntimeException(); 9 | } 10 | 11 | default boolean isForceTicks() { 12 | throw new RuntimeException(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /modules/chunk_loading/src/main/resources/porting_lib_chunk_loading.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "minVersion": "0.8", 4 | "priority": 951, 5 | "package": "io.github.fabricators_of_create.porting_lib.chunk.loading.mixin", 6 | "compatibilityLevel": "JAVA_17", 7 | "mixins": [ 8 | "DistanceManagerMixin", 9 | "ForcedChunksSavedDataMixin", 10 | "MinecraftServerMixin", 11 | "ServerChunkCacheMixin", 12 | "ServerLevelMixin", 13 | "TicketMixin" 14 | ], 15 | "injectors": { 16 | "defaultRequire": 1, 17 | "maxShiftBy": 5 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /modules/client_events/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fabricators-of-Create/Porting-Lib/c42ad24ca1ecab323bfbfcb8b79e4a2c8e10bb61/modules/client_events/build.gradle -------------------------------------------------------------------------------- /modules/client_events/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "porting_lib_client_events", 4 | "version": "${version}", 5 | "name": "Porting Lib Client Events", 6 | "description": "Some useful client events" 7 | } 8 | -------------------------------------------------------------------------------- /modules/client_events/src/main/resources/porting_lib_client_events.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "minVersion": "0.8", 4 | "priority": 951, 5 | "package": "io.github.fabricators_of_create.porting_lib.client_events.mixin.client", 6 | "compatibilityLevel": "JAVA_17", 7 | "client": [ 8 | "ClientLevelMixin", 9 | "ClientPacketListenerMixin", 10 | "GameRendererMixin", 11 | "LocalPlayerMixin", 12 | "PlayerRendererMixin", 13 | "SoundEngineMixin" 14 | ], 15 | "injectors": { 16 | "defaultRequire": 1, 17 | "maxShiftBy": 5 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /modules/common/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fabricators-of-Create/Porting-Lib/c42ad24ca1ecab323bfbfcb8b79e4a2c8e10bb61/modules/common/build.gradle -------------------------------------------------------------------------------- /modules/common/src/main/java/io/github/fabricators_of_create/porting_lib/common/util/NonNullConsumer.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.common.util; 2 | 3 | import java.util.Objects; 4 | import java.util.function.Consumer; 5 | 6 | @FunctionalInterface 7 | public interface NonNullConsumer extends Consumer { 8 | default NonNullConsumer andThen(NonNullConsumer after) { 9 | Objects.requireNonNull(after); 10 | return (T t) -> { accept(t); after.accept(t); }; 11 | } 12 | 13 | static NonNullConsumer noop() { 14 | return t -> {}; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /modules/common/src/main/java/io/github/fabricators_of_create/porting_lib/common/util/NonNullFunction.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.common.util; 2 | 3 | import java.util.Objects; 4 | import java.util.function.Function; 5 | 6 | @FunctionalInterface 7 | public interface NonNullFunction extends Function { 8 | default NonNullFunction andThen(NonNullFunction after) { 9 | Objects.requireNonNull(after); 10 | return t -> after.apply(apply(t)); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /modules/common/src/main/resources/porting_lib_common.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "minVersion": "0.8", 4 | "priority": 951, 5 | "package": "io.github.fabricators_of_create.porting_lib.common.mixin", 6 | "compatibilityLevel": "JAVA_17", 7 | "client": [ 8 | "client.LanguageManagerMixin", 9 | "client.accessor.MinecraftAccessor" 10 | ], 11 | "injectors": { 12 | "defaultRequire": 1, 13 | "maxShiftBy": 5 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /modules/config/build.gradle: -------------------------------------------------------------------------------- 1 | dependencies { 2 | // implementation("com.fasterxml.jackson.dataformat:jackson-dataformat-toml:2.15.2") 3 | // TODO: use https://github.com/mwanji/toml4j/tree/master instead? night config is a little bloated 4 | 5 | api(include("com.electronwill.night-config:toml:3.6.6")) 6 | api(include("com.electronwill.night-config:core:3.6.6")) 7 | } 8 | -------------------------------------------------------------------------------- /modules/config/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "porting_lib_config", 4 | "version": "${version}", 5 | "name": "Porting Lib Config", 6 | "description": "Super light weight implementation of forge's config library", 7 | "entrypoints": { 8 | "main": [ 9 | "io.github.fabricators_of_create.porting_lib.config.PortingLibConfig" 10 | ], 11 | "client": [ 12 | "io.github.fabricators_of_create.porting_lib.config.client.PortingLibConfigClient" 13 | ] 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /modules/config/src/main/resources/porting_lib_config.accesswidener: -------------------------------------------------------------------------------- 1 | accessWidener v2 named 2 | 3 | accessible method net/minecraft/world/level/storage/LevelResource (Ljava/lang/String;)V 4 | -------------------------------------------------------------------------------- /modules/config/src/main/resources/porting_lib_config.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "minVersion": "0.8", 4 | "priority": 951, 5 | "package": "io.github.fabricators_of_create.porting_lib.config.mixin", 6 | "compatibilityLevel": "JAVA_17", 7 | "injectors": { 8 | "defaultRequire": 1, 9 | "maxShiftBy": 5 10 | }, 11 | "client": [ 12 | "client.MinecraftMixin" 13 | ], 14 | "mixins": [ 15 | "server.MainMixin" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /modules/core/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fabricators-of-Create/Porting-Lib/c42ad24ca1ecab323bfbfcb8b79e4a2c8e10bb61/modules/core/build.gradle -------------------------------------------------------------------------------- /modules/core/src/main/java/io/github/fabricators_of_create/porting_lib/core/util/INBTSerializable.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.core.util; 2 | 3 | import net.minecraft.nbt.Tag; 4 | 5 | // can't inject this because generics 6 | public interface INBTSerializable { 7 | default T serializeNBT() { 8 | throw new RuntimeException("override serializeNBT!"); 9 | } 10 | 11 | default void deserializeNBT(T nbt) { 12 | throw new RuntimeException("override deserializeNBT!"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /modules/core/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "porting_lib_core", 4 | "version": "${version}", 5 | "name": "Porting Lib Core", 6 | "description": "Core functionality used across other modules." 7 | } 8 | -------------------------------------------------------------------------------- /modules/data/build.gradle: -------------------------------------------------------------------------------- 1 | portingLib.addModuleDependency("utility") 2 | -------------------------------------------------------------------------------- /modules/data/src/main/java/io/github/fabricators_of_create/porting_lib/data/extensions/MinecraftExtension.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.data.extensions; 2 | 3 | import net.minecraft.client.main.GameConfig; 4 | 5 | import org.jetbrains.annotations.ApiStatus; 6 | 7 | @ApiStatus.Internal 8 | public interface MinecraftExtension { 9 | GameConfig port_lib$getGameConfig(); 10 | } 11 | -------------------------------------------------------------------------------- /modules/data/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "porting_lib_data", 4 | "version": "${version}", 5 | "name": "Porting Lib Data", 6 | "description": "Adds additional data generation providers." 7 | } 8 | -------------------------------------------------------------------------------- /modules/data/src/main/resources/porting_lib_data.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "minVersion": "0.8", 4 | "package": "io.github.fabricators_of_create.porting_lib.data.mixin", 5 | "compatibilityLevel": "JAVA_17", 6 | "client": [ 7 | "MinecraftMixin" 8 | ], 9 | "injectors": { 10 | "defaultRequire": 1 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /modules/entity/build.gradle: -------------------------------------------------------------------------------- 1 | portingLib { 2 | addModuleDependency("mixin_extensions") 3 | enableTestMod() 4 | } 5 | -------------------------------------------------------------------------------- /modules/entity/src/main/java/io/github/fabricators_of_create/porting_lib/entity/RemovalFromWorldListener.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.entity; 2 | 3 | public interface RemovalFromWorldListener { 4 | void onRemovedFromWorld(); 5 | } 6 | -------------------------------------------------------------------------------- /modules/entity/src/main/java/io/github/fabricators_of_create/porting_lib/entity/extensions/MobEffectExtensions.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.entity.extensions; 2 | 3 | import io.github.fabricators_of_create.porting_lib.entity.client.MobEffectRenderer; 4 | 5 | import org.jetbrains.annotations.Nullable; 6 | 7 | public interface MobEffectExtensions { 8 | @Nullable 9 | default MobEffectRenderer getRenderer() { 10 | return null; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /modules/entity/src/main/java/io/github/fabricators_of_create/porting_lib/entity/extensions/SlimeExtension.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.entity.extensions; 2 | 3 | public interface SlimeExtension { 4 | /** 5 | * Called when the slime spawns particles on landing, see onUpdate. 6 | * Return true to prevent the spawning of the default particles. 7 | */ 8 | default boolean spawnCustomParticles() { return false; } 9 | } 10 | -------------------------------------------------------------------------------- /modules/entity/src/main/java/io/github/fabricators_of_create/porting_lib/entity/mixin/common/BlockableEventLoopAccessor.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.entity.mixin.common; 2 | 3 | import java.util.concurrent.CompletableFuture; 4 | 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.gen.Invoker; 7 | 8 | import net.minecraft.util.thread.BlockableEventLoop; 9 | 10 | @Mixin(BlockableEventLoop.class) 11 | public interface BlockableEventLoopAccessor { 12 | @Invoker 13 | CompletableFuture callSubmitAsync(Runnable task); 14 | } 15 | -------------------------------------------------------------------------------- /modules/entity/src/main/java/io/github/fabricators_of_create/porting_lib/entity/mixin/common/ItemMixin.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.entity.mixin.common; 2 | 3 | import io.github.fabricators_of_create.porting_lib.entity.extensions.ItemExtensions; 4 | import net.minecraft.world.item.Item; 5 | 6 | import org.spongepowered.asm.mixin.Mixin; 7 | 8 | @Mixin(Item.class) 9 | public class ItemMixin implements ItemExtensions { 10 | } 11 | -------------------------------------------------------------------------------- /modules/entity/src/main/java/io/github/fabricators_of_create/porting_lib/entity/mixin/common/MobEffectMixin.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.entity.mixin.common; 2 | 3 | import io.github.fabricators_of_create.porting_lib.entity.extensions.MobEffectExtensions; 4 | import net.minecraft.world.effect.MobEffect; 5 | 6 | import org.spongepowered.asm.mixin.Mixin; 7 | 8 | @Mixin(MobEffect.class) 9 | public class MobEffectMixin implements MobEffectExtensions { 10 | } 11 | -------------------------------------------------------------------------------- /modules/entity/src/main/java/io/github/fabricators_of_create/porting_lib/entity/mixin/common/PortalForcerMixin.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.entity.mixin.common; 2 | 3 | import io.github.fabricators_of_create.porting_lib.entity.ITeleporter; 4 | 5 | import org.spongepowered.asm.mixin.Mixin; 6 | 7 | import net.minecraft.world.level.portal.PortalForcer; 8 | 9 | @Mixin(PortalForcer.class) 10 | public class PortalForcerMixin implements ITeleporter { 11 | // no need to do anything, all methods are defaulted. 12 | } 13 | -------------------------------------------------------------------------------- /modules/entity/src/main/resources/porting_lib_entity.accesswidener: -------------------------------------------------------------------------------- 1 | accessWidener v2 named 2 | accessible class net/minecraft/server/commands/TeleportCommand$LookAt 3 | -------------------------------------------------------------------------------- /modules/entity/src/testmod/java/io/github/fabricators_of_create/porting_lib/entity/testmod/PortingLibEntityTestmodClient.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.entity.testmod; 2 | 3 | import net.fabricmc.api.ClientModInitializer; 4 | import net.fabricmc.fabric.api.client.rendering.v1.EntityRendererRegistry; 5 | 6 | public class PortingLibEntityTestmodClient implements ClientModInitializer { 7 | @Override 8 | public void onInitializeClient() { 9 | EntityRendererRegistry.register(PortingLibEntityTestmod.CUSTOM_SLIME, CustomSlimeRenderer::new); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /modules/extensions/build.gradle: -------------------------------------------------------------------------------- 1 | portingLib.addModuleDependencies([ 2 | "attributes", 3 | "accessors", 4 | "common", 5 | ]) 6 | -------------------------------------------------------------------------------- /modules/extensions/src/main/java/io/github/fabricators_of_create/porting_lib/extensions/extensions/BlockItemExtensions.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.extensions.extensions; 2 | 3 | import net.minecraft.world.item.BlockItem; 4 | import net.minecraft.world.item.Item; 5 | import net.minecraft.world.level.block.Block; 6 | 7 | import java.util.Map; 8 | 9 | public interface BlockItemExtensions { 10 | default void removeFromBlockToItemMap(Map blockToItemMap, Item itemIn) { 11 | blockToItemMap.remove(((BlockItem)this).getBlock()); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /modules/extensions/src/main/java/io/github/fabricators_of_create/porting_lib/extensions/extensions/CameraExtensions.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.extensions.extensions; 2 | 3 | import net.minecraft.world.level.block.state.BlockState; 4 | 5 | public interface CameraExtensions { 6 | default void setAnglesInternal(float yaw, float pitch) { 7 | throw new RuntimeException("this should be overridden via mixin. what?"); 8 | } 9 | 10 | default BlockState getBlockAtCamera() { 11 | throw new RuntimeException("this should be overridden via mixin. what?"); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /modules/extensions/src/main/java/io/github/fabricators_of_create/porting_lib/extensions/extensions/EntityCollisionContextExtensions.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.extensions.extensions; 2 | 3 | import net.minecraft.world.entity.Entity; 4 | 5 | public interface EntityCollisionContextExtensions { 6 | default Entity getCachedEntity() { 7 | throw new RuntimeException("this should be overridden via mixin. what?"); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /modules/extensions/src/main/java/io/github/fabricators_of_create/porting_lib/extensions/extensions/GrindstoneMenuExtension.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.extensions.extensions; 2 | 3 | public interface GrindstoneMenuExtension { 4 | default int getXp() { 5 | throw new RuntimeException("this should be overridden via mixin. what?"); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /modules/extensions/src/main/java/io/github/fabricators_of_create/porting_lib/extensions/extensions/ItemTransformExtensions.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.extensions.extensions; 2 | 3 | import org.joml.Vector3f; 4 | 5 | public interface ItemTransformExtensions { 6 | Vector3f getRightRotation(); 7 | 8 | void setRightRotation(Vector3f rightRotation); 9 | } 10 | -------------------------------------------------------------------------------- /modules/extensions/src/main/java/io/github/fabricators_of_create/porting_lib/extensions/extensions/LevelReaderExtensions.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.extensions.extensions; 2 | 3 | import net.minecraft.core.BlockPos; 4 | import net.minecraft.world.level.LevelReader; 5 | 6 | public interface LevelReaderExtensions { 7 | default boolean isAreaLoaded(BlockPos center, int range) { 8 | return ((LevelReader)this).hasChunksAt(center.offset(-range, -range, -range), center.offset(range, range, range)); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /modules/extensions/src/main/java/io/github/fabricators_of_create/porting_lib/extensions/extensions/ModelStateExtensions.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.extensions.extensions; 2 | 3 | import com.mojang.math.Transformation; 4 | 5 | public interface ModelStateExtensions { 6 | default Transformation getPartTransformation(Object part) { 7 | return Transformation.identity(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /modules/extensions/src/main/java/io/github/fabricators_of_create/porting_lib/extensions/extensions/ParticleExtensions.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.extensions.extensions; 2 | 3 | // TODO: Implement requires asm 4 | public interface ParticleExtensions { 5 | /** 6 | * Forge added method that controls if a particle should be culled to it's bounding box. 7 | * Default behaviour is culling enabled 8 | */ 9 | default boolean shouldCull() { 10 | return true; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /modules/extensions/src/main/java/io/github/fabricators_of_create/porting_lib/extensions/extensions/ResourceLocationExtensions.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.extensions.extensions; 2 | 3 | import net.minecraft.resources.ResourceLocation; 4 | 5 | public interface ResourceLocationExtensions { 6 | default int compareNamespaced(ResourceLocation o) { 7 | throw new RuntimeException("this should be overridden via mixin. what?"); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /modules/extensions/src/main/java/io/github/fabricators_of_create/porting_lib/extensions/extensions/SlotExtensions.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.extensions.extensions; 2 | 3 | import net.minecraft.resources.ResourceLocation; 4 | import net.minecraft.world.inventory.Slot; 5 | 6 | public interface SlotExtensions { 7 | default Slot setBackground(ResourceLocation atlas, ResourceLocation sprite) { 8 | throw new RuntimeException("this should be overridden via mixin. what?"); 9 | } 10 | 11 | default int getSlotIndex() { 12 | return 0; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /modules/extensions/src/main/java/io/github/fabricators_of_create/porting_lib/extensions/extensions/SpriteContentsExtensions.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.extensions.extensions; 2 | 3 | import net.fabricmc.api.EnvType; 4 | import net.fabricmc.api.Environment; 5 | 6 | @Environment(EnvType.CLIENT) 7 | public interface SpriteContentsExtensions { 8 | default int getPixelRGBA(int frameIndex, int x, int y) { 9 | throw new RuntimeException("this should be overridden via mixin. what?"); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /modules/extensions/src/main/java/io/github/fabricators_of_create/porting_lib/extensions/extensions/TagAppenderExtensions.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.extensions.extensions; 2 | 3 | import net.minecraft.data.tags.TagsProvider; 4 | import net.minecraft.tags.TagKey; 5 | 6 | public interface TagAppenderExtensions { 7 | @SuppressWarnings("unchecked") 8 | default TagsProvider.TagAppender addTags(TagKey... values) { 9 | throw new RuntimeException("this should be overridden via mixin. what?"); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /modules/extensions/src/main/java/io/github/fabricators_of_create/porting_lib/extensions/extensions/TierExtensions.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.extensions.extensions; 2 | 3 | import net.minecraft.tags.TagKey; 4 | import net.minecraft.world.level.block.Block; 5 | 6 | import org.jetbrains.annotations.Nullable; 7 | 8 | public interface TierExtensions { 9 | @Nullable 10 | default TagKey getTag() { 11 | return null; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /modules/extensions/src/main/java/io/github/fabricators_of_create/porting_lib/extensions/extensions/VertexFormatExtensions.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.extensions.extensions; 2 | 3 | public interface VertexFormatExtensions { 4 | default int getOffset(int index) { 5 | throw new RuntimeException("this should be overridden via mixin. what?"); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /modules/extensions/src/main/java/io/github/fabricators_of_create/porting_lib/extensions/mixin/client/DimensionSpecialEffectsMixin.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.extensions.mixin.client; 2 | 3 | import io.github.fabricators_of_create.porting_lib.extensions.extensions.DimensionSpecialEffectsExtensions; 4 | 5 | import net.minecraft.client.renderer.DimensionSpecialEffects; 6 | 7 | import org.spongepowered.asm.mixin.Mixin; 8 | 9 | @Mixin(DimensionSpecialEffects.class) 10 | public class DimensionSpecialEffectsMixin implements DimensionSpecialEffectsExtensions { 11 | } 12 | -------------------------------------------------------------------------------- /modules/extensions/src/main/java/io/github/fabricators_of_create/porting_lib/extensions/mixin/client/PoseStackMixin.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.extensions.mixin.client; 2 | 3 | import com.mojang.blaze3d.vertex.PoseStack; 4 | 5 | import io.github.fabricators_of_create.porting_lib.extensions.extensions.PoseStackExtensions; 6 | 7 | import org.spongepowered.asm.mixin.Mixin; 8 | 9 | @Mixin(PoseStack.class) 10 | public class PoseStackMixin implements PoseStackExtensions { 11 | } 12 | -------------------------------------------------------------------------------- /modules/extensions/src/main/java/io/github/fabricators_of_create/porting_lib/extensions/mixin/common/ItemMixin.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.extensions.mixin.common; 2 | 3 | import io.github.fabricators_of_create.porting_lib.extensions.extensions.ItemExtensions; 4 | 5 | import org.spongepowered.asm.mixin.Mixin; 6 | 7 | import net.minecraft.world.item.Item; 8 | 9 | @Mixin(Item.class) 10 | public abstract class ItemMixin implements ItemExtensions { 11 | } 12 | -------------------------------------------------------------------------------- /modules/extensions/src/main/java/io/github/fabricators_of_create/porting_lib/extensions/mixin/common/MobEffectMixin.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.extensions.mixin.common; 2 | 3 | import io.github.fabricators_of_create.porting_lib.extensions.extensions.MobEffectExtensions; 4 | import net.minecraft.world.effect.MobEffect; 5 | 6 | import org.spongepowered.asm.mixin.Mixin; 7 | 8 | @Mixin(MobEffect.class) 9 | public class MobEffectMixin implements MobEffectExtensions { 10 | } 11 | -------------------------------------------------------------------------------- /modules/extensions/src/main/java/io/github/fabricators_of_create/porting_lib/extensions/mixin/common/VineBlockMixin.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.extensions.mixin.common; 2 | 3 | import io.github.fabricators_of_create.porting_lib.extensions.extensions.IShearable; 4 | import net.minecraft.world.level.block.VineBlock; 5 | 6 | import org.spongepowered.asm.mixin.Mixin; 7 | 8 | @Mixin(VineBlock.class) 9 | public abstract class VineBlockMixin implements IShearable { 10 | } 11 | -------------------------------------------------------------------------------- /modules/extensions/src/main/java/io/github/fabricators_of_create/porting_lib/extensions/mixin/common/WebBlockMixin.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.extensions.mixin.common; 2 | 3 | import io.github.fabricators_of_create.porting_lib.extensions.extensions.IShearable; 4 | import net.minecraft.world.level.block.WebBlock; 5 | 6 | import org.spongepowered.asm.mixin.Mixin; 7 | 8 | @Mixin(WebBlock.class) 9 | public abstract class WebBlockMixin implements IShearable { 10 | } 11 | -------------------------------------------------------------------------------- /modules/fluids/build.gradle: -------------------------------------------------------------------------------- 1 | portingLib.enableTestMod() 2 | -------------------------------------------------------------------------------- /modules/fluids/src/main/java/io/github/fabricators_of_create/porting_lib/fluids/extensions/FluidExtension.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.fluids.extensions; 2 | 3 | import io.github.fabricators_of_create.porting_lib.fluids.FluidType; 4 | import org.jetbrains.annotations.Nullable; 5 | 6 | public interface FluidExtension { 7 | @Nullable 8 | default FluidType getFluidType() { 9 | throw new RuntimeException(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /modules/fluids/src/main/java/io/github/fabricators_of_create/porting_lib/fluids/mixin/FlowingFluidAccessor.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.fluids.mixin; 2 | 3 | import net.minecraft.world.level.Level; 4 | import net.minecraft.world.level.material.FlowingFluid; 5 | 6 | import org.spongepowered.asm.mixin.Mixin; 7 | import org.spongepowered.asm.mixin.gen.Invoker; 8 | 9 | @Mixin(FlowingFluid.class) 10 | public interface FlowingFluidAccessor { 11 | @Invoker 12 | boolean callCanConvertToSource(Level level); 13 | } 14 | -------------------------------------------------------------------------------- /modules/fluids/src/main/java/io/github/fabricators_of_create/porting_lib/fluids/mixin/FluidStateMixin.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.fluids.mixin; 2 | 3 | import io.github.fabricators_of_create.porting_lib.fluids.extensions.FluidStateExtension; 4 | import net.minecraft.world.level.material.FluidState; 5 | 6 | import org.spongepowered.asm.mixin.Mixin; 7 | 8 | @Mixin(FluidState.class) 9 | public class FluidStateMixin implements FluidStateExtension { 10 | } 11 | -------------------------------------------------------------------------------- /modules/fluids/src/main/resources/porting_lib_fluids.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "minVersion": "0.8", 4 | "package": "io.github.fabricators_of_create.porting_lib.fluids.mixin", 5 | "compatibilityLevel": "JAVA_17", 6 | "injectors": { 7 | "defaultRequire": 1 8 | }, 9 | "mixins": [ 10 | "FlowingFluidAccessor", 11 | "FlowingFluidMixin", 12 | "FluidMixin", 13 | "FluidStateMixin", 14 | "LiquidBlockMixin" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /modules/fluids/src/testmod/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "porting_lib_fluids_testmod", 4 | "version": "${version}", 5 | "name": "Porting Lib Fluids Testmod", 6 | "description": "Tests the fluids module", 7 | "authors": [ 8 | "The Create Fabric Team" 9 | ], 10 | "license": "LGPL", 11 | "environment": "*", 12 | "entrypoints": { 13 | "main": [ 14 | "io.github.fabricators_of_create.porting_lib.fluids.testmod.PortingLibFluidsTestmod" 15 | ] 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /modules/gametest/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fabricators-of-Create/Porting-Lib/c42ad24ca1ecab323bfbfcb8b79e4a2c8e10bb61/modules/gametest/build.gradle -------------------------------------------------------------------------------- /modules/gametest/src/main/java/io/github/fabricators_of_create/porting_lib/gametest/extensions/StructureBlockEntityExtensions.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.gametest.extensions; 2 | 3 | public interface StructureBlockEntityExtensions { 4 | default void setQualifiedTestName(String qualifiedTestName) { 5 | throw new AbstractMethodError(); 6 | } 7 | 8 | default String getQualifiedTestName() { 9 | throw new AbstractMethodError(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /modules/gametest/src/main/resources/assets/porting_lib/models/item/area_selector.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "minecraft:item/stick" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /modules/gametest/src/main/resources/data/porting_lib_gametest/structures/gametest/platform/18x3.nbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fabricators-of-Create/Porting-Lib/c42ad24ca1ecab323bfbfcb8b79e4a2c8e10bb61/modules/gametest/src/main/resources/data/porting_lib_gametest/structures/gametest/platform/18x3.nbt -------------------------------------------------------------------------------- /modules/gametest/src/main/resources/data/porting_lib_gametest/structures/gametest/platform/3x3.nbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fabricators-of-Create/Porting-Lib/c42ad24ca1ecab323bfbfcb8b79e4a2c8e10bb61/modules/gametest/src/main/resources/data/porting_lib_gametest/structures/gametest/platform/3x3.nbt -------------------------------------------------------------------------------- /modules/gametest/src/main/resources/data/porting_lib_gametest/structures/gametest/platform/5x5.nbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fabricators-of-Create/Porting-Lib/c42ad24ca1ecab323bfbfcb8b79e4a2c8e10bb61/modules/gametest/src/main/resources/data/porting_lib_gametest/structures/gametest/platform/5x5.nbt -------------------------------------------------------------------------------- /modules/gametest/src/main/resources/data/porting_lib_gametest/structures/gametest/platform/7x7.nbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fabricators-of-Create/Porting-Lib/c42ad24ca1ecab323bfbfcb8b79e4a2c8e10bb61/modules/gametest/src/main/resources/data/porting_lib_gametest/structures/gametest/platform/7x7.nbt -------------------------------------------------------------------------------- /modules/gametest/src/main/resources/data/porting_lib_gametest/structures/gametest/platform/9x9.nbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fabricators-of-Create/Porting-Lib/c42ad24ca1ecab323bfbfcb8b79e4a2c8e10bb61/modules/gametest/src/main/resources/data/porting_lib_gametest/structures/gametest/platform/9x9.nbt -------------------------------------------------------------------------------- /modules/gametest/src/main/resources/data/porting_lib_gametest/structures/gametest/test_testing/test.nbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fabricators-of-Create/Porting-Lib/c42ad24ca1ecab323bfbfcb8b79e4a2c8e10bb61/modules/gametest/src/main/resources/data/porting_lib_gametest/structures/gametest/test_testing/test.nbt -------------------------------------------------------------------------------- /modules/gametest/src/main/resources/porting_lib_gametest.accesswidener: -------------------------------------------------------------------------------- 1 | accessWidener v2 named 2 | 3 | transitive-accessible field net/minecraft/gametest/framework/GameTestHelper testInfo Lnet/minecraft/gametest/framework/GameTestInfo; 4 | 5 | accessible field net/minecraft/gametest/framework/GameTestHelper finalCheckAdded Z 6 | -------------------------------------------------------------------------------- /modules/gametest/src/main/resources/porting_lib_gametest.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "minVersion": "0.8", 4 | "package": "io.github.fabricators_of_create.porting_lib.gametest.mixin", 5 | "compatibilityLevel": "JAVA_17", 6 | "injectors": { 7 | "defaultRequire": 1 8 | }, 9 | "mixins": [ 10 | "StructureBlockEntityMixin", 11 | "TestCommandMixin" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /modules/gui_utils/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fabricators-of-Create/Porting-Lib/c42ad24ca1ecab323bfbfcb8b79e4a2c8e10bb61/modules/gui_utils/build.gradle -------------------------------------------------------------------------------- /modules/gui_utils/src/main/java/io/github/fabricators_of_create/porting_lib/gui/utils/ModdedButton.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.gui.utils; 2 | 3 | import net.minecraft.client.gui.components.Button; 4 | 5 | public class ModdedButton extends Button { 6 | protected ModdedButton(Builder builder) { 7 | super(builder.x, builder.y, builder.width, builder.height, builder.message, builder.onPress, builder.createNarration); 8 | setTooltip(builder.tooltip); // Forge: Make use of the Builder tooltip 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /modules/gui_utils/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "porting_lib_gui_utils", 4 | "version": "${version}", 5 | "name": "Porting Lib Gui Utils", 6 | "description": "Adds additional utility classes and methods for screens and guis.", 7 | "custom": { 8 | "loom:injected_interfaces": { 9 | "net/minecraft/class_332": [ 10 | "io/github/fabricators_of_create/porting_lib/gui/extensions/GuiGraphicsExtension" 11 | ] 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /modules/gui_utils/src/main/resources/porting_lib_gui_utils.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "minVersion": "0.8", 4 | "package": "io.github.fabricators_of_create.porting_lib.gui.mixin", 5 | "compatibilityLevel": "JAVA_17", 6 | "injectors": { 7 | "defaultRequire": 1 8 | }, 9 | "client": [ 10 | "GuiGraphicsMixin" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /modules/items/build.gradle: -------------------------------------------------------------------------------- 1 | portingLib.enableTestMod() 2 | -------------------------------------------------------------------------------- /modules/items/src/main/java/io/github/fabricators_of_create/porting_lib/item/api/extensions/RepairableItem.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.item.api.extensions; 2 | 3 | import net.minecraft.world.item.ItemStack; 4 | 5 | // TODO: Implement this on GrindstoneMenu 6 | public interface RepairableItem { 7 | /** 8 | * Called by CraftingManager to determine if an item is reparable. 9 | * 10 | * @return True if reparable 11 | */ 12 | boolean isRepairable(ItemStack stack); 13 | } 14 | -------------------------------------------------------------------------------- /modules/items/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "porting_lib_items", 4 | "version": "${version}", 5 | "name": "Porting Lib Items", 6 | "description": "Adds extra item extensions", 7 | "entrypoints": { 8 | "client": [ 9 | "io.github.fabricators_of_create.porting_lib.item.impl.client.ItemDecoratorHandler::init" 10 | ] 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /modules/items/src/main/resources/porting_lib_items.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "minVersion": "0.8", 4 | "package": "io.github.fabricators_of_create.porting_lib.item.impl.mixin", 5 | "compatibilityLevel": "JAVA_17", 6 | "injectors": { 7 | "defaultRequire": 1 8 | }, 9 | "client": [ 10 | "client.GuiGraphicsMixin" 11 | ], 12 | "mixins": [ 13 | "client.CreativeModeInventoryScreenMixin", 14 | "common.CreativeModeTabMixin", 15 | "common.RepairItemRecipeMixin" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /modules/items/src/testmod/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "porting_lib_items_testmod", 4 | "version": "${version}", 5 | "name": "Porting Lib Items Testmod", 6 | "description": "Tests the items module", 7 | "authors": [ 8 | "The Create Fabric Team" 9 | ], 10 | "license": "LGPL", 11 | "environment": "*", 12 | "entrypoints": { 13 | "main": [ 14 | "io.github.fabricators_of_create.porting_lib.item.testmod.PortingLibItemsTestmod" 15 | ] 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /modules/lazy_registration/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fabricators-of-Create/Porting-Lib/c42ad24ca1ecab323bfbfcb8b79e4a2c8e10bb61/modules/lazy_registration/build.gradle -------------------------------------------------------------------------------- /modules/lazy_registration/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "porting_lib_lazy_registration", 4 | "version": "${version}", 5 | "name": "Porting Lib Lazy Register", 6 | "description": "A lazier way of registering things." 7 | } 8 | -------------------------------------------------------------------------------- /modules/lazy_registration/src/main/resources/porting_lib_lazy_registration.accesswidener: -------------------------------------------------------------------------------- 1 | accessWidener v2 named 2 | 3 | transitive-accessible method net/minecraft/resources/ResourceKey create (Lnet/minecraft/resources/ResourceLocation;Lnet/minecraft/resources/ResourceLocation;)Lnet/minecraft/resources/ResourceKey; 4 | -------------------------------------------------------------------------------- /modules/level_events/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fabricators-of-Create/Porting-Lib/c42ad24ca1ecab323bfbfcb8b79e4a2c8e10bb61/modules/level_events/build.gradle -------------------------------------------------------------------------------- /modules/level_events/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "porting_lib_level_events", 4 | "version": "${version}", 5 | "name": "Porting Lib Level Events", 6 | "description": "Provides common level events for mods." 7 | } 8 | -------------------------------------------------------------------------------- /modules/level_events/src/main/resources/porting_lib_level_events.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "minVersion": "0.8", 4 | "package": "io.github.fabricators_of_create.porting_lib.level.mixin", 5 | "compatibilityLevel": "JAVA_17", 6 | "injectors": { 7 | "defaultRequire": 1 8 | }, 9 | "mixins": [ 10 | "ServerLevelMixin" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /modules/loot/build.gradle: -------------------------------------------------------------------------------- 1 | portingLib.addModuleDependency("lazy_registration") 2 | -------------------------------------------------------------------------------- /modules/loot/src/main/java/io/github/fabricators_of_create/porting_lib/loot/extensions/LootPoolBuilderExtension.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.loot.extensions; 2 | 3 | import net.minecraft.world.level.storage.loot.LootPool; 4 | 5 | public interface LootPoolBuilderExtension { 6 | default LootPool.Builder name(String name) { 7 | throw new RuntimeException(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /modules/loot/src/main/java/io/github/fabricators_of_create/porting_lib/loot/extensions/LootPoolExtensions.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.loot.extensions; 2 | 3 | import org.jetbrains.annotations.ApiStatus; 4 | 5 | public interface LootPoolExtensions { 6 | default String getName() { 7 | throw new RuntimeException(); 8 | } 9 | 10 | @ApiStatus.Internal 11 | default void setName(String name) { 12 | throw new RuntimeException(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /modules/loot/src/main/java/io/github/fabricators_of_create/porting_lib/loot/extensions/LootTableBuilderExtensions.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.loot.extensions; 2 | 3 | import net.minecraft.resources.ResourceLocation; 4 | 5 | public interface LootTableBuilderExtensions { 6 | void port_lib$setId(ResourceLocation id); 7 | } 8 | -------------------------------------------------------------------------------- /modules/loot/src/main/resources/porting_lib_loot.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "minVersion": "0.8", 4 | "package": "io.github.fabricators_of_create.porting_lib.loot.mixin", 5 | "compatibilityLevel": "JAVA_17", 6 | "injectors": { 7 | "defaultRequire": 1 8 | }, 9 | "mixins": [ 10 | "LootContextMixin", 11 | "LootDataTypeMixin", 12 | "LootPoolMixin", 13 | "LootPoolMixin$LootPoolBuilderMixin", 14 | "LootPoolMixin$LootPoolSerializerMixin", 15 | "loottable.LootTableMixin", 16 | "loottable.LootTableMixin$BuilderMixin" 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /modules/mixin_extensions/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fabricators-of-Create/Porting-Lib/c42ad24ca1ecab323bfbfcb8b79e4a2c8e10bb61/modules/mixin_extensions/build.gradle -------------------------------------------------------------------------------- /modules/mixin_extensions/src/main/resources/META-INF/services/javax.annotation.processing.Processor: -------------------------------------------------------------------------------- 1 | io.github.fabricators_of_create.porting_lib.mixin_extensions.init.PortingLibMixinExtensionsAP 2 | -------------------------------------------------------------------------------- /modules/mixin_extensions/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "porting_lib_mixin_extensions", 4 | "version": "${version}", 5 | "name": "Porting Lib Mixin Extensions", 6 | "description": "Additional features for use in Mixins." 7 | } 8 | -------------------------------------------------------------------------------- /modules/mixin_extensions/src/main/resources/porting_lib_mixin_extensions.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "minVersion": "0.8", 4 | "compatibilityLevel": "JAVA_17", 5 | "plugin": "io.github.fabricators_of_create.porting_lib.mixin_extensions.init.PortingLibMixinExtensionsPlugin", 6 | "package": "" 7 | } 8 | -------------------------------------------------------------------------------- /modules/model_builders/build.gradle: -------------------------------------------------------------------------------- 1 | portingLib.addModuleDependencies([ 2 | "model_generators", 3 | "model_loader" 4 | ]) 5 | -------------------------------------------------------------------------------- /modules/model_builders/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "porting_lib_model_builders", 4 | "version": "${version}", 5 | "name": "Porting Lib Model Builders", 6 | "description": "Custom model builders used for integrating Porting Libs model loading api and Data Generation API" 7 | } 8 | -------------------------------------------------------------------------------- /modules/model_generators/build.gradle: -------------------------------------------------------------------------------- 1 | portingLib.addModuleDependencies([ 2 | "model_materials", 3 | "data" 4 | ]) 5 | -------------------------------------------------------------------------------- /modules/model_generators/src/main/java/io/github/fabricators_of_create/porting_lib/models/generators/IGeneratedBlockState.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.models.generators; 2 | 3 | import com.google.common.annotations.VisibleForTesting; 4 | import com.google.gson.JsonObject; 5 | 6 | @VisibleForTesting 7 | public interface IGeneratedBlockState { 8 | JsonObject toJson(); 9 | } 10 | -------------------------------------------------------------------------------- /modules/model_generators/src/main/java/io/github/fabricators_of_create/porting_lib/models/generators/extensions/BlockElementFaceExtensions.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.models.generators.extensions; 2 | 3 | import io.github.fabricators_of_create.porting_lib.models.materials.MaterialData; 4 | 5 | public interface BlockElementFaceExtensions { 6 | void port_lib$setRenderMaterial(MaterialData material); 7 | 8 | MaterialData port_lib$getRenderMaterial(); 9 | } 10 | -------------------------------------------------------------------------------- /modules/model_generators/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "porting_lib_model_generators", 4 | "version": "${version}", 5 | "name": "Porting Lib Model Generators", 6 | "description": "Adds a Forge's model generation system" 7 | } 8 | -------------------------------------------------------------------------------- /modules/model_generators/src/main/resources/porting_lib_model_generators.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "minVersion": "0.8", 4 | "package": "io.github.fabricators_of_create.porting_lib.models.generators.mixin", 5 | "compatibilityLevel": "JAVA_17", 6 | "client": [ 7 | "BlockElementFaceDeserializerMixin", 8 | "BlockElementFaceMixin" 9 | ], 10 | "injectors": { 11 | "defaultRequire": 1 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /modules/model_loader/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fabricators-of-Create/Porting-Lib/c42ad24ca1ecab323bfbfcb8b79e4a2c8e10bb61/modules/model_loader/build.gradle -------------------------------------------------------------------------------- /modules/model_loader/src/main/resources/porting_lib_model_loader.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "minVersion": "0.8", 4 | "package": "io.github.fabricators_of_create.porting_lib.models.geometry.mixin", 5 | "compatibilityLevel": "JAVA_17", 6 | "client": [ 7 | "client.BlockModelDeserializerMixin", 8 | "client.BlockModelMixin" 9 | ], 10 | "injectors": { 11 | "defaultRequire": 1 12 | }, 13 | "mixins": [ 14 | "common.TransformationMixin" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /modules/model_materials/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fabricators-of-Create/Porting-Lib/c42ad24ca1ecab323bfbfcb8b79e4a2c8e10bb61/modules/model_materials/build.gradle -------------------------------------------------------------------------------- /modules/model_materials/src/main/java/io/github/fabricators_of_create/porting_lib/models/materials/extensions/BakedQuadExtensions.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.models.materials.extensions; 2 | 3 | import io.github.fabricators_of_create.porting_lib.models.materials.MaterialData; 4 | 5 | public interface BakedQuadExtensions { 6 | void port_lib$setRenderMaterial(MaterialData material); 7 | 8 | MaterialData port_lib$getRenderMaterial(); 9 | } 10 | -------------------------------------------------------------------------------- /modules/model_materials/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "porting_lib_model_materials", 4 | "version": "${version}", 5 | "name": "Porting Lib Model Materials", 6 | "description": "Material data for use in rendering." 7 | } 8 | -------------------------------------------------------------------------------- /modules/model_materials/src/main/resources/porting_lib_model_materials.accesswidener: -------------------------------------------------------------------------------- 1 | accessWidener v2 named 2 | 3 | transitive-accessible class net/minecraft/util/ExtraCodecs$EitherCodec 4 | -------------------------------------------------------------------------------- /modules/model_materials/src/main/resources/porting_lib_model_materials.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "minVersion": "0.8", 4 | "package": "io.github.fabricators_of_create.porting_lib.models.materials.mixin", 5 | "compatibilityLevel": "JAVA_17", 6 | "client": [ 7 | "BakedQuadMixin" 8 | ], 9 | "injectors": { 10 | "defaultRequire": 1 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /modules/models/build.gradle: -------------------------------------------------------------------------------- 1 | portingLib { 2 | addModuleDependencies(["model_loader", "transfer"]) 3 | enableTestMod() 4 | } 5 | 6 | dependencies { 7 | modCompileOnly("io.vram:frex-fabric:$frex_version") 8 | } 9 | -------------------------------------------------------------------------------- /modules/models/src/main/java/io/github/fabricators_of_create/porting_lib/models/ModelLoader.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.models; 2 | 3 | import com.google.gson.JsonObject; 4 | 5 | import net.minecraft.client.renderer.block.model.BlockModel; 6 | import net.minecraft.client.resources.model.UnbakedModel; 7 | 8 | public interface ModelLoader { 9 | UnbakedModel readModel(BlockModel parent, JsonObject jsonObject); 10 | } 11 | -------------------------------------------------------------------------------- /modules/models/src/main/java/io/github/fabricators_of_create/porting_lib/models/extensions/BlockModelExtensions.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.models.extensions; 2 | 3 | import net.fabricmc.fabric.api.renderer.v1.material.BlendMode; 4 | 5 | import org.jetbrains.annotations.ApiStatus; 6 | 7 | import net.fabricmc.fabric.api.renderer.v1.material.RenderMaterial; 8 | 9 | @ApiStatus.Internal 10 | public interface BlockModelExtensions { 11 | void port_lib$setRenderMaterial(RenderMaterial material); 12 | void port_lib$setBlendMode(BlendMode blendMode); 13 | } 14 | -------------------------------------------------------------------------------- /modules/models/src/testmod/resources/assets/porting_lib/blockstates/not_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "porting_lib:block/not_glass" 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /modules/models/src/testmod/resources/assets/porting_lib/lang/en_us.json: -------------------------------------------------------------------------------- 1 | { 2 | "item.porting_lib.derp_helmet": "Derpy Helmet", 3 | "item.porting_lib.stone_2": "Stone 2", 4 | "block.porting_lib.not_glass": "Not Glass" 5 | } 6 | -------------------------------------------------------------------------------- /modules/models/src/testmod/resources/assets/porting_lib/models/block/not_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/cube_all", 3 | "textures": { 4 | "all": "minecraft:block/glass" 5 | }, 6 | "render_type": "cutout" 7 | } 8 | -------------------------------------------------------------------------------- /modules/networking/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fabricators-of-Create/Porting-Lib/c42ad24ca1ecab323bfbfcb8b79e4a2c8e10bb61/modules/networking/build.gradle -------------------------------------------------------------------------------- /modules/networking/src/main/java/me/pepperbell/simplenetworking/Packet.java: -------------------------------------------------------------------------------- 1 | package me.pepperbell.simplenetworking; 2 | 3 | import net.minecraft.network.FriendlyByteBuf; 4 | 5 | public interface Packet { 6 | void encode(FriendlyByteBuf buf); 7 | } 8 | -------------------------------------------------------------------------------- /modules/networking/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "porting_lib_networking", 4 | "version": "${version}", 5 | "name": "Porting Lib Networking", 6 | "description": "Adds a Forge-like packet system.", 7 | "authors": [ 8 | "Pepper_Bell" 9 | ], 10 | "entrypoints": { 11 | "main": [ 12 | "me.pepperbell.simplenetworking.SimpleNetworking" 13 | ] 14 | }, 15 | "provides": [ 16 | "simplenetworking" 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /modules/obj_loader/build.gradle: -------------------------------------------------------------------------------- 1 | portingLib { 2 | addModuleDependency("model_loader") 3 | enableTestMod() 4 | } 5 | -------------------------------------------------------------------------------- /modules/obj_loader/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "porting_lib_obj_loader", 4 | "version": "${version}", 5 | "name": "Porting Lib Obj Loader", 6 | "description": "Loads .obj models.", 7 | "entrypoints": { 8 | "client": [ 9 | "io.github.fabricators_of_create.porting_lib.PortingLibObjLoader" 10 | ] 11 | }, 12 | "custom": { 13 | "loom:injected_interfaces": {} 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /modules/obj_loader/src/testmod/resources/assets/porting_lib/models/item/ring.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/block", 3 | "loader": "porting_lib:obj", 4 | "flip-v": true, 5 | "model": "porting_lib:models/item/ring.obj", 6 | "textures": { 7 | "0": "minecraft:block/gold_block" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /modules/obj_loader/src/testmod/resources/assets/porting_lib/models/item/ring.mtl: -------------------------------------------------------------------------------- 1 | # Made in Blockbench 4.7.4 2 | newmtl m_2ed8a15e-639a-5f2e-c47f-20a79a4327fa 3 | map_Kd #0 4 | newmtl none 5 | -------------------------------------------------------------------------------- /modules/obj_loader/src/testmod/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "porting_lib_obj_loader_testmod", 4 | "version": "${version}", 5 | "name": "Porting Lib Obj Loader Testmod", 6 | "description": "Tests the Obj Loader module", 7 | "authors": [ 8 | "The Create Fabric Team" 9 | ], 10 | "license": "LGPL", 11 | "environment": "*", 12 | "entrypoints": { 13 | "main": [ 14 | "io.github.fabricators_of_create.porting_lib.obj_loader.testmod.PortingLibObjLoaderTestmod" 15 | ] 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /modules/recipe_book_categories/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fabricators-of-Create/Porting-Lib/c42ad24ca1ecab323bfbfcb8b79e4a2c8e10bb61/modules/recipe_book_categories/build.gradle -------------------------------------------------------------------------------- /modules/recipe_book_categories/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "porting_lib_recipe_book_categories", 4 | "version": "${version}", 5 | "name": "Porting Lib Recipe Book Categories", 6 | "description": "Adds a api for adding custom recipe book categories." 7 | } 8 | -------------------------------------------------------------------------------- /modules/recipe_book_categories/src/main/resources/porting_lib_recipe_book_categories.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "minVersion": "0.8", 4 | "package": "io.github.fabricators_of_create.porting_lib.recipe_book_categories.mixin", 5 | "compatibilityLevel": "JAVA_17", 6 | "client": [ 7 | "ClientRecipeBookMixin", 8 | "RecipeBookCategoriesMixin" 9 | ], 10 | "injectors": { 11 | "defaultRequire": 1 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /modules/registries/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fabricators-of-Create/Porting-Lib/c42ad24ca1ecab323bfbfcb8b79e4a2c8e10bb61/modules/registries/build.gradle -------------------------------------------------------------------------------- /modules/registries/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "porting_lib_registries", 4 | "version": "${version}", 5 | "name": "Porting Lib Registries", 6 | "description": "Allow making custom data pack registries and various tools for dealing with registries." 7 | } 8 | -------------------------------------------------------------------------------- /modules/registries/src/main/resources/porting_lib_registries.accesswidener: -------------------------------------------------------------------------------- 1 | accessWidener v2 named 2 | 3 | accessible class net/minecraft/core/RegistrySynchronization$NetworkedRegistryData 4 | -------------------------------------------------------------------------------- /modules/registries/src/main/resources/porting_lib_registries.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "minVersion": "0.8", 4 | "package": "io.github.fabricators_of_create.porting_lib.registries.mixin", 5 | "compatibilityLevel": "JAVA_17", 6 | "injectors": { 7 | "defaultRequire": 1 8 | }, 9 | "mixins": [ 10 | "NetworkedRegistryDataAccessor", 11 | "RegistryDataLoaderMixin", 12 | "RegistrySynchronizationMixin" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /modules/tags/build.gradle: -------------------------------------------------------------------------------- 1 | portingLib.enableDatagen() 2 | -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/.cache/6962ca521ed0f04c0af588ee702ea5e92dd92bbf: -------------------------------------------------------------------------------- 1 | // 1.20.1 2023-12-07T10:18:17.8166696 Porting Lib Tags/Tags for minecraft:fluid 2 | -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/.cache/878c0710f526c0b7873f5817de08efcf0d1534b7: -------------------------------------------------------------------------------- 1 | // 1.20.1 2023-12-07T10:18:17.8166696 Porting Lib Tags/Language (en_us) 2 | 78b0ee2d54b8ba49de56c1a9feddd39c1e6bf7e9 assets\porting_lib_tags\lang\en_us.json 3 | -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/.cache/adaca8b06aaaf3f4d67b9cca4cb2c5464edbdcad: -------------------------------------------------------------------------------- 1 | // 1.20.1 2023-12-07T10:18:17.8166696 Porting Lib Tags/Tags for minecraft:entity_type 2 | 0665996927b87d279189dd6615072cd29f4ddc63 data\c\tags\entity_types\bosses.json 3 | -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/amethyst_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:amethyst_block" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/barrels.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:wooden_barrels" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/black_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:black_stained_glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/black_glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:black_stained_glass_pane" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/blue_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:blue_stained_glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/blue_glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:blue_stained_glass_pane" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/brown_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:brown_stained_glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/brown_glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:brown_stained_glass_pane" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/chests.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:ender_chests", 5 | "#c:trapped_chests", 6 | "#c:wooden_chests" 7 | ] 8 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/coal_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:coal_block" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/coal_ores.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#minecraft:coal_ores" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/cobblestone.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:normal_cobblestone", 5 | "#c:infested_cobblestone", 6 | "#c:mossy_cobblestone", 7 | "#c:deepslate_cobblestone" 8 | ] 9 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/colorless_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/colorless_glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:glass_pane" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/colorless_sand.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:sand" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/copper_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:copper_block" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/copper_ores.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#minecraft:copper_ores" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/cyan_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:cyan_stained_glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/cyan_glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:cyan_stained_glass_pane" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/deepslate_cobblestone.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:cobbled_deepslate" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/diamond_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:diamond_block" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/diamond_ores.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#minecraft:diamond_ores" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/emerald_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:emerald_block" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/emerald_ores.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#minecraft:emerald_ores" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/end_stones.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:end_stone" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/ender_chests.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:ender_chest" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/enderman_place_on_blacklist.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [] 4 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/fence_gates.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:wooden_fence_gates" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/fences.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:nether_brick_fences", 5 | "#c:wooden_fences" 6 | ] 7 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/glass_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:colorless_glass", 5 | "#c:stained_glass", 6 | "#c:tinted_glass" 7 | ] 8 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:colorless_glass_panes", 5 | "#c:stained_glass_panes" 6 | ] 7 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/gold_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:gold_block" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/gold_ores.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#minecraft:gold_ores" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/gravel.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:gravel" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/gray_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:gray_stained_glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/gray_glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:gray_stained_glass_pane" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/green_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:green_stained_glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/green_glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:green_stained_glass_pane" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/infested_cobblestone.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:infested_cobblestone" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/iron_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:iron_block" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/iron_ores.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#minecraft:iron_ores" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/lapis_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:lapis_block" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/lapis_ores.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#minecraft:lapis_ores" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/light_blue_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:light_blue_stained_glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/light_blue_glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:light_blue_stained_glass_pane" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/light_gray_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:light_gray_stained_glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/light_gray_glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:light_gray_stained_glass_pane" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/lime_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:lime_stained_glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/lime_glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:lime_stained_glass_pane" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/magenta_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:magenta_stained_glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/magenta_glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:magenta_stained_glass_pane" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/mossy_cobblestone.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:mossy_cobblestone" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/nether_brick_fences.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:nether_brick_fence" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/netherite_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:netherite_block" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/netherite_scrap_ores.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:ancient_debris" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/netherrack.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:netherrack" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/normal_cobblestone.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:cobblestone" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/obsidian.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:obsidian" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/orange_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:orange_stained_glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/orange_glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:orange_stained_glass_pane" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/ore_bearing_ground/deepslate.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:deepslate" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/ore_bearing_ground/netherrack.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:netherrack" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/ore_bearing_ground/stone.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:stone" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/ore_rates/dense.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:copper_ore", 5 | "minecraft:deepslate_copper_ore", 6 | "minecraft:deepslate_lapis_ore", 7 | "minecraft:deepslate_redstone_ore", 8 | "minecraft:lapis_ore", 9 | "minecraft:redstone_ore" 10 | ] 11 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/ore_rates/singular.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:ancient_debris", 5 | "minecraft:coal_ore", 6 | "minecraft:deepslate_coal_ore", 7 | "minecraft:deepslate_diamond_ore", 8 | "minecraft:deepslate_emerald_ore", 9 | "minecraft:deepslate_gold_ore", 10 | "minecraft:deepslate_iron_ore", 11 | "minecraft:diamond_ore", 12 | "minecraft:emerald_ore", 13 | "minecraft:gold_ore", 14 | "minecraft:iron_ore", 15 | "minecraft:nether_quartz_ore" 16 | ] 17 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/ore_rates/sparse.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:nether_gold_ore" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/ores.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:coal_ores", 5 | "#c:copper_ores", 6 | "#c:diamond_ores", 7 | "#c:emerald_ores", 8 | "#c:gold_ores", 9 | "#c:iron_ores", 10 | "#c:lapis_ores", 11 | "#c:redstone_ores", 12 | "#c:quartz_ores", 13 | "#c:netherite_scrap_ores" 14 | ] 15 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/ores_in_ground/deepslate.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:deepslate_coal_ore", 5 | "minecraft:deepslate_copper_ore", 6 | "minecraft:deepslate_diamond_ore", 7 | "minecraft:deepslate_emerald_ore", 8 | "minecraft:deepslate_gold_ore", 9 | "minecraft:deepslate_iron_ore", 10 | "minecraft:deepslate_lapis_ore", 11 | "minecraft:deepslate_redstone_ore" 12 | ] 13 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/ores_in_ground/netherrack.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:nether_gold_ore", 5 | "minecraft:nether_quartz_ore" 6 | ] 7 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/ores_in_ground/stone.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:coal_ore", 5 | "minecraft:copper_ore", 6 | "minecraft:diamond_ore", 7 | "minecraft:emerald_ore", 8 | "minecraft:gold_ore", 9 | "minecraft:iron_ore", 10 | "minecraft:lapis_ore", 11 | "minecraft:redstone_ore" 12 | ] 13 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/pink_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:pink_stained_glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/pink_glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:pink_stained_glass_pane" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/purple_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:purple_stained_glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/purple_glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:purple_stained_glass_pane" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/quartz_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:quartz_block" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/quartz_ores.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:nether_quartz_ore" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/raw_copper_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:raw_copper_block" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/raw_gold_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:raw_gold_block" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/raw_iron_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:raw_iron_block" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/red_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:red_stained_glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/red_glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:red_stained_glass_pane" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/red_sand.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:red_sand" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/redstone_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:redstone_block" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/redstone_ores.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#minecraft:redstone_ores" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/sand.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:colorless_sand", 5 | "#c:red_sand" 6 | ] 7 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/sandstone.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:sandstone", 5 | "minecraft:cut_sandstone", 6 | "minecraft:chiseled_sandstone", 7 | "minecraft:smooth_sandstone", 8 | "minecraft:red_sandstone", 9 | "minecraft:cut_red_sandstone", 10 | "minecraft:chiseled_red_sandstone", 11 | "minecraft:smooth_red_sandstone" 12 | ] 13 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/stone.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:andesite", 5 | "minecraft:diorite", 6 | "minecraft:granite", 7 | "minecraft:infested_stone", 8 | "minecraft:stone", 9 | "minecraft:polished_andesite", 10 | "minecraft:polished_diorite", 11 | "minecraft:polished_granite", 12 | "minecraft:deepslate", 13 | "minecraft:polished_deepslate", 14 | "minecraft:infested_deepslate", 15 | "minecraft:tuff" 16 | ] 17 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/storage_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:amethyst_blocks", 5 | "#c:coal_blocks", 6 | "#c:copper_blocks", 7 | "#c:diamond_blocks", 8 | "#c:emerald_blocks", 9 | "#c:gold_blocks", 10 | "#c:iron_blocks", 11 | "#c:lapis_blocks", 12 | "#c:quartz_blocks", 13 | "#c:raw_copper_blocks", 14 | "#c:raw_gold_blocks", 15 | "#c:raw_iron_blocks", 16 | "#c:redstone_blocks", 17 | "#c:netherite_blocks" 18 | ] 19 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/tinted_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:tinted_glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/trapped_chests.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:trapped_chest" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/white_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:white_stained_glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/white_glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:white_stained_glass_pane" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/wooden_barrels.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:barrel" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/wooden_chests.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:chest", 5 | "minecraft:trapped_chest" 6 | ] 7 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/wooden_fence_gates.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:oak_fence_gate", 5 | "minecraft:spruce_fence_gate", 6 | "minecraft:birch_fence_gate", 7 | "minecraft:jungle_fence_gate", 8 | "minecraft:acacia_fence_gate", 9 | "minecraft:dark_oak_fence_gate", 10 | "minecraft:crimson_fence_gate", 11 | "minecraft:warped_fence_gate" 12 | ] 13 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/wooden_fences.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#minecraft:wooden_fences" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/yellow_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:yellow_stained_glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/blocks/yellow_glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:yellow_stained_glass_pane" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/entity_types/bosses.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:ender_dragon", 5 | "minecraft:wither" 6 | ] 7 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/amethyst.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:amethyst_shard" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/amethyst_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:amethyst_block" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/armors.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:helmets", 5 | "#c:chestplates", 6 | "#c:leggings", 7 | "#c:boots" 8 | ] 9 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/axes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:wooden_axe", 5 | "minecraft:stone_axe", 6 | "minecraft:iron_axe", 7 | "minecraft:golden_axe", 8 | "minecraft:diamond_axe", 9 | "minecraft:netherite_axe" 10 | ] 11 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/barrels.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:wooden_barrels" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/beetroot_seeds.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:beetroot_seeds" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/black_dyes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:black_dye" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/black_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:black_stained_glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/black_glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:black_stained_glass_pane" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/blaze_rods.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:blaze_rod" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/blue_dyes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:blue_dye" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/blue_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:blue_stained_glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/blue_glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:blue_stained_glass_pane" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/bones.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:bone" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/bookshelves.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [] 4 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/boots.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:leather_boots", 5 | "minecraft:chainmail_boots", 6 | "minecraft:iron_boots", 7 | "minecraft:golden_boots", 8 | "minecraft:diamond_boots", 9 | "minecraft:netherite_boots" 10 | ] 11 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/bows.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:bow" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/brick_ingots.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:brick" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/brown_dyes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:brown_dye" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/brown_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:brown_stained_glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/brown_glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:brown_stained_glass_pane" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/chestplates.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:leather_chestplate", 5 | "minecraft:chainmail_chestplate", 6 | "minecraft:iron_chestplate", 7 | "minecraft:golden_chestplate", 8 | "minecraft:diamond_chestplate", 9 | "minecraft:netherite_chestplate" 10 | ] 11 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/chests.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:ender_chests", 5 | "#c:trapped_chests", 6 | "#c:wooden_chests" 7 | ] 8 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/coal_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:coal_block" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/coal_ores.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#minecraft:coal_ores" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/cobblestone.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:normal_cobblestone", 5 | "#c:infested_cobblestone", 6 | "#c:mossy_cobblestone", 7 | "#c:deepslate_cobblestone" 8 | ] 9 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/colorless_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/colorless_glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:glass_pane" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/colorless_sand.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:sand" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/copper_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:copper_block" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/copper_ingots.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:copper_ingot" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/copper_ores.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#minecraft:copper_ores" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/copper_raw_materials.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:raw_copper" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/crops.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:crops/beetroot", 5 | "#c:crops/carrot", 6 | "#c:crops/nether_wart", 7 | "#c:crops/potato", 8 | "#c:crops/wheat" 9 | ] 10 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/crops/beetroot.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:beetroot" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/crops/carrot.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:carrot" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/crops/nether_wart.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:nether_wart" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/crops/potato.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:potato" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/crops/wheat.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:wheat" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/crossbows.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:crossbow" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/cyan_dyes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:cyan_dye" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/cyan_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:cyan_stained_glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/cyan_glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:cyan_stained_glass_pane" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/deepslate_cobblestone.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:cobbled_deepslate" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/diamond_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:diamond_block" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/diamond_ores.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#minecraft:diamond_ores" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/diamonds.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:diamond" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/dusts.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:dusts/glowstone", 5 | "#c:dusts/prismarine", 6 | "#c:dusts/redstone" 7 | ] 8 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/dusts/glowstone.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:glowstone_dust" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/dusts/prismarine.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:prismarine_shard" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/dusts/redstone.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:redstone" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/dyes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:white_dyes", 5 | "#c:orange_dyes", 6 | "#c:magenta_dyes", 7 | "#c:light_blue_dyes", 8 | "#c:yellow_dyes", 9 | "#c:lime_dyes", 10 | "#c:pink_dyes", 11 | "#c:gray_dyes", 12 | "#c:light_gray_dyes", 13 | "#c:cyan_dyes", 14 | "#c:purple_dyes", 15 | "#c:blue_dyes", 16 | "#c:brown_dyes", 17 | "#c:green_dyes", 18 | "#c:red_dyes", 19 | "#c:black_dyes" 20 | ] 21 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/eggs.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:egg" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/emerald_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:emerald_block" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/emerald_ores.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#minecraft:emerald_ores" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/emeralds.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:emerald" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/enchanting_fuels.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:lapis" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/end_stones.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:end_stone" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/ender_chests.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:ender_chest" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/ender_pearls.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:ender_pearl" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/feathers.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:feather" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/fence_gates.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:wooden_fence_gates" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/fences.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:nether_brick_fences", 5 | "#c:wooden_fences" 6 | ] 7 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/fishing_rods.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:fishing_rod" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/gems.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:amethyst", 5 | "#c:diamonds", 6 | "#c:emeralds", 7 | "#c:lapis", 8 | "#c:prismarine", 9 | "#c:quartz" 10 | ] 11 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/glass_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:colorless_glass", 5 | "#c:stained_glass", 6 | "#c:tinted_glass" 7 | ] 8 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:colorless_glass_panes", 5 | "#c:stained_glass_panes" 6 | ] 7 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/gold_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:gold_block" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/gold_ingots.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:gold_ingot" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/gold_nuggets.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:gold_nugget" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/gold_ores.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#minecraft:gold_ores" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/gold_raw_materials.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:raw_gold" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/gravel.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:gravel" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/gray_dyes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:gray_dye" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/gray_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:gray_stained_glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/gray_glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:gray_stained_glass_pane" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/green_dyes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:green_dye" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/green_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:green_stained_glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/green_glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:green_stained_glass_pane" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/gunpowder.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:gunpowder" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/heads.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:creeper_head", 5 | "minecraft:dragon_head", 6 | "minecraft:player_head", 7 | "minecraft:skeleton_skull", 8 | "minecraft:wither_skeleton_skull", 9 | "minecraft:zombie_head" 10 | ] 11 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/helmets.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:leather_helmet", 5 | "minecraft:turtle_helmet", 6 | "minecraft:chainmail_helmet", 7 | "minecraft:iron_helmet", 8 | "minecraft:golden_helmet", 9 | "minecraft:diamond_helmet", 10 | "minecraft:netherite_helmet" 11 | ] 12 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/hoes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:wooden_hoe", 5 | "minecraft:stone_hoe", 6 | "minecraft:iron_hoe", 7 | "minecraft:golden_hoe", 8 | "minecraft:diamond_hoe", 9 | "minecraft:netherite_hoe" 10 | ] 11 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/infested_cobblestone.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:infested_cobblestone" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/ingots.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:brick_ingots", 5 | "#c:copper_ingots", 6 | "#c:gold_ingots", 7 | "#c:iron_ingots", 8 | "#c:netherite_ingots", 9 | "#c:nether_brick_ingots" 10 | ] 11 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/iron_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:iron_block" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/iron_ingots.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:iron_ingot" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/iron_nuggets.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:iron_nugget" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/iron_ores.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#minecraft:iron_ores" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/iron_raw_materials.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:raw_iron" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/lapis.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:lapis_lazuli" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/lapis_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:lapis_block" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/lapis_ores.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#minecraft:lapis_ores" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/leather.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:leather" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/leggings.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:leather_leggings", 5 | "minecraft:chainmail_leggings", 6 | "minecraft:iron_leggings", 7 | "minecraft:golden_leggings", 8 | "minecraft:diamond_leggings", 9 | "minecraft:netherite_leggings" 10 | ] 11 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/light_blue_dyes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:light_blue_dye" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/light_blue_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:light_blue_stained_glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/light_blue_glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:light_blue_stained_glass_pane" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/light_gray_dyes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:light_gray_dye" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/light_gray_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:light_gray_stained_glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/light_gray_glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:light_gray_stained_glass_pane" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/lime_dyes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:lime_dye" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/lime_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:lime_stained_glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/lime_glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:lime_stained_glass_pane" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/magenta_dyes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:magenta_dye" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/magenta_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:magenta_stained_glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/magenta_glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:magenta_stained_glass_pane" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/melon_seeds.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:melon_seeds" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/mossy_cobblestone.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:mossy_cobblestone" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/mushrooms.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:brown_mushroom", 5 | "minecraft:red_mushroom" 6 | ] 7 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/nether_brick_fences.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:nether_brick_fence" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/nether_brick_ingots.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:nether_brick" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/nether_stars.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:nether_star" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/netherite_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:netherite_block" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/netherite_ingots.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:netherite_ingot" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/netherite_scrap_ores.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:ancient_debris" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/netherrack.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:netherrack" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/normal_cobblestone.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:cobblestone" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/nuggets.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:iron_nuggets", 5 | "#c:gold_nuggets" 6 | ] 7 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/obsidian.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:obsidian" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/orange_dyes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:orange_dye" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/orange_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:orange_stained_glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/orange_glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:orange_stained_glass_pane" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/ore_bearing_ground/deepslate.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:deepslate" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/ore_bearing_ground/netherrack.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:netherrack" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/ore_bearing_ground/stone.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:stone" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/ore_rates/dense.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:copper_ore", 5 | "minecraft:deepslate_copper_ore", 6 | "minecraft:deepslate_lapis_ore", 7 | "minecraft:deepslate_redstone_ore", 8 | "minecraft:lapis_ore", 9 | "minecraft:redstone_ore" 10 | ] 11 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/ore_rates/singular.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:ancient_debris", 5 | "minecraft:coal_ore", 6 | "minecraft:deepslate_coal_ore", 7 | "minecraft:deepslate_diamond_ore", 8 | "minecraft:deepslate_emerald_ore", 9 | "minecraft:deepslate_gold_ore", 10 | "minecraft:deepslate_iron_ore", 11 | "minecraft:diamond_ore", 12 | "minecraft:emerald_ore", 13 | "minecraft:gold_ore", 14 | "minecraft:iron_ore", 15 | "minecraft:nether_quartz_ore" 16 | ] 17 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/ore_rates/sparse.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:nether_gold_ore" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/ores.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:coal_ores", 5 | "#c:copper_ores", 6 | "#c:diamond_ores", 7 | "#c:emerald_ores", 8 | "#c:gold_ores", 9 | "#c:iron_ores", 10 | "#c:lapis_ores", 11 | "#c:redstone_ores", 12 | "#c:quartz_ores", 13 | "#c:netherite_scrap_ores" 14 | ] 15 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/ores_in_ground/deepslate.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:deepslate_coal_ore", 5 | "minecraft:deepslate_copper_ore", 6 | "minecraft:deepslate_diamond_ore", 7 | "minecraft:deepslate_emerald_ore", 8 | "minecraft:deepslate_gold_ore", 9 | "minecraft:deepslate_iron_ore", 10 | "minecraft:deepslate_lapis_ore", 11 | "minecraft:deepslate_redstone_ore" 12 | ] 13 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/ores_in_ground/netherrack.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:nether_gold_ore", 5 | "minecraft:nether_quartz_ore" 6 | ] 7 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/ores_in_ground/stone.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:coal_ore", 5 | "minecraft:copper_ore", 6 | "minecraft:diamond_ore", 7 | "minecraft:emerald_ore", 8 | "minecraft:gold_ore", 9 | "minecraft:iron_ore", 10 | "minecraft:lapis_ore", 11 | "minecraft:redstone_ore" 12 | ] 13 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/pickaxes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:wooden_pickaxe", 5 | "minecraft:stone_pickaxe", 6 | "minecraft:iron_pickaxe", 7 | "minecraft:golden_pickaxe", 8 | "minecraft:diamond_pickaxe", 9 | "minecraft:netherite_pickaxe" 10 | ] 11 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/pink_dyes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:pink_dye" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/pink_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:pink_stained_glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/pink_glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:pink_stained_glass_pane" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/prismarine.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:prismarine_crystals" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/pumpkin_seeds.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:pumpkin_seeds" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/purple_dyes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:purple_dye" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/purple_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:purple_stained_glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/purple_glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:purple_stained_glass_pane" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/quartz.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:quartz" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/quartz_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:quartz_block" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/quartz_ores.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:nether_quartz_ore" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/raw_copper_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:raw_copper_block" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/raw_gold_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:raw_gold_block" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/raw_iron_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:raw_iron_block" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/raw_materials.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:copper_raw_materials", 5 | "#c:gold_raw_materials", 6 | "#c:iron_raw_materials" 7 | ] 8 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/red_dyes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:red_dye" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/red_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:red_stained_glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/red_glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:red_stained_glass_pane" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/red_sand.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:red_sand" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/redstone_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:redstone_block" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/redstone_ores.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#minecraft:redstone_ores" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/rods.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:blaze_rods", 5 | "#c:wooden_rods" 6 | ] 7 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/sand.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:colorless_sand", 5 | "#c:red_sand" 6 | ] 7 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/sandstone.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:sandstone", 5 | "minecraft:cut_sandstone", 6 | "minecraft:chiseled_sandstone", 7 | "minecraft:smooth_sandstone", 8 | "minecraft:red_sandstone", 9 | "minecraft:cut_red_sandstone", 10 | "minecraft:chiseled_red_sandstone", 11 | "minecraft:smooth_red_sandstone" 12 | ] 13 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/seeds.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:beetroot_seeds", 5 | "#c:melon_seeds", 6 | "#c:pumpkin_seeds", 7 | "#c:wheat_seeds" 8 | ] 9 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/shears.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:shears" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/shields.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:shield" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/shovels.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:wooden_shovel", 5 | "minecraft:stone_shovel", 6 | "minecraft:iron_shovel", 7 | "minecraft:golden_shovel", 8 | "minecraft:diamond_shovel", 9 | "minecraft:netherite_shovel" 10 | ] 11 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/slimeballs.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:slime_ball" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/stone.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:andesite", 5 | "minecraft:diorite", 6 | "minecraft:granite", 7 | "minecraft:infested_stone", 8 | "minecraft:stone", 9 | "minecraft:polished_andesite", 10 | "minecraft:polished_diorite", 11 | "minecraft:polished_granite", 12 | "minecraft:deepslate", 13 | "minecraft:polished_deepslate", 14 | "minecraft:infested_deepslate", 15 | "minecraft:tuff" 16 | ] 17 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/storage_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:amethyst_blocks", 5 | "#c:coal_blocks", 6 | "#c:copper_blocks", 7 | "#c:diamond_blocks", 8 | "#c:emerald_blocks", 9 | "#c:gold_blocks", 10 | "#c:iron_blocks", 11 | "#c:lapis_blocks", 12 | "#c:quartz_blocks", 13 | "#c:raw_copper_blocks", 14 | "#c:raw_gold_blocks", 15 | "#c:raw_iron_blocks", 16 | "#c:redstone_blocks", 17 | "#c:netherite_blocks" 18 | ] 19 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/string.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:string" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/swords.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:wooden_sword", 5 | "minecraft:stone_sword", 6 | "minecraft:iron_sword", 7 | "minecraft:golden_sword", 8 | "minecraft:diamond_sword", 9 | "minecraft:netherite_sword" 10 | ] 11 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/tinted_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:tinted_glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/tools.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:swords", 5 | "#c:axes", 6 | "#c:pickaxes", 7 | "#c:shovels", 8 | "#c:hoes", 9 | "#c:shields", 10 | "#c:bows", 11 | "#c:crossbows", 12 | "#c:fishing_rods", 13 | "#c:tridents" 14 | ] 15 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/trapped_chests.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:trapped_chest" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/tridents.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:trident" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/wheat_seeds.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:wheat_seeds" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/white_dyes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:white_dye" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/white_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:white_stained_glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/white_glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:white_stained_glass_pane" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/wooden_barrels.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:barrel" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/wooden_chests.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:chest", 5 | "minecraft:trapped_chest" 6 | ] 7 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/wooden_fence_gates.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:oak_fence_gate", 5 | "minecraft:spruce_fence_gate", 6 | "minecraft:birch_fence_gate", 7 | "minecraft:jungle_fence_gate", 8 | "minecraft:acacia_fence_gate", 9 | "minecraft:dark_oak_fence_gate", 10 | "minecraft:crimson_fence_gate", 11 | "minecraft:warped_fence_gate" 12 | ] 13 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/wooden_fences.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#minecraft:wooden_fences" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/wooden_rods.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:stick" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/yellow_dyes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:yellow_dye" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/yellow_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:yellow_stained_glass" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/items/yellow_glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:yellow_stained_glass_pane" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/worldgen/biome/is_cave.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:lush_caves", 5 | "minecraft:dripstone_caves", 6 | "minecraft:deep_dark" 7 | ] 8 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/worldgen/biome/is_cold.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:is_cold/overworld", 5 | { 6 | "id": "#c:is_cold/nether", 7 | "required": false 8 | }, 9 | "#c:is_cold/end" 10 | ] 11 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/worldgen/biome/is_cold/end.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:the_end", 5 | "minecraft:small_end_islands", 6 | "minecraft:end_midlands", 7 | "minecraft:end_highlands", 8 | "minecraft:end_barrens" 9 | ] 10 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/worldgen/biome/is_coniferous.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:taiga", 5 | "minecraft:snowy_taiga", 6 | "minecraft:old_growth_pine_taiga", 7 | "minecraft:grove" 8 | ] 9 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/worldgen/biome/is_dense.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:is_dense/overworld", 5 | { 6 | "id": "#c:is_dense/nether", 7 | "required": false 8 | }, 9 | { 10 | "id": "#c:is_dense/end", 11 | "required": false 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/worldgen/biome/is_dense/overworld.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:jungle", 5 | "minecraft:dark_forest", 6 | "minecraft:old_growth_birch_forest", 7 | "minecraft:old_growth_spruce_taiga" 8 | ] 9 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/worldgen/biome/is_desert.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:desert" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/worldgen/biome/is_dry.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:is_dry/overworld", 5 | "#c:is_dry/nether", 6 | "#c:is_dry/end" 7 | ] 8 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/worldgen/biome/is_dry/end.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:the_end", 5 | "minecraft:small_end_islands", 6 | "minecraft:end_midlands", 7 | "minecraft:end_highlands", 8 | "minecraft:end_barrens" 9 | ] 10 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/worldgen/biome/is_dry/nether.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:nether_wastes", 5 | "minecraft:soul_sand_valley", 6 | "minecraft:crimson_forest", 7 | "minecraft:warped_forest", 8 | "minecraft:basalt_deltas" 9 | ] 10 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/worldgen/biome/is_dry/overworld.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:desert", 5 | "minecraft:badlands", 6 | "minecraft:wooded_badlands", 7 | "minecraft:windswept_savanna", 8 | "minecraft:eroded_badlands" 9 | ] 10 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/worldgen/biome/is_hot.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:is_hot/overworld", 5 | "#c:is_hot/nether", 6 | { 7 | "id": "#c:is_hot/end", 8 | "required": false 9 | } 10 | ] 11 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/worldgen/biome/is_hot/nether.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:nether_wastes", 5 | "minecraft:soul_sand_valley", 6 | "minecraft:crimson_forest", 7 | "minecraft:warped_forest", 8 | "minecraft:basalt_deltas" 9 | ] 10 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/worldgen/biome/is_hot/overworld.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:desert", 5 | "minecraft:jungle", 6 | "minecraft:sparse_jungle", 7 | "minecraft:savanna", 8 | "minecraft:savanna_plateau", 9 | "minecraft:stony_peaks", 10 | "minecraft:warm_ocean", 11 | "minecraft:windswept_savanna", 12 | "minecraft:eroded_badlands", 13 | "minecraft:bamboo_jungle", 14 | "minecraft:mangrove_swamp" 15 | ] 16 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/worldgen/biome/is_lush.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:lush_caves" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/worldgen/biome/is_mountain.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:is_peak", 5 | "#c:is_slope" 6 | ] 7 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/worldgen/biome/is_mushroom.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:mushroom_fields" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/worldgen/biome/is_peak.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:jagged_peaks", 5 | "minecraft:frozen_peaks", 6 | "minecraft:stony_peaks" 7 | ] 8 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/worldgen/biome/is_plains.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:plains", 5 | "minecraft:snowy_plains", 6 | "minecraft:meadow", 7 | "minecraft:sunflower_plains" 8 | ] 9 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/worldgen/biome/is_plateau.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:savanna_plateau", 5 | "minecraft:wooded_badlands", 6 | "minecraft:meadow" 7 | ] 8 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/worldgen/biome/is_sandy.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:desert", 5 | "minecraft:beach", 6 | "minecraft:badlands", 7 | "minecraft:wooded_badlands" 8 | ] 9 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/worldgen/biome/is_slope.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:savanna_plateau", 5 | "minecraft:wooded_badlands", 6 | "minecraft:meadow", 7 | "minecraft:grove", 8 | "minecraft:snowy_slopes" 9 | ] 10 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/worldgen/biome/is_snowy.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:frozen_ocean", 5 | "minecraft:frozen_river", 6 | "minecraft:snowy_plains", 7 | "minecraft:snowy_beach", 8 | "minecraft:snowy_taiga", 9 | "minecraft:grove", 10 | "minecraft:snowy_slopes", 11 | "minecraft:jagged_peaks", 12 | "minecraft:frozen_peaks", 13 | "minecraft:ice_spikes" 14 | ] 15 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/worldgen/biome/is_sparse.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:is_sparse/overworld", 5 | { 6 | "id": "#c:is_sparse/nether", 7 | "required": false 8 | }, 9 | { 10 | "id": "#c:is_sparse/end", 11 | "required": false 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/worldgen/biome/is_sparse/overworld.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:windswept_forest", 5 | "minecraft:savanna", 6 | "minecraft:savanna_plateau", 7 | "minecraft:wooded_badlands", 8 | "minecraft:snowy_slopes", 9 | "minecraft:jagged_peaks", 10 | "minecraft:frozen_peaks", 11 | "minecraft:windswept_gravelly_hills", 12 | "minecraft:windswept_savanna", 13 | "minecraft:eroded_badlands", 14 | "minecraft:dripstone_caves" 15 | ] 16 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/worldgen/biome/is_spooky.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:dark_forest", 5 | "minecraft:deep_dark" 6 | ] 7 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/worldgen/biome/is_swamp.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:swamp", 5 | "minecraft:mangrove_swamp" 6 | ] 7 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/worldgen/biome/is_underground.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:is_cave" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/worldgen/biome/is_void.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:the_void" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/worldgen/biome/is_wasteland.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:snowy_plains" 5 | ] 6 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/worldgen/biome/is_water.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#minecraft:is_ocean", 5 | "#minecraft:is_river" 6 | ] 7 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/worldgen/biome/is_wet.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "#c:is_wet/overworld", 5 | { 6 | "id": "#c:is_wet/nether", 7 | "required": false 8 | }, 9 | { 10 | "id": "#c:is_wet/end", 11 | "required": false 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /modules/tags/src/generated/resources/data/c/tags/worldgen/biome/is_wet/overworld.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "minecraft:swamp", 5 | "minecraft:jungle", 6 | "minecraft:sparse_jungle", 7 | "minecraft:beach", 8 | "minecraft:bamboo_jungle", 9 | "minecraft:lush_caves", 10 | "minecraft:mangrove_swamp" 11 | ] 12 | } -------------------------------------------------------------------------------- /modules/tags/src/main/java/io/github/fabricators_of_create/porting_lib/tags/extensions/DyeExtension.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.tags.extensions; 2 | 3 | import net.minecraft.tags.TagKey; 4 | import net.minecraft.world.item.Item; 5 | 6 | public interface DyeExtension { 7 | default TagKey getTag() { 8 | return null; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /modules/tags/src/main/resources/porting_lib_tags.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "minVersion": "0.8", 4 | "package": "io.github.fabricators_of_create.porting_lib.tags.mixin", 5 | "compatibilityLevel": "JAVA_17", 6 | "injectors": { 7 | "defaultRequire": 1 8 | }, 9 | "mixins": [ 10 | "DyeColorMixin" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /modules/tool_actions/build.gradle: -------------------------------------------------------------------------------- 1 | portingLib.enableDatagen() 2 | -------------------------------------------------------------------------------- /modules/tool_actions/src/generated/resources/data/minecraft/loot_tables/blocks/vine.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "bonus_rolls": 0.0, 6 | "conditions": [ 7 | { 8 | "action": "shears_dig", 9 | "condition": "porting_lib:can_tool_perform_action" 10 | } 11 | ], 12 | "entries": [ 13 | { 14 | "type": "minecraft:item", 15 | "name": "minecraft:vine" 16 | } 17 | ], 18 | "rolls": 1.0 19 | } 20 | ], 21 | "random_sequence": "minecraft:blocks/vine" 22 | } -------------------------------------------------------------------------------- /modules/tool_actions/src/main/java/io/github/fabricators_of_create/porting_lib/tool/extensions/ItemStackExtensions.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.tool.extensions; 2 | 3 | import io.github.fabricators_of_create.porting_lib.tool.ToolAction; 4 | 5 | public interface ItemStackExtensions { 6 | default boolean canPerformAction(ToolAction toolAction) { 7 | throw new RuntimeException("this should be overridden via mixin. what?"); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /modules/tool_actions/src/main/java/io/github/fabricators_of_create/porting_lib/tool/extensions/VanillaToolActionItem.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.tool.extensions; 2 | 3 | import io.github.fabricators_of_create.porting_lib.tool.ToolAction; 4 | import net.minecraft.world.item.ItemStack; 5 | 6 | public interface VanillaToolActionItem { 7 | boolean port_lib$canPerformAction(ItemStack stack, ToolAction toolAction); 8 | } 9 | -------------------------------------------------------------------------------- /modules/tool_actions/src/main/java/io/github/fabricators_of_create/porting_lib/tool/mixin/BlockMixin.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.tool.mixin; 2 | 3 | import org.spongepowered.asm.mixin.Mixin; 4 | 5 | import io.github.fabricators_of_create.porting_lib.tool.extensions.BlockExtensions; 6 | import net.minecraft.world.level.block.Block; 7 | 8 | @Mixin(Block.class) 9 | public class BlockMixin implements BlockExtensions { 10 | } 11 | -------------------------------------------------------------------------------- /modules/tool_actions/src/main/java/io/github/fabricators_of_create/porting_lib/tool/mixin/BlockStateMixin.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.tool.mixin; 2 | 3 | import io.github.fabricators_of_create.porting_lib.tool.extensions.BlockStateExtensions; 4 | import net.minecraft.world.level.block.state.BlockState; 5 | 6 | import org.spongepowered.asm.mixin.Mixin; 7 | 8 | @Mixin(BlockState.class) 9 | public class BlockStateMixin implements BlockStateExtensions { 10 | } 11 | -------------------------------------------------------------------------------- /modules/tool_actions/src/main/java/io/github/fabricators_of_create/porting_lib/tool/mixin/BuilderAccessor.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.tool.mixin; 2 | 3 | import net.minecraft.world.level.storage.loot.LootPool; 4 | import net.minecraft.world.level.storage.loot.LootTable; 5 | 6 | import org.spongepowered.asm.mixin.Mixin; 7 | import org.spongepowered.asm.mixin.gen.Accessor; 8 | 9 | import java.util.List; 10 | 11 | @Mixin(LootTable.Builder.class) 12 | public interface BuilderAccessor { 13 | @Accessor 14 | List getPools(); 15 | } 16 | -------------------------------------------------------------------------------- /modules/transfer/build.gradle: -------------------------------------------------------------------------------- 1 | portingLib.addModuleDependency("fluids") 2 | -------------------------------------------------------------------------------- /modules/transfer/src/main/java/io/github/fabricators_of_create/porting_lib/PortingLibTransfer.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib; 2 | 3 | import io.github.fabricators_of_create.porting_lib.transfer.internal.cache.ClientBlockApiCache; 4 | import net.fabricmc.api.ClientModInitializer; 5 | 6 | public class PortingLibTransfer implements ClientModInitializer { 7 | @Override 8 | public void onInitializeClient() { 9 | ClientBlockApiCache.init(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /modules/transfer/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "porting_lib_transfer", 4 | "version": "${version}", 5 | "name": "Porting Lib Transfer", 6 | "description": "Utilities for transferring items and fluids.", 7 | "entrypoints": { 8 | "client": [ 9 | "io.github.fabricators_of_create.porting_lib.PortingLibTransfer" 10 | ] 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /modules/transfer/src/main/resources/porting_lib_transfer.accesswidener: -------------------------------------------------------------------------------- 1 | accessWidener v2 named 2 | accessible field net/minecraft/world/item/BucketItem content Lnet/minecraft/world/level/material/Fluid; 3 | -------------------------------------------------------------------------------- /modules/transfer/src/main/resources/porting_lib_transfer.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "minVersion": "0.8", 4 | "package": "io.github.fabricators_of_create.porting_lib.transfer.mixin", 5 | "compatibilityLevel": "JAVA_17", 6 | "mixins": [ 7 | "common.LevelMixin", 8 | "common.ServerLevelMixin" 9 | ], 10 | "client": [ 11 | "client.ClientLevelMixin" 12 | ], 13 | "injectors": { 14 | "defaultRequire": 1 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /modules/utility/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fabricators-of-Create/Porting-Lib/c42ad24ca1ecab323bfbfcb8b79e4a2c8e10bb61/modules/utility/build.gradle -------------------------------------------------------------------------------- /modules/utility/src/main/java/io/github/fabricators_of_create/porting_lib/PortingLibUtility.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib; 2 | 3 | import io.github.fabricators_of_create.porting_lib.util.ServerLifecycleHooks; 4 | import io.github.fabricators_of_create.porting_lib.util.TrueCondition; 5 | import net.fabricmc.api.ModInitializer; 6 | 7 | public class PortingLibUtility implements ModInitializer { 8 | @Override 9 | public void onInitialize() { 10 | ServerLifecycleHooks.init(); 11 | TrueCondition.init(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /modules/utility/src/main/java/io/github/fabricators_of_create/porting_lib/util/SimpleRecipeType.java: -------------------------------------------------------------------------------- 1 | package io.github.fabricators_of_create.porting_lib.util; 2 | 3 | import net.minecraft.resources.ResourceLocation; 4 | import net.minecraft.world.item.crafting.Recipe; 5 | import net.minecraft.world.item.crafting.RecipeType; 6 | 7 | public record SimpleRecipeType>(ResourceLocation name) implements RecipeType { 8 | @Override 9 | public String toString() { 10 | return name.toString(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /modules/utility/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "porting_lib_utility", 4 | "version": "${version}", 5 | "name": "Porting Lib Utility", 6 | "description": "Misc Utilities", 7 | "entrypoints": { 8 | "main": [ 9 | "io.github.fabricators_of_create.porting_lib.PortingLibUtility" 10 | ] 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /modules/utility/src/main/resources/porting_lib_utility.accesswidener: -------------------------------------------------------------------------------- 1 | accessWidener v2 named 2 | 3 | transitive-accessible class net/minecraft/world/item/crafting/Ingredient$Value 4 | 5 | transitive-accessible method net/minecraft/world/item/crafting/Ingredient fromValues (Ljava/util/stream/Stream;)Lnet/minecraft/world/item/crafting/Ingredient; 6 | 7 | transitive-accessible field net/minecraft/world/item/crafting/Ingredient values [Lnet/minecraft/world/item/crafting/Ingredient$Value; 8 | -------------------------------------------------------------------------------- /src/main/resources/assets/porting_lib/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fabricators-of-Create/Porting-Lib/c42ad24ca1ecab323bfbfcb8b79e4a2c8e10bb61/src/main/resources/assets/porting_lib/icon.png --------------------------------------------------------------------------------