├── .gitattributes ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── config.yml │ └── feature_request.md └── workflows │ ├── gradle.yml │ └── publish.yml ├── .gitignore ├── LICENSE ├── README.md ├── build.gradle.kts ├── buildSrc └── build.gradle.kts ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── header.png ├── settings.gradle.kts └── src ├── generated └── resources │ ├── .cache │ ├── 06c8634dbcb9eb0304a95e1ace9f06130b969502 │ ├── 103d9f3f36b01595f1aa5172191e60eff02e6924 │ ├── 59eb3dbb5f86130e09b3c62d89b9525ee01cf52d │ ├── 82dbd4df3226a8f2ebd864eec8c96cc5d0540266 │ ├── a4c9410e691fbe48aa70e5a1ff196f840e0179cc │ ├── ae7a3ddbbbde6f36e12a813e147261b681a4084e │ └── c622617f6fabf890a00b9275cd5f643584a8a2c8 │ ├── assets │ └── dynamictrees │ │ ├── blockstates │ │ ├── acacia_branch.json │ │ ├── acacia_leaves.json │ │ ├── acacia_sapling.json │ │ ├── apple_oak_sapling.json │ │ ├── azalea_leaves.json │ │ ├── azalea_sapling.json │ │ ├── birch_branch.json │ │ ├── birch_leaves.json │ │ ├── birch_sapling.json │ │ ├── cherry_branch.json │ │ ├── cherry_leaves.json │ │ ├── cherry_sapling.json │ │ ├── cocoa_sapling.json │ │ ├── crimson_branch.json │ │ ├── crimson_sapling.json │ │ ├── crimson_wart.json │ │ ├── dark_oak_branch.json │ │ ├── dark_oak_leaves.json │ │ ├── dark_oak_root.json │ │ ├── dark_oak_sapling.json │ │ ├── flowering_azalea_leaves.json │ │ ├── jungle_branch.json │ │ ├── jungle_leaves.json │ │ ├── jungle_root.json │ │ ├── jungle_sapling.json │ │ ├── jungle_undergrowth_leaves.json │ │ ├── mangrove_branch.json │ │ ├── mangrove_leaves.json │ │ ├── mangrove_roots.json │ │ ├── mangrove_sapling.json │ │ ├── oak_branch.json │ │ ├── oak_leaves.json │ │ ├── oak_sapling.json │ │ ├── oak_undergrowth_leaves.json │ │ ├── rooty_brown_terracotta.json │ │ ├── rooty_clay.json │ │ ├── rooty_coarse_dirt.json │ │ ├── rooty_crimson_nylium.json │ │ ├── rooty_dirt.json │ │ ├── rooty_end_stone.json │ │ ├── rooty_grass_block.json │ │ ├── rooty_gravel.json │ │ ├── rooty_light_gray_terracotta.json │ │ ├── rooty_mangrove_aerial_roots.json │ │ ├── rooty_moss.json │ │ ├── rooty_moss_block.json │ │ ├── rooty_mud.json │ │ ├── rooty_mycelium.json │ │ ├── rooty_netherrack.json │ │ ├── rooty_orange_terracotta.json │ │ ├── rooty_podzol.json │ │ ├── rooty_red_sand.json │ │ ├── rooty_red_terracotta.json │ │ ├── rooty_rooted_dirt.json │ │ ├── rooty_sand.json │ │ ├── rooty_soul_sand.json │ │ ├── rooty_soul_soil.json │ │ ├── rooty_terracotta.json │ │ ├── rooty_warped_nylium.json │ │ ├── rooty_water.json │ │ ├── rooty_white_terracotta.json │ │ ├── rooty_yellow_terracotta.json │ │ ├── spruce_branch.json │ │ ├── spruce_leaves.json │ │ ├── spruce_sapling.json │ │ ├── stripped_acacia_branch.json │ │ ├── stripped_birch_branch.json │ │ ├── stripped_cherry_branch.json │ │ ├── stripped_crimson_branch.json │ │ ├── stripped_dark_oak_branch.json │ │ ├── stripped_jungle_branch.json │ │ ├── stripped_mangrove_branch.json │ │ ├── stripped_oak_branch.json │ │ ├── stripped_spruce_branch.json │ │ ├── stripped_warped_branch.json │ │ ├── swamp_oak_sapling.json │ │ ├── tall_birch_sapling.json │ │ ├── warped_branch.json │ │ ├── warped_sapling.json │ │ └── warped_wart.json │ │ ├── lang │ │ └── en_us.json │ │ └── models │ │ ├── block │ │ ├── acacia_branch.json │ │ ├── birch_branch.json │ │ ├── cherry_branch.json │ │ ├── crimson_branch.json │ │ ├── dark_oak_branch.json │ │ ├── dark_oak_root.json │ │ ├── jungle_branch.json │ │ ├── jungle_root.json │ │ ├── mangrove_branch.json │ │ ├── mangrove_roots.json │ │ ├── mangrove_roots_filled.json │ │ ├── oak_branch.json │ │ ├── rooty_mangrove_aerial_roots_radius1.json │ │ ├── rooty_mangrove_aerial_roots_radius2.json │ │ ├── rooty_mangrove_aerial_roots_radius3.json │ │ ├── rooty_mangrove_aerial_roots_radius4.json │ │ ├── rooty_mangrove_aerial_roots_radius5.json │ │ ├── rooty_mangrove_aerial_roots_radius6.json │ │ ├── rooty_mangrove_aerial_roots_radius7.json │ │ ├── rooty_mangrove_aerial_roots_radius8.json │ │ ├── saplings │ │ │ ├── acacia.json │ │ │ ├── apple_oak.json │ │ │ ├── azalea.json │ │ │ ├── birch.json │ │ │ ├── cherry.json │ │ │ ├── cocoa.json │ │ │ ├── crimson.json │ │ │ ├── dark_oak.json │ │ │ ├── jungle.json │ │ │ ├── mangrove.json │ │ │ ├── oak.json │ │ │ ├── spruce.json │ │ │ ├── swamp_oak.json │ │ │ ├── tall_birch.json │ │ │ └── warped.json │ │ ├── spruce_branch.json │ │ ├── stripped_acacia_branch.json │ │ ├── stripped_birch_branch.json │ │ ├── stripped_cherry_branch.json │ │ ├── stripped_crimson_branch.json │ │ ├── stripped_dark_oak_branch.json │ │ ├── stripped_jungle_branch.json │ │ ├── stripped_mangrove_branch.json │ │ ├── stripped_oak_branch.json │ │ ├── stripped_spruce_branch.json │ │ ├── stripped_warped_branch.json │ │ └── warped_branch.json │ │ └── item │ │ ├── acacia_branch.json │ │ ├── acacia_seed.json │ │ ├── apple_oak_seed.json │ │ ├── azalea_seed.json │ │ ├── birch_branch.json │ │ ├── birch_seed.json │ │ ├── cherry_branch.json │ │ ├── cherry_seed.json │ │ ├── cocoa_seed.json │ │ ├── crimson_branch.json │ │ ├── crimson_seed.json │ │ ├── dark_oak_branch.json │ │ ├── dark_oak_seed.json │ │ ├── jungle_branch.json │ │ ├── jungle_seed.json │ │ ├── mangrove_branch.json │ │ ├── mangrove_roots.json │ │ ├── mangrove_seed.json │ │ ├── oak_branch.json │ │ ├── oak_seed.json │ │ ├── spruce_branch.json │ │ ├── spruce_seed.json │ │ ├── warped_branch.json │ │ └── warped_seed.json │ └── data │ ├── dynamictrees │ ├── loot_tables │ │ ├── blocks │ │ │ ├── acacia_leaves.json │ │ │ ├── apple.json │ │ │ ├── azalea_leaves.json │ │ │ ├── birch_leaves.json │ │ │ ├── cherry_leaves.json │ │ │ ├── cocoa.json │ │ │ ├── crimson_wart.json │ │ │ ├── dark_oak_leaves.json │ │ │ ├── flowering_azalea_leaves.json │ │ │ ├── jungle_leaves.json │ │ │ ├── jungle_undergrowth_leaves.json │ │ │ ├── mangrove_leaves.json │ │ │ ├── oak_leaves.json │ │ │ ├── oak_undergrowth_leaves.json │ │ │ ├── spruce_leaves.json │ │ │ └── warped_wart.json │ │ └── trees │ │ │ ├── branches │ │ │ ├── acacia.json │ │ │ ├── birch.json │ │ │ ├── cherry.json │ │ │ ├── crimson.json │ │ │ ├── dark_oak.json │ │ │ ├── jungle.json │ │ │ ├── mangrove.json │ │ │ ├── oak.json │ │ │ ├── spruce.json │ │ │ ├── stripped_acacia.json │ │ │ ├── stripped_birch.json │ │ │ ├── stripped_cherry.json │ │ │ ├── stripped_crimson.json │ │ │ ├── stripped_dark_oak.json │ │ │ ├── stripped_jungle.json │ │ │ ├── stripped_mangrove.json │ │ │ ├── stripped_oak.json │ │ │ ├── stripped_spruce.json │ │ │ ├── stripped_warped.json │ │ │ └── warped.json │ │ │ ├── leaves │ │ │ ├── acacia.json │ │ │ ├── azalea.json │ │ │ ├── birch.json │ │ │ ├── cherry.json │ │ │ ├── crimson.json │ │ │ ├── dark_oak.json │ │ │ ├── flowering_azalea.json │ │ │ ├── jungle.json │ │ │ ├── jungle_undergrowth.json │ │ │ ├── mangrove.json │ │ │ ├── oak.json │ │ │ ├── oak_undergrowth.json │ │ │ ├── spruce.json │ │ │ └── warped.json │ │ │ ├── roots │ │ │ └── mangrove.json │ │ │ └── voluntary │ │ │ ├── acacia.json │ │ │ ├── apple_oak.json │ │ │ ├── azalea.json │ │ │ ├── birch.json │ │ │ ├── cherry.json │ │ │ ├── cocoa.json │ │ │ ├── crimson.json │ │ │ ├── dark_oak.json │ │ │ ├── jungle.json │ │ │ ├── mangrove.json │ │ │ ├── oak.json │ │ │ ├── spruce.json │ │ │ └── warped.json │ ├── tags │ │ ├── blocks │ │ │ ├── aerial_roots_rooty_soil.json │ │ │ ├── branches.json │ │ │ ├── branches_that_burn.json │ │ │ ├── foliage.json │ │ │ ├── fungus_branches.json │ │ │ ├── fungus_caps.json │ │ │ ├── leaves.json │ │ │ ├── roots.json │ │ │ ├── rooty_soil.json │ │ │ ├── saplings.json │ │ │ ├── stripped_branches.json │ │ │ ├── stripped_branches_that_burn.json │ │ │ ├── stripped_fungus_branches.json │ │ │ └── wart_blocks.json │ │ └── items │ │ │ ├── branches.json │ │ │ ├── branches_that_burn.json │ │ │ ├── fungus_branches.json │ │ │ ├── fungus_caps.json │ │ │ └── seeds.json │ └── worldgen │ │ ├── configured_feature │ │ ├── cave_rooted_tree.json │ │ └── dynamic_tree.json │ │ └── placed_feature │ │ ├── cave_rooted_tree.json │ │ └── dynamic_tree.json │ └── minecraft │ ├── tags │ ├── blocks │ │ ├── enderman_holdable.json │ │ ├── flower_pots.json │ │ ├── hoglin_repellents.json │ │ ├── leaves.json │ │ ├── logs.json │ │ ├── logs_that_burn.json │ │ ├── mineable │ │ │ └── axe.json │ │ ├── saplings.json │ │ └── wart_blocks.json │ └── items │ │ └── saplings.json │ └── worldgen │ ├── configured_feature │ ├── crimson_forest_vegetation.json │ ├── crimson_forest_vegetation_bonemeal.json │ ├── warped_forest_vegetation.json │ └── warped_forest_vegetation_bonemeal.json │ └── template_pool │ └── village │ ├── plains │ ├── decor.json │ ├── town_centers.json │ ├── trees.json │ └── zombie │ │ └── decor.json │ ├── savanna │ ├── decor.json │ ├── trees.json │ └── zombie │ │ └── decor.json │ ├── snowy │ ├── decor.json │ ├── trees.json │ └── zombie │ │ └── decor.json │ └── taiga │ ├── decor.json │ └── zombie │ └── decor.json ├── localization └── resources │ └── assets │ └── dynamictrees │ └── lang │ ├── de_de.json │ ├── es_es.json │ ├── es_mx.json │ ├── fr_fr.json │ ├── it_it.json │ ├── ja_jp.json │ ├── ko_kr.json │ ├── nl_nl.json │ ├── pl_pl.json │ ├── ru_ru.json │ ├── sv_se.json │ ├── uk_ua.json │ └── zh_cn.json └── main ├── java └── com │ └── ferreusveritas │ └── dynamictrees │ ├── DynamicTrees.java │ ├── api │ ├── Ageable.java │ ├── FutureBreakable.java │ ├── GatherDataHelper.java │ ├── RootyBlockDecayer.java │ ├── TreeHelper.java │ ├── TreeRegistry.java │ ├── applier │ │ ├── Applier.java │ │ ├── ApplierRegistryEvent.java │ │ ├── ArrayIteratorPropertyApplier.java │ │ ├── ArrayPropertyApplier.java │ │ ├── IfTrueApplier.java │ │ ├── JsonPropertyApplier.java │ │ ├── MapPropertyApplier.java │ │ ├── MultiPropertyApplier.java │ │ ├── PropertyApplier.java │ │ ├── PropertyApplierResult.java │ │ └── VoidApplier.java │ ├── cell │ │ ├── Cell.java │ │ ├── CellKit.java │ │ ├── CellNull.java │ │ └── CellSolver.java │ ├── client │ │ └── ModelHelper.java │ ├── configuration │ │ ├── Configurable.java │ │ ├── ConfigurableRegistry.java │ │ ├── ConfigurableRegistryEntry.java │ │ ├── Configuration.java │ │ ├── ConfigurationProperty.java │ │ ├── ConfigurationTemplate.java │ │ ├── ConfigurationTemplateResourceLoader.java │ │ ├── CustomConfigurationProperty.java │ │ ├── CustomConfigurationTemplate.java │ │ ├── DefaultConfigurationTemplate.java │ │ ├── Properties.java │ │ ├── PropertiesAccessor.java │ │ ├── PropertyDefinition.java │ │ ├── TemplateRegistry.java │ │ └── package-info.java │ ├── data │ │ ├── AerialRootsSoilGenerator.java │ │ ├── BranchItemModelGenerator.java │ │ ├── BranchStateGenerator.java │ │ ├── DTExtraLangGenerator.java │ │ ├── FamilyLangGenerator.java │ │ ├── Generator.java │ │ ├── LeavesPropertiesLangGenerator.java │ │ ├── LeavesStateGenerator.java │ │ ├── PalmLeavesStateGenerator.java │ │ ├── RootsItemModelGenerator.java │ │ ├── RootsStateGenerator.java │ │ ├── SaplingStateGenerator.java │ │ ├── SeedItemModelGenerator.java │ │ ├── SoilStateGenerator.java │ │ ├── SpeciesLangGenerator.java │ │ ├── StrippedBranchStateGenerator.java │ │ ├── SurfaceRootStateGenerator.java │ │ ├── WaterRootGenerator.java │ │ └── package-info.java │ ├── event │ │ ├── AddResourceLoadersEvent.java │ │ ├── Hooks.java │ │ └── TransitionSaplingToTreeEvent.java │ ├── network │ │ ├── MapSignal.java │ │ └── NodeInspector.java │ ├── package-info.java │ ├── registry │ │ ├── AbstractRegistry.java │ │ ├── ConcurrentRegistry.java │ │ ├── Registries.java │ │ ├── Registry.java │ │ ├── RegistryEntry.java │ │ ├── RegistryEvent.java │ │ ├── RegistryHandler.java │ │ ├── SimpleRegistry.java │ │ ├── TypeRegistryEvent.java │ │ └── TypedRegistry.java │ ├── resource │ │ ├── DTResource.java │ │ ├── ResourceAccessor.java │ │ ├── ResourceCollector.java │ │ ├── SimpleResourceAccessor.java │ │ ├── SimpleResourceCollector.java │ │ ├── TreeResourceManager.java │ │ ├── TreeResourcePack.java │ │ └── loading │ │ │ ├── AbstractResourceLoader.java │ │ │ ├── ApplicationException.java │ │ │ ├── ApplierResourceLoader.java │ │ │ ├── ResourceLoader.java │ │ │ ├── StagedApplierResourceLoader.java │ │ │ └── preparation │ │ │ ├── AbstractResourcePreparer.java │ │ │ ├── JsonRegistryResourceLoader.java │ │ │ ├── JsonResourcePreparer.java │ │ │ ├── MultiJsonResourcePreparer.java │ │ │ ├── PreparationException.java │ │ │ ├── ResourcePreparer.java │ │ │ └── TextResourcePreparer.java │ ├── season │ │ ├── ClimateZoneType.java │ │ ├── SeasonGrowthCalculator.java │ │ └── SeasonManager.java │ ├── substance │ │ ├── Emptiable.java │ │ ├── SubstanceEffect.java │ │ └── SubstanceEffectProvider.java │ ├── treedata │ │ ├── BiomeSuitabilityDecider.java │ │ └── TreePart.java │ └── worldgen │ │ ├── BiomePropertySelectors.java │ │ ├── FeatureCanceller.java │ │ ├── GroundFinder.java │ │ ├── PoissonDebug.java │ │ ├── PoissonDiscProvider.java │ │ └── RadiusCoordinator.java │ ├── block │ ├── BlockWithDynamicHardness.java │ ├── DynamicSaplingBlock.java │ ├── FruitBlock.java │ ├── GrowableBlock.java │ ├── NullTreePart.java │ ├── OffsetablePodBlock.java │ ├── PodBlock.java │ ├── PottedSaplingBlock.java │ ├── branch │ │ ├── BasicBranchBlock.java │ │ ├── BasicRootsBlock.java │ │ ├── BranchBlock.java │ │ ├── Musable.java │ │ ├── SurfaceRootBlock.java │ │ ├── ThickBranchBlock.java │ │ ├── TrunkShellBlock.java │ │ └── package-info.java │ ├── entity │ │ ├── PottedSaplingBlockEntity.java │ │ └── SpeciesBlockEntity.java │ ├── leaves │ │ ├── CherryLeavesProperties.java │ │ ├── DynamicLeavesBlock.java │ │ ├── LeavesProperties.java │ │ ├── PalmLeavesProperties.java │ │ ├── ScruffyLeavesProperties.java │ │ ├── SolidDynamicLeavesBlock.java │ │ ├── SolidLeavesProperties.java │ │ ├── WartProperties.java │ │ └── package-info.java │ ├── package-info.java │ └── rooty │ │ ├── AerialRootsSoilProperties.java │ │ ├── RootyBlock.java │ │ ├── SoilHelper.java │ │ ├── SoilProperties.java │ │ ├── SpreadableSoilProperties.java │ │ ├── WaterSoilProperties.java │ │ └── package-info.java │ ├── cell │ ├── AcaciaLeafCell.java │ ├── CellKits.java │ ├── ConiferBranchCell.java │ ├── ConiferLeafCell.java │ ├── ConiferTopBranchCell.java │ ├── DarkOakLeafCell.java │ ├── LeafClusters.java │ ├── MatrixCell.java │ ├── MetadataCell.java │ ├── NetherFungusLeafCell.java │ ├── NormalCell.java │ └── PalmFrondCell.java │ ├── client │ ├── BakedQuadRetextured.java │ ├── BlockColorMultipliers.java │ ├── ModelUtils.java │ ├── QuadManipulator.java │ ├── SoundInstanceHandler.java │ ├── TextureUtils.java │ └── TooltipHandler.java │ ├── command │ ├── ChunkBasedCommand.java │ ├── ClearOrphanedCommand.java │ ├── CommandConstants.java │ ├── CreateStaffCommand.java │ ├── CreateTransformPotionCommand.java │ ├── DTArgumentTypes.java │ ├── DTCommand.java │ ├── FertilityCommand.java │ ├── GetRootsCommand.java │ ├── GetTreeCommand.java │ ├── GrowPulseCommand.java │ ├── HexColorArgument.java │ ├── KillTreeCommand.java │ ├── PurgeTreesCommand.java │ ├── RegistryCommand.java │ ├── RegistrySubCommand.java │ ├── RotateJoCodeCommand.java │ ├── SetCoordXorCommand.java │ ├── SetTreeCommand.java │ ├── SimpleSubCommand.java │ ├── SubCommand.java │ ├── TransformCommand.java │ └── package-info.java │ ├── compat │ ├── CompatHandler.java │ ├── DTJeiPlugin.java │ ├── season │ │ ├── ActiveSeasonGrowthCalculator.java │ │ ├── NormalSeasonManager.java │ │ ├── NullSeasonGrowthCalculator.java │ │ ├── NullSeasonProvider.java │ │ ├── SeasonContext.java │ │ ├── SeasonHelper.java │ │ ├── SeasonProvider.java │ │ └── SereneSeasonsSeasonProvider.java │ └── waila │ │ ├── WailaBranchHandler.java │ │ ├── WailaCompat.java │ │ ├── WailaFruitHandler.java │ │ ├── WailaOther.java │ │ ├── WailaPodHandler.java │ │ ├── WailaRootyHandler.java │ │ └── WailaRootyWaterHandler.java │ ├── data │ ├── DTBiomeTags.java │ ├── DTBlockTags.java │ ├── DTEntityTypeTags.java │ ├── DTItemTags.java │ ├── DTRecipes.java │ └── provider │ │ ├── BranchLoaderBuilder.java │ │ ├── DTBlockStateProvider.java │ │ ├── DTBlockTagsProvider.java │ │ ├── DTDataProvider.java │ │ ├── DTDatapackBuiltinEntriesProvider.java │ │ ├── DTItemModelProvider.java │ │ ├── DTItemTagsProvider.java │ │ ├── DTLangProvider.java │ │ ├── DTLootTableProvider.java │ │ ├── DataGenerationStreamEvent.java │ │ └── PalmLeavesLoaderBuilder.java │ ├── deserialisation │ ├── AxisAlignedBBDeserialiser.java │ ├── BiomeListDeserialiser.java │ ├── BooleanOpDeserialiser.java │ ├── ConfiguredDeserialiser.java │ ├── DeserialisableClassDeserialiser.java │ ├── DeserialisationException.java │ ├── Deserialiser.java │ ├── EnumDeserialiser.java │ ├── ForgeRegistryEntryDeserialiser.java │ ├── JsonDeserialiser.java │ ├── JsonDeserialisers.java │ ├── JsonHelper.java │ ├── JsonPropertyApplierLists.java │ ├── JsonPropertyAppliers.java │ ├── ListDeserialiser.java │ ├── MapColorDeserialiser.java │ ├── MapDeserialiser.java │ ├── NoSuchDeserialiserException.java │ ├── PropertyAppliers.java │ ├── PropertyDefinitionDeserialiser.java │ ├── RegistryEntryDeserialiser.java │ ├── ResourceLocationDeserialiser.java │ ├── SeedSaplingRecipeDeserialiser.java │ ├── SoundTypeDeserialiser.java │ ├── StaticFieldDeserialiser.java │ ├── TagKeyJsonPropertyApplier.java │ ├── VoxelShapeDeserialiser.java │ ├── package-info.java │ └── result │ │ ├── AbstractResult.java │ │ ├── JsonResult.java │ │ ├── MappedJsonResult.java │ │ ├── MappedResult.java │ │ └── Result.java │ ├── entity │ ├── FallingTreeEntity.java │ ├── LingeringEffectorEntity.java │ ├── animation │ │ ├── AnimationConstants.java │ │ ├── AnimationHandler.java │ │ ├── AnimationHandlers.java │ │ ├── DataAnimationHandler.java │ │ ├── FalloverAnimationHandler.java │ │ ├── PhysicsAnimationHandler.java │ │ └── VoidAnimationHandler.java │ └── render │ │ ├── FallingTreeRenderer.java │ │ └── LingeringEffectorRenderer.java │ ├── event │ ├── BiomeSuitabilityEvent.java │ ├── FutureBreak.java │ ├── PoissonDiscProviderCreateEvent.java │ ├── SeedVoluntaryPlantEvent.java │ ├── SpeciesPostGenerationEvent.java │ ├── VoluntarySeedDropEvent.java │ └── handler │ │ ├── BakedModelEventHandler.java │ │ ├── BlockBreakAnimationClientHandler.java │ │ ├── CommonEventHandler.java │ │ ├── EventHandlers.java │ │ ├── LeafUpdateEventHandler.java │ │ ├── ServerEventHandler.java │ │ ├── VanillaSaplingEventHandler.java │ │ ├── WorldGenEventHandler.java │ │ └── WorldListener.java │ ├── growthlogic │ ├── AzaleaLogic.java │ ├── ConiferLogic.java │ ├── DarkOakLogic.java │ ├── GrowthLogicKit.java │ ├── GrowthLogicKitConfiguration.java │ ├── GrowthLogicKits.java │ ├── JungleLogic.java │ ├── MangroveRootsLogic.java │ ├── NetherFungusLogic.java │ ├── PalmGrowthLogic.java │ └── context │ │ ├── DirectionManipulationContext.java │ │ ├── DirectionSelectionContext.java │ │ └── PositionalSpeciesContext.java │ ├── init │ ├── DTClient.java │ ├── DTConfigs.java │ ├── DTRegistries.java │ └── DTTrees.java │ ├── item │ ├── DendroPotion.java │ ├── DirtBucket.java │ ├── Seed.java │ ├── Staff.java │ └── package-info.java │ ├── loot │ ├── DTLoot.java │ ├── DTLootContextParams.java │ ├── DTLootParameterSets.java │ ├── condition │ │ ├── DTLootConditions.java │ │ ├── SeasonalSeedDropChance.java │ │ ├── SpeciesMatches.java │ │ └── VoluntarySeedDropChance.java │ ├── entry │ │ ├── DTLootPoolEntries.java │ │ ├── ItemBySpeciesLootPoolEntry.java │ │ ├── SeedItemLootPoolEntry.java │ │ └── WeightedItemLootPoolEntry.java │ └── function │ │ ├── DTLootFunctions.java │ │ ├── MultiplyCount.java │ │ ├── MultiplyLogsCount.java │ │ ├── MultiplySticksCount.java │ │ └── package-info.java │ ├── models │ ├── FallingTreeEntityModel.java │ ├── FallingTreeEntityModelTrackerCache.java │ ├── ModelTracker.java │ ├── baked │ │ ├── BakedModelBlockBonsaiPot.java │ │ ├── BasicBranchBlockBakedModel.java │ │ ├── BasicRootsBlockBakedModel.java │ │ ├── LargePalmLeavesBakedModel.java │ │ ├── MediumPalmLeavesBakedModel.java │ │ ├── PalmLeavesBakedModel.java │ │ ├── SmallPalmLeavesBakedModel.java │ │ ├── SurfaceRootBlockBakedModel.java │ │ ├── ThickBranchBlockBakedModel.java │ │ └── package-info.java │ ├── geometry │ │ ├── BranchBlockModelGeometry.java │ │ ├── PalmLeavesModelGeometry.java │ │ ├── RootsBlockModelGeometry.java │ │ ├── SurfaceRootBlockModelGeometry.java │ │ └── package-info.java │ ├── loader │ │ ├── BranchBlockModelLoader.java │ │ ├── PalmLeavesModelLoader.java │ │ ├── RootsBlockModelLoader.java │ │ ├── SurfaceRootBlockModelLoader.java │ │ ├── ThickBranchBlockModelLoader.java │ │ └── package-info.java │ └── modeldata │ │ ├── ModelConnections.java │ │ ├── RootModelConnections.java │ │ └── package-info.java │ ├── resources │ ├── FlatTreeResourcePack.java │ ├── ModTreeResourcePack.java │ ├── Resources.java │ ├── TreesResourceManager.java │ ├── loader │ │ ├── BiomePopulatorsResourceLoader.java │ │ ├── FamilyResourceLoader.java │ │ ├── FeatureCancellationResourceLoader.java │ │ ├── FruitResourceLoader.java │ │ ├── JoCodeResourceLoader.java │ │ ├── JoCodeResourcePreparer.java │ │ ├── LeavesPropertiesResourceLoader.java │ │ ├── PodResourceLoader.java │ │ ├── SoilPropertiesResourceLoader.java │ │ └── SpeciesResourceLoader.java │ └── package-info.java │ ├── systems │ ├── BranchConnectables.java │ ├── GrowSignal.java │ ├── SeedSaplingRecipe.java │ ├── fruit │ │ └── Fruit.java │ ├── genfeature │ │ ├── AlternativeLeavesGenFeature.java │ │ ├── BeeNestGenFeature.java │ │ ├── BiomePredicateGenFeature.java │ │ ├── BottomFlareGenFeature.java │ │ ├── BushGenFeature.java │ │ ├── ClearVolumeGenFeature.java │ │ ├── ConiferTopperGenFeature.java │ │ ├── FruitGenFeature.java │ │ ├── GenFeature.java │ │ ├── GenFeatureConfiguration.java │ │ ├── GenFeatures.java │ │ ├── HugeMushroomGenFeature.java │ │ ├── HugeMushroomsGenFeature.java │ │ ├── MoundGenFeature.java │ │ ├── MushroomRotGenFeature.java │ │ ├── PodGenFeature.java │ │ ├── PodzolGenFeature.java │ │ ├── RandomPredicateGenFeature.java │ │ ├── RootSystemGenFeature.java │ │ ├── RootsGenFeature.java │ │ ├── RotSoilGenFeature.java │ │ ├── ShroomlightGenFeature.java │ │ ├── UndergrowthGenFeature.java │ │ ├── VinesGenFeature.java │ │ ├── context │ │ │ ├── FullGenerationContext.java │ │ │ ├── GenerationContext.java │ │ │ ├── PostGenerationContext.java │ │ │ ├── PostGrowContext.java │ │ │ ├── PostRotContext.java │ │ │ └── PreGenerationContext.java │ │ └── package-info.java │ ├── nodemapper │ │ ├── CoderNode.java │ │ ├── CollectorNode.java │ │ ├── DenuderNode.java │ │ ├── DestroyerNode.java │ │ ├── DiseaseNode.java │ │ ├── FindEndsNode.java │ │ ├── FreezerNode.java │ │ ├── InflatorNode.java │ │ ├── NetVolumeNode.java │ │ ├── PodGenerationNode.java │ │ ├── RootIntegrityNode.java │ │ ├── RootsDestroyerNode.java │ │ ├── ShrinkerNode.java │ │ ├── SpeciesNode.java │ │ ├── StateNode.java │ │ ├── TransformNode.java │ │ └── TwinkleNode.java │ ├── pod │ │ └── Pod.java │ ├── poissondisc │ │ ├── LevelPoissonDiscProvider.java │ │ ├── PoissonDisc.java │ │ ├── PoissonDiscChunkSet.java │ │ ├── PoissonDiscHelper.java │ │ ├── PoissonDiscMathHelper.java │ │ ├── PoissonDiscPairData.java │ │ ├── UniversalPoissonDiscProvider.java │ │ ├── Vec2i.java │ │ └── Vec2iPCA.java │ └── substance │ │ ├── DenudeSubstance.java │ │ ├── DepleteSubstance.java │ │ ├── FertilizeSubstance.java │ │ ├── FreezeSubstance.java │ │ ├── GrowthSubstance.java │ │ ├── HarvestSubstance.java │ │ ├── LingeringSubstances.java │ │ ├── MegaSubstance.java │ │ └── TransformSubstance.java │ ├── tree │ ├── Resettable.java │ ├── family │ │ ├── Family.java │ │ ├── MangroveFamily.java │ │ ├── NetherFungusFamily.java │ │ └── PalmFamily.java │ ├── package-info.java │ └── species │ │ ├── FakeMushroomSpecies.java │ │ ├── MangroveSpecies.java │ │ ├── NetherFungusSpecies.java │ │ ├── PalmSpecies.java │ │ ├── Species.java │ │ └── SwampOakSpecies.java │ ├── util │ ├── AgeProperties.java │ ├── AlternateLinkedHashSet.java │ ├── BlockBounds.java │ ├── BlockStates.java │ ├── BranchConnectionData.java │ ├── BranchDestructionData.java │ ├── ChunkTreeHelper.java │ ├── CommandHelper.java │ ├── CommonCollectors.java │ ├── CommonSetup.java │ ├── CommonVoxelShapes.java │ ├── Connections.java │ ├── CoordUtils.java │ ├── DendroBrewingRecipe.java │ ├── EntityUtils.java │ ├── IgnoreThrowable.java │ ├── ItemUtils.java │ ├── JsonMapWrapper.java │ ├── LazyMutableValue.java │ ├── LazyValue.java │ ├── LevelContext.java │ ├── LootTableSupplier.java │ ├── MathHelper.java │ ├── MutableLazyValue.java │ ├── MutableSuppliedLazyValue.java │ ├── Null.java │ ├── OffsetProperties.java │ ├── Optionals.java │ ├── RandomXOR.java │ ├── RayTraceCollision.java │ ├── ReflectionHelper.java │ ├── ResourceLocationUtils.java │ ├── RootConnections.java │ ├── SafeChunkBounds.java │ ├── ShapeFunctions.java │ ├── ShapeUtils.java │ ├── SimpleBitmap.java │ ├── SimpleVoxmap.java │ ├── SuppliedLazyValue.java │ ├── ThrowableRunnable.java │ ├── function │ │ ├── BiomePredicate.java │ │ ├── CanGrowPredicate.java │ │ ├── TetraFunction.java │ │ ├── ThrowableBiFunction.java │ │ ├── ThrowableFunction.java │ │ └── TriFunction.java │ ├── holderset │ │ ├── DTBiomeHolderSet.java │ │ ├── DelayedHolderSet.java │ │ ├── IncludesExcludesHolderSet.java │ │ ├── NameRegexMatchHolderSet.java │ │ ├── RegexMatchHolderSet.java │ │ ├── StreamBackedHolderSet.java │ │ └── TagsRegexMatchHolderSet.java │ └── package-info.java │ └── worldgen │ ├── BiomeDatabase.java │ ├── BiomeDatabases.java │ ├── BiomeRadiusCoordinator.java │ ├── CaveRootedTreeFeature.java │ ├── CaveRootedTreePlacement.java │ ├── DTFeatures.java │ ├── DynamicTreeFeature.java │ ├── FeatureCancellationRegistry.java │ ├── GenerationContext.java │ ├── JoCode.java │ ├── JoCodeRegistry.java │ ├── OverworldGroundFinder.java │ ├── RootsJoCode.java │ ├── SubterraneanGroundFinder.java │ ├── SurfaceGroundFinder.java │ ├── biomemodifiers │ ├── AddDynamicTreesBiomeModifier.java │ └── RunFeatureCancellersBiomeModifier.java │ ├── deserialisation │ ├── ChanceSelectorDeserialiser.java │ ├── DensitySelectorDeserialiser.java │ ├── JsonBiomeDatabaseDeserialiser.java │ ├── JsonMath.java │ ├── SpeciesSelectorDeserialiser.java │ └── package-info.java │ ├── feature │ └── DTReplaceNyliumFungiBlockStateProvider.java │ ├── featurecancellation │ ├── FungusFeatureCanceller.java │ ├── MushroomFeatureCanceller.java │ ├── TreeFeatureCanceller.java │ └── package-info.java │ ├── package-info.java │ └── structure │ ├── DTCancelVanillaTreePoolElement.java │ ├── RegularTemplatePoolModifier.java │ ├── TemplatePoolModifier.java │ ├── TreePoolElement.java │ └── VillageTreeReplacement.java └── resources ├── META-INF ├── accesstransformer.cfg └── mods.toml ├── assets ├── dynamictrees │ ├── blockstates │ │ ├── apple.json │ │ ├── cocoa.json │ │ ├── potted_sapling.json │ │ └── trunk_shell.json │ ├── models │ │ ├── block │ │ │ ├── empty.json │ │ │ ├── fruit │ │ │ │ ├── apple_age0.json │ │ │ │ ├── apple_age1.json │ │ │ │ ├── apple_age2.json │ │ │ │ └── apple_age3.json │ │ │ ├── pod │ │ │ │ ├── cocoa_stage0_radius4.json │ │ │ │ ├── cocoa_stage0_radius5.json │ │ │ │ ├── cocoa_stage0_radius6.json │ │ │ │ ├── cocoa_stage0_radius7.json │ │ │ │ ├── cocoa_stage0_radius8.json │ │ │ │ ├── cocoa_stage1_radius4.json │ │ │ │ ├── cocoa_stage1_radius5.json │ │ │ │ ├── cocoa_stage1_radius6.json │ │ │ │ ├── cocoa_stage1_radius7.json │ │ │ │ ├── cocoa_stage1_radius8.json │ │ │ │ ├── cocoa_stage2_radius4.json │ │ │ │ ├── cocoa_stage2_radius5.json │ │ │ │ ├── cocoa_stage2_radius6.json │ │ │ │ ├── cocoa_stage2_radius7.json │ │ │ │ └── cocoa_stage2_radius8.json │ │ │ ├── roots.json │ │ │ ├── roots_tint_2.json │ │ │ ├── roots_water.json │ │ │ ├── smartmodel │ │ │ │ ├── mushroom_flat.json │ │ │ │ ├── mushroom_round.json │ │ │ │ ├── palm │ │ │ │ │ ├── core_bottom.json │ │ │ │ │ └── core_top.json │ │ │ │ ├── rooty │ │ │ │ │ ├── aerial_roots_radius1.json │ │ │ │ │ ├── aerial_roots_radius2.json │ │ │ │ │ ├── aerial_roots_radius3.json │ │ │ │ │ ├── aerial_roots_radius4.json │ │ │ │ │ ├── aerial_roots_radius5.json │ │ │ │ │ ├── aerial_roots_radius6.json │ │ │ │ │ ├── aerial_roots_radius7.json │ │ │ │ │ └── aerial_roots_radius8.json │ │ │ │ ├── sapling.json │ │ │ │ ├── water_sapling.json │ │ │ │ └── water_sapling_thin.json │ │ │ └── tall_slab.json │ │ └── item │ │ │ ├── branch.json │ │ │ ├── dendro_potion.json │ │ │ ├── dirt_bucket.json │ │ │ ├── manual.json │ │ │ ├── root_branch.json │ │ │ ├── staff.json │ │ │ └── standard_seed.json │ ├── patchouli_books │ │ └── guide │ │ │ ├── en_us │ │ │ ├── categories │ │ │ │ ├── mechanics.json │ │ │ │ ├── potions.json │ │ │ │ └── trees.json │ │ │ ├── entries │ │ │ │ ├── mechanics │ │ │ │ │ ├── dirt_bucket.json │ │ │ │ │ ├── rooty_soil.json │ │ │ │ │ └── staff.json │ │ │ │ ├── potions │ │ │ │ │ ├── base_potion.json │ │ │ │ │ ├── burgeoning_potion.json │ │ │ │ │ ├── depletion_potion.json │ │ │ │ │ ├── gigas_potion.json │ │ │ │ │ └── transformation_potion.json │ │ │ │ └── trees │ │ │ │ │ ├── apple_tree.json │ │ │ │ │ ├── features.json │ │ │ │ │ ├── nether_fungi.json │ │ │ │ │ └── overworld_trees.json │ │ │ └── templates │ │ │ │ ├── brewing.json │ │ │ │ └── brewing2.json │ │ │ └── ja_jp │ │ │ ├── categories │ │ │ ├── mechanics.json │ │ │ ├── potions.json │ │ │ └── trees.json │ │ │ ├── entries │ │ │ ├── mechanics │ │ │ │ ├── dirt_bucket.json │ │ │ │ ├── rooty_soil.json │ │ │ │ └── staff.json │ │ │ ├── potions │ │ │ │ ├── base_potion.json │ │ │ │ ├── burgeoning_potion.json │ │ │ │ ├── depletion_potion.json │ │ │ │ ├── gigas_potion.json │ │ │ │ └── transformation_potion.json │ │ │ └── trees │ │ │ │ ├── apple_tree.json │ │ │ │ ├── features.json │ │ │ │ ├── nether_fungi.json │ │ │ │ └── overworld_trees.json │ │ │ └── templates │ │ │ ├── brewing.json │ │ │ └── brewing2.json │ ├── shaders │ │ └── block.properties │ ├── sounds.json │ ├── sounds │ │ └── falling_tree │ │ │ ├── big │ │ │ ├── end1.ogg │ │ │ ├── end2.ogg │ │ │ ├── end3.ogg │ │ │ ├── start1.ogg │ │ │ ├── start2.ogg │ │ │ └── start3.ogg │ │ │ ├── fungus │ │ │ ├── end1.ogg │ │ │ ├── end2.ogg │ │ │ ├── end3.ogg │ │ │ ├── small_end1.ogg │ │ │ ├── start1.ogg │ │ │ ├── start2.ogg │ │ │ ├── start3.ogg │ │ │ └── start4.ogg │ │ │ ├── medium │ │ │ ├── end1.ogg │ │ │ ├── end2.ogg │ │ │ ├── end3.ogg │ │ │ ├── start1.ogg │ │ │ ├── start2.ogg │ │ │ └── start3.ogg │ │ │ ├── small │ │ │ ├── end1.ogg │ │ │ ├── end2.ogg │ │ │ ├── end_bare1.ogg │ │ │ ├── end_bare2.ogg │ │ │ ├── end_water1.ogg │ │ │ └── end_water2.ogg │ │ │ └── water │ │ │ ├── fall1.ogg │ │ │ ├── fall2.ogg │ │ │ └── fall3.ogg │ └── textures │ │ ├── block │ │ ├── air.png │ │ ├── apple.png │ │ ├── apple_golden.png │ │ ├── crimson_cap.png │ │ ├── roots.png │ │ ├── roots_bottom.png │ │ ├── sapling_water_roots.png │ │ ├── test.png │ │ ├── warped_cap.png │ │ └── water_roots.png │ │ ├── item │ │ ├── acacia_seed.png │ │ ├── apple_oak_seed.png │ │ ├── azalea_seed.png │ │ ├── birch_seed.png │ │ ├── cherry_seed.png │ │ ├── cocoa_seed.png │ │ ├── crimson_seed.png │ │ ├── dark_oak_seed.png │ │ ├── dirt_bucket.png │ │ ├── jungle_seed.png │ │ ├── mangrove_seed.png │ │ ├── manual.png │ │ ├── oak_seed.png │ │ ├── spruce_seed.png │ │ ├── staff.png │ │ ├── staff_glimmer.png │ │ ├── staff_handle.png │ │ ├── staff_overlay.png │ │ └── warped_seed.png │ │ └── patchouli │ │ ├── gui │ │ ├── brewing.png │ │ └── page_filler.png │ │ └── images │ │ ├── acacia_1.png │ │ ├── apple_oak_1.png │ │ ├── bees_1.png │ │ ├── burgeoning.png │ │ ├── dark_oak_1.png │ │ ├── falling_tree_1.png │ │ ├── mega_spruce.png │ │ ├── nether_fungi_1.png │ │ ├── nether_fungi_2.png │ │ ├── oak_1.png │ │ ├── rooty_soil.png │ │ └── spruce_1.png └── minecraft │ └── textures │ └── block │ ├── acacia_log_top_thick.png │ ├── birch_log_top_thick.png │ ├── crimson_stem_top_thick.png │ ├── dark_oak_log_top_thick.png │ ├── jungle_log_top_thick.png │ ├── oak_log_top_thick.png │ ├── spruce_log_top_thick.png │ ├── stripped_acacia_log_top_thick.png │ ├── stripped_birch_log_top_thick.png │ ├── stripped_crimson_stem_top_thick.png │ ├── stripped_dark_oak_log_top_thick.png │ ├── stripped_jungle_log_top_thick.png │ ├── stripped_oak_log_top_thick.png │ ├── stripped_spruce_log_top_thick.png │ ├── stripped_warped_stem_top_thick.png │ └── warped_stem_top_thick.png ├── data ├── dynamictrees │ ├── damage_type │ │ └── falling_tree.json │ ├── forge │ │ └── biome_modifier │ │ │ ├── add_dynamic_trees.json │ │ │ └── run_feature_cancellers.json │ ├── patchouli_books │ │ └── guide │ │ │ └── book.json │ ├── recipes │ │ ├── cocoa_beans.json │ │ ├── dirt_bucket.json │ │ └── guide.json │ ├── structures │ │ └── village │ │ │ └── plains │ │ │ └── town_centers │ │ │ └── plains_meeting_point_3.nbt │ └── tags │ │ ├── entity_types │ │ ├── can_pass_through_leaves.json │ │ ├── falling_tree_collision_blacklist.json │ │ └── falling_tree_damage_immune.json │ │ ├── items │ │ ├── enhanced_fertilizer.json │ │ └── fertilizer.json │ │ └── worldgen │ │ └── biome │ │ ├── is_bee_nest_common.json │ │ ├── is_bee_nest_guaranteed.json │ │ ├── is_bee_nest_rare.json │ │ └── is_bee_nest_uncommon.json └── minecraft │ ├── damage_type │ └── falling_tree.json │ └── tags │ ├── blocks │ └── snow_layer_can_survive_on.json │ └── damage_type │ └── falling_tree.json ├── logo.png ├── pack.mcmeta └── trees └── dynamictrees ├── families ├── acacia.json ├── birch.json ├── cherry.json ├── crimson.json ├── dark_oak.json ├── jungle.json ├── mangrove.json ├── oak.json ├── spruce.json └── warped.json ├── fruits └── apple.json ├── jo_codes ├── acacia.txt ├── apple_oak.txt ├── azalea.txt ├── birch.txt ├── cherry.txt ├── cocoa.txt ├── crimson.txt ├── dark_oak.txt ├── jungle.txt ├── jungle_undergrowth.txt ├── mangrove.txt ├── mega_crimson.txt ├── mega_jungle.txt ├── mega_spruce.txt ├── mega_warped.txt ├── oak.txt ├── oak_undergrowth.txt ├── spruce.txt ├── swamp_oak.txt ├── tall_birch.txt └── warped.txt ├── leaves_properties ├── acacia.json ├── azalea.json ├── bare.json ├── birch.json ├── cherry.json ├── crimson.json ├── dark_oak.json ├── flowering_azalea.json ├── jungle.json ├── jungle_undergrowth.json ├── mangrove.json ├── oak.json ├── oak_undergrowth.json ├── spruce.json └── warped.json ├── pods └── cocoa.json ├── soil_properties ├── brown_terracotta.json ├── clay.json ├── coarse_dirt.json ├── crimson_nylium.json ├── dirt.json ├── end_stone.json ├── farmland.json ├── grass_block.json ├── gravel.json ├── light_gray_terracotta.json ├── mangrove_aerial_roots.json ├── moss.json ├── moss_block.json ├── mud.json ├── mycelium.json ├── netherrack.json ├── orange_terracotta.json ├── podzol.json ├── powder_snow.json ├── red_sand.json ├── red_terracotta.json ├── rooted_dirt.json ├── sand.json ├── snow_block.json ├── soul_sand.json ├── soul_soil.json ├── terracotta.json ├── warped_nylium.json ├── water.json ├── white_terracotta.json └── yellow_terracotta.json ├── species ├── acacia.json ├── apple_oak.json ├── azalea.json ├── birch.json ├── cherry.json ├── cocoa.json ├── crimson.json ├── dark_oak.json ├── jungle.json ├── jungle_undergrowth.json ├── mangrove.json ├── mega_crimson.json ├── mega_jungle.json ├── mega_spruce.json ├── mega_warped.json ├── oak.json ├── oak_undergrowth.json ├── spruce.json ├── swamp_oak.json ├── tall_birch.json └── warped.json └── world_gen ├── default.json └── feature_cancellers.json /.gitattributes: -------------------------------------------------------------------------------- 1 | # Disable autocrlf on generated files, they always generate with LF 2 | # Add any extra files or paths here to make git stop saying they 3 | # are changed when only line endings change. 4 | src/generated/**/.cache/cache text eol=lf 5 | src/generated/**/*.json text eol=lf 6 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: Discord 4 | url: https://discord.gg/A4FCBS3 5 | about: Use this for support, questions, and chat 6 | -------------------------------------------------------------------------------- /.github/workflows/gradle.yml: -------------------------------------------------------------------------------- 1 | # This workflow will build a Java project with Gradle 2 | # For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle 3 | 4 | name: Java CI with Gradle 5 | 6 | on: 7 | push: 8 | pull_request: 9 | 10 | jobs: 11 | build: 12 | 13 | runs-on: ubuntu-latest 14 | 15 | steps: 16 | - uses: actions/checkout@v2 17 | - name: Set up JDK 17 18 | uses: actions/setup-java@v2 19 | with: 20 | java-version: '17' 21 | distribution: 'adopt' 22 | - name: Grant execute permission for gradlew 23 | run: chmod +x gradlew 24 | - name: Build with Gradle 25 | run: ./gradlew build 26 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # eclipse 2 | bin 3 | *.launch 4 | .settings 5 | .metadata 6 | .classpath 7 | .project 8 | 9 | # idea 10 | out 11 | *.ipr 12 | *.iws 13 | *.iml 14 | .idea 15 | 16 | # gradle 17 | build 18 | .gradle 19 | 20 | # other 21 | eclipse 22 | run 23 | run-server 24 | libs 25 | mcmodsrepo 26 | temp -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Dynamic Trees [ ](https://minecraft.curseforge.com/projects/dynamictrees/) 2 | 3 | Minecraft Forge mod providing dynamic trees that progressively grow from seed to maturity. 4 | 5 |  6 | 7 | This branch is for the 1.20.x version of Minecraft. 8 | 9 | ### Links 10 | - [CurseForge](https://minecraft.curseforge.com/projects/dynamictrees) 11 | - [Modrinth](https://modrinth.com/mod/dynamictrees) 12 | - [Discord](https://discord.gg/A4FCBS3) 13 | 14 | ### Compiling 15 | * Clone the repository. 16 | * Open a command prompt/terminal to the repository directory. 17 | * Run `gradlew build` on Windows, or `./gradlew build` for MacOS or Linux. 18 | * The built jar file will be in `build/libs/`. 19 | -------------------------------------------------------------------------------- /buildSrc/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | `kotlin-dsl` 3 | `java-library` 4 | } 5 | 6 | repositories { 7 | mavenCentral() 8 | } 9 | 10 | dependencies { 11 | implementation("com.google.code.gson:gson:2.8.7") 12 | } -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | modName=DynamicTrees 2 | modId=dynamictrees 3 | modVersion=1.4.5 4 | 5 | group=com.ferreusveritas.dynamictrees 6 | 7 | mcVersion=1.20.1 8 | forgeVersion=47.3.0 9 | mappingsChannel=parchment 10 | mappingsVersion=1.19.3-2023.03.12-1.20.1 11 | 12 | jeiVersion=15.0.0.12 13 | patchouliVersion=1.20.1-84-FORGE 14 | suggestionProviderFixVersion=1.0.0 15 | ccVersion=1.109.4 16 | ssVersion=5790633 17 | gcVersion=5787839 18 | jadeVersion=4986594 19 | 20 | versionType=release 21 | 22 | # Path of update checker relative to version info file 23 | updateCheckerPath=DynamicTrees.json 24 | # Set to true if this version should be marked as the recommended version on the update checker 25 | versionRecommended=true 26 | 27 | org.gradle.jvmargs=-Xmx6G 28 | org.gradle.daemon=false -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DynamicTreesTeam/DynamicTrees/b8da211da388c95544d673e1edeac02f3d7b15fb/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.1.1-bin.zip 4 | networkTimeout=10000 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DynamicTreesTeam/DynamicTrees/b8da211da388c95544d673e1edeac02f3d7b15fb/header.png -------------------------------------------------------------------------------- /settings.gradle.kts: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | gradlePluginPortal() 4 | maven("https://maven.minecraftforge.net/") 5 | maven("https://maven.parchmentmc.org/") 6 | } 7 | } 8 | 9 | rootProject.name = "Dynamic Trees" -------------------------------------------------------------------------------- /src/generated/resources/.cache/ae7a3ddbbbde6f36e12a813e147261b681a4084e: -------------------------------------------------------------------------------- 1 | // 1.20.1 2024-01-27T13:51:06.53477 dynamictrees DT Item Tags 2 | 0852fd1f90777eeab7126995157c4b1242a44700 data/dynamictrees/tags/items/branches.json 3 | a2572689ed7e96c6b505b27867c5ef842778f52c data/dynamictrees/tags/items/branches_that_burn.json 4 | 265c9a52b7eb0cfd09154318ed7e17789980c9a6 data/dynamictrees/tags/items/fungus_branches.json 5 | 80f707272ee43de5e1e0d5897629cdd2798eb9dd data/dynamictrees/tags/items/fungus_caps.json 6 | f5cfda10e05daf1736afe55ea37b8bc61276d3ca data/dynamictrees/tags/items/seeds.json 7 | 40d8c97822466372474dc35e9087e3f6ac034207 data/minecraft/tags/items/saplings.json 8 | -------------------------------------------------------------------------------- /src/generated/resources/.cache/c622617f6fabf890a00b9275cd5f643584a8a2c8: -------------------------------------------------------------------------------- 1 | // 1.20.1 2025-05-24T15:30:22.9190486 Languages: en_us 2 | 703bffeee29543aad80c901159deae662356e44e assets/dynamictrees/lang/en_us.json 3 | -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/acacia_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/acacia_branch" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/acacia_leaves.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "minecraft:block/acacia_leaves" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/acacia_sapling.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/saplings/acacia" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/apple_oak_sapling.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/saplings/apple_oak" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/azalea_leaves.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "minecraft:block/azalea_leaves" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/azalea_sapling.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/saplings/azalea" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/birch_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/birch_branch" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/birch_leaves.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "minecraft:block/birch_leaves" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/birch_sapling.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/saplings/birch" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/cherry_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/cherry_branch" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/cherry_leaves.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "minecraft:block/cherry_leaves" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/cherry_sapling.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/saplings/cherry" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/cocoa_sapling.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/saplings/cocoa" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/crimson_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/crimson_branch" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/crimson_sapling.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/saplings/crimson" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/crimson_wart.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "minecraft:block/nether_wart_block" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/dark_oak_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/dark_oak_branch" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/dark_oak_leaves.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "minecraft:block/dark_oak_leaves" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/dark_oak_root.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/dark_oak_root" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/dark_oak_sapling.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/saplings/dark_oak" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/flowering_azalea_leaves.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "minecraft:block/flowering_azalea_leaves" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/jungle_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/jungle_branch" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/jungle_leaves.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "minecraft:block/jungle_leaves" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/jungle_root.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/jungle_root" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/jungle_sapling.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/saplings/jungle" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/jungle_undergrowth_leaves.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "minecraft:block/jungle_leaves" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/mangrove_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/mangrove_branch" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/mangrove_leaves.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "minecraft:block/mangrove_leaves" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/mangrove_roots.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "layer=covered": { 4 | "model": "minecraft:block/mud" 5 | }, 6 | "layer=exposed": { 7 | "model": "dynamictrees:block/mangrove_roots" 8 | }, 9 | "layer=filled": { 10 | "model": "dynamictrees:block/mangrove_roots_filled" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/mangrove_sapling.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/saplings/mangrove" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/oak_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/oak_branch" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/oak_leaves.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "minecraft:block/oak_leaves" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/oak_sapling.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/saplings/oak" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/oak_undergrowth_leaves.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "minecraft:block/oak_leaves" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/rooty_brown_terracotta.json: -------------------------------------------------------------------------------- 1 | { 2 | "multipart": [ 3 | { 4 | "apply": { 5 | "model": "minecraft:block/brown_terracotta" 6 | } 7 | }, 8 | { 9 | "apply": { 10 | "model": "dynamictrees:block/roots" 11 | } 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/rooty_clay.json: -------------------------------------------------------------------------------- 1 | { 2 | "multipart": [ 3 | { 4 | "apply": { 5 | "model": "minecraft:block/clay" 6 | } 7 | }, 8 | { 9 | "apply": { 10 | "model": "dynamictrees:block/roots" 11 | } 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/rooty_coarse_dirt.json: -------------------------------------------------------------------------------- 1 | { 2 | "multipart": [ 3 | { 4 | "apply": { 5 | "model": "minecraft:block/coarse_dirt" 6 | } 7 | }, 8 | { 9 | "apply": { 10 | "model": "dynamictrees:block/roots" 11 | } 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/rooty_crimson_nylium.json: -------------------------------------------------------------------------------- 1 | { 2 | "multipart": [ 3 | { 4 | "apply": { 5 | "model": "minecraft:block/crimson_nylium" 6 | } 7 | }, 8 | { 9 | "apply": { 10 | "model": "dynamictrees:block/roots" 11 | } 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/rooty_dirt.json: -------------------------------------------------------------------------------- 1 | { 2 | "multipart": [ 3 | { 4 | "apply": { 5 | "model": "minecraft:block/dirt" 6 | } 7 | }, 8 | { 9 | "apply": { 10 | "model": "dynamictrees:block/roots" 11 | } 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/rooty_end_stone.json: -------------------------------------------------------------------------------- 1 | { 2 | "multipart": [ 3 | { 4 | "apply": { 5 | "model": "minecraft:block/end_stone" 6 | } 7 | }, 8 | { 9 | "apply": { 10 | "model": "dynamictrees:block/roots" 11 | } 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/rooty_grass_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "multipart": [ 3 | { 4 | "apply": { 5 | "model": "minecraft:block/grass_block" 6 | } 7 | }, 8 | { 9 | "apply": { 10 | "model": "dynamictrees:block/roots" 11 | } 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/rooty_gravel.json: -------------------------------------------------------------------------------- 1 | { 2 | "multipart": [ 3 | { 4 | "apply": { 5 | "model": "minecraft:block/gravel" 6 | } 7 | }, 8 | { 9 | "apply": { 10 | "model": "dynamictrees:block/roots" 11 | } 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/rooty_light_gray_terracotta.json: -------------------------------------------------------------------------------- 1 | { 2 | "multipart": [ 3 | { 4 | "apply": { 5 | "model": "minecraft:block/light_gray_terracotta" 6 | } 7 | }, 8 | { 9 | "apply": { 10 | "model": "dynamictrees:block/roots" 11 | } 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/rooty_moss.json: -------------------------------------------------------------------------------- 1 | { 2 | "multipart": [ 3 | { 4 | "apply": { 5 | "model": "minecraft:block/moss_block" 6 | } 7 | }, 8 | { 9 | "apply": { 10 | "model": "dynamictrees:block/roots" 11 | } 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/rooty_moss_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "multipart": [ 3 | { 4 | "apply": { 5 | "model": "minecraft:block/moss_block" 6 | } 7 | }, 8 | { 9 | "apply": { 10 | "model": "dynamictrees:block/roots" 11 | } 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/rooty_mud.json: -------------------------------------------------------------------------------- 1 | { 2 | "multipart": [ 3 | { 4 | "apply": { 5 | "model": "minecraft:block/mud" 6 | } 7 | }, 8 | { 9 | "apply": { 10 | "model": "dynamictrees:block/roots" 11 | } 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/rooty_mycelium.json: -------------------------------------------------------------------------------- 1 | { 2 | "multipart": [ 3 | { 4 | "apply": { 5 | "model": "minecraft:block/mycelium" 6 | } 7 | }, 8 | { 9 | "apply": { 10 | "model": "dynamictrees:block/roots" 11 | } 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/rooty_netherrack.json: -------------------------------------------------------------------------------- 1 | { 2 | "multipart": [ 3 | { 4 | "apply": { 5 | "model": "minecraft:block/netherrack" 6 | } 7 | }, 8 | { 9 | "apply": { 10 | "model": "dynamictrees:block/roots" 11 | } 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/rooty_orange_terracotta.json: -------------------------------------------------------------------------------- 1 | { 2 | "multipart": [ 3 | { 4 | "apply": { 5 | "model": "minecraft:block/orange_terracotta" 6 | } 7 | }, 8 | { 9 | "apply": { 10 | "model": "dynamictrees:block/roots" 11 | } 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/rooty_podzol.json: -------------------------------------------------------------------------------- 1 | { 2 | "multipart": [ 3 | { 4 | "apply": { 5 | "model": "minecraft:block/podzol" 6 | } 7 | }, 8 | { 9 | "apply": { 10 | "model": "dynamictrees:block/roots" 11 | } 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/rooty_red_sand.json: -------------------------------------------------------------------------------- 1 | { 2 | "multipart": [ 3 | { 4 | "apply": { 5 | "model": "minecraft:block/red_sand" 6 | } 7 | }, 8 | { 9 | "apply": { 10 | "model": "dynamictrees:block/roots" 11 | } 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/rooty_red_terracotta.json: -------------------------------------------------------------------------------- 1 | { 2 | "multipart": [ 3 | { 4 | "apply": { 5 | "model": "minecraft:block/red_terracotta" 6 | } 7 | }, 8 | { 9 | "apply": { 10 | "model": "dynamictrees:block/roots" 11 | } 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/rooty_rooted_dirt.json: -------------------------------------------------------------------------------- 1 | { 2 | "multipart": [ 3 | { 4 | "apply": { 5 | "model": "minecraft:block/rooted_dirt" 6 | } 7 | }, 8 | { 9 | "apply": { 10 | "model": "dynamictrees:block/roots" 11 | } 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/rooty_sand.json: -------------------------------------------------------------------------------- 1 | { 2 | "multipart": [ 3 | { 4 | "apply": { 5 | "model": "minecraft:block/sand" 6 | } 7 | }, 8 | { 9 | "apply": { 10 | "model": "dynamictrees:block/roots" 11 | } 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/rooty_soul_sand.json: -------------------------------------------------------------------------------- 1 | { 2 | "multipart": [ 3 | { 4 | "apply": { 5 | "model": "minecraft:block/soul_sand" 6 | } 7 | }, 8 | { 9 | "apply": { 10 | "model": "dynamictrees:block/roots" 11 | } 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/rooty_soul_soil.json: -------------------------------------------------------------------------------- 1 | { 2 | "multipart": [ 3 | { 4 | "apply": { 5 | "model": "minecraft:block/soul_soil" 6 | } 7 | }, 8 | { 9 | "apply": { 10 | "model": "dynamictrees:block/roots" 11 | } 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/rooty_terracotta.json: -------------------------------------------------------------------------------- 1 | { 2 | "multipart": [ 3 | { 4 | "apply": { 5 | "model": "minecraft:block/terracotta" 6 | } 7 | }, 8 | { 9 | "apply": { 10 | "model": "dynamictrees:block/roots" 11 | } 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/rooty_warped_nylium.json: -------------------------------------------------------------------------------- 1 | { 2 | "multipart": [ 3 | { 4 | "apply": { 5 | "model": "minecraft:block/warped_nylium" 6 | } 7 | }, 8 | { 9 | "apply": { 10 | "model": "dynamictrees:block/roots" 11 | } 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/rooty_water.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/roots_water" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/rooty_white_terracotta.json: -------------------------------------------------------------------------------- 1 | { 2 | "multipart": [ 3 | { 4 | "apply": { 5 | "model": "minecraft:block/white_terracotta" 6 | } 7 | }, 8 | { 9 | "apply": { 10 | "model": "dynamictrees:block/roots" 11 | } 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/rooty_yellow_terracotta.json: -------------------------------------------------------------------------------- 1 | { 2 | "multipart": [ 3 | { 4 | "apply": { 5 | "model": "minecraft:block/yellow_terracotta" 6 | } 7 | }, 8 | { 9 | "apply": { 10 | "model": "dynamictrees:block/roots" 11 | } 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/spruce_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/spruce_branch" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/spruce_leaves.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "minecraft:block/spruce_leaves" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/spruce_sapling.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/saplings/spruce" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/stripped_acacia_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/stripped_acacia_branch" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/stripped_birch_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/stripped_birch_branch" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/stripped_cherry_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/stripped_cherry_branch" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/stripped_crimson_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/stripped_crimson_branch" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/stripped_dark_oak_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/stripped_dark_oak_branch" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/stripped_jungle_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/stripped_jungle_branch" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/stripped_mangrove_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/stripped_mangrove_branch" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/stripped_oak_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/stripped_oak_branch" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/stripped_spruce_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/stripped_spruce_branch" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/stripped_warped_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/stripped_warped_branch" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/swamp_oak_sapling.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/saplings/swamp_oak" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/tall_birch_sapling.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/saplings/tall_birch" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/warped_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/warped_branch" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/warped_sapling.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "dynamictrees:block/saplings/warped" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/blockstates/warped_wart.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "minecraft:block/warped_wart_block" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/acacia_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "dynamictrees:branch", 3 | "textures": { 4 | "bark": "minecraft:block/acacia_log", 5 | "rings": "minecraft:block/acacia_log_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/birch_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "dynamictrees:branch", 3 | "textures": { 4 | "bark": "minecraft:block/birch_log", 5 | "rings": "minecraft:block/birch_log_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/cherry_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "dynamictrees:branch", 3 | "textures": { 4 | "bark": "minecraft:block/cherry_log", 5 | "rings": "minecraft:block/cherry_log_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/crimson_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "dynamictrees:branch", 3 | "textures": { 4 | "bark": "minecraft:block/crimson_stem", 5 | "rings": "minecraft:block/crimson_stem_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/dark_oak_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "dynamictrees:branch", 3 | "textures": { 4 | "bark": "minecraft:block/dark_oak_log", 5 | "rings": "minecraft:block/dark_oak_log_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/dark_oak_root.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "dynamictrees:surface_root", 3 | "textures": { 4 | "bark": "minecraft:block/dark_oak_log" 5 | } 6 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/jungle_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "dynamictrees:branch", 3 | "textures": { 4 | "bark": "minecraft:block/jungle_log", 5 | "rings": "minecraft:block/jungle_log_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/jungle_root.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "dynamictrees:surface_root", 3 | "textures": { 4 | "bark": "minecraft:block/jungle_log" 5 | } 6 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/mangrove_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "dynamictrees:branch", 3 | "textures": { 4 | "bark": "minecraft:block/mangrove_log", 5 | "rings": "minecraft:block/mangrove_log_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/mangrove_roots.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "dynamictrees:roots", 3 | "render_type": "minecraft:cutout_mipped", 4 | "textures": { 5 | "bark": "minecraft:block/mangrove_roots_side", 6 | "rings": "minecraft:block/mangrove_roots_top" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/mangrove_roots_filled.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "dynamictrees:roots", 3 | "textures": { 4 | "bark": "minecraft:block/muddy_mangrove_roots_side", 5 | "rings": "minecraft:block/muddy_mangrove_roots_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/oak_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "dynamictrees:branch", 3 | "textures": { 4 | "bark": "minecraft:block/oak_log", 5 | "rings": "minecraft:block/oak_log_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/rooty_mangrove_aerial_roots_radius1.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:block/smartmodel/rooty/aerial_roots_radius1", 3 | "textures": { 4 | "end": "minecraft:block/mangrove_log_top", 5 | "overlay": "minecraft:block/mangrove_roots_side", 6 | "overlay_end": "minecraft:block/mangrove_roots_top", 7 | "side": "minecraft:block/mangrove_log" 8 | } 9 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/rooty_mangrove_aerial_roots_radius2.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:block/smartmodel/rooty/aerial_roots_radius2", 3 | "textures": { 4 | "end": "minecraft:block/mangrove_log_top", 5 | "overlay": "minecraft:block/mangrove_roots_side", 6 | "overlay_end": "minecraft:block/mangrove_roots_top", 7 | "side": "minecraft:block/mangrove_log" 8 | } 9 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/rooty_mangrove_aerial_roots_radius3.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:block/smartmodel/rooty/aerial_roots_radius3", 3 | "textures": { 4 | "end": "minecraft:block/mangrove_log_top", 5 | "overlay": "minecraft:block/mangrove_roots_side", 6 | "overlay_end": "minecraft:block/mangrove_roots_top", 7 | "side": "minecraft:block/mangrove_log" 8 | } 9 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/rooty_mangrove_aerial_roots_radius4.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:block/smartmodel/rooty/aerial_roots_radius4", 3 | "textures": { 4 | "end": "minecraft:block/mangrove_log_top", 5 | "overlay": "minecraft:block/mangrove_roots_side", 6 | "overlay_end": "minecraft:block/mangrove_roots_top", 7 | "side": "minecraft:block/mangrove_log" 8 | } 9 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/rooty_mangrove_aerial_roots_radius5.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:block/smartmodel/rooty/aerial_roots_radius5", 3 | "textures": { 4 | "end": "minecraft:block/mangrove_log_top", 5 | "overlay": "minecraft:block/mangrove_roots_side", 6 | "overlay_end": "minecraft:block/mangrove_roots_top", 7 | "side": "minecraft:block/mangrove_log" 8 | } 9 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/rooty_mangrove_aerial_roots_radius6.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:block/smartmodel/rooty/aerial_roots_radius6", 3 | "textures": { 4 | "end": "minecraft:block/mangrove_log_top", 5 | "overlay": "minecraft:block/mangrove_roots_side", 6 | "overlay_end": "minecraft:block/mangrove_roots_top", 7 | "side": "minecraft:block/mangrove_log" 8 | } 9 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/rooty_mangrove_aerial_roots_radius7.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:block/smartmodel/rooty/aerial_roots_radius7", 3 | "textures": { 4 | "end": "minecraft:block/mangrove_log_top", 5 | "overlay": "minecraft:block/mangrove_roots_side", 6 | "overlay_end": "minecraft:block/mangrove_roots_top", 7 | "side": "minecraft:block/mangrove_log" 8 | } 9 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/rooty_mangrove_aerial_roots_radius8.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:block/smartmodel/rooty/aerial_roots_radius8", 3 | "textures": { 4 | "end": "minecraft:block/mangrove_log_top", 5 | "overlay": "minecraft:block/mangrove_roots_side", 6 | "overlay_end": "minecraft:block/mangrove_roots_top", 7 | "side": "minecraft:block/mangrove_log" 8 | } 9 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/saplings/acacia.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:block/smartmodel/sapling", 3 | "render_type": "minecraft:cutout_mipped", 4 | "textures": { 5 | "leaves": "minecraft:block/acacia_leaves", 6 | "log": "minecraft:block/acacia_log" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/saplings/apple_oak.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:block/smartmodel/sapling", 3 | "render_type": "minecraft:cutout_mipped", 4 | "textures": { 5 | "leaves": "minecraft:block/oak_leaves", 6 | "log": "minecraft:block/oak_log" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/saplings/azalea.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:block/smartmodel/sapling", 3 | "render_type": "minecraft:cutout_mipped", 4 | "textures": { 5 | "leaves": "minecraft:block/azalea_leaves", 6 | "log": "minecraft:block/oak_log" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/saplings/birch.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:block/smartmodel/sapling", 3 | "render_type": "minecraft:cutout_mipped", 4 | "textures": { 5 | "leaves": "minecraft:block/birch_leaves", 6 | "log": "minecraft:block/birch_log" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/saplings/cherry.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:block/smartmodel/sapling", 3 | "render_type": "minecraft:cutout_mipped", 4 | "textures": { 5 | "leaves": "minecraft:block/cherry_leaves", 6 | "log": "minecraft:block/cherry_log" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/saplings/cocoa.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:block/smartmodel/sapling", 3 | "render_type": "minecraft:cutout_mipped", 4 | "textures": { 5 | "leaves": "minecraft:block/jungle_leaves", 6 | "log": "minecraft:block/jungle_log" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/saplings/crimson.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:block/smartmodel/mushroom_round", 3 | "render_type": "minecraft:cutout_mipped", 4 | "textures": { 5 | "cap": "dynamictrees:block/crimson_cap", 6 | "stem": "dynamictrees:block/crimson_cap" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/saplings/dark_oak.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:block/smartmodel/sapling", 3 | "render_type": "minecraft:cutout_mipped", 4 | "textures": { 5 | "leaves": "minecraft:block/dark_oak_leaves", 6 | "log": "minecraft:block/dark_oak_log" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/saplings/jungle.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:block/smartmodel/sapling", 3 | "render_type": "minecraft:cutout_mipped", 4 | "textures": { 5 | "leaves": "minecraft:block/jungle_leaves", 6 | "log": "minecraft:block/jungle_log" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/saplings/mangrove.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:block/smartmodel/water_sapling_thin", 3 | "render_type": "minecraft:cutout_mipped", 4 | "textures": { 5 | "leaves": "minecraft:block/mangrove_leaves", 6 | "log": "minecraft:block/mangrove_log" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/saplings/oak.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:block/smartmodel/sapling", 3 | "render_type": "minecraft:cutout_mipped", 4 | "textures": { 5 | "leaves": "minecraft:block/oak_leaves", 6 | "log": "minecraft:block/oak_log" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/saplings/spruce.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:block/smartmodel/sapling", 3 | "render_type": "minecraft:cutout_mipped", 4 | "textures": { 5 | "leaves": "minecraft:block/spruce_leaves", 6 | "log": "minecraft:block/spruce_log" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/saplings/swamp_oak.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:block/smartmodel/water_sapling", 3 | "render_type": "minecraft:cutout_mipped", 4 | "textures": { 5 | "leaves": "minecraft:block/oak_leaves", 6 | "log": "minecraft:block/oak_log" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/saplings/tall_birch.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:block/smartmodel/sapling", 3 | "render_type": "minecraft:cutout_mipped", 4 | "textures": { 5 | "leaves": "minecraft:block/birch_leaves", 6 | "log": "minecraft:block/birch_log" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/saplings/warped.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:block/smartmodel/mushroom_flat", 3 | "render_type": "minecraft:cutout_mipped", 4 | "textures": { 5 | "cap": "dynamictrees:block/warped_cap", 6 | "stem": "dynamictrees:block/warped_cap" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/spruce_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "dynamictrees:branch", 3 | "textures": { 4 | "bark": "minecraft:block/spruce_log", 5 | "rings": "minecraft:block/spruce_log_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/stripped_acacia_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "dynamictrees:branch", 3 | "textures": { 4 | "bark": "minecraft:block/stripped_acacia_log", 5 | "rings": "minecraft:block/stripped_acacia_log_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/stripped_birch_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "dynamictrees:branch", 3 | "textures": { 4 | "bark": "minecraft:block/stripped_birch_log", 5 | "rings": "minecraft:block/stripped_birch_log_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/stripped_cherry_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "dynamictrees:branch", 3 | "textures": { 4 | "bark": "minecraft:block/stripped_cherry_log", 5 | "rings": "minecraft:block/stripped_cherry_log_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/stripped_crimson_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "dynamictrees:branch", 3 | "textures": { 4 | "bark": "minecraft:block/stripped_crimson_stem", 5 | "rings": "minecraft:block/stripped_crimson_stem_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/stripped_dark_oak_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "dynamictrees:branch", 3 | "textures": { 4 | "bark": "minecraft:block/stripped_dark_oak_log", 5 | "rings": "minecraft:block/stripped_dark_oak_log_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/stripped_jungle_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "dynamictrees:branch", 3 | "textures": { 4 | "bark": "minecraft:block/stripped_jungle_log", 5 | "rings": "minecraft:block/stripped_jungle_log_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/stripped_mangrove_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "dynamictrees:branch", 3 | "textures": { 4 | "bark": "minecraft:block/stripped_mangrove_log", 5 | "rings": "minecraft:block/stripped_mangrove_log_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/stripped_oak_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "dynamictrees:branch", 3 | "textures": { 4 | "bark": "minecraft:block/stripped_oak_log", 5 | "rings": "minecraft:block/stripped_oak_log_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/stripped_spruce_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "dynamictrees:branch", 3 | "textures": { 4 | "bark": "minecraft:block/stripped_spruce_log", 5 | "rings": "minecraft:block/stripped_spruce_log_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/stripped_warped_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "dynamictrees:branch", 3 | "textures": { 4 | "bark": "minecraft:block/stripped_warped_stem", 5 | "rings": "minecraft:block/stripped_warped_stem_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/block/warped_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "dynamictrees:branch", 3 | "textures": { 4 | "bark": "minecraft:block/warped_stem", 5 | "rings": "minecraft:block/warped_stem_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/item/acacia_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:item/branch", 3 | "textures": { 4 | "bark": "minecraft:block/acacia_log", 5 | "rings": "minecraft:block/acacia_log_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/item/acacia_seed.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:item/standard_seed", 3 | "textures": { 4 | "layer0": "dynamictrees:item/acacia_seed" 5 | } 6 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/item/apple_oak_seed.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:item/standard_seed", 3 | "textures": { 4 | "layer0": "dynamictrees:item/apple_oak_seed" 5 | } 6 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/item/azalea_seed.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:item/standard_seed", 3 | "textures": { 4 | "layer0": "dynamictrees:item/azalea_seed" 5 | } 6 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/item/birch_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:item/branch", 3 | "textures": { 4 | "bark": "minecraft:block/birch_log", 5 | "rings": "minecraft:block/birch_log_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/item/birch_seed.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:item/standard_seed", 3 | "textures": { 4 | "layer0": "dynamictrees:item/birch_seed" 5 | } 6 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/item/cherry_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:item/branch", 3 | "textures": { 4 | "bark": "minecraft:block/cherry_log", 5 | "rings": "minecraft:block/cherry_log_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/item/cherry_seed.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:item/standard_seed", 3 | "textures": { 4 | "layer0": "dynamictrees:item/cherry_seed" 5 | } 6 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/item/cocoa_seed.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:item/standard_seed", 3 | "textures": { 4 | "layer0": "dynamictrees:item/cocoa_seed" 5 | } 6 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/item/crimson_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:item/branch", 3 | "textures": { 4 | "bark": "minecraft:block/crimson_stem", 5 | "rings": "minecraft:block/crimson_stem_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/item/crimson_seed.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:item/standard_seed", 3 | "textures": { 4 | "layer0": "dynamictrees:item/crimson_seed" 5 | } 6 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/item/dark_oak_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:item/branch", 3 | "textures": { 4 | "bark": "minecraft:block/dark_oak_log", 5 | "rings": "minecraft:block/dark_oak_log_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/item/dark_oak_seed.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:item/standard_seed", 3 | "textures": { 4 | "layer0": "dynamictrees:item/dark_oak_seed" 5 | } 6 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/item/jungle_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:item/branch", 3 | "textures": { 4 | "bark": "minecraft:block/jungle_log", 5 | "rings": "minecraft:block/jungle_log_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/item/jungle_seed.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:item/standard_seed", 3 | "textures": { 4 | "layer0": "dynamictrees:item/jungle_seed" 5 | } 6 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/item/mangrove_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:item/branch", 3 | "textures": { 4 | "bark": "minecraft:block/mangrove_log", 5 | "rings": "minecraft:block/mangrove_log_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/item/mangrove_roots.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:item/root_branch", 3 | "textures": { 4 | "bark": "minecraft:block/mangrove_roots_side", 5 | "rings": "minecraft:block/mangrove_roots_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/item/mangrove_seed.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:item/standard_seed", 3 | "textures": { 4 | "layer0": "dynamictrees:item/mangrove_seed" 5 | } 6 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/item/oak_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:item/branch", 3 | "textures": { 4 | "bark": "minecraft:block/oak_log", 5 | "rings": "minecraft:block/oak_log_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/item/oak_seed.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:item/standard_seed", 3 | "textures": { 4 | "layer0": "dynamictrees:item/oak_seed" 5 | } 6 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/item/spruce_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:item/branch", 3 | "textures": { 4 | "bark": "minecraft:block/spruce_log", 5 | "rings": "minecraft:block/spruce_log_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/item/spruce_seed.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:item/standard_seed", 3 | "textures": { 4 | "layer0": "dynamictrees:item/spruce_seed" 5 | } 6 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/item/warped_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:item/branch", 3 | "textures": { 4 | "bark": "minecraft:block/warped_stem", 5 | "rings": "minecraft:block/warped_stem_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/dynamictrees/models/item/warped_seed.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "dynamictrees:item/standard_seed", 3 | "textures": { 4 | "layer0": "dynamictrees:item/warped_seed" 5 | } 6 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/loot_tables/blocks/apple.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "bonus_rolls": 0.0, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "conditions": [ 10 | { 11 | "block": "dynamictrees:apple", 12 | "condition": "minecraft:block_state_property", 13 | "properties": { 14 | "age": "3" 15 | } 16 | } 17 | ], 18 | "functions": [ 19 | { 20 | "function": "minecraft:explosion_decay" 21 | } 22 | ], 23 | "name": "minecraft:apple" 24 | } 25 | ], 26 | "rolls": 1.0 27 | } 28 | ], 29 | "random_sequence": "dynamictrees:blocks/apple" 30 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/loot_tables/blocks/cocoa.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "bonus_rolls": 0.0, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "conditions": [ 10 | { 11 | "block": "dynamictrees:cocoa", 12 | "condition": "minecraft:block_state_property", 13 | "properties": { 14 | "age": "2" 15 | } 16 | } 17 | ], 18 | "functions": [ 19 | { 20 | "function": "minecraft:explosion_decay" 21 | } 22 | ], 23 | "name": "dynamictrees:cocoa_seed" 24 | } 25 | ], 26 | "rolls": 1.0 27 | } 28 | ], 29 | "random_sequence": "dynamictrees:blocks/cocoa" 30 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/loot_tables/blocks/crimson_wart.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "bonus_rolls": 0.0, 6 | "conditions": [ 7 | { 8 | "condition": "minecraft:survives_explosion" 9 | } 10 | ], 11 | "entries": [ 12 | { 13 | "type": "minecraft:item", 14 | "name": "minecraft:nether_wart_block" 15 | } 16 | ], 17 | "rolls": 1.0 18 | } 19 | ], 20 | "random_sequence": "dynamictrees:blocks/crimson_wart" 21 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/loot_tables/blocks/warped_wart.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "bonus_rolls": 0.0, 6 | "conditions": [ 7 | { 8 | "condition": "minecraft:survives_explosion" 9 | } 10 | ], 11 | "entries": [ 12 | { 13 | "type": "minecraft:item", 14 | "name": "minecraft:warped_wart_block" 15 | } 16 | ], 17 | "rolls": 1.0 18 | } 19 | ], 20 | "random_sequence": "dynamictrees:blocks/warped_wart" 21 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/loot_tables/trees/leaves/crimson.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "bonus_rolls": 0.0, 6 | "conditions": [ 7 | { 8 | "condition": "minecraft:survives_explosion" 9 | }, 10 | { 11 | "chances": [ 12 | 0.1, 13 | 0.1333333, 14 | 0.1666666, 15 | 0.2 16 | ], 17 | "condition": "minecraft:table_bonus", 18 | "enchantment": "minecraft:fortune" 19 | } 20 | ], 21 | "entries": [ 22 | { 23 | "type": "minecraft:item", 24 | "name": "minecraft:nether_wart_block" 25 | } 26 | ], 27 | "rolls": 1.0 28 | } 29 | ], 30 | "random_sequence": "dynamictrees:trees/leaves/crimson" 31 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/loot_tables/trees/leaves/warped.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "bonus_rolls": 0.0, 6 | "conditions": [ 7 | { 8 | "condition": "minecraft:survives_explosion" 9 | }, 10 | { 11 | "chances": [ 12 | 0.1, 13 | 0.1333333, 14 | 0.1666666, 15 | 0.2 16 | ], 17 | "condition": "minecraft:table_bonus", 18 | "enchantment": "minecraft:fortune" 19 | } 20 | ], 21 | "entries": [ 22 | { 23 | "type": "minecraft:item", 24 | "name": "minecraft:warped_wart_block" 25 | } 26 | ], 27 | "rolls": 1.0 28 | } 29 | ], 30 | "random_sequence": "dynamictrees:trees/leaves/warped" 31 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/loot_tables/trees/voluntary/acacia.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "bonus_rolls": 0.0, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "conditions": [ 10 | { 11 | "condition": "dynamictrees:voluntary_seed_drop_chance", 12 | "rarity": 1.0 13 | } 14 | ], 15 | "name": "dynamictrees:acacia_seed" 16 | } 17 | ], 18 | "rolls": 1.0 19 | } 20 | ], 21 | "random_sequence": "dynamictrees:trees/voluntary/acacia" 22 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/loot_tables/trees/voluntary/apple_oak.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "bonus_rolls": 0.0, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "conditions": [ 10 | { 11 | "condition": "dynamictrees:voluntary_seed_drop_chance", 12 | "rarity": 1.0 13 | } 14 | ], 15 | "name": "dynamictrees:apple_oak_seed" 16 | } 17 | ], 18 | "rolls": 1.0 19 | } 20 | ], 21 | "random_sequence": "dynamictrees:trees/voluntary/apple_oak" 22 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/loot_tables/trees/voluntary/azalea.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "bonus_rolls": 0.0, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "conditions": [ 10 | { 11 | "condition": "dynamictrees:voluntary_seed_drop_chance", 12 | "rarity": 1.0 13 | } 14 | ], 15 | "name": "dynamictrees:azalea_seed" 16 | } 17 | ], 18 | "rolls": 1.0 19 | } 20 | ], 21 | "random_sequence": "dynamictrees:trees/voluntary/azalea" 22 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/loot_tables/trees/voluntary/birch.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "bonus_rolls": 0.0, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "conditions": [ 10 | { 11 | "condition": "dynamictrees:voluntary_seed_drop_chance", 12 | "rarity": 1.0 13 | } 14 | ], 15 | "name": "dynamictrees:birch_seed" 16 | } 17 | ], 18 | "rolls": 1.0 19 | } 20 | ], 21 | "random_sequence": "dynamictrees:trees/voluntary/birch" 22 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/loot_tables/trees/voluntary/cherry.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "bonus_rolls": 0.0, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "conditions": [ 10 | { 11 | "condition": "dynamictrees:voluntary_seed_drop_chance", 12 | "rarity": 1.0 13 | } 14 | ], 15 | "name": "dynamictrees:cherry_seed" 16 | } 17 | ], 18 | "rolls": 1.0 19 | } 20 | ], 21 | "random_sequence": "dynamictrees:trees/voluntary/cherry" 22 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/loot_tables/trees/voluntary/cocoa.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "bonus_rolls": 0.0, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "conditions": [ 10 | { 11 | "condition": "dynamictrees:voluntary_seed_drop_chance", 12 | "rarity": 1.0 13 | } 14 | ], 15 | "name": "dynamictrees:cocoa_seed" 16 | } 17 | ], 18 | "rolls": 1.0 19 | } 20 | ], 21 | "random_sequence": "dynamictrees:trees/voluntary/cocoa" 22 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/loot_tables/trees/voluntary/crimson.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "bonus_rolls": 0.0, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "conditions": [ 10 | { 11 | "condition": "dynamictrees:voluntary_seed_drop_chance", 12 | "rarity": 1.0 13 | } 14 | ], 15 | "name": "dynamictrees:crimson_seed" 16 | } 17 | ], 18 | "rolls": 1.0 19 | } 20 | ], 21 | "random_sequence": "dynamictrees:trees/voluntary/crimson" 22 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/loot_tables/trees/voluntary/dark_oak.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "bonus_rolls": 0.0, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "conditions": [ 10 | { 11 | "condition": "dynamictrees:voluntary_seed_drop_chance", 12 | "rarity": 1.0 13 | } 14 | ], 15 | "name": "dynamictrees:dark_oak_seed" 16 | } 17 | ], 18 | "rolls": 1.0 19 | } 20 | ], 21 | "random_sequence": "dynamictrees:trees/voluntary/dark_oak" 22 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/loot_tables/trees/voluntary/jungle.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "bonus_rolls": 0.0, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "conditions": [ 10 | { 11 | "condition": "dynamictrees:voluntary_seed_drop_chance", 12 | "rarity": 1.0 13 | } 14 | ], 15 | "name": "dynamictrees:jungle_seed" 16 | } 17 | ], 18 | "rolls": 1.0 19 | } 20 | ], 21 | "random_sequence": "dynamictrees:trees/voluntary/jungle" 22 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/loot_tables/trees/voluntary/mangrove.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "bonus_rolls": 0.0, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "conditions": [ 10 | { 11 | "condition": "dynamictrees:voluntary_seed_drop_chance", 12 | "rarity": 1.0 13 | } 14 | ], 15 | "name": "dynamictrees:mangrove_seed" 16 | } 17 | ], 18 | "rolls": 1.0 19 | } 20 | ], 21 | "random_sequence": "dynamictrees:trees/voluntary/mangrove" 22 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/loot_tables/trees/voluntary/oak.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "bonus_rolls": 0.0, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "conditions": [ 10 | { 11 | "condition": "dynamictrees:voluntary_seed_drop_chance", 12 | "rarity": 1.0 13 | } 14 | ], 15 | "name": "dynamictrees:oak_seed" 16 | } 17 | ], 18 | "rolls": 1.0 19 | } 20 | ], 21 | "random_sequence": "dynamictrees:trees/voluntary/oak" 22 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/loot_tables/trees/voluntary/spruce.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "bonus_rolls": 0.0, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "conditions": [ 10 | { 11 | "condition": "dynamictrees:voluntary_seed_drop_chance", 12 | "rarity": 1.0 13 | } 14 | ], 15 | "name": "dynamictrees:spruce_seed" 16 | } 17 | ], 18 | "rolls": 1.0 19 | } 20 | ], 21 | "random_sequence": "dynamictrees:trees/voluntary/spruce" 22 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/loot_tables/trees/voluntary/warped.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "bonus_rolls": 0.0, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "conditions": [ 10 | { 11 | "condition": "dynamictrees:voluntary_seed_drop_chance", 12 | "rarity": 1.0 13 | } 14 | ], 15 | "name": "dynamictrees:warped_seed" 16 | } 17 | ], 18 | "rolls": 1.0 19 | } 20 | ], 21 | "random_sequence": "dynamictrees:trees/voluntary/warped" 22 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/tags/blocks/aerial_roots_rooty_soil.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "dynamictrees:rooty_mangrove_aerial_roots" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/tags/blocks/branches.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "#dynamictrees:branches_that_burn", 4 | "#dynamictrees:fungus_branches" 5 | ] 6 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/tags/blocks/branches_that_burn.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "dynamictrees:acacia_branch", 4 | "dynamictrees:birch_branch", 5 | "dynamictrees:cherry_branch", 6 | "dynamictrees:dark_oak_branch", 7 | "dynamictrees:jungle_branch", 8 | "dynamictrees:mangrove_branch", 9 | "dynamictrees:oak_branch", 10 | "dynamictrees:spruce_branch" 11 | ] 12 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/tags/blocks/foliage.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "minecraft:grass", 4 | "minecraft:tall_grass", 5 | "minecraft:fern", 6 | "minecraft:lily_pad", 7 | "minecraft:pink_petals", 8 | "minecraft:brown_mushroom", 9 | "minecraft:red_mushroom", 10 | "minecraft:lily_pad", 11 | "minecraft:azalea", 12 | "minecraft:flowering_azalea", 13 | "minecraft:moss_carpet", 14 | "#minecraft:flowers", 15 | "#minecraft:replaceable_by_trees" 16 | ] 17 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/tags/blocks/fungus_branches.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "dynamictrees:crimson_branch", 4 | "dynamictrees:warped_branch" 5 | ] 6 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/tags/blocks/fungus_caps.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "dynamictrees:crimson_sapling", 4 | "dynamictrees:warped_sapling" 5 | ] 6 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/tags/blocks/leaves.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "dynamictrees:acacia_leaves", 4 | "dynamictrees:azalea_leaves", 5 | "dynamictrees:birch_leaves", 6 | "dynamictrees:cherry_leaves", 7 | "dynamictrees:dark_oak_leaves", 8 | "dynamictrees:flowering_azalea_leaves", 9 | "dynamictrees:jungle_leaves", 10 | "dynamictrees:jungle_undergrowth_leaves", 11 | "dynamictrees:mangrove_leaves", 12 | "dynamictrees:oak_leaves", 13 | "dynamictrees:oak_undergrowth_leaves", 14 | "dynamictrees:spruce_leaves" 15 | ] 16 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/tags/blocks/roots.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "dynamictrees:mangrove_roots" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/tags/blocks/saplings.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "dynamictrees:acacia_sapling", 4 | "dynamictrees:apple_oak_sapling", 5 | "dynamictrees:azalea_sapling", 6 | "dynamictrees:birch_sapling", 7 | "dynamictrees:cherry_sapling", 8 | "dynamictrees:cocoa_sapling", 9 | "dynamictrees:dark_oak_sapling", 10 | "dynamictrees:jungle_sapling", 11 | "dynamictrees:mangrove_sapling", 12 | "dynamictrees:oak_sapling", 13 | "dynamictrees:spruce_sapling", 14 | "dynamictrees:swamp_oak_sapling", 15 | "dynamictrees:tall_birch_sapling" 16 | ] 17 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/tags/blocks/stripped_branches.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "#dynamictrees:stripped_branches_that_burn", 4 | "#dynamictrees:stripped_fungus_branches" 5 | ] 6 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/tags/blocks/stripped_branches_that_burn.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "dynamictrees:stripped_acacia_branch", 4 | "dynamictrees:stripped_birch_branch", 5 | "dynamictrees:stripped_cherry_branch", 6 | "dynamictrees:stripped_dark_oak_branch", 7 | "dynamictrees:stripped_jungle_branch", 8 | "dynamictrees:stripped_mangrove_branch", 9 | "dynamictrees:stripped_oak_branch", 10 | "dynamictrees:stripped_spruce_branch" 11 | ] 12 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/tags/blocks/stripped_fungus_branches.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "dynamictrees:stripped_crimson_branch", 4 | "dynamictrees:stripped_warped_branch" 5 | ] 6 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/tags/blocks/wart_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "dynamictrees:crimson_wart", 4 | "dynamictrees:warped_wart" 5 | ] 6 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/tags/items/branches.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "#dynamictrees:branches_that_burn", 4 | "#dynamictrees:fungus_branches" 5 | ] 6 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/tags/items/branches_that_burn.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "dynamictrees:acacia_branch", 4 | "dynamictrees:birch_branch", 5 | "dynamictrees:cherry_branch", 6 | "dynamictrees:dark_oak_branch", 7 | "dynamictrees:jungle_branch", 8 | "dynamictrees:mangrove_branch", 9 | "dynamictrees:oak_branch", 10 | "dynamictrees:spruce_branch" 11 | ] 12 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/tags/items/fungus_branches.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "dynamictrees:crimson_branch", 4 | "dynamictrees:warped_branch" 5 | ] 6 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/tags/items/fungus_caps.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "dynamictrees:crimson_seed", 4 | "dynamictrees:warped_seed" 5 | ] 6 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/tags/items/seeds.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "#dynamictrees:fungus_caps", 4 | "dynamictrees:acacia_seed", 5 | "dynamictrees:apple_oak_seed", 6 | "dynamictrees:azalea_seed", 7 | "dynamictrees:birch_seed", 8 | "dynamictrees:cherry_seed", 9 | "dynamictrees:cocoa_seed", 10 | "dynamictrees:dark_oak_seed", 11 | "dynamictrees:jungle_seed", 12 | "dynamictrees:mangrove_seed", 13 | "dynamictrees:oak_seed", 14 | "dynamictrees:spruce_seed" 15 | ] 16 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/worldgen/configured_feature/cave_rooted_tree.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "dynamictrees:cave_rooted_tree", 3 | "config": {} 4 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/worldgen/configured_feature/dynamic_tree.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "dynamictrees:tree", 3 | "config": {} 4 | } -------------------------------------------------------------------------------- /src/generated/resources/data/dynamictrees/worldgen/placed_feature/dynamic_tree.json: -------------------------------------------------------------------------------- 1 | { 2 | "feature": "dynamictrees:dynamic_tree", 3 | "placement": [] 4 | } -------------------------------------------------------------------------------- /src/generated/resources/data/minecraft/tags/blocks/enderman_holdable.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "#dynamictrees:fungus_caps" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/generated/resources/data/minecraft/tags/blocks/flower_pots.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "dynamictrees:potted_sapling" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/generated/resources/data/minecraft/tags/blocks/hoglin_repellents.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "dynamictrees:warped_sapling" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/generated/resources/data/minecraft/tags/blocks/leaves.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "#dynamictrees:leaves" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/generated/resources/data/minecraft/tags/blocks/logs.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "#dynamictrees:branches" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/generated/resources/data/minecraft/tags/blocks/logs_that_burn.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "#dynamictrees:branches_that_burn", 4 | "#dynamictrees:stripped_branches_that_burn" 5 | ] 6 | } -------------------------------------------------------------------------------- /src/generated/resources/data/minecraft/tags/blocks/mineable/axe.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "#dynamictrees:roots", 4 | "#dynamictrees:aerial_roots_rooty_soil" 5 | ] 6 | } -------------------------------------------------------------------------------- /src/generated/resources/data/minecraft/tags/blocks/saplings.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "#dynamictrees:saplings" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/generated/resources/data/minecraft/tags/blocks/wart_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "#dynamictrees:wart_blocks" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/generated/resources/data/minecraft/tags/items/saplings.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "#dynamictrees:seeds" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/generated/resources/data/minecraft/worldgen/template_pool/village/plains/trees.json: -------------------------------------------------------------------------------- 1 | { 2 | "elements": [ 3 | { 4 | "element": { 5 | "disabled": { 6 | "element_type": "minecraft:feature_pool_element", 7 | "feature": "minecraft:oak", 8 | "projection": "rigid" 9 | }, 10 | "element_type": "dynamictrees:cancel_vanilla_village_tree_element", 11 | "enabled": { 12 | "element_type": "dynamictrees:tree_pool_element", 13 | "projection": "terrain_matching", 14 | "species": "dynamictrees:oak" 15 | } 16 | }, 17 | "weight": 1 18 | } 19 | ], 20 | "fallback": "minecraft:empty" 21 | } -------------------------------------------------------------------------------- /src/generated/resources/data/minecraft/worldgen/template_pool/village/savanna/trees.json: -------------------------------------------------------------------------------- 1 | { 2 | "elements": [ 3 | { 4 | "element": { 5 | "disabled": { 6 | "element_type": "minecraft:feature_pool_element", 7 | "feature": "minecraft:acacia", 8 | "projection": "rigid" 9 | }, 10 | "element_type": "dynamictrees:cancel_vanilla_village_tree_element", 11 | "enabled": { 12 | "element_type": "dynamictrees:tree_pool_element", 13 | "projection": "terrain_matching", 14 | "species": "dynamictrees:acacia" 15 | } 16 | }, 17 | "weight": 1 18 | } 19 | ], 20 | "fallback": "minecraft:empty" 21 | } -------------------------------------------------------------------------------- /src/generated/resources/data/minecraft/worldgen/template_pool/village/snowy/trees.json: -------------------------------------------------------------------------------- 1 | { 2 | "elements": [ 3 | { 4 | "element": { 5 | "disabled": { 6 | "element_type": "minecraft:feature_pool_element", 7 | "feature": "minecraft:spruce", 8 | "projection": "rigid" 9 | }, 10 | "element_type": "dynamictrees:cancel_vanilla_village_tree_element", 11 | "enabled": { 12 | "element_type": "dynamictrees:tree_pool_element", 13 | "projection": "terrain_matching", 14 | "species": "dynamictrees:spruce" 15 | } 16 | }, 17 | "weight": 1 18 | } 19 | ], 20 | "fallback": "minecraft:empty" 21 | } -------------------------------------------------------------------------------- /src/main/java/com/ferreusveritas/dynamictrees/api/FutureBreakable.java: -------------------------------------------------------------------------------- 1 | package com.ferreusveritas.dynamictrees.api; 2 | 3 | import net.minecraft.core.BlockPos; 4 | import net.minecraft.world.entity.LivingEntity; 5 | import net.minecraft.world.level.Level; 6 | import net.minecraft.world.level.block.state.BlockState; 7 | 8 | @FunctionalInterface 9 | public interface FutureBreakable { 10 | 11 | void futureBreak(BlockState state, Level world, BlockPos pos, LivingEntity player); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/ferreusveritas/dynamictrees/api/applier/IfTrueApplier.java: -------------------------------------------------------------------------------- 1 | package com.ferreusveritas.dynamictrees.api.applier; 2 | 3 | /** 4 | * An {@link Applier} that is applied if a corresponding condition is met. This condition is defined separately by the 5 | * invoker of {@link #apply(Object)}. 6 | *
7 | * This is a {@link FunctionalInterface} whose functional method is {@link #apply(Object)}.
8 | *
9 | * @param
18 | * Should only be invoked when the corresponding condition is met.
19 | *
20 | * @param object the object to apply to
21 | */
22 | void apply(final O object);
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/src/main/java/com/ferreusveritas/dynamictrees/api/cell/Cell.java:
--------------------------------------------------------------------------------
1 | package com.ferreusveritas.dynamictrees.api.cell;
2 |
3 | import net.minecraft.core.Direction;
4 |
5 | public interface Cell {
6 |
7 | /**
8 | * @return The actual value of the cell.
9 | */
10 | int getValue();
11 |
12 | /**
13 | * Gets the value the cell returns for the given side.
14 | *
15 | * @param side The side's {@link Direction}.
16 | * @return The value for the given side.
17 | */
18 | int getValueFromSide(Direction side);
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/java/com/ferreusveritas/dynamictrees/api/cell/CellNull.java:
--------------------------------------------------------------------------------
1 | package com.ferreusveritas.dynamictrees.api.cell;
2 |
3 | import net.minecraft.core.Direction;
4 |
5 | /**
6 | * Cell that always returns 0
7 | *
8 | * @author ferreusveritas
9 | */
10 | public class CellNull implements Cell {
11 |
12 | public static final CellNull NULL_CELL = new CellNull();
13 |
14 | @Override
15 | public int getValue() {
16 | return 0;
17 | }
18 |
19 | @Override
20 | public int getValueFromSide(Direction side) {
21 | return 0;
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/src/main/java/com/ferreusveritas/dynamictrees/api/cell/CellSolver.java:
--------------------------------------------------------------------------------
1 | package com.ferreusveritas.dynamictrees.api.cell;
2 |
3 | public interface CellSolver {
4 |
5 | /**
6 | * Solves the center cell from values of the surrounding 6 cells.
7 | *
8 | * @param cells An array of 6 cells, one for each of the 6 sides of a cube.
9 | * @return the calculated solution for the center cell.
10 | */
11 | int solve(Cell[] cells);
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/src/main/java/com/ferreusveritas/dynamictrees/api/configuration/Configurable.java:
--------------------------------------------------------------------------------
1 | package com.ferreusveritas.dynamictrees.api.configuration;
2 |
3 | import java.util.Set;
4 |
5 | /**
6 | * @author Harley O'Connor
7 | */
8 | public interface Configurable {
9 |
10 | /**
11 | * Checks if the given {@link ConfigurationProperty} is registered (and so can be set to) this {@link
12 | * Configurable}.
13 | *
14 | * @param property The {@link ConfigurationProperty} to check for.
15 | * @return {@code true} if it is registered, {@code false} if not.
16 | */
17 | boolean isPropertyRegistered(ConfigurationProperty> property);
18 |
19 | Set extends ResourceLoader {
10 |
11 | void registerAppliers();
12 |
13 | static void postApplierEvent(ApplierRegistryEvent, ?> event) {
14 | ModLoader.get().postEvent(event);
15 | }
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/src/main/java/com/ferreusveritas/dynamictrees/api/resource/loading/preparation/PreparationException.java:
--------------------------------------------------------------------------------
1 | package com.ferreusveritas.dynamictrees.api.resource.loading.preparation;
2 |
3 | /**
4 | * @author Harley O'Connor
5 | */
6 | public class PreparationException extends Exception {
7 |
8 | public PreparationException(String message) {
9 | super(message);
10 | }
11 |
12 | public PreparationException(Throwable cause) {
13 | super(cause);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/main/java/com/ferreusveritas/dynamictrees/api/resource/loading/preparation/ResourcePreparer.java:
--------------------------------------------------------------------------------
1 | package com.ferreusveritas.dynamictrees.api.resource.loading.preparation;
2 |
3 | import com.ferreusveritas.dynamictrees.api.resource.ResourceAccessor;
4 | import net.minecraft.server.packs.resources.ResourceManager;
5 |
6 | /**
7 | * @author Harley O'Connor
8 | */
9 | public interface ResourcePreparer This is a checked exception that should be caught and logged with the value returned by {@link #getMessage()}.
7 | *