├── .gitattributes ├── .github └── workflows │ └── build.yml ├── .gitignore ├── LICENSE ├── bbmodels ├── ExampleChestModel.bbmodel └── example_fluid_tank.bbmodel ├── build.gradle ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src ├── client ├── java │ └── dev │ │ └── turtywurty │ │ └── tutorialmod │ │ ├── TutorialModClient.java │ │ ├── mixin │ │ └── client │ │ │ └── ExampleClientMixin.java │ │ ├── model │ │ └── ExampleChestModel.java │ │ ├── renderer │ │ ├── ExampleFluidTankBER.java │ │ └── ExampleInventoryBER.java │ │ └── screen │ │ ├── ExampleEnergyGeneratorScreen.java │ │ ├── ExampleFluidTankScreen.java │ │ └── ExampleInventoryBlockScreen.java └── resources │ └── tutorialmod.client.mixins.json └── main ├── generated ├── .cache │ ├── 02a69d42f0f36853ffd78f9fb7821f5ce233e66b │ ├── 35421d2deb5a94e4c380a030a9b0945e44209ef8 │ ├── 375d9797bef5299b899eba4c23cf23d75b99445f │ ├── 378f9509398ea584ca54616156177f9ec588f984 │ ├── 80beaa027efbcf9e17d04d48300d7784fb0cb57f │ ├── bf8b55c7a3e1253642a8b1063c0b39ff5689945b │ ├── dfb0a8ea05a472c697eb35080aef6b0f1497af5b │ └── f3f56cafc2cbe41709406bb540eb1fca38a90f18 ├── assets │ └── tutorialmod │ │ ├── blockstates │ │ ├── example_be_block.json │ │ ├── example_block.json │ │ ├── example_button.json │ │ ├── example_deepslate_ore.json │ │ ├── example_door.json │ │ ├── example_end_ore.json │ │ ├── example_energy_generator_block.json │ │ ├── example_energy_storage_block.json │ │ ├── example_fence.json │ │ ├── example_fence_gate.json │ │ ├── example_flower.json │ │ ├── example_flower_pot.json │ │ ├── example_fluid_tank.json │ │ ├── example_hanging_sign.json │ │ ├── example_leaves.json │ │ ├── example_log.json │ │ ├── example_nether_ore.json │ │ ├── example_overworld_ore.json │ │ ├── example_planks.json │ │ ├── example_pressure_plate.json │ │ ├── example_sapling.json │ │ ├── example_sign.json │ │ ├── example_slab.json │ │ ├── example_stairs.json │ │ ├── example_ticking_be_block.json │ │ ├── example_trapdoor.json │ │ ├── example_wall_hanging_sign.json │ │ ├── example_wall_sign.json │ │ ├── example_wood.json │ │ ├── stripped_example_log.json │ │ └── stripped_example_wood.json │ │ ├── lang │ │ └── en_us.json │ │ └── models │ │ ├── block │ │ ├── example_be_block.json │ │ ├── example_block.json │ │ ├── example_button.json │ │ ├── example_button_inventory.json │ │ ├── example_button_pressed.json │ │ ├── example_deepslate_ore.json │ │ ├── example_door_bottom_left.json │ │ ├── example_door_bottom_left_open.json │ │ ├── example_door_bottom_right.json │ │ ├── example_door_bottom_right_open.json │ │ ├── example_door_top_left.json │ │ ├── example_door_top_left_open.json │ │ ├── example_door_top_right.json │ │ ├── example_door_top_right_open.json │ │ ├── example_end_ore.json │ │ ├── example_energy_generator_block.json │ │ ├── example_energy_storage_block.json │ │ ├── example_fence_gate.json │ │ ├── example_fence_gate_open.json │ │ ├── example_fence_gate_wall.json │ │ ├── example_fence_gate_wall_open.json │ │ ├── example_fence_inventory.json │ │ ├── example_fence_post.json │ │ ├── example_fence_side.json │ │ ├── example_flower.json │ │ ├── example_flower_pot.json │ │ ├── example_hanging_sign.json │ │ ├── example_leaves.json │ │ ├── example_log.json │ │ ├── example_log_horizontal.json │ │ ├── example_nether_ore.json │ │ ├── example_overworld_ore.json │ │ ├── example_planks.json │ │ ├── example_pressure_plate.json │ │ ├── example_pressure_plate_down.json │ │ ├── example_sapling.json │ │ ├── example_sign.json │ │ ├── example_slab.json │ │ ├── example_slab_top.json │ │ ├── example_stairs.json │ │ ├── example_stairs_inner.json │ │ ├── example_stairs_outer.json │ │ ├── example_ticking_be_block.json │ │ ├── example_trapdoor_bottom.json │ │ ├── example_trapdoor_open.json │ │ ├── example_trapdoor_top.json │ │ ├── example_wood.json │ │ ├── stripped_example_log.json │ │ ├── stripped_example_log_horizontal.json │ │ └── stripped_example_wood.json │ │ └── item │ │ ├── example_axe.json │ │ ├── example_be_block.json │ │ ├── example_block.json │ │ ├── example_boat.json │ │ ├── example_boots.json │ │ ├── example_button.json │ │ ├── example_chest_boat.json │ │ ├── example_chestplate.json │ │ ├── example_deepslate_ore.json │ │ ├── example_door.json │ │ ├── example_end_ore.json │ │ ├── example_energy_generator_block.json │ │ ├── example_energy_storage_block.json │ │ ├── example_fence.json │ │ ├── example_fence_gate.json │ │ ├── example_flower.json │ │ ├── example_fluid_tank.json │ │ ├── example_food.json │ │ ├── example_hanging_sign.json │ │ ├── example_helmet.json │ │ ├── example_hoe.json │ │ ├── example_item.json │ │ ├── example_leaves.json │ │ ├── example_leggings.json │ │ ├── example_log.json │ │ ├── example_nether_ore.json │ │ ├── example_overworld_ore.json │ │ ├── example_pickaxe.json │ │ ├── example_planks.json │ │ ├── example_pressure_plate.json │ │ ├── example_sapling.json │ │ ├── example_shovel.json │ │ ├── example_sign.json │ │ ├── example_slab.json │ │ ├── example_stairs.json │ │ ├── example_sword.json │ │ ├── example_ticking_be_block.json │ │ ├── example_trapdoor.json │ │ └── stripped_example_log.json └── data │ ├── minecraft │ └── tags │ │ ├── block │ │ ├── ceiling_hanging_signs.json │ │ ├── flower_pots.json │ │ ├── leaves.json │ │ ├── logs_that_burn.json │ │ ├── mineable │ │ │ └── pickaxe.json │ │ ├── needs_diamond_tool.json │ │ ├── needs_iron_tool.json │ │ ├── needs_stone_tool.json │ │ ├── saplings.json │ │ ├── small_flowers.json │ │ ├── standing_signs.json │ │ ├── wall_hanging_signs.json │ │ ├── wall_signs.json │ │ ├── wooden_buttons.json │ │ ├── wooden_doors.json │ │ ├── wooden_fences.json │ │ ├── wooden_pressure_plates.json │ │ ├── wooden_slabs.json │ │ ├── wooden_stairs.json │ │ └── wooden_trapdoors.json │ │ └── item │ │ ├── axes.json │ │ ├── boats.json │ │ ├── chest_armor.json │ │ ├── chest_boats.json │ │ ├── fence_gates.json │ │ ├── foot_armor.json │ │ ├── hanging_signs.json │ │ ├── head_armor.json │ │ ├── hoes.json │ │ ├── leaves.json │ │ ├── leg_armor.json │ │ ├── logs_that_burn.json │ │ ├── pickaxes.json │ │ ├── planks.json │ │ ├── saplings.json │ │ ├── shovels.json │ │ ├── signs.json │ │ ├── small_flowers.json │ │ ├── swords.json │ │ ├── wooden_buttons.json │ │ ├── wooden_doors.json │ │ ├── wooden_fences.json │ │ ├── wooden_pressure_plates.json │ │ ├── wooden_slabs.json │ │ ├── wooden_stairs.json │ │ └── wooden_trapdoors.json │ └── tutorialmod │ ├── advancement │ └── recipes │ │ ├── building_blocks │ │ ├── example_block.json │ │ ├── example_door.json │ │ ├── example_fence.json │ │ ├── example_fence_gate.json │ │ ├── example_planks.json │ │ ├── example_slab.json │ │ ├── example_stairs.json │ │ ├── example_ticking_be_block.json │ │ └── example_trapdoor.json │ │ ├── combat │ │ ├── example_boots.json │ │ ├── example_chestplate.json │ │ ├── example_helmet.json │ │ ├── example_leggings.json │ │ └── example_sword.json │ │ ├── decorations │ │ ├── example_hanging_sign.json │ │ └── example_sign.json │ │ ├── misc │ │ ├── example_fluid_tank.json │ │ ├── example_item.json │ │ ├── example_item_from_blasting_example_deepslate_ore.json │ │ ├── example_item_from_blasting_example_end_ore.json │ │ ├── example_item_from_blasting_example_nether_ore.json │ │ ├── example_item_from_blasting_example_overworld_ore.json │ │ ├── example_item_from_smelting_example_deepslate_ore.json │ │ ├── example_item_from_smelting_example_end_ore.json │ │ ├── example_item_from_smelting_example_nether_ore.json │ │ └── example_item_from_smelting_example_overworld_ore.json │ │ ├── redstone │ │ ├── example_button.json │ │ └── example_pressure_plate.json │ │ ├── tools │ │ ├── example_axe.json │ │ ├── example_hoe.json │ │ ├── example_pickaxe.json │ │ └── example_shovel.json │ │ └── transportation │ │ ├── example_boat.json │ │ └── example_chest_boat.json │ ├── enchantment │ └── thundering.json │ ├── loot_table │ └── blocks │ │ ├── example_be_block.json │ │ ├── example_block.json │ │ ├── example_button.json │ │ ├── example_deepslate_ore.json │ │ ├── example_end_ore.json │ │ ├── example_energy_generator_block.json │ │ ├── example_energy_storage_block.json │ │ ├── example_fence.json │ │ ├── example_fence_gate.json │ │ ├── example_flower.json │ │ ├── example_flower_pot.json │ │ ├── example_fluid_tank.json │ │ ├── example_hanging_sign.json │ │ ├── example_inventory_block.json │ │ ├── example_log.json │ │ ├── example_nether_ore.json │ │ ├── example_overworld_ore.json │ │ ├── example_planks.json │ │ ├── example_pressure_plate.json │ │ ├── example_sapling.json │ │ ├── example_sign.json │ │ ├── example_slab.json │ │ ├── example_stairs.json │ │ ├── example_ticking_be_block.json │ │ ├── example_trapdoor.json │ │ ├── example_wall_hanging_sign.json │ │ ├── example_wall_sign.json │ │ ├── example_wood.json │ │ ├── stripped_example_log.json │ │ └── stripped_example_wood.json │ ├── recipe │ ├── example_axe.json │ ├── example_block.json │ ├── example_boat.json │ ├── example_boots.json │ ├── example_button.json │ ├── example_chest_boat.json │ ├── example_chestplate.json │ ├── example_door.json │ ├── example_fence.json │ ├── example_fence_gate.json │ ├── example_fluid_tank.json │ ├── example_hanging_sign.json │ ├── example_helmet.json │ ├── example_hoe.json │ ├── example_item.json │ ├── example_item_from_blasting_example_deepslate_ore.json │ ├── example_item_from_blasting_example_end_ore.json │ ├── example_item_from_blasting_example_nether_ore.json │ ├── example_item_from_blasting_example_overworld_ore.json │ ├── example_item_from_smelting_example_deepslate_ore.json │ ├── example_item_from_smelting_example_end_ore.json │ ├── example_item_from_smelting_example_nether_ore.json │ ├── example_item_from_smelting_example_overworld_ore.json │ ├── example_leggings.json │ ├── example_pickaxe.json │ ├── example_planks.json │ ├── example_pressure_plate.json │ ├── example_shovel.json │ ├── example_sign.json │ ├── example_slab.json │ ├── example_stairs.json │ ├── example_sword.json │ ├── example_ticking_be_block.json │ └── example_trapdoor.json │ ├── tags │ ├── block │ │ ├── example.json │ │ ├── example_logs.json │ │ └── incorrect_for_example_tool.json │ └── item │ │ └── example_logs.json │ └── worldgen │ ├── configured_feature │ ├── end_example_ore.json │ ├── example_flower.json │ ├── example_flower_patch.json │ ├── example_tree.json │ ├── nether_example_ore.json │ └── overworld_example_ore.json │ └── placed_feature │ ├── end_example_ore.json │ ├── example_flower.json │ ├── example_flower_patch.json │ ├── example_tree.json │ ├── nether_example_ore.json │ └── overworld_example_ore.json ├── java └── dev │ └── turtywurty │ └── tutorialmod │ ├── TutorialMod.java │ ├── TutorialModDataGenerator.java │ ├── block │ ├── ExampleBEBlock.java │ ├── ExampleEnergyGeneratorBlock.java │ ├── ExampleEnergyStorageBlock.java │ ├── ExampleFluidTankBlock.java │ ├── ExampleInventoryBlock.java │ ├── ExampleTickingBEBlock.java │ └── entity │ │ ├── ExampleBlockEntity.java │ │ ├── ExampleEnergyGeneratorBlockEntity.java │ │ ├── ExampleEnergyStorageBlockEntity.java │ │ ├── ExampleFluidTankBlockEntity.java │ │ ├── ExampleInventoryBlockEntity.java │ │ └── ExampleTickingBlockEntity.java │ ├── data │ ├── generator │ │ ├── TutorialModEnchantmentGenerator.java │ │ └── TutorialModWorldGenerator.java │ └── provider │ │ ├── TutorialModBlockLootTableProvider.java │ │ ├── TutorialModBlockTagProvider.java │ │ ├── TutorialModEnglishLanguageProvider.java │ │ ├── TutorialModItemTagProvider.java │ │ ├── TutorialModModelProvider.java │ │ └── TutorialModRecipeProvider.java │ ├── enchantments │ └── effects │ │ └── LightningEnchantmentEffect.java │ ├── init │ ├── ArmorMaterialInit.java │ ├── BlockEntityTypeInit.java │ ├── BlockInit.java │ ├── BoatInit.java │ ├── EnchantmentInit.java │ ├── ItemGroupInit.java │ ├── ItemInit.java │ ├── ScreenHandlerTypeInit.java │ └── worldgen │ │ ├── BiomeModificationInit.java │ │ ├── ConfiguredFeatureInit.java │ │ └── PlacedFeatureInit.java │ ├── list │ ├── BlockSetTypeList.java │ ├── FoodList.java │ ├── TagList.java │ ├── WoodTypeList.java │ └── enums │ │ └── TutorialModToolMaterials.java │ ├── mixin │ └── ExampleMixin.java │ ├── network │ └── BlockPosPayload.java │ ├── screenhandler │ ├── ExampleEnergyGeneratorScreenHandler.java │ ├── ExampleFluidTankScreenHandler.java │ └── ExampleInventoryScreenHandler.java │ └── util │ └── TickableBlockEntity.java └── resources ├── assets └── tutorialmod │ ├── icon.png │ ├── models │ └── block │ │ └── example_fluid_tank.json │ └── textures │ ├── block │ ├── example_be_block.png │ ├── example_block.png │ ├── example_deepslate_ore.png │ ├── example_door_bottom.png │ ├── example_door_top.png │ ├── example_end_ore.png │ ├── example_energy_generator_block.png │ ├── example_energy_storage_block.png │ ├── example_flower.png │ ├── example_fluid_tank.png │ ├── example_leaves.png │ ├── example_log.png │ ├── example_log_top.png │ ├── example_nether_ore.png │ ├── example_overworld_ore.png │ ├── example_planks.png │ ├── example_sapling.png │ ├── example_ticking_be_block.png │ ├── example_trapdoor.png │ ├── stripped_example_log.png │ └── stripped_example_log_top.png │ ├── entity │ ├── boat │ │ └── example_boat.png │ ├── chest_boat │ │ └── example_boat.png │ ├── example_chest.png │ └── signs │ │ ├── example.png │ │ └── hanging │ │ └── example.png │ ├── gui │ ├── container │ │ ├── example_energy_generator.png │ │ ├── example_fluid_tank.png │ │ └── example_inventory_block.png │ └── hanging_signs │ │ └── example.png │ ├── item │ ├── example_axe.png │ ├── example_boat.png │ ├── example_boots.png │ ├── example_chest_boat.png │ ├── example_chestplate.png │ ├── example_door.png │ ├── example_food.png │ ├── example_hanging_sign.png │ ├── example_helmet.png │ ├── example_hoe.png │ ├── example_item.png │ ├── example_leggings.png │ ├── example_pickaxe.png │ ├── example_shovel.png │ ├── example_sign.png │ └── example_sword.png │ └── models │ └── armor │ ├── example_layer_1.png │ └── example_layer_2.png ├── fabric.mod.json └── tutorialmod.mixins.json /.gitattributes: -------------------------------------------------------------------------------- 1 | # 2 | # https://help.github.com/articles/dealing-with-line-endings/ 3 | # 4 | # Linux start script should use lf 5 | /gradlew text eol=lf 6 | 7 | # These are Windows script files and should use crlf 8 | *.bat text eol=crlf 9 | 10 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | # Automatically build the project and run any configured tests for every push 2 | # and submitted pull request. This can help catch issues that only occur on 3 | # certain platforms or Java versions, and provides a first line of defence 4 | # against bad commits. 5 | 6 | name: build 7 | on: [pull_request, push] 8 | 9 | jobs: 10 | build: 11 | strategy: 12 | matrix: 13 | # Use these Java versions 14 | java: [ 15 | 21, # Current Java LTS 16 | ] 17 | runs-on: ubuntu-22.04 18 | steps: 19 | - name: checkout repository 20 | uses: actions/checkout@v4 21 | - name: validate gradle wrapper 22 | uses: gradle/wrapper-validation-action@v2 23 | - name: setup jdk ${{ matrix.java }} 24 | uses: actions/setup-java@v4 25 | with: 26 | java-version: ${{ matrix.java }} 27 | distribution: 'microsoft' 28 | - name: make gradle wrapper executable 29 | run: chmod +x ./gradlew 30 | - name: build 31 | run: ./gradlew build 32 | - name: capture build artifacts 33 | if: ${{ matrix.java == '21' }} # Only upload artifacts built from latest java 34 | uses: actions/upload-artifact@v4 35 | with: 36 | name: Artifacts 37 | path: build/libs/ -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # gradle 2 | 3 | .gradle/ 4 | build/ 5 | out/ 6 | classes/ 7 | 8 | # eclipse 9 | 10 | *.launch 11 | 12 | # idea 13 | 14 | .idea/ 15 | *.iml 16 | *.ipr 17 | *.iws 18 | 19 | # vscode 20 | 21 | .settings/ 22 | .vscode/ 23 | bin/ 24 | .classpath 25 | .project 26 | 27 | # macos 28 | 29 | *.DS_Store 30 | 31 | # fabric 32 | 33 | run/ 34 | 35 | # java 36 | 37 | hs_err_*.log 38 | replay_*.log 39 | *.hprof 40 | *.jfr 41 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 TurtyWurty 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'fabric-loom' version '1.6-SNAPSHOT' 3 | id 'maven-publish' 4 | } 5 | 6 | version = project.mod_version 7 | group = project.maven_group 8 | 9 | base { 10 | archivesName = project.archives_base_name 11 | } 12 | 13 | repositories { 14 | maven { 15 | name = "TerraformersMC" 16 | url = 'https://maven.terraformersmc.com/' 17 | } 18 | } 19 | 20 | fabricApi { 21 | configureDataGeneration() 22 | } 23 | 24 | loom { 25 | splitEnvironmentSourceSets() 26 | 27 | mods { 28 | "tutorialmod" { 29 | sourceSet sourceSets.main 30 | sourceSet sourceSets.client 31 | } 32 | } 33 | 34 | runs { 35 | datagen { 36 | inherit client 37 | } 38 | } 39 | } 40 | 41 | dependencies { 42 | // To change the versions see the gradle.properties file 43 | minecraft "com.mojang:minecraft:${project.minecraft_version}" 44 | mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" 45 | modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" 46 | 47 | // Fabric API. This is technically optional, but you probably want it anyway. 48 | modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" 49 | 50 | modImplementation "com.terraformersmc.terraform-api:terraform-wood-api-v1:${project.terraform_wood_api_version}" 51 | include modApi("teamreborn:energy:${project.energy_version}") 52 | } 53 | 54 | processResources { 55 | inputs.property "version", project.version 56 | 57 | filesMatching("fabric.mod.json") { 58 | expand "version": project.version 59 | } 60 | } 61 | 62 | tasks.withType(JavaCompile).configureEach { 63 | it.options.release = 21 64 | } 65 | 66 | java { 67 | // Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task 68 | // if it is present. 69 | // If you remove this line, sources will not be generated. 70 | withSourcesJar() 71 | 72 | sourceCompatibility = JavaVersion.VERSION_21 73 | targetCompatibility = JavaVersion.VERSION_21 74 | } 75 | 76 | jar { 77 | from("LICENSE") { 78 | rename { "${it}_${project.base.archivesName.get()}"} 79 | } 80 | } 81 | 82 | // configure the maven publication 83 | publishing { 84 | publications { 85 | create("mavenJava", MavenPublication) { 86 | artifactId = project.archives_base_name 87 | from components.java 88 | } 89 | } 90 | 91 | // See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing. 92 | repositories { 93 | // Add repositories to publish to here. 94 | // Notice: This block does NOT have the same function as the block in the top level. 95 | // The repositories here will be used for publishing your artifact, not for 96 | // retrieving dependencies. 97 | } 98 | } -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # Done to increase the memory available to gradle. 2 | org.gradle.jvmargs=-Xmx3G 3 | org.gradle.parallel=true 4 | 5 | # Fabric Properties 6 | # check these on https://fabricmc.net/develop 7 | minecraft_version=1.21 8 | yarn_mappings=1.21+build.2 9 | loader_version=0.15.11 10 | 11 | # Mod Properties 12 | mod_version=1.0.0 13 | maven_group=dev.turtywurty.tutorialmod 14 | archives_base_name=tutorialmod 15 | 16 | # Dependencies 17 | fabric_version=0.100.1+1.21 18 | terraform_wood_api_version=11.0.0-alpha.1 19 | energy_version=4.1.0 -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/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.7-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | maven { 4 | name = 'Fabric' 5 | url = 'https://maven.fabricmc.net/' 6 | } 7 | mavenCentral() 8 | gradlePluginPortal() 9 | } 10 | } -------------------------------------------------------------------------------- /src/client/java/dev/turtywurty/tutorialmod/TutorialModClient.java: -------------------------------------------------------------------------------- 1 | package dev.turtywurty.tutorialmod; 2 | 3 | import com.terraformersmc.terraform.boat.api.client.TerraformBoatClientHelper; 4 | import dev.turtywurty.tutorialmod.init.BlockEntityTypeInit; 5 | import dev.turtywurty.tutorialmod.init.BlockInit; 6 | import dev.turtywurty.tutorialmod.init.BoatInit; 7 | import dev.turtywurty.tutorialmod.init.ScreenHandlerTypeInit; 8 | import dev.turtywurty.tutorialmod.model.ExampleChestModel; 9 | import dev.turtywurty.tutorialmod.renderer.ExampleFluidTankBER; 10 | import dev.turtywurty.tutorialmod.renderer.ExampleInventoryBER; 11 | import dev.turtywurty.tutorialmod.screen.ExampleEnergyGeneratorScreen; 12 | import dev.turtywurty.tutorialmod.screen.ExampleFluidTankScreen; 13 | import dev.turtywurty.tutorialmod.screen.ExampleInventoryBlockScreen; 14 | import net.fabricmc.api.ClientModInitializer; 15 | import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap; 16 | import net.fabricmc.fabric.api.client.rendering.v1.EntityModelLayerRegistry; 17 | import net.minecraft.client.gui.screen.ingame.HandledScreens; 18 | import net.minecraft.client.render.RenderLayer; 19 | import net.minecraft.client.render.block.entity.BlockEntityRendererFactories; 20 | 21 | public class TutorialModClient implements ClientModInitializer { 22 | @Override 23 | public void onInitializeClient() { 24 | // Block Render Layers 25 | BlockRenderLayerMap.INSTANCE.putBlocks(RenderLayer.getCutout(), BlockInit.EXAMPLE_FLOWER, BlockInit.EXAMPLE_FLOWER_POT, 26 | BlockInit.EXAMPLE_DOOR, BlockInit.EXAMPLE_SAPLING, BlockInit.EXAMPLE_LEAVES, BlockInit.EXAMPLE_TRAPDOOR, 27 | BlockInit.EXAMPLE_FLUID_TANK); 28 | 29 | // Model Layers 30 | TerraformBoatClientHelper.registerModelLayers(BoatInit.EXAMPLE_BOAT_ID, false); 31 | EntityModelLayerRegistry.registerModelLayer(ExampleChestModel.LAYER_LOCATION, ExampleChestModel::getTexturedModelData); 32 | 33 | // Bind Screens to Handlers 34 | HandledScreens.register(ScreenHandlerTypeInit.EXAMPLE_ENERGY_GENERATOR, ExampleEnergyGeneratorScreen::new); 35 | HandledScreens.register(ScreenHandlerTypeInit.EXAMPLE_INVENTORY_SCREEN_HANDLER, ExampleInventoryBlockScreen::new); 36 | HandledScreens.register(ScreenHandlerTypeInit.EXAMPLE_FLUID_TANK, ExampleFluidTankScreen::new); 37 | 38 | // Block Entity Renderers 39 | BlockEntityRendererFactories.register(BlockEntityTypeInit.EXAMPLE_INVENTORY_BLOCK_ENTITY, ExampleInventoryBER::new); 40 | BlockEntityRendererFactories.register(BlockEntityTypeInit.EXAMPLE_FLUID_TANK, ExampleFluidTankBER::new); 41 | } 42 | } -------------------------------------------------------------------------------- /src/client/java/dev/turtywurty/tutorialmod/mixin/client/ExampleClientMixin.java: -------------------------------------------------------------------------------- 1 | package dev.turtywurty.tutorialmod.mixin.client; 2 | 3 | import net.minecraft.client.MinecraftClient; 4 | import org.spongepowered.asm.mixin.Mixin; 5 | import org.spongepowered.asm.mixin.injection.At; 6 | import org.spongepowered.asm.mixin.injection.Inject; 7 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 8 | 9 | @Mixin(MinecraftClient.class) 10 | public class ExampleClientMixin { 11 | @Inject(at = @At("HEAD"), method = "run") 12 | private void init(CallbackInfo info) { 13 | // This code is injected into the start of MinecraftClient.run()V 14 | } 15 | } -------------------------------------------------------------------------------- /src/client/java/dev/turtywurty/tutorialmod/screen/ExampleEnergyGeneratorScreen.java: -------------------------------------------------------------------------------- 1 | package dev.turtywurty.tutorialmod.screen; 2 | 3 | import dev.turtywurty.tutorialmod.TutorialMod; 4 | import dev.turtywurty.tutorialmod.screenhandler.ExampleEnergyGeneratorScreenHandler; 5 | import net.minecraft.client.gui.DrawContext; 6 | import net.minecraft.client.gui.screen.ingame.HandledScreen; 7 | import net.minecraft.entity.player.PlayerInventory; 8 | import net.minecraft.text.Text; 9 | import net.minecraft.util.Identifier; 10 | import net.minecraft.util.math.MathHelper; 11 | 12 | public class ExampleEnergyGeneratorScreen extends HandledScreen { 13 | private static final Identifier TEXTURE = TutorialMod.id("textures/gui/container/example_energy_generator.png"); 14 | 15 | public ExampleEnergyGeneratorScreen(ExampleEnergyGeneratorScreenHandler handler, PlayerInventory inventory, Text title) { 16 | super(handler, inventory, title); 17 | } 18 | 19 | @Override 20 | protected void drawBackground(DrawContext context, float delta, int mouseX, int mouseY) { 21 | context.drawTexture(TEXTURE, this.x, this.y, 0, 0, this.backgroundWidth, this.backgroundHeight); 22 | 23 | int energyBarSize = MathHelper.ceil(this.handler.getEnergyPercent() * 66); 24 | context.fill(this.x + 144, this.y + 10 + 66 - energyBarSize, this.x + 144 + 20, this.y + 10 + 66, 0xFFD4AF37); 25 | } 26 | 27 | @Override 28 | public void render(DrawContext context, int mouseX, int mouseY, float delta) { 29 | super.render(context, mouseX, mouseY, delta); 30 | drawMouseoverTooltip(context, mouseX, mouseY); 31 | 32 | int energyBarSize = MathHelper.ceil(this.handler.getEnergyPercent() * 66); 33 | if (isPointWithinBounds(144, 10 + 66 - energyBarSize, 20, energyBarSize, mouseX, mouseY)) { 34 | context.drawTooltip(this.textRenderer, Text.literal(this.handler.getEnergy() + " / " + this.handler.getMaxEnergy() + " FE"), mouseX, mouseY); 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/client/java/dev/turtywurty/tutorialmod/screen/ExampleFluidTankScreen.java: -------------------------------------------------------------------------------- 1 | package dev.turtywurty.tutorialmod.screen; 2 | 3 | import dev.turtywurty.tutorialmod.TutorialMod; 4 | import dev.turtywurty.tutorialmod.screenhandler.ExampleFluidTankScreenHandler; 5 | import dev.turtywurty.tutorialmod.screenhandler.ExampleInventoryScreenHandler; 6 | import net.minecraft.client.gui.DrawContext; 7 | import net.minecraft.client.gui.screen.ingame.HandledScreen; 8 | import net.minecraft.entity.player.PlayerInventory; 9 | import net.minecraft.text.Text; 10 | import net.minecraft.util.Identifier; 11 | 12 | public class ExampleFluidTankScreen extends HandledScreen { 13 | private static final Identifier TEXTURE = TutorialMod.id("textures/gui/container/example_fluid_tank.png"); 14 | 15 | public ExampleFluidTankScreen(ExampleFluidTankScreenHandler handler, PlayerInventory inventory, Text title) { 16 | super(handler, inventory, title); 17 | this.backgroundWidth = 176; 18 | this.backgroundHeight = 166; 19 | } 20 | 21 | @Override 22 | protected void drawBackground(DrawContext context, float delta, int mouseX, int mouseY) { 23 | context.drawTexture(TEXTURE, this.x, this.y, 0, 0, this.backgroundWidth, this.backgroundHeight); 24 | 25 | // TODO: Draw fluid tank 26 | } 27 | 28 | @Override 29 | public void render(DrawContext context, int mouseX, int mouseY, float delta) { 30 | super.render(context, mouseX, mouseY, delta); 31 | drawMouseoverTooltip(context, mouseX, mouseY); 32 | 33 | // TODO: Draw fluid tooltip 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/client/java/dev/turtywurty/tutorialmod/screen/ExampleInventoryBlockScreen.java: -------------------------------------------------------------------------------- 1 | package dev.turtywurty.tutorialmod.screen; 2 | 3 | import dev.turtywurty.tutorialmod.TutorialMod; 4 | import dev.turtywurty.tutorialmod.screenhandler.ExampleInventoryScreenHandler; 5 | import net.minecraft.client.gui.DrawContext; 6 | import net.minecraft.client.gui.screen.ingame.HandledScreen; 7 | import net.minecraft.entity.player.PlayerInventory; 8 | import net.minecraft.text.Text; 9 | import net.minecraft.util.Identifier; 10 | 11 | public class ExampleInventoryBlockScreen extends HandledScreen { 12 | private static final Identifier TEXTURE = TutorialMod.id("textures/gui/container/example_inventory_block.png"); 13 | 14 | public ExampleInventoryBlockScreen(ExampleInventoryScreenHandler handler, PlayerInventory inventory, Text title) { 15 | super(handler, inventory, title); 16 | this.backgroundWidth = 176; 17 | this.backgroundHeight = 184; 18 | this.playerInventoryTitleY = this.backgroundHeight - 94; 19 | } 20 | 21 | @Override 22 | protected void drawBackground(DrawContext context, float delta, int mouseX, int mouseY) { 23 | context.drawTexture(TEXTURE, this.x, this.y, 0, 0, this.backgroundWidth, this.backgroundHeight); 24 | } 25 | 26 | @Override 27 | public void render(DrawContext context, int mouseX, int mouseY, float delta) { 28 | super.render(context, mouseX, mouseY, delta); 29 | drawMouseoverTooltip(context, mouseX, mouseY); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/client/resources/tutorialmod.client.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "package": "dev.turtywurty.tutorialmod.mixin.client", 4 | "compatibilityLevel": "JAVA_21", 5 | "client": [ 6 | "ExampleClientMixin" 7 | ], 8 | "injectors": { 9 | "defaultRequire": 1 10 | } 11 | } -------------------------------------------------------------------------------- /src/main/generated/.cache/02a69d42f0f36853ffd78f9fb7821f5ce233e66b: -------------------------------------------------------------------------------- 1 | // 1.21 2024-09-24T15:34:19.4393879 Tutorial Mod/Enchantment Generator 2 | 67c0aaf735a5ff8e4bfa07b2814fbad3498bac88 data\tutorialmod\enchantment\thundering.json 3 | -------------------------------------------------------------------------------- /src/main/generated/.cache/35421d2deb5a94e4c380a030a9b0945e44209ef8: -------------------------------------------------------------------------------- 1 | // 1.21 2024-09-24T15:34:19.4383894 Tutorial Mod/World Generator 2 | 98448af4a69ade096956483450bc85a48f82d73a data\tutorialmod\worldgen\placed_feature\example_tree.json 3 | ce60b3f1a694fac9ac9b71d62d6f9984ef82dc43 data\tutorialmod\worldgen\configured_feature\example_flower.json 4 | b9a7540bd447b275335ee78fac1166084282c2f3 data\tutorialmod\worldgen\placed_feature\example_flower.json 5 | 7d0ef9ac1d206f11d380ca2291236fd6bb500c77 data\tutorialmod\worldgen\configured_feature\example_tree.json 6 | 955fdfb3234ab5ef8a93b0d6ab122e75c6d65f08 data\tutorialmod\worldgen\placed_feature\example_flower_patch.json 7 | 6e7e0a8bc3bd09e6833b74739fb3bafa0395337a data\tutorialmod\worldgen\configured_feature\nether_example_ore.json 8 | 2b7be21c8ed59ae7f3f5d3cf5e38ed965694ea3c data\tutorialmod\worldgen\configured_feature\overworld_example_ore.json 9 | 49a31939079c886ac4ded684ee7f1becce888606 data\tutorialmod\worldgen\placed_feature\overworld_example_ore.json 10 | 74d3d799e4498849e7282ad46bd28ba65d8878a4 data\tutorialmod\worldgen\configured_feature\end_example_ore.json 11 | 46c8564640a08c996115114e219245c619f60c23 data\tutorialmod\worldgen\placed_feature\end_example_ore.json 12 | 91a75448ee503c8a2f9809d7cda1fbb17f1118d7 data\tutorialmod\worldgen\placed_feature\nether_example_ore.json 13 | 110ffce3fd7dfb3d7a35634486207b0fb895b4d0 data\tutorialmod\worldgen\configured_feature\example_flower_patch.json 14 | -------------------------------------------------------------------------------- /src/main/generated/.cache/375d9797bef5299b899eba4c23cf23d75b99445f: -------------------------------------------------------------------------------- 1 | // 1.21 2024-09-24T15:34:19.4343895 Tutorial Mod/Language (en_us) 2 | f0c8fb10e8fed06879864c5e3a98bb6638c4cb8c assets\tutorialmod\lang\en_us.json 3 | -------------------------------------------------------------------------------- /src/main/generated/.cache/80beaa027efbcf9e17d04d48300d7784fb0cb57f: -------------------------------------------------------------------------------- 1 | // 1.21 2024-09-24T15:34:19.4373895 Tutorial Mod/Tags for minecraft:block 2 | 0767afed15a8e77b55dd1eed5bd9bbd013c14feb data\minecraft\tags\block\wooden_trapdoors.json 3 | c4d402b6889a41bbccc53739ef8804af5bb6ae8d data\minecraft\tags\block\leaves.json 4 | 02605d42df77e500208eaa3864fe319fc4ab46fe data\minecraft\tags\block\needs_diamond_tool.json 5 | b07e62fc74d90d02d82983a165987c5426c0c3a9 data\minecraft\tags\block\wooden_stairs.json 6 | 35133e95f1c8fdd7a1c21afcc231fc0bffefb9a8 data\tutorialmod\tags\block\incorrect_for_example_tool.json 7 | 6a60f26b0451bf1cdd5dd667dfc6c088b46cd2a6 data\minecraft\tags\block\flower_pots.json 8 | 906e20ff513600ce5e3f53c2310e5b2bf3a15a1e data\minecraft\tags\block\mineable\pickaxe.json 9 | c2dfca7bc936499be23ac4212b206edd87e0e1c2 data\minecraft\tags\block\wooden_buttons.json 10 | d34f55db6ccafd27540d5da4aee1f1d12117252e data\minecraft\tags\block\wooden_doors.json 11 | f4cefd20fd838b3d621ff059c00e9fe969e7e229 data\minecraft\tags\block\wooden_pressure_plates.json 12 | 6db5fae30a211e6b16508d90ca0110428758fe18 data\minecraft\tags\block\wooden_fences.json 13 | 9eb20319785a47621e624fce7588f0b59d529700 data\minecraft\tags\block\wall_signs.json 14 | d33233adbf84788dcf3a67acd2bbb8953e9e908c data\minecraft\tags\block\logs_that_burn.json 15 | 385d769b33d5c25840706f62a0f78d9bf18487bc data\minecraft\tags\block\needs_stone_tool.json 16 | 73ba5a32cb3cffd68dd9f5ece5f11f6c95458462 data\tutorialmod\tags\block\example_logs.json 17 | d55fd4e296a8530a6550355445a038b49f2290b3 data\tutorialmod\tags\block\example.json 18 | 845125a7d2e7e742b7ed1286b7e481d3b0feb50d data\minecraft\tags\block\small_flowers.json 19 | 23fe0795dfad8817ce88d285524ccf64945a8411 data\minecraft\tags\block\wooden_slabs.json 20 | ed52bde9ea9aa15f14baf17120d867aa42d778d3 data\minecraft\tags\block\standing_signs.json 21 | d3c2f7944f4bd4234494785b99f72dd8d67fb76e data\minecraft\tags\block\ceiling_hanging_signs.json 22 | c74e94cda5ed0f54496a355171d58dfa8953ab7e data\minecraft\tags\block\saplings.json 23 | 83f98d3873e272ae538f916cdb65538d9dfa371e data\minecraft\tags\block\needs_iron_tool.json 24 | 59b93813b1c62db5236e67c915f9b8e16ad75dcc data\minecraft\tags\block\wall_hanging_signs.json 25 | -------------------------------------------------------------------------------- /src/main/generated/.cache/f3f56cafc2cbe41709406bb540eb1fca38a90f18: -------------------------------------------------------------------------------- 1 | // 1.21 2024-09-24T15:34:19.4308716 Tutorial Mod/Tags for minecraft:item 2 | c2cd4b0942de14e376601dbeebe82ccce6687e72 data\minecraft\tags\item\pickaxes.json 3 | a4d309e51668dcd3cc0d4860f2c0f70705045109 data\minecraft\tags\item\chest_armor.json 4 | c74e94cda5ed0f54496a355171d58dfa8953ab7e data\minecraft\tags\item\saplings.json 5 | 6a1ee4f9b4aec0c1d0f66ef1c74c748b50cf456b data\minecraft\tags\item\shovels.json 6 | 9b7de7175fae19d26297956b4280c5dff812cc27 data\minecraft\tags\item\boats.json 7 | 23fe0795dfad8817ce88d285524ccf64945a8411 data\minecraft\tags\item\wooden_slabs.json 8 | c2dfca7bc936499be23ac4212b206edd87e0e1c2 data\minecraft\tags\item\wooden_buttons.json 9 | f4cefd20fd838b3d621ff059c00e9fe969e7e229 data\minecraft\tags\item\wooden_pressure_plates.json 10 | 0f53fc7f704bf36025715c4c8bf178ea7b08f05c data\minecraft\tags\item\axes.json 11 | 4c5d4f1b4593ccae779270e375598a62f2bc8f40 data\minecraft\tags\item\chest_boats.json 12 | d33233adbf84788dcf3a67acd2bbb8953e9e908c data\minecraft\tags\item\logs_that_burn.json 13 | 96fae12f000f67c353c38c37a67af66cb8f350bb data\tutorialmod\tags\item\example_logs.json 14 | 6ed93c8677265be4996a351731d42597ca17454d data\minecraft\tags\item\head_armor.json 15 | b8cca09ce53b98f6b113823a8692ad63da14a361 data\minecraft\tags\item\foot_armor.json 16 | 6db5fae30a211e6b16508d90ca0110428758fe18 data\minecraft\tags\item\wooden_fences.json 17 | 845125a7d2e7e742b7ed1286b7e481d3b0feb50d data\minecraft\tags\item\small_flowers.json 18 | 052e13667790d4863ae7ee13fb46d295de6a1edd data\minecraft\tags\item\planks.json 19 | 0767afed15a8e77b55dd1eed5bd9bbd013c14feb data\minecraft\tags\item\wooden_trapdoors.json 20 | ed52bde9ea9aa15f14baf17120d867aa42d778d3 data\minecraft\tags\item\signs.json 21 | d34f55db6ccafd27540d5da4aee1f1d12117252e data\minecraft\tags\item\wooden_doors.json 22 | c4d402b6889a41bbccc53739ef8804af5bb6ae8d data\minecraft\tags\item\leaves.json 23 | b07e62fc74d90d02d82983a165987c5426c0c3a9 data\minecraft\tags\item\wooden_stairs.json 24 | d0cdc2f469b61a8fa6a355b0cc124f9994fbdbfc data\minecraft\tags\item\fence_gates.json 25 | d3c2f7944f4bd4234494785b99f72dd8d67fb76e data\minecraft\tags\item\hanging_signs.json 26 | e4070224101f9231c4f54fa4e394bc2575df7133 data\minecraft\tags\item\leg_armor.json 27 | a7bfcb6e8bb555f1193d27bc3e769ccaa81fde8d data\minecraft\tags\item\hoes.json 28 | e275b04cc216c3f29809d88626232935d3c9f42a data\minecraft\tags\item\swords.json 29 | -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/blockstates/example_be_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "tutorialmod:block/example_be_block" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/blockstates/example_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "tutorialmod:block/example_block" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/blockstates/example_deepslate_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "tutorialmod:block/example_deepslate_ore" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/blockstates/example_end_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "tutorialmod:block/example_end_ore" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/blockstates/example_energy_generator_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "tutorialmod:block/example_energy_generator_block" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/blockstates/example_energy_storage_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "tutorialmod:block/example_energy_storage_block" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/blockstates/example_fence.json: -------------------------------------------------------------------------------- 1 | { 2 | "multipart": [ 3 | { 4 | "apply": { 5 | "model": "tutorialmod:block/example_fence_post" 6 | } 7 | }, 8 | { 9 | "apply": { 10 | "model": "tutorialmod:block/example_fence_side", 11 | "uvlock": true 12 | }, 13 | "when": { 14 | "north": "true" 15 | } 16 | }, 17 | { 18 | "apply": { 19 | "model": "tutorialmod:block/example_fence_side", 20 | "uvlock": true, 21 | "y": 90 22 | }, 23 | "when": { 24 | "east": "true" 25 | } 26 | }, 27 | { 28 | "apply": { 29 | "model": "tutorialmod:block/example_fence_side", 30 | "uvlock": true, 31 | "y": 180 32 | }, 33 | "when": { 34 | "south": "true" 35 | } 36 | }, 37 | { 38 | "apply": { 39 | "model": "tutorialmod:block/example_fence_side", 40 | "uvlock": true, 41 | "y": 270 42 | }, 43 | "when": { 44 | "west": "true" 45 | } 46 | } 47 | ] 48 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/blockstates/example_flower.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "tutorialmod:block/example_flower" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/blockstates/example_flower_pot.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "tutorialmod:block/example_flower_pot" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/blockstates/example_fluid_tank.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "tutorialmod:block/example_fluid_tank" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/blockstates/example_hanging_sign.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "tutorialmod:block/example_hanging_sign" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/blockstates/example_leaves.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "tutorialmod:block/example_leaves" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/blockstates/example_log.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "axis=x": { 4 | "model": "tutorialmod:block/example_log_horizontal", 5 | "x": 90, 6 | "y": 90 7 | }, 8 | "axis=y": { 9 | "model": "tutorialmod:block/example_log" 10 | }, 11 | "axis=z": { 12 | "model": "tutorialmod:block/example_log_horizontal", 13 | "x": 90 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/blockstates/example_nether_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "tutorialmod:block/example_nether_ore" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/blockstates/example_overworld_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "tutorialmod:block/example_overworld_ore" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/blockstates/example_planks.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "tutorialmod:block/example_planks" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/blockstates/example_pressure_plate.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "powered=false": { 4 | "model": "tutorialmod:block/example_pressure_plate" 5 | }, 6 | "powered=true": { 7 | "model": "tutorialmod:block/example_pressure_plate_down" 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/blockstates/example_sapling.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "tutorialmod:block/example_sapling" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/blockstates/example_sign.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "tutorialmod:block/example_sign" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/blockstates/example_slab.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "type=bottom": { 4 | "model": "tutorialmod:block/example_slab" 5 | }, 6 | "type=double": { 7 | "model": "tutorialmod:block/example_planks" 8 | }, 9 | "type=top": { 10 | "model": "tutorialmod:block/example_slab_top" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/blockstates/example_ticking_be_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "tutorialmod:block/example_ticking_be_block" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/blockstates/example_trapdoor.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "facing=east,half=bottom,open=false": { 4 | "model": "tutorialmod:block/example_trapdoor_bottom", 5 | "y": 90 6 | }, 7 | "facing=east,half=bottom,open=true": { 8 | "model": "tutorialmod:block/example_trapdoor_open", 9 | "y": 90 10 | }, 11 | "facing=east,half=top,open=false": { 12 | "model": "tutorialmod:block/example_trapdoor_top", 13 | "y": 90 14 | }, 15 | "facing=east,half=top,open=true": { 16 | "model": "tutorialmod:block/example_trapdoor_open", 17 | "x": 180, 18 | "y": 270 19 | }, 20 | "facing=north,half=bottom,open=false": { 21 | "model": "tutorialmod:block/example_trapdoor_bottom" 22 | }, 23 | "facing=north,half=bottom,open=true": { 24 | "model": "tutorialmod:block/example_trapdoor_open" 25 | }, 26 | "facing=north,half=top,open=false": { 27 | "model": "tutorialmod:block/example_trapdoor_top" 28 | }, 29 | "facing=north,half=top,open=true": { 30 | "model": "tutorialmod:block/example_trapdoor_open", 31 | "x": 180, 32 | "y": 180 33 | }, 34 | "facing=south,half=bottom,open=false": { 35 | "model": "tutorialmod:block/example_trapdoor_bottom", 36 | "y": 180 37 | }, 38 | "facing=south,half=bottom,open=true": { 39 | "model": "tutorialmod:block/example_trapdoor_open", 40 | "y": 180 41 | }, 42 | "facing=south,half=top,open=false": { 43 | "model": "tutorialmod:block/example_trapdoor_top", 44 | "y": 180 45 | }, 46 | "facing=south,half=top,open=true": { 47 | "model": "tutorialmod:block/example_trapdoor_open", 48 | "x": 180, 49 | "y": 0 50 | }, 51 | "facing=west,half=bottom,open=false": { 52 | "model": "tutorialmod:block/example_trapdoor_bottom", 53 | "y": 270 54 | }, 55 | "facing=west,half=bottom,open=true": { 56 | "model": "tutorialmod:block/example_trapdoor_open", 57 | "y": 270 58 | }, 59 | "facing=west,half=top,open=false": { 60 | "model": "tutorialmod:block/example_trapdoor_top", 61 | "y": 270 62 | }, 63 | "facing=west,half=top,open=true": { 64 | "model": "tutorialmod:block/example_trapdoor_open", 65 | "x": 180, 66 | "y": 90 67 | } 68 | } 69 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/blockstates/example_wall_hanging_sign.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "tutorialmod:block/example_hanging_sign" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/blockstates/example_wall_sign.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "tutorialmod:block/example_sign" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/blockstates/example_wood.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "axis=x": { 4 | "model": "tutorialmod:block/example_wood", 5 | "x": 90, 6 | "y": 90 7 | }, 8 | "axis=y": { 9 | "model": "tutorialmod:block/example_wood" 10 | }, 11 | "axis=z": { 12 | "model": "tutorialmod:block/example_wood", 13 | "x": 90 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/blockstates/stripped_example_log.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "axis=x": { 4 | "model": "tutorialmod:block/stripped_example_log_horizontal", 5 | "x": 90, 6 | "y": 90 7 | }, 8 | "axis=y": { 9 | "model": "tutorialmod:block/stripped_example_log" 10 | }, 11 | "axis=z": { 12 | "model": "tutorialmod:block/stripped_example_log_horizontal", 13 | "x": 90 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/blockstates/stripped_example_wood.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "axis=x": { 4 | "model": "tutorialmod:block/stripped_example_wood", 5 | "x": 90, 6 | "y": 90 7 | }, 8 | "axis=y": { 9 | "model": "tutorialmod:block/stripped_example_wood" 10 | }, 11 | "axis=z": { 12 | "model": "tutorialmod:block/stripped_example_wood", 13 | "x": 90 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_be_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/cube_all", 3 | "textures": { 4 | "all": "tutorialmod:block/example_be_block" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/cube_all", 3 | "textures": { 4 | "all": "tutorialmod:block/example_block" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_button.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/button", 3 | "textures": { 4 | "texture": "tutorialmod:block/example_planks" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_button_inventory.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/button_inventory", 3 | "textures": { 4 | "texture": "tutorialmod:block/example_planks" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_button_pressed.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/button_pressed", 3 | "textures": { 4 | "texture": "tutorialmod:block/example_planks" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_deepslate_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/cube_all", 3 | "textures": { 4 | "all": "tutorialmod:block/example_deepslate_ore" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_door_bottom_left.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/door_bottom_left", 3 | "textures": { 4 | "bottom": "tutorialmod:block/example_door_bottom", 5 | "top": "tutorialmod:block/example_door_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_door_bottom_left_open.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/door_bottom_left_open", 3 | "textures": { 4 | "bottom": "tutorialmod:block/example_door_bottom", 5 | "top": "tutorialmod:block/example_door_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_door_bottom_right.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/door_bottom_right", 3 | "textures": { 4 | "bottom": "tutorialmod:block/example_door_bottom", 5 | "top": "tutorialmod:block/example_door_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_door_bottom_right_open.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/door_bottom_right_open", 3 | "textures": { 4 | "bottom": "tutorialmod:block/example_door_bottom", 5 | "top": "tutorialmod:block/example_door_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_door_top_left.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/door_top_left", 3 | "textures": { 4 | "bottom": "tutorialmod:block/example_door_bottom", 5 | "top": "tutorialmod:block/example_door_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_door_top_left_open.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/door_top_left_open", 3 | "textures": { 4 | "bottom": "tutorialmod:block/example_door_bottom", 5 | "top": "tutorialmod:block/example_door_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_door_top_right.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/door_top_right", 3 | "textures": { 4 | "bottom": "tutorialmod:block/example_door_bottom", 5 | "top": "tutorialmod:block/example_door_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_door_top_right_open.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/door_top_right_open", 3 | "textures": { 4 | "bottom": "tutorialmod:block/example_door_bottom", 5 | "top": "tutorialmod:block/example_door_top" 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_end_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/cube_all", 3 | "textures": { 4 | "all": "tutorialmod:block/example_end_ore" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_energy_generator_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/cube_all", 3 | "textures": { 4 | "all": "tutorialmod:block/example_energy_generator_block" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_energy_storage_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/cube_all", 3 | "textures": { 4 | "all": "tutorialmod:block/example_energy_storage_block" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_fence_gate.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/template_fence_gate", 3 | "textures": { 4 | "texture": "tutorialmod:block/example_planks" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_fence_gate_open.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/template_fence_gate_open", 3 | "textures": { 4 | "texture": "tutorialmod:block/example_planks" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_fence_gate_wall.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/template_fence_gate_wall", 3 | "textures": { 4 | "texture": "tutorialmod:block/example_planks" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_fence_gate_wall_open.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/template_fence_gate_wall_open", 3 | "textures": { 4 | "texture": "tutorialmod:block/example_planks" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_fence_inventory.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/fence_inventory", 3 | "textures": { 4 | "texture": "tutorialmod:block/example_planks" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_fence_post.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/fence_post", 3 | "textures": { 4 | "texture": "tutorialmod:block/example_planks" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_fence_side.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/fence_side", 3 | "textures": { 4 | "texture": "tutorialmod:block/example_planks" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_flower.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/cross", 3 | "textures": { 4 | "cross": "tutorialmod:block/example_flower" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_flower_pot.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/flower_pot_cross", 3 | "textures": { 4 | "plant": "tutorialmod:block/example_flower" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_hanging_sign.json: -------------------------------------------------------------------------------- 1 | { 2 | "textures": { 3 | "particle": "tutorialmod:block/stripped_example_log" 4 | } 5 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_leaves.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/cube_all", 3 | "textures": { 4 | "all": "tutorialmod:block/example_leaves" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_log.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/cube_column", 3 | "textures": { 4 | "end": "tutorialmod:block/example_log_top", 5 | "side": "tutorialmod:block/example_log" 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_log_horizontal.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/cube_column_horizontal", 3 | "textures": { 4 | "end": "tutorialmod:block/example_log_top", 5 | "side": "tutorialmod:block/example_log" 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_nether_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/cube_all", 3 | "textures": { 4 | "all": "tutorialmod:block/example_nether_ore" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_overworld_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/cube_all", 3 | "textures": { 4 | "all": "tutorialmod:block/example_overworld_ore" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_planks.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/cube_all", 3 | "textures": { 4 | "all": "tutorialmod:block/example_planks" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_pressure_plate.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/pressure_plate_up", 3 | "textures": { 4 | "texture": "tutorialmod:block/example_planks" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_pressure_plate_down.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/pressure_plate_down", 3 | "textures": { 4 | "texture": "tutorialmod:block/example_planks" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_sapling.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/cross", 3 | "textures": { 4 | "cross": "tutorialmod:block/example_sapling" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_sign.json: -------------------------------------------------------------------------------- 1 | { 2 | "textures": { 3 | "particle": "tutorialmod:block/example_planks" 4 | } 5 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_slab.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/slab", 3 | "textures": { 4 | "bottom": "tutorialmod:block/example_planks", 5 | "side": "tutorialmod:block/example_planks", 6 | "top": "tutorialmod:block/example_planks" 7 | } 8 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_slab_top.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/slab_top", 3 | "textures": { 4 | "bottom": "tutorialmod:block/example_planks", 5 | "side": "tutorialmod:block/example_planks", 6 | "top": "tutorialmod:block/example_planks" 7 | } 8 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_stairs.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/stairs", 3 | "textures": { 4 | "bottom": "tutorialmod:block/example_planks", 5 | "side": "tutorialmod:block/example_planks", 6 | "top": "tutorialmod:block/example_planks" 7 | } 8 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_stairs_inner.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/inner_stairs", 3 | "textures": { 4 | "bottom": "tutorialmod:block/example_planks", 5 | "side": "tutorialmod:block/example_planks", 6 | "top": "tutorialmod:block/example_planks" 7 | } 8 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_stairs_outer.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/outer_stairs", 3 | "textures": { 4 | "bottom": "tutorialmod:block/example_planks", 5 | "side": "tutorialmod:block/example_planks", 6 | "top": "tutorialmod:block/example_planks" 7 | } 8 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_ticking_be_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/cube_all", 3 | "textures": { 4 | "all": "tutorialmod:block/example_ticking_be_block" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_trapdoor_bottom.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/template_orientable_trapdoor_bottom", 3 | "textures": { 4 | "texture": "tutorialmod:block/example_trapdoor" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_trapdoor_open.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/template_orientable_trapdoor_open", 3 | "textures": { 4 | "texture": "tutorialmod:block/example_trapdoor" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_trapdoor_top.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/template_orientable_trapdoor_top", 3 | "textures": { 4 | "texture": "tutorialmod:block/example_trapdoor" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/example_wood.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/cube_column", 3 | "textures": { 4 | "end": "tutorialmod:block/example_log", 5 | "side": "tutorialmod:block/example_log" 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/stripped_example_log.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/cube_column", 3 | "textures": { 4 | "end": "tutorialmod:block/stripped_example_log_top", 5 | "side": "tutorialmod:block/stripped_example_log" 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/stripped_example_log_horizontal.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/cube_column_horizontal", 3 | "textures": { 4 | "end": "tutorialmod:block/stripped_example_log_top", 5 | "side": "tutorialmod:block/stripped_example_log" 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/block/stripped_example_wood.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/cube_column", 3 | "textures": { 4 | "end": "tutorialmod:block/stripped_example_log", 5 | "side": "tutorialmod:block/stripped_example_log" 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_axe.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/handheld", 3 | "textures": { 4 | "layer0": "tutorialmod:item/example_axe" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_be_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "tutorialmod:block/example_be_block" 3 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "tutorialmod:block/example_block" 3 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_boat.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "tutorialmod:item/example_boat" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_boots.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "tutorialmod:item/example_boots" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_button.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "tutorialmod:block/example_button_inventory" 3 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_chest_boat.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "tutorialmod:item/example_chest_boat" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_chestplate.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "tutorialmod:item/example_chestplate" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_deepslate_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "tutorialmod:block/example_deepslate_ore" 3 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_door.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "tutorialmod:item/example_door" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_end_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "tutorialmod:block/example_end_ore" 3 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_energy_generator_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "tutorialmod:block/example_energy_generator_block" 3 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_energy_storage_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "tutorialmod:block/example_energy_storage_block" 3 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_fence.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "tutorialmod:block/example_fence_inventory" 3 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_fence_gate.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "tutorialmod:block/example_fence_gate" 3 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_flower.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "tutorialmod:block/example_flower" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_fluid_tank.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "tutorialmod:block/example_fluid_tank" 3 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_food.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "tutorialmod:item/example_food" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_hanging_sign.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "tutorialmod:item/example_hanging_sign" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_helmet.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "tutorialmod:item/example_helmet" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_hoe.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/handheld", 3 | "textures": { 4 | "layer0": "tutorialmod:item/example_hoe" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_item.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "tutorialmod:item/example_item" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_leaves.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "tutorialmod:block/example_leaves" 3 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_leggings.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "tutorialmod:item/example_leggings" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_log.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "tutorialmod:block/example_log" 3 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_nether_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "tutorialmod:block/example_nether_ore" 3 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_overworld_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "tutorialmod:block/example_overworld_ore" 3 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_pickaxe.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/handheld", 3 | "textures": { 4 | "layer0": "tutorialmod:item/example_pickaxe" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_planks.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "tutorialmod:block/example_planks" 3 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_pressure_plate.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "tutorialmod:block/example_pressure_plate" 3 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_sapling.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "tutorialmod:block/example_sapling" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_shovel.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/handheld", 3 | "textures": { 4 | "layer0": "tutorialmod:item/example_shovel" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_sign.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "tutorialmod:item/example_sign" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_slab.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "tutorialmod:block/example_slab" 3 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_stairs.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "tutorialmod:block/example_stairs" 3 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_sword.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/handheld", 3 | "textures": { 4 | "layer0": "tutorialmod:item/example_sword" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_ticking_be_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "tutorialmod:block/example_ticking_be_block" 3 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/example_trapdoor.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "tutorialmod:block/example_trapdoor_bottom" 3 | } -------------------------------------------------------------------------------- /src/main/generated/assets/tutorialmod/models/item/stripped_example_log.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "tutorialmod:block/stripped_example_log" 3 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/block/ceiling_hanging_signs.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_hanging_sign" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/block/flower_pots.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_flower_pot" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/block/leaves.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_leaves" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/block/logs_that_burn.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "#tutorialmod:example_logs" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/block/mineable/pickaxe.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_block", 4 | "tutorialmod:example_overworld_ore", 5 | "tutorialmod:example_deepslate_ore", 6 | "tutorialmod:example_nether_ore", 7 | "tutorialmod:example_end_ore", 8 | "tutorialmod:example_be_block", 9 | "tutorialmod:example_ticking_be_block", 10 | "tutorialmod:example_energy_storage_block", 11 | "tutorialmod:example_energy_generator_block", 12 | "tutorialmod:example_inventory_block" 13 | ] 14 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/block/needs_diamond_tool.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_ticking_be_block", 4 | "tutorialmod:example_energy_storage_block", 5 | "tutorialmod:example_energy_generator_block" 6 | ] 7 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/block/needs_iron_tool.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_block", 4 | "tutorialmod:example_overworld_ore", 5 | "tutorialmod:example_deepslate_ore", 6 | "tutorialmod:example_nether_ore", 7 | "tutorialmod:example_end_ore" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/block/needs_stone_tool.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_be_block", 4 | "tutorialmod:example_inventory_block" 5 | ] 6 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/block/saplings.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_sapling" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/block/small_flowers.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_flower" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/block/standing_signs.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_sign" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/block/wall_hanging_signs.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_wall_hanging_sign" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/block/wall_signs.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_wall_sign" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/block/wooden_buttons.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_button" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/block/wooden_doors.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_door" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/block/wooden_fences.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_fence" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/block/wooden_pressure_plates.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_pressure_plate" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/block/wooden_slabs.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_slab" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/block/wooden_stairs.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_stairs" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/block/wooden_trapdoors.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_trapdoor" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/item/axes.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_axe" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/item/boats.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_boat" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/item/chest_armor.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_chestplate" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/item/chest_boats.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_chest_boat" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/item/fence_gates.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_fence_gate" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/item/foot_armor.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_boots" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/item/hanging_signs.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_hanging_sign" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/item/head_armor.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_helmet" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/item/hoes.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_hoe" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/item/leaves.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_leaves" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/item/leg_armor.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_leggings" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/item/logs_that_burn.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "#tutorialmod:example_logs" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/item/pickaxes.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_pickaxe" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/item/planks.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_planks" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/item/saplings.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_sapling" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/item/shovels.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_shovel" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/item/signs.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_sign" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/item/small_flowers.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_flower" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/item/swords.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_sword" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/item/wooden_buttons.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_button" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/item/wooden_doors.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_door" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/item/wooden_fences.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_fence" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/item/wooden_pressure_plates.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_pressure_plate" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/item/wooden_slabs.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_slab" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/item/wooden_stairs.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_stairs" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/minecraft/tags/item/wooden_trapdoors.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_trapdoor" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/advancement/recipes/building_blocks/example_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_example_item": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "tutorialmod:example_item" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "tutorialmod:example_block" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_example_item" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "tutorialmod:example_block" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/advancement/recipes/building_blocks/example_door.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_example_planks": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "tutorialmod:example_planks" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "tutorialmod:example_door" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_example_planks" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "tutorialmod:example_door" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/advancement/recipes/building_blocks/example_fence.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_c:rods/wooden": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "#c:rods/wooden" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_example_planks": { 15 | "conditions": { 16 | "items": [ 17 | { 18 | "items": "tutorialmod:example_planks" 19 | } 20 | ] 21 | }, 22 | "trigger": "minecraft:inventory_changed" 23 | }, 24 | "has_the_recipe": { 25 | "conditions": { 26 | "recipe": "tutorialmod:example_fence" 27 | }, 28 | "trigger": "minecraft:recipe_unlocked" 29 | } 30 | }, 31 | "requirements": [ 32 | [ 33 | "has_the_recipe", 34 | "has_example_planks", 35 | "has_c:rods/wooden" 36 | ] 37 | ], 38 | "rewards": { 39 | "recipes": [ 40 | "tutorialmod:example_fence" 41 | ] 42 | } 43 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/advancement/recipes/building_blocks/example_fence_gate.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_c:rods/wooden": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "#c:rods/wooden" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_example_planks": { 15 | "conditions": { 16 | "items": [ 17 | { 18 | "items": "tutorialmod:example_planks" 19 | } 20 | ] 21 | }, 22 | "trigger": "minecraft:inventory_changed" 23 | }, 24 | "has_the_recipe": { 25 | "conditions": { 26 | "recipe": "tutorialmod:example_fence_gate" 27 | }, 28 | "trigger": "minecraft:recipe_unlocked" 29 | } 30 | }, 31 | "requirements": [ 32 | [ 33 | "has_the_recipe", 34 | "has_example_planks", 35 | "has_c:rods/wooden" 36 | ] 37 | ], 38 | "rewards": { 39 | "recipes": [ 40 | "tutorialmod:example_fence_gate" 41 | ] 42 | } 43 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/advancement/recipes/building_blocks/example_planks.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_the_recipe": { 5 | "conditions": { 6 | "recipe": "tutorialmod:example_planks" 7 | }, 8 | "trigger": "minecraft:recipe_unlocked" 9 | }, 10 | "has_tutorialmod:example_logs": { 11 | "conditions": { 12 | "items": [ 13 | { 14 | "items": "#tutorialmod:example_logs" 15 | } 16 | ] 17 | }, 18 | "trigger": "minecraft:inventory_changed" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_tutorialmod:example_logs" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "tutorialmod:example_planks" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/advancement/recipes/building_blocks/example_slab.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_example_planks": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "tutorialmod:example_planks" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "tutorialmod:example_slab" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_example_planks" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "tutorialmod:example_slab" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/advancement/recipes/building_blocks/example_stairs.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_example_planks": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "tutorialmod:example_planks" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "tutorialmod:example_stairs" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_example_planks" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "tutorialmod:example_stairs" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/advancement/recipes/building_blocks/example_ticking_be_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_diamond_pickaxe": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "minecraft:diamond_pickaxe" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_example_item": { 15 | "conditions": { 16 | "items": [ 17 | { 18 | "items": "tutorialmod:example_item" 19 | } 20 | ] 21 | }, 22 | "trigger": "minecraft:inventory_changed" 23 | }, 24 | "has_the_recipe": { 25 | "conditions": { 26 | "recipe": "tutorialmod:example_ticking_be_block" 27 | }, 28 | "trigger": "minecraft:recipe_unlocked" 29 | } 30 | }, 31 | "requirements": [ 32 | [ 33 | "has_the_recipe", 34 | "has_example_item", 35 | "has_diamond_pickaxe" 36 | ] 37 | ], 38 | "rewards": { 39 | "recipes": [ 40 | "tutorialmod:example_ticking_be_block" 41 | ] 42 | } 43 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/advancement/recipes/building_blocks/example_trapdoor.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_example_planks": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "tutorialmod:example_planks" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "tutorialmod:example_trapdoor" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_example_planks" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "tutorialmod:example_trapdoor" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/advancement/recipes/combat/example_boots.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_example_item": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "tutorialmod:example_item" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "tutorialmod:example_boots" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_example_item" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "tutorialmod:example_boots" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/advancement/recipes/combat/example_chestplate.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_example_item": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "tutorialmod:example_item" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "tutorialmod:example_chestplate" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_example_item" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "tutorialmod:example_chestplate" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/advancement/recipes/combat/example_helmet.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_example_item": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "tutorialmod:example_item" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "tutorialmod:example_helmet" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_example_item" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "tutorialmod:example_helmet" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/advancement/recipes/combat/example_leggings.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_example_item": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "tutorialmod:example_item" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "tutorialmod:example_leggings" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_example_item" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "tutorialmod:example_leggings" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/advancement/recipes/combat/example_sword.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_c:rods/wooden": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "#c:rods/wooden" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_example_item": { 15 | "conditions": { 16 | "items": [ 17 | { 18 | "items": "tutorialmod:example_item" 19 | } 20 | ] 21 | }, 22 | "trigger": "minecraft:inventory_changed" 23 | }, 24 | "has_the_recipe": { 25 | "conditions": { 26 | "recipe": "tutorialmod:example_sword" 27 | }, 28 | "trigger": "minecraft:recipe_unlocked" 29 | } 30 | }, 31 | "requirements": [ 32 | [ 33 | "has_the_recipe", 34 | "has_example_item", 35 | "has_c:rods/wooden" 36 | ] 37 | ], 38 | "rewards": { 39 | "recipes": [ 40 | "tutorialmod:example_sword" 41 | ] 42 | } 43 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/advancement/recipes/decorations/example_hanging_sign.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_c:chains": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "#c:chains" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_example_planks": { 15 | "conditions": { 16 | "items": [ 17 | { 18 | "items": "tutorialmod:example_planks" 19 | } 20 | ] 21 | }, 22 | "trigger": "minecraft:inventory_changed" 23 | }, 24 | "has_the_recipe": { 25 | "conditions": { 26 | "recipe": "tutorialmod:example_hanging_sign" 27 | }, 28 | "trigger": "minecraft:recipe_unlocked" 29 | } 30 | }, 31 | "requirements": [ 32 | [ 33 | "has_the_recipe", 34 | "has_example_planks", 35 | "has_c:chains" 36 | ] 37 | ], 38 | "rewards": { 39 | "recipes": [ 40 | "tutorialmod:example_hanging_sign" 41 | ] 42 | } 43 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/advancement/recipes/decorations/example_sign.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_c:rods/wooden": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "#c:rods/wooden" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_example_planks": { 15 | "conditions": { 16 | "items": [ 17 | { 18 | "items": "tutorialmod:example_planks" 19 | } 20 | ] 21 | }, 22 | "trigger": "minecraft:inventory_changed" 23 | }, 24 | "has_the_recipe": { 25 | "conditions": { 26 | "recipe": "tutorialmod:example_sign" 27 | }, 28 | "trigger": "minecraft:recipe_unlocked" 29 | } 30 | }, 31 | "requirements": [ 32 | [ 33 | "has_the_recipe", 34 | "has_example_planks", 35 | "has_c:rods/wooden" 36 | ] 37 | ], 38 | "rewards": { 39 | "recipes": [ 40 | "tutorialmod:example_sign" 41 | ] 42 | } 43 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/advancement/recipes/misc/example_fluid_tank.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_c:buckets/empty": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "#c:buckets/empty" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_c:glass_panes": { 15 | "conditions": { 16 | "items": [ 17 | { 18 | "items": "#c:glass_panes" 19 | } 20 | ] 21 | }, 22 | "trigger": "minecraft:inventory_changed" 23 | }, 24 | "has_c:ingots/iron": { 25 | "conditions": { 26 | "items": [ 27 | { 28 | "items": "#c:ingots/iron" 29 | } 30 | ] 31 | }, 32 | "trigger": "minecraft:inventory_changed" 33 | }, 34 | "has_the_recipe": { 35 | "conditions": { 36 | "recipe": "tutorialmod:example_fluid_tank" 37 | }, 38 | "trigger": "minecraft:recipe_unlocked" 39 | } 40 | }, 41 | "requirements": [ 42 | [ 43 | "has_the_recipe", 44 | "has_c:glass_panes", 45 | "has_c:buckets/empty", 46 | "has_c:ingots/iron" 47 | ] 48 | ], 49 | "rewards": { 50 | "recipes": [ 51 | "tutorialmod:example_fluid_tank" 52 | ] 53 | } 54 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/advancement/recipes/misc/example_item.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_example_block": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "tutorialmod:example_block" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "tutorialmod:example_item" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_example_block" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "tutorialmod:example_item" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/advancement/recipes/misc/example_item_from_blasting_example_deepslate_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_example_deepslate_ore": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "tutorialmod:example_deepslate_ore" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "minecraft:example_item_from_blasting_example_deepslate_ore" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_example_deepslate_ore" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "minecraft:example_item_from_blasting_example_deepslate_ore" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/advancement/recipes/misc/example_item_from_blasting_example_end_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_example_end_ore": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "tutorialmod:example_end_ore" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "minecraft:example_item_from_blasting_example_end_ore" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_example_end_ore" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "minecraft:example_item_from_blasting_example_end_ore" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/advancement/recipes/misc/example_item_from_blasting_example_nether_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_example_nether_ore": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "tutorialmod:example_nether_ore" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "minecraft:example_item_from_blasting_example_nether_ore" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_example_nether_ore" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "minecraft:example_item_from_blasting_example_nether_ore" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/advancement/recipes/misc/example_item_from_blasting_example_overworld_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_example_overworld_ore": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "tutorialmod:example_overworld_ore" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "minecraft:example_item_from_blasting_example_overworld_ore" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_example_overworld_ore" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "minecraft:example_item_from_blasting_example_overworld_ore" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/advancement/recipes/misc/example_item_from_smelting_example_deepslate_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_example_deepslate_ore": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "tutorialmod:example_deepslate_ore" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "minecraft:example_item_from_smelting_example_deepslate_ore" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_example_deepslate_ore" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "minecraft:example_item_from_smelting_example_deepslate_ore" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/advancement/recipes/misc/example_item_from_smelting_example_end_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_example_end_ore": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "tutorialmod:example_end_ore" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "minecraft:example_item_from_smelting_example_end_ore" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_example_end_ore" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "minecraft:example_item_from_smelting_example_end_ore" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/advancement/recipes/misc/example_item_from_smelting_example_nether_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_example_nether_ore": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "tutorialmod:example_nether_ore" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "minecraft:example_item_from_smelting_example_nether_ore" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_example_nether_ore" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "minecraft:example_item_from_smelting_example_nether_ore" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/advancement/recipes/misc/example_item_from_smelting_example_overworld_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_example_overworld_ore": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "tutorialmod:example_overworld_ore" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "minecraft:example_item_from_smelting_example_overworld_ore" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_example_overworld_ore" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "minecraft:example_item_from_smelting_example_overworld_ore" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/advancement/recipes/redstone/example_button.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_example_planks": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "tutorialmod:example_planks" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "tutorialmod:example_button" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_example_planks" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "tutorialmod:example_button" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/advancement/recipes/redstone/example_pressure_plate.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_example_planks": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "tutorialmod:example_planks" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "tutorialmod:example_pressure_plate" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_example_planks" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "tutorialmod:example_pressure_plate" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/advancement/recipes/tools/example_axe.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_c:rods/wooden": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "#c:rods/wooden" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_example_item": { 15 | "conditions": { 16 | "items": [ 17 | { 18 | "items": "tutorialmod:example_item" 19 | } 20 | ] 21 | }, 22 | "trigger": "minecraft:inventory_changed" 23 | }, 24 | "has_the_recipe": { 25 | "conditions": { 26 | "recipe": "tutorialmod:example_axe" 27 | }, 28 | "trigger": "minecraft:recipe_unlocked" 29 | } 30 | }, 31 | "requirements": [ 32 | [ 33 | "has_the_recipe", 34 | "has_example_item", 35 | "has_c:rods/wooden" 36 | ] 37 | ], 38 | "rewards": { 39 | "recipes": [ 40 | "tutorialmod:example_axe" 41 | ] 42 | } 43 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/advancement/recipes/tools/example_hoe.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_c:rods/wooden": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "#c:rods/wooden" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_example_item": { 15 | "conditions": { 16 | "items": [ 17 | { 18 | "items": "tutorialmod:example_item" 19 | } 20 | ] 21 | }, 22 | "trigger": "minecraft:inventory_changed" 23 | }, 24 | "has_the_recipe": { 25 | "conditions": { 26 | "recipe": "tutorialmod:example_hoe" 27 | }, 28 | "trigger": "minecraft:recipe_unlocked" 29 | } 30 | }, 31 | "requirements": [ 32 | [ 33 | "has_the_recipe", 34 | "has_example_item", 35 | "has_c:rods/wooden" 36 | ] 37 | ], 38 | "rewards": { 39 | "recipes": [ 40 | "tutorialmod:example_hoe" 41 | ] 42 | } 43 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/advancement/recipes/tools/example_pickaxe.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_c:rods/wooden": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "#c:rods/wooden" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_example_item": { 15 | "conditions": { 16 | "items": [ 17 | { 18 | "items": "tutorialmod:example_item" 19 | } 20 | ] 21 | }, 22 | "trigger": "minecraft:inventory_changed" 23 | }, 24 | "has_the_recipe": { 25 | "conditions": { 26 | "recipe": "tutorialmod:example_pickaxe" 27 | }, 28 | "trigger": "minecraft:recipe_unlocked" 29 | } 30 | }, 31 | "requirements": [ 32 | [ 33 | "has_the_recipe", 34 | "has_example_item", 35 | "has_c:rods/wooden" 36 | ] 37 | ], 38 | "rewards": { 39 | "recipes": [ 40 | "tutorialmod:example_pickaxe" 41 | ] 42 | } 43 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/advancement/recipes/tools/example_shovel.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_c:rods/wooden": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "#c:rods/wooden" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_example_item": { 15 | "conditions": { 16 | "items": [ 17 | { 18 | "items": "tutorialmod:example_item" 19 | } 20 | ] 21 | }, 22 | "trigger": "minecraft:inventory_changed" 23 | }, 24 | "has_the_recipe": { 25 | "conditions": { 26 | "recipe": "tutorialmod:example_shovel" 27 | }, 28 | "trigger": "minecraft:recipe_unlocked" 29 | } 30 | }, 31 | "requirements": [ 32 | [ 33 | "has_the_recipe", 34 | "has_example_item", 35 | "has_c:rods/wooden" 36 | ] 37 | ], 38 | "rewards": { 39 | "recipes": [ 40 | "tutorialmod:example_shovel" 41 | ] 42 | } 43 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/advancement/recipes/transportation/example_boat.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_example_planks": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "tutorialmod:example_planks" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "tutorialmod:example_boat" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_example_planks" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "tutorialmod:example_boat" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/advancement/recipes/transportation/example_chest_boat.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_c:chests/wooden": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "#c:chests/wooden" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_example_boat": { 15 | "conditions": { 16 | "items": [ 17 | { 18 | "items": "tutorialmod:example_boat" 19 | } 20 | ] 21 | }, 22 | "trigger": "minecraft:inventory_changed" 23 | }, 24 | "has_the_recipe": { 25 | "conditions": { 26 | "recipe": "tutorialmod:example_chest_boat" 27 | }, 28 | "trigger": "minecraft:recipe_unlocked" 29 | } 30 | }, 31 | "requirements": [ 32 | [ 33 | "has_the_recipe", 34 | "has_example_boat", 35 | "has_c:chests/wooden" 36 | ] 37 | ], 38 | "rewards": { 39 | "recipes": [ 40 | "tutorialmod:example_chest_boat" 41 | ] 42 | } 43 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/enchantment/thundering.json: -------------------------------------------------------------------------------- 1 | { 2 | "anvil_cost": 7, 3 | "description": { 4 | "translate": "enchantment.tutorialmod.thundering" 5 | }, 6 | "effects": { 7 | "minecraft:post_attack": [ 8 | { 9 | "affected": "victim", 10 | "effect": { 11 | "type": "tutorialmod:lightning", 12 | "amount": { 13 | "type": "minecraft:linear", 14 | "base": 0.5, 15 | "per_level_above_first": 0.15 16 | } 17 | }, 18 | "enchanted": "attacker" 19 | } 20 | ] 21 | }, 22 | "max_cost": { 23 | "base": 1, 24 | "per_level_above_first": 15 25 | }, 26 | "max_level": 5, 27 | "min_cost": { 28 | "base": 1, 29 | "per_level_above_first": 10 30 | }, 31 | "slots": [ 32 | "hand" 33 | ], 34 | "supported_items": "#minecraft:enchantable/weapon", 35 | "weight": 15 36 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/loot_table/blocks/example_be_block.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": "tutorialmod:example_be_block" 15 | } 16 | ], 17 | "rolls": 1.0 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/loot_table/blocks/example_block.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": "tutorialmod:example_block" 15 | } 16 | ], 17 | "rolls": 1.0 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/loot_table/blocks/example_button.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": "tutorialmod:example_button" 15 | } 16 | ], 17 | "rolls": 1.0 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/loot_table/blocks/example_deepslate_ore.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": "tutorialmod:example_deepslate_ore" 15 | } 16 | ], 17 | "rolls": 1.0 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/loot_table/blocks/example_end_ore.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": "tutorialmod:example_end_ore" 15 | } 16 | ], 17 | "rolls": 1.0 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/loot_table/blocks/example_energy_generator_block.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": "tutorialmod:example_energy_generator_block" 15 | } 16 | ], 17 | "rolls": 1.0 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/loot_table/blocks/example_energy_storage_block.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": "tutorialmod:example_energy_storage_block" 15 | } 16 | ], 17 | "rolls": 1.0 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/loot_table/blocks/example_fence.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": "tutorialmod:example_fence" 15 | } 16 | ], 17 | "rolls": 1.0 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/loot_table/blocks/example_fence_gate.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": "tutorialmod:example_fence_gate" 15 | } 16 | ], 17 | "rolls": 1.0 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/loot_table/blocks/example_flower.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": "tutorialmod:example_flower" 15 | } 16 | ], 17 | "rolls": 1.0 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/loot_table/blocks/example_flower_pot.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:flower_pot" 15 | } 16 | ], 17 | "rolls": 1.0 18 | }, 19 | { 20 | "bonus_rolls": 0.0, 21 | "conditions": [ 22 | { 23 | "condition": "minecraft:survives_explosion" 24 | } 25 | ], 26 | "entries": [ 27 | { 28 | "type": "minecraft:item", 29 | "name": "tutorialmod:example_flower" 30 | } 31 | ], 32 | "rolls": 1.0 33 | } 34 | ] 35 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/loot_table/blocks/example_fluid_tank.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "bonus_rolls": 0.0, 6 | "entries": [ 7 | { 8 | "type": "minecraft:alternatives", 9 | "children": [ 10 | { 11 | "type": "minecraft:item", 12 | "conditions": [ 13 | { 14 | "condition": "minecraft:match_tool", 15 | "predicate": { 16 | "predicates": { 17 | "minecraft:enchantments": [ 18 | { 19 | "enchantments": "minecraft:silk_touch", 20 | "levels": { 21 | "min": 1 22 | } 23 | } 24 | ] 25 | } 26 | } 27 | } 28 | ], 29 | "name": "tutorialmod:example_fluid_tank" 30 | }, 31 | { 32 | "type": "minecraft:item", 33 | "conditions": [ 34 | { 35 | "condition": "minecraft:survives_explosion" 36 | } 37 | ], 38 | "name": "minecraft:air" 39 | } 40 | ] 41 | } 42 | ], 43 | "rolls": 1.0 44 | } 45 | ] 46 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/loot_table/blocks/example_hanging_sign.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": "tutorialmod:example_hanging_sign" 15 | } 16 | ], 17 | "rolls": 1.0 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/loot_table/blocks/example_inventory_block.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": "tutorialmod:example_inventory_block" 15 | } 16 | ], 17 | "rolls": 1.0 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/loot_table/blocks/example_log.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": "tutorialmod:example_log" 15 | } 16 | ], 17 | "rolls": 1.0 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/loot_table/blocks/example_nether_ore.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": "tutorialmod:example_nether_ore" 15 | } 16 | ], 17 | "rolls": 1.0 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/loot_table/blocks/example_overworld_ore.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": "tutorialmod:example_overworld_ore" 15 | } 16 | ], 17 | "rolls": 1.0 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/loot_table/blocks/example_planks.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": "tutorialmod:example_planks" 15 | } 16 | ], 17 | "rolls": 1.0 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/loot_table/blocks/example_pressure_plate.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": "tutorialmod:example_pressure_plate" 15 | } 16 | ], 17 | "rolls": 1.0 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/loot_table/blocks/example_sapling.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": "tutorialmod:example_sapling" 15 | } 16 | ], 17 | "rolls": 1.0 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/loot_table/blocks/example_sign.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": "tutorialmod:example_sign" 15 | } 16 | ], 17 | "rolls": 1.0 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/loot_table/blocks/example_slab.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": "tutorialmod:example_slab" 15 | } 16 | ], 17 | "rolls": 1.0 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/loot_table/blocks/example_stairs.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": "tutorialmod:example_stairs" 15 | } 16 | ], 17 | "rolls": 1.0 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/loot_table/blocks/example_ticking_be_block.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": "tutorialmod:example_ticking_be_block" 15 | } 16 | ], 17 | "rolls": 1.0 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/loot_table/blocks/example_trapdoor.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": "tutorialmod:example_trapdoor" 15 | } 16 | ], 17 | "rolls": 1.0 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/loot_table/blocks/example_wall_hanging_sign.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": "tutorialmod:example_hanging_sign" 15 | } 16 | ], 17 | "rolls": 1.0 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/loot_table/blocks/example_wall_sign.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": "tutorialmod:example_sign" 15 | } 16 | ], 17 | "rolls": 1.0 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/loot_table/blocks/example_wood.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:air" 15 | } 16 | ], 17 | "rolls": 1.0 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/loot_table/blocks/stripped_example_log.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": "tutorialmod:stripped_example_log" 15 | } 16 | ], 17 | "rolls": 1.0 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/loot_table/blocks/stripped_example_wood.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:air" 15 | } 16 | ], 17 | "rolls": 1.0 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/recipe/example_axe.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "equipment", 4 | "key": { 5 | "E": { 6 | "item": "tutorialmod:example_item" 7 | }, 8 | "S": { 9 | "tag": "c:rods/wooden" 10 | } 11 | }, 12 | "pattern": [ 13 | "EE", 14 | "ES", 15 | " S" 16 | ], 17 | "result": { 18 | "count": 1, 19 | "id": "tutorialmod:example_axe" 20 | } 21 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/recipe/example_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "building", 4 | "key": { 5 | "E": { 6 | "item": "tutorialmod:example_item" 7 | } 8 | }, 9 | "pattern": [ 10 | "EEE", 11 | "EEE", 12 | "EEE" 13 | ], 14 | "result": { 15 | "count": 1, 16 | "id": "tutorialmod:example_block" 17 | } 18 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/recipe/example_boat.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "misc", 4 | "key": { 5 | "T": { 6 | "item": "tutorialmod:example_planks" 7 | } 8 | }, 9 | "pattern": [ 10 | "T T", 11 | "TTT" 12 | ], 13 | "result": { 14 | "count": 1, 15 | "id": "tutorialmod:example_boat" 16 | } 17 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/recipe/example_boots.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "equipment", 4 | "key": { 5 | "E": { 6 | "item": "tutorialmod:example_item" 7 | } 8 | }, 9 | "pattern": [ 10 | "E E", 11 | "E E" 12 | ], 13 | "result": { 14 | "count": 1, 15 | "id": "tutorialmod:example_boots" 16 | } 17 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/recipe/example_button.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "redstone", 4 | "ingredients": [ 5 | { 6 | "item": "tutorialmod:example_planks" 7 | } 8 | ], 9 | "result": { 10 | "count": 1, 11 | "id": "tutorialmod:example_button" 12 | } 13 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/recipe/example_chest_boat.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "misc", 4 | "ingredients": [ 5 | { 6 | "item": "tutorialmod:example_boat" 7 | }, 8 | { 9 | "tag": "c:chests/wooden" 10 | } 11 | ], 12 | "result": { 13 | "count": 1, 14 | "id": "tutorialmod:example_chest_boat" 15 | } 16 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/recipe/example_chestplate.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "equipment", 4 | "key": { 5 | "E": { 6 | "item": "tutorialmod:example_item" 7 | } 8 | }, 9 | "pattern": [ 10 | "E E", 11 | "EEE", 12 | "EEE" 13 | ], 14 | "result": { 15 | "count": 1, 16 | "id": "tutorialmod:example_chestplate" 17 | } 18 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/recipe/example_door.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "building", 4 | "key": { 5 | "T": { 6 | "item": "tutorialmod:example_planks" 7 | } 8 | }, 9 | "pattern": [ 10 | "TT", 11 | "TT", 12 | "TT" 13 | ], 14 | "result": { 15 | "count": 3, 16 | "id": "tutorialmod:example_door" 17 | } 18 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/recipe/example_fence.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "building", 4 | "key": { 5 | "S": { 6 | "tag": "c:rods/wooden" 7 | }, 8 | "T": { 9 | "item": "tutorialmod:example_planks" 10 | } 11 | }, 12 | "pattern": [ 13 | "TST", 14 | "TST" 15 | ], 16 | "result": { 17 | "count": 3, 18 | "id": "tutorialmod:example_fence" 19 | } 20 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/recipe/example_fence_gate.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "building", 4 | "key": { 5 | "S": { 6 | "tag": "c:rods/wooden" 7 | }, 8 | "T": { 9 | "item": "tutorialmod:example_planks" 10 | } 11 | }, 12 | "pattern": [ 13 | "STT", 14 | "STT" 15 | ], 16 | "result": { 17 | "count": 1, 18 | "id": "tutorialmod:example_fence_gate" 19 | } 20 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/recipe/example_fluid_tank.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "misc", 4 | "key": { 5 | "B": { 6 | "tag": "c:buckets/empty" 7 | }, 8 | "G": { 9 | "tag": "c:glass_panes" 10 | }, 11 | "I": { 12 | "tag": "c:ingots/iron" 13 | } 14 | }, 15 | "pattern": [ 16 | "III", 17 | "GBG", 18 | "III" 19 | ], 20 | "result": { 21 | "count": 1, 22 | "id": "tutorialmod:example_fluid_tank" 23 | } 24 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/recipe/example_hanging_sign.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "misc", 4 | "key": { 5 | "C": { 6 | "tag": "c:chains" 7 | }, 8 | "T": { 9 | "item": "tutorialmod:example_planks" 10 | } 11 | }, 12 | "pattern": [ 13 | "C C", 14 | "TTT", 15 | "TTT" 16 | ], 17 | "result": { 18 | "count": 6, 19 | "id": "tutorialmod:example_hanging_sign" 20 | } 21 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/recipe/example_helmet.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "equipment", 4 | "key": { 5 | "E": { 6 | "item": "tutorialmod:example_item" 7 | } 8 | }, 9 | "pattern": [ 10 | "EEE", 11 | "E E" 12 | ], 13 | "result": { 14 | "count": 1, 15 | "id": "tutorialmod:example_helmet" 16 | } 17 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/recipe/example_hoe.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "equipment", 4 | "key": { 5 | "E": { 6 | "item": "tutorialmod:example_item" 7 | }, 8 | "S": { 9 | "tag": "c:rods/wooden" 10 | } 11 | }, 12 | "pattern": [ 13 | "EE", 14 | " S", 15 | " S" 16 | ], 17 | "result": { 18 | "count": 1, 19 | "id": "tutorialmod:example_hoe" 20 | } 21 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/recipe/example_item.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "misc", 4 | "ingredients": [ 5 | { 6 | "item": "tutorialmod:example_block" 7 | } 8 | ], 9 | "result": { 10 | "count": 9, 11 | "id": "tutorialmod:example_item" 12 | } 13 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/recipe/example_item_from_blasting_example_deepslate_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:blasting", 3 | "category": "misc", 4 | "cookingtime": 100, 5 | "experience": 0.2, 6 | "group": "example", 7 | "ingredient": { 8 | "item": "tutorialmod:example_deepslate_ore" 9 | }, 10 | "result": { 11 | "id": "tutorialmod:example_item" 12 | } 13 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/recipe/example_item_from_blasting_example_end_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:blasting", 3 | "category": "misc", 4 | "cookingtime": 100, 5 | "experience": 0.2, 6 | "group": "example", 7 | "ingredient": { 8 | "item": "tutorialmod:example_end_ore" 9 | }, 10 | "result": { 11 | "id": "tutorialmod:example_item" 12 | } 13 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/recipe/example_item_from_blasting_example_nether_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:blasting", 3 | "category": "misc", 4 | "cookingtime": 100, 5 | "experience": 0.2, 6 | "group": "example", 7 | "ingredient": { 8 | "item": "tutorialmod:example_nether_ore" 9 | }, 10 | "result": { 11 | "id": "tutorialmod:example_item" 12 | } 13 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/recipe/example_item_from_blasting_example_overworld_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:blasting", 3 | "category": "misc", 4 | "cookingtime": 100, 5 | "experience": 0.2, 6 | "group": "example", 7 | "ingredient": { 8 | "item": "tutorialmod:example_overworld_ore" 9 | }, 10 | "result": { 11 | "id": "tutorialmod:example_item" 12 | } 13 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/recipe/example_item_from_smelting_example_deepslate_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:smelting", 3 | "category": "misc", 4 | "cookingtime": 200, 5 | "experience": 0.2, 6 | "group": "example", 7 | "ingredient": { 8 | "item": "tutorialmod:example_deepslate_ore" 9 | }, 10 | "result": { 11 | "id": "tutorialmod:example_item" 12 | } 13 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/recipe/example_item_from_smelting_example_end_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:smelting", 3 | "category": "misc", 4 | "cookingtime": 200, 5 | "experience": 0.2, 6 | "group": "example", 7 | "ingredient": { 8 | "item": "tutorialmod:example_end_ore" 9 | }, 10 | "result": { 11 | "id": "tutorialmod:example_item" 12 | } 13 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/recipe/example_item_from_smelting_example_nether_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:smelting", 3 | "category": "misc", 4 | "cookingtime": 200, 5 | "experience": 0.2, 6 | "group": "example", 7 | "ingredient": { 8 | "item": "tutorialmod:example_nether_ore" 9 | }, 10 | "result": { 11 | "id": "tutorialmod:example_item" 12 | } 13 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/recipe/example_item_from_smelting_example_overworld_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:smelting", 3 | "category": "misc", 4 | "cookingtime": 200, 5 | "experience": 0.2, 6 | "group": "example", 7 | "ingredient": { 8 | "item": "tutorialmod:example_overworld_ore" 9 | }, 10 | "result": { 11 | "id": "tutorialmod:example_item" 12 | } 13 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/recipe/example_leggings.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "equipment", 4 | "key": { 5 | "E": { 6 | "item": "tutorialmod:example_item" 7 | } 8 | }, 9 | "pattern": [ 10 | "EEE", 11 | "E E", 12 | "E E" 13 | ], 14 | "result": { 15 | "count": 1, 16 | "id": "tutorialmod:example_leggings" 17 | } 18 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/recipe/example_pickaxe.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "equipment", 4 | "key": { 5 | "E": { 6 | "item": "tutorialmod:example_item" 7 | }, 8 | "S": { 9 | "tag": "c:rods/wooden" 10 | } 11 | }, 12 | "pattern": [ 13 | "EEE", 14 | " S ", 15 | " S " 16 | ], 17 | "result": { 18 | "count": 1, 19 | "id": "tutorialmod:example_pickaxe" 20 | } 21 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/recipe/example_planks.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "building", 4 | "ingredients": [ 5 | { 6 | "tag": "tutorialmod:example_logs" 7 | } 8 | ], 9 | "result": { 10 | "count": 4, 11 | "id": "tutorialmod:example_planks" 12 | } 13 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/recipe/example_pressure_plate.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "redstone", 4 | "key": { 5 | "T": { 6 | "item": "tutorialmod:example_planks" 7 | } 8 | }, 9 | "pattern": [ 10 | "TT" 11 | ], 12 | "result": { 13 | "count": 1, 14 | "id": "tutorialmod:example_pressure_plate" 15 | } 16 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/recipe/example_shovel.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "equipment", 4 | "key": { 5 | "E": { 6 | "item": "tutorialmod:example_item" 7 | }, 8 | "S": { 9 | "tag": "c:rods/wooden" 10 | } 11 | }, 12 | "pattern": [ 13 | "E", 14 | "S", 15 | "S" 16 | ], 17 | "result": { 18 | "count": 1, 19 | "id": "tutorialmod:example_shovel" 20 | } 21 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/recipe/example_sign.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "misc", 4 | "key": { 5 | "S": { 6 | "tag": "c:rods/wooden" 7 | }, 8 | "T": { 9 | "item": "tutorialmod:example_planks" 10 | } 11 | }, 12 | "pattern": [ 13 | "TTT", 14 | "TTT", 15 | " S " 16 | ], 17 | "result": { 18 | "count": 3, 19 | "id": "tutorialmod:example_sign" 20 | } 21 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/recipe/example_slab.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "building", 4 | "key": { 5 | "T": { 6 | "item": "tutorialmod:example_planks" 7 | } 8 | }, 9 | "pattern": [ 10 | "TTT" 11 | ], 12 | "result": { 13 | "count": 6, 14 | "id": "tutorialmod:example_slab" 15 | } 16 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/recipe/example_stairs.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "building", 4 | "key": { 5 | "T": { 6 | "item": "tutorialmod:example_planks" 7 | } 8 | }, 9 | "pattern": [ 10 | "T ", 11 | "TT ", 12 | "TTT" 13 | ], 14 | "result": { 15 | "count": 4, 16 | "id": "tutorialmod:example_stairs" 17 | } 18 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/recipe/example_sword.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "equipment", 4 | "key": { 5 | "E": { 6 | "item": "tutorialmod:example_item" 7 | }, 8 | "S": { 9 | "tag": "c:rods/wooden" 10 | } 11 | }, 12 | "pattern": [ 13 | "E", 14 | "E", 15 | "S" 16 | ], 17 | "result": { 18 | "count": 1, 19 | "id": "tutorialmod:example_sword" 20 | } 21 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/recipe/example_ticking_be_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "building", 4 | "key": { 5 | "D": { 6 | "item": "minecraft:diamond_pickaxe" 7 | }, 8 | "E": { 9 | "item": "tutorialmod:example_item" 10 | } 11 | }, 12 | "pattern": [ 13 | "EEE", 14 | "EDE", 15 | "EEE" 16 | ], 17 | "result": { 18 | "count": 1, 19 | "id": "tutorialmod:example_ticking_be_block" 20 | } 21 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/recipe/example_trapdoor.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "building", 4 | "key": { 5 | "T": { 6 | "item": "tutorialmod:example_planks" 7 | } 8 | }, 9 | "pattern": [ 10 | "TT", 11 | "TT" 12 | ], 13 | "result": { 14 | "count": 2, 15 | "id": "tutorialmod:example_trapdoor" 16 | } 17 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/tags/block/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_block", 4 | "minecraft:blue_orchid" 5 | ] 6 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/tags/block/example_logs.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_log", 4 | "tutorialmod:stripped_example_log", 5 | "tutorialmod:example_wood", 6 | "tutorialmod:stripped_example_wood" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/tags/block/incorrect_for_example_tool.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [] 3 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/tags/item/example_logs.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "tutorialmod:example_log", 4 | "tutorialmod:stripped_example_log" 5 | ] 6 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/worldgen/configured_feature/end_example_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:ore", 3 | "config": { 4 | "discard_chance_on_air_exposure": 0.0, 5 | "size": 9, 6 | "targets": [ 7 | { 8 | "state": { 9 | "Name": "tutorialmod:example_end_ore" 10 | }, 11 | "target": { 12 | "block": "minecraft:end_stone", 13 | "predicate_type": "minecraft:block_match" 14 | } 15 | } 16 | ] 17 | } 18 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/worldgen/configured_feature/example_flower.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:simple_block", 3 | "config": { 4 | "to_place": { 5 | "type": "minecraft:simple_state_provider", 6 | "state": { 7 | "Name": "tutorialmod:example_flower" 8 | } 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/worldgen/configured_feature/example_flower_patch.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:flower", 3 | "config": { 4 | "feature": "tutorialmod:example_flower", 5 | "tries": 64, 6 | "xz_spread": 10, 7 | "y_spread": 4 8 | } 9 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/worldgen/configured_feature/example_tree.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:tree", 3 | "config": { 4 | "decorators": [], 5 | "dirt_provider": { 6 | "type": "minecraft:simple_state_provider", 7 | "state": { 8 | "Name": "minecraft:dirt" 9 | } 10 | }, 11 | "foliage_placer": { 12 | "type": "minecraft:blob_foliage_placer", 13 | "height": 2, 14 | "offset": 0, 15 | "radius": 2 16 | }, 17 | "foliage_provider": { 18 | "type": "minecraft:simple_state_provider", 19 | "state": { 20 | "Name": "tutorialmod:example_leaves", 21 | "Properties": { 22 | "distance": "7", 23 | "persistent": "false", 24 | "waterlogged": "false" 25 | } 26 | } 27 | }, 28 | "force_dirt": false, 29 | "ignore_vines": false, 30 | "minimum_size": { 31 | "type": "minecraft:two_layers_feature_size", 32 | "limit": 3, 33 | "lower_size": 0, 34 | "upper_size": 3 35 | }, 36 | "trunk_placer": { 37 | "type": "minecraft:straight_trunk_placer", 38 | "base_height": 4, 39 | "height_rand_a": 4, 40 | "height_rand_b": 6 41 | }, 42 | "trunk_provider": { 43 | "type": "minecraft:simple_state_provider", 44 | "state": { 45 | "Name": "tutorialmod:example_log", 46 | "Properties": { 47 | "axis": "y" 48 | } 49 | } 50 | } 51 | } 52 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/worldgen/configured_feature/nether_example_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:ore", 3 | "config": { 4 | "discard_chance_on_air_exposure": 0.0, 5 | "size": 9, 6 | "targets": [ 7 | { 8 | "state": { 9 | "Name": "tutorialmod:example_nether_ore" 10 | }, 11 | "target": { 12 | "predicate_type": "minecraft:tag_match", 13 | "tag": "minecraft:base_stone_nether" 14 | } 15 | } 16 | ] 17 | } 18 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/worldgen/configured_feature/overworld_example_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:ore", 3 | "config": { 4 | "discard_chance_on_air_exposure": 0.0, 5 | "size": 9, 6 | "targets": [ 7 | { 8 | "state": { 9 | "Name": "tutorialmod:example_overworld_ore" 10 | }, 11 | "target": { 12 | "predicate_type": "minecraft:tag_match", 13 | "tag": "minecraft:stone_ore_replaceables" 14 | } 15 | }, 16 | { 17 | "state": { 18 | "Name": "tutorialmod:example_deepslate_ore" 19 | }, 20 | "target": { 21 | "predicate_type": "minecraft:tag_match", 22 | "tag": "minecraft:deepslate_ore_replaceables" 23 | } 24 | } 25 | ] 26 | } 27 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/worldgen/placed_feature/end_example_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "feature": "tutorialmod:end_example_ore", 3 | "placement": [ 4 | { 5 | "type": "minecraft:count", 6 | "count": 9 7 | }, 8 | { 9 | "type": "minecraft:in_square" 10 | }, 11 | { 12 | "type": "minecraft:height_range", 13 | "height": { 14 | "type": "minecraft:uniform", 15 | "max_inclusive": { 16 | "absolute": 128 17 | }, 18 | "min_inclusive": { 19 | "absolute": 0 20 | } 21 | } 22 | }, 23 | { 24 | "type": "minecraft:biome" 25 | } 26 | ] 27 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/worldgen/placed_feature/example_flower.json: -------------------------------------------------------------------------------- 1 | { 2 | "feature": "tutorialmod:example_flower", 3 | "placement": [ 4 | { 5 | "type": "minecraft:block_predicate_filter", 6 | "predicate": { 7 | "type": "minecraft:matching_blocks", 8 | "blocks": "minecraft:air" 9 | } 10 | } 11 | ] 12 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/worldgen/placed_feature/example_flower_patch.json: -------------------------------------------------------------------------------- 1 | { 2 | "feature": "tutorialmod:example_flower_patch", 3 | "placement": [ 4 | { 5 | "type": "minecraft:rarity_filter", 6 | "chance": 64 7 | }, 8 | { 9 | "type": "minecraft:in_square" 10 | }, 11 | { 12 | "type": "minecraft:heightmap", 13 | "heightmap": "MOTION_BLOCKING" 14 | }, 15 | { 16 | "type": "minecraft:biome" 17 | } 18 | ] 19 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/worldgen/placed_feature/example_tree.json: -------------------------------------------------------------------------------- 1 | { 2 | "feature": "tutorialmod:example_tree", 3 | "placement": [ 4 | { 5 | "type": "minecraft:count", 6 | "count": { 7 | "type": "minecraft:weighted_list", 8 | "distribution": [ 9 | { 10 | "data": 1, 11 | "weight": 4 12 | }, 13 | { 14 | "data": 4, 15 | "weight": 1 16 | } 17 | ] 18 | } 19 | }, 20 | { 21 | "type": "minecraft:in_square" 22 | }, 23 | { 24 | "type": "minecraft:surface_water_depth_filter", 25 | "max_water_depth": 0 26 | }, 27 | { 28 | "type": "minecraft:heightmap", 29 | "heightmap": "OCEAN_FLOOR" 30 | }, 31 | { 32 | "type": "minecraft:biome" 33 | }, 34 | { 35 | "type": "minecraft:block_predicate_filter", 36 | "predicate": { 37 | "type": "minecraft:would_survive", 38 | "state": { 39 | "Name": "tutorialmod:example_sapling", 40 | "Properties": { 41 | "stage": "0" 42 | } 43 | } 44 | } 45 | } 46 | ] 47 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/worldgen/placed_feature/nether_example_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "feature": "tutorialmod:nether_example_ore", 3 | "placement": [ 4 | { 5 | "type": "minecraft:count", 6 | "count": 9 7 | }, 8 | { 9 | "type": "minecraft:in_square" 10 | }, 11 | { 12 | "type": "minecraft:height_range", 13 | "height": { 14 | "type": "minecraft:uniform", 15 | "max_inclusive": { 16 | "absolute": 128 17 | }, 18 | "min_inclusive": { 19 | "absolute": 0 20 | } 21 | } 22 | }, 23 | { 24 | "type": "minecraft:biome" 25 | } 26 | ] 27 | } -------------------------------------------------------------------------------- /src/main/generated/data/tutorialmod/worldgen/placed_feature/overworld_example_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "feature": "tutorialmod:overworld_example_ore", 3 | "placement": [ 4 | { 5 | "type": "minecraft:count", 6 | "count": 9 7 | }, 8 | { 9 | "type": "minecraft:in_square" 10 | }, 11 | { 12 | "type": "minecraft:height_range", 13 | "height": { 14 | "type": "minecraft:uniform", 15 | "max_inclusive": { 16 | "absolute": 64 17 | }, 18 | "min_inclusive": { 19 | "absolute": -24 20 | } 21 | } 22 | }, 23 | { 24 | "type": "minecraft:biome" 25 | } 26 | ] 27 | } -------------------------------------------------------------------------------- /src/main/java/dev/turtywurty/tutorialmod/TutorialModDataGenerator.java: -------------------------------------------------------------------------------- 1 | package dev.turtywurty.tutorialmod; 2 | 3 | import dev.turtywurty.tutorialmod.data.generator.TutorialModEnchantmentGenerator; 4 | import dev.turtywurty.tutorialmod.data.generator.TutorialModWorldGenerator; 5 | import dev.turtywurty.tutorialmod.data.provider.*; 6 | import dev.turtywurty.tutorialmod.init.worldgen.ConfiguredFeatureInit; 7 | import dev.turtywurty.tutorialmod.init.worldgen.PlacedFeatureInit; 8 | import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint; 9 | import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator; 10 | import net.minecraft.registry.RegistryBuilder; 11 | import net.minecraft.registry.RegistryKeys; 12 | 13 | public class TutorialModDataGenerator implements DataGeneratorEntrypoint { 14 | @Override 15 | public void onInitializeDataGenerator(FabricDataGenerator fabricDataGenerator) { 16 | FabricDataGenerator.Pack pack = fabricDataGenerator.createPack(); 17 | pack.addProvider(TutorialModModelProvider::new); 18 | pack.addProvider(TutorialModEnglishLanguageProvider::new); 19 | pack.addProvider(TutorialModBlockLootTableProvider::new); 20 | pack.addProvider(TutorialModBlockTagProvider::new); 21 | pack.addProvider(TutorialModItemTagProvider::new); 22 | pack.addProvider(TutorialModWorldGenerator::new); 23 | pack.addProvider(TutorialModRecipeProvider::new); 24 | pack.addProvider(TutorialModEnchantmentGenerator::new); 25 | } 26 | 27 | @Override 28 | public void buildRegistry(RegistryBuilder registryBuilder) { 29 | registryBuilder.addRegistry(RegistryKeys.CONFIGURED_FEATURE, ConfiguredFeatureInit::bootstrap); 30 | registryBuilder.addRegistry(RegistryKeys.PLACED_FEATURE, PlacedFeatureInit::bootstrap); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/dev/turtywurty/tutorialmod/block/ExampleBEBlock.java: -------------------------------------------------------------------------------- 1 | package dev.turtywurty.tutorialmod.block; 2 | 3 | import dev.turtywurty.tutorialmod.block.entity.ExampleBlockEntity; 4 | import dev.turtywurty.tutorialmod.init.BlockEntityTypeInit; 5 | import net.minecraft.block.Block; 6 | import net.minecraft.block.BlockEntityProvider; 7 | import net.minecraft.block.BlockState; 8 | import net.minecraft.block.entity.BlockEntity; 9 | import net.minecraft.entity.player.PlayerEntity; 10 | import net.minecraft.text.Text; 11 | import net.minecraft.util.ActionResult; 12 | import net.minecraft.util.hit.BlockHitResult; 13 | import net.minecraft.util.math.BlockPos; 14 | import net.minecraft.world.World; 15 | import org.jetbrains.annotations.Nullable; 16 | 17 | public class ExampleBEBlock extends Block implements BlockEntityProvider { 18 | public ExampleBEBlock(Settings settings) { 19 | super(settings); 20 | } 21 | 22 | @Override 23 | protected ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, BlockHitResult hit) { 24 | if(!world.isClient) { 25 | BlockEntity blockEntity = world.getBlockEntity(pos); 26 | if(blockEntity instanceof ExampleBlockEntity exampleBlockEntity && player != null) { 27 | if(!player.isSneaking()) { 28 | exampleBlockEntity.incrementCounter(); 29 | } 30 | 31 | player.sendMessage(Text.of(exampleBlockEntity.getCounter() + ""), true); 32 | } 33 | } 34 | 35 | return ActionResult.success(world.isClient); 36 | } 37 | 38 | @Nullable 39 | @Override 40 | public BlockEntity createBlockEntity(BlockPos pos, BlockState state) { 41 | return BlockEntityTypeInit.EXAMPLE_BLOCK_ENTITY.instantiate(pos, state); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/main/java/dev/turtywurty/tutorialmod/block/ExampleEnergyGeneratorBlock.java: -------------------------------------------------------------------------------- 1 | package dev.turtywurty.tutorialmod.block; 2 | 3 | import dev.turtywurty.tutorialmod.block.entity.ExampleEnergyGeneratorBlockEntity; 4 | import dev.turtywurty.tutorialmod.init.BlockEntityTypeInit; 5 | import dev.turtywurty.tutorialmod.util.TickableBlockEntity; 6 | import net.minecraft.block.Block; 7 | import net.minecraft.block.BlockEntityProvider; 8 | import net.minecraft.block.BlockState; 9 | import net.minecraft.block.entity.BlockEntity; 10 | import net.minecraft.block.entity.BlockEntityTicker; 11 | import net.minecraft.block.entity.BlockEntityType; 12 | import net.minecraft.entity.player.PlayerEntity; 13 | import net.minecraft.text.Text; 14 | import net.minecraft.util.ActionResult; 15 | import net.minecraft.util.hit.BlockHitResult; 16 | import net.minecraft.util.math.BlockPos; 17 | import net.minecraft.world.World; 18 | import org.jetbrains.annotations.Nullable; 19 | 20 | public class ExampleEnergyGeneratorBlock extends Block implements BlockEntityProvider { 21 | public ExampleEnergyGeneratorBlock(Settings settings) { 22 | super(settings); 23 | } 24 | 25 | @Override 26 | protected ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, BlockHitResult hit) { 27 | if(!world.isClient) { 28 | if(world.getBlockEntity(pos) instanceof ExampleEnergyGeneratorBlockEntity energyGenerator) { 29 | player.openHandledScreen(energyGenerator); 30 | } 31 | } 32 | 33 | return ActionResult.success(world.isClient); 34 | } 35 | 36 | @Nullable 37 | @Override 38 | public BlockEntity createBlockEntity(BlockPos pos, BlockState state) { 39 | return BlockEntityTypeInit.EXAMPLE_ENERGY_GENERATOR.instantiate(pos, state); 40 | } 41 | 42 | @Nullable 43 | @Override 44 | public BlockEntityTicker getTicker(World world, BlockState state, BlockEntityType type) { 45 | return TickableBlockEntity.getTicker(world); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/main/java/dev/turtywurty/tutorialmod/block/ExampleEnergyStorageBlock.java: -------------------------------------------------------------------------------- 1 | package dev.turtywurty.tutorialmod.block; 2 | 3 | import dev.turtywurty.tutorialmod.block.entity.ExampleEnergyStorageBlockEntity; 4 | import dev.turtywurty.tutorialmod.init.BlockEntityTypeInit; 5 | import net.minecraft.block.Block; 6 | import net.minecraft.block.BlockEntityProvider; 7 | import net.minecraft.block.BlockState; 8 | import net.minecraft.block.entity.BlockEntity; 9 | import net.minecraft.entity.player.PlayerEntity; 10 | import net.minecraft.text.Text; 11 | import net.minecraft.util.ActionResult; 12 | import net.minecraft.util.hit.BlockHitResult; 13 | import net.minecraft.util.math.BlockPos; 14 | import net.minecraft.world.World; 15 | import org.jetbrains.annotations.Nullable; 16 | 17 | public class ExampleEnergyStorageBlock extends Block implements BlockEntityProvider { 18 | public ExampleEnergyStorageBlock(Settings settings) { 19 | super(settings); 20 | } 21 | 22 | @Override 23 | protected ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, BlockHitResult hit) { 24 | if(!world.isClient) { 25 | if(world.getBlockEntity(pos) instanceof ExampleEnergyStorageBlockEntity energyStorage) { 26 | player.sendMessage(Text.literal("Energy: " + energyStorage.getEnergyStorage().getAmount()), true); 27 | } 28 | } 29 | 30 | return ActionResult.success(world.isClient); 31 | } 32 | 33 | @Nullable 34 | @Override 35 | public BlockEntity createBlockEntity(BlockPos pos, BlockState state) { 36 | return BlockEntityTypeInit.EXAMPLE_ENERGY_STORAGE.instantiate(pos, state); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/dev/turtywurty/tutorialmod/block/ExampleTickingBEBlock.java: -------------------------------------------------------------------------------- 1 | package dev.turtywurty.tutorialmod.block; 2 | 3 | import dev.turtywurty.tutorialmod.block.entity.ExampleTickingBlockEntity; 4 | import dev.turtywurty.tutorialmod.init.BlockEntityTypeInit; 5 | import dev.turtywurty.tutorialmod.util.TickableBlockEntity; 6 | import net.minecraft.block.Block; 7 | import net.minecraft.block.BlockEntityProvider; 8 | import net.minecraft.block.BlockState; 9 | import net.minecraft.block.entity.BlockEntity; 10 | import net.minecraft.block.entity.BlockEntityTicker; 11 | import net.minecraft.block.entity.BlockEntityType; 12 | import net.minecraft.entity.player.PlayerEntity; 13 | import net.minecraft.text.Text; 14 | import net.minecraft.util.ActionResult; 15 | import net.minecraft.util.hit.BlockHitResult; 16 | import net.minecraft.util.math.BlockPos; 17 | import net.minecraft.world.World; 18 | import org.jetbrains.annotations.Nullable; 19 | 20 | public class ExampleTickingBEBlock extends Block implements BlockEntityProvider { 21 | public ExampleTickingBEBlock(Settings settings) { 22 | super(settings); 23 | } 24 | 25 | @Nullable 26 | @Override 27 | public BlockEntity createBlockEntity(BlockPos pos, BlockState state) { 28 | return BlockEntityTypeInit.EXAMPLE_TICKING_BLOCK_ENTITY.instantiate(pos, state); 29 | } 30 | 31 | @Override 32 | protected ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, BlockHitResult hit) { 33 | if(!world.isClient) { 34 | if (world.getBlockEntity(pos) instanceof ExampleTickingBlockEntity blockEntity) { 35 | player.sendMessage(Text.of("Mining at: " + blockEntity.getMiningPos().toString()), true); 36 | } 37 | } 38 | 39 | return ActionResult.success(world.isClient); 40 | } 41 | 42 | @Nullable 43 | @Override 44 | public BlockEntityTicker getTicker(World world, BlockState state, BlockEntityType type) { 45 | return TickableBlockEntity.getTicker(world); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/main/java/dev/turtywurty/tutorialmod/block/entity/ExampleBlockEntity.java: -------------------------------------------------------------------------------- 1 | package dev.turtywurty.tutorialmod.block.entity; 2 | 3 | import dev.turtywurty.tutorialmod.TutorialMod; 4 | import dev.turtywurty.tutorialmod.init.BlockEntityTypeInit; 5 | import net.minecraft.block.BlockState; 6 | import net.minecraft.block.entity.BlockEntity; 7 | import net.minecraft.entity.EntityType; 8 | import net.minecraft.entity.SpawnReason; 9 | import net.minecraft.nbt.NbtCompound; 10 | import net.minecraft.nbt.NbtElement; 11 | import net.minecraft.registry.RegistryWrapper; 12 | import net.minecraft.server.world.ServerWorld; 13 | import net.minecraft.util.math.BlockPos; 14 | 15 | public class ExampleBlockEntity extends BlockEntity { 16 | private int counter; 17 | 18 | public ExampleBlockEntity(BlockPos pos, BlockState state) { 19 | super(BlockEntityTypeInit.EXAMPLE_BLOCK_ENTITY, pos, state); 20 | } 21 | 22 | public int getCounter() { 23 | return this.counter; 24 | } 25 | 26 | public void incrementCounter() { 27 | this.counter++; 28 | markDirty(); 29 | 30 | if(!(this.world instanceof ServerWorld sWorld)) 31 | return; 32 | 33 | if(this.counter % 10 == 0) { 34 | EntityType.PIG.spawn(sWorld, this.pos.up(), SpawnReason.TRIGGERED); 35 | } 36 | 37 | if(this.counter % 100 == 0) { 38 | EntityType.LIGHTNING_BOLT.spawn(sWorld, this.pos.up(), SpawnReason.TRIGGERED); 39 | } 40 | } 41 | 42 | @Override 43 | protected void writeNbt(NbtCompound nbt, RegistryWrapper.WrapperLookup registryLookup) { 44 | nbt.putInt("counter", this.counter); 45 | } 46 | 47 | @Override 48 | protected void readNbt(NbtCompound nbt, RegistryWrapper.WrapperLookup registryLookup) { 49 | this.counter = nbt.contains("counter", NbtElement.INT_TYPE) ? nbt.getInt("counter") : 0; 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /src/main/java/dev/turtywurty/tutorialmod/block/entity/ExampleEnergyStorageBlockEntity.java: -------------------------------------------------------------------------------- 1 | package dev.turtywurty.tutorialmod.block.entity; 2 | 3 | import dev.turtywurty.tutorialmod.init.BlockEntityTypeInit; 4 | import net.minecraft.block.BlockState; 5 | import net.minecraft.block.entity.BlockEntity; 6 | import net.minecraft.nbt.NbtCompound; 7 | import net.minecraft.nbt.NbtElement; 8 | import net.minecraft.registry.RegistryWrapper; 9 | import net.minecraft.util.math.BlockPos; 10 | import net.minecraft.util.math.Direction; 11 | import team.reborn.energy.api.base.SimpleEnergyStorage; 12 | 13 | public class ExampleEnergyStorageBlockEntity extends BlockEntity { 14 | private final SimpleEnergyStorage energyStorage = new SimpleEnergyStorage(1_000_000, 10_000, 10_000) { 15 | @Override 16 | protected void onFinalCommit() { 17 | super.onFinalCommit(); 18 | 19 | markDirty(); 20 | } 21 | }; 22 | 23 | public ExampleEnergyStorageBlockEntity(BlockPos pos, BlockState state) { 24 | super(BlockEntityTypeInit.EXAMPLE_ENERGY_STORAGE, pos, state); 25 | } 26 | 27 | @Override 28 | protected void readNbt(NbtCompound nbt, RegistryWrapper.WrapperLookup registryLookup) { 29 | super.readNbt(nbt, registryLookup); 30 | if (nbt.contains("Energy", NbtElement.LONG_TYPE)) { 31 | this.energyStorage.amount = nbt.getLong("Energy"); 32 | } 33 | } 34 | 35 | @Override 36 | protected void writeNbt(NbtCompound nbt, RegistryWrapper.WrapperLookup registryLookup) { 37 | super.writeNbt(nbt, registryLookup); 38 | nbt.putLong("Energy", this.energyStorage.amount); 39 | } 40 | 41 | public SimpleEnergyStorage getEnergyStorage() { 42 | return this.energyStorage; 43 | } 44 | 45 | public SimpleEnergyStorage getEnergyProvider(Direction direction) { 46 | return this.energyStorage; 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/dev/turtywurty/tutorialmod/data/generator/TutorialModWorldGenerator.java: -------------------------------------------------------------------------------- 1 | package dev.turtywurty.tutorialmod.data.generator; 2 | 3 | import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; 4 | import net.fabricmc.fabric.api.datagen.v1.provider.FabricDynamicRegistryProvider; 5 | import net.minecraft.registry.RegistryKeys; 6 | import net.minecraft.registry.RegistryWrapper; 7 | 8 | import java.util.concurrent.CompletableFuture; 9 | 10 | public class TutorialModWorldGenerator extends FabricDynamicRegistryProvider { 11 | public TutorialModWorldGenerator(FabricDataOutput output, CompletableFuture registriesFuture) { 12 | super(output, registriesFuture); 13 | } 14 | 15 | @Override 16 | protected void configure(RegistryWrapper.WrapperLookup registries, Entries entries) { 17 | entries.addAll(registries.getWrapperOrThrow(RegistryKeys.CONFIGURED_FEATURE)); 18 | entries.addAll(registries.getWrapperOrThrow(RegistryKeys.PLACED_FEATURE)); 19 | } 20 | 21 | @Override 22 | public String getName() { 23 | return "World Generator"; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/dev/turtywurty/tutorialmod/enchantments/effects/LightningEnchantmentEffect.java: -------------------------------------------------------------------------------- 1 | package dev.turtywurty.tutorialmod.enchantments.effects; 2 | 3 | import com.mojang.serialization.MapCodec; 4 | import com.mojang.serialization.codecs.RecordCodecBuilder; 5 | import net.minecraft.enchantment.EnchantmentEffectContext; 6 | import net.minecraft.enchantment.EnchantmentLevelBasedValue; 7 | import net.minecraft.enchantment.effect.EnchantmentEntityEffect; 8 | import net.minecraft.entity.Entity; 9 | import net.minecraft.entity.EntityType; 10 | import net.minecraft.entity.LivingEntity; 11 | import net.minecraft.entity.SpawnReason; 12 | import net.minecraft.server.world.ServerWorld; 13 | import net.minecraft.util.math.BlockPos; 14 | import net.minecraft.util.math.Vec3d; 15 | 16 | public record LightningEnchantmentEffect(EnchantmentLevelBasedValue amount) implements EnchantmentEntityEffect { 17 | public static final MapCodec CODEC = RecordCodecBuilder.mapCodec( 18 | instance -> instance.group( 19 | EnchantmentLevelBasedValue.CODEC.fieldOf("amount").forGetter(LightningEnchantmentEffect::amount) 20 | ).apply(instance, LightningEnchantmentEffect::new)); 21 | 22 | @Override 23 | public void apply(ServerWorld world, int level, EnchantmentEffectContext context, Entity target, Vec3d pos) { 24 | if(target instanceof LivingEntity living) { 25 | float numberOfStrikes = this.amount.getValue(level); 26 | 27 | BlockPos targetPosition = living.getBlockPos(); 28 | for (int i = 0; i < numberOfStrikes; i++) { 29 | EntityType.LIGHTNING_BOLT.spawn(world, targetPosition, SpawnReason.TRIGGERED); 30 | } 31 | } 32 | } 33 | 34 | @Override 35 | public MapCodec getCodec() { 36 | return CODEC; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/dev/turtywurty/tutorialmod/init/ArmorMaterialInit.java: -------------------------------------------------------------------------------- 1 | package dev.turtywurty.tutorialmod.init; 2 | 3 | import dev.turtywurty.tutorialmod.TutorialMod; 4 | import net.minecraft.item.ArmorItem; 5 | import net.minecraft.item.ArmorMaterial; 6 | import net.minecraft.recipe.Ingredient; 7 | import net.minecraft.registry.Registries; 8 | import net.minecraft.registry.Registry; 9 | import net.minecraft.registry.entry.RegistryEntry; 10 | import net.minecraft.sound.SoundEvent; 11 | import net.minecraft.sound.SoundEvents; 12 | 13 | import java.util.List; 14 | import java.util.Map; 15 | import java.util.function.Supplier; 16 | 17 | public class ArmorMaterialInit { 18 | public static final RegistryEntry EXAMPLE = register("example", Map.of( 19 | ArmorItem.Type.HELMET, 3, 20 | ArmorItem.Type.CHESTPLATE, 8, 21 | ArmorItem.Type.LEGGINGS, 6, 22 | ArmorItem.Type.BOOTS, 3 23 | ), 24 | 15, 25 | SoundEvents.ITEM_ARMOR_EQUIP_GOLD, 26 | () -> Ingredient.ofItems(ItemInit.EXAMPLE_ITEM), 27 | 0.5F, 28 | 0.1F, 29 | false); 30 | 31 | public static RegistryEntry register(String id, Map defensePoints, 32 | int enchantability, RegistryEntry equipSound, 33 | Supplier repairIngredient, float toughness, 34 | float knockbackResistance, boolean dyeable) { 35 | List layers = List.of( 36 | new ArmorMaterial.Layer(TutorialMod.id(id), "", dyeable) 37 | ); 38 | 39 | var material = new ArmorMaterial(defensePoints, enchantability, equipSound, repairIngredient, layers, 40 | toughness, knockbackResistance); 41 | material = Registry.register(Registries.ARMOR_MATERIAL, TutorialMod.id(id), material); 42 | 43 | return RegistryEntry.of(material); 44 | } 45 | 46 | public static void load() {} 47 | } 48 | -------------------------------------------------------------------------------- /src/main/java/dev/turtywurty/tutorialmod/init/BlockEntityTypeInit.java: -------------------------------------------------------------------------------- 1 | package dev.turtywurty.tutorialmod.init; 2 | 3 | import dev.turtywurty.tutorialmod.TutorialMod; 4 | import dev.turtywurty.tutorialmod.block.entity.*; 5 | import net.minecraft.block.entity.BlockEntity; 6 | import net.minecraft.block.entity.BlockEntityType; 7 | import net.minecraft.registry.Registries; 8 | import net.minecraft.registry.Registry; 9 | 10 | public class BlockEntityTypeInit { 11 | public static final BlockEntityType EXAMPLE_BLOCK_ENTITY = register("example_block_entity", 12 | BlockEntityType.Builder.create(ExampleBlockEntity::new, BlockInit.EXAMPLE_BE_BLOCK) 13 | .build()); 14 | 15 | public static final BlockEntityType EXAMPLE_TICKING_BLOCK_ENTITY = register("example_ticking_block_entity", 16 | BlockEntityType.Builder.create(ExampleTickingBlockEntity::new, BlockInit.EXAMPLE_TICKING_BE_BLOCK) 17 | .build()); 18 | 19 | public static final BlockEntityType EXAMPLE_ENERGY_GENERATOR = register("example_energy_generator", 20 | BlockEntityType.Builder.create(ExampleEnergyGeneratorBlockEntity::new, BlockInit.EXAMPLE_ENERGY_GENERATOR_BLOCK) 21 | .build()); 22 | 23 | public static final BlockEntityType EXAMPLE_ENERGY_STORAGE = register("example_energy_storage", 24 | BlockEntityType.Builder.create(ExampleEnergyStorageBlockEntity::new, BlockInit.EXAMPLE_ENERGY_STORAGE_BLOCK) 25 | .build()); 26 | 27 | public static final BlockEntityType EXAMPLE_INVENTORY_BLOCK_ENTITY = register("example_inventory_block_entity", 28 | BlockEntityType.Builder.create(ExampleInventoryBlockEntity::new, BlockInit.EXAMPLE_INVENTORY_BLOCK) 29 | .build()); 30 | 31 | public static final BlockEntityType EXAMPLE_FLUID_TANK = register("example_fluid_tank", 32 | BlockEntityType.Builder.create(ExampleFluidTankBlockEntity::new, BlockInit.EXAMPLE_FLUID_TANK) 33 | .build()); 34 | 35 | public static BlockEntityType register(String name, BlockEntityType type) { 36 | return Registry.register(Registries.BLOCK_ENTITY_TYPE, TutorialMod.id(name), type); 37 | } 38 | 39 | public static void load() {} 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/dev/turtywurty/tutorialmod/init/BoatInit.java: -------------------------------------------------------------------------------- 1 | package dev.turtywurty.tutorialmod.init; 2 | 3 | import com.terraformersmc.terraform.boat.api.TerraformBoatType; 4 | import com.terraformersmc.terraform.boat.api.TerraformBoatTypeRegistry; 5 | import dev.turtywurty.tutorialmod.TutorialMod; 6 | import net.minecraft.registry.Registry; 7 | import net.minecraft.registry.RegistryKey; 8 | import net.minecraft.util.Identifier; 9 | 10 | public class BoatInit { 11 | public static final Identifier EXAMPLE_BOAT_ID = TutorialMod.id("example_boat"); 12 | public static final Identifier EXAMPLE_CHEST_BOAT_ID = TutorialMod.id("example_chest_boat"); 13 | public static final RegistryKey EXAMPLE_BOAT_KEY = TerraformBoatTypeRegistry.createKey(EXAMPLE_BOAT_ID); 14 | 15 | public static TerraformBoatType EXAMPLE_TYPE; 16 | 17 | public static TerraformBoatType register(RegistryKey key, TerraformBoatType type) { 18 | return Registry.register(TerraformBoatTypeRegistry.INSTANCE, key, type); 19 | } 20 | 21 | public static void load() { 22 | EXAMPLE_TYPE = register(EXAMPLE_BOAT_KEY, new TerraformBoatType.Builder() 23 | .item(ItemInit.EXAMPLE_BOAT) 24 | .chestItem(ItemInit.EXAMPLE_CHEST_BOAT) 25 | .planks(BlockInit.EXAMPLE_PLANKS.asItem()) 26 | .build()); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/dev/turtywurty/tutorialmod/init/EnchantmentInit.java: -------------------------------------------------------------------------------- 1 | package dev.turtywurty.tutorialmod.init; 2 | 3 | import com.mojang.serialization.MapCodec; 4 | import dev.turtywurty.tutorialmod.TutorialMod; 5 | import dev.turtywurty.tutorialmod.enchantments.effects.LightningEnchantmentEffect; 6 | import net.minecraft.enchantment.Enchantment; 7 | import net.minecraft.enchantment.effect.EnchantmentEntityEffect; 8 | import net.minecraft.registry.Registries; 9 | import net.minecraft.registry.Registry; 10 | import net.minecraft.registry.RegistryKey; 11 | import net.minecraft.registry.RegistryKeys; 12 | 13 | public class EnchantmentInit { 14 | public static final RegistryKey THUNDERING_KEY = RegistryKey.of(RegistryKeys.ENCHANTMENT, TutorialMod.id("thundering")); 15 | 16 | public static final MapCodec LIGHTNING_EFFECT = register("lightning", LightningEnchantmentEffect.CODEC); 17 | 18 | private static MapCodec register(String name, MapCodec codec) { 19 | return Registry.register(Registries.ENCHANTMENT_ENTITY_EFFECT_TYPE, TutorialMod.id(name), codec); 20 | } 21 | 22 | public static void load() {} 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/dev/turtywurty/tutorialmod/init/ItemGroupInit.java: -------------------------------------------------------------------------------- 1 | package dev.turtywurty.tutorialmod.init; 2 | 3 | import dev.turtywurty.tutorialmod.TutorialMod; 4 | import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup; 5 | import net.minecraft.item.ItemGroup; 6 | import net.minecraft.registry.Registries; 7 | import net.minecraft.registry.Registry; 8 | import net.minecraft.text.Text; 9 | 10 | import java.util.Optional; 11 | 12 | public class ItemGroupInit { 13 | public static final Text EXAMPLE_TITLE = Text.translatable("itemGroup." + TutorialMod.MOD_ID + ".example_group"); 14 | 15 | public static final ItemGroup EXAMPLE_GROUP = register("example_group", FabricItemGroup.builder() 16 | .displayName(EXAMPLE_TITLE) 17 | .icon(ItemInit.EXAMPLE_ITEM::getDefaultStack) 18 | .entries((displayContext, entries) -> Registries.ITEM.getIds() 19 | .stream() 20 | .filter(key -> key.getNamespace().equals(TutorialMod.MOD_ID)) 21 | .map(Registries.ITEM::getOrEmpty) 22 | .map(Optional::orElseThrow) 23 | .filter(item -> !ItemInit.BLACKLIST.contains(item)) 24 | .forEach(entries::add)) 25 | .build()); 26 | 27 | public static T register(String name, T itemGroup) { 28 | return Registry.register(Registries.ITEM_GROUP, TutorialMod.id(name), itemGroup); 29 | } 30 | 31 | public static void load() {} 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/dev/turtywurty/tutorialmod/init/ScreenHandlerTypeInit.java: -------------------------------------------------------------------------------- 1 | package dev.turtywurty.tutorialmod.init; 2 | 3 | import dev.turtywurty.tutorialmod.TutorialMod; 4 | import dev.turtywurty.tutorialmod.network.BlockPosPayload; 5 | import dev.turtywurty.tutorialmod.screenhandler.ExampleEnergyGeneratorScreenHandler; 6 | import dev.turtywurty.tutorialmod.screenhandler.ExampleFluidTankScreenHandler; 7 | import dev.turtywurty.tutorialmod.screenhandler.ExampleInventoryScreenHandler; 8 | import net.fabricmc.fabric.api.screenhandler.v1.ExtendedScreenHandlerType; 9 | import net.minecraft.network.RegistryByteBuf; 10 | import net.minecraft.network.codec.PacketCodec; 11 | import net.minecraft.network.packet.CustomPayload; 12 | import net.minecraft.registry.Registries; 13 | import net.minecraft.registry.Registry; 14 | import net.minecraft.screen.ScreenHandler; 15 | import net.minecraft.screen.ScreenHandlerType; 16 | 17 | public class ScreenHandlerTypeInit { 18 | public static final ScreenHandlerType EXAMPLE_ENERGY_GENERATOR = 19 | register("example_energy_generator", ExampleEnergyGeneratorScreenHandler::new, BlockPosPayload.PACKET_CODEC); 20 | 21 | public static final ScreenHandlerType EXAMPLE_INVENTORY_SCREEN_HANDLER = 22 | register("example_inventory", ExampleInventoryScreenHandler::new, BlockPosPayload.PACKET_CODEC); 23 | 24 | public static final ExtendedScreenHandlerType EXAMPLE_FLUID_TANK = 25 | register("example_fluid_tank", ExampleFluidTankScreenHandler::new, BlockPosPayload.PACKET_CODEC); 26 | 27 | public static ExtendedScreenHandlerType register(String name, ExtendedScreenHandlerType.ExtendedFactory factory, PacketCodec codec) { 28 | return Registry.register(Registries.SCREEN_HANDLER, TutorialMod.id(name), new ExtendedScreenHandlerType<>(factory, codec)); 29 | } 30 | 31 | public static void load() {} 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/dev/turtywurty/tutorialmod/init/worldgen/BiomeModificationInit.java: -------------------------------------------------------------------------------- 1 | package dev.turtywurty.tutorialmod.init.worldgen; 2 | 3 | import net.fabricmc.fabric.api.biome.v1.BiomeModifications; 4 | import net.fabricmc.fabric.api.biome.v1.BiomeSelectors; 5 | import net.minecraft.registry.tag.BiomeTags; 6 | import net.minecraft.world.biome.BiomeKeys; 7 | import net.minecraft.world.gen.GenerationStep; 8 | 9 | public class BiomeModificationInit { 10 | public static void load() { 11 | BiomeModifications.addFeature( 12 | BiomeSelectors.foundInOverworld(), 13 | GenerationStep.Feature.UNDERGROUND_ORES, 14 | PlacedFeatureInit.OVERWORLD_EXAMPLE_ORE_KEY 15 | ); 16 | 17 | BiomeModifications.addFeature( 18 | BiomeSelectors.foundInTheNether(), 19 | GenerationStep.Feature.UNDERGROUND_ORES, 20 | PlacedFeatureInit.NETHER_EXAMPLE_ORE_KEY 21 | ); 22 | 23 | BiomeModifications.addFeature( 24 | BiomeSelectors.foundInTheEnd(), 25 | GenerationStep.Feature.UNDERGROUND_ORES, 26 | PlacedFeatureInit.END_EXAMPLE_ORE_KEY 27 | ); 28 | 29 | BiomeModifications.addFeature( 30 | BiomeSelectors.foundInOverworld(), 31 | GenerationStep.Feature.VEGETAL_DECORATION, 32 | PlacedFeatureInit.EXAMPLE_FLOWER_PATCH_KEY 33 | ); 34 | 35 | BiomeModifications.addFeature( 36 | BiomeSelectors.includeByKey(BiomeKeys.FOREST), 37 | GenerationStep.Feature.VEGETAL_DECORATION, 38 | PlacedFeatureInit.EXAMPLE_TREE_KEY 39 | ); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/main/java/dev/turtywurty/tutorialmod/list/BlockSetTypeList.java: -------------------------------------------------------------------------------- 1 | package dev.turtywurty.tutorialmod.list; 2 | 3 | import dev.turtywurty.tutorialmod.TutorialMod; 4 | import net.minecraft.block.BlockSetType; 5 | 6 | public class BlockSetTypeList { 7 | public static final BlockSetType EXAMPLE = new BlockSetType(TutorialMod.id("example").toString()); 8 | } 9 | -------------------------------------------------------------------------------- /src/main/java/dev/turtywurty/tutorialmod/list/FoodList.java: -------------------------------------------------------------------------------- 1 | package dev.turtywurty.tutorialmod.list; 2 | 3 | import net.minecraft.component.type.FoodComponent; 4 | import net.minecraft.entity.effect.StatusEffectInstance; 5 | import net.minecraft.entity.effect.StatusEffects; 6 | 7 | public class FoodList { 8 | public static final FoodComponent EXAMPLE_FOOD_COMPONENT = new FoodComponent.Builder() 9 | .nutrition(4) 10 | .saturationModifier(0.3F) 11 | .alwaysEdible() 12 | .statusEffect(new StatusEffectInstance(StatusEffects.ABSORPTION, 20 * 30, 1), 0.75F) 13 | .build(); 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/dev/turtywurty/tutorialmod/list/TagList.java: -------------------------------------------------------------------------------- 1 | package dev.turtywurty.tutorialmod.list; 2 | 3 | import dev.turtywurty.tutorialmod.TutorialMod; 4 | import net.minecraft.block.Block; 5 | import net.minecraft.item.Item; 6 | import net.minecraft.registry.RegistryKeys; 7 | import net.minecraft.registry.tag.TagKey; 8 | 9 | public class TagList { 10 | public static class Blocks { 11 | public static final TagKey EXAMPLE_TAG = TagKey.of(RegistryKeys.BLOCK, TutorialMod.id("example")); 12 | 13 | public static final TagKey INCORRECT_FOR_EXAMPLE_TOOL = 14 | TagKey.of(RegistryKeys.BLOCK, TutorialMod.id("incorrect_for_example_tool")); 15 | 16 | public static final TagKey EXAMPLE_LOGS = TagKey.of(RegistryKeys.BLOCK, TutorialMod.id("example_logs")); 17 | } 18 | 19 | public static class Items { 20 | public static final TagKey EXAMPLE_LOGS = TagKey.of(RegistryKeys.ITEM, TutorialMod.id("example_logs")); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/dev/turtywurty/tutorialmod/list/WoodTypeList.java: -------------------------------------------------------------------------------- 1 | package dev.turtywurty.tutorialmod.list; 2 | 3 | import dev.turtywurty.tutorialmod.TutorialMod; 4 | import net.minecraft.block.WoodType; 5 | import net.minecraft.sound.BlockSoundGroup; 6 | import net.minecraft.sound.SoundEvents; 7 | 8 | public class WoodTypeList { 9 | public static final WoodType EXAMPLE = new WoodType( 10 | TutorialMod.id("example").toString(), 11 | BlockSetTypeList.EXAMPLE, 12 | BlockSoundGroup.WOOD, 13 | BlockSoundGroup.HANGING_SIGN, 14 | SoundEvents.BLOCK_FENCE_GATE_CLOSE, 15 | SoundEvents.BLOCK_FENCE_GATE_OPEN 16 | ); 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/dev/turtywurty/tutorialmod/list/enums/TutorialModToolMaterials.java: -------------------------------------------------------------------------------- 1 | package dev.turtywurty.tutorialmod.list.enums; 2 | 3 | import dev.turtywurty.tutorialmod.init.ItemInit; 4 | import dev.turtywurty.tutorialmod.list.TagList; 5 | import net.minecraft.block.Block; 6 | import net.minecraft.item.ToolMaterial; 7 | import net.minecraft.recipe.Ingredient; 8 | import net.minecraft.registry.tag.TagKey; 9 | 10 | public enum TutorialModToolMaterials implements ToolMaterial { 11 | EXAMPLE( 12 | 3430, 13 | 12.0f, 14 | 5.0f, 15 | TagList.Blocks.INCORRECT_FOR_EXAMPLE_TOOL, 16 | 15, 17 | Ingredient.ofItems(ItemInit.EXAMPLE_ITEM) 18 | ); 19 | 20 | private final int durability; 21 | private final float miningSpeedMultiplier, attackDamage; 22 | private final TagKey inverseTag; 23 | private final int enchantability; 24 | private final Ingredient repairIngredient; 25 | 26 | TutorialModToolMaterials(int durability, float miningSpeedMultiplier, float attackDamage, TagKey inverseTag, int enchantability, Ingredient repairIngredient) { 27 | this.durability = durability; 28 | this.miningSpeedMultiplier = miningSpeedMultiplier; 29 | this.attackDamage = attackDamage; 30 | this.inverseTag = inverseTag; 31 | this.enchantability = enchantability; 32 | this.repairIngredient = repairIngredient; 33 | } 34 | 35 | @Override 36 | public int getDurability() { 37 | return this.durability; 38 | } 39 | 40 | @Override 41 | public float getMiningSpeedMultiplier() { 42 | return this.miningSpeedMultiplier; 43 | } 44 | 45 | @Override 46 | public float getAttackDamage() { 47 | return this.attackDamage; 48 | } 49 | 50 | @Override 51 | public TagKey getInverseTag() { 52 | return this.inverseTag; 53 | } 54 | 55 | @Override 56 | public int getEnchantability() { 57 | return this.enchantability; 58 | } 59 | 60 | @Override 61 | public Ingredient getRepairIngredient() { 62 | return this.repairIngredient; 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /src/main/java/dev/turtywurty/tutorialmod/mixin/ExampleMixin.java: -------------------------------------------------------------------------------- 1 | package dev.turtywurty.tutorialmod.mixin; 2 | 3 | import net.minecraft.server.MinecraftServer; 4 | import org.spongepowered.asm.mixin.Mixin; 5 | import org.spongepowered.asm.mixin.injection.At; 6 | import org.spongepowered.asm.mixin.injection.Inject; 7 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 8 | 9 | @Mixin(MinecraftServer.class) 10 | public class ExampleMixin { 11 | @Inject(at = @At("HEAD"), method = "loadWorld") 12 | private void init(CallbackInfo info) { 13 | // This code is injected into the start of MinecraftServer.loadWorld()V 14 | } 15 | } -------------------------------------------------------------------------------- /src/main/java/dev/turtywurty/tutorialmod/network/BlockPosPayload.java: -------------------------------------------------------------------------------- 1 | package dev.turtywurty.tutorialmod.network; 2 | 3 | import dev.turtywurty.tutorialmod.TutorialMod; 4 | import net.minecraft.network.RegistryByteBuf; 5 | import net.minecraft.network.codec.PacketCodec; 6 | import net.minecraft.network.packet.CustomPayload; 7 | import net.minecraft.util.math.BlockPos; 8 | 9 | public record BlockPosPayload(BlockPos pos) implements CustomPayload { 10 | public static final Id ID = new Id<>(TutorialMod.id("block_pos")); 11 | public static final PacketCodec PACKET_CODEC = 12 | PacketCodec.tuple(BlockPos.PACKET_CODEC, BlockPosPayload::pos, BlockPosPayload::new); 13 | 14 | @Override 15 | public Id getId() { 16 | return ID; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/dev/turtywurty/tutorialmod/util/TickableBlockEntity.java: -------------------------------------------------------------------------------- 1 | package dev.turtywurty.tutorialmod.util; 2 | 3 | import net.minecraft.block.entity.BlockEntity; 4 | import net.minecraft.block.entity.BlockEntityTicker; 5 | import net.minecraft.world.World; 6 | 7 | public interface TickableBlockEntity { 8 | void tick(); 9 | 10 | static BlockEntityTicker getTicker(World pWorld) { 11 | return pWorld.isClient ? null : (world, pos, state, blockEntity) -> { 12 | if (blockEntity instanceof TickableBlockEntity tickableBlockEntity) { 13 | tickableBlockEntity.tick(); 14 | } 15 | }; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/icon.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/block/example_be_block.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/block/example_be_block.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/block/example_block.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/block/example_block.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/block/example_deepslate_ore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/block/example_deepslate_ore.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/block/example_door_bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/block/example_door_bottom.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/block/example_door_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/block/example_door_top.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/block/example_end_ore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/block/example_end_ore.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/block/example_energy_generator_block.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/block/example_energy_generator_block.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/block/example_energy_storage_block.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/block/example_energy_storage_block.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/block/example_flower.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/block/example_flower.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/block/example_fluid_tank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/block/example_fluid_tank.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/block/example_leaves.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/block/example_leaves.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/block/example_log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/block/example_log.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/block/example_log_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/block/example_log_top.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/block/example_nether_ore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/block/example_nether_ore.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/block/example_overworld_ore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/block/example_overworld_ore.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/block/example_planks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/block/example_planks.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/block/example_sapling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/block/example_sapling.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/block/example_ticking_be_block.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/block/example_ticking_be_block.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/block/example_trapdoor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/block/example_trapdoor.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/block/stripped_example_log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/block/stripped_example_log.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/block/stripped_example_log_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/block/stripped_example_log_top.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/entity/boat/example_boat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/entity/boat/example_boat.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/entity/chest_boat/example_boat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/entity/chest_boat/example_boat.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/entity/example_chest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/entity/example_chest.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/entity/signs/example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/entity/signs/example.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/entity/signs/hanging/example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/entity/signs/hanging/example.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/gui/container/example_energy_generator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/gui/container/example_energy_generator.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/gui/container/example_fluid_tank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/gui/container/example_fluid_tank.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/gui/container/example_inventory_block.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/gui/container/example_inventory_block.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/gui/hanging_signs/example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/gui/hanging_signs/example.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/item/example_axe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/item/example_axe.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/item/example_boat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/item/example_boat.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/item/example_boots.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/item/example_boots.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/item/example_chest_boat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/item/example_chest_boat.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/item/example_chestplate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/item/example_chestplate.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/item/example_door.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/item/example_door.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/item/example_food.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/item/example_food.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/item/example_hanging_sign.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/item/example_hanging_sign.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/item/example_helmet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/item/example_helmet.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/item/example_hoe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/item/example_hoe.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/item/example_item.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/item/example_item.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/item/example_leggings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/item/example_leggings.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/item/example_pickaxe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/item/example_pickaxe.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/item/example_shovel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/item/example_shovel.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/item/example_sign.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/item/example_sign.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/item/example_sword.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/item/example_sword.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/models/armor/example_layer_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/models/armor/example_layer_1.png -------------------------------------------------------------------------------- /src/main/resources/assets/tutorialmod/textures/models/armor/example_layer_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaRealTurtyWurty/1.21-Tutorial-Mod/4e3fdaff0ef0a0b19c9d24889be080323da28101/src/main/resources/assets/tutorialmod/textures/models/armor/example_layer_2.png -------------------------------------------------------------------------------- /src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "tutorialmod", 4 | "version": "${version}", 5 | "name": "Tutorial Mod", 6 | "description": "This is an example description! Tell everyone what your mod is about!", 7 | "authors": [ 8 | "Me!" 9 | ], 10 | "contact": { 11 | "homepage": "https://fabricmc.net/", 12 | "sources": "https://github.com/FabricMC/fabric-example-mod" 13 | }, 14 | "license": "CC0-1.0", 15 | "icon": "assets/tutorialmod/icon.png", 16 | "environment": "*", 17 | "entrypoints": { 18 | "main": [ 19 | "dev.turtywurty.tutorialmod.TutorialMod" 20 | ], 21 | "client": [ 22 | "dev.turtywurty.tutorialmod.TutorialModClient" 23 | ], 24 | "fabric-datagen": [ 25 | "dev.turtywurty.tutorialmod.TutorialModDataGenerator" 26 | ] 27 | }, 28 | "mixins": [ 29 | "tutorialmod.mixins.json", 30 | { 31 | "config": "tutorialmod.client.mixins.json", 32 | "environment": "client" 33 | } 34 | ], 35 | "depends": { 36 | "fabricloader": ">=0.15.11", 37 | "minecraft": "~1.21", 38 | "java": ">=21", 39 | "fabric-api": "*" 40 | } 41 | } -------------------------------------------------------------------------------- /src/main/resources/tutorialmod.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "package": "dev.turtywurty.tutorialmod.mixin", 4 | "compatibilityLevel": "JAVA_21", 5 | "mixins": [ 6 | "ExampleMixin" 7 | ], 8 | "injectors": { 9 | "defaultRequire": 1 10 | } 11 | } --------------------------------------------------------------------------------