diff --git a/aris_random_additions.mcreator b/aris_random_additions.mcreator
index e70bf9d..fba1361 100644
--- a/aris_random_additions.mcreator
+++ b/aris_random_additions.mcreator
@@ -787,7 +787,7 @@
"src/main/resources/data/aris_random_additions/recipes/netherrite_template_recipe.json"
]
},
- "path": "~/Other"
+ "path": "~/QualityOfLifeRecipes"
},
{
"name": "OreMiner",
@@ -831,7 +831,7 @@
"src/main/resources/data/aris_random_additions/recipes/netherrite_template_recipe_2.json"
]
},
- "path": "~/Other"
+ "path": "~/QualityOfLifeRecipes"
},
{
"name": "Ghoul",
@@ -1271,7 +1271,7 @@
"src/main/resources/data/aris_random_additions/recipes/skull_recipe.json"
]
},
- "path": "~/Other"
+ "path": "~/QualityOfLifeRecipes"
},
{
"name": "WitherSkeletonSkullRecipe",
@@ -1284,7 +1284,7 @@
"src/main/resources/data/aris_random_additions/recipes/wither_skeleton_skull_recipe.json"
]
},
- "path": "~/Other"
+ "path": "~/QualityOfLifeRecipes"
},
{
"name": "RabbitHideRecipe",
@@ -1297,7 +1297,7 @@
"src/main/resources/data/aris_random_additions/recipes/rabbit_hide_recipe.json"
]
},
- "path": "~/Other"
+ "path": "~/QualityOfLifeRecipes"
},
{
"name": "RabbitFootRecipe",
@@ -1310,7 +1310,7 @@
"src/main/resources/data/aris_random_additions/recipes/rabbit_foot_recipe.json"
]
},
- "path": "~/Other"
+ "path": "~/QualityOfLifeRecipes"
},
{
"name": "DragonBreathRecipe",
@@ -1323,7 +1323,7 @@
"src/main/java/net/mcreator/arisrandomadditions/recipes/brewing/DragonBreathRecipeBrewingRecipe.java"
]
},
- "path": "~/Other"
+ "path": "~/QualityOfLifeRecipes"
},
{
"name": "GunpowderRecipe",
@@ -1336,7 +1336,7 @@
"src/main/resources/data/aris_random_additions/recipes/gunpowder_recipe.json"
]
},
- "path": "~/Other"
+ "path": "~/QualityOfLifeRecipes"
},
{
"name": "MobSpawnerRecipe",
@@ -1349,7 +1349,7 @@
"src/main/resources/data/aris_random_additions/recipes/mob_spawner_recipe.json"
]
},
- "path": "~/Other"
+ "path": "~/QualityOfLifeRecipes"
},
{
"name": "ExperienceBottleRecipe",
@@ -1362,7 +1362,7 @@
"src/main/java/net/mcreator/arisrandomadditions/recipes/brewing/ExperienceBottleRecipeBrewingRecipe.java"
]
},
- "path": "~/Other"
+ "path": "~/QualityOfLifeRecipes"
},
{
"name": "RedstoneBricks",
@@ -1680,7 +1680,7 @@
"src/main/resources/assets/aris_random_additions/models/item/bean.json"
]
},
- "path": "~/Other"
+ "path": "~/Magma"
},
{
"name": "Cheese",
@@ -1694,7 +1694,7 @@
"src/main/resources/assets/aris_random_additions/models/item/cheese.json"
]
},
- "path": "~/Other"
+ "path": "~/Magma"
},
{
"name": "MagmaBlockLootTable",
@@ -1707,7 +1707,7 @@
"src/main/resources/data/minecraft/loot_tables/blocks/magma_block.json"
]
},
- "path": "~/Magma"
+ "path": "~/LootTables"
},
{
"name": "MagmaBricksRecipe4",
@@ -1840,7 +1840,7 @@
"src/main/resources/data/aris_random_additions/recipes/totem_of_undying_recipe.json"
]
},
- "path": "~/Other"
+ "path": "~/QualityOfLifeRecipes"
},
{
"name": "Bedrockifier",
@@ -3490,7 +3490,7 @@
"src/main/java/net/mcreator/arisrandomadditions/item/NightVisionGogglesItem.java"
]
},
- "path": "~/Other"
+ "path": "~/NightVisionGoggles"
},
{
"name": "NightVisionGogglesHelmetTickEvent",
@@ -3513,7 +3513,7 @@
}
]
},
- "path": "~/Other"
+ "path": "~/NightVisionGoggles"
},
{
"name": "NightVisionGogglesShaderUpdate",
@@ -3536,7 +3536,7 @@
}
]
},
- "path": "~/Other"
+ "path": "~/NightVisionGoggles"
},
{
"name": "BlackIronIngot",
@@ -3550,7 +3550,7 @@
"src/main/java/net/mcreator/arisrandomadditions/item/BlackIronIngotItem.java"
]
},
- "path": "~/Other"
+ "path": "~/BlackIron"
},
{
"name": "NightVisionGogglesRecipe",
@@ -3563,7 +3563,7 @@
"src/main/resources/data/aris_random_additions/recipes/night_vision_goggles_recipe.json"
]
},
- "path": "~/Other"
+ "path": "~/NightVisionGoggles"
},
{
"name": "BlackIronIngotRecipe",
@@ -3576,7 +3576,7 @@
"src/main/resources/data/aris_random_additions/recipes/black_iron_ingot_recipe.json"
]
},
- "path": "~/Other"
+ "path": "~/BlackIron"
},
{
"name": "RaveBlock",
@@ -4859,7 +4859,7 @@
"src/main/resources/data/aris_random_additions/loot_tables/entities/ari.json"
]
},
- "path": "~/Ari"
+ "path": "~/LootTables"
},
{
"name": "NotchAppleRecipe",
@@ -5411,7 +5411,7 @@
"src/main/resources/data/minecraft/loot_tables/blocks/oak_leaves.json"
]
},
- "path": "~/Orange"
+ "path": "~/LootTables"
},
{
"name": "DarkOakTreeLeavesLootTable",
@@ -5424,7 +5424,7 @@
"src/main/resources/data/minecraft/loot_tables/blocks/dark_oak_leaves.json"
]
},
- "path": "~/Orange"
+ "path": "~/LootTables"
},
{
"name": "MintPlant",
@@ -5542,7 +5542,7 @@
"src/main/resources/assets/aris_random_additions/models/item/socket.json"
]
},
- "path": "~/Other"
+ "path": "~/BlackIron"
},
{
"name": "EndPortalFrameRecipe",
@@ -5555,7 +5555,7 @@
"src/main/resources/data/aris_random_additions/recipes/end_portal_frame_recipe.json"
]
},
- "path": "~/Other"
+ "path": "~/QualityOfLifeRecipes"
},
{
"name": "SodaMachine",
@@ -5800,7 +5800,7 @@
"src/main/resources/data/aris_random_additions/loot_tables/advancements/welcome_advancement.json"
]
},
- "path": "~/Advancements"
+ "path": "~/LootTables"
},
{
"name": "BedrockEaterAdvancement",
@@ -5840,6 +5840,1375 @@
]
},
"path": "~/Advancements"
+ },
+ {
+ "name": "BlackIronBlock",
+ "type": "block",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "black_iron_block",
+ "metadata": {
+ "files": [
+ "src/main/resources/assets/aris_random_additions/models/item/black_iron_block.json",
+ "src/main/resources/data/aris_random_additions/loot_tables/blocks/black_iron_block.json",
+ "src/main/java/net/mcreator/arisrandomadditions/block/BlackIronBlockBlock.java",
+ "src/main/resources/assets/aris_random_additions/models/block/black_iron_block.json",
+ "src/main/resources/assets/aris_random_additions/blockstates/black_iron_block.json"
+ ]
+ },
+ "path": "~/BlackIron"
+ },
+ {
+ "name": "BlackIronBlockRecipe",
+ "type": "recipe",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "black_iron_block_recipe",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/recipes/black_iron_block_recipe.json"
+ ]
+ },
+ "path": "~/BlackIron"
+ },
+ {
+ "name": "NetherPowerGenerator",
+ "type": "block",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "nether_power_generator",
+ "metadata": {
+ "files": [
+ "src/main/java/net/mcreator/arisrandomadditions/block/NetherPowerGeneratorBlock.java",
+ "src/main/java/net/mcreator/arisrandomadditions/block/entity/NetherPowerGeneratorBlockEntity.java",
+ "src/main/resources/assets/aris_random_additions/models/block/nether_power_generator.json",
+ "src/main/resources/assets/aris_random_additions/blockstates/nether_power_generator.json",
+ "src/main/resources/data/aris_random_additions/loot_tables/blocks/nether_power_generator.json",
+ "src/main/resources/assets/aris_random_additions/models/item/nether_power_generator.json"
+ ]
+ },
+ "path": "~/NetherPowerGenerator"
+ },
+ {
+ "name": "NetherPowerGeneratorGUI",
+ "type": "gui",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "nether_power_generator_gui",
+ "metadata": {
+ "files": [
+ "src/main/java/net/mcreator/arisrandomadditions/client/gui/NetherPowerGeneratorGUIScreen.java",
+ "src/main/java/net/mcreator/arisrandomadditions/network/NetherPowerGeneratorGUIButtonMessage.java",
+ "src/main/java/net/mcreator/arisrandomadditions/world/inventory/NetherPowerGeneratorGUIMenu.java"
+ ]
+ },
+ "path": "~/NetherPowerGenerator"
+ },
+ {
+ "name": "NetherPowerGeneratorRefillLogic",
+ "type": "procedure",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "nether_power_generator_refill_logic",
+ "metadata": {
+ "files": [
+ "src/main/java/net/mcreator/arisrandomadditions/procedures/NetherPowerGeneratorRefillLogicProcedure.java"
+ ],
+ "dependencies": [
+ {
+ "name": "x",
+ "type": "number"
+ },
+ {
+ "name": "y",
+ "type": "number"
+ },
+ {
+ "name": "z",
+ "type": "number"
+ },
+ {
+ "name": "world",
+ "type": "world"
+ }
+ ]
+ },
+ "path": "~/NetherPowerGenerator"
+ },
+ {
+ "name": "NetherPowerGeneratorFluidTankTextUpdate",
+ "type": "procedure",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "nether_power_generator_fluid_tank_text_update",
+ "metadata": {
+ "return_type": "string",
+ "files": [
+ "src/main/java/net/mcreator/arisrandomadditions/procedures/NetherPowerGeneratorFluidTankTextUpdateProcedure.java"
+ ],
+ "dependencies": [
+ {
+ "name": "x",
+ "type": "number"
+ },
+ {
+ "name": "y",
+ "type": "number"
+ },
+ {
+ "name": "z",
+ "type": "number"
+ },
+ {
+ "name": "world",
+ "type": "world"
+ }
+ ]
+ },
+ "path": "~/NetherPowerGenerator"
+ },
+ {
+ "name": "NetherPowerGeneratorDrainLogic",
+ "type": "procedure",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "nether_power_generator_drain_logic",
+ "metadata": {
+ "files": [
+ "src/main/java/net/mcreator/arisrandomadditions/procedures/NetherPowerGeneratorDrainLogicProcedure.java"
+ ],
+ "dependencies": [
+ {
+ "name": "x",
+ "type": "number"
+ },
+ {
+ "name": "y",
+ "type": "number"
+ },
+ {
+ "name": "z",
+ "type": "number"
+ },
+ {
+ "name": "world",
+ "type": "world"
+ }
+ ]
+ },
+ "path": "~/NetherPowerGenerator"
+ },
+ {
+ "name": "NetherPowerGeneratorFilledBlockStates",
+ "type": "blockstates",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "nether_power_generator_filled_block_states",
+ "metadata": {
+ "files": [
+ "src/main/resources/assets/aris_random_additions/models/block/nether_power_generator_filled_block_states_blockstate_2.json",
+ "src/main/resources/assets/aris_random_additions/models/block/nether_power_generator_filled_block_states_blockstate_0.json",
+ "src/main/resources/assets/aris_random_additions/models/block/nether_power_generator_filled_block_states_blockstate_1.json"
+ ]
+ },
+ "path": "~/NetherPowerGenerator"
+ },
+ {
+ "name": "NetherPowerGeneratorRecipe",
+ "type": "recipe",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "nether_power_generator_recipe",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/recipes/nether_power_generator_recipe.json"
+ ]
+ },
+ "path": "~/NetherPowerGenerator"
+ },
+ {
+ "name": "StarAssemblyTable",
+ "type": "block",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "star_assembly_table",
+ "metadata": {
+ "files": [
+ "src/main/resources/assets/aris_random_additions/models/block/star_assembly_table.json",
+ "src/main/java/net/mcreator/arisrandomadditions/block/StarAssemblyTableBlock.java",
+ "src/main/resources/assets/aris_random_additions/models/item/star_assembly_table.json",
+ "src/main/resources/data/aris_random_additions/loot_tables/blocks/star_assembly_table.json",
+ "src/main/resources/assets/aris_random_additions/blockstates/star_assembly_table.json",
+ "src/main/java/net/mcreator/arisrandomadditions/block/entity/StarAssemblyTableBlockEntity.java"
+ ]
+ },
+ "path": "~/StarAssemblyTable"
+ },
+ {
+ "name": "StarAssemblyTableRecipe",
+ "type": "recipe",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "star_assembly_table_recipe",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/recipes/star_assembly_table_recipe.json"
+ ]
+ },
+ "path": "~/StarAssemblyTable"
+ },
+ {
+ "name": "LeftPieceOfNetherStar",
+ "type": "item",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "left_piece_of_nether_star",
+ "metadata": {
+ "files": [
+ "src/main/resources/assets/aris_random_additions/models/item/left_piece_of_nether_star.json",
+ "src/main/java/net/mcreator/arisrandomadditions/item/LeftPieceOfNetherStarItem.java"
+ ]
+ },
+ "path": "~/StarAssemblyTable"
+ },
+ {
+ "name": "TopPieceOfNetherStar",
+ "type": "item",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "top_piece_of_nether_star",
+ "metadata": {
+ "files": [
+ "src/main/resources/assets/aris_random_additions/models/item/top_piece_of_nether_star.json",
+ "src/main/java/net/mcreator/arisrandomadditions/item/TopPieceOfNetherStarItem.java"
+ ]
+ },
+ "path": "~/StarAssemblyTable"
+ },
+ {
+ "name": "RightPieceOfNetherStar",
+ "type": "item",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "right_piece_of_nether_star",
+ "metadata": {
+ "files": [
+ "src/main/java/net/mcreator/arisrandomadditions/item/RightPieceOfNetherStarItem.java",
+ "src/main/resources/assets/aris_random_additions/models/item/right_piece_of_nether_star.json"
+ ]
+ },
+ "path": "~/StarAssemblyTable"
+ },
+ {
+ "name": "BottomPieceOfNetherStar",
+ "type": "item",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "bottom_piece_of_nether_star",
+ "metadata": {
+ "files": [
+ "src/main/resources/assets/aris_random_additions/models/item/bottom_piece_of_nether_star.json",
+ "src/main/java/net/mcreator/arisrandomadditions/item/BottomPieceOfNetherStarItem.java"
+ ]
+ },
+ "path": "~/StarAssemblyTable"
+ },
+ {
+ "name": "StarAssemblyTableGUI",
+ "type": "gui",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "star_assembly_table_gui",
+ "metadata": {
+ "files": [
+ "src/main/java/net/mcreator/arisrandomadditions/network/StarAssemblyTableGUIButtonMessage.java",
+ "src/main/java/net/mcreator/arisrandomadditions/world/inventory/StarAssemblyTableGUIMenu.java",
+ "src/main/java/net/mcreator/arisrandomadditions/client/gui/StarAssemblyTableGUIScreen.java"
+ ]
+ },
+ "path": "~/StarAssemblyTable"
+ },
+ {
+ "name": "StarAssemblyTableAssembleLogic",
+ "type": "procedure",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "star_assembly_table_assemble_logic",
+ "metadata": {
+ "files": [
+ "src/main/java/net/mcreator/arisrandomadditions/procedures/StarAssemblyTableAssembleLogicProcedure.java"
+ ],
+ "dependencies": [
+ {
+ "name": "entity",
+ "type": "entity"
+ },
+ {
+ "name": "x",
+ "type": "number"
+ },
+ {
+ "name": "y",
+ "type": "number"
+ },
+ {
+ "name": "z",
+ "type": "number"
+ },
+ {
+ "name": "world",
+ "type": "world"
+ }
+ ]
+ },
+ "path": "~/StarAssemblyTable"
+ },
+ {
+ "name": "WitherSkeletonLootTable",
+ "type": "loottable",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "wither_skeleton_loot_table",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/minecraft/loot_tables/entities/wither_skeleton.json"
+ ]
+ },
+ "path": "~/LootTables"
+ },
+ {
+ "name": "AnaheimWood",
+ "type": "block",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "anaheim_wood",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/loot_tables/blocks/anaheim_wood.json",
+ "src/main/resources/assets/aris_random_additions/models/item/anaheim_wood.json",
+ "src/main/resources/assets/aris_random_additions/models/block/anaheim_wood.json",
+ "src/main/java/net/mcreator/arisrandomadditions/block/AnaheimWoodBlock.java",
+ "src/main/resources/assets/aris_random_additions/blockstates/anaheim_wood.json"
+ ]
+ },
+ "path": "~/Anaheim"
+ },
+ {
+ "name": "AnaheimLog",
+ "type": "block",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "anaheim_log",
+ "metadata": {
+ "files": [
+ "src/main/resources/assets/aris_random_additions/models/item/anaheim_log.json",
+ "src/main/resources/assets/aris_random_additions/blockstates/anaheim_log.json",
+ "src/main/resources/assets/aris_random_additions/models/block/anaheim_log.json",
+ "src/main/resources/data/aris_random_additions/loot_tables/blocks/anaheim_log.json",
+ "src/main/java/net/mcreator/arisrandomadditions/block/AnaheimLogBlock.java"
+ ]
+ },
+ "path": "~/Anaheim"
+ },
+ {
+ "name": "AnaheimPlanks",
+ "type": "block",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "anaheim_planks",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/loot_tables/blocks/anaheim_planks.json",
+ "src/main/resources/assets/aris_random_additions/models/item/anaheim_planks.json",
+ "src/main/java/net/mcreator/arisrandomadditions/block/AnaheimPlanksBlock.java",
+ "src/main/resources/assets/aris_random_additions/blockstates/anaheim_planks.json",
+ "src/main/resources/assets/aris_random_additions/models/block/anaheim_planks.json"
+ ]
+ },
+ "path": "~/Anaheim"
+ },
+ {
+ "name": "AnaheimLeaves",
+ "type": "block",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "anaheim_leaves",
+ "metadata": {
+ "files": [
+ "src/main/java/net/mcreator/arisrandomadditions/block/AnaheimLeavesBlock.java",
+ "src/main/resources/assets/aris_random_additions/blockstates/anaheim_leaves.json",
+ "src/main/resources/assets/aris_random_additions/models/block/anaheim_leaves.json",
+ "src/main/resources/assets/aris_random_additions/models/item/anaheim_leaves.json"
+ ]
+ },
+ "path": "~/Anaheim"
+ },
+ {
+ "name": "AnaheimStairs",
+ "type": "block",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "anaheim_stairs",
+ "metadata": {
+ "files": [
+ "src/main/resources/assets/aris_random_additions/models/block/anaheim_stairs_outer.json",
+ "src/main/resources/assets/aris_random_additions/models/block/anaheim_stairs.json",
+ "src/main/resources/assets/aris_random_additions/models/block/anaheim_stairs_inner.json",
+ "src/main/resources/data/aris_random_additions/loot_tables/blocks/anaheim_stairs.json",
+ "src/main/java/net/mcreator/arisrandomadditions/block/AnaheimStairsBlock.java",
+ "src/main/resources/assets/aris_random_additions/blockstates/anaheim_stairs.json",
+ "src/main/resources/assets/aris_random_additions/models/item/anaheim_stairs.json"
+ ]
+ },
+ "path": "~/Anaheim"
+ },
+ {
+ "name": "AnaheimSlab",
+ "type": "block",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "anaheim_slab",
+ "metadata": {
+ "files": [
+ "src/main/resources/assets/aris_random_additions/models/block/anaheim_slab_top.json",
+ "src/main/resources/data/aris_random_additions/loot_tables/blocks/anaheim_slab.json",
+ "src/main/resources/assets/aris_random_additions/models/item/anaheim_slab.json",
+ "src/main/resources/assets/aris_random_additions/models/block/anaheim_slab.json",
+ "src/main/resources/assets/aris_random_additions/blockstates/anaheim_slab.json",
+ "src/main/java/net/mcreator/arisrandomadditions/block/AnaheimSlabBlock.java",
+ "src/main/resources/assets/aris_random_additions/models/block/anaheim_slab_full.json"
+ ]
+ },
+ "path": "~/Anaheim"
+ },
+ {
+ "name": "AnaheimFence",
+ "type": "block",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "anaheim_fence",
+ "metadata": {
+ "files": [
+ "src/main/resources/assets/aris_random_additions/models/block/anaheim_fence_inventory.json",
+ "src/main/resources/assets/aris_random_additions/models/block/anaheim_fence.json",
+ "src/main/resources/assets/aris_random_additions/blockstates/anaheim_fence.json",
+ "src/main/resources/assets/aris_random_additions/models/item/anaheim_fence.json",
+ "src/main/resources/data/aris_random_additions/loot_tables/blocks/anaheim_fence.json",
+ "src/main/resources/assets/aris_random_additions/models/block/anaheim_fence_post.json",
+ "src/main/java/net/mcreator/arisrandomadditions/block/AnaheimFenceBlock.java"
+ ]
+ },
+ "path": "~/Anaheim"
+ },
+ {
+ "name": "AnaheimFenceGate",
+ "type": "block",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "anaheim_fence_gate",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/loot_tables/blocks/anaheim_fence_gate.json",
+ "src/main/resources/assets/aris_random_additions/models/item/anaheim_fence_gate.json",
+ "src/main/resources/assets/aris_random_additions/models/block/anaheim_fence_gate.json",
+ "src/main/resources/assets/aris_random_additions/blockstates/anaheim_fence_gate.json",
+ "src/main/resources/assets/aris_random_additions/models/block/anaheim_fence_gate_wall.json",
+ "src/main/resources/assets/aris_random_additions/models/block/anaheim_fence_gate_wall_open.json",
+ "src/main/java/net/mcreator/arisrandomadditions/block/AnaheimFenceGateBlock.java",
+ "src/main/resources/assets/aris_random_additions/models/block/anaheim_fence_gate_open.json"
+ ]
+ },
+ "path": "~/Anaheim"
+ },
+ {
+ "name": "AnaheimPressurePlate",
+ "type": "block",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "anaheim_pressure_plate",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/loot_tables/blocks/anaheim_pressure_plate.json",
+ "src/main/resources/assets/aris_random_additions/models/block/anaheim_pressure_plate.json",
+ "src/main/resources/assets/aris_random_additions/models/block/anaheim_pressure_plate_down.json",
+ "src/main/java/net/mcreator/arisrandomadditions/block/AnaheimPressurePlateBlock.java",
+ "src/main/resources/assets/aris_random_additions/models/item/anaheim_pressure_plate.json",
+ "src/main/resources/assets/aris_random_additions/blockstates/anaheim_pressure_plate.json"
+ ]
+ },
+ "path": "~/Anaheim"
+ },
+ {
+ "name": "AnaheimButton",
+ "type": "block",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "anaheim_button",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/loot_tables/blocks/anaheim_button.json",
+ "src/main/resources/assets/aris_random_additions/models/block/anaheim_button_inventory.json",
+ "src/main/resources/assets/aris_random_additions/models/block/anaheim_button_pressed.json",
+ "src/main/resources/assets/aris_random_additions/blockstates/anaheim_button.json",
+ "src/main/resources/assets/aris_random_additions/models/item/anaheim_button.json",
+ "src/main/java/net/mcreator/arisrandomadditions/block/AnaheimButtonBlock.java",
+ "src/main/resources/assets/aris_random_additions/models/block/anaheim_button.json"
+ ]
+ },
+ "path": "~/Anaheim"
+ },
+ {
+ "name": "AnaheimWoodRecipe",
+ "type": "recipe",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "anaheim_wood_recipe",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/recipes/anaheim_wood_recipe.json"
+ ]
+ },
+ "path": "~/Anaheim"
+ },
+ {
+ "name": "AnaheimPlanksLogRecipe",
+ "type": "recipe",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "anaheim_planks_log_recipe",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/recipes/anaheim_planks_log_recipe.json"
+ ]
+ },
+ "path": "~/Anaheim"
+ },
+ {
+ "name": "AnaheimPlanksWoodRecipe",
+ "type": "recipe",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "anaheim_planks_wood_recipe",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/recipes/anaheim_planks_wood_recipe.json"
+ ]
+ },
+ "path": "~/Anaheim"
+ },
+ {
+ "name": "AnaheimStairsRecipe",
+ "type": "recipe",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "anaheim_stairs_recipe",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/recipes/anaheim_stairs_recipe.json"
+ ]
+ },
+ "path": "~/Anaheim"
+ },
+ {
+ "name": "AnaheimSlabRecipe",
+ "type": "recipe",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "anaheim_slab_recipe",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/recipes/anaheim_slab_recipe.json"
+ ]
+ },
+ "path": "~/Anaheim"
+ },
+ {
+ "name": "AnaheimFenceRecipe",
+ "type": "recipe",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "anaheim_fence_recipe",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/recipes/anaheim_fence_recipe.json"
+ ]
+ },
+ "path": "~/Anaheim"
+ },
+ {
+ "name": "AnaheimFenceGateRecipe",
+ "type": "recipe",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "anaheim_fence_gate_recipe",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/recipes/anaheim_fence_gate_recipe.json"
+ ]
+ },
+ "path": "~/Anaheim"
+ },
+ {
+ "name": "AnaheimPressurePlateRecipe",
+ "type": "recipe",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "anaheim_pressure_plate_recipe",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/recipes/anaheim_pressure_plate_recipe.json"
+ ]
+ },
+ "path": "~/Anaheim"
+ },
+ {
+ "name": "AnaheimButtonRecipe",
+ "type": "recipe",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "anaheim_button_recipe",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/recipes/anaheim_button_recipe.json"
+ ]
+ },
+ "path": "~/Anaheim"
+ },
+ {
+ "name": "AnaheimStickRecipe",
+ "type": "recipe",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "anaheim_stick_recipe",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/recipes/anaheim_stick_recipe.json"
+ ]
+ },
+ "path": "~/Anaheim"
+ },
+ {
+ "name": "AnaheimTreeFeature",
+ "type": "feature",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "anaheim_tree_feature",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/worldgen/configured_feature/anaheim_tree_feature.json",
+ "src/main/resources/data/aris_random_additions/forge/biome_modifier/anaheim_tree_feature_biome_modifier.json",
+ "src/main/resources/data/aris_random_additions/worldgen/placed_feature/anaheim_tree_feature.json"
+ ]
+ },
+ "path": "~/Anaheim"
+ },
+ {
+ "name": "AnaheimTreeLeavesLootTable",
+ "type": "loottable",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "anaheim_tree_leaves_loot_table",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/loot_tables/blocks/anaheim_leaves.json"
+ ]
+ },
+ "path": "~/LootTables"
+ },
+ {
+ "name": "NetherPowerGeneratorOnTickUpdate",
+ "type": "procedure",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "nether_power_generator_on_tick_update",
+ "metadata": {
+ "files": [
+ "src/main/java/net/mcreator/arisrandomadditions/procedures/NetherPowerGeneratorOnTickUpdateProcedure.java"
+ ],
+ "dependencies": [
+ {
+ "name": "x",
+ "type": "number"
+ },
+ {
+ "name": "y",
+ "type": "number"
+ },
+ {
+ "name": "z",
+ "type": "number"
+ },
+ {
+ "name": "world",
+ "type": "world"
+ }
+ ]
+ },
+ "path": "~/NetherPowerGenerator"
+ },
+ {
+ "name": "StarAssemblyTableAdvancement",
+ "type": "achievement",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "star_assembly_table_advancement",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/advancements/star_assembly_table_advancement.json"
+ ]
+ },
+ "path": "~/Advancements"
+ },
+ {
+ "name": "NetherPowerGeneratorAdvancement",
+ "type": "achievement",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "nether_power_generator_advancement",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/advancements/nether_power_generator_advancement.json"
+ ]
+ },
+ "path": "~/Advancements"
+ },
+ {
+ "name": "BlackIronUpgradeSmithingTemplate",
+ "type": "item",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "black_iron_upgrade_smithing_template",
+ "metadata": {
+ "files": [
+ "src/main/resources/assets/aris_random_additions/models/item/black_iron_upgrade_smithing_template.json",
+ "src/main/java/net/mcreator/arisrandomadditions/item/BlackIronUpgradeSmithingTemplateItem.java"
+ ]
+ },
+ "path": "~/BlackIron"
+ },
+ {
+ "name": "BlackIronUpgradeSmithingTemplateRecipe",
+ "type": "recipe",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "black_iron_upgrade_smithing_template_recipe",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/recipes/black_iron_upgrade_smithing_template_recipe.json"
+ ]
+ },
+ "path": "~/BlackIron"
+ },
+ {
+ "name": "LeatherRecipe",
+ "type": "recipe",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "leather_recipe",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/recipes/leather_recipe.json"
+ ]
+ },
+ "path": "~/QualityOfLifeRecipes"
+ },
+ {
+ "name": "LeatherRecipe2",
+ "type": "recipe",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "leather_recipe_2",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/recipes/leather_recipe_2.json"
+ ]
+ },
+ "path": "~/QualityOfLifeRecipes"
+ },
+ {
+ "name": "RabbitHideRecipe2",
+ "type": "recipe",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "rabbit_hide_recipe_2",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/recipes/rabbit_hide_recipe_2.json"
+ ]
+ },
+ "path": "~/QualityOfLifeRecipes"
+ },
+ {
+ "name": "BoneRecipe",
+ "type": "recipe",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "bone_recipe",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/recipes/bone_recipe.json"
+ ]
+ },
+ "path": "~/QualityOfLifeRecipes"
+ },
+ {
+ "name": "CharcoalRecipe",
+ "type": "recipe",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "charcoal_recipe",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/recipes/charcoal_recipe.json"
+ ]
+ },
+ "path": "~/QualityOfLifeRecipes"
+ },
+ {
+ "name": "BlazeRodRecipe",
+ "type": "recipe",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "blaze_rod_recipe",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/recipes/blaze_rod_recipe.json"
+ ]
+ },
+ "path": "~/QualityOfLifeRecipes"
+ },
+ {
+ "name": "BoneRecipe2",
+ "type": "recipe",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "bone_recipe_2",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/recipes/bone_recipe_2.json"
+ ]
+ },
+ "path": "~/QualityOfLifeRecipes"
+ },
+ {
+ "name": "TridentRecipe",
+ "type": "recipe",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "trident_recipe",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/recipes/trident_recipe.json"
+ ]
+ },
+ "path": "~/QualityOfLifeRecipes"
+ },
+ {
+ "name": "SaddleRecipe",
+ "type": "recipe",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "saddle_recipe",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/recipes/saddle_recipe.json"
+ ]
+ },
+ "path": "~/QualityOfLifeRecipes"
+ },
+ {
+ "name": "DragonEggRecipe",
+ "type": "recipe",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "dragon_egg_recipe",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/recipes/dragon_egg_recipe.json"
+ ]
+ },
+ "path": "~/QualityOfLifeRecipes"
+ },
+ {
+ "name": "TotemOfUndyingRecipe2",
+ "type": "recipe",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "totem_of_undying_recipe_2",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/recipes/totem_of_undying_recipe_2.json"
+ ]
+ },
+ "path": "~/QualityOfLifeRecipes"
+ },
+ {
+ "name": "DripstoneRecipe",
+ "type": "recipe",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "dripstone_recipe",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/recipes/dripstone_recipe.json"
+ ]
+ },
+ "path": "~/QualityOfLifeRecipes"
+ },
+ {
+ "name": "SocketRecipe",
+ "type": "recipe",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "socket_recipe",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/recipes/socket_recipe.json"
+ ]
+ },
+ "path": "~/BlackIron"
+ },
+ {
+ "name": "MagmaCreamRecipe",
+ "type": "recipe",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "magma_cream_recipe",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/recipes/magma_cream_recipe.json"
+ ]
+ },
+ "path": "~/QualityOfLifeRecipes"
+ },
+ {
+ "name": "BlazeApple",
+ "type": "item",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "blaze_apple",
+ "metadata": {
+ "files": [
+ "src/main/resources/assets/aris_random_additions/models/item/blaze_apple.json",
+ "src/main/java/net/mcreator/arisrandomadditions/item/BlazeAppleItem.java"
+ ]
+ },
+ "path": "~/Apples"
+ },
+ {
+ "name": "BlazeApplePlayerFinishesUsingItem",
+ "type": "procedure",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "blaze_apple_player_finishes_using_item",
+ "metadata": {
+ "files": [
+ "src/main/java/net/mcreator/arisrandomadditions/procedures/BlazeApplePlayerFinishesUsingItemProcedure.java"
+ ],
+ "dependencies": [
+ {
+ "name": "entity",
+ "type": "entity"
+ },
+ {
+ "name": "world",
+ "type": "world"
+ }
+ ]
+ },
+ "path": "~/Apples"
+ },
+ {
+ "name": "BlazeAppleRecipe",
+ "type": "recipe",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "blaze_apple_recipe",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/recipes/blaze_apple_recipe.json"
+ ]
+ },
+ "path": "~/Apples"
+ },
+ {
+ "name": "TurtleApple",
+ "type": "item",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "turtle_apple",
+ "metadata": {
+ "files": [
+ "src/main/java/net/mcreator/arisrandomadditions/item/TurtleAppleItem.java",
+ "src/main/resources/assets/aris_random_additions/models/item/turtle_apple.json"
+ ]
+ },
+ "path": "~/Apples"
+ },
+ {
+ "name": "TurtleApplePlayerFinishesUsingItem",
+ "type": "procedure",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "turtle_apple_player_finishes_using_item",
+ "metadata": {
+ "files": [
+ "src/main/java/net/mcreator/arisrandomadditions/procedures/TurtleApplePlayerFinishesUsingItemProcedure.java"
+ ],
+ "dependencies": [
+ {
+ "name": "entity",
+ "type": "entity"
+ },
+ {
+ "name": "world",
+ "type": "world"
+ }
+ ]
+ },
+ "path": "~/Apples"
+ },
+ {
+ "name": "TurtleAppleRecipe",
+ "type": "recipe",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "turtle_apple_recipe",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/recipes/turtle_apple_recipe.json"
+ ]
+ },
+ "path": "~/Apples"
+ },
+ {
+ "name": "PlayerUpdate",
+ "type": "procedure",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "player_update",
+ "metadata": {
+ "files": [
+ "src/main/java/net/mcreator/arisrandomadditions/procedures/PlayerUpdateProcedure.java"
+ ],
+ "dependencies": [
+ {
+ "name": "entity",
+ "type": "entity"
+ },
+ {
+ "name": "world",
+ "type": "world"
+ }
+ ]
+ },
+ "path": "~/Other"
+ },
+ {
+ "name": "BlackIronApple",
+ "type": "item",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "black_iron_apple",
+ "metadata": {
+ "files": [
+ "src/main/java/net/mcreator/arisrandomadditions/item/BlackIronAppleItem.java",
+ "src/main/resources/assets/aris_random_additions/models/item/black_iron_apple.json"
+ ]
+ },
+ "path": "~/BlackIron"
+ },
+ {
+ "name": "BlackIronApplePlayerFinishesUsingItem",
+ "type": "procedure",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "black_iron_apple_player_finishes_using_item",
+ "metadata": {
+ "files": [
+ "src/main/java/net/mcreator/arisrandomadditions/procedures/BlackIronApplePlayerFinishesUsingItemProcedure.java"
+ ],
+ "dependencies": [
+ {
+ "name": "entity",
+ "type": "entity"
+ },
+ {
+ "name": "world",
+ "type": "world"
+ }
+ ]
+ },
+ "path": "~/BlackIron"
+ },
+ {
+ "name": "BlackIronAppleRecipe",
+ "type": "recipe",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "black_iron_apple_recipe",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/recipes/black_iron_apple_recipe.json"
+ ]
+ },
+ "path": "~/BlackIron"
+ },
+ {
+ "name": "BlackIronAppleAdvancement",
+ "type": "achievement",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "black_iron_apple_advancement",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/advancements/black_iron_apple_advancement.json"
+ ]
+ },
+ "path": "~/Advancements"
+ },
+ {
+ "name": "BlackIronAdvancement",
+ "type": "achievement",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "black_iron_advancement",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/advancements/black_iron_advancement.json"
+ ]
+ },
+ "path": "~/Advancements"
+ },
+ {
+ "name": "BlazeAppleAdvancement",
+ "type": "achievement",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "blaze_apple_advancement",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/advancements/blaze_apple_advancement.json"
+ ]
+ },
+ "path": "~/Advancements"
+ },
+ {
+ "name": "TurtleAppleAdvancement",
+ "type": "achievement",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "turtle_apple_advancement",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/advancements/turtle_apple_advancement.json"
+ ]
+ },
+ "path": "~/Advancements"
+ },
+ {
+ "name": "CondensedCondensedNetherrackAdvancement",
+ "type": "achievement",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "condensed_condensed_netherrack_advancement",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/advancements/condensed_condensed_netherrack_advancement.json"
+ ]
+ },
+ "path": "~/Advancements"
+ },
+ {
+ "name": "CondensedCondensedCondensedNetherrackAdvancement",
+ "type": "achievement",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "condensed_condensed_condensed_netherrack_advancement",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/advancements/condensed_condensed_condensed_netherrack_advancement.json"
+ ]
+ },
+ "path": "~/Advancements"
+ },
+ {
+ "name": "QuadraCondensedNetherrackAdvancement",
+ "type": "achievement",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "quadra_condensed_netherrack_advancement",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/advancements/quadra_condensed_netherrack_advancement.json"
+ ]
+ },
+ "path": "~/Advancements"
+ },
+ {
+ "name": "PentaCondensedNetherrackAdvancement",
+ "type": "achievement",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "penta_condensed_netherrack_advancement",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/advancements/penta_condensed_netherrack_advancement.json"
+ ]
+ },
+ "path": "~/Advancements"
+ },
+ {
+ "name": "HexaCondensedNetherrackAdvancement",
+ "type": "achievement",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "hexa_condensed_netherrack_advancement",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/advancements/hexa_condensed_netherrack_advancement.json"
+ ]
+ },
+ "path": "~/Advancements"
+ },
+ {
+ "name": "TasteTheRainbowWaterCan",
+ "type": "item",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "taste_the_rainbow_water_can",
+ "metadata": {
+ "files": [
+ "src/main/resources/assets/aris_random_additions/models/item/taste_the_rainbow_water_can.json",
+ "src/main/java/net/mcreator/arisrandomadditions/item/TasteTheRainbowWaterCanItem.java"
+ ]
+ },
+ "path": "~/Cans"
+ },
+ {
+ "name": "TasteTheRainbowWaterCanPlayerFinishesUsingItem",
+ "type": "procedure",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "taste_the_rainbow_water_can_player_finishes_using_item",
+ "metadata": {
+ "files": [
+ "src/main/java/net/mcreator/arisrandomadditions/procedures/TasteTheRainbowWaterCanPlayerFinishesUsingItemProcedure.java"
+ ],
+ "dependencies": [
+ {
+ "name": "entity",
+ "type": "entity"
+ },
+ {
+ "name": "world",
+ "type": "world"
+ }
+ ]
+ },
+ "path": "~/Cans"
+ },
+ {
+ "name": "NetheriteApple",
+ "type": "item",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "netherite_apple",
+ "metadata": {
+ "files": [
+ "src/main/resources/assets/aris_random_additions/models/item/netherite_apple.json",
+ "src/main/java/net/mcreator/arisrandomadditions/item/NetheriteAppleItem.java"
+ ]
+ },
+ "path": "~/Apples"
+ },
+ {
+ "name": "NetheriteApplePlayerFinishesUsingItem",
+ "type": "procedure",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "netherite_apple_player_finishes_using_item",
+ "metadata": {
+ "files": [
+ "src/main/java/net/mcreator/arisrandomadditions/procedures/NetheriteApplePlayerFinishesUsingItemProcedure.java"
+ ],
+ "dependencies": [
+ {
+ "name": "entity",
+ "type": "entity"
+ },
+ {
+ "name": "world",
+ "type": "world"
+ }
+ ]
+ },
+ "path": "~/Apples"
+ },
+ {
+ "name": "NetheriteAppleRecipe",
+ "type": "recipe",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "netherite_apple_recipe",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/recipes/netherite_apple_recipe.json"
+ ]
+ },
+ "path": "~/Apples"
+ },
+ {
+ "name": "AnaheimCraftingTableRecipe",
+ "type": "recipe",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "anaheim_crafting_table_recipe",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/recipes/anaheim_crafting_table_recipe.json"
+ ]
+ },
+ "path": "~/Anaheim"
+ },
+ {
+ "name": "NetheriteAppleAdvancement",
+ "type": "achievement",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "netherite_apple_advancement",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/advancements/netherite_apple_advancement.json"
+ ]
+ },
+ "path": "~/Advancements"
+ },
+ {
+ "name": "TasteTheRainbowAdvancement",
+ "type": "achievement",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "taste_the_rainbow_advancement",
+ "metadata": {
+ "files": [
+ "src/main/resources/data/aris_random_additions/advancements/taste_the_rainbow_advancement.json"
+ ]
+ },
+ "path": "~/Advancements"
+ },
+ {
+ "name": "TasteTheRainbowWaterCanRecipe",
+ "type": "recipe",
+ "compiles": true,
+ "locked_code": false,
+ "registry_name": "taste_the_rainbow_water_can_recipe",
+ "metadata": {
+ "files": [
+ "src/main/java/net/mcreator/arisrandomadditions/recipes/brewing/TasteTheRainbowWaterCanRecipeBrewingRecipe.java"
+ ]
+ },
+ "path": "~/Cans"
}
],
"variable_elements": [],
@@ -5869,11 +7238,30 @@
"~CUSTOM:EnditeHoe",
"~CUSTOM:OrichalcumHoe"
],
+ "BLOCKS:minecraft:logs": [
+ "CUSTOM:AnaheimLog"
+ ],
"ITEMS:mod:ore_miner_acceptable_inputs": [
"CUSTOM:BedrockPickaxe",
"Items.DIAMOND_PICKAXE"
],
+ "BLOCKS:minecraft:leaves": [
+ "~CUSTOM:AnaheimLeaves"
+ ],
+ "ITEMS:mod:stars": [
+ "Items.NETHER_STAR",
+ "CUSTOM:VoidStar",
+ "CUSTOM:PowerStar",
+ "CUSTOM:Star"
+ ],
+ "BLOCKS:minecraft:slabs": [
+ "~CUSTOM:AnaheimSlab",
+ "~CUSTOM:MagmaBrickSlabs",
+ "~CUSTOM:RedstoneBrickSlabs"
+ ],
"BLOCKS:minecraft:mineable/pickaxe": [
+ "~CUSTOM:BlackIronBlock",
+ "~CUSTOM:SodaMachine",
"~CUSTOM:BrickierMagmaBricks",
"~CUSTOM:OrichalcumDeepslateOre",
"~CUSTOM:EnditeBlock",
@@ -5897,9 +7285,17 @@
"~CUSTOM:CondensedCondensedNetherrack",
"~CUSTOM:CondensedNetherrack"
],
- "BLOCKS:minecraft:slabs": [
- "~CUSTOM:MagmaBrickSlabs",
- "~CUSTOM:RedstoneBrickSlabs"
+ "BLOCKS:minecraft:mineable/axe": [
+ "~CUSTOM:AnaheimPlanks",
+ "~CUSTOM:AnaheimLog",
+ "~CUSTOM:AnaheimWood"
+ ],
+ "BLOCKS:minecraft:needs_stone_tool": [
+ "~CUSTOM:BlackIronBlock",
+ "~CUSTOM:SodaMachine"
+ ],
+ "BLOCKS:minecraft:fences": [
+ "~CUSTOM:AnaheimFence"
],
"BLOCKS:minecraft:walls": [
"~CUSTOM:MagmaBrickWalls",
@@ -5910,18 +7306,19 @@
"~CUSTOM:OrichalcumAxe"
],
"BLOCKS:minecraft:stairs": [
+ "~CUSTOM:AnaheimStairs",
"~CUSTOM:MagmaBrickStairs",
"~CUSTOM:RedstoneBrickStairs"
],
- "ITEMS:origins-plus-plus:raw_meat": [
- "CUSTOM:MagicFlesh"
- ],
"ITEMS:minecraft:swords": [
"~CUSTOM:OrichalcumKatana",
"~CUSTOM:EnditeSword",
"~CUSTOM:OrichalcumSword",
"~CUSTOM:BedrockSword"
],
+ "ITEMS:origins-plus-plus:raw_meat": [
+ "CUSTOM:MagicFlesh"
+ ],
"ITEMS:minecraft:shovels": [
"~CUSTOM:EnditeShovel",
"~CUSTOM:OrichalcumShovel",
@@ -5937,14 +7334,19 @@
"CUSTOM:CondensedCondensedCondensedNetherrack",
"CUSTOM:QuadraCondensedNetherrack",
"CUSTOM:PentaCondensedNetherrack"
+ ],
+ "ITEMS:mod:nether_power_generator_acceptable_inputs": [
+ "CUSTOM:NetherrackJuice.bucket",
+ "Items.BUCKET"
]
},
"tab_element_order": {},
"language_map": {
"en_us": {
"advancements.condensed_netherrack_advancement.descr": "Condense Netherrack for the first time",
- "item.nims_random_bullshit.magic_dust": "Magic Dust",
+ "block.aris_random_additions.anaheim_slab": "Anaheim Slab",
"block.nims_random_bullshit.penta_condensed_netherrack": "Penta-condensed Netherrack",
+ "item.nims_random_bullshit.magic_dust": "Magic Dust",
"item.nims_random_bullshit.orichalcum_armor_boots": "Orichalcum Boots",
"block.nims_random_bullshit.magma_brick_button": "Magma Brick Button",
"painting.nims_random_bullshit.shit_painting.title": "Shit Painting",
@@ -5954,19 +7356,25 @@
"block.aris_random_additions.broken_glass": "Broken Glass",
"item.aris_random_additions.ghoul_spawn_egg": "Ghoul Spawn Egg",
"item.aris_random_additions.endite_armor_boots": "Endite Boots",
+ "block.aris_random_additions.star_assembly_table": "Star Assembly Table",
"gui.aris_random_additions.turd_gui.label_uh_ohh_stinky": "UH OHH!!! STINKY!!! UH OHH!!! STINKY!!! UH OHH!!! STINKY!!! UH OHH!!! STINKY!!! ",
+ "block.aris_random_additions.anaheim_button": "Anaheim Button",
"item.aris_random_additions.bedrock_shard": "Bedrock Shard",
"advancements.grave_digger_advancement.title": "We Must Dig!",
"item.aris_random_additions.bedrock_upgrade_template": "Bedrock Upgrade Template",
"item.aris_random_additions.endite_ingot": "Endite",
"block.nims_random_bullshit.orichalcum_block": "Block of Orichalcum",
"block.nims_random_bullshit.rubber_slab": "Rubber Slab",
+ "gui.aris_random_additions.star_assembly_table_gui.label_star_assembly_table": "Star Assembly Table",
"item.nims_random_bullshit.bedrock_upgrade_template": "Bedrock Upgrade Template",
"block.aris_random_additions.magma_brick_pressure_plate": "Beans and Cheese Pressure Plate",
"advancements.orichalcum_set_advancement.descr": "Wear a full armor set of Orichalcum.",
"block.nims_random_bullshit.orichalcum_ore": "Orichalcum Ore",
"block.aris_random_additions.condensed_condensed_netherrack": "Condensed Condensed Netherrack",
+ "advancements.black_iron_advancement.title": "\"Black\" Iron Ingot",
+ "advancements.quadra_condensed_netherrack_advancement.descr": "Craft Quadra-Condensed Netherrack",
"advancements.orange_sweetened_carbonated_water_can_advancement.descr": "Drink an Orange Soda",
+ "advancements.black_iron_apple_advancement.descr": "Eat a Black Iron Apple",
"item.aris_random_additions.endite_pickaxe": "Endite Pickaxe",
"advancements.endite_scythe_advancement.title": "Endbringer\u0027s Sharpest Tool",
"painting.aris_random_additions.turd_painting.author": "Ari/nim",
@@ -5980,23 +7388,30 @@
"item.aris_random_additions.wand_of_draining": "Wand Of Draining",
"block.aris_random_additions.endite_block": "Block of Endite",
"enchantment.aris_random_additions.passive_income_enchantment": "Passive Income",
+ "gui.aris_random_additions.nether_power_generator_gui.label_nether_power_generator": "Nether Power Generator",
"item.aris_random_additions.sand_dust": "Sand Dust",
"block.aris_random_additions.orichalcum_block": "Block of Orichalcum",
"item.aris_random_additions.orange_sweetened_carbonated_water_can": "Canned Orange Soda",
"gui.nims_random_bullshit.mailbox_gui.outbox_y_coord": "0",
+ "gui.aris_random_additions.nether_power_generator_gui.button_refill": "Refill",
"item.aris_random_additions.power_star": "Power Star",
"advancements.bedrock_eater_advancement.title": "Somehow, Being Made Of Bedrock Makes It More Replinishing. Yeah. I don\u0027t know.",
+ "advancements.nether_power_generator_advancement.title": "Brought To You By \"The Netherâ„¢\"",
"enchantment.nims_random_bullshit.ruining_enchantment": "Ruining",
"advancements.endite_advancement.descr": "Obtain Endite",
"advancements.netherrack_juice_advancement.descr": "Obtain Netherrack Juice",
"block.nims_random_bullshit.condensed_condensed_netherrack": "Condensed Condensed Netherrack",
"block.nims_random_bullshit.quadra_condensed_netherrack": "Quadra-condensed Netherrack",
+ "advancements.condensed_condensed_netherrack_advancement.descr": "Craft Condensed Condensed Netherrack",
"block.aris_random_additions.orange_wood_wood": "OrangeWood Wood",
"advancements.orichalcum_katana_advancement.descr": "Obtain an Orichalcum Katana",
"gui.nims_random_bullshit.bedrockifier_gui.button_empty": "-\u003e",
+ "advancements.netherite_apple_advancement.descr": "Eat a Netherite Apple",
"block.nims_random_bullshit.hexa_condensed_netherrack": "Hexa-condensed Netherrack",
"enchantment.nims_random_bullshit.sundering_enchantment": "Sundering",
"block.aris_random_additions.magma_brick_slabs": "Beans and Cheese Slab",
+ "block.aris_random_additions.black_iron_block": "Black Iron Block",
+ "block.aris_random_additions.anaheim_planks": "Anaheim Planks",
"item.aris_random_additions.gold_token": "Gold Token",
"advancements.orichalcum_apple_advancement.descr": "Eat an Orichalcum Apple",
"item.nims_random_bullshit.sand_dust": "Sand Dust",
@@ -6015,27 +7430,32 @@
"item.aris_random_additions.orichalcum_armor_helmet.description_0": "Set Bonus: Speed, Jump Boost",
"item.aris_random_additions.socket": "Socket",
"block.nims_random_bullshit.rubber_pressure_plate": "Rubber Pressure Plate",
+ "item.aris_random_additions.black_iron_upgrade_smithing_template": "Black Iron Upgrade Template",
"block.aris_random_additions.redstone_brick_walls": "Redstone Brick Wall",
"item.nims_random_bullshit.orichalcum_armor_leggings": "Orichalcum Leggings",
"block.nims_random_bullshit.condensed_netherrack": "Condensed Netherrack",
"block.aris_random_additions.magma_brick_stairs": "Beans and Cheese Stairs",
+ "item.aris_random_additions.netherite_apple": "Netherite Apple",
"block.nims_random_bullshit.magma_brick_slabs": "Magma Brick Slab",
"block.aris_random_additions.orichalcum_deepslate_ore": "Orichalcum Deepslate Ore",
"item.nims_random_bullshit.pocket_lightning": "Pocket Lightning",
"item.aris_random_additions.water_can": "Canned Water",
"block.aris_random_additions.redstone_brick_stairs": "Redstone Brick Stairs",
"item.aris_random_additions.orichalcum_shovel": "Orichalcum Shovel",
+ "advancements.black_iron_advancement.descr": "Obtain Black Iron Ingot",
"item.nims_random_bullshit.star_wand": "Star Wand",
"item.nims_random_bullshit.orichalcum_axe": "Orichalcum Axe",
"enchantment.nims_random_bullshit.passive_income_enchantment": "Passive Income",
"block.aris_random_additions.magma_brick_button": "Beans and Cheese Button",
"item.aris_random_additions.can_lid": "Can Lid",
+ "advancements.turtle_apple_advancement.title": "You\u0027re A Monster!",
"block.aris_random_additions.orange_wood_log": "OrangeWood Log",
"item.aris_random_additions.bean": "Bean",
"block.aris_random_additions.orange_wood_fence_gate": "OrangeWood Fence Gate",
"item.aris_random_additions.mint_leaves": "Mint Leaves",
"block.nims_random_bullshit.broken_glass": "Broken Glass",
"block.nims_random_bullshit.redstone_brick_walls": "Redstone Brick Wall",
+ "advancements.blaze_apple_advancement.title": "That Burns... Or Does It?",
"item.aris_random_additions.tux_spawn_egg": "Tux Spawn Egg",
"block.aris_random_additions.orange_wood_planks": "OrangeWood Planks",
"advancements.grave_digger_advancement.descr": "Obtain Gravedigger",
@@ -6057,10 +7477,14 @@
"advancements.void_apple_advancement.descr": "Eat a Void Apple",
"item.nims_random_bullshit.snow_golem_question_mark": "Snow Golem...?",
"item.aris_random_additions.gravedigger.description_0": "Right-Click on soul sand or soul soil to use them, summoning a ghoul that attacks hostile mobs.",
- "advancements.bedrock_advancement.descr": "Obtain Bedrock",
+ "advancements.bedrock_advancement.descr": "Obtain Bedrock via sacrificing valuable time of your life",
"item.aris_random_additions.gravedigger.description_1": "We must dig!",
+ "gui.aris_random_additions.star_assembly_table_gui.button_assemble": "Assemble",
"item.nims_random_bullshit.orichalcum_shovel": "Orichalcum Shovel",
+ "advancements.penta_condensed_netherrack_advancement.descr": "Craft Penta-Condensed Netherrack",
+ "advancements.hexa_condensed_netherrack_advancement.title": "Besides... Something Tells Me I Need To Do This 8 More Times...",
"block.nims_random_bullshit.redstone_brick_stairs": "Redstone Brick Stairs",
+ "advancements.taste_the_rainbow_advancement.descr": "Drink a Canned Taste The Rainbow",
"block.aris_random_additions.magma_brick_walls": "Beans and Cheese Wall",
"item.nims_random_bullshit.cheese": "Cheese",
"item.aris_random_additions.snow_golem_question_mark": "Snow Golem...?",
@@ -6069,7 +7493,9 @@
"enchantment.aris_random_additions.sundering_enchantment": "Sundering",
"item.aris_random_additions.endite_shovel": "Endite Shovel",
"item.aris_random_additions.endite_scythe.description_0": "Inflicts \"The End Of Your Misery\" effect on-hit, which detonates after 4 seconds to do 33% missing health magic damage.",
+ "block.aris_random_additions.nether_power_generator": "Nether Power Generator",
"item.aris_random_additions.netherrackite_pickaxe": "Netherrackite Pickaxe",
+ "block.aris_random_additions.anaheim_log": "Anaheim Log",
"item.aris_random_additions.netherrack_juice_bucket": "Netherrack Juice Bucket",
"item.nims_random_bullshit.netherrackite_pickaxe.description_0": "Non-condensed netherracks broken by this pickaxe drop themselves an additional time.",
"advancements.sweetened_carbonated_water_can_advancement.descr": "Drink a Canned Soda",
@@ -6084,6 +7510,8 @@
"advancements.star_wand_advancement.descr": "Use a Star Wand",
"item.aris_random_additions.netherrackite_pickaxe.description_0": "Non-condensed netherracks broken by this pickaxe drop themselves an additional time.",
"advancements.end_portal_frame_advancement.descr": "Craft an End Portal Frame",
+ "item.aris_random_additions.right_piece_of_nether_star": "Right Piece Of Nether Star",
+ "advancements.condensed_condensed_condensed_netherrack_advancement.title": "You Ask Yourself, \"What Is The Point Of This?\" Yet, You Continue To Do \"This\".",
"advancements.endite_set_advancement.descr": "Wear a full armor set of Endite.",
"item.aris_random_additions.mint_sweetened_carbonated_water_can": "Canned Mint Soda",
"advancements.welcome_advancement.title": "Arira!",
@@ -6091,18 +7519,26 @@
"item.aris_random_additions.magic_egg": "Magic Egg",
"entity.nims_random_bullshit.ghoul": "Ghoul",
"enchantment.aris_random_additions.life_mending_enchantment": "Life Mending",
+ "block.aris_random_additions.anaheim_fence": "Anaheim Fence",
"block.aris_random_additions.redstone_brick_slabs": "Redstone Brick Slab",
"item.aris_random_additions.orichalcum_apple": "Orichalcum Apple",
+ "item.aris_random_additions.top_piece_of_nether_star": "Top Piece Of Nether Star",
"advancements.star_advancement.descr": "Obtain a Star",
+ "block.aris_random_additions.anaheim_stairs": "Anaheim Stairs",
+ "item.aris_random_additions.turtle_apple": "Turtle Apple",
"item.nims_random_bullshit.bedrock_pickaxe": "Bedrock Pickaxe",
"item.aris_random_additions.endite_armor_chestplate.description_0": "Set Bonus: Resistance, Regeneration, Strength",
"block.nims_random_bullshit.magma_brick_stairs": "Magma Brick Stairs",
+ "item.aris_random_additions.black_iron_apple.description_0": "When consumed: Grants 1 permanent bonus Armor and 0.67 permanent bonus Armor Toughness.",
"gui.aris_random_additions.bedrockifier_gui.button_empty": "-\u003e",
"advancements.bedrock_apple_advancement.descr": "Eat a Bedrock Apple",
- "advancements.bedrock_shard_advancement.descr": "Obtain Bedrock Shard",
+ "advancements.bedrock_shard_advancement.descr": "Obtain Bedrock Shard via mining Bedrock with a non-silk-touch Bedrock Pickaxe",
"block.aris_random_additions.quadra_condensed_netherrack": "Quadra-condensed Netherrack",
"block.aris_random_additions.orange_wood_slab": "OrangeWood Slab",
+ "gui.aris_random_additions.nether_power_generator_gui.button_drain": "Drain",
+ "advancements.black_iron_apple_advancement.title": "Who Thought This Was A Good Idea???",
"item.aris_random_additions.orichalcum_katana": "Orichalcum Katana",
+ "advancements.blaze_apple_advancement.descr": "Eat a Blaze Apple",
"item.aris_random_additions.orichalcum_armor_boots": "Orichalcum Heels",
"item.aris_random_additions.endite_upgrade_smithing_template": "Endite Upgrade Template",
"item.aris_random_additions.bedrock_eater": "Bedrock Eater",
@@ -6119,9 +7555,11 @@
"effect.aris_random_additions.stinky_effect": "Stinky",
"advancements.endite_hoe_advancement.descr": "Craft an Endite Hoe",
"advancements.void_star_advancement.descr": "Craft a Void Star",
+ "item.aris_random_additions.left_piece_of_nether_star": "Left Piece Of Nether Star",
"item.aris_random_additions.orichalcum_armor_helmet": "Orichalcum Helmet",
"enchantment.aris_random_additions.ruining_enchantment": "Ruining",
"block.aris_random_additions.ore_miner": "Ore Miner",
+ "advancements.star_assembly_table_advancement.descr": "Succesfully assemble a Nether Star in the Star Assembly Table",
"block.aris_random_additions.condensed_netherrack": "Condensed Netherrack",
"item.aris_random_additions.orichalcum_katana.description_0": "Right-Click: empower the blade, making your next attack cause bleeding DoT effect to the target for a duration.",
"item.aris_random_additions.empty_can": "Empty Can",
@@ -6130,6 +7568,7 @@
"item.aris_random_additions.golden_berries": "Golden Berries",
"item.nims_random_bullshit.lapis_lazuli_nugget": "Lapis Lazuli Nugget",
"block.aris_random_additions.orange_wood_leaves": "OrangeWood Leaves",
+ "item.aris_random_additions.blaze_apple": "Blaze Apple",
"item.aris_random_additions.star": "Star",
"item.nims_random_bullshit.bedrock_sword": "Bedrock Sword",
"item.aris_random_additions.sweetened_carbonated_water_can": "Canned Soda",
@@ -6139,9 +7578,12 @@
"item.nims_random_bullshit.gravedigger": "Gravedigger",
"item.aris_random_additions.pocket_lightning": "Pocket Lightning",
"advancements.sweetened_carbonated_water_can_advancement.title": "Now That\u0027s The Good Stuff!",
+ "advancements.nether_power_generator_advancement.descr": "Craft a Nether Power Generator",
"item.aris_random_additions.night_vision_goggles_helmet": "Night Vision Goggles",
"advancements.orichalcum_katana_advancement.title": "As Fierce As The Color",
"item.aris_random_additions.cheese": "Cheese",
+ "block.aris_random_additions.anaheim_fence_gate": "Anaheim Fence Gate",
+ "advancements.condensed_condensed_netherrack_advancement.title": "But For What Reason?",
"item.aris_random_additions.orichalcum_sword": "Orichalcum Sword",
"advancements.end_portal_frame_advancement.title": "You Shouldn\u0027t Have This...",
"item.aris_random_additions.wand_of_resizing.description_0": "DISCLAIMER: Does not work with Origins that periodically reset your scale!",
@@ -6157,13 +7599,17 @@
"block.aris_random_additions.orange_wood_fence": "OrangeWood Fence",
"advancements.magic_egg_advancement.descr": "Obtain a Magic Egg",
"advancements.orange_sweetened_carbonated_water_can_advancement.title": "A Fantastic Beverage!",
+ "advancements.quadra_condensed_netherrack_advancement.title": "I Mean. Surely This Will Lead To Something?",
"item.aris_random_additions.orichalcum_apple.description_0": "When consumed: Grants 1 permanent bonus attack damage.",
"block.aris_random_additions.mint_plant": "Mint Plant",
+ "block.aris_random_additions.anaheim_leaves": "Anaheim Leaves",
"advancements.endite_advancement.title": "Purple Butter",
+ "advancements.taste_the_rainbow_advancement.title": "TASTE THE RAINBOW!!!!!!!!!",
"advancements.bedrock_eater_advancement.descr": "Eat a block with the Bedrock Eater",
"entity.aris_random_additions.ari": "Ari",
"item.nims_random_bullshit.night_vision_goggles_helmet": "Night Vision Goggles",
"advancements.power_star_advancement.descr": "Craft a Power Star",
+ "advancements.hexa_condensed_netherrack_advancement.descr": "Craft Hexa-Condensed Netherrack",
"block.aris_random_additions.orichalcum_ore": "Orichalcum Ore",
"item.aris_random_additions.orichalcum_axe": "Orichalcum Axe",
"item.aris_random_additions.endite_hoe": "Endite Hoe",
@@ -6175,9 +7621,13 @@
"item.aris_random_additions.void_apple.description_0": "When consumed: Grants 2 permanent bonus max health.",
"advancements.star_advancement.title": "A Star Meant To Be",
"effect.aris_random_additions.bleed_effect": "Bleeding",
+ "gui.aris_random_additions.nether_power_generator_gui.label_netherrack_juice_tank_currmax": "Tank: curr/max",
+ "item.aris_random_additions.taste_the_rainbow_water_can": "Canned Taste The Rainbow",
"painting.nims_random_bullshit.shit_painting.author": "nim",
"gui.nims_random_bullshit.mailbox_gui.outbox_x_coord": "0",
+ "block.aris_random_additions.anaheim_wood": "Anaheim Wood",
"block.nims_random_bullshit.rubber_fence": "Rubber Fence",
+ "advancements.star_assembly_table_advancement.title": "Star Shaper",
"advancements.turd_advancement.descr": "Turd",
"advancements.condensed_netherrack_advancement.title": "Rackin\u0027 Em Up!",
"death.attack.bleed_damage_type.player": "%1$s bled to death whilst trying to escape %2$s",
@@ -6205,17 +7655,20 @@
"item.nims_random_bullshit.orichalcum_pickaxe": "Orichalcum Pickaxe",
"item.aris_random_additions.magic_dust": "Magic Dust",
"block.nims_random_bullshit.magma_brick_pressure_plate": "Magma Brick Pressure Plate",
- "advancements.endite_set_advancement.title": "Cover Me In Endermite",
- "advancements.bedrock_shard_advancement.title": "Unobtainium",
+ "advancements.endite_set_advancement.title": "Cover Me In Shulker Shells",
+ "advancements.bedrock_shard_advancement.title": "A Shard That Weighs As Much As 531,441 Netherracks",
"item.aris_random_additions.endite_armor_boots.description_0": "Set Bonus: Resistance, Regeneration, Strength",
"advancements.soda_machine_advancement.title": "It Doesn\u0027t Even Need To Be Restocked! It Just Dispenses Soda Out Of Thin Air!",
"fluid.nims_random_bullshit.netherrack_juice": "Netherrack Juice",
"item.nims_random_bullshit.wand_of_resizing.description_0": "DISCLAIMER: Does not work with Origins that periodically reset your scale!",
"gui.nims_random_bullshit.mailbox_gui.outbox_z_coord": "0",
"item.aris_random_additions.chorus_eye": "Eye of Chorus",
+ "block.aris_random_additions.anaheim_pressure_plate": "Anaheim Pressure Plate",
"enchantment.aris_random_additions.sweet_blade_enchantment": "Sweet Blade",
"item.aris_random_additions.turd": "Turd",
+ "advancements.netherite_apple_advancement.title": "Eating Ancient History",
"item.aris_random_additions.pocket_lightning.description_0": "Spawns lightning wherever it lands.",
+ "item.aris_random_additions.netherite_apple.description_0": "When consumed: Grants 0.05 permanent bonus Knockback Resistance.",
"item.nims_random_bullshit.netherrackite_pickaxe": "Netherrackite Pickaxe",
"item.aris_random_additions.endite_armor_helmet.description_0": "Set Bonus: Resistance, Regeneration, Strength",
"block.aris_random_additions.orange_wood_stairs": "OrangeWood Stairs",
@@ -6228,6 +7681,7 @@
"fluid.aris_random_additions.netherrack_juice": "Netherrack Juice",
"block.nims_random_bullshit.rubber_button": "Rubber Button",
"item.aris_random_additions.mint": "mint",
+ "item.aris_random_additions.blaze_apple.description_0": "When consumed: Grants permanent Fire Resistance.",
"block.aris_random_additions.orange_wood_button": "OrangeWood Button",
"item.nims_random_bullshit.magic_egg": "Magic Egg",
"block.aris_random_additions.redstone_bricks": "Redstone Bricks",
@@ -6235,11 +7689,13 @@
"item.aris_random_additions.lapis_lazuli_nugget": "Lapis Lazuli Nugget",
"advancements.void_apple_advancement.title": "It Certainly Is DeVOID Of Taste",
"item.aris_random_additions.endite_armor_leggings": "Endite Leggings",
- "advancements.bedrock_advancement.title": "Unobtainium Block",
+ "advancements.bedrock_advancement.title": "The Voices Are Gone. But This Is Just The Beginning.",
+ "advancements.condensed_condensed_condensed_netherrack_advancement.descr": "Craft Condensed Condensed Condensed Netherrack",
"item.nims_random_bullshit.star": "Star",
"gui.nims_random_bullshit.shit_gui.label_uh_ohh_stinky": "UH OHH!!! STINKY!!! UH OHH!!! STINKY!!! UH OHH!!! STINKY!!! UH OHH!!! STINKY!!! ",
"block.nims_random_bullshit.magma_bricks": "Magma Bricks",
"gui.nims_random_bullshit.bedrockifier_gui.label_bedrockifier": "Bedrockifier",
+ "advancements.turtle_apple_advancement.descr": "Eat a Turtle Apple",
"item.aris_random_additions.endite_armor_chestplate": "Endite Chestplate",
"item.nims_random_bullshit.shit": "Shit",
"advancements.block_eater_advancement.title": "Eat The Blocks",
@@ -6248,8 +7704,12 @@
"item.aris_random_additions.wither_question_mark": "Wither...?",
"item.aris_random_additions.endite_armor_leggings.description_0": "Set Bonus: Resistance, Regeneration, Strength",
"advancements.netherrack_juice_advancement.title": "Smells Kinda Funny",
+ "item.aris_random_additions.turtle_apple.description_0": "When consumed: Grants permanent Water Breathing.",
"block.nims_random_bullshit.redstone_brick_slabs": "Redstone Brick Slab",
- "block.aris_random_additions.netherrack_juice": "Netherrack Juice"
+ "item.aris_random_additions.bottom_piece_of_nether_star": "Bottom Piece Of Nether Star",
+ "block.aris_random_additions.netherrack_juice": "Netherrack Juice",
+ "item.aris_random_additions.black_iron_apple": "Black Iron Apple",
+ "advancements.penta_condensed_netherrack_advancement.title": "Otherwise, There Would Be No Point To Keep Rackin\u0027!"
}
},
"foldersRoot": {
@@ -6338,13 +7798,45 @@
{
"name": "Mint",
"children": []
+ },
+ {
+ "name": "BlackIron",
+ "children": []
+ },
+ {
+ "name": "NetherPowerGenerator",
+ "children": []
+ },
+ {
+ "name": "StarAssemblyTable",
+ "children": []
+ },
+ {
+ "name": "Anaheim",
+ "children": []
+ },
+ {
+ "name": "LootTables",
+ "children": []
+ },
+ {
+ "name": "NightVisionGoggles",
+ "children": []
+ },
+ {
+ "name": "QualityOfLifeRecipes",
+ "children": []
+ },
+ {
+ "name": "Apples",
+ "children": []
}
]
},
"workspaceSettings": {
"modid": "aris_random_additions",
"modName": "Ari\u0027s Random Additions",
- "version": "2.2.0",
+ "version": "2.3.0",
"description": "Random Additions by Ari. Created with MCreator.",
"author": "nimsolated, MCreator",
"websiteURL": "https://mcreator.net",
diff --git a/elements/AnaheimButton.mod.json b/elements/AnaheimButton.mod.json
new file mode 100644
index 0000000..41f91b4
--- /dev/null
+++ b/elements/AnaheimButton.mod.json
@@ -0,0 +1,138 @@
+{
+ "_fv": 73,
+ "_type": "block",
+ "definition": {
+ "texture": "anaheim_planks",
+ "textureTop": "",
+ "textureLeft": "",
+ "textureFront": "",
+ "textureRight": "",
+ "textureBack": "",
+ "renderType": 10,
+ "customModelName": "Normal",
+ "rotationMode": 0,
+ "enablePitch": false,
+ "emissiveRendering": false,
+ "displayFluidOverlay": false,
+ "itemTexture": "",
+ "particleTexture": "",
+ "blockBase": "Button",
+ "tintType": "No tint",
+ "isItemTinted": false,
+ "hasTransparency": false,
+ "connectedSides": false,
+ "transparencyType": "SOLID",
+ "disableOffset": false,
+ "boundingBoxes": [
+ {
+ "mx": 0.0,
+ "my": 0.0,
+ "mz": 0.0,
+ "Mx": 16.0,
+ "My": 16.0,
+ "Mz": 16.0,
+ "subtract": false
+ }
+ ],
+ "customProperties": [],
+ "name": "Anaheim Button",
+ "specialInformation": {
+ "fixedValue": []
+ },
+ "hardness": 2.0,
+ "resistance": 3.0,
+ "hasGravity": false,
+ "isWaterloggable": false,
+ "creativeTabs": [
+ {
+ "value": "BUILDING_BLOCKS"
+ }
+ ],
+ "destroyTool": "Not specified",
+ "customDrop": {
+ "value": ""
+ },
+ "dropAmount": 1,
+ "useLootTableForDrops": false,
+ "requiresCorrectTool": false,
+ "enchantPowerBonus": 0.0,
+ "plantsGrowOn": false,
+ "canRedstoneConnect": false,
+ "lightOpacity": 0,
+ "material": {
+ "value": "WOOD"
+ },
+ "tickRate": 0,
+ "tickRandomly": false,
+ "isReplaceable": false,
+ "canProvidePower": false,
+ "emittedRedstonePower": {
+ "fixedValue": 15.0
+ },
+ "colorOnMap": "DEFAULT",
+ "creativePickItem": {
+ "value": ""
+ },
+ "offsetType": "NONE",
+ "aiPathNodeType": "DEFAULT",
+ "flammability": 5,
+ "fireSpreadSpeed": 0,
+ "isLadder": false,
+ "slipperiness": 0.6,
+ "speedFactor": 1.0,
+ "jumpFactor": 1.0,
+ "reactionToPushing": "NORMAL",
+ "isNotColidable": false,
+ "isCustomSoundType": false,
+ "soundOnStep": {
+ "value": "WOOD"
+ },
+ "breakSound": {
+ "value": ""
+ },
+ "fallSound": {
+ "value": ""
+ },
+ "hitSound": {
+ "value": ""
+ },
+ "placeSound": {
+ "value": ""
+ },
+ "stepSound": {
+ "value": ""
+ },
+ "luminance": 0,
+ "unbreakable": false,
+ "vanillaToolTier": "NONE",
+ "isBonemealable": false,
+ "hasInventory": false,
+ "openGUIOnRightClick": false,
+ "inventorySize": 9,
+ "inventoryStackSize": 64,
+ "inventoryDropWhenDestroyed": true,
+ "inventoryComparatorPower": true,
+ "inventoryOutSlotIDs": [],
+ "inventoryInSlotIDs": [],
+ "hasEnergyStorage": false,
+ "energyInitial": 0,
+ "energyCapacity": 400000,
+ "energyMaxReceive": 200,
+ "energyMaxExtract": 200,
+ "isFluidTank": false,
+ "fluidCapacity": 8000,
+ "fluidRestrictions": [],
+ "generateFeature": false,
+ "restrictionBiomes": [],
+ "blocksToReplace": [
+ {
+ "value": "TAG:stone_ore_replaceables"
+ }
+ ],
+ "generationShape": "UNIFORM",
+ "frequencyPerChunks": 10,
+ "frequencyOnChunk": 16,
+ "minGenerateHeight": 0,
+ "maxGenerateHeight": 64
+ }
+}
\ No newline at end of file
diff --git a/elements/AnaheimButtonRecipe.mod.json b/elements/AnaheimButtonRecipe.mod.json
new file mode 100644
index 0000000..272516b
--- /dev/null
+++ b/elements/AnaheimButtonRecipe.mod.json
@@ -0,0 +1,48 @@
+{
+ "_fv": 73,
+ "_type": "recipe",
+ "definition": {
+ "recipeType": "Crafting",
+ "recipeRetstackSize": 1,
+ "group": "wooden_button",
+ "cookingBookCategory": "MISC",
+ "xpReward": 0.0,
+ "cookingTime": 200,
+ "craftingBookCategory": "REDSTONE",
+ "recipeShapeless": true,
+ "recipeSlots": [
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": "CUSTOM:AnaheimPlanks"
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ }
+ ],
+ "recipeReturnStack": {
+ "value": "CUSTOM:AnaheimButton"
+ },
+ "name": "anaheim_button_recipe",
+ "namespace": "mod"
+ }
+}
\ No newline at end of file
diff --git a/elements/AnaheimCraftingTableRecipe.mod.json b/elements/AnaheimCraftingTableRecipe.mod.json
new file mode 100644
index 0000000..7f5c7d9
--- /dev/null
+++ b/elements/AnaheimCraftingTableRecipe.mod.json
@@ -0,0 +1,48 @@
+{
+ "_fv": 73,
+ "_type": "recipe",
+ "definition": {
+ "recipeType": "Crafting",
+ "recipeRetstackSize": 1,
+ "group": "",
+ "cookingBookCategory": "MISC",
+ "xpReward": 0.0,
+ "cookingTime": 200,
+ "craftingBookCategory": "MISC",
+ "recipeShapeless": false,
+ "recipeSlots": [
+ {
+ "value": "CUSTOM:AnaheimPlanks"
+ },
+ {
+ "value": "CUSTOM:AnaheimPlanks"
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": "CUSTOM:AnaheimPlanks"
+ },
+ {
+ "value": "CUSTOM:AnaheimPlanks"
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ }
+ ],
+ "recipeReturnStack": {
+ "value": "Blocks.CRAFTING_TABLE"
+ },
+ "name": "anaheim_crafting_table_recipe",
+ "namespace": "mod"
+ }
+}
\ No newline at end of file
diff --git a/elements/AnaheimFence.mod.json b/elements/AnaheimFence.mod.json
new file mode 100644
index 0000000..685a01d
--- /dev/null
+++ b/elements/AnaheimFence.mod.json
@@ -0,0 +1,138 @@
+{
+ "_fv": 73,
+ "_type": "block",
+ "definition": {
+ "texture": "anaheim_planks",
+ "textureTop": "",
+ "textureLeft": "",
+ "textureFront": "",
+ "textureRight": "",
+ "textureBack": "",
+ "renderType": 10,
+ "customModelName": "Normal",
+ "rotationMode": 0,
+ "enablePitch": false,
+ "emissiveRendering": false,
+ "displayFluidOverlay": false,
+ "itemTexture": "",
+ "particleTexture": "",
+ "blockBase": "Fence",
+ "tintType": "No tint",
+ "isItemTinted": false,
+ "hasTransparency": false,
+ "connectedSides": false,
+ "transparencyType": "SOLID",
+ "disableOffset": false,
+ "boundingBoxes": [
+ {
+ "mx": 0.0,
+ "my": 0.0,
+ "mz": 0.0,
+ "Mx": 16.0,
+ "My": 16.0,
+ "Mz": 16.0,
+ "subtract": false
+ }
+ ],
+ "customProperties": [],
+ "name": "Anaheim Fence",
+ "specialInformation": {
+ "fixedValue": []
+ },
+ "hardness": 2.0,
+ "resistance": 3.0,
+ "hasGravity": false,
+ "isWaterloggable": false,
+ "creativeTabs": [
+ {
+ "value": "BUILDING_BLOCKS"
+ }
+ ],
+ "destroyTool": "Not specified",
+ "customDrop": {
+ "value": ""
+ },
+ "dropAmount": 1,
+ "useLootTableForDrops": false,
+ "requiresCorrectTool": false,
+ "enchantPowerBonus": 0.0,
+ "plantsGrowOn": false,
+ "canRedstoneConnect": false,
+ "lightOpacity": 0,
+ "material": {
+ "value": "WOOD"
+ },
+ "tickRate": 0,
+ "tickRandomly": false,
+ "isReplaceable": false,
+ "canProvidePower": false,
+ "emittedRedstonePower": {
+ "fixedValue": 15.0
+ },
+ "colorOnMap": "DEFAULT",
+ "creativePickItem": {
+ "value": ""
+ },
+ "offsetType": "NONE",
+ "aiPathNodeType": "DEFAULT",
+ "flammability": 5,
+ "fireSpreadSpeed": 0,
+ "isLadder": false,
+ "slipperiness": 0.6,
+ "speedFactor": 1.0,
+ "jumpFactor": 1.0,
+ "reactionToPushing": "NORMAL",
+ "isNotColidable": false,
+ "isCustomSoundType": false,
+ "soundOnStep": {
+ "value": "WOOD"
+ },
+ "breakSound": {
+ "value": ""
+ },
+ "fallSound": {
+ "value": ""
+ },
+ "hitSound": {
+ "value": ""
+ },
+ "placeSound": {
+ "value": ""
+ },
+ "stepSound": {
+ "value": ""
+ },
+ "luminance": 0,
+ "unbreakable": false,
+ "vanillaToolTier": "NONE",
+ "isBonemealable": false,
+ "hasInventory": false,
+ "openGUIOnRightClick": false,
+ "inventorySize": 9,
+ "inventoryStackSize": 64,
+ "inventoryDropWhenDestroyed": true,
+ "inventoryComparatorPower": true,
+ "inventoryOutSlotIDs": [],
+ "inventoryInSlotIDs": [],
+ "hasEnergyStorage": false,
+ "energyInitial": 0,
+ "energyCapacity": 400000,
+ "energyMaxReceive": 200,
+ "energyMaxExtract": 200,
+ "isFluidTank": false,
+ "fluidCapacity": 8000,
+ "fluidRestrictions": [],
+ "generateFeature": false,
+ "restrictionBiomes": [],
+ "blocksToReplace": [
+ {
+ "value": "TAG:stone_ore_replaceables"
+ }
+ ],
+ "generationShape": "UNIFORM",
+ "frequencyPerChunks": 10,
+ "frequencyOnChunk": 16,
+ "minGenerateHeight": 0,
+ "maxGenerateHeight": 64
+ }
+}
\ No newline at end of file
diff --git a/elements/AnaheimFenceGate.mod.json b/elements/AnaheimFenceGate.mod.json
new file mode 100644
index 0000000..fc14944
--- /dev/null
+++ b/elements/AnaheimFenceGate.mod.json
@@ -0,0 +1,138 @@
+{
+ "_fv": 73,
+ "_type": "block",
+ "definition": {
+ "texture": "anaheim_planks",
+ "textureTop": "",
+ "textureLeft": "",
+ "textureFront": "",
+ "textureRight": "",
+ "textureBack": "",
+ "renderType": 10,
+ "customModelName": "Normal",
+ "rotationMode": 0,
+ "enablePitch": false,
+ "emissiveRendering": false,
+ "displayFluidOverlay": false,
+ "itemTexture": "",
+ "particleTexture": "",
+ "blockBase": "FenceGate",
+ "tintType": "No tint",
+ "isItemTinted": false,
+ "hasTransparency": false,
+ "connectedSides": false,
+ "transparencyType": "SOLID",
+ "disableOffset": false,
+ "boundingBoxes": [
+ {
+ "mx": 0.0,
+ "my": 0.0,
+ "mz": 0.0,
+ "Mx": 16.0,
+ "My": 16.0,
+ "Mz": 16.0,
+ "subtract": false
+ }
+ ],
+ "customProperties": [],
+ "name": "Anaheim Fence Gate",
+ "specialInformation": {
+ "fixedValue": []
+ },
+ "hardness": 2.0,
+ "resistance": 3.0,
+ "hasGravity": false,
+ "isWaterloggable": false,
+ "creativeTabs": [
+ {
+ "value": "BUILDING_BLOCKS"
+ }
+ ],
+ "destroyTool": "Not specified",
+ "customDrop": {
+ "value": ""
+ },
+ "dropAmount": 1,
+ "useLootTableForDrops": false,
+ "requiresCorrectTool": false,
+ "enchantPowerBonus": 0.0,
+ "plantsGrowOn": false,
+ "canRedstoneConnect": false,
+ "lightOpacity": 0,
+ "material": {
+ "value": "WOOD"
+ },
+ "tickRate": 0,
+ "tickRandomly": false,
+ "isReplaceable": false,
+ "canProvidePower": false,
+ "emittedRedstonePower": {
+ "fixedValue": 15.0
+ },
+ "colorOnMap": "DEFAULT",
+ "creativePickItem": {
+ "value": ""
+ },
+ "offsetType": "NONE",
+ "aiPathNodeType": "DEFAULT",
+ "flammability": 5,
+ "fireSpreadSpeed": 0,
+ "isLadder": false,
+ "slipperiness": 0.6,
+ "speedFactor": 1.0,
+ "jumpFactor": 1.0,
+ "reactionToPushing": "NORMAL",
+ "isNotColidable": false,
+ "isCustomSoundType": false,
+ "soundOnStep": {
+ "value": "WOOD"
+ },
+ "breakSound": {
+ "value": ""
+ },
+ "fallSound": {
+ "value": ""
+ },
+ "hitSound": {
+ "value": ""
+ },
+ "placeSound": {
+ "value": ""
+ },
+ "stepSound": {
+ "value": ""
+ },
+ "luminance": 0,
+ "unbreakable": false,
+ "vanillaToolTier": "NONE",
+ "isBonemealable": false,
+ "hasInventory": false,
+ "openGUIOnRightClick": false,
+ "inventorySize": 9,
+ "inventoryStackSize": 64,
+ "inventoryDropWhenDestroyed": true,
+ "inventoryComparatorPower": true,
+ "inventoryOutSlotIDs": [],
+ "inventoryInSlotIDs": [],
+ "hasEnergyStorage": false,
+ "energyInitial": 0,
+ "energyCapacity": 400000,
+ "energyMaxReceive": 200,
+ "energyMaxExtract": 200,
+ "isFluidTank": false,
+ "fluidCapacity": 8000,
+ "fluidRestrictions": [],
+ "generateFeature": false,
+ "restrictionBiomes": [],
+ "blocksToReplace": [
+ {
+ "value": "TAG:stone_ore_replaceables"
+ }
+ ],
+ "generationShape": "UNIFORM",
+ "frequencyPerChunks": 10,
+ "frequencyOnChunk": 16,
+ "minGenerateHeight": 0,
+ "maxGenerateHeight": 64
+ }
+}
\ No newline at end of file
diff --git a/elements/AnaheimFenceGateRecipe.mod.json b/elements/AnaheimFenceGateRecipe.mod.json
new file mode 100644
index 0000000..092e1b4
--- /dev/null
+++ b/elements/AnaheimFenceGateRecipe.mod.json
@@ -0,0 +1,48 @@
+{
+ "_fv": 73,
+ "_type": "recipe",
+ "definition": {
+ "recipeType": "Crafting",
+ "recipeRetstackSize": 1,
+ "group": "wooden_fence_gate",
+ "cookingBookCategory": "MISC",
+ "xpReward": 0.0,
+ "cookingTime": 200,
+ "craftingBookCategory": "REDSTONE",
+ "recipeShapeless": false,
+ "recipeSlots": [
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": "Items.STICK"
+ },
+ {
+ "value": "CUSTOM:AnaheimPlanks"
+ },
+ {
+ "value": "Items.STICK"
+ },
+ {
+ "value": "Items.STICK"
+ },
+ {
+ "value": "CUSTOM:AnaheimPlanks"
+ },
+ {
+ "value": "Items.STICK"
+ }
+ ],
+ "recipeReturnStack": {
+ "value": "CUSTOM:AnaheimFenceGate"
+ },
+ "name": "anaheim_fence_gate_recipe",
+ "namespace": "mod"
+ }
+}
\ No newline at end of file
diff --git a/elements/AnaheimFenceRecipe.mod.json b/elements/AnaheimFenceRecipe.mod.json
new file mode 100644
index 0000000..8e821d8
--- /dev/null
+++ b/elements/AnaheimFenceRecipe.mod.json
@@ -0,0 +1,48 @@
+{
+ "_fv": 73,
+ "_type": "recipe",
+ "definition": {
+ "recipeType": "Crafting",
+ "recipeRetstackSize": 3,
+ "group": "wooden_fence",
+ "cookingBookCategory": "MISC",
+ "xpReward": 0.0,
+ "cookingTime": 200,
+ "craftingBookCategory": "MISC",
+ "recipeShapeless": false,
+ "recipeSlots": [
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": "CUSTOM:AnaheimPlanks"
+ },
+ {
+ "value": "Items.STICK"
+ },
+ {
+ "value": "CUSTOM:AnaheimPlanks"
+ },
+ {
+ "value": "CUSTOM:AnaheimPlanks"
+ },
+ {
+ "value": "Items.STICK"
+ },
+ {
+ "value": "CUSTOM:AnaheimPlanks"
+ }
+ ],
+ "recipeReturnStack": {
+ "value": "CUSTOM:AnaheimFence"
+ },
+ "name": "anaheim_fence_recipe",
+ "namespace": "mod"
+ }
+}
\ No newline at end of file
diff --git a/elements/AnaheimLeaves.mod.json b/elements/AnaheimLeaves.mod.json
new file mode 100644
index 0000000..88d4a49
--- /dev/null
+++ b/elements/AnaheimLeaves.mod.json
@@ -0,0 +1,138 @@
+{
+ "_fv": 73,
+ "_type": "block",
+ "definition": {
+ "texture": "anaheim_leaves",
+ "textureTop": "",
+ "textureLeft": "",
+ "textureFront": "",
+ "textureRight": "",
+ "textureBack": "",
+ "renderType": 10,
+ "customModelName": "Normal",
+ "rotationMode": 0,
+ "enablePitch": false,
+ "emissiveRendering": false,
+ "displayFluidOverlay": false,
+ "itemTexture": "",
+ "particleTexture": "",
+ "blockBase": "Leaves",
+ "tintType": "No tint",
+ "isItemTinted": false,
+ "hasTransparency": false,
+ "connectedSides": false,
+ "transparencyType": "SOLID",
+ "disableOffset": false,
+ "boundingBoxes": [
+ {
+ "mx": 0.0,
+ "my": 0.0,
+ "mz": 0.0,
+ "Mx": 16.0,
+ "My": 16.0,
+ "Mz": 16.0,
+ "subtract": false
+ }
+ ],
+ "customProperties": [],
+ "name": "Anaheim Leaves",
+ "specialInformation": {
+ "fixedValue": []
+ },
+ "hardness": 0.2,
+ "resistance": 0.2,
+ "hasGravity": false,
+ "isWaterloggable": false,
+ "creativeTabs": [
+ {
+ "value": "DECORATIONS"
+ }
+ ],
+ "destroyTool": "Not specified",
+ "customDrop": {
+ "value": ""
+ },
+ "dropAmount": 1,
+ "useLootTableForDrops": true,
+ "requiresCorrectTool": false,
+ "enchantPowerBonus": 0.0,
+ "plantsGrowOn": false,
+ "canRedstoneConnect": false,
+ "lightOpacity": 1,
+ "material": {
+ "value": "LEAVES"
+ },
+ "tickRate": 0,
+ "tickRandomly": false,
+ "isReplaceable": false,
+ "canProvidePower": false,
+ "emittedRedstonePower": {
+ "fixedValue": 15.0
+ },
+ "colorOnMap": "DEFAULT",
+ "creativePickItem": {
+ "value": ""
+ },
+ "offsetType": "NONE",
+ "aiPathNodeType": "DEFAULT",
+ "flammability": 30,
+ "fireSpreadSpeed": 0,
+ "isLadder": false,
+ "slipperiness": 0.6,
+ "speedFactor": 1.0,
+ "jumpFactor": 1.0,
+ "reactionToPushing": "NORMAL",
+ "isNotColidable": false,
+ "isCustomSoundType": false,
+ "soundOnStep": {
+ "value": "PLANT"
+ },
+ "breakSound": {
+ "value": ""
+ },
+ "fallSound": {
+ "value": ""
+ },
+ "hitSound": {
+ "value": ""
+ },
+ "placeSound": {
+ "value": ""
+ },
+ "stepSound": {
+ "value": ""
+ },
+ "luminance": 0,
+ "unbreakable": false,
+ "vanillaToolTier": "NONE",
+ "isBonemealable": false,
+ "hasInventory": false,
+ "openGUIOnRightClick": false,
+ "inventorySize": 9,
+ "inventoryStackSize": 64,
+ "inventoryDropWhenDestroyed": true,
+ "inventoryComparatorPower": true,
+ "inventoryOutSlotIDs": [],
+ "inventoryInSlotIDs": [],
+ "hasEnergyStorage": false,
+ "energyInitial": 0,
+ "energyCapacity": 400000,
+ "energyMaxReceive": 200,
+ "energyMaxExtract": 200,
+ "isFluidTank": false,
+ "fluidCapacity": 8000,
+ "fluidRestrictions": [],
+ "generateFeature": false,
+ "restrictionBiomes": [],
+ "blocksToReplace": [
+ {
+ "value": "TAG:stone_ore_replaceables"
+ }
+ ],
+ "generationShape": "UNIFORM",
+ "frequencyPerChunks": 10,
+ "frequencyOnChunk": 16,
+ "minGenerateHeight": 0,
+ "maxGenerateHeight": 64
+ }
+}
\ No newline at end of file
diff --git a/elements/AnaheimLog.mod.json b/elements/AnaheimLog.mod.json
new file mode 100644
index 0000000..69c4d57
--- /dev/null
+++ b/elements/AnaheimLog.mod.json
@@ -0,0 +1,141 @@
+{
+ "_fv": 73,
+ "_type": "block",
+ "definition": {
+ "texture": "anaheim_log_top",
+ "textureTop": "anaheim_log_top",
+ "textureLeft": "anaheim_log_side",
+ "textureFront": "anaheim_log_side",
+ "textureRight": "anaheim_log_side",
+ "textureBack": "anaheim_log_side",
+ "renderType": 10,
+ "customModelName": "Normal",
+ "rotationMode": 5,
+ "enablePitch": false,
+ "emissiveRendering": false,
+ "displayFluidOverlay": false,
+ "itemTexture": "",
+ "particleTexture": "",
+ "tintType": "No tint",
+ "isItemTinted": false,
+ "hasTransparency": false,
+ "connectedSides": false,
+ "transparencyType": "SOLID",
+ "disableOffset": false,
+ "boundingBoxes": [
+ {
+ "mx": 0.0,
+ "my": 0.0,
+ "mz": 0.0,
+ "Mx": 16.0,
+ "My": 16.0,
+ "Mz": 16.0,
+ "subtract": false
+ }
+ ],
+ "customProperties": [],
+ "name": "Anaheim Log",
+ "specialInformation": {
+ "fixedValue": []
+ },
+ "hardness": 2.0,
+ "resistance": 2.0,
+ "hasGravity": false,
+ "isWaterloggable": false,
+ "creativeTabs": [
+ {
+ "value": "BUILDING_BLOCKS"
+ }
+ ],
+ "destroyTool": "axe",
+ "customDrop": {
+ "value": ""
+ },
+ "dropAmount": 1,
+ "useLootTableForDrops": false,
+ "requiresCorrectTool": false,
+ "enchantPowerBonus": 0.0,
+ "plantsGrowOn": false,
+ "canRedstoneConnect": false,
+ "lightOpacity": 15,
+ "material": {
+ "value": "WOOD"
+ },
+ "tickRate": 0,
+ "tickRandomly": false,
+ "isReplaceable": false,
+ "canProvidePower": false,
+ "emittedRedstonePower": {
+ "fixedValue": 15.0
+ },
+ "colorOnMap": "DEFAULT",
+ "creativePickItem": {
+ "value": ""
+ },
+ "offsetType": "NONE",
+ "aiPathNodeType": "DEFAULT",
+ "flammability": 5,
+ "fireSpreadSpeed": 0,
+ "isLadder": false,
+ "slipperiness": 0.6,
+ "speedFactor": 1.0,
+ "jumpFactor": 1.0,
+ "reactionToPushing": "NORMAL",
+ "isNotColidable": false,
+ "isCustomSoundType": false,
+ "soundOnStep": {
+ "value": "WOOD"
+ },
+ "breakSound": {
+ "value": ""
+ },
+ "fallSound": {
+ "value": ""
+ },
+ "hitSound": {
+ "value": ""
+ },
+ "placeSound": {
+ "value": ""
+ },
+ "stepSound": {
+ "value": ""
+ },
+ "luminance": 0,
+ "unbreakable": false,
+ "vanillaToolTier": "NONE",
+ "isBonemealable": false,
+ "hasInventory": false,
+ "openGUIOnRightClick": false,
+ "inventorySize": 9,
+ "inventoryStackSize": 64,
+ "inventoryDropWhenDestroyed": true,
+ "inventoryComparatorPower": true,
+ "inventoryOutSlotIDs": [],
+ "inventoryInSlotIDs": [],
+ "hasEnergyStorage": false,
+ "energyInitial": 0,
+ "energyCapacity": 400000,
+ "energyMaxReceive": 200,
+ "energyMaxExtract": 200,
+ "isFluidTank": false,
+ "fluidCapacity": 8000,
+ "fluidRestrictions": [],
+ "generateFeature": false,
+ "restrictionBiomes": [
+ {
+ "value": "birch_forest"
+ }
+ ],
+ "blocksToReplace": [
+ {
+ "value": "TAG:stone_ore_replaceables"
+ }
+ ],
+ "generationShape": "UNIFORM",
+ "frequencyPerChunks": 10,
+ "frequencyOnChunk": 16,
+ "minGenerateHeight": 0,
+ "maxGenerateHeight": 64
+ }
+}
\ No newline at end of file
diff --git a/elements/AnaheimPlanks.mod.json b/elements/AnaheimPlanks.mod.json
new file mode 100644
index 0000000..139cda9
--- /dev/null
+++ b/elements/AnaheimPlanks.mod.json
@@ -0,0 +1,137 @@
+{
+ "_fv": 73,
+ "_type": "block",
+ "definition": {
+ "texture": "anaheim_planks",
+ "textureTop": "",
+ "textureLeft": "",
+ "textureFront": "",
+ "textureRight": "",
+ "textureBack": "",
+ "renderType": 11,
+ "customModelName": "Single texture",
+ "rotationMode": 0,
+ "enablePitch": false,
+ "emissiveRendering": false,
+ "displayFluidOverlay": false,
+ "itemTexture": "",
+ "particleTexture": "",
+ "tintType": "No tint",
+ "isItemTinted": false,
+ "hasTransparency": false,
+ "connectedSides": false,
+ "transparencyType": "SOLID",
+ "disableOffset": false,
+ "boundingBoxes": [
+ {
+ "mx": 0.0,
+ "my": 0.0,
+ "mz": 0.0,
+ "Mx": 16.0,
+ "My": 16.0,
+ "Mz": 16.0,
+ "subtract": false
+ }
+ ],
+ "customProperties": [],
+ "name": "Anaheim Planks",
+ "specialInformation": {
+ "fixedValue": []
+ },
+ "hardness": 2.0,
+ "resistance": 3.0,
+ "hasGravity": false,
+ "isWaterloggable": false,
+ "creativeTabs": [
+ {
+ "value": "BUILDING_BLOCKS"
+ }
+ ],
+ "destroyTool": "axe",
+ "customDrop": {
+ "value": ""
+ },
+ "dropAmount": 1,
+ "useLootTableForDrops": false,
+ "requiresCorrectTool": false,
+ "enchantPowerBonus": 0.0,
+ "plantsGrowOn": false,
+ "canRedstoneConnect": false,
+ "lightOpacity": 15,
+ "material": {
+ "value": "WOOD"
+ },
+ "tickRate": 0,
+ "tickRandomly": false,
+ "isReplaceable": false,
+ "canProvidePower": false,
+ "emittedRedstonePower": {
+ "fixedValue": 15.0
+ },
+ "colorOnMap": "DEFAULT",
+ "creativePickItem": {
+ "value": ""
+ },
+ "offsetType": "NONE",
+ "aiPathNodeType": "DEFAULT",
+ "flammability": 5,
+ "fireSpreadSpeed": 0,
+ "isLadder": false,
+ "slipperiness": 0.6,
+ "speedFactor": 1.0,
+ "jumpFactor": 1.0,
+ "reactionToPushing": "NORMAL",
+ "isNotColidable": false,
+ "isCustomSoundType": false,
+ "soundOnStep": {
+ "value": "WOOD"
+ },
+ "breakSound": {
+ "value": ""
+ },
+ "fallSound": {
+ "value": ""
+ },
+ "hitSound": {
+ "value": ""
+ },
+ "placeSound": {
+ "value": ""
+ },
+ "stepSound": {
+ "value": ""
+ },
+ "luminance": 0,
+ "unbreakable": false,
+ "vanillaToolTier": "NONE",
+ "isBonemealable": false,
+ "hasInventory": false,
+ "openGUIOnRightClick": false,
+ "inventorySize": 9,
+ "inventoryStackSize": 64,
+ "inventoryDropWhenDestroyed": true,
+ "inventoryComparatorPower": true,
+ "inventoryOutSlotIDs": [],
+ "inventoryInSlotIDs": [],
+ "hasEnergyStorage": false,
+ "energyInitial": 0,
+ "energyCapacity": 400000,
+ "energyMaxReceive": 200,
+ "energyMaxExtract": 200,
+ "isFluidTank": false,
+ "fluidCapacity": 8000,
+ "fluidRestrictions": [],
+ "generateFeature": false,
+ "restrictionBiomes": [],
+ "blocksToReplace": [
+ {
+ "value": "TAG:stone_ore_replaceables"
+ }
+ ],
+ "generationShape": "UNIFORM",
+ "frequencyPerChunks": 10,
+ "frequencyOnChunk": 16,
+ "minGenerateHeight": 0,
+ "maxGenerateHeight": 64
+ }
+}
\ No newline at end of file
diff --git a/elements/AnaheimPlanksLogRecipe.mod.json b/elements/AnaheimPlanksLogRecipe.mod.json
new file mode 100644
index 0000000..9f913b5
--- /dev/null
+++ b/elements/AnaheimPlanksLogRecipe.mod.json
@@ -0,0 +1,48 @@
+{
+ "_fv": 73,
+ "_type": "recipe",
+ "definition": {
+ "recipeType": "Crafting",
+ "recipeRetstackSize": 4,
+ "group": "planks",
+ "cookingBookCategory": "MISC",
+ "xpReward": 0.0,
+ "cookingTime": 200,
+ "craftingBookCategory": "BUILDING",
+ "recipeShapeless": true,
+ "recipeSlots": [
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": "CUSTOM:AnaheimLog"
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ }
+ ],
+ "recipeReturnStack": {
+ "value": "CUSTOM:AnaheimPlanks"
+ },
+ "name": "anaheim_planks_log_recipe",
+ "namespace": "mod"
+ }
+}
\ No newline at end of file
diff --git a/elements/AnaheimPlanksWoodRecipe.mod.json b/elements/AnaheimPlanksWoodRecipe.mod.json
new file mode 100644
index 0000000..bb8acd1
--- /dev/null
+++ b/elements/AnaheimPlanksWoodRecipe.mod.json
@@ -0,0 +1,48 @@
+{
+ "_fv": 73,
+ "_type": "recipe",
+ "definition": {
+ "recipeType": "Crafting",
+ "recipeRetstackSize": 4,
+ "group": "planks",
+ "cookingBookCategory": "MISC",
+ "xpReward": 0.0,
+ "cookingTime": 200,
+ "craftingBookCategory": "BUILDING",
+ "recipeShapeless": true,
+ "recipeSlots": [
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": "CUSTOM:AnaheimWood"
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ }
+ ],
+ "recipeReturnStack": {
+ "value": "CUSTOM:AnaheimPlanks"
+ },
+ "name": "anaheim_planks_wood_recipe",
+ "namespace": "mod"
+ }
+}
\ No newline at end of file
diff --git a/elements/AnaheimPressurePlate.mod.json b/elements/AnaheimPressurePlate.mod.json
new file mode 100644
index 0000000..aa01acd
--- /dev/null
+++ b/elements/AnaheimPressurePlate.mod.json
@@ -0,0 +1,138 @@
+{
+ "_fv": 73,
+ "_type": "block",
+ "definition": {
+ "texture": "anaheim_planks",
+ "textureTop": "",
+ "textureLeft": "",
+ "textureFront": "",
+ "textureRight": "",
+ "textureBack": "",
+ "renderType": 10,
+ "customModelName": "Normal",
+ "rotationMode": 0,
+ "enablePitch": false,
+ "emissiveRendering": false,
+ "displayFluidOverlay": false,
+ "itemTexture": "",
+ "particleTexture": "",
+ "blockBase": "PressurePlate",
+ "tintType": "No tint",
+ "isItemTinted": false,
+ "hasTransparency": false,
+ "connectedSides": false,
+ "transparencyType": "SOLID",
+ "disableOffset": false,
+ "boundingBoxes": [
+ {
+ "mx": 0.0,
+ "my": 0.0,
+ "mz": 0.0,
+ "Mx": 16.0,
+ "My": 16.0,
+ "Mz": 16.0,
+ "subtract": false
+ }
+ ],
+ "customProperties": [],
+ "name": "Anaheim Pressure Plate",
+ "specialInformation": {
+ "fixedValue": []
+ },
+ "hardness": 2.0,
+ "resistance": 3.0,
+ "hasGravity": false,
+ "isWaterloggable": false,
+ "creativeTabs": [
+ {
+ "value": "BUILDING_BLOCKS"
+ }
+ ],
+ "destroyTool": "Not specified",
+ "customDrop": {
+ "value": ""
+ },
+ "dropAmount": 1,
+ "useLootTableForDrops": false,
+ "requiresCorrectTool": false,
+ "enchantPowerBonus": 0.0,
+ "plantsGrowOn": false,
+ "canRedstoneConnect": false,
+ "lightOpacity": 0,
+ "material": {
+ "value": "WOOD"
+ },
+ "tickRate": 0,
+ "tickRandomly": false,
+ "isReplaceable": false,
+ "canProvidePower": false,
+ "emittedRedstonePower": {
+ "fixedValue": 15.0
+ },
+ "colorOnMap": "DEFAULT",
+ "creativePickItem": {
+ "value": ""
+ },
+ "offsetType": "NONE",
+ "aiPathNodeType": "DEFAULT",
+ "flammability": 5,
+ "fireSpreadSpeed": 0,
+ "isLadder": false,
+ "slipperiness": 0.6,
+ "speedFactor": 1.0,
+ "jumpFactor": 1.0,
+ "reactionToPushing": "NORMAL",
+ "isNotColidable": false,
+ "isCustomSoundType": false,
+ "soundOnStep": {
+ "value": "WOOD"
+ },
+ "breakSound": {
+ "value": ""
+ },
+ "fallSound": {
+ "value": ""
+ },
+ "hitSound": {
+ "value": ""
+ },
+ "placeSound": {
+ "value": ""
+ },
+ "stepSound": {
+ "value": ""
+ },
+ "luminance": 0,
+ "unbreakable": false,
+ "vanillaToolTier": "NONE",
+ "isBonemealable": false,
+ "hasInventory": false,
+ "openGUIOnRightClick": false,
+ "inventorySize": 9,
+ "inventoryStackSize": 64,
+ "inventoryDropWhenDestroyed": true,
+ "inventoryComparatorPower": true,
+ "inventoryOutSlotIDs": [],
+ "inventoryInSlotIDs": [],
+ "hasEnergyStorage": false,
+ "energyInitial": 0,
+ "energyCapacity": 400000,
+ "energyMaxReceive": 200,
+ "energyMaxExtract": 200,
+ "isFluidTank": false,
+ "fluidCapacity": 8000,
+ "fluidRestrictions": [],
+ "generateFeature": false,
+ "restrictionBiomes": [],
+ "blocksToReplace": [
+ {
+ "value": "TAG:stone_ore_replaceables"
+ }
+ ],
+ "generationShape": "UNIFORM",
+ "frequencyPerChunks": 10,
+ "frequencyOnChunk": 16,
+ "minGenerateHeight": 0,
+ "maxGenerateHeight": 64
+ }
+}
\ No newline at end of file
diff --git a/elements/AnaheimPressurePlateRecipe.mod.json b/elements/AnaheimPressurePlateRecipe.mod.json
new file mode 100644
index 0000000..d23c1a6
--- /dev/null
+++ b/elements/AnaheimPressurePlateRecipe.mod.json
@@ -0,0 +1,48 @@
+{
+ "_fv": 73,
+ "_type": "recipe",
+ "definition": {
+ "recipeType": "Crafting",
+ "recipeRetstackSize": 1,
+ "group": "wooden_pressure_plate",
+ "cookingBookCategory": "MISC",
+ "xpReward": 0.0,
+ "cookingTime": 200,
+ "craftingBookCategory": "REDSTONE",
+ "recipeShapeless": false,
+ "recipeSlots": [
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": "CUSTOM:AnaheimPlanks"
+ },
+ {
+ "value": "CUSTOM:AnaheimPlanks"
+ },
+ {
+ "value": ""
+ }
+ ],
+ "recipeReturnStack": {
+ "value": "CUSTOM:AnaheimPressurePlate"
+ },
+ "name": "anaheim_pressure_plate_recipe",
+ "namespace": "mod"
+ }
+}
\ No newline at end of file
diff --git a/elements/AnaheimSlab.mod.json b/elements/AnaheimSlab.mod.json
new file mode 100644
index 0000000..caa2029
--- /dev/null
+++ b/elements/AnaheimSlab.mod.json
@@ -0,0 +1,138 @@
+{
+ "_fv": 73,
+ "_type": "block",
+ "definition": {
+ "texture": "anaheim_planks",
+ "textureTop": "anaheim_planks",
+ "textureLeft": "",
+ "textureFront": "anaheim_planks",
+ "textureRight": "",
+ "textureBack": "",
+ "renderType": 10,
+ "customModelName": "Normal",
+ "rotationMode": 0,
+ "enablePitch": false,
+ "emissiveRendering": false,
+ "displayFluidOverlay": false,
+ "itemTexture": "",
+ "particleTexture": "",
+ "blockBase": "Slab",
+ "tintType": "No tint",
+ "isItemTinted": false,
+ "hasTransparency": false,
+ "connectedSides": false,
+ "transparencyType": "SOLID",
+ "disableOffset": false,
+ "boundingBoxes": [
+ {
+ "mx": 0.0,
+ "my": 0.0,
+ "mz": 0.0,
+ "Mx": 16.0,
+ "My": 16.0,
+ "Mz": 16.0,
+ "subtract": false
+ }
+ ],
+ "customProperties": [],
+ "name": "Anaheim Slab",
+ "specialInformation": {
+ "fixedValue": []
+ },
+ "hardness": 2.0,
+ "resistance": 3.0,
+ "hasGravity": false,
+ "isWaterloggable": false,
+ "creativeTabs": [
+ {
+ "value": "BUILDING_BLOCKS"
+ }
+ ],
+ "destroyTool": "Not specified",
+ "customDrop": {
+ "value": ""
+ },
+ "dropAmount": 1,
+ "useLootTableForDrops": false,
+ "requiresCorrectTool": false,
+ "enchantPowerBonus": 0.0,
+ "plantsGrowOn": false,
+ "canRedstoneConnect": false,
+ "lightOpacity": 0,
+ "material": {
+ "value": "WOOD"
+ },
+ "tickRate": 0,
+ "tickRandomly": false,
+ "isReplaceable": false,
+ "canProvidePower": false,
+ "emittedRedstonePower": {
+ "fixedValue": 15.0
+ },
+ "colorOnMap": "DEFAULT",
+ "creativePickItem": {
+ "value": ""
+ },
+ "offsetType": "NONE",
+ "aiPathNodeType": "DEFAULT",
+ "flammability": 5,
+ "fireSpreadSpeed": 0,
+ "isLadder": false,
+ "slipperiness": 0.6,
+ "speedFactor": 1.0,
+ "jumpFactor": 1.0,
+ "reactionToPushing": "NORMAL",
+ "isNotColidable": false,
+ "isCustomSoundType": false,
+ "soundOnStep": {
+ "value": "WOOD"
+ },
+ "breakSound": {
+ "value": ""
+ },
+ "fallSound": {
+ "value": ""
+ },
+ "hitSound": {
+ "value": ""
+ },
+ "placeSound": {
+ "value": ""
+ },
+ "stepSound": {
+ "value": ""
+ },
+ "luminance": 0,
+ "unbreakable": false,
+ "vanillaToolTier": "NONE",
+ "isBonemealable": false,
+ "hasInventory": false,
+ "openGUIOnRightClick": false,
+ "inventorySize": 9,
+ "inventoryStackSize": 64,
+ "inventoryDropWhenDestroyed": true,
+ "inventoryComparatorPower": true,
+ "inventoryOutSlotIDs": [],
+ "inventoryInSlotIDs": [],
+ "hasEnergyStorage": false,
+ "energyInitial": 0,
+ "energyCapacity": 400000,
+ "energyMaxReceive": 200,
+ "energyMaxExtract": 200,
+ "isFluidTank": false,
+ "fluidCapacity": 8000,
+ "fluidRestrictions": [],
+ "generateFeature": false,
+ "restrictionBiomes": [],
+ "blocksToReplace": [
+ {
+ "value": "TAG:stone_ore_replaceables"
+ }
+ ],
+ "generationShape": "UNIFORM",
+ "frequencyPerChunks": 10,
+ "frequencyOnChunk": 16,
+ "minGenerateHeight": 0,
+ "maxGenerateHeight": 64
+ }
+}
\ No newline at end of file
diff --git a/elements/AnaheimSlabRecipe.mod.json b/elements/AnaheimSlabRecipe.mod.json
new file mode 100644
index 0000000..418fad3
--- /dev/null
+++ b/elements/AnaheimSlabRecipe.mod.json
@@ -0,0 +1,48 @@
+{
+ "_fv": 73,
+ "_type": "recipe",
+ "definition": {
+ "recipeType": "Crafting",
+ "recipeRetstackSize": 6,
+ "group": "wooden_slab",
+ "cookingBookCategory": "MISC",
+ "xpReward": 0.0,
+ "cookingTime": 200,
+ "craftingBookCategory": "BUILDING",
+ "recipeShapeless": false,
+ "recipeSlots": [
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": "CUSTOM:AnaheimPlanks"
+ },
+ {
+ "value": "CUSTOM:AnaheimPlanks"
+ },
+ {
+ "value": "CUSTOM:AnaheimPlanks"
+ }
+ ],
+ "recipeReturnStack": {
+ "value": "CUSTOM:AnaheimSlab"
+ },
+ "name": "anaheim_slab_recipe",
+ "namespace": "mod"
+ }
+}
\ No newline at end of file
diff --git a/elements/AnaheimStairs.mod.json b/elements/AnaheimStairs.mod.json
new file mode 100644
index 0000000..ad576c3
--- /dev/null
+++ b/elements/AnaheimStairs.mod.json
@@ -0,0 +1,138 @@
+{
+ "_fv": 73,
+ "_type": "block",
+ "definition": {
+ "texture": "anaheim_planks",
+ "textureTop": "anaheim_planks",
+ "textureLeft": "",
+ "textureFront": "anaheim_planks",
+ "textureRight": "",
+ "textureBack": "",
+ "renderType": 10,
+ "customModelName": "Normal",
+ "rotationMode": 0,
+ "enablePitch": false,
+ "emissiveRendering": false,
+ "displayFluidOverlay": false,
+ "itemTexture": "",
+ "particleTexture": "",
+ "blockBase": "Stairs",
+ "tintType": "No tint",
+ "isItemTinted": false,
+ "hasTransparency": false,
+ "connectedSides": false,
+ "transparencyType": "SOLID",
+ "disableOffset": false,
+ "boundingBoxes": [
+ {
+ "mx": 0.0,
+ "my": 0.0,
+ "mz": 0.0,
+ "Mx": 16.0,
+ "My": 16.0,
+ "Mz": 16.0,
+ "subtract": false
+ }
+ ],
+ "customProperties": [],
+ "name": "Anaheim Stairs",
+ "specialInformation": {
+ "fixedValue": []
+ },
+ "hardness": 3.0,
+ "resistance": 2.0,
+ "hasGravity": false,
+ "isWaterloggable": false,
+ "creativeTabs": [
+ {
+ "value": "BUILDING_BLOCKS"
+ }
+ ],
+ "destroyTool": "Not specified",
+ "customDrop": {
+ "value": ""
+ },
+ "dropAmount": 1,
+ "useLootTableForDrops": false,
+ "requiresCorrectTool": false,
+ "enchantPowerBonus": 0.0,
+ "plantsGrowOn": false,
+ "canRedstoneConnect": false,
+ "lightOpacity": 0,
+ "material": {
+ "value": "WOOD"
+ },
+ "tickRate": 0,
+ "tickRandomly": false,
+ "isReplaceable": false,
+ "canProvidePower": false,
+ "emittedRedstonePower": {
+ "fixedValue": 15.0
+ },
+ "colorOnMap": "DEFAULT",
+ "creativePickItem": {
+ "value": ""
+ },
+ "offsetType": "NONE",
+ "aiPathNodeType": "DEFAULT",
+ "flammability": 5,
+ "fireSpreadSpeed": 0,
+ "isLadder": false,
+ "slipperiness": 0.6,
+ "speedFactor": 1.0,
+ "jumpFactor": 1.0,
+ "reactionToPushing": "NORMAL",
+ "isNotColidable": false,
+ "isCustomSoundType": false,
+ "soundOnStep": {
+ "value": "WOOD"
+ },
+ "breakSound": {
+ "value": ""
+ },
+ "fallSound": {
+ "value": ""
+ },
+ "hitSound": {
+ "value": ""
+ },
+ "placeSound": {
+ "value": ""
+ },
+ "stepSound": {
+ "value": ""
+ },
+ "luminance": 0,
+ "unbreakable": false,
+ "vanillaToolTier": "NONE",
+ "isBonemealable": false,
+ "hasInventory": false,
+ "openGUIOnRightClick": false,
+ "inventorySize": 9,
+ "inventoryStackSize": 64,
+ "inventoryDropWhenDestroyed": true,
+ "inventoryComparatorPower": true,
+ "inventoryOutSlotIDs": [],
+ "inventoryInSlotIDs": [],
+ "hasEnergyStorage": false,
+ "energyInitial": 0,
+ "energyCapacity": 400000,
+ "energyMaxReceive": 200,
+ "energyMaxExtract": 200,
+ "isFluidTank": false,
+ "fluidCapacity": 8000,
+ "fluidRestrictions": [],
+ "generateFeature": false,
+ "restrictionBiomes": [],
+ "blocksToReplace": [
+ {
+ "value": "TAG:stone_ore_replaceables"
+ }
+ ],
+ "generationShape": "UNIFORM",
+ "frequencyPerChunks": 10,
+ "frequencyOnChunk": 16,
+ "minGenerateHeight": 0,
+ "maxGenerateHeight": 64
+ }
+}
\ No newline at end of file
diff --git a/elements/AnaheimStairsRecipe.mod.json b/elements/AnaheimStairsRecipe.mod.json
new file mode 100644
index 0000000..ab59cc1
--- /dev/null
+++ b/elements/AnaheimStairsRecipe.mod.json
@@ -0,0 +1,48 @@
+{
+ "_fv": 73,
+ "_type": "recipe",
+ "definition": {
+ "recipeType": "Crafting",
+ "recipeRetstackSize": 4,
+ "group": "wooden_stairs",
+ "cookingBookCategory": "MISC",
+ "xpReward": 0.0,
+ "cookingTime": 200,
+ "craftingBookCategory": "BUILDING",
+ "recipeShapeless": false,
+ "recipeSlots": [
+ {
+ "value": "CUSTOM:AnaheimPlanks"
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": "CUSTOM:AnaheimPlanks"
+ },
+ {
+ "value": "CUSTOM:AnaheimPlanks"
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": "CUSTOM:AnaheimPlanks"
+ },
+ {
+ "value": "CUSTOM:AnaheimPlanks"
+ },
+ {
+ "value": "CUSTOM:AnaheimPlanks"
+ }
+ ],
+ "recipeReturnStack": {
+ "value": "CUSTOM:AnaheimStairs"
+ },
+ "name": "anaheim_stairs_recipe",
+ "namespace": "mod"
+ }
+}
\ No newline at end of file
diff --git a/elements/AnaheimStickRecipe.mod.json b/elements/AnaheimStickRecipe.mod.json
new file mode 100644
index 0000000..4e4bb03
--- /dev/null
+++ b/elements/AnaheimStickRecipe.mod.json
@@ -0,0 +1,48 @@
+{
+ "_fv": 73,
+ "_type": "recipe",
+ "definition": {
+ "recipeType": "Crafting",
+ "recipeRetstackSize": 4,
+ "group": "sticks",
+ "cookingBookCategory": "MISC",
+ "xpReward": 0.0,
+ "cookingTime": 200,
+ "craftingBookCategory": "MISC",
+ "recipeShapeless": false,
+ "recipeSlots": [
+ {
+ "value": "CUSTOM:AnaheimPlanks"
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": "CUSTOM:AnaheimPlanks"
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ }
+ ],
+ "recipeReturnStack": {
+ "value": "Items.STICK"
+ },
+ "name": "anaheim_stick_recipe",
+ "namespace": "mod"
+ }
+}
\ No newline at end of file
diff --git a/elements/AnaheimTreeFeature.mod.json b/elements/AnaheimTreeFeature.mod.json
new file mode 100644
index 0000000..6b2729b
--- /dev/null
+++ b/elements/AnaheimTreeFeature.mod.json
@@ -0,0 +1,14 @@
+{
+ "_fv": 73,
+ "_type": "feature",
+ "definition": {
+ "skipPlacement": false,
+ "generationStep": "VEGETAL_DECORATION",
+ "restrictionBiomes": [
+ {
+ "value": "birch_forest"
+ }
+ ],
+ "featurexml": "oak420TRUETRUEBlocks.DIRT#0CUSTOM:AnaheimLogCUSTOM:AnaheimLeaves513OCEAN_FLOOR_WG0-10"
+ }
+}
\ No newline at end of file
diff --git a/elements/AnaheimTreeLeavesLootTable.mod.json b/elements/AnaheimTreeLeavesLootTable.mod.json
new file mode 100644
index 0000000..3309321
--- /dev/null
+++ b/elements/AnaheimTreeLeavesLootTable.mod.json
@@ -0,0 +1,108 @@
+{
+ "_fv": 73,
+ "_type": "loottable",
+ "definition": {
+ "type": "Block",
+ "pools": [
+ {
+ "minrolls": 1,
+ "maxrolls": 1,
+ "minbonusrolls": 1,
+ "maxbonusrolls": 1,
+ "hasbonusrolls": false,
+ "entries": [
+ {
+ "type": "item",
+ "item": {
+ "value": "Items.STICK"
+ },
+ "weight": 3,
+ "minCount": 1,
+ "maxCount": 1,
+ "minEnchantmentLevel": 0,
+ "maxEnchantmentLevel": 0,
+ "affectedByFortune": true,
+ "explosionDecay": false,
+ "silkTouchMode": 2
+ },
+ {
+ "type": "item",
+ "item": {
+ "value": "Blocks.AIR"
+ },
+ "weight": 100,
+ "minCount": 1,
+ "maxCount": 1,
+ "minEnchantmentLevel": 0,
+ "maxEnchantmentLevel": 0,
+ "affectedByFortune": false,
+ "explosionDecay": false,
+ "silkTouchMode": 2
+ }
+ ]
+ },
+ {
+ "minrolls": 1,
+ "maxrolls": 1,
+ "minbonusrolls": 1,
+ "maxbonusrolls": 1,
+ "hasbonusrolls": false,
+ "entries": [
+ {
+ "type": "item",
+ "item": {
+ "value": "CUSTOM:AnaheimLeaves"
+ },
+ "weight": 1,
+ "minCount": 1,
+ "maxCount": 1,
+ "minEnchantmentLevel": 0,
+ "maxEnchantmentLevel": 0,
+ "affectedByFortune": false,
+ "explosionDecay": false,
+ "silkTouchMode": 1
+ }
+ ]
+ },
+ {
+ "minrolls": 1,
+ "maxrolls": 1,
+ "minbonusrolls": 1,
+ "maxbonusrolls": 1,
+ "hasbonusrolls": false,
+ "entries": [
+ {
+ "type": "item",
+ "item": {
+ "value": "CUSTOM:Orange"
+ },
+ "weight": 10,
+ "minCount": 1,
+ "maxCount": 1,
+ "minEnchantmentLevel": 0,
+ "maxEnchantmentLevel": 0,
+ "affectedByFortune": true,
+ "explosionDecay": false,
+ "silkTouchMode": 2
+ },
+ {
+ "type": "item",
+ "item": {
+ "value": "Blocks.AIR"
+ },
+ "weight": 100,
+ "minCount": 1,
+ "maxCount": 1,
+ "minEnchantmentLevel": 0,
+ "maxEnchantmentLevel": 0,
+ "affectedByFortune": false,
+ "explosionDecay": false,
+ "silkTouchMode": 2
+ }
+ ]
+ }
+ ],
+ "name": "blocks/anaheim_leaves",
+ "namespace": "mod"
+ }
+}
\ No newline at end of file
diff --git a/elements/AnaheimWood.mod.json b/elements/AnaheimWood.mod.json
new file mode 100644
index 0000000..cf8df44
--- /dev/null
+++ b/elements/AnaheimWood.mod.json
@@ -0,0 +1,137 @@
+{
+ "_fv": 73,
+ "_type": "block",
+ "definition": {
+ "texture": "anaheim_log_side",
+ "textureTop": "",
+ "textureLeft": "",
+ "textureFront": "",
+ "textureRight": "",
+ "textureBack": "",
+ "renderType": 11,
+ "customModelName": "Single texture",
+ "rotationMode": 5,
+ "enablePitch": false,
+ "emissiveRendering": false,
+ "displayFluidOverlay": false,
+ "itemTexture": "",
+ "particleTexture": "",
+ "tintType": "No tint",
+ "isItemTinted": false,
+ "hasTransparency": false,
+ "connectedSides": false,
+ "transparencyType": "SOLID",
+ "disableOffset": false,
+ "boundingBoxes": [
+ {
+ "mx": 0.0,
+ "my": 0.0,
+ "mz": 0.0,
+ "Mx": 16.0,
+ "My": 16.0,
+ "Mz": 16.0,
+ "subtract": false
+ }
+ ],
+ "customProperties": [],
+ "name": "Anaheim Wood",
+ "specialInformation": {
+ "fixedValue": []
+ },
+ "hardness": 2.0,
+ "resistance": 2.0,
+ "hasGravity": false,
+ "isWaterloggable": false,
+ "creativeTabs": [
+ {
+ "value": "BUILDING_BLOCKS"
+ }
+ ],
+ "destroyTool": "axe",
+ "customDrop": {
+ "value": ""
+ },
+ "dropAmount": 1,
+ "useLootTableForDrops": false,
+ "requiresCorrectTool": false,
+ "enchantPowerBonus": 0.0,
+ "plantsGrowOn": false,
+ "canRedstoneConnect": false,
+ "lightOpacity": 15,
+ "material": {
+ "value": "WOOD"
+ },
+ "tickRate": 0,
+ "tickRandomly": false,
+ "isReplaceable": false,
+ "canProvidePower": false,
+ "emittedRedstonePower": {
+ "fixedValue": 15.0
+ },
+ "colorOnMap": "DEFAULT",
+ "creativePickItem": {
+ "value": ""
+ },
+ "offsetType": "NONE",
+ "aiPathNodeType": "DEFAULT",
+ "flammability": 5,
+ "fireSpreadSpeed": 0,
+ "isLadder": false,
+ "slipperiness": 0.6,
+ "speedFactor": 1.0,
+ "jumpFactor": 1.0,
+ "reactionToPushing": "NORMAL",
+ "isNotColidable": false,
+ "isCustomSoundType": false,
+ "soundOnStep": {
+ "value": "WOOD"
+ },
+ "breakSound": {
+ "value": ""
+ },
+ "fallSound": {
+ "value": ""
+ },
+ "hitSound": {
+ "value": ""
+ },
+ "placeSound": {
+ "value": ""
+ },
+ "stepSound": {
+ "value": ""
+ },
+ "luminance": 0,
+ "unbreakable": false,
+ "vanillaToolTier": "NONE",
+ "isBonemealable": false,
+ "hasInventory": false,
+ "openGUIOnRightClick": false,
+ "inventorySize": 9,
+ "inventoryStackSize": 64,
+ "inventoryDropWhenDestroyed": true,
+ "inventoryComparatorPower": true,
+ "inventoryOutSlotIDs": [],
+ "inventoryInSlotIDs": [],
+ "hasEnergyStorage": false,
+ "energyInitial": 0,
+ "energyCapacity": 400000,
+ "energyMaxReceive": 200,
+ "energyMaxExtract": 200,
+ "isFluidTank": false,
+ "fluidCapacity": 8000,
+ "fluidRestrictions": [],
+ "generateFeature": false,
+ "restrictionBiomes": [],
+ "blocksToReplace": [
+ {
+ "value": "TAG:stone_ore_replaceables"
+ }
+ ],
+ "generationShape": "UNIFORM",
+ "frequencyPerChunks": 10,
+ "frequencyOnChunk": 16,
+ "minGenerateHeight": 0,
+ "maxGenerateHeight": 64
+ }
+}
\ No newline at end of file
diff --git a/elements/AnaheimWoodRecipe.mod.json b/elements/AnaheimWoodRecipe.mod.json
new file mode 100644
index 0000000..16d2ec9
--- /dev/null
+++ b/elements/AnaheimWoodRecipe.mod.json
@@ -0,0 +1,48 @@
+{
+ "_fv": 73,
+ "_type": "recipe",
+ "definition": {
+ "recipeType": "Crafting",
+ "recipeRetstackSize": 3,
+ "group": "bark",
+ "cookingBookCategory": "MISC",
+ "xpReward": 0.0,
+ "cookingTime": 200,
+ "craftingBookCategory": "BUILDING",
+ "recipeShapeless": false,
+ "recipeSlots": [
+ {
+ "value": "CUSTOM:AnaheimLog"
+ },
+ {
+ "value": "CUSTOM:AnaheimLog"
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": "CUSTOM:AnaheimLog"
+ },
+ {
+ "value": "CUSTOM:AnaheimLog"
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ }
+ ],
+ "recipeReturnStack": {
+ "value": "CUSTOM:AnaheimWood"
+ },
+ "name": "anaheim_wood_recipe",
+ "namespace": "mod"
+ }
+}
\ No newline at end of file
diff --git a/elements/BedrockAdvancement.mod.json b/elements/BedrockAdvancement.mod.json
index 47ec76c..eaf668b 100644
--- a/elements/BedrockAdvancement.mod.json
+++ b/elements/BedrockAdvancement.mod.json
@@ -2,8 +2,8 @@
"_fv": 73,
"_type": "achievement",
"definition": {
- "achievementName": "Unobtainium Block",
- "achievementDescription": "Obtain Bedrock",
+ "achievementName": "The Voices Are Gone. But This Is Just The Beginning.",
+ "achievementDescription": "Obtain Bedrock via sacrificing valuable time of your life",
"achievementIcon": {
"value": "Blocks.BEDROCK"
},
@@ -17,7 +17,7 @@
"rewardXP": 0,
"achievementType": "challenge",
"parent": {
- "value": "CUSTOM:BedrockShardAdvancement"
+ "value": "CUSTOM:HexaCondensedNetherrackAdvancement"
},
"triggerxml": "164Blocks.BEDROCK"
}
diff --git a/elements/BedrockApple.mod.json b/elements/BedrockApple.mod.json
index d979070..b6ca69c 100644
--- a/elements/BedrockApple.mod.json
+++ b/elements/BedrockApple.mod.json
@@ -16,7 +16,7 @@
],
"stackSize": 64,
"enchantability": 0,
- "useDuration": 32,
+ "useDuration": 9,
"toolType": 1.0,
"damageCount": 0,
"recipeRemainder": {
diff --git a/elements/BedrockApplePlayerFinishesUsingItem.mod.json b/elements/BedrockApplePlayerFinishesUsingItem.mod.json
index 145ed17..ae6c850 100644
--- a/elements/BedrockApplePlayerFinishesUsingItem.mod.json
+++ b/elements/BedrockApplePlayerFinishesUsingItem.mod.json
@@ -2,6 +2,6 @@
"_fv": 73,
"_type": "procedure",
"definition": {
- "procedurexml": "no_ext_triggerBLINDNESS02000FALSEFALSEDARKNESS02000FALSEFALSEWITHER0100FALSEFALSEEntityPlayerPermanentCreativeFlight1EQPermanentCreativeFlight1§8Bedrock Apple §rgranted you Creative Flight!FALSE"
+ "procedurexml": "no_ext_triggerBLINDNESS02000FALSEFALSEDARKNESS02000FALSEFALSEWITHER0100FALSEFALSEEntityPlayerPermanentCreativeFlight1EQPermanentCreativeFlight1§0Bedrock Apple §rgranted you Creative Flight!FALSE"
}
}
\ No newline at end of file
diff --git a/elements/BedrockAppleRecipe.mod.json b/elements/BedrockAppleRecipe.mod.json
index e8bec09..3bb3e54 100644
--- a/elements/BedrockAppleRecipe.mod.json
+++ b/elements/BedrockAppleRecipe.mod.json
@@ -24,7 +24,7 @@
"value": "Blocks.BEDROCK"
},
{
- "value": "Items.GOLDEN_APPLE#1"
+ "value": "CUSTOM:VoidApple"
},
{
"value": "Blocks.BEDROCK"
diff --git a/elements/BedrockShardAdvancement.mod.json b/elements/BedrockShardAdvancement.mod.json
index 91817a1..8a051ac 100644
--- a/elements/BedrockShardAdvancement.mod.json
+++ b/elements/BedrockShardAdvancement.mod.json
@@ -2,8 +2,8 @@
"_fv": 73,
"_type": "achievement",
"definition": {
- "achievementName": "Unobtainium",
- "achievementDescription": "Obtain Bedrock Shard",
+ "achievementName": "A Shard That Weighs As Much As 531,441 Netherracks",
+ "achievementDescription": "Obtain Bedrock Shard via mining Bedrock with a non-silk-touch Bedrock Pickaxe",
"achievementIcon": {
"value": "CUSTOM:BedrockShard"
},
@@ -17,7 +17,7 @@
"rewardXP": 0,
"achievementType": "challenge",
"parent": {
- "value": "CUSTOM:WelcomeAdvancement"
+ "value": "CUSTOM:BedrockAdvancement"
},
"triggerxml": "164CUSTOM:BedrockShard"
}
diff --git a/elements/BlackIronAdvancement.mod.json b/elements/BlackIronAdvancement.mod.json
new file mode 100644
index 0000000..8fc36af
--- /dev/null
+++ b/elements/BlackIronAdvancement.mod.json
@@ -0,0 +1,24 @@
+{
+ "_fv": 73,
+ "_type": "achievement",
+ "definition": {
+ "achievementName": "\"Black\" Iron Ingot",
+ "achievementDescription": "Obtain Black Iron Ingot",
+ "achievementIcon": {
+ "value": "CUSTOM:BlackIronIngot"
+ },
+ "background": "Default",
+ "disableDisplay": false,
+ "showPopup": true,
+ "announceToChat": true,
+ "hideIfNotCompleted": false,
+ "rewardLoot": [],
+ "rewardRecipes": [],
+ "rewardXP": 0,
+ "achievementType": "goal",
+ "parent": {
+ "value": "CUSTOM:WelcomeAdvancement"
+ },
+ "triggerxml": "164CUSTOM:BlackIronIngot"
+ }
+}
\ No newline at end of file
diff --git a/elements/BlackIronApple.mod.json b/elements/BlackIronApple.mod.json
new file mode 100644
index 0000000..7bd2cfd
--- /dev/null
+++ b/elements/BlackIronApple.mod.json
@@ -0,0 +1,68 @@
+{
+ "_fv": 73,
+ "_type": "item",
+ "definition": {
+ "renderType": 0,
+ "texture": "black_iron_apple",
+ "customModelName": "Normal",
+ "customProperties": {},
+ "states": [],
+ "name": "Black Iron Apple",
+ "rarity": "EPIC",
+ "creativeTabs": [
+ {
+ "value": "FOOD"
+ }
+ ],
+ "stackSize": 64,
+ "enchantability": 0,
+ "useDuration": 9,
+ "toolType": 1.0,
+ "damageCount": 0,
+ "recipeRemainder": {
+ "value": ""
+ },
+ "destroyAnyBlock": false,
+ "immuneToFire": true,
+ "stayInGridWhenCrafting": false,
+ "damageOnCrafting": false,
+ "enableMeleeDamage": false,
+ "damageVsEntity": 0.0,
+ "specialInformation": {
+ "fixedValue": [
+ "When consumed: Grants 1 permanent bonus Armor and 0.67 permanent bonus Armor Toughness."
+ ]
+ },
+ "glowCondition": {
+ "fixedValue": true
+ },
+ "inventorySize": 9,
+ "inventoryStackSize": 64,
+ "onFinishUsingItem": {
+ "name": "BlackIronApplePlayerFinishesUsingItem"
+ },
+ "enableRanged": false,
+ "shootConstantly": false,
+ "rangedItemChargesPower": false,
+ "projectile": {
+ "value": "CUSTOM:PocketLightningProjectile"
+ },
+ "projectileDisableAmmoCheck": false,
+ "isFood": true,
+ "nutritionalValue": 8,
+ "saturation": 0.7,
+ "eatResultItem": {
+ "value": ""
+ },
+ "isMeat": false,
+ "isAlwaysEdible": true,
+ "animation": "eat",
+ "isMusicDisc": false,
+ "musicDiscMusic": {
+ "value": ""
+ },
+ "musicDiscDescription": "",
+ "musicDiscLengthInTicks": 100,
+ "musicDiscAnalogOutput": 0
+ }
+}
\ No newline at end of file
diff --git a/elements/BlackIronAppleAdvancement.mod.json b/elements/BlackIronAppleAdvancement.mod.json
new file mode 100644
index 0000000..51330d8
--- /dev/null
+++ b/elements/BlackIronAppleAdvancement.mod.json
@@ -0,0 +1,24 @@
+{
+ "_fv": 73,
+ "_type": "achievement",
+ "definition": {
+ "achievementName": "Who Thought This Was A Good Idea???",
+ "achievementDescription": "Eat a Black Iron Apple",
+ "achievementIcon": {
+ "value": "CUSTOM:BlackIronApple"
+ },
+ "background": "Default",
+ "disableDisplay": false,
+ "showPopup": true,
+ "announceToChat": true,
+ "hideIfNotCompleted": false,
+ "rewardLoot": [],
+ "rewardRecipes": [],
+ "rewardXP": 0,
+ "achievementType": "challenge",
+ "parent": {
+ "value": "CUSTOM:BlackIronAdvancement"
+ },
+ "triggerxml": "CUSTOM:BlackIronApple"
+ }
+}
\ No newline at end of file
diff --git a/elements/BlackIronApplePlayerFinishesUsingItem.mod.json b/elements/BlackIronApplePlayerFinishesUsingItem.mod.json
new file mode 100644
index 0000000..e87677f
--- /dev/null
+++ b/elements/BlackIronApplePlayerFinishesUsingItem.mod.json
@@ -0,0 +1,7 @@
+{
+ "_fv": 73,
+ "_type": "procedure",
+ "definition": {
+ "procedurexml": "no_ext_triggerABSORPTION1600TRUETRUEARMORADDARMOR1ARMOR_TOUGHNESSADDARMOR_TOUGHNESS1PermanentBonusArmorADDPermanentBonusArmor1PermanentBonusArmorToughnessADDPermanentBonusArmorToughness1EntityPlayer§8Black Iron Apple §rgranted you bonus Armor and Armor Toughenss!FALSE"
+ }
+}
\ No newline at end of file
diff --git a/elements/BlackIronAppleRecipe.mod.json b/elements/BlackIronAppleRecipe.mod.json
new file mode 100644
index 0000000..070f937
--- /dev/null
+++ b/elements/BlackIronAppleRecipe.mod.json
@@ -0,0 +1,28 @@
+{
+ "_fv": 73,
+ "_type": "recipe",
+ "definition": {
+ "recipeType": "Smithing",
+ "recipeRetstackSize": 1,
+ "group": "",
+ "cookingBookCategory": "MISC",
+ "xpReward": 0.0,
+ "cookingTime": 200,
+ "craftingBookCategory": "MISC",
+ "recipeShapeless": false,
+ "smithingInputStack": {
+ "value": "Items.GOLDEN_APPLE#1"
+ },
+ "smithingInputAdditionStack": {
+ "value": "CUSTOM:PowerStar"
+ },
+ "smithingInputTemplateStack": {
+ "value": "CUSTOM:BlackIronBlock"
+ },
+ "smithingReturnStack": {
+ "value": "CUSTOM:BlackIronApple"
+ },
+ "name": "black_iron_apple_recipe",
+ "namespace": "mod"
+ }
+}
\ No newline at end of file
diff --git a/elements/BlackIronBlock.mod.json b/elements/BlackIronBlock.mod.json
new file mode 100644
index 0000000..bdd6bcf
--- /dev/null
+++ b/elements/BlackIronBlock.mod.json
@@ -0,0 +1,137 @@
+{
+ "_fv": 73,
+ "_type": "block",
+ "definition": {
+ "texture": "black_iron_block",
+ "textureTop": "",
+ "textureLeft": "",
+ "textureFront": "",
+ "textureRight": "",
+ "textureBack": "",
+ "renderType": 11,
+ "customModelName": "Single texture",
+ "rotationMode": 0,
+ "enablePitch": false,
+ "emissiveRendering": false,
+ "displayFluidOverlay": false,
+ "itemTexture": "",
+ "particleTexture": "",
+ "tintType": "No tint",
+ "isItemTinted": false,
+ "hasTransparency": false,
+ "connectedSides": false,
+ "transparencyType": "SOLID",
+ "disableOffset": false,
+ "boundingBoxes": [
+ {
+ "mx": 0.0,
+ "my": 0.0,
+ "mz": 0.0,
+ "Mx": 16.0,
+ "My": 16.0,
+ "Mz": 16.0,
+ "subtract": false
+ }
+ ],
+ "customProperties": [],
+ "name": "Black Iron Block",
+ "specialInformation": {
+ "fixedValue": []
+ },
+ "hardness": 5.0,
+ "resistance": 6.0,
+ "hasGravity": false,
+ "isWaterloggable": false,
+ "creativeTabs": [
+ {
+ "value": "BUILDING_BLOCKS"
+ }
+ ],
+ "destroyTool": "pickaxe",
+ "customDrop": {
+ "value": ""
+ },
+ "dropAmount": 1,
+ "useLootTableForDrops": false,
+ "requiresCorrectTool": true,
+ "enchantPowerBonus": 0.0,
+ "plantsGrowOn": false,
+ "canRedstoneConnect": false,
+ "lightOpacity": 15,
+ "material": {
+ "value": "NONE"
+ },
+ "tickRate": 0,
+ "tickRandomly": false,
+ "isReplaceable": false,
+ "canProvidePower": false,
+ "emittedRedstonePower": {
+ "fixedValue": 15.0
+ },
+ "colorOnMap": "DEFAULT",
+ "creativePickItem": {
+ "value": ""
+ },
+ "offsetType": "NONE",
+ "aiPathNodeType": "DEFAULT",
+ "flammability": 0,
+ "fireSpreadSpeed": 0,
+ "isLadder": false,
+ "slipperiness": 0.6,
+ "speedFactor": 1.0,
+ "jumpFactor": 1.0,
+ "reactionToPushing": "NORMAL",
+ "isNotColidable": false,
+ "isCustomSoundType": false,
+ "soundOnStep": {
+ "value": "METAL"
+ },
+ "breakSound": {
+ "value": ""
+ },
+ "fallSound": {
+ "value": ""
+ },
+ "hitSound": {
+ "value": ""
+ },
+ "placeSound": {
+ "value": ""
+ },
+ "stepSound": {
+ "value": ""
+ },
+ "luminance": 0,
+ "unbreakable": false,
+ "vanillaToolTier": "STONE",
+ "isBonemealable": false,
+ "hasInventory": false,
+ "openGUIOnRightClick": false,
+ "inventorySize": 9,
+ "inventoryStackSize": 64,
+ "inventoryDropWhenDestroyed": true,
+ "inventoryComparatorPower": true,
+ "inventoryOutSlotIDs": [],
+ "inventoryInSlotIDs": [],
+ "hasEnergyStorage": false,
+ "energyInitial": 0,
+ "energyCapacity": 400000,
+ "energyMaxReceive": 200,
+ "energyMaxExtract": 200,
+ "isFluidTank": false,
+ "fluidCapacity": 8000,
+ "fluidRestrictions": [],
+ "generateFeature": false,
+ "restrictionBiomes": [],
+ "blocksToReplace": [
+ {
+ "value": "TAG:stone_ore_replaceables"
+ }
+ ],
+ "generationShape": "UNIFORM",
+ "frequencyPerChunks": 10,
+ "frequencyOnChunk": 16,
+ "minGenerateHeight": 0,
+ "maxGenerateHeight": 64
+ }
+}
\ No newline at end of file
diff --git a/elements/BlackIronBlockRecipe.mod.json b/elements/BlackIronBlockRecipe.mod.json
new file mode 100644
index 0000000..1283e05
--- /dev/null
+++ b/elements/BlackIronBlockRecipe.mod.json
@@ -0,0 +1,48 @@
+{
+ "_fv": 73,
+ "_type": "recipe",
+ "definition": {
+ "recipeType": "Crafting",
+ "recipeRetstackSize": 1,
+ "group": "",
+ "cookingBookCategory": "MISC",
+ "xpReward": 0.0,
+ "cookingTime": 200,
+ "craftingBookCategory": "BUILDING",
+ "recipeShapeless": false,
+ "recipeSlots": [
+ {
+ "value": "CUSTOM:BlackIronIngot"
+ },
+ {
+ "value": "CUSTOM:BlackIronIngot"
+ },
+ {
+ "value": "CUSTOM:BlackIronIngot"
+ },
+ {
+ "value": "CUSTOM:BlackIronIngot"
+ },
+ {
+ "value": "CUSTOM:BlackIronIngot"
+ },
+ {
+ "value": "CUSTOM:BlackIronIngot"
+ },
+ {
+ "value": "CUSTOM:BlackIronIngot"
+ },
+ {
+ "value": "CUSTOM:BlackIronIngot"
+ },
+ {
+ "value": "CUSTOM:BlackIronIngot"
+ }
+ ],
+ "recipeReturnStack": {
+ "value": "CUSTOM:BlackIronBlock"
+ },
+ "name": "black_iron_block_recipe",
+ "namespace": "mod"
+ }
+}
\ No newline at end of file
diff --git a/elements/BlackIronIngotRecipe.mod.json b/elements/BlackIronIngotRecipe.mod.json
index b294b50..93d9219 100644
--- a/elements/BlackIronIngotRecipe.mod.json
+++ b/elements/BlackIronIngotRecipe.mod.json
@@ -2,44 +2,24 @@
"_fv": 73,
"_type": "recipe",
"definition": {
- "recipeType": "Crafting",
+ "recipeType": "Smithing",
"recipeRetstackSize": 1,
"group": "",
"cookingBookCategory": "MISC",
"xpReward": 0.0,
"cookingTime": 200,
"craftingBookCategory": "MISC",
- "recipeShapeless": true,
- "recipeSlots": [
- {
- "value": "Items.IRON_INGOT"
- },
- {
- "value": "Items.DYE#16"
- },
- {
- "value": ""
- },
- {
- "value": ""
- },
- {
- "value": ""
- },
- {
- "value": ""
- },
- {
- "value": ""
- },
- {
- "value": ""
- },
- {
- "value": ""
- }
- ],
- "recipeReturnStack": {
+ "recipeShapeless": false,
+ "smithingInputStack": {
+ "value": "Items.IRON_INGOT"
+ },
+ "smithingInputAdditionStack": {
+ "value": "Items.DYE#16"
+ },
+ "smithingInputTemplateStack": {
+ "value": "CUSTOM:BlackIronUpgradeSmithingTemplate"
+ },
+ "smithingReturnStack": {
"value": "CUSTOM:BlackIronIngot"
},
"name": "black_iron_ingot_recipe",
diff --git a/elements/BlackIronUpgradeSmithingTemplate.mod.json b/elements/BlackIronUpgradeSmithingTemplate.mod.json
new file mode 100644
index 0000000..0515363
--- /dev/null
+++ b/elements/BlackIronUpgradeSmithingTemplate.mod.json
@@ -0,0 +1,63 @@
+{
+ "_fv": 73,
+ "_type": "item",
+ "definition": {
+ "renderType": 0,
+ "texture": "black_iron_upgrade_smithing_template",
+ "customModelName": "Normal",
+ "customProperties": {},
+ "states": [],
+ "name": "Black Iron Upgrade Template",
+ "rarity": "UNCOMMON",
+ "creativeTabs": [
+ {
+ "value": "MATERIALS"
+ }
+ ],
+ "stackSize": 64,
+ "enchantability": 0,
+ "useDuration": 0,
+ "toolType": 1.0,
+ "damageCount": 0,
+ "recipeRemainder": {
+ "value": ""
+ },
+ "destroyAnyBlock": false,
+ "immuneToFire": false,
+ "stayInGridWhenCrafting": false,
+ "damageOnCrafting": false,
+ "enableMeleeDamage": false,
+ "damageVsEntity": 0.0,
+ "specialInformation": {
+ "fixedValue": []
+ },
+ "glowCondition": {
+ "fixedValue": false
+ },
+ "inventorySize": 9,
+ "inventoryStackSize": 64,
+ "enableRanged": false,
+ "shootConstantly": false,
+ "rangedItemChargesPower": false,
+ "projectile": {
+ "value": "CUSTOM:PocketLightningProjectile"
+ },
+ "projectileDisableAmmoCheck": false,
+ "isFood": false,
+ "nutritionalValue": 4,
+ "saturation": 0.3,
+ "eatResultItem": {
+ "value": ""
+ },
+ "isMeat": false,
+ "isAlwaysEdible": false,
+ "animation": "none",
+ "isMusicDisc": false,
+ "musicDiscMusic": {
+ "value": ""
+ },
+ "musicDiscDescription": "",
+ "musicDiscLengthInTicks": 100,
+ "musicDiscAnalogOutput": 0
+ }
+}
\ No newline at end of file
diff --git a/elements/BlackIronUpgradeSmithingTemplateRecipe.mod.json b/elements/BlackIronUpgradeSmithingTemplateRecipe.mod.json
new file mode 100644
index 0000000..712b1b2
--- /dev/null
+++ b/elements/BlackIronUpgradeSmithingTemplateRecipe.mod.json
@@ -0,0 +1,48 @@
+{
+ "_fv": 73,
+ "_type": "recipe",
+ "definition": {
+ "recipeType": "Crafting",
+ "recipeRetstackSize": 2,
+ "group": "",
+ "cookingBookCategory": "MISC",
+ "xpReward": 0.0,
+ "cookingTime": 200,
+ "craftingBookCategory": "MISC",
+ "recipeShapeless": false,
+ "recipeSlots": [
+ {
+ "value": "Items.IRON_INGOT"
+ },
+ {
+ "value": "CUSTOM:BlackIronUpgradeSmithingTemplate"
+ },
+ {
+ "value": "Items.IRON_INGOT"
+ },
+ {
+ "value": "Items.IRON_INGOT"
+ },
+ {
+ "value": "Blocks.BLACKSTONE"
+ },
+ {
+ "value": "Items.IRON_INGOT"
+ },
+ {
+ "value": "Items.IRON_INGOT"
+ },
+ {
+ "value": "Items.IRON_INGOT"
+ },
+ {
+ "value": "Items.IRON_INGOT"
+ }
+ ],
+ "recipeReturnStack": {
+ "value": "CUSTOM:BlackIronUpgradeSmithingTemplate"
+ },
+ "name": "black_iron_upgrade_smithing_template_recipe",
+ "namespace": "mod"
+ }
+}
\ No newline at end of file
diff --git a/elements/BlazeApple.mod.json b/elements/BlazeApple.mod.json
new file mode 100644
index 0000000..ab121df
--- /dev/null
+++ b/elements/BlazeApple.mod.json
@@ -0,0 +1,68 @@
+{
+ "_fv": 73,
+ "_type": "item",
+ "definition": {
+ "renderType": 0,
+ "texture": "blaze_apple",
+ "customModelName": "Normal",
+ "customProperties": {},
+ "states": [],
+ "name": "Blaze Apple",
+ "rarity": "EPIC",
+ "creativeTabs": [
+ {
+ "value": "FOOD"
+ }
+ ],
+ "stackSize": 64,
+ "enchantability": 0,
+ "useDuration": 9,
+ "toolType": 1.0,
+ "damageCount": 0,
+ "recipeRemainder": {
+ "value": ""
+ },
+ "destroyAnyBlock": false,
+ "immuneToFire": true,
+ "stayInGridWhenCrafting": false,
+ "damageOnCrafting": false,
+ "enableMeleeDamage": false,
+ "damageVsEntity": 0.0,
+ "specialInformation": {
+ "fixedValue": [
+ "When consumed: Grants permanent Fire Resistance."
+ ]
+ },
+ "glowCondition": {
+ "fixedValue": true
+ },
+ "inventorySize": 9,
+ "inventoryStackSize": 64,
+ "onFinishUsingItem": {
+ "name": "BlazeApplePlayerFinishesUsingItem"
+ },
+ "enableRanged": false,
+ "shootConstantly": false,
+ "rangedItemChargesPower": false,
+ "projectile": {
+ "value": "CUSTOM:PocketLightningProjectile"
+ },
+ "projectileDisableAmmoCheck": false,
+ "isFood": true,
+ "nutritionalValue": 9,
+ "saturation": 1.1,
+ "eatResultItem": {
+ "value": ""
+ },
+ "isMeat": false,
+ "isAlwaysEdible": true,
+ "animation": "eat",
+ "isMusicDisc": false,
+ "musicDiscMusic": {
+ "value": ""
+ },
+ "musicDiscDescription": "",
+ "musicDiscLengthInTicks": 100,
+ "musicDiscAnalogOutput": 0
+ }
+}
\ No newline at end of file
diff --git a/elements/BlazeAppleAdvancement.mod.json b/elements/BlazeAppleAdvancement.mod.json
new file mode 100644
index 0000000..02b2e9a
--- /dev/null
+++ b/elements/BlazeAppleAdvancement.mod.json
@@ -0,0 +1,24 @@
+{
+ "_fv": 73,
+ "_type": "achievement",
+ "definition": {
+ "achievementName": "That Burns... Or Does It?",
+ "achievementDescription": "Eat a Blaze Apple",
+ "achievementIcon": {
+ "value": "CUSTOM:BlazeApple"
+ },
+ "background": "Default",
+ "disableDisplay": false,
+ "showPopup": true,
+ "announceToChat": true,
+ "hideIfNotCompleted": false,
+ "rewardLoot": [],
+ "rewardRecipes": [],
+ "rewardXP": 0,
+ "achievementType": "challenge",
+ "parent": {
+ "value": "CUSTOM:OrichalcumAppleAdvancement"
+ },
+ "triggerxml": "CUSTOM:BlazeApple"
+ }
+}
\ No newline at end of file
diff --git a/elements/BlazeApplePlayerFinishesUsingItem.mod.json b/elements/BlazeApplePlayerFinishesUsingItem.mod.json
new file mode 100644
index 0000000..2ca4098
--- /dev/null
+++ b/elements/BlazeApplePlayerFinishesUsingItem.mod.json
@@ -0,0 +1,7 @@
+{
+ "_fv": 73,
+ "_type": "procedure",
+ "definition": {
+ "procedurexml": "no_ext_triggerJUMP_BOOST1900TRUETRUESPEED1900TRUETRUEPermanentFireResistance1EntityPlayer§6Blaze Apple §rgranted you permanent Fire Resistance!FALSE"
+ }
+}
\ No newline at end of file
diff --git a/elements/BlazeAppleRecipe.mod.json b/elements/BlazeAppleRecipe.mod.json
new file mode 100644
index 0000000..f98937c
--- /dev/null
+++ b/elements/BlazeAppleRecipe.mod.json
@@ -0,0 +1,48 @@
+{
+ "_fv": 73,
+ "_type": "recipe",
+ "definition": {
+ "recipeType": "Crafting",
+ "recipeRetstackSize": 1,
+ "group": "",
+ "cookingBookCategory": "MISC",
+ "xpReward": 0.0,
+ "cookingTime": 200,
+ "craftingBookCategory": "MISC",
+ "recipeShapeless": false,
+ "recipeSlots": [
+ {
+ "value": "Items.BLAZE_POWDER"
+ },
+ {
+ "value": "Items.BLAZE_POWDER"
+ },
+ {
+ "value": "Items.BLAZE_POWDER"
+ },
+ {
+ "value": "Items.BLAZE_POWDER"
+ },
+ {
+ "value": "CUSTOM:OrichalcumApple"
+ },
+ {
+ "value": "Items.BLAZE_POWDER"
+ },
+ {
+ "value": "Items.BLAZE_POWDER"
+ },
+ {
+ "value": "Items.BLAZE_POWDER"
+ },
+ {
+ "value": "Items.BLAZE_POWDER"
+ }
+ ],
+ "recipeReturnStack": {
+ "value": "CUSTOM:BlazeApple"
+ },
+ "name": "blaze_apple_recipe",
+ "namespace": "mod"
+ }
+}
\ No newline at end of file
diff --git a/elements/BlazeRodRecipe.mod.json b/elements/BlazeRodRecipe.mod.json
new file mode 100644
index 0000000..7836374
--- /dev/null
+++ b/elements/BlazeRodRecipe.mod.json
@@ -0,0 +1,48 @@
+{
+ "_fv": 73,
+ "_type": "recipe",
+ "definition": {
+ "recipeType": "Crafting",
+ "recipeRetstackSize": 1,
+ "group": "",
+ "cookingBookCategory": "MISC",
+ "xpReward": 0.0,
+ "cookingTime": 200,
+ "craftingBookCategory": "MISC",
+ "recipeShapeless": false,
+ "recipeSlots": [
+ {
+ "value": "Items.BLAZE_POWDER"
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": "Items.BLAZE_POWDER"
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ }
+ ],
+ "recipeReturnStack": {
+ "value": "Items.BLAZE_ROD"
+ },
+ "name": "blaze_rod_recipe",
+ "namespace": "mod"
+ }
+}
\ No newline at end of file
diff --git a/elements/BoneRecipe.mod.json b/elements/BoneRecipe.mod.json
new file mode 100644
index 0000000..61241e8
--- /dev/null
+++ b/elements/BoneRecipe.mod.json
@@ -0,0 +1,48 @@
+{
+ "_fv": 73,
+ "_type": "recipe",
+ "definition": {
+ "recipeType": "Crafting",
+ "recipeRetstackSize": 1,
+ "group": "",
+ "cookingBookCategory": "MISC",
+ "xpReward": 0.0,
+ "cookingTime": 200,
+ "craftingBookCategory": "MISC",
+ "recipeShapeless": true,
+ "recipeSlots": [
+ {
+ "value": "Items.STICK"
+ },
+ {
+ "value": "Items.DYE#19"
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ }
+ ],
+ "recipeReturnStack": {
+ "value": "Items.BONE"
+ },
+ "name": "bone_recipe",
+ "namespace": "mod"
+ }
+}
\ No newline at end of file
diff --git a/elements/BoneRecipe2.mod.json b/elements/BoneRecipe2.mod.json
new file mode 100644
index 0000000..3fe0c3c
--- /dev/null
+++ b/elements/BoneRecipe2.mod.json
@@ -0,0 +1,48 @@
+{
+ "_fv": 73,
+ "_type": "recipe",
+ "definition": {
+ "recipeType": "Crafting",
+ "recipeRetstackSize": 1,
+ "group": "",
+ "cookingBookCategory": "MISC",
+ "xpReward": 0.0,
+ "cookingTime": 200,
+ "craftingBookCategory": "MISC",
+ "recipeShapeless": false,
+ "recipeSlots": [
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": "Items.DYE#15"
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": "Items.DYE#15"
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": "Items.DYE#15"
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ }
+ ],
+ "recipeReturnStack": {
+ "value": "Items.BONE"
+ },
+ "name": "bone_recipe_2",
+ "namespace": "mod"
+ }
+}
\ No newline at end of file
diff --git a/elements/BottomPieceOfNetherStar.mod.json b/elements/BottomPieceOfNetherStar.mod.json
new file mode 100644
index 0000000..9881629
--- /dev/null
+++ b/elements/BottomPieceOfNetherStar.mod.json
@@ -0,0 +1,63 @@
+{
+ "_fv": 73,
+ "_type": "item",
+ "definition": {
+ "renderType": 0,
+ "texture": "bottom_piece_of_nether_star",
+ "customModelName": "Normal",
+ "customProperties": {},
+ "states": [],
+ "name": "Bottom Piece Of Nether Star",
+ "rarity": "RARE",
+ "creativeTabs": [
+ {
+ "value": "MATERIALS"
+ }
+ ],
+ "stackSize": 64,
+ "enchantability": 0,
+ "useDuration": 0,
+ "toolType": 1.0,
+ "damageCount": 0,
+ "recipeRemainder": {
+ "value": ""
+ },
+ "destroyAnyBlock": false,
+ "immuneToFire": false,
+ "stayInGridWhenCrafting": false,
+ "damageOnCrafting": false,
+ "enableMeleeDamage": false,
+ "damageVsEntity": 0.0,
+ "specialInformation": {
+ "fixedValue": []
+ },
+ "glowCondition": {
+ "fixedValue": false
+ },
+ "inventorySize": 9,
+ "inventoryStackSize": 64,
+ "enableRanged": false,
+ "shootConstantly": false,
+ "rangedItemChargesPower": false,
+ "projectile": {
+ "value": "CUSTOM:PocketLightningProjectile"
+ },
+ "projectileDisableAmmoCheck": false,
+ "isFood": false,
+ "nutritionalValue": 4,
+ "saturation": 0.3,
+ "eatResultItem": {
+ "value": ""
+ },
+ "isMeat": false,
+ "isAlwaysEdible": false,
+ "animation": "none",
+ "isMusicDisc": false,
+ "musicDiscMusic": {
+ "value": ""
+ },
+ "musicDiscDescription": "",
+ "musicDiscLengthInTicks": 100,
+ "musicDiscAnalogOutput": 0
+ }
+}
\ No newline at end of file
diff --git a/elements/BrokenGlassRecipe2.mod.json b/elements/BrokenGlassRecipe2.mod.json
index b77b747..848895e 100644
--- a/elements/BrokenGlassRecipe2.mod.json
+++ b/elements/BrokenGlassRecipe2.mod.json
@@ -21,22 +21,22 @@
"value": ""
},
{
- "value": "CUSTOM:Shit"
+ "value": "CUSTOM:Turd"
},
{
- "value": "CUSTOM:Shit"
+ "value": "CUSTOM:Turd"
},
{
- "value": "CUSTOM:Shit"
+ "value": "CUSTOM:Turd"
},
{
- "value": "CUSTOM:Shit"
+ "value": "CUSTOM:Turd"
},
{
- "value": "CUSTOM:Shit"
+ "value": "CUSTOM:Turd"
},
{
- "value": "CUSTOM:Shit"
+ "value": "CUSTOM:Turd"
}
],
"recipeReturnStack": {
diff --git a/elements/CharcoalRecipe.mod.json b/elements/CharcoalRecipe.mod.json
new file mode 100644
index 0000000..5061ac1
--- /dev/null
+++ b/elements/CharcoalRecipe.mod.json
@@ -0,0 +1,48 @@
+{
+ "_fv": 73,
+ "_type": "recipe",
+ "definition": {
+ "recipeType": "Crafting",
+ "recipeRetstackSize": 1,
+ "group": "",
+ "cookingBookCategory": "MISC",
+ "xpReward": 0.0,
+ "cookingTime": 200,
+ "craftingBookCategory": "MISC",
+ "recipeShapeless": true,
+ "recipeSlots": [
+ {
+ "value": "Items.COAL#0"
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ }
+ ],
+ "recipeReturnStack": {
+ "value": "Items.COAL#1"
+ },
+ "name": "charcoal_recipe",
+ "namespace": "mod"
+ }
+}
\ No newline at end of file
diff --git a/elements/CondensedCondensedCondensedNetherrackAdvancement.mod.json b/elements/CondensedCondensedCondensedNetherrackAdvancement.mod.json
new file mode 100644
index 0000000..e4b9415
--- /dev/null
+++ b/elements/CondensedCondensedCondensedNetherrackAdvancement.mod.json
@@ -0,0 +1,24 @@
+{
+ "_fv": 73,
+ "_type": "achievement",
+ "definition": {
+ "achievementName": "You Ask Yourself, \"What Is The Point Of This?\" Yet, You Continue To Do \"This\".",
+ "achievementDescription": "Craft Condensed Condensed Condensed Netherrack",
+ "achievementIcon": {
+ "value": "CUSTOM:CondensedCondensedCondensedNetherrack"
+ },
+ "background": "Default",
+ "disableDisplay": false,
+ "showPopup": true,
+ "announceToChat": true,
+ "hideIfNotCompleted": false,
+ "rewardLoot": [],
+ "rewardRecipes": [],
+ "rewardXP": 0,
+ "achievementType": "goal",
+ "parent": {
+ "value": "CUSTOM:CondensedCondensedNetherrackAdvancement"
+ },
+ "triggerxml": "164CUSTOM:CondensedCondensedCondensedNetherrack"
+ }
+}
\ No newline at end of file
diff --git a/elements/CondensedCondensedNetherrackAdvancement.mod.json b/elements/CondensedCondensedNetherrackAdvancement.mod.json
new file mode 100644
index 0000000..88e8421
--- /dev/null
+++ b/elements/CondensedCondensedNetherrackAdvancement.mod.json
@@ -0,0 +1,24 @@
+{
+ "_fv": 73,
+ "_type": "achievement",
+ "definition": {
+ "achievementName": "But For What Reason?",
+ "achievementDescription": "Craft Condensed Condensed Netherrack",
+ "achievementIcon": {
+ "value": "CUSTOM:CondensedCondensedNetherrack"
+ },
+ "background": "Default",
+ "disableDisplay": false,
+ "showPopup": true,
+ "announceToChat": true,
+ "hideIfNotCompleted": false,
+ "rewardLoot": [],
+ "rewardRecipes": [],
+ "rewardXP": 0,
+ "achievementType": "goal",
+ "parent": {
+ "value": "CUSTOM:CondensedNetherrackAdvancement"
+ },
+ "triggerxml": "164CUSTOM:CondensedCondensedNetherrack"
+ }
+}
\ No newline at end of file
diff --git a/elements/CondensedNetherrackAdvancement.mod.json b/elements/CondensedNetherrackAdvancement.mod.json
index 9260e0e..49ccf61 100644
--- a/elements/CondensedNetherrackAdvancement.mod.json
+++ b/elements/CondensedNetherrackAdvancement.mod.json
@@ -15,7 +15,7 @@
"rewardLoot": [],
"rewardRecipes": [],
"rewardXP": 0,
- "achievementType": "task",
+ "achievementType": "goal",
"parent": {
"value": "CUSTOM:WelcomeAdvancement"
},
diff --git a/elements/DragonEggRecipe.mod.json b/elements/DragonEggRecipe.mod.json
new file mode 100644
index 0000000..b3b06fc
--- /dev/null
+++ b/elements/DragonEggRecipe.mod.json
@@ -0,0 +1,48 @@
+{
+ "_fv": 73,
+ "_type": "recipe",
+ "definition": {
+ "recipeType": "Crafting",
+ "recipeRetstackSize": 1,
+ "group": "",
+ "cookingBookCategory": "MISC",
+ "xpReward": 0.0,
+ "cookingTime": 200,
+ "craftingBookCategory": "MISC",
+ "recipeShapeless": false,
+ "recipeSlots": [
+ {
+ "value": ""
+ },
+ {
+ "value": "Blocks.OBSIDIAN"
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": "Blocks.OBSIDIAN"
+ },
+ {
+ "value": "Items.DRAGON_BREATH"
+ },
+ {
+ "value": "Blocks.OBSIDIAN"
+ },
+ {
+ "value": "Blocks.OBSIDIAN"
+ },
+ {
+ "value": "Blocks.CRYING_OBSIDIAN"
+ },
+ {
+ "value": "Blocks.OBSIDIAN"
+ }
+ ],
+ "recipeReturnStack": {
+ "value": "Blocks.DRAGON_EGG"
+ },
+ "name": "dragon_egg_recipe",
+ "namespace": "mod"
+ }
+}
\ No newline at end of file
diff --git a/elements/DripstoneRecipe.mod.json b/elements/DripstoneRecipe.mod.json
new file mode 100644
index 0000000..c2eb19a
--- /dev/null
+++ b/elements/DripstoneRecipe.mod.json
@@ -0,0 +1,22 @@
+{
+ "_fv": 73,
+ "_type": "recipe",
+ "definition": {
+ "recipeType": "Stone cutting",
+ "recipeRetstackSize": 2,
+ "group": "",
+ "cookingBookCategory": "MISC",
+ "xpReward": 0.0,
+ "cookingTime": 200,
+ "craftingBookCategory": "MISC",
+ "recipeShapeless": false,
+ "stoneCuttingInputStack": {
+ "value": "Blocks.DRIPSTONE_BLOCK"
+ },
+ "stoneCuttingReturnStack": {
+ "value": "Blocks.POINTED_DRIPSTONE"
+ },
+ "name": "dripstone_recipe",
+ "namespace": "mod"
+ }
+}
\ No newline at end of file
diff --git a/elements/EnditeSetAdvancement.mod.json b/elements/EnditeSetAdvancement.mod.json
index 926e4ae..94f9bdc 100644
--- a/elements/EnditeSetAdvancement.mod.json
+++ b/elements/EnditeSetAdvancement.mod.json
@@ -2,7 +2,7 @@
"_fv": 73,
"_type": "achievement",
"definition": {
- "achievementName": "Cover Me In Endermite",
+ "achievementName": "Cover Me In Shulker Shells",
"achievementDescription": "Wear a full armor set of Endite.",
"achievementIcon": {
"value": "CUSTOM:EnditeArmor.body"
diff --git a/elements/GetPermanentStatsCommandProcedure.mod.json b/elements/GetPermanentStatsCommandProcedure.mod.json
index d246ab7..1424aa4 100644
--- a/elements/GetPermanentStatsCommandProcedure.mod.json
+++ b/elements/GetPermanentStatsCommandProcedure.mod.json
@@ -2,6 +2,6 @@
"_fv": 73,
"_type": "procedure",
"definition": {
- "procedurexml": "no_ext_triggerPermanent Bonus Max Health: PermanentBonusMaxHealthPermanent Bonus Attack Damage: PermanentBonusAttackDamagePermanent Creative Flight: PermanentCreativeFlightFALSE"
+ "procedurexml": "no_ext_triggerPermanent Bonus Max Health: PermanentBonusMaxHealthPermanent Bonus Attack Damage: PermanentBonusAttackDamagePermanent Bonus Armor: PermanentBonusArmorPermanent Bonus Armor Toughness: MULTIPLYPermanentBonusArmorToughness0.67Permanent Bonus Knockback Resistance: MULTIPLYPermanentBonusKnockbackResistance0.05Permanent Fire Resistance: PermanentFireResistancePermanent Water Breathing: PermanentWaterBreathingPermanent Creative Flight: PermanentCreativeFlightFALSE"
}
}
\ No newline at end of file
diff --git a/elements/HexaCondensedNetherrackAdvancement.mod.json b/elements/HexaCondensedNetherrackAdvancement.mod.json
new file mode 100644
index 0000000..0c611a6
--- /dev/null
+++ b/elements/HexaCondensedNetherrackAdvancement.mod.json
@@ -0,0 +1,24 @@
+{
+ "_fv": 73,
+ "_type": "achievement",
+ "definition": {
+ "achievementName": "Besides... Something Tells Me I Need To Do This 8 More Times...",
+ "achievementDescription": "Craft Hexa-Condensed Netherrack",
+ "achievementIcon": {
+ "value": "CUSTOM:HexaCondensedNetherrack"
+ },
+ "background": "Default",
+ "disableDisplay": false,
+ "showPopup": true,
+ "announceToChat": true,
+ "hideIfNotCompleted": false,
+ "rewardLoot": [],
+ "rewardRecipes": [],
+ "rewardXP": 0,
+ "achievementType": "challenge",
+ "parent": {
+ "value": "CUSTOM:PentaCondensedNetherrackAdvancement"
+ },
+ "triggerxml": "164CUSTOM:HexaCondensedNetherrack"
+ }
+}
\ No newline at end of file
diff --git a/elements/LeatherRecipe.mod.json b/elements/LeatherRecipe.mod.json
new file mode 100644
index 0000000..001b798
--- /dev/null
+++ b/elements/LeatherRecipe.mod.json
@@ -0,0 +1,48 @@
+{
+ "_fv": 73,
+ "_type": "recipe",
+ "definition": {
+ "recipeType": "Crafting",
+ "recipeRetstackSize": 1,
+ "group": "",
+ "cookingBookCategory": "MISC",
+ "xpReward": 0.0,
+ "cookingTime": 200,
+ "craftingBookCategory": "MISC",
+ "recipeShapeless": true,
+ "recipeSlots": [
+ {
+ "value": "Items.ROTTEN_FLESH"
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ }
+ ],
+ "recipeReturnStack": {
+ "value": "Items.LEATHER"
+ },
+ "name": "leather_recipe",
+ "namespace": "mod"
+ }
+}
\ No newline at end of file
diff --git a/elements/LeatherRecipe2.mod.json b/elements/LeatherRecipe2.mod.json
new file mode 100644
index 0000000..08ed17d
--- /dev/null
+++ b/elements/LeatherRecipe2.mod.json
@@ -0,0 +1,48 @@
+{
+ "_fv": 73,
+ "_type": "recipe",
+ "definition": {
+ "recipeType": "Crafting",
+ "recipeRetstackSize": 1,
+ "group": "",
+ "cookingBookCategory": "MISC",
+ "xpReward": 0.0,
+ "cookingTime": 200,
+ "craftingBookCategory": "MISC",
+ "recipeShapeless": true,
+ "recipeSlots": [
+ {
+ "value": "Items.RABBIT_HIDE"
+ },
+ {
+ "value": "Items.RABBIT_HIDE"
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ }
+ ],
+ "recipeReturnStack": {
+ "value": "Items.LEATHER"
+ },
+ "name": "leather_recipe_2",
+ "namespace": "mod"
+ }
+}
\ No newline at end of file
diff --git a/elements/LeftPieceOfNetherStar.mod.json b/elements/LeftPieceOfNetherStar.mod.json
new file mode 100644
index 0000000..7602bce
--- /dev/null
+++ b/elements/LeftPieceOfNetherStar.mod.json
@@ -0,0 +1,63 @@
+{
+ "_fv": 73,
+ "_type": "item",
+ "definition": {
+ "renderType": 0,
+ "texture": "left_piece_of_nether_star",
+ "customModelName": "Normal",
+ "customProperties": {},
+ "states": [],
+ "name": "Left Piece Of Nether Star",
+ "rarity": "RARE",
+ "creativeTabs": [
+ {
+ "value": "MATERIALS"
+ }
+ ],
+ "stackSize": 64,
+ "enchantability": 0,
+ "useDuration": 0,
+ "toolType": 1.0,
+ "damageCount": 0,
+ "recipeRemainder": {
+ "value": ""
+ },
+ "destroyAnyBlock": false,
+ "immuneToFire": false,
+ "stayInGridWhenCrafting": false,
+ "damageOnCrafting": false,
+ "enableMeleeDamage": false,
+ "damageVsEntity": 0.0,
+ "specialInformation": {
+ "fixedValue": []
+ },
+ "glowCondition": {
+ "fixedValue": false
+ },
+ "inventorySize": 9,
+ "inventoryStackSize": 64,
+ "enableRanged": false,
+ "shootConstantly": false,
+ "rangedItemChargesPower": false,
+ "projectile": {
+ "value": "CUSTOM:PocketLightningProjectile"
+ },
+ "projectileDisableAmmoCheck": false,
+ "isFood": false,
+ "nutritionalValue": 4,
+ "saturation": 0.3,
+ "eatResultItem": {
+ "value": ""
+ },
+ "isMeat": false,
+ "isAlwaysEdible": false,
+ "animation": "none",
+ "isMusicDisc": false,
+ "musicDiscMusic": {
+ "value": ""
+ },
+ "musicDiscDescription": "",
+ "musicDiscLengthInTicks": 100,
+ "musicDiscAnalogOutput": 0
+ }
+}
\ No newline at end of file
diff --git a/elements/MagmaCreamRecipe.mod.json b/elements/MagmaCreamRecipe.mod.json
new file mode 100644
index 0000000..68af84d
--- /dev/null
+++ b/elements/MagmaCreamRecipe.mod.json
@@ -0,0 +1,48 @@
+{
+ "_fv": 73,
+ "_type": "recipe",
+ "definition": {
+ "recipeType": "Crafting",
+ "recipeRetstackSize": 1,
+ "group": "",
+ "cookingBookCategory": "MISC",
+ "xpReward": 0.0,
+ "cookingTime": 200,
+ "craftingBookCategory": "MISC",
+ "recipeShapeless": true,
+ "recipeSlots": [
+ {
+ "value": "Items.SLIME_BALL"
+ },
+ {
+ "value": "Items.BLAZE_POWDER"
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ }
+ ],
+ "recipeReturnStack": {
+ "value": "Items.MAGMA_CREAM"
+ },
+ "name": "magma_cream_recipe",
+ "namespace": "mod"
+ }
+}
\ No newline at end of file
diff --git a/elements/MobSpawnerRecipe.mod.json b/elements/MobSpawnerRecipe.mod.json
index 7326ad7..4a2aaa4 100644
--- a/elements/MobSpawnerRecipe.mod.json
+++ b/elements/MobSpawnerRecipe.mod.json
@@ -24,7 +24,7 @@
"value": "Blocks.IRON_BARS"
},
{
- "value": ""
+ "value": "CUSTOM:Socket"
},
{
"value": "Blocks.IRON_BARS"
diff --git a/elements/NetherPowerGenerator.mod.json b/elements/NetherPowerGenerator.mod.json
new file mode 100644
index 0000000..0ecf32d
--- /dev/null
+++ b/elements/NetherPowerGenerator.mod.json
@@ -0,0 +1,148 @@
+{
+ "_fv": 73,
+ "_type": "block",
+ "definition": {
+ "texture": "black_iron_block",
+ "textureTop": "black_iron_block",
+ "textureLeft": "nether_power_generator_side",
+ "textureFront": "nether_power_generator_side",
+ "textureRight": "nether_power_generator_side",
+ "textureBack": "nether_power_generator_side",
+ "renderType": 10,
+ "customModelName": "Normal",
+ "rotationMode": 0,
+ "enablePitch": false,
+ "emissiveRendering": false,
+ "displayFluidOverlay": false,
+ "itemTexture": "",
+ "particleTexture": "",
+ "tintType": "No tint",
+ "isItemTinted": false,
+ "hasTransparency": false,
+ "connectedSides": false,
+ "transparencyType": "SOLID",
+ "disableOffset": false,
+ "boundingBoxes": [
+ {
+ "mx": 0.0,
+ "my": 0.0,
+ "mz": 0.0,
+ "Mx": 16.0,
+ "My": 16.0,
+ "Mz": 16.0,
+ "subtract": false
+ }
+ ],
+ "customProperties": [],
+ "name": "Nether Power Generator",
+ "specialInformation": {
+ "fixedValue": []
+ },
+ "hardness": 5.0,
+ "resistance": 6.0,
+ "hasGravity": false,
+ "isWaterloggable": false,
+ "creativeTabs": [
+ {
+ "value": "TRANSPORTATION"
+ }
+ ],
+ "destroyTool": "Not specified",
+ "customDrop": {
+ "value": ""
+ },
+ "dropAmount": 1,
+ "useLootTableForDrops": false,
+ "requiresCorrectTool": false,
+ "enchantPowerBonus": 0.0,
+ "plantsGrowOn": false,
+ "canRedstoneConnect": false,
+ "lightOpacity": 15,
+ "material": {
+ "value": "NONE"
+ },
+ "tickRate": 20,
+ "tickRandomly": false,
+ "isReplaceable": false,
+ "canProvidePower": false,
+ "emittedRedstonePower": {
+ "fixedValue": 15.0
+ },
+ "colorOnMap": "DEFAULT",
+ "creativePickItem": {
+ "value": ""
+ },
+ "offsetType": "NONE",
+ "aiPathNodeType": "DEFAULT",
+ "flammability": 0,
+ "fireSpreadSpeed": 0,
+ "isLadder": false,
+ "slipperiness": 0.6,
+ "speedFactor": 1.0,
+ "jumpFactor": 1.0,
+ "reactionToPushing": "NORMAL",
+ "isNotColidable": false,
+ "isCustomSoundType": false,
+ "soundOnStep": {
+ "value": "METAL"
+ },
+ "breakSound": {
+ "value": ""
+ },
+ "fallSound": {
+ "value": ""
+ },
+ "hitSound": {
+ "value": ""
+ },
+ "placeSound": {
+ "value": ""
+ },
+ "stepSound": {
+ "value": ""
+ },
+ "luminance": 0,
+ "unbreakable": false,
+ "vanillaToolTier": "NONE",
+ "isBonemealable": false,
+ "hasInventory": true,
+ "guiBoundTo": "NetherPowerGeneratorGUI",
+ "openGUIOnRightClick": true,
+ "inventorySize": 1,
+ "inventoryStackSize": 1,
+ "inventoryDropWhenDestroyed": true,
+ "inventoryComparatorPower": true,
+ "inventoryOutSlotIDs": [],
+ "inventoryInSlotIDs": [],
+ "hasEnergyStorage": false,
+ "energyInitial": 0,
+ "energyCapacity": 400000,
+ "energyMaxReceive": 200,
+ "energyMaxExtract": 200,
+ "isFluidTank": true,
+ "fluidCapacity": 3000,
+ "fluidRestrictions": [
+ {
+ "value": "CUSTOM:NetherrackJuice"
+ },
+ {
+ "value": "CUSTOM:NetherrackJuice:Flowing"
+ }
+ ],
+ "onTickUpdate": {
+ "name": "NetherPowerGeneratorOnTickUpdate"
+ },
+ "generateFeature": false,
+ "restrictionBiomes": [],
+ "blocksToReplace": [
+ {
+ "value": "TAG:stone_ore_replaceables"
+ }
+ ],
+ "generationShape": "UNIFORM",
+ "frequencyPerChunks": 10,
+ "frequencyOnChunk": 16,
+ "minGenerateHeight": 0,
+ "maxGenerateHeight": 64
+ }
+}
\ No newline at end of file
diff --git a/elements/NetherPowerGeneratorAdvancement.mod.json b/elements/NetherPowerGeneratorAdvancement.mod.json
new file mode 100644
index 0000000..fd843c1
--- /dev/null
+++ b/elements/NetherPowerGeneratorAdvancement.mod.json
@@ -0,0 +1,24 @@
+{
+ "_fv": 73,
+ "_type": "achievement",
+ "definition": {
+ "achievementName": "Brought To You By \"The Netherâ„¢\"",
+ "achievementDescription": "Craft a Nether Power Generator",
+ "achievementIcon": {
+ "value": "CUSTOM:NetherPowerGenerator"
+ },
+ "background": "Default",
+ "disableDisplay": false,
+ "showPopup": true,
+ "announceToChat": true,
+ "hideIfNotCompleted": false,
+ "rewardLoot": [],
+ "rewardRecipes": [],
+ "rewardXP": 0,
+ "achievementType": "goal",
+ "parent": {
+ "value": "CUSTOM:BlackIronAdvancement"
+ },
+ "triggerxml": "164CUSTOM:NetherPowerGenerator"
+ }
+}
\ No newline at end of file
diff --git a/elements/NetherPowerGeneratorDrainLogic.mod.json b/elements/NetherPowerGeneratorDrainLogic.mod.json
new file mode 100644
index 0000000..1398a33
--- /dev/null
+++ b/elements/NetherPowerGeneratorDrainLogic.mod.json
@@ -0,0 +1,7 @@
+{
+ "_fv": 73,
+ "_type": "procedure",
+ "definition": {
+ "procedurexml": "no_ext_trigger0Items.BUCKET1CUSTOM:NetherrackJuice.bucket01000DIVIDE11000item.bucket.emptyblock0.751"
+ }
+}
\ No newline at end of file
diff --git a/elements/NetherPowerGeneratorFilledBlockStates.mod.json b/elements/NetherPowerGeneratorFilledBlockStates.mod.json
new file mode 100644
index 0000000..80bcef6
--- /dev/null
+++ b/elements/NetherPowerGeneratorFilledBlockStates.mod.json
@@ -0,0 +1,48 @@
+{
+ "_fv": 73,
+ "_type": "blockstates",
+ "definition": {
+ "block": "NetherPowerGenerator",
+ "blockstateList": [
+ {
+ "texture": "black_iron_block",
+ "textureTop": "black_iron_block",
+ "textureLeft": "nether_power_generator_side_filled1",
+ "textureFront": "nether_power_generator_side_filled1",
+ "textureRight": "nether_power_generator_side_filled1",
+ "textureBack": "nether_power_generator_side_filled1",
+ "particleTexture": "",
+ "renderType": 0,
+ "customModelName": "Normal",
+ "luminance": 0,
+ "boundingBoxes": []
+ },
+ {
+ "texture": "black_iron_block",
+ "textureTop": "black_iron_block",
+ "textureLeft": "nether_power_generator_side_filled2",
+ "textureFront": "nether_power_generator_side_filled2",
+ "textureRight": "nether_power_generator_side_filled2",
+ "textureBack": "nether_power_generator_side_filled2",
+ "particleTexture": "",
+ "renderType": 0,
+ "customModelName": "Normal",
+ "luminance": 0,
+ "boundingBoxes": []
+ },
+ {
+ "texture": "black_iron_block",
+ "textureTop": "black_iron_block",
+ "textureLeft": "nether_power_generator_side_filled3",
+ "textureFront": "nether_power_generator_side_filled3",
+ "textureRight": "nether_power_generator_side_filled3",
+ "textureBack": "nether_power_generator_side_filled3",
+ "particleTexture": "",
+ "renderType": 0,
+ "customModelName": "Normal",
+ "luminance": 0,
+ "boundingBoxes": []
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/elements/NetherPowerGeneratorFluidTankTextUpdate.mod.json b/elements/NetherPowerGeneratorFluidTankTextUpdate.mod.json
new file mode 100644
index 0000000..77c5780
--- /dev/null
+++ b/elements/NetherPowerGeneratorFluidTankTextUpdate.mod.json
@@ -0,0 +1,7 @@
+{
+ "_fv": 73,
+ "_type": "procedure",
+ "definition": {
+ "procedurexml": "no_ext_triggerFluid Tank: 1/1"
+ }
+}
\ No newline at end of file
diff --git a/elements/NetherPowerGeneratorGUI.mod.json b/elements/NetherPowerGeneratorGUI.mod.json
new file mode 100644
index 0000000..e221da4
--- /dev/null
+++ b/elements/NetherPowerGeneratorGUI.mod.json
@@ -0,0 +1,110 @@
+{
+ "_fv": 73,
+ "_type": "gui",
+ "definition": {
+ "type": 1,
+ "width": 176,
+ "height": 213,
+ "inventoryOffsetX": 0,
+ "inventoryOffsetY": 0,
+ "renderBgLayer": true,
+ "doesPauseGame": false,
+ "components": [
+ {
+ "type": "label",
+ "data": {
+ "name": "label_nether_power_generator",
+ "text": {
+ "fixedValue": "Nether Power Generator"
+ },
+ "color": {
+ "value": -16777216,
+ "falpha": 0.0
+ },
+ "x": 132,
+ "y": 22,
+ "locked": false
+ }
+ },
+ {
+ "type": "inputslot",
+ "data": {
+ "inputLimit": {
+ "value": "TAG:mod:nether_power_generator_acceptable_inputs"
+ },
+ "disablePlacement": {
+ "fixedValue": false
+ },
+ "color": {
+ "value": -13434880,
+ "falpha": 0.0
+ },
+ "id": 0,
+ "disablePickup": {
+ "fixedValue": false
+ },
+ "dropItemsWhenNotBound": false,
+ "x": 204,
+ "y": 44,
+ "locked": false
+ }
+ },
+ {
+ "type": "label",
+ "data": {
+ "name": "label_netherrack_juice_tank_currmax",
+ "text": {
+ "fixedValue": "Tank: curr/max",
+ "name": "NetherPowerGeneratorFluidTankTextUpdate"
+ },
+ "color": {
+ "value": -13434880,
+ "falpha": 0.0
+ },
+ "x": 132,
+ "y": 94,
+ "locked": false
+ }
+ },
+ {
+ "type": "button",
+ "data": {
+ "name": "button_refill",
+ "text": "Refill",
+ "isUndecorated": false,
+ "onClick": {
+ "name": "NetherPowerGeneratorRefillLogic"
+ },
+ "width": 56,
+ "height": 20,
+ "x": 218,
+ "y": 67,
+ "locked": false
+ }
+ },
+ {
+ "type": "button",
+ "data": {
+ "name": "button_drain",
+ "text": "Drain",
+ "isUndecorated": false,
+ "onClick": {
+ "name": "NetherPowerGeneratorDrainLogic"
+ },
+ "width": 51,
+ "height": 20,
+ "x": 155,
+ "y": 67,
+ "locked": false
+ }
+ }
+ ],
+ "gridSettings": {
+ "sx": 9,
+ "sy": 9,
+ "ox": 11,
+ "oy": 15,
+ "snapOnGrid": true
+ }
+ }
+}
\ No newline at end of file
diff --git a/elements/NetherPowerGeneratorOnTickUpdate.mod.json b/elements/NetherPowerGeneratorOnTickUpdate.mod.json
new file mode 100644
index 0000000..b33a359
--- /dev/null
+++ b/elements/NetherPowerGeneratorOnTickUpdate.mod.json
@@ -0,0 +1,7 @@
+{
+ "_fv": 73,
+ "_type": "procedure",
+ "definition": {
+ "procedurexml": "no_ext_triggerDIVIDE11000"
+ }
+}
\ No newline at end of file
diff --git a/elements/NetherPowerGeneratorRecipe.mod.json b/elements/NetherPowerGeneratorRecipe.mod.json
new file mode 100644
index 0000000..a7d91de
--- /dev/null
+++ b/elements/NetherPowerGeneratorRecipe.mod.json
@@ -0,0 +1,48 @@
+{
+ "_fv": 73,
+ "_type": "recipe",
+ "definition": {
+ "recipeType": "Crafting",
+ "recipeRetstackSize": 1,
+ "group": "",
+ "cookingBookCategory": "MISC",
+ "xpReward": 0.0,
+ "cookingTime": 200,
+ "craftingBookCategory": "MISC",
+ "recipeShapeless": false,
+ "recipeSlots": [
+ {
+ "value": "CUSTOM:BlackIronIngot"
+ },
+ {
+ "value": "CUSTOM:BlackIronIngot"
+ },
+ {
+ "value": "CUSTOM:BlackIronIngot"
+ },
+ {
+ "value": "CUSTOM:BlackIronIngot"
+ },
+ {
+ "value": "Items.CAULDRON"
+ },
+ {
+ "value": "CUSTOM:BlackIronIngot"
+ },
+ {
+ "value": "CUSTOM:BlackIronIngot"
+ },
+ {
+ "value": "CUSTOM:BlackIronIngot"
+ },
+ {
+ "value": "CUSTOM:BlackIronIngot"
+ }
+ ],
+ "recipeReturnStack": {
+ "value": "CUSTOM:NetherPowerGenerator"
+ },
+ "name": "nether_power_generator_recipe",
+ "namespace": "mod"
+ }
+}
\ No newline at end of file
diff --git a/elements/NetherPowerGeneratorRefillLogic.mod.json b/elements/NetherPowerGeneratorRefillLogic.mod.json
new file mode 100644
index 0000000..070987e
--- /dev/null
+++ b/elements/NetherPowerGeneratorRefillLogic.mod.json
@@ -0,0 +1,7 @@
+{
+ "_fv": 73,
+ "_type": "procedure",
+ "definition": {
+ "procedurexml": "no_ext_trigger0CUSTOM:NetherrackJuice.bucket1Items.BUCKET0CUSTOM:NetherrackJuice1000DIVIDE11000item.bucket.fillblock0.751"
+ }
+}
\ No newline at end of file
diff --git a/elements/NetheriteApple.mod.json b/elements/NetheriteApple.mod.json
new file mode 100644
index 0000000..1a83231
--- /dev/null
+++ b/elements/NetheriteApple.mod.json
@@ -0,0 +1,68 @@
+{
+ "_fv": 73,
+ "_type": "item",
+ "definition": {
+ "renderType": 0,
+ "texture": "netherite_apple",
+ "customModelName": "Normal",
+ "customProperties": {},
+ "states": [],
+ "name": "Netherite Apple",
+ "rarity": "EPIC",
+ "creativeTabs": [
+ {
+ "value": "FOOD"
+ }
+ ],
+ "stackSize": 64,
+ "enchantability": 0,
+ "useDuration": 9,
+ "toolType": 1.0,
+ "damageCount": 0,
+ "recipeRemainder": {
+ "value": ""
+ },
+ "destroyAnyBlock": false,
+ "immuneToFire": true,
+ "stayInGridWhenCrafting": false,
+ "damageOnCrafting": false,
+ "enableMeleeDamage": false,
+ "damageVsEntity": 0.0,
+ "specialInformation": {
+ "fixedValue": [
+ "When consumed: Grants 0.05 permanent bonus Knockback Resistance."
+ ]
+ },
+ "glowCondition": {
+ "fixedValue": true
+ },
+ "inventorySize": 9,
+ "inventoryStackSize": 64,
+ "onFinishUsingItem": {
+ "name": "NetheriteApplePlayerFinishesUsingItem"
+ },
+ "enableRanged": false,
+ "shootConstantly": false,
+ "rangedItemChargesPower": false,
+ "projectile": {
+ "value": "CUSTOM:PocketLightningProjectile"
+ },
+ "projectileDisableAmmoCheck": false,
+ "isFood": true,
+ "nutritionalValue": 12,
+ "saturation": 1.2,
+ "eatResultItem": {
+ "value": ""
+ },
+ "isMeat": false,
+ "isAlwaysEdible": true,
+ "animation": "eat",
+ "isMusicDisc": false,
+ "musicDiscMusic": {
+ "value": ""
+ },
+ "musicDiscDescription": "",
+ "musicDiscLengthInTicks": 100,
+ "musicDiscAnalogOutput": 0
+ }
+}
\ No newline at end of file
diff --git a/elements/NetheriteAppleAdvancement.mod.json b/elements/NetheriteAppleAdvancement.mod.json
new file mode 100644
index 0000000..6c0feea
--- /dev/null
+++ b/elements/NetheriteAppleAdvancement.mod.json
@@ -0,0 +1,24 @@
+{
+ "_fv": 73,
+ "_type": "achievement",
+ "definition": {
+ "achievementName": "Eating Ancient History",
+ "achievementDescription": "Eat a Netherite Apple",
+ "achievementIcon": {
+ "value": "CUSTOM:NetheriteApple"
+ },
+ "background": "Default",
+ "disableDisplay": false,
+ "showPopup": true,
+ "announceToChat": true,
+ "hideIfNotCompleted": false,
+ "rewardLoot": [],
+ "rewardRecipes": [],
+ "rewardXP": 0,
+ "achievementType": "challenge",
+ "parent": {
+ "value": "CUSTOM:OrichalcumAppleAdvancement"
+ },
+ "triggerxml": "CUSTOM:NetheriteApple"
+ }
+}
\ No newline at end of file
diff --git a/elements/NetheriteApplePlayerFinishesUsingItem.mod.json b/elements/NetheriteApplePlayerFinishesUsingItem.mod.json
new file mode 100644
index 0000000..b9e10a5
--- /dev/null
+++ b/elements/NetheriteApplePlayerFinishesUsingItem.mod.json
@@ -0,0 +1,7 @@
+{
+ "_fv": 73,
+ "_type": "procedure",
+ "definition": {
+ "procedurexml": "no_ext_triggerABSORPTION11400TRUETRUESATURATION11400TRUETRUEKNOCKBACK_RESISTANCEADDKNOCKBACK_RESISTANCE0.05PermanentBonusKnockbackResistanceADDPermanentBonusKnockbackResistance1EntityPlayer§7Netherite Apple §rgranted you bonus Knockback Resistance!FALSE"
+ }
+}
\ No newline at end of file
diff --git a/elements/NetheriteAppleRecipe.mod.json b/elements/NetheriteAppleRecipe.mod.json
new file mode 100644
index 0000000..24da6ac
--- /dev/null
+++ b/elements/NetheriteAppleRecipe.mod.json
@@ -0,0 +1,28 @@
+{
+ "_fv": 73,
+ "_type": "recipe",
+ "definition": {
+ "recipeType": "Smithing",
+ "recipeRetstackSize": 1,
+ "group": "",
+ "cookingBookCategory": "MISC",
+ "xpReward": 0.0,
+ "cookingTime": 200,
+ "craftingBookCategory": "MISC",
+ "recipeShapeless": false,
+ "smithingInputStack": {
+ "value": "CUSTOM:OrichalcumApple"
+ },
+ "smithingInputAdditionStack": {
+ "value": "Items.NETHERITE_INGOT"
+ },
+ "smithingInputTemplateStack": {
+ "value": "Items.NETHERITE_UPGRADE"
+ },
+ "smithingReturnStack": {
+ "value": "CUSTOM:NetheriteApple"
+ },
+ "name": "netherite_apple_recipe",
+ "namespace": "mod"
+ }
+}
\ No newline at end of file
diff --git a/elements/OrichalcumApple.mod.json b/elements/OrichalcumApple.mod.json
index 2672d61..4c2c2d5 100644
--- a/elements/OrichalcumApple.mod.json
+++ b/elements/OrichalcumApple.mod.json
@@ -16,7 +16,7 @@
],
"stackSize": 64,
"enchantability": 0,
- "useDuration": 32,
+ "useDuration": 9,
"toolType": 1.0,
"damageCount": 0,
"recipeRemainder": {
diff --git a/elements/OrichalcumAppleAdvancement.mod.json b/elements/OrichalcumAppleAdvancement.mod.json
index 4103eb4..8bd00bc 100644
--- a/elements/OrichalcumAppleAdvancement.mod.json
+++ b/elements/OrichalcumAppleAdvancement.mod.json
@@ -15,7 +15,7 @@
"rewardLoot": [],
"rewardRecipes": [],
"rewardXP": 0,
- "achievementType": "challenge",
+ "achievementType": "goal",
"parent": {
"value": "CUSTOM:OrichalcumAdvancement"
},
diff --git a/elements/OrichalcumArmor.mod.json b/elements/OrichalcumArmor.mod.json
index 06fb6eb..bb8bbcf 100644
--- a/elements/OrichalcumArmor.mod.json
+++ b/elements/OrichalcumArmor.mod.json
@@ -3,7 +3,7 @@
"_type": "armor",
"definition": {
"enableHelmet": true,
- "textureHelmet": "orichalcum_helmat",
+ "textureHelmet": "orichalcum_helmet",
"enableBody": true,
"textureBody": "orichalcum_chestplate",
"enableLeggings": true,
diff --git a/elements/PentaCondensedNetherrackAdvancement.mod.json b/elements/PentaCondensedNetherrackAdvancement.mod.json
new file mode 100644
index 0000000..afa13fb
--- /dev/null
+++ b/elements/PentaCondensedNetherrackAdvancement.mod.json
@@ -0,0 +1,24 @@
+{
+ "_fv": 73,
+ "_type": "achievement",
+ "definition": {
+ "achievementName": "Otherwise, There Would Be No Point To Keep Rackin'!",
+ "achievementDescription": "Craft Penta-Condensed Netherrack",
+ "achievementIcon": {
+ "value": "CUSTOM:PentaCondensedNetherrack"
+ },
+ "background": "Default",
+ "disableDisplay": false,
+ "showPopup": true,
+ "announceToChat": true,
+ "hideIfNotCompleted": false,
+ "rewardLoot": [],
+ "rewardRecipes": [],
+ "rewardXP": 0,
+ "achievementType": "challenge",
+ "parent": {
+ "value": "CUSTOM:QuadraCondensedNetherrackAdvancement"
+ },
+ "triggerxml": "164CUSTOM:PentaCondensedNetherrack"
+ }
+}
\ No newline at end of file
diff --git a/elements/PlayerRespawnUpdatePermanentAttributeMods.mod.json b/elements/PlayerRespawnUpdatePermanentAttributeMods.mod.json
index 2161f83..af42581 100644
--- a/elements/PlayerRespawnUpdatePermanentAttributeMods.mod.json
+++ b/elements/PlayerRespawnUpdatePermanentAttributeMods.mod.json
@@ -2,6 +2,6 @@
"_fv": 73,
"_type": "procedure",
"definition": {
- "procedurexml": "player_respawn4ATTACK_DAMAGEADDATTACK_DAMAGEPermanentBonusAttackDamageMAX_HEALTHADDMAX_HEALTHPermanentBonusMaxHealthEQPermanentCreativeFlight1"
+ "procedurexml": "player_respawn4ATTACK_DAMAGEADDATTACK_DAMAGEPermanentBonusAttackDamageMAX_HEALTHADDMAX_HEALTHPermanentBonusMaxHealthARMORADDARMORPermanentBonusArmorARMOR_TOUGHNESSADDARMOR_TOUGHNESSMULTIPLYPermanentBonusArmorToughness0.67KNOCKBACK_RESISTANCEADDKNOCKBACK_RESISTANCEMULTIPLYPermanentBonusKnockbackResistance0.05EQPermanentCreativeFlight1"
}
}
\ No newline at end of file
diff --git a/elements/PlayerUpdate.mod.json b/elements/PlayerUpdate.mod.json
new file mode 100644
index 0000000..5833ebf
--- /dev/null
+++ b/elements/PlayerUpdate.mod.json
@@ -0,0 +1,7 @@
+{
+ "_fv": 73,
+ "_type": "procedure",
+ "definition": {
+ "procedurexml": "player_ticksEQPermanentFireResistance1FIRE_RESISTANCE060FALSEFALSEEQPermanentWaterBreathing1WATER_BREATHING060FALSEFALSE"
+ }
+}
\ No newline at end of file
diff --git a/elements/QuadraCondensedNetherrackAdvancement.mod.json b/elements/QuadraCondensedNetherrackAdvancement.mod.json
new file mode 100644
index 0000000..97c773e
--- /dev/null
+++ b/elements/QuadraCondensedNetherrackAdvancement.mod.json
@@ -0,0 +1,24 @@
+{
+ "_fv": 73,
+ "_type": "achievement",
+ "definition": {
+ "achievementName": "I Mean. Surely This Will Lead To Something?",
+ "achievementDescription": "Craft Quadra-Condensed Netherrack",
+ "achievementIcon": {
+ "value": "CUSTOM:QuadraCondensedNetherrack"
+ },
+ "background": "Default",
+ "disableDisplay": false,
+ "showPopup": true,
+ "announceToChat": true,
+ "hideIfNotCompleted": false,
+ "rewardLoot": [],
+ "rewardRecipes": [],
+ "rewardXP": 0,
+ "achievementType": "challenge",
+ "parent": {
+ "value": "CUSTOM:CondensedCondensedCondensedNetherrackAdvancement"
+ },
+ "triggerxml": "164CUSTOM:QuadraCondensedNetherrack"
+ }
+}
\ No newline at end of file
diff --git a/elements/RabbitHideRecipe2.mod.json b/elements/RabbitHideRecipe2.mod.json
new file mode 100644
index 0000000..9b8198f
--- /dev/null
+++ b/elements/RabbitHideRecipe2.mod.json
@@ -0,0 +1,48 @@
+{
+ "_fv": 73,
+ "_type": "recipe",
+ "definition": {
+ "recipeType": "Crafting",
+ "recipeRetstackSize": 3,
+ "group": "",
+ "cookingBookCategory": "MISC",
+ "xpReward": 0.0,
+ "cookingTime": 200,
+ "craftingBookCategory": "MISC",
+ "recipeShapeless": true,
+ "recipeSlots": [
+ {
+ "value": "Items.RABBIT_FOOT"
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ }
+ ],
+ "recipeReturnStack": {
+ "value": "Items.RABBIT_HIDE"
+ },
+ "name": "rabbit_hide_recipe_2",
+ "namespace": "mod"
+ }
+}
\ No newline at end of file
diff --git a/elements/RaveBlockRecipe.mod.json b/elements/RaveBlockRecipe.mod.json
index 2fdd541..31d9478 100644
--- a/elements/RaveBlockRecipe.mod.json
+++ b/elements/RaveBlockRecipe.mod.json
@@ -12,7 +12,7 @@
"recipeShapeless": true,
"recipeSlots": [
{
- "value": "Blocks.CONCRETE#0"
+ "value": "Blocks.REDSTONE_LAMP"
},
{
"value": "Items.DYE#1"
diff --git a/elements/RightPieceOfNetherStar.mod.json b/elements/RightPieceOfNetherStar.mod.json
new file mode 100644
index 0000000..e73d457
--- /dev/null
+++ b/elements/RightPieceOfNetherStar.mod.json
@@ -0,0 +1,63 @@
+{
+ "_fv": 73,
+ "_type": "item",
+ "definition": {
+ "renderType": 0,
+ "texture": "right_piece_of_nether_star",
+ "customModelName": "Normal",
+ "customProperties": {},
+ "states": [],
+ "name": "Right Piece Of Nether Star",
+ "rarity": "RARE",
+ "creativeTabs": [
+ {
+ "value": "MATERIALS"
+ }
+ ],
+ "stackSize": 64,
+ "enchantability": 0,
+ "useDuration": 0,
+ "toolType": 1.0,
+ "damageCount": 0,
+ "recipeRemainder": {
+ "value": ""
+ },
+ "destroyAnyBlock": false,
+ "immuneToFire": false,
+ "stayInGridWhenCrafting": false,
+ "damageOnCrafting": false,
+ "enableMeleeDamage": false,
+ "damageVsEntity": 0.0,
+ "specialInformation": {
+ "fixedValue": []
+ },
+ "glowCondition": {
+ "fixedValue": false
+ },
+ "inventorySize": 9,
+ "inventoryStackSize": 64,
+ "enableRanged": false,
+ "shootConstantly": false,
+ "rangedItemChargesPower": false,
+ "projectile": {
+ "value": "CUSTOM:PocketLightningProjectile"
+ },
+ "projectileDisableAmmoCheck": false,
+ "isFood": false,
+ "nutritionalValue": 4,
+ "saturation": 0.3,
+ "eatResultItem": {
+ "value": ""
+ },
+ "isMeat": false,
+ "isAlwaysEdible": false,
+ "animation": "none",
+ "isMusicDisc": false,
+ "musicDiscMusic": {
+ "value": ""
+ },
+ "musicDiscDescription": "",
+ "musicDiscLengthInTicks": 100,
+ "musicDiscAnalogOutput": 0
+ }
+}
\ No newline at end of file
diff --git a/elements/SaddleRecipe.mod.json b/elements/SaddleRecipe.mod.json
new file mode 100644
index 0000000..f480b3f
--- /dev/null
+++ b/elements/SaddleRecipe.mod.json
@@ -0,0 +1,48 @@
+{
+ "_fv": 73,
+ "_type": "recipe",
+ "definition": {
+ "recipeType": "Crafting",
+ "recipeRetstackSize": 1,
+ "group": "",
+ "cookingBookCategory": "MISC",
+ "xpReward": 0.0,
+ "cookingTime": 200,
+ "craftingBookCategory": "EQUIPMENT",
+ "recipeShapeless": false,
+ "recipeSlots": [
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": "Items.LEATHER"
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": "Items.LEATHER"
+ },
+ {
+ "value": "Items.IRON_NUGGET"
+ },
+ {
+ "value": "Items.LEATHER"
+ }
+ ],
+ "recipeReturnStack": {
+ "value": "Items.SADDLE"
+ },
+ "name": "saddle_recipe",
+ "namespace": "mod"
+ }
+}
\ No newline at end of file
diff --git a/elements/SkullRecipe.mod.json b/elements/SkullRecipe.mod.json
index 18d5acb..138b0da 100644
--- a/elements/SkullRecipe.mod.json
+++ b/elements/SkullRecipe.mod.json
@@ -24,7 +24,7 @@
"value": "Items.BONE"
},
{
- "value": "Items.IRON_HELMET"
+ "value": ""
},
{
"value": "Items.BONE"
diff --git a/elements/SocketRecipe.mod.json b/elements/SocketRecipe.mod.json
new file mode 100644
index 0000000..6923d5d
--- /dev/null
+++ b/elements/SocketRecipe.mod.json
@@ -0,0 +1,48 @@
+{
+ "_fv": 73,
+ "_type": "recipe",
+ "definition": {
+ "recipeType": "Crafting",
+ "recipeRetstackSize": 1,
+ "group": "",
+ "cookingBookCategory": "MISC",
+ "xpReward": 0.0,
+ "cookingTime": 200,
+ "craftingBookCategory": "MISC",
+ "recipeShapeless": false,
+ "recipeSlots": [
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": "CUSTOM:BlackIronIngot"
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": "CUSTOM:BlackIronIngot"
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": "CUSTOM:BlackIronIngot"
+ },
+ {
+ "value": ""
+ }
+ ],
+ "recipeReturnStack": {
+ "value": "CUSTOM:Socket"
+ },
+ "name": "socket_recipe",
+ "namespace": "mod"
+ }
+}
\ No newline at end of file
diff --git a/elements/SodaMachine.mod.json b/elements/SodaMachine.mod.json
index afb03df..a302fd3 100644
--- a/elements/SodaMachine.mod.json
+++ b/elements/SodaMachine.mod.json
@@ -38,22 +38,22 @@
"specialInformation": {
"fixedValue": []
},
- "hardness": 1.0,
- "resistance": 10.0,
+ "hardness": 5.0,
+ "resistance": 6.0,
"hasGravity": false,
"isWaterloggable": false,
"creativeTabs": [
{
- "value": "BUILDING_BLOCKS"
+ "value": "TRANSPORTATION"
}
],
- "destroyTool": "Not specified",
+ "destroyTool": "pickaxe",
"customDrop": {
"value": ""
},
"dropAmount": 1,
"useLootTableForDrops": false,
- "requiresCorrectTool": false,
+ "requiresCorrectTool": true,
"enchantPowerBonus": 0.0,
"plantsGrowOn": false,
"canRedstoneConnect": false,
@@ -103,7 +103,7 @@
},
"luminance": 0,
"unbreakable": false,
- "vanillaToolTier": "NONE",
+ "vanillaToolTier": "STONE",
"isBonemealable": false,
"hasInventory": false,
"openGUIOnRightClick": false,
diff --git a/elements/StarAssemblyTable.mod.json b/elements/StarAssemblyTable.mod.json
new file mode 100644
index 0000000..0183e7d
--- /dev/null
+++ b/elements/StarAssemblyTable.mod.json
@@ -0,0 +1,138 @@
+{
+ "_fv": 73,
+ "_type": "block",
+ "definition": {
+ "texture": "beacon",
+ "textureTop": "",
+ "textureLeft": "",
+ "textureFront": "",
+ "textureRight": "",
+ "textureBack": "",
+ "renderType": 2,
+ "customModelName": "starassemblytable:default",
+ "rotationMode": 1,
+ "enablePitch": false,
+ "emissiveRendering": false,
+ "displayFluidOverlay": false,
+ "itemTexture": "",
+ "particleTexture": "",
+ "tintType": "No tint",
+ "isItemTinted": false,
+ "hasTransparency": true,
+ "connectedSides": false,
+ "transparencyType": "SOLID",
+ "disableOffset": false,
+ "boundingBoxes": [
+ {
+ "mx": 0.0,
+ "my": 0.0,
+ "mz": 0.0,
+ "Mx": 16.0,
+ "My": 16.0,
+ "Mz": 16.0,
+ "subtract": false
+ }
+ ],
+ "customProperties": [],
+ "name": "Star Assembly Table",
+ "specialInformation": {
+ "fixedValue": []
+ },
+ "hardness": 5.0,
+ "resistance": 6.0,
+ "hasGravity": false,
+ "isWaterloggable": false,
+ "creativeTabs": [
+ {
+ "value": "TRANSPORTATION"
+ }
+ ],
+ "destroyTool": "Not specified",
+ "customDrop": {
+ "value": ""
+ },
+ "dropAmount": 1,
+ "useLootTableForDrops": false,
+ "requiresCorrectTool": false,
+ "enchantPowerBonus": 0.0,
+ "plantsGrowOn": false,
+ "canRedstoneConnect": false,
+ "lightOpacity": 0,
+ "material": {
+ "value": "NONE"
+ },
+ "tickRate": 0,
+ "tickRandomly": false,
+ "isReplaceable": false,
+ "canProvidePower": false,
+ "emittedRedstonePower": {
+ "fixedValue": 15.0
+ },
+ "colorOnMap": "DEFAULT",
+ "creativePickItem": {
+ "value": ""
+ },
+ "offsetType": "NONE",
+ "aiPathNodeType": "DEFAULT",
+ "flammability": 0,
+ "fireSpreadSpeed": 0,
+ "isLadder": false,
+ "slipperiness": 0.6,
+ "speedFactor": 1.0,
+ "jumpFactor": 1.0,
+ "reactionToPushing": "NORMAL",
+ "isNotColidable": false,
+ "isCustomSoundType": false,
+ "soundOnStep": {
+ "value": "METAL"
+ },
+ "breakSound": {
+ "value": ""
+ },
+ "fallSound": {
+ "value": ""
+ },
+ "hitSound": {
+ "value": ""
+ },
+ "placeSound": {
+ "value": ""
+ },
+ "stepSound": {
+ "value": ""
+ },
+ "luminance": 0,
+ "unbreakable": false,
+ "vanillaToolTier": "NONE",
+ "isBonemealable": false,
+ "hasInventory": true,
+ "guiBoundTo": "StarAssemblyTableGUI",
+ "openGUIOnRightClick": true,
+ "inventorySize": 5,
+ "inventoryStackSize": 64,
+ "inventoryDropWhenDestroyed": true,
+ "inventoryComparatorPower": true,
+ "inventoryOutSlotIDs": [],
+ "inventoryInSlotIDs": [],
+ "hasEnergyStorage": false,
+ "energyInitial": 0,
+ "energyCapacity": 400000,
+ "energyMaxReceive": 200,
+ "energyMaxExtract": 200,
+ "isFluidTank": false,
+ "fluidCapacity": 8000,
+ "fluidRestrictions": [],
+ "generateFeature": false,
+ "restrictionBiomes": [],
+ "blocksToReplace": [
+ {
+ "value": "TAG:stone_ore_replaceables"
+ }
+ ],
+ "generationShape": "UNIFORM",
+ "frequencyPerChunks": 10,
+ "frequencyOnChunk": 16,
+ "minGenerateHeight": 0,
+ "maxGenerateHeight": 64
+ }
+}
\ No newline at end of file
diff --git a/elements/StarAssemblyTableAdvancement.mod.json b/elements/StarAssemblyTableAdvancement.mod.json
new file mode 100644
index 0000000..720cb3a
--- /dev/null
+++ b/elements/StarAssemblyTableAdvancement.mod.json
@@ -0,0 +1,24 @@
+{
+ "_fv": 73,
+ "_type": "achievement",
+ "definition": {
+ "achievementName": "Star Shaper",
+ "achievementDescription": "Succesfully assemble a Nether Star in the Star Assembly Table",
+ "achievementIcon": {
+ "value": "Items.NETHER_STAR"
+ },
+ "background": "Default",
+ "disableDisplay": false,
+ "showPopup": true,
+ "announceToChat": true,
+ "hideIfNotCompleted": false,
+ "rewardLoot": [],
+ "rewardRecipes": [],
+ "rewardXP": 0,
+ "achievementType": "challenge",
+ "parent": {
+ "value": "CUSTOM:WelcomeAdvancement"
+ },
+ "triggerxml": ""
+ }
+}
\ No newline at end of file
diff --git a/elements/StarAssemblyTableAssembleLogic.mod.json b/elements/StarAssemblyTableAssembleLogic.mod.json
new file mode 100644
index 0000000..69f9f33
--- /dev/null
+++ b/elements/StarAssemblyTableAssembleLogic.mod.json
@@ -0,0 +1,7 @@
+{
+ "_fv": 73,
+ "_type": "procedure",
+ "definition": {
+ "procedurexml": "no_ext_triggerMINUS1CUSTOM:NetherPowerGeneratorGTE1MINUS1500ANDAND1CUSTOM:LeftPieceOfNetherStarAND2CUSTOM:TopPieceOfNetherStarAND3CUSTOM:RightPieceOfNetherStar4CUSTOM:BottomPieceOfNetherStarOR00Items.NETHER_STAR500MINUS1MINUS1DIVIDE1MINUS11000MINUS1111MINUS2122MINUS3133MINUS4144ADD01Items.NETHER_STAR0block.smithing_table.useblock0.750.9CUSTOM:StarAssemblyTableAdvancementCUSTOM:StarAssemblyTableAdvancement§cStar Assembly Table requires at least 500mB of Netherrack Juice in the Nether Power Generator.FALSE§cStar Assembly Table requires a Nether Power Generator directly underneath.FALSE"
+ }
+}
\ No newline at end of file
diff --git a/elements/StarAssemblyTableGUI.mod.json b/elements/StarAssemblyTableGUI.mod.json
new file mode 100644
index 0000000..adf5783
--- /dev/null
+++ b/elements/StarAssemblyTableGUI.mod.json
@@ -0,0 +1,163 @@
+{
+ "_fv": 73,
+ "_type": "gui",
+ "definition": {
+ "type": 1,
+ "width": 200,
+ "height": 220,
+ "inventoryOffsetX": 0,
+ "inventoryOffsetY": 0,
+ "renderBgLayer": true,
+ "doesPauseGame": false,
+ "components": [
+ {
+ "type": "label",
+ "data": {
+ "name": "label_star_assembly_table",
+ "text": {
+ "fixedValue": "Star Assembly Table"
+ },
+ "color": {
+ "value": -13434829,
+ "falpha": 0.0
+ },
+ "x": 123,
+ "y": 17,
+ "locked": false
+ }
+ },
+ {
+ "type": "inputslot",
+ "data": {
+ "inputLimit": {
+ "value": "CUSTOM:LeftPieceOfNetherStar"
+ },
+ "disablePlacement": {
+ "fixedValue": false
+ },
+ "color": {
+ "value": -3342337,
+ "falpha": 0.0
+ },
+ "id": 1,
+ "disablePickup": {
+ "fixedValue": false
+ },
+ "dropItemsWhenNotBound": false,
+ "x": 177,
+ "y": 62,
+ "locked": false
+ }
+ },
+ {
+ "type": "inputslot",
+ "data": {
+ "inputLimit": {
+ "value": "CUSTOM:TopPieceOfNetherStar"
+ },
+ "disablePlacement": {
+ "fixedValue": false
+ },
+ "color": {
+ "value": -3342337,
+ "falpha": 0.0
+ },
+ "id": 2,
+ "disablePickup": {
+ "fixedValue": false
+ },
+ "dropItemsWhenNotBound": false,
+ "x": 204,
+ "y": 35,
+ "locked": false
+ }
+ },
+ {
+ "type": "inputslot",
+ "data": {
+ "inputLimit": {
+ "value": "CUSTOM:RightPieceOfNetherStar"
+ },
+ "disablePlacement": {
+ "fixedValue": false
+ },
+ "color": {
+ "value": -3342337,
+ "falpha": 0.0
+ },
+ "id": 3,
+ "disablePickup": {
+ "fixedValue": false
+ },
+ "dropItemsWhenNotBound": false,
+ "x": 231,
+ "y": 62,
+ "locked": false
+ }
+ },
+ {
+ "type": "inputslot",
+ "data": {
+ "inputLimit": {
+ "value": "CUSTOM:BottomPieceOfNetherStar"
+ },
+ "disablePlacement": {
+ "fixedValue": false
+ },
+ "color": {
+ "value": -3342337,
+ "falpha": 0.0
+ },
+ "id": 4,
+ "disablePickup": {
+ "fixedValue": false
+ },
+ "dropItemsWhenNotBound": false,
+ "x": 204,
+ "y": 89,
+ "locked": false
+ }
+ },
+ {
+ "type": "button",
+ "data": {
+ "name": "button_assemble",
+ "text": "Assemble",
+ "isUndecorated": false,
+ "onClick": {
+ "name": "StarAssemblyTableAssembleLogic"
+ },
+ "width": 67,
+ "height": 20,
+ "x": 231,
+ "y": 89,
+ "locked": false
+ }
+ },
+ {
+ "type": "outputslot",
+ "data": {
+ "color": {
+ "value": -13434829,
+ "falpha": 0.0
+ },
+ "id": 0,
+ "disablePickup": {
+ "fixedValue": false
+ },
+ "dropItemsWhenNotBound": false,
+ "x": 204,
+ "y": 62,
+ "locked": false
+ }
+ }
+ ],
+ "gridSettings": {
+ "sx": 9,
+ "sy": 9,
+ "ox": 11,
+ "oy": 15,
+ "snapOnGrid": true
+ }
+ }
+}
\ No newline at end of file
diff --git a/elements/StarAssemblyTableRecipe.mod.json b/elements/StarAssemblyTableRecipe.mod.json
new file mode 100644
index 0000000..b616a35
--- /dev/null
+++ b/elements/StarAssemblyTableRecipe.mod.json
@@ -0,0 +1,48 @@
+{
+ "_fv": 73,
+ "_type": "recipe",
+ "definition": {
+ "recipeType": "Crafting",
+ "recipeRetstackSize": 1,
+ "group": "",
+ "cookingBookCategory": "MISC",
+ "xpReward": 0.0,
+ "cookingTime": 200,
+ "craftingBookCategory": "MISC",
+ "recipeShapeless": false,
+ "recipeSlots": [
+ {
+ "value": "CUSTOM:Netherrackite"
+ },
+ {
+ "value": "CUSTOM:Socket"
+ },
+ {
+ "value": "CUSTOM:Netherrackite"
+ },
+ {
+ "value": "CUSTOM:Socket"
+ },
+ {
+ "value": "Blocks.BEACON"
+ },
+ {
+ "value": "CUSTOM:Socket"
+ },
+ {
+ "value": "CUSTOM:Netherrackite"
+ },
+ {
+ "value": "CUSTOM:Socket"
+ },
+ {
+ "value": "CUSTOM:Netherrackite"
+ }
+ ],
+ "recipeReturnStack": {
+ "value": "CUSTOM:StarAssemblyTable"
+ },
+ "name": "star_assembly_table_recipe",
+ "namespace": "mod"
+ }
+}
\ No newline at end of file
diff --git a/elements/TasteTheRainbowAdvancement.mod.json b/elements/TasteTheRainbowAdvancement.mod.json
new file mode 100644
index 0000000..26bf770
--- /dev/null
+++ b/elements/TasteTheRainbowAdvancement.mod.json
@@ -0,0 +1,24 @@
+{
+ "_fv": 73,
+ "_type": "achievement",
+ "definition": {
+ "achievementName": "TASTE THE RAINBOW!!!!!!!!!",
+ "achievementDescription": "Drink a Canned Taste The Rainbow",
+ "achievementIcon": {
+ "value": "CUSTOM:TasteTheRainbowWaterCan"
+ },
+ "background": "Default",
+ "disableDisplay": false,
+ "showPopup": true,
+ "announceToChat": true,
+ "hideIfNotCompleted": false,
+ "rewardLoot": [],
+ "rewardRecipes": [],
+ "rewardXP": 0,
+ "achievementType": "challenge",
+ "parent": {
+ "value": "CUSTOM:SweetenedCarbonatedWaterCanAdvancement"
+ },
+ "triggerxml": "CUSTOM:TasteTheRainbowWaterCan"
+ }
+}
\ No newline at end of file
diff --git a/elements/TasteTheRainbowWaterCan.mod.json b/elements/TasteTheRainbowWaterCan.mod.json
new file mode 100644
index 0000000..aeb83c1
--- /dev/null
+++ b/elements/TasteTheRainbowWaterCan.mod.json
@@ -0,0 +1,66 @@
+{
+ "_fv": 73,
+ "_type": "item",
+ "definition": {
+ "renderType": 0,
+ "texture": "tastetherainbow",
+ "customModelName": "Normal",
+ "customProperties": {},
+ "states": [],
+ "name": "Canned Taste The Rainbow",
+ "rarity": "RARE",
+ "creativeTabs": [
+ {
+ "value": "FOOD"
+ }
+ ],
+ "stackSize": 64,
+ "enchantability": 0,
+ "useDuration": 32,
+ "toolType": 1.0,
+ "damageCount": 0,
+ "recipeRemainder": {
+ "value": ""
+ },
+ "destroyAnyBlock": false,
+ "immuneToFire": false,
+ "stayInGridWhenCrafting": false,
+ "damageOnCrafting": false,
+ "enableMeleeDamage": false,
+ "damageVsEntity": 0.0,
+ "specialInformation": {
+ "fixedValue": []
+ },
+ "glowCondition": {
+ "fixedValue": true
+ },
+ "inventorySize": 9,
+ "inventoryStackSize": 64,
+ "onFinishUsingItem": {
+ "name": "TasteTheRainbowWaterCanPlayerFinishesUsingItem"
+ },
+ "enableRanged": false,
+ "shootConstantly": false,
+ "rangedItemChargesPower": false,
+ "projectile": {
+ "value": "CUSTOM:PocketLightningProjectile"
+ },
+ "projectileDisableAmmoCheck": false,
+ "isFood": true,
+ "nutritionalValue": 0,
+ "saturation": 0.0,
+ "eatResultItem": {
+ "value": ""
+ },
+ "isMeat": false,
+ "isAlwaysEdible": true,
+ "animation": "drink",
+ "isMusicDisc": false,
+ "musicDiscMusic": {
+ "value": ""
+ },
+ "musicDiscDescription": "",
+ "musicDiscLengthInTicks": 100,
+ "musicDiscAnalogOutput": 0
+ }
+}
\ No newline at end of file
diff --git a/elements/TasteTheRainbowWaterCanPlayerFinishesUsingItem.mod.json b/elements/TasteTheRainbowWaterCanPlayerFinishesUsingItem.mod.json
new file mode 100644
index 0000000..d3051bc
--- /dev/null
+++ b/elements/TasteTheRainbowWaterCanPlayerFinishesUsingItem.mod.json
@@ -0,0 +1,7 @@
+{
+ "_fv": 73,
+ "_type": "procedure",
+ "definition": {
+ "procedurexml": "no_ext_triggerLEVITATION49200FALSEFALSELEVITATIONEndLEVITATION49200FALSEFALSELEVITATIONSurface02560"
+ }
+}
\ No newline at end of file
diff --git a/elements/TasteTheRainbowWaterCanRecipe.mod.json b/elements/TasteTheRainbowWaterCanRecipe.mod.json
new file mode 100644
index 0000000..db5e016
--- /dev/null
+++ b/elements/TasteTheRainbowWaterCanRecipe.mod.json
@@ -0,0 +1,25 @@
+{
+ "_fv": 73,
+ "_type": "recipe",
+ "definition": {
+ "recipeType": "Brewing",
+ "recipeRetstackSize": 1,
+ "group": "",
+ "cookingBookCategory": "MISC",
+ "xpReward": 0.0,
+ "cookingTime": 200,
+ "craftingBookCategory": "MISC",
+ "recipeShapeless": false,
+ "brewingInputStack": {
+ "value": "CUSTOM:SweetenedCarbonatedWaterCan"
+ },
+ "brewingIngredientStack": {
+ "value": "CUSTOM:RaveBlock"
+ },
+ "brewingReturnStack": {
+ "value": "CUSTOM:TasteTheRainbowWaterCan"
+ },
+ "name": "taste_the_rainbow_water_can_recipe",
+ "namespace": "mod"
+ }
+}
\ No newline at end of file
diff --git a/elements/TopPieceOfNetherStar.mod.json b/elements/TopPieceOfNetherStar.mod.json
new file mode 100644
index 0000000..f4b25a2
--- /dev/null
+++ b/elements/TopPieceOfNetherStar.mod.json
@@ -0,0 +1,63 @@
+{
+ "_fv": 73,
+ "_type": "item",
+ "definition": {
+ "renderType": 0,
+ "texture": "top_piece_of_nether_star",
+ "customModelName": "Normal",
+ "customProperties": {},
+ "states": [],
+ "name": "Top Piece Of Nether Star",
+ "rarity": "RARE",
+ "creativeTabs": [
+ {
+ "value": "MATERIALS"
+ }
+ ],
+ "stackSize": 64,
+ "enchantability": 0,
+ "useDuration": 0,
+ "toolType": 1.0,
+ "damageCount": 0,
+ "recipeRemainder": {
+ "value": ""
+ },
+ "destroyAnyBlock": false,
+ "immuneToFire": false,
+ "stayInGridWhenCrafting": false,
+ "damageOnCrafting": false,
+ "enableMeleeDamage": false,
+ "damageVsEntity": 0.0,
+ "specialInformation": {
+ "fixedValue": []
+ },
+ "glowCondition": {
+ "fixedValue": false
+ },
+ "inventorySize": 9,
+ "inventoryStackSize": 64,
+ "enableRanged": false,
+ "shootConstantly": false,
+ "rangedItemChargesPower": false,
+ "projectile": {
+ "value": "CUSTOM:PocketLightningProjectile"
+ },
+ "projectileDisableAmmoCheck": false,
+ "isFood": false,
+ "nutritionalValue": 4,
+ "saturation": 0.3,
+ "eatResultItem": {
+ "value": ""
+ },
+ "isMeat": false,
+ "isAlwaysEdible": false,
+ "animation": "none",
+ "isMusicDisc": false,
+ "musicDiscMusic": {
+ "value": ""
+ },
+ "musicDiscDescription": "",
+ "musicDiscLengthInTicks": 100,
+ "musicDiscAnalogOutput": 0
+ }
+}
\ No newline at end of file
diff --git a/elements/TotemOfUndyingRecipe2.mod.json b/elements/TotemOfUndyingRecipe2.mod.json
new file mode 100644
index 0000000..25557a7
--- /dev/null
+++ b/elements/TotemOfUndyingRecipe2.mod.json
@@ -0,0 +1,48 @@
+{
+ "_fv": 73,
+ "_type": "recipe",
+ "definition": {
+ "recipeType": "Crafting",
+ "recipeRetstackSize": 1,
+ "group": "",
+ "cookingBookCategory": "MISC",
+ "xpReward": 0.0,
+ "cookingTime": 200,
+ "craftingBookCategory": "MISC",
+ "recipeShapeless": false,
+ "recipeSlots": [
+ {
+ "value": "Items.EMERALD"
+ },
+ {
+ "value": "Items.GOLD_INGOT"
+ },
+ {
+ "value": "Items.EMERALD"
+ },
+ {
+ "value": "CUSTOM:BottomPieceOfNetherStar"
+ },
+ {
+ "value": "Items.GOLD_INGOT"
+ },
+ {
+ "value": "CUSTOM:BottomPieceOfNetherStar"
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": "Items.GOLD_INGOT"
+ },
+ {
+ "value": ""
+ }
+ ],
+ "recipeReturnStack": {
+ "value": "Items.TOTEM_OF_UNDYING"
+ },
+ "name": "totem_of_undying_recipe_2",
+ "namespace": "mod"
+ }
+}
\ No newline at end of file
diff --git a/elements/TridentRecipe.mod.json b/elements/TridentRecipe.mod.json
new file mode 100644
index 0000000..225d9df
--- /dev/null
+++ b/elements/TridentRecipe.mod.json
@@ -0,0 +1,48 @@
+{
+ "_fv": 73,
+ "_type": "recipe",
+ "definition": {
+ "recipeType": "Crafting",
+ "recipeRetstackSize": 1,
+ "group": "",
+ "cookingBookCategory": "MISC",
+ "xpReward": 0.0,
+ "cookingTime": 200,
+ "craftingBookCategory": "EQUIPMENT",
+ "recipeShapeless": false,
+ "recipeSlots": [
+ {
+ "value": ""
+ },
+ {
+ "value": "Items.QUARTZ"
+ },
+ {
+ "value": "Items.QUARTZ"
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": "Items.PRISMARINE_SHARD"
+ },
+ {
+ "value": "Items.QUARTZ"
+ },
+ {
+ "value": "Items.PRISMARINE_SHARD"
+ },
+ {
+ "value": ""
+ },
+ {
+ "value": ""
+ }
+ ],
+ "recipeReturnStack": {
+ "value": "Items.TRIDENT"
+ },
+ "name": "trident_recipe",
+ "namespace": "mod"
+ }
+}
\ No newline at end of file
diff --git a/elements/TurtleApple.mod.json b/elements/TurtleApple.mod.json
new file mode 100644
index 0000000..d2ed426
--- /dev/null
+++ b/elements/TurtleApple.mod.json
@@ -0,0 +1,68 @@
+{
+ "_fv": 73,
+ "_type": "item",
+ "definition": {
+ "renderType": 0,
+ "texture": "turtle_apple",
+ "customModelName": "Normal",
+ "customProperties": {},
+ "states": [],
+ "name": "Turtle Apple",
+ "rarity": "EPIC",
+ "creativeTabs": [
+ {
+ "value": "FOOD"
+ }
+ ],
+ "stackSize": 64,
+ "enchantability": 0,
+ "useDuration": 9,
+ "toolType": 1.0,
+ "damageCount": 0,
+ "recipeRemainder": {
+ "value": ""
+ },
+ "destroyAnyBlock": false,
+ "immuneToFire": true,
+ "stayInGridWhenCrafting": false,
+ "damageOnCrafting": false,
+ "enableMeleeDamage": false,
+ "damageVsEntity": 0.0,
+ "specialInformation": {
+ "fixedValue": [
+ "When consumed: Grants permanent Water Breathing."
+ ]
+ },
+ "glowCondition": {
+ "fixedValue": true
+ },
+ "inventorySize": 9,
+ "inventoryStackSize": 64,
+ "onFinishUsingItem": {
+ "name": "TurtleApplePlayerFinishesUsingItem"
+ },
+ "enableRanged": false,
+ "shootConstantly": false,
+ "rangedItemChargesPower": false,
+ "projectile": {
+ "value": "CUSTOM:PocketLightningProjectile"
+ },
+ "projectileDisableAmmoCheck": false,
+ "isFood": true,
+ "nutritionalValue": 9,
+ "saturation": 1.1,
+ "eatResultItem": {
+ "value": ""
+ },
+ "isMeat": false,
+ "isAlwaysEdible": true,
+ "animation": "eat",
+ "isMusicDisc": false,
+ "musicDiscMusic": {
+ "value": ""
+ },
+ "musicDiscDescription": "",
+ "musicDiscLengthInTicks": 100,
+ "musicDiscAnalogOutput": 0
+ }
+}
\ No newline at end of file
diff --git a/elements/TurtleAppleAdvancement.mod.json b/elements/TurtleAppleAdvancement.mod.json
new file mode 100644
index 0000000..8d7f2de
--- /dev/null
+++ b/elements/TurtleAppleAdvancement.mod.json
@@ -0,0 +1,24 @@
+{
+ "_fv": 73,
+ "_type": "achievement",
+ "definition": {
+ "achievementName": "You're A Monster!",
+ "achievementDescription": "Eat a Turtle Apple",
+ "achievementIcon": {
+ "value": "CUSTOM:TurtleApple"
+ },
+ "background": "Default",
+ "disableDisplay": false,
+ "showPopup": true,
+ "announceToChat": true,
+ "hideIfNotCompleted": false,
+ "rewardLoot": [],
+ "rewardRecipes": [],
+ "rewardXP": 0,
+ "achievementType": "challenge",
+ "parent": {
+ "value": "CUSTOM:OrichalcumAppleAdvancement"
+ },
+ "triggerxml": "CUSTOM:TurtleApple"
+ }
+}
\ No newline at end of file
diff --git a/elements/TurtleApplePlayerFinishesUsingItem.mod.json b/elements/TurtleApplePlayerFinishesUsingItem.mod.json
new file mode 100644
index 0000000..f45096c
--- /dev/null
+++ b/elements/TurtleApplePlayerFinishesUsingItem.mod.json
@@ -0,0 +1,7 @@
+{
+ "_fv": 73,
+ "_type": "procedure",
+ "definition": {
+ "procedurexml": "no_ext_triggerJUMP_BOOST1900TRUETRUESPEED1900TRUETRUEPermanentWaterBreathing1EntityPlayer§aTurtle Apple §rgranted you permanent Water Breathing!FALSE"
+ }
+}
\ No newline at end of file
diff --git a/elements/TurtleAppleRecipe.mod.json b/elements/TurtleAppleRecipe.mod.json
new file mode 100644
index 0000000..fe9a0f3
--- /dev/null
+++ b/elements/TurtleAppleRecipe.mod.json
@@ -0,0 +1,48 @@
+{
+ "_fv": 73,
+ "_type": "recipe",
+ "definition": {
+ "recipeType": "Crafting",
+ "recipeRetstackSize": 1,
+ "group": "",
+ "cookingBookCategory": "MISC",
+ "xpReward": 0.0,
+ "cookingTime": 200,
+ "craftingBookCategory": "MISC",
+ "recipeShapeless": false,
+ "recipeSlots": [
+ {
+ "value": "Items.SCUTE"
+ },
+ {
+ "value": "Items.SCUTE"
+ },
+ {
+ "value": "Items.SCUTE"
+ },
+ {
+ "value": "Items.SCUTE"
+ },
+ {
+ "value": "CUSTOM:OrichalcumApple"
+ },
+ {
+ "value": "Items.SCUTE"
+ },
+ {
+ "value": "Items.SCUTE"
+ },
+ {
+ "value": "Items.SCUTE"
+ },
+ {
+ "value": "Items.SCUTE"
+ }
+ ],
+ "recipeReturnStack": {
+ "value": "CUSTOM:TurtleApple"
+ },
+ "name": "turtle_apple_recipe",
+ "namespace": "mod"
+ }
+}
\ No newline at end of file
diff --git a/elements/VoidApple.mod.json b/elements/VoidApple.mod.json
index 271315c..99cfe01 100644
--- a/elements/VoidApple.mod.json
+++ b/elements/VoidApple.mod.json
@@ -16,7 +16,7 @@
],
"stackSize": 64,
"enchantability": 0,
- "useDuration": 32,
+ "useDuration": 9,
"toolType": 1.0,
"damageCount": 0,
"recipeRemainder": {
diff --git a/elements/WandOfResizingRightclicked.mod.json b/elements/WandOfResizingRightclicked.mod.json
index 3978d82..7ec267b 100644
--- a/elements/WandOfResizingRightclicked.mod.json
+++ b/elements/WandOfResizingRightclicked.mod.json
@@ -2,6 +2,6 @@
"_fv": 73,
"_type": "procedure",
"definition": {
- "procedurexml": "no_ext_triggerANDGTHEIGHT0.26GTWIDTH0.2670HEIGHTDIVIDEHEIGHT2WIDTHDIVIDEWIDTH2block.beacon.activateblock0.851.2ANDLTHEIGHT1.99LTWIDTH1.9970HEIGHTMULTIPLYHEIGHT2WIDTHMULTIPLYWIDTH2block.beacon.activateblock0.850.8"
+ "procedurexml": "no_ext_triggerANDGTHEIGHT0.07GTWIDTH0.0755HEIGHTDIVIDEHEIGHT2WIDTHDIVIDEWIDTH2block.beacon.activateblock0.851.2ANDLTHEIGHT3.99LTWIDTH3.9955HEIGHTMULTIPLYHEIGHT2WIDTHMULTIPLYWIDTH2block.beacon.activateblock0.850.8"
}
}
\ No newline at end of file
diff --git a/elements/WitherSkeletonLootTable.mod.json b/elements/WitherSkeletonLootTable.mod.json
new file mode 100644
index 0000000..6da0590
--- /dev/null
+++ b/elements/WitherSkeletonLootTable.mod.json
@@ -0,0 +1,225 @@
+{
+ "_fv": 73,
+ "_type": "loottable",
+ "definition": {
+ "type": "Entity",
+ "pools": [
+ {
+ "minrolls": 1,
+ "maxrolls": 1,
+ "minbonusrolls": 1,
+ "maxbonusrolls": 1,
+ "hasbonusrolls": false,
+ "entries": [
+ {
+ "type": "item",
+ "item": {
+ "value": "Items.COAL#0"
+ },
+ "weight": 250,
+ "minCount": 0,
+ "maxCount": 1,
+ "minEnchantmentLevel": 0,
+ "maxEnchantmentLevel": 0,
+ "affectedByFortune": true,
+ "explosionDecay": false,
+ "silkTouchMode": 0
+ },
+ {
+ "type": "item",
+ "item": {
+ "value": "Blocks.SKULL#1"
+ },
+ "weight": 3,
+ "minCount": 1,
+ "maxCount": 1,
+ "minEnchantmentLevel": 0,
+ "maxEnchantmentLevel": 0,
+ "affectedByFortune": true,
+ "explosionDecay": false,
+ "silkTouchMode": 0
+ },
+ {
+ "type": "item",
+ "item": {
+ "value": "CUSTOM:LeftPieceOfNetherStar"
+ },
+ "weight": 5,
+ "minCount": 1,
+ "maxCount": 1,
+ "minEnchantmentLevel": 0,
+ "maxEnchantmentLevel": 0,
+ "affectedByFortune": true,
+ "explosionDecay": false,
+ "silkTouchMode": 0
+ },
+ {
+ "type": "item",
+ "item": {
+ "value": "CUSTOM:TopPieceOfNetherStar"
+ },
+ "weight": 5,
+ "minCount": 1,
+ "maxCount": 1,
+ "minEnchantmentLevel": 0,
+ "maxEnchantmentLevel": 0,
+ "affectedByFortune": true,
+ "explosionDecay": false,
+ "silkTouchMode": 0
+ },
+ {
+ "type": "item",
+ "item": {
+ "value": "CUSTOM:RightPieceOfNetherStar"
+ },
+ "weight": 5,
+ "minCount": 1,
+ "maxCount": 1,
+ "minEnchantmentLevel": 0,
+ "maxEnchantmentLevel": 0,
+ "affectedByFortune": true,
+ "explosionDecay": false,
+ "silkTouchMode": 0
+ },
+ {
+ "type": "item",
+ "item": {
+ "value": "CUSTOM:BottomPieceOfNetherStar"
+ },
+ "weight": 5,
+ "minCount": 1,
+ "maxCount": 1,
+ "minEnchantmentLevel": 0,
+ "maxEnchantmentLevel": 0,
+ "affectedByFortune": true,
+ "explosionDecay": false,
+ "silkTouchMode": 0
+ },
+ {
+ "type": "item",
+ "item": {
+ "value": "CUSTOM:BlackIronUpgradeSmithingTemplate"
+ },
+ "weight": 4,
+ "minCount": 1,
+ "maxCount": 1,
+ "minEnchantmentLevel": 0,
+ "maxEnchantmentLevel": 0,
+ "affectedByFortune": true,
+ "explosionDecay": false,
+ "silkTouchMode": 0
+ }
+ ]
+ },
+ {
+ "minrolls": 1,
+ "maxrolls": 1,
+ "minbonusrolls": 1,
+ "maxbonusrolls": 1,
+ "hasbonusrolls": false,
+ "entries": [
+ {
+ "type": "item",
+ "item": {
+ "value": "Items.BONE"
+ },
+ "weight": 250,
+ "minCount": 0,
+ "maxCount": 2,
+ "minEnchantmentLevel": 0,
+ "maxEnchantmentLevel": 0,
+ "affectedByFortune": true,
+ "explosionDecay": false,
+ "silkTouchMode": 0
+ },
+ {
+ "type": "item",
+ "item": {
+ "value": "Blocks.SKULL#1"
+ },
+ "weight": 3,
+ "minCount": 1,
+ "maxCount": 1,
+ "minEnchantmentLevel": 0,
+ "maxEnchantmentLevel": 0,
+ "affectedByFortune": true,
+ "explosionDecay": false,
+ "silkTouchMode": 0
+ },
+ {
+ "type": "item",
+ "item": {
+ "value": "CUSTOM:LeftPieceOfNetherStar"
+ },
+ "weight": 5,
+ "minCount": 1,
+ "maxCount": 1,
+ "minEnchantmentLevel": 0,
+ "maxEnchantmentLevel": 0,
+ "affectedByFortune": true,
+ "explosionDecay": false,
+ "silkTouchMode": 0
+ },
+ {
+ "type": "item",
+ "item": {
+ "value": "CUSTOM:TopPieceOfNetherStar"
+ },
+ "weight": 5,
+ "minCount": 1,
+ "maxCount": 1,
+ "minEnchantmentLevel": 0,
+ "maxEnchantmentLevel": 0,
+ "affectedByFortune": true,
+ "explosionDecay": false,
+ "silkTouchMode": 0
+ },
+ {
+ "type": "item",
+ "item": {
+ "value": "CUSTOM:RightPieceOfNetherStar"
+ },
+ "weight": 5,
+ "minCount": 1,
+ "maxCount": 1,
+ "minEnchantmentLevel": 0,
+ "maxEnchantmentLevel": 0,
+ "affectedByFortune": true,
+ "explosionDecay": false,
+ "silkTouchMode": 0
+ },
+ {
+ "type": "item",
+ "item": {
+ "value": "CUSTOM:BottomPieceOfNetherStar"
+ },
+ "weight": 5,
+ "minCount": 1,
+ "maxCount": 1,
+ "minEnchantmentLevel": 0,
+ "maxEnchantmentLevel": 0,
+ "affectedByFortune": true,
+ "explosionDecay": false,
+ "silkTouchMode": 0
+ },
+ {
+ "type": "item",
+ "item": {
+ "value": "CUSTOM:BlackIronUpgradeSmithingTemplate"
+ },
+ "weight": 4,
+ "minCount": 1,
+ "maxCount": 1,
+ "minEnchantmentLevel": 0,
+ "maxEnchantmentLevel": 0,
+ "affectedByFortune": true,
+ "explosionDecay": false,
+ "silkTouchMode": 0
+ }
+ ]
+ }
+ ],
+ "name": "entities/wither_skeleton",
+ "namespace": "minecraft"
+ }
+}
\ No newline at end of file
diff --git a/models/enditescythe.json b/models/enditescythe.json
index d53d342..24a76b4 100644
--- a/models/enditescythe.json
+++ b/models/enditescythe.json
@@ -1,10 +1,11 @@
{
"format_version": "1.9.0",
"credit": "Made with Blockbench",
+ "texture_size": [32, 32],
"textures": {
- "0": "aris_random_additions:block/endite_ore_block",
- "1": "aris_random_additions:block/endite_scythe_handle",
- "particle": "aris_random_additions:block/endite_ore_block"
+ "1": "blade",
+ "2": "handle",
+ "particle": "handle"
},
"elements": [
{
@@ -12,64 +13,25 @@
"to": [19, 11.3, 9.3],
"rotation": {"angle": 22.5, "axis": "z", "origin": [3, 11, 7]},
"faces": {
- "north": {"uv": [0.25, 0.25, 0.75, 0.75], "rotation": 270, "texture": "#1"},
- "east": {"uv": [1.25, 0.25, 1.75, 0.75], "rotation": 90, "texture": "#1"},
- "south": {"uv": [2.25, 0.25, 2.75, 0.75], "rotation": 90, "texture": "#1"},
- "west": {"uv": [3.25, 0.25, 3.75, 0.75], "rotation": 90, "texture": "#1"},
- "up": {"uv": [4.25, 0.25, 4.75, 0.75], "rotation": 90, "texture": "#1"},
- "down": {"uv": [5.25, 0.25, 5.75, 0.75], "rotation": 90, "texture": "#1"}
+ "north": {"uv": [0, 0, 12.5, 1.5], "texture": "#1"},
+ "east": {"uv": [0, 6, 1.5, 7.5], "texture": "#1"},
+ "south": {"uv": [0, 1.5, 12.5, 3], "texture": "#1"},
+ "west": {"uv": [1.5, 6, 3, 7.5], "texture": "#1"},
+ "up": {"uv": [12.5, 4.5, 0, 3], "texture": "#1"},
+ "down": {"uv": [12.5, 4.5, 0, 6], "texture": "#1"}
}
},
{
- "from": [16, 9, 2],
- "to": [18, 11, 7],
- "rotation": {"angle": 22.5, "axis": "z", "origin": [3, 11, 7]},
+ "from": [12.34375, 8.6875, -5.1875],
+ "to": [18.34375, 8.6885, 6.8125],
+ "rotation": {"angle": 22.5, "axis": "z", "origin": [-0.65625, 10.6875, -0.1875]},
"faces": {
- "north": {"uv": [6.25, 0.25, 6.75, 0.75], "rotation": 270, "texture": "#0"},
- "east": {"uv": [7.25, 0.25, 7.75, 0.75], "rotation": 90, "texture": "#0"},
- "south": {"uv": [8.25, 0.25, 8.75, 0.75], "rotation": 90, "texture": "#0"},
- "west": {"uv": [9.25, 0.25, 9.75, 0.75], "rotation": 90, "texture": "#0"},
- "up": {"uv": [10.25, 0.25, 10.75, 0.75], "rotation": 90, "texture": "#0"},
- "down": {"uv": [11.25, 0.25, 11.75, 0.75], "rotation": 90, "texture": "#0"}
- }
- },
- {
- "from": [15, 9, -3],
- "to": [17, 11, 2],
- "rotation": {"angle": 22.5, "axis": "z", "origin": [3, 11, 6]},
- "faces": {
- "north": {"uv": [12.25, 0.25, 12.75, 0.75], "rotation": 270, "texture": "#0"},
- "east": {"uv": [13.25, 0.25, 13.75, 0.75], "rotation": 90, "texture": "#0"},
- "south": {"uv": [14.25, 0.25, 14.75, 0.75], "rotation": 90, "texture": "#0"},
- "west": {"uv": [15.25, 0.25, 15.75, 0.75], "rotation": 90, "texture": "#0"},
- "up": {"uv": [0.25, 1.25, 0.75, 1.75], "rotation": 90, "texture": "#0"},
- "down": {"uv": [1.25, 1.25, 1.75, 1.75], "rotation": 90, "texture": "#0"}
- }
- },
- {
- "from": [14, 9, -6],
- "to": [16, 11, -3],
- "rotation": {"angle": 22.5, "axis": "z", "origin": [3, 11, 5]},
- "faces": {
- "north": {"uv": [2.25, 1.25, 2.75, 1.75], "rotation": 270, "texture": "#0"},
- "east": {"uv": [3.25, 1.25, 3.75, 1.75], "rotation": 90, "texture": "#0"},
- "south": {"uv": [4.25, 1.25, 4.75, 1.75], "rotation": 90, "texture": "#0"},
- "west": {"uv": [5.25, 1.25, 5.75, 1.75], "rotation": 90, "texture": "#0"},
- "up": {"uv": [6.25, 1.25, 6.75, 1.75], "rotation": 90, "texture": "#0"},
- "down": {"uv": [7.25, 1.25, 7.75, 1.75], "rotation": 90, "texture": "#0"}
- }
- },
- {
- "from": [13, 9, -7],
- "to": [15, 11, -6],
- "rotation": {"angle": 22.5, "axis": "z", "origin": [3, 11, 4]},
- "faces": {
- "north": {"uv": [8.25, 1.25, 8.75, 1.75], "rotation": 270, "texture": "#0"},
- "east": {"uv": [9.25, 1.25, 9.75, 1.75], "rotation": 90, "texture": "#0"},
- "south": {"uv": [10.25, 1.25, 10.75, 1.75], "rotation": 90, "texture": "#0"},
- "west": {"uv": [11.25, 1.25, 11.75, 1.75], "rotation": 90, "texture": "#0"},
- "up": {"uv": [12.25, 1.25, 12.75, 1.75], "rotation": 90, "texture": "#0"},
- "down": {"uv": [13.25, 1.25, 13.75, 1.75], "rotation": 90, "texture": "#0"}
+ "north": {"uv": [6, 0.5, 9, 1], "texture": "#2"},
+ "east": {"uv": [0, 6, 6, 6.5], "texture": "#2"},
+ "south": {"uv": [6, 1, 9, 1.5], "texture": "#2"},
+ "west": {"uv": [6, 0, 12, 0.5], "texture": "#2"},
+ "up": {"uv": [3, 6, 0, 0], "texture": "#2"},
+ "down": {"uv": [6, 0, 3, 6], "texture": "#2"}
}
}
],
@@ -86,7 +48,7 @@
"origin": [8, 8, 8],
"scope": 0,
"color": 0,
- "children": [1, 2, 3, 4]
+ "children": [1]
}
]
}
\ No newline at end of file
diff --git a/models/enditescythe.json.textures b/models/enditescythe.json.textures
index 44b8137..ce62ca5 100644
--- a/models/enditescythe.json.textures
+++ b/models/enditescythe.json.textures
@@ -2,8 +2,8 @@
"mappings": {
"default": {
"map": {
- "0": "endite_ore_block",
- "1": "endite_scythe_handle"
+ "1": "endite_scythe_blade",
+ "2": "endite_scythe_handle"
},
"name": "default"
}
diff --git a/models/orichalcum_katana.json.textures b/models/orichalcum_katana.json.textures
index 86f0b3e..cf6ad6e 100644
--- a/models/orichalcum_katana.json.textures
+++ b/models/orichalcum_katana.json.textures
@@ -2,8 +2,8 @@
"mappings": {
"default": {
"map": {
- "0": "blade",
- "1": "hilt"
+ "0": "katana_blade",
+ "1": "katana_hilt"
},
"name": "default"
}
diff --git a/models/starassemblytable.json b/models/starassemblytable.json
new file mode 100644
index 0000000..92c7faf
--- /dev/null
+++ b/models/starassemblytable.json
@@ -0,0 +1,321 @@
+{
+ "format_version": "1.9.0",
+ "credit": "Made with Blockbench",
+ "textures": {
+ "0": "aris_random_additions:block/endite_ore_block",
+ "1": "aris_random_additions:block/black_iron_block",
+ "2": "aris_random_additions:block/beacon",
+ "particle": "aris_random_additions:block/endite_ore_block"
+ },
+ "elements": [
+ {
+ "from": [1, 0, 1],
+ "to": [3, 8, 3],
+ "rotation": {"angle": 0, "axis": "y", "origin": [1, 0, 1]},
+ "faces": {
+ "north": {"uv": [0, 2, 2, 10], "texture": "#0"},
+ "east": {"uv": [0, 2, 2, 10], "texture": "#0"},
+ "south": {"uv": [0, 2, 2, 10], "texture": "#0"},
+ "west": {"uv": [0, 2, 2, 10], "texture": "#0"},
+ "up": {"uv": [0, 0, 2, 2], "texture": "#0"},
+ "down": {"uv": [0, 0, 2, 2], "texture": "#0"}
+ }
+ },
+ {
+ "from": [13, 0, 1],
+ "to": [15, 8, 3],
+ "rotation": {"angle": 0, "axis": "y", "origin": [13, 0, 1]},
+ "faces": {
+ "north": {"uv": [0, 2, 2, 10], "texture": "#0"},
+ "east": {"uv": [0, 2, 2, 10], "texture": "#0"},
+ "south": {"uv": [0, 2, 2, 10], "texture": "#0"},
+ "west": {"uv": [0, 2, 2, 10], "texture": "#0"},
+ "up": {"uv": [0, 0, 2, 2], "texture": "#0"},
+ "down": {"uv": [0, 0, 2, 2], "texture": "#0"}
+ }
+ },
+ {
+ "from": [13, 0, 13],
+ "to": [15, 8, 15],
+ "rotation": {"angle": 0, "axis": "y", "origin": [13, 0, 13]},
+ "faces": {
+ "north": {"uv": [0, 2, 2, 10], "texture": "#0"},
+ "east": {"uv": [0, 2, 2, 10], "texture": "#0"},
+ "south": {"uv": [0, 2, 2, 10], "texture": "#0"},
+ "west": {"uv": [0, 2, 2, 10], "texture": "#0"},
+ "up": {"uv": [0, 0, 2, 2], "texture": "#0"},
+ "down": {"uv": [0, 0, 2, 2], "texture": "#0"}
+ }
+ },
+ {
+ "from": [1, 0, 13],
+ "to": [3, 8, 15],
+ "rotation": {"angle": 0, "axis": "y", "origin": [1, 0, 13]},
+ "faces": {
+ "north": {"uv": [0, 2, 2, 10], "texture": "#0"},
+ "east": {"uv": [0, 2, 2, 10], "texture": "#0"},
+ "south": {"uv": [0, 2, 2, 10], "texture": "#0"},
+ "west": {"uv": [0, 2, 2, 10], "texture": "#0"},
+ "up": {"uv": [0, 0, 2, 2], "texture": "#0"},
+ "down": {"uv": [0, 0, 2, 2], "texture": "#0"}
+ }
+ },
+ {
+ "from": [0, 0, 0],
+ "to": [4, 1, 4],
+ "faces": {
+ "north": {"uv": [0, 1, 4, 2], "texture": "#1"},
+ "east": {"uv": [0, 1, 4, 2], "texture": "#1"},
+ "south": {"uv": [0, 1, 4, 2], "texture": "#1"},
+ "west": {"uv": [0, 1, 4, 2], "texture": "#1"},
+ "up": {"uv": [0, 0, 4, 4], "texture": "#1"},
+ "down": {"uv": [0, 0, 4, 4], "texture": "#1"}
+ }
+ },
+ {
+ "from": [0, 0, 12],
+ "to": [4, 1, 16],
+ "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 12]},
+ "faces": {
+ "north": {"uv": [0, 1, 4, 2], "texture": "#1"},
+ "east": {"uv": [0, 1, 4, 2], "texture": "#1"},
+ "south": {"uv": [0, 1, 4, 2], "texture": "#1"},
+ "west": {"uv": [0, 1, 4, 2], "texture": "#1"},
+ "up": {"uv": [0, 0, 4, 4], "texture": "#1"},
+ "down": {"uv": [0, 0, 4, 4], "texture": "#1"}
+ }
+ },
+ {
+ "from": [12, 0, 12],
+ "to": [16, 1, 16],
+ "rotation": {"angle": 0, "axis": "y", "origin": [12, 0, 12]},
+ "faces": {
+ "north": {"uv": [0, 1, 4, 2], "texture": "#1"},
+ "east": {"uv": [0, 1, 4, 2], "texture": "#1"},
+ "south": {"uv": [0, 1, 4, 2], "texture": "#1"},
+ "west": {"uv": [0, 1, 4, 2], "texture": "#1"},
+ "up": {"uv": [0, 0, 4, 4], "texture": "#1"},
+ "down": {"uv": [0, 0, 4, 4], "texture": "#1"}
+ }
+ },
+ {
+ "from": [12, 0, 0],
+ "to": [16, 1, 4],
+ "rotation": {"angle": 0, "axis": "y", "origin": [12, 0, 0]},
+ "faces": {
+ "north": {"uv": [0, 1, 4, 2], "texture": "#1"},
+ "east": {"uv": [0, 1, 4, 2], "texture": "#1"},
+ "south": {"uv": [0, 1, 4, 2], "texture": "#1"},
+ "west": {"uv": [0, 1, 4, 2], "texture": "#1"},
+ "up": {"uv": [0, 0, 4, 4], "texture": "#1"},
+ "down": {"uv": [0, 0, 4, 4], "texture": "#1"}
+ }
+ },
+ {
+ "from": [0, 8, 0],
+ "to": [16, 10, 16],
+ "rotation": {"angle": 0, "axis": "y", "origin": [7, 8, 7]},
+ "faces": {
+ "north": {"uv": [0, 0, 16, 2], "texture": "#1"},
+ "east": {"uv": [0, 0, 16, 2], "texture": "#1"},
+ "south": {"uv": [0, 0, 16, 2], "texture": "#1"},
+ "west": {"uv": [0, 0, 16, 2], "texture": "#1"},
+ "up": {"uv": [0, 0, 16, 16], "texture": "#1"},
+ "down": {"uv": [0, 0, 16, 16], "texture": "#1"}
+ }
+ },
+ {
+ "from": [2, 10, 7],
+ "to": [4, 11, 9],
+ "rotation": {"angle": 0, "axis": "y", "origin": [2, 10, 7]},
+ "faces": {
+ "north": {"uv": [0, 1, 2, 2], "texture": "#0"},
+ "east": {"uv": [0, 1, 2, 2], "texture": "#0"},
+ "south": {"uv": [0, 1, 2, 2], "texture": "#0"},
+ "west": {"uv": [0, 1, 2, 2], "texture": "#0"},
+ "up": {"uv": [0, 0, 2, 2], "texture": "#0"},
+ "down": {"uv": [0, 0, 2, 2], "texture": "#0"}
+ }
+ },
+ {
+ "from": [7, 10, 12],
+ "to": [9, 11, 14],
+ "rotation": {"angle": 0, "axis": "y", "origin": [7, 10, 12]},
+ "faces": {
+ "north": {"uv": [0, 1, 2, 2], "texture": "#0"},
+ "east": {"uv": [0, 1, 2, 2], "texture": "#0"},
+ "south": {"uv": [0, 1, 2, 2], "texture": "#0"},
+ "west": {"uv": [0, 1, 2, 2], "texture": "#0"},
+ "up": {"uv": [0, 0, 2, 2], "texture": "#0"},
+ "down": {"uv": [0, 0, 2, 2], "texture": "#0"}
+ }
+ },
+ {
+ "from": [12, 10, 7],
+ "to": [14, 11, 9],
+ "rotation": {"angle": 0, "axis": "y", "origin": [12, 10, 7]},
+ "faces": {
+ "north": {"uv": [0, 1, 2, 2], "texture": "#0"},
+ "east": {"uv": [0, 1, 2, 2], "texture": "#0"},
+ "south": {"uv": [0, 1, 2, 2], "texture": "#0"},
+ "west": {"uv": [0, 1, 2, 2], "texture": "#0"},
+ "up": {"uv": [0, 0, 2, 2], "texture": "#0"},
+ "down": {"uv": [0, 0, 2, 2], "texture": "#0"}
+ }
+ },
+ {
+ "from": [7, 10, 2],
+ "to": [9, 11, 4],
+ "rotation": {"angle": 0, "axis": "y", "origin": [7, 10, 2]},
+ "faces": {
+ "north": {"uv": [0, 1, 2, 2], "texture": "#0"},
+ "east": {"uv": [0, 1, 2, 2], "texture": "#0"},
+ "south": {"uv": [0, 1, 2, 2], "texture": "#0"},
+ "west": {"uv": [0, 1, 2, 2], "texture": "#0"},
+ "up": {"uv": [0, 0, 2, 2], "texture": "#0"},
+ "down": {"uv": [0, 0, 2, 2], "texture": "#0"}
+ }
+ },
+ {
+ "from": [6, 10, 6],
+ "to": [10, 12, 10],
+ "rotation": {"angle": 0, "axis": "y", "origin": [7, 10, 7]},
+ "faces": {
+ "north": {"uv": [6, 5, 10, 7], "texture": "#2"},
+ "east": {"uv": [9, 7, 13, 9], "texture": "#2"},
+ "south": {"uv": [6, 9, 10, 11], "texture": "#2"},
+ "west": {"uv": [3, 7, 7, 9], "texture": "#2"},
+ "up": {"uv": [6, 6, 10, 10], "texture": "#2"},
+ "down": {"uv": [6, 6, 10, 10], "texture": "#2"}
+ }
+ },
+ {
+ "from": [7, 11, 5],
+ "to": [9, 13, 6],
+ "rotation": {"angle": 0, "axis": "y", "origin": [7, 11, 6]},
+ "faces": {
+ "north": {"uv": [7, 5, 9, 7], "texture": "#2"},
+ "east": {"uv": [9, 7, 10, 9], "texture": "#2"},
+ "south": {"uv": [7, 9, 9, 11], "texture": "#2"},
+ "west": {"uv": [6, 7, 7, 9], "texture": "#2"},
+ "up": {"uv": [7, 7, 9, 8], "texture": "#2"},
+ "down": {"uv": [7, 8, 9, 9], "texture": "#2"}
+ }
+ },
+ {
+ "from": [7, 11, 10],
+ "to": [9, 13, 11],
+ "rotation": {"angle": 0, "axis": "y", "origin": [7, 11, 11]},
+ "faces": {
+ "north": {"uv": [7, 5, 9, 7], "texture": "#2"},
+ "east": {"uv": [9, 7, 10, 9], "texture": "#2"},
+ "south": {"uv": [7, 9, 9, 11], "texture": "#2"},
+ "west": {"uv": [6, 7, 7, 9], "texture": "#2"},
+ "up": {"uv": [7, 7, 9, 8], "texture": "#2"},
+ "down": {"uv": [7, 8, 9, 9], "texture": "#2"}
+ }
+ },
+ {
+ "from": [5, 11, 7],
+ "to": [6, 13, 9],
+ "rotation": {"angle": 0, "axis": "y", "origin": [4, 11, 9]},
+ "faces": {
+ "north": {"uv": [8, 5, 9, 7], "texture": "#2"},
+ "east": {"uv": [9, 7, 11, 9], "texture": "#2"},
+ "south": {"uv": [8, 9, 9, 11], "texture": "#2"},
+ "west": {"uv": [5, 7, 7, 9], "texture": "#2"},
+ "up": {"uv": [8, 7, 9, 9], "texture": "#2"},
+ "down": {"uv": [7, 7, 8, 9], "texture": "#2"}
+ }
+ },
+ {
+ "from": [10, 11, 7],
+ "to": [11, 13, 9],
+ "rotation": {"angle": 0, "axis": "y", "origin": [9, 11, 9]},
+ "faces": {
+ "north": {"uv": [7, 5, 8, 7], "texture": "#2"},
+ "east": {"uv": [9, 7, 11, 9], "texture": "#2"},
+ "south": {"uv": [7, 9, 8, 11], "texture": "#2"},
+ "west": {"uv": [5, 7, 7, 9], "texture": "#2"},
+ "up": {"uv": [8, 7, 9, 9], "texture": "#2"},
+ "down": {"uv": [7, 7, 8, 9], "texture": "#2"}
+ }
+ },
+ {
+ "from": [9, 10, 5],
+ "to": [11, 11, 7],
+ "rotation": {"angle": 0, "axis": "y", "origin": [9, 10, 5]},
+ "faces": {
+ "north": {"uv": [7, 5, 9, 6], "texture": "#2"},
+ "east": {"uv": [9, 7, 11, 8], "texture": "#2"},
+ "south": {"uv": [7, 10, 9, 11], "texture": "#2"},
+ "west": {"uv": [5, 7, 7, 8], "texture": "#2"},
+ "up": {"uv": [7, 7, 9, 9], "texture": "#2"},
+ "down": {"uv": [7, 7, 9, 9], "texture": "#2"}
+ }
+ },
+ {
+ "from": [5, 10, 5],
+ "to": [7, 11, 7],
+ "rotation": {"angle": 0, "axis": "y", "origin": [5, 10, 5]},
+ "faces": {
+ "north": {"uv": [7, 6, 9, 7], "texture": "#2"},
+ "east": {"uv": [9, 8, 11, 9], "texture": "#2"},
+ "south": {"uv": [7, 9, 9, 10], "texture": "#2"},
+ "west": {"uv": [5, 8, 7, 9], "texture": "#2"},
+ "up": {"uv": [7, 7, 9, 9], "texture": "#2"},
+ "down": {"uv": [7, 7, 9, 9], "texture": "#2"}
+ }
+ },
+ {
+ "from": [5, 10, 9],
+ "to": [7, 11, 11],
+ "rotation": {"angle": 0, "axis": "y", "origin": [5, 10, 9]},
+ "faces": {
+ "north": {"uv": [7, 5, 9, 6], "texture": "#2"},
+ "east": {"uv": [9, 7, 11, 8], "texture": "#2"},
+ "south": {"uv": [7, 10, 9, 11], "texture": "#2"},
+ "west": {"uv": [5, 7, 7, 8], "texture": "#2"},
+ "up": {"uv": [7, 7, 9, 9], "texture": "#2"},
+ "down": {"uv": [7, 7, 9, 9], "texture": "#2"}
+ }
+ },
+ {
+ "from": [9, 10, 9],
+ "to": [11, 11, 11],
+ "rotation": {"angle": 0, "axis": "y", "origin": [9, 10, 9]},
+ "faces": {
+ "north": {"uv": [7, 6, 9, 7], "texture": "#2"},
+ "east": {"uv": [9, 8, 11, 9], "texture": "#2"},
+ "south": {"uv": [7, 9, 9, 10], "texture": "#2"},
+ "west": {"uv": [5, 8, 7, 9], "texture": "#2"},
+ "up": {"uv": [7, 7, 9, 9], "texture": "#2"},
+ "down": {"uv": [7, 7, 9, 9], "texture": "#2"}
+ }
+ }
+ ],
+ "groups": [
+ {
+ "name": "StarAssemblyTable",
+ "origin": [1, 0, 1],
+ "scope": 0,
+ "color": 0,
+ "children": [
+ {
+ "name": "Stands",
+ "origin": [1, 0, 1],
+ "scope": 0,
+ "color": 0,
+ "children": [0, 1, 2, 3, 4, 5, 6, 7]
+ },
+ {
+ "name": "Table",
+ "origin": [1, 0, 1],
+ "scope": 0,
+ "color": 0,
+ "children": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21]
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/models/starassemblytable.json.textures b/models/starassemblytable.json.textures
new file mode 100644
index 0000000..173725b
--- /dev/null
+++ b/models/starassemblytable.json.textures
@@ -0,0 +1,12 @@
+{
+ "mappings": {
+ "default": {
+ "map": {
+ "0": "hexa-condensed_netherrack",
+ "1": "black_iron_block",
+ "2": "beacon"
+ },
+ "name": "default"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/net/mcreator/arisrandomadditions/block/AnaheimButtonBlock.java b/src/main/java/net/mcreator/arisrandomadditions/block/AnaheimButtonBlock.java
new file mode 100644
index 0000000..4a12b30
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/block/AnaheimButtonBlock.java
@@ -0,0 +1,28 @@
+
+package net.mcreator.arisrandomadditions.block;
+
+import net.minecraft.world.level.block.state.properties.NoteBlockInstrument;
+import net.minecraft.world.level.block.state.properties.BlockSetType;
+import net.minecraft.world.level.block.state.BlockState;
+import net.minecraft.world.level.block.state.BlockBehaviour;
+import net.minecraft.world.level.block.SoundType;
+import net.minecraft.world.level.block.ButtonBlock;
+import net.minecraft.world.level.BlockGetter;
+import net.minecraft.core.Direction;
+import net.minecraft.core.BlockPos;
+
+public class AnaheimButtonBlock extends ButtonBlock {
+ public AnaheimButtonBlock() {
+ super(BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).sound(SoundType.WOOD).strength(2f, 3f).dynamicShape(), BlockSetType.OAK, 30, true);
+ }
+
+ @Override
+ public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
+ return 0;
+ }
+
+ @Override
+ public int getFlammability(BlockState state, BlockGetter world, BlockPos pos, Direction face) {
+ return 5;
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/block/AnaheimFenceBlock.java b/src/main/java/net/mcreator/arisrandomadditions/block/AnaheimFenceBlock.java
new file mode 100644
index 0000000..52b5ef2
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/block/AnaheimFenceBlock.java
@@ -0,0 +1,27 @@
+
+package net.mcreator.arisrandomadditions.block;
+
+import net.minecraft.world.level.block.state.properties.NoteBlockInstrument;
+import net.minecraft.world.level.block.state.BlockState;
+import net.minecraft.world.level.block.state.BlockBehaviour;
+import net.minecraft.world.level.block.SoundType;
+import net.minecraft.world.level.block.FenceBlock;
+import net.minecraft.world.level.BlockGetter;
+import net.minecraft.core.Direction;
+import net.minecraft.core.BlockPos;
+
+public class AnaheimFenceBlock extends FenceBlock {
+ public AnaheimFenceBlock() {
+ super(BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).sound(SoundType.WOOD).strength(2f, 3f).dynamicShape().forceSolidOn());
+ }
+
+ @Override
+ public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
+ return 0;
+ }
+
+ @Override
+ public int getFlammability(BlockState state, BlockGetter world, BlockPos pos, Direction face) {
+ return 5;
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/block/AnaheimFenceGateBlock.java b/src/main/java/net/mcreator/arisrandomadditions/block/AnaheimFenceGateBlock.java
new file mode 100644
index 0000000..97d67c2
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/block/AnaheimFenceGateBlock.java
@@ -0,0 +1,28 @@
+
+package net.mcreator.arisrandomadditions.block;
+
+import net.minecraft.world.level.block.state.properties.WoodType;
+import net.minecraft.world.level.block.state.properties.NoteBlockInstrument;
+import net.minecraft.world.level.block.state.BlockState;
+import net.minecraft.world.level.block.state.BlockBehaviour;
+import net.minecraft.world.level.block.SoundType;
+import net.minecraft.world.level.block.FenceGateBlock;
+import net.minecraft.world.level.BlockGetter;
+import net.minecraft.core.Direction;
+import net.minecraft.core.BlockPos;
+
+public class AnaheimFenceGateBlock extends FenceGateBlock {
+ public AnaheimFenceGateBlock() {
+ super(BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).sound(SoundType.WOOD).strength(2f, 3f).dynamicShape().forceSolidOn(), WoodType.OAK);
+ }
+
+ @Override
+ public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
+ return 0;
+ }
+
+ @Override
+ public int getFlammability(BlockState state, BlockGetter world, BlockPos pos, Direction face) {
+ return 5;
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/block/AnaheimLeavesBlock.java b/src/main/java/net/mcreator/arisrandomadditions/block/AnaheimLeavesBlock.java
new file mode 100644
index 0000000..1f6f193
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/block/AnaheimLeavesBlock.java
@@ -0,0 +1,26 @@
+
+package net.mcreator.arisrandomadditions.block;
+
+import net.minecraft.world.level.block.state.BlockState;
+import net.minecraft.world.level.block.state.BlockBehaviour;
+import net.minecraft.world.level.block.SoundType;
+import net.minecraft.world.level.block.LeavesBlock;
+import net.minecraft.world.level.BlockGetter;
+import net.minecraft.core.Direction;
+import net.minecraft.core.BlockPos;
+
+public class AnaheimLeavesBlock extends LeavesBlock {
+ public AnaheimLeavesBlock() {
+ super(BlockBehaviour.Properties.of().ignitedByLava().sound(SoundType.GRASS).strength(0.2f).noOcclusion());
+ }
+
+ @Override
+ public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
+ return 1;
+ }
+
+ @Override
+ public int getFlammability(BlockState state, BlockGetter world, BlockPos pos, Direction face) {
+ return 30;
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/block/AnaheimLogBlock.java b/src/main/java/net/mcreator/arisrandomadditions/block/AnaheimLogBlock.java
new file mode 100644
index 0000000..9e73a7e
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/block/AnaheimLogBlock.java
@@ -0,0 +1,58 @@
+
+package net.mcreator.arisrandomadditions.block;
+
+import net.minecraft.world.level.block.state.properties.NoteBlockInstrument;
+import net.minecraft.world.level.block.state.properties.EnumProperty;
+import net.minecraft.world.level.block.state.properties.BlockStateProperties;
+import net.minecraft.world.level.block.state.StateDefinition;
+import net.minecraft.world.level.block.state.BlockState;
+import net.minecraft.world.level.block.state.BlockBehaviour;
+import net.minecraft.world.level.block.SoundType;
+import net.minecraft.world.level.block.Rotation;
+import net.minecraft.world.level.block.Block;
+import net.minecraft.world.level.BlockGetter;
+import net.minecraft.world.item.context.BlockPlaceContext;
+import net.minecraft.core.Direction;
+import net.minecraft.core.BlockPos;
+
+public class AnaheimLogBlock extends Block {
+ public static final EnumProperty AXIS = BlockStateProperties.AXIS;
+
+ public AnaheimLogBlock() {
+ super(BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).sound(SoundType.WOOD).strength(2f));
+ this.registerDefaultState(this.stateDefinition.any().setValue(AXIS, Direction.Axis.Y));
+ }
+
+ @Override
+ public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
+ return 15;
+ }
+
+ @Override
+ protected void createBlockStateDefinition(StateDefinition.Builder builder) {
+ super.createBlockStateDefinition(builder);
+ builder.add(AXIS);
+ }
+
+ @Override
+ public BlockState getStateForPlacement(BlockPlaceContext context) {
+ return super.getStateForPlacement(context).setValue(AXIS, context.getClickedFace().getAxis());
+ }
+
+ @Override
+ public BlockState rotate(BlockState state, Rotation rot) {
+ if (rot == Rotation.CLOCKWISE_90 || rot == Rotation.COUNTERCLOCKWISE_90) {
+ if (state.getValue(AXIS) == Direction.Axis.X) {
+ return state.setValue(AXIS, Direction.Axis.Z);
+ } else if (state.getValue(AXIS) == Direction.Axis.Z) {
+ return state.setValue(AXIS, Direction.Axis.X);
+ }
+ }
+ return state;
+ }
+
+ @Override
+ public int getFlammability(BlockState state, BlockGetter world, BlockPos pos, Direction face) {
+ return 5;
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/block/AnaheimPlanksBlock.java b/src/main/java/net/mcreator/arisrandomadditions/block/AnaheimPlanksBlock.java
new file mode 100644
index 0000000..7409dcb
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/block/AnaheimPlanksBlock.java
@@ -0,0 +1,27 @@
+
+package net.mcreator.arisrandomadditions.block;
+
+import net.minecraft.world.level.block.state.properties.NoteBlockInstrument;
+import net.minecraft.world.level.block.state.BlockState;
+import net.minecraft.world.level.block.state.BlockBehaviour;
+import net.minecraft.world.level.block.SoundType;
+import net.minecraft.world.level.block.Block;
+import net.minecraft.world.level.BlockGetter;
+import net.minecraft.core.Direction;
+import net.minecraft.core.BlockPos;
+
+public class AnaheimPlanksBlock extends Block {
+ public AnaheimPlanksBlock() {
+ super(BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).sound(SoundType.WOOD).strength(2f, 3f));
+ }
+
+ @Override
+ public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
+ return 15;
+ }
+
+ @Override
+ public int getFlammability(BlockState state, BlockGetter world, BlockPos pos, Direction face) {
+ return 5;
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/block/AnaheimPressurePlateBlock.java b/src/main/java/net/mcreator/arisrandomadditions/block/AnaheimPressurePlateBlock.java
new file mode 100644
index 0000000..dfe49dc
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/block/AnaheimPressurePlateBlock.java
@@ -0,0 +1,28 @@
+
+package net.mcreator.arisrandomadditions.block;
+
+import net.minecraft.world.level.block.state.properties.NoteBlockInstrument;
+import net.minecraft.world.level.block.state.properties.BlockSetType;
+import net.minecraft.world.level.block.state.BlockState;
+import net.minecraft.world.level.block.state.BlockBehaviour;
+import net.minecraft.world.level.block.SoundType;
+import net.minecraft.world.level.block.PressurePlateBlock;
+import net.minecraft.world.level.BlockGetter;
+import net.minecraft.core.Direction;
+import net.minecraft.core.BlockPos;
+
+public class AnaheimPressurePlateBlock extends PressurePlateBlock {
+ public AnaheimPressurePlateBlock() {
+ super(Sensitivity.EVERYTHING, BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).sound(SoundType.WOOD).strength(2f, 3f).dynamicShape().forceSolidOn(), BlockSetType.OAK);
+ }
+
+ @Override
+ public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
+ return 0;
+ }
+
+ @Override
+ public int getFlammability(BlockState state, BlockGetter world, BlockPos pos, Direction face) {
+ return 5;
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/block/AnaheimSlabBlock.java b/src/main/java/net/mcreator/arisrandomadditions/block/AnaheimSlabBlock.java
new file mode 100644
index 0000000..b51ae09
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/block/AnaheimSlabBlock.java
@@ -0,0 +1,27 @@
+
+package net.mcreator.arisrandomadditions.block;
+
+import net.minecraft.world.level.block.state.properties.NoteBlockInstrument;
+import net.minecraft.world.level.block.state.BlockState;
+import net.minecraft.world.level.block.state.BlockBehaviour;
+import net.minecraft.world.level.block.SoundType;
+import net.minecraft.world.level.block.SlabBlock;
+import net.minecraft.world.level.BlockGetter;
+import net.minecraft.core.Direction;
+import net.minecraft.core.BlockPos;
+
+public class AnaheimSlabBlock extends SlabBlock {
+ public AnaheimSlabBlock() {
+ super(BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).sound(SoundType.WOOD).strength(2f, 3f).dynamicShape());
+ }
+
+ @Override
+ public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
+ return 0;
+ }
+
+ @Override
+ public int getFlammability(BlockState state, BlockGetter world, BlockPos pos, Direction face) {
+ return 5;
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/block/AnaheimStairsBlock.java b/src/main/java/net/mcreator/arisrandomadditions/block/AnaheimStairsBlock.java
new file mode 100644
index 0000000..aaf1415
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/block/AnaheimStairsBlock.java
@@ -0,0 +1,38 @@
+
+package net.mcreator.arisrandomadditions.block;
+
+import net.minecraft.world.level.block.state.properties.NoteBlockInstrument;
+import net.minecraft.world.level.block.state.BlockState;
+import net.minecraft.world.level.block.state.BlockBehaviour;
+import net.minecraft.world.level.block.StairBlock;
+import net.minecraft.world.level.block.SoundType;
+import net.minecraft.world.level.block.Blocks;
+import net.minecraft.world.level.BlockGetter;
+import net.minecraft.core.Direction;
+import net.minecraft.core.BlockPos;
+
+public class AnaheimStairsBlock extends StairBlock {
+ public AnaheimStairsBlock() {
+ super(() -> Blocks.AIR.defaultBlockState(), BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).sound(SoundType.WOOD).strength(3f, 2f).dynamicShape());
+ }
+
+ @Override
+ public float getExplosionResistance() {
+ return 2f;
+ }
+
+ @Override
+ public boolean isRandomlyTicking(BlockState state) {
+ return false;
+ }
+
+ @Override
+ public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
+ return 0;
+ }
+
+ @Override
+ public int getFlammability(BlockState state, BlockGetter world, BlockPos pos, Direction face) {
+ return 5;
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/block/AnaheimWoodBlock.java b/src/main/java/net/mcreator/arisrandomadditions/block/AnaheimWoodBlock.java
new file mode 100644
index 0000000..6e9a33e
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/block/AnaheimWoodBlock.java
@@ -0,0 +1,58 @@
+
+package net.mcreator.arisrandomadditions.block;
+
+import net.minecraft.world.level.block.state.properties.NoteBlockInstrument;
+import net.minecraft.world.level.block.state.properties.EnumProperty;
+import net.minecraft.world.level.block.state.properties.BlockStateProperties;
+import net.minecraft.world.level.block.state.StateDefinition;
+import net.minecraft.world.level.block.state.BlockState;
+import net.minecraft.world.level.block.state.BlockBehaviour;
+import net.minecraft.world.level.block.SoundType;
+import net.minecraft.world.level.block.Rotation;
+import net.minecraft.world.level.block.Block;
+import net.minecraft.world.level.BlockGetter;
+import net.minecraft.world.item.context.BlockPlaceContext;
+import net.minecraft.core.Direction;
+import net.minecraft.core.BlockPos;
+
+public class AnaheimWoodBlock extends Block {
+ public static final EnumProperty AXIS = BlockStateProperties.AXIS;
+
+ public AnaheimWoodBlock() {
+ super(BlockBehaviour.Properties.of().ignitedByLava().instrument(NoteBlockInstrument.BASS).sound(SoundType.WOOD).strength(2f));
+ this.registerDefaultState(this.stateDefinition.any().setValue(AXIS, Direction.Axis.Y));
+ }
+
+ @Override
+ public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
+ return 15;
+ }
+
+ @Override
+ protected void createBlockStateDefinition(StateDefinition.Builder builder) {
+ super.createBlockStateDefinition(builder);
+ builder.add(AXIS);
+ }
+
+ @Override
+ public BlockState getStateForPlacement(BlockPlaceContext context) {
+ return super.getStateForPlacement(context).setValue(AXIS, context.getClickedFace().getAxis());
+ }
+
+ @Override
+ public BlockState rotate(BlockState state, Rotation rot) {
+ if (rot == Rotation.CLOCKWISE_90 || rot == Rotation.COUNTERCLOCKWISE_90) {
+ if (state.getValue(AXIS) == Direction.Axis.X) {
+ return state.setValue(AXIS, Direction.Axis.Z);
+ } else if (state.getValue(AXIS) == Direction.Axis.Z) {
+ return state.setValue(AXIS, Direction.Axis.X);
+ }
+ }
+ return state;
+ }
+
+ @Override
+ public int getFlammability(BlockState state, BlockGetter world, BlockPos pos, Direction face) {
+ return 5;
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/block/BlackIronBlockBlock.java b/src/main/java/net/mcreator/arisrandomadditions/block/BlackIronBlockBlock.java
new file mode 100644
index 0000000..1bc15f9
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/block/BlackIronBlockBlock.java
@@ -0,0 +1,20 @@
+
+package net.mcreator.arisrandomadditions.block;
+
+import net.minecraft.world.level.block.state.BlockState;
+import net.minecraft.world.level.block.state.BlockBehaviour;
+import net.minecraft.world.level.block.SoundType;
+import net.minecraft.world.level.block.Block;
+import net.minecraft.world.level.BlockGetter;
+import net.minecraft.core.BlockPos;
+
+public class BlackIronBlockBlock extends Block {
+ public BlackIronBlockBlock() {
+ super(BlockBehaviour.Properties.of().sound(SoundType.METAL).strength(5f, 6f).requiresCorrectToolForDrops());
+ }
+
+ @Override
+ public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
+ return 15;
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/block/NetherPowerGeneratorBlock.java b/src/main/java/net/mcreator/arisrandomadditions/block/NetherPowerGeneratorBlock.java
new file mode 100644
index 0000000..2b7f393
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/block/NetherPowerGeneratorBlock.java
@@ -0,0 +1,152 @@
+
+package net.mcreator.arisrandomadditions.block;
+
+import org.checkerframework.checker.units.qual.s;
+
+import net.minecraftforge.network.NetworkHooks;
+
+import net.minecraft.world.phys.shapes.VoxelShape;
+import net.minecraft.world.phys.shapes.CollisionContext;
+import net.minecraft.world.phys.BlockHitResult;
+import net.minecraft.world.level.block.state.properties.IntegerProperty;
+import net.minecraft.world.level.block.state.StateDefinition;
+import net.minecraft.world.level.block.state.BlockState;
+import net.minecraft.world.level.block.state.BlockBehaviour;
+import net.minecraft.world.level.block.entity.BlockEntity;
+import net.minecraft.world.level.block.SoundType;
+import net.minecraft.world.level.block.EntityBlock;
+import net.minecraft.world.level.block.Block;
+import net.minecraft.world.level.Level;
+import net.minecraft.world.level.BlockGetter;
+import net.minecraft.world.inventory.AbstractContainerMenu;
+import net.minecraft.world.entity.player.Player;
+import net.minecraft.world.entity.player.Inventory;
+import net.minecraft.world.MenuProvider;
+import net.minecraft.world.InteractionResult;
+import net.minecraft.world.InteractionHand;
+import net.minecraft.world.Containers;
+import net.minecraft.util.RandomSource;
+import net.minecraft.server.level.ServerPlayer;
+import net.minecraft.server.level.ServerLevel;
+import net.minecraft.network.chat.Component;
+import net.minecraft.network.FriendlyByteBuf;
+import net.minecraft.core.BlockPos;
+
+import net.mcreator.arisrandomadditions.world.inventory.NetherPowerGeneratorGUIMenu;
+import net.mcreator.arisrandomadditions.procedures.NetherPowerGeneratorOnTickUpdateProcedure;
+import net.mcreator.arisrandomadditions.block.entity.NetherPowerGeneratorBlockEntity;
+
+import io.netty.buffer.Unpooled;
+
+public class NetherPowerGeneratorBlock extends Block implements EntityBlock {
+ public static final IntegerProperty BLOCKSTATE = IntegerProperty.create("blockstate", 0, 3);
+
+ public NetherPowerGeneratorBlock() {
+ super(BlockBehaviour.Properties.of().sound(SoundType.METAL).strength(5f, 6f).lightLevel(s -> (new Object() {
+ public int getLightLevel() {
+ if (s.getValue(BLOCKSTATE) == 1)
+ return 0;
+ if (s.getValue(BLOCKSTATE) == 2)
+ return 0;
+ if (s.getValue(BLOCKSTATE) == 3)
+ return 0;
+ return 0;
+ }
+ }.getLightLevel())));
+ }
+
+ @Override
+ public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
+ return 15;
+ }
+
+ @Override
+ public VoxelShape getShape(BlockState state, BlockGetter world, BlockPos pos, CollisionContext context) {
+ return box(0, 0, 0, 16, 16, 16);
+ }
+
+ @Override
+ protected void createBlockStateDefinition(StateDefinition.Builder builder) {
+ super.createBlockStateDefinition(builder);
+ builder.add(BLOCKSTATE);
+ }
+
+ @Override
+ public void onPlace(BlockState blockstate, Level world, BlockPos pos, BlockState oldState, boolean moving) {
+ super.onPlace(blockstate, world, pos, oldState, moving);
+ world.scheduleTick(pos, this, 20);
+ }
+
+ @Override
+ public void tick(BlockState blockstate, ServerLevel world, BlockPos pos, RandomSource random) {
+ super.tick(blockstate, world, pos, random);
+ int x = pos.getX();
+ int y = pos.getY();
+ int z = pos.getZ();
+ NetherPowerGeneratorOnTickUpdateProcedure.execute(world, x, y, z);
+ world.scheduleTick(pos, this, 20);
+ }
+
+ @Override
+ public InteractionResult use(BlockState blockstate, Level world, BlockPos pos, Player entity, InteractionHand hand, BlockHitResult hit) {
+ super.use(blockstate, world, pos, entity, hand, hit);
+ if (entity instanceof ServerPlayer player) {
+ NetworkHooks.openScreen(player, new MenuProvider() {
+ @Override
+ public Component getDisplayName() {
+ return Component.literal("Nether Power Generator");
+ }
+
+ @Override
+ public AbstractContainerMenu createMenu(int id, Inventory inventory, Player player) {
+ return new NetherPowerGeneratorGUIMenu(id, inventory, new FriendlyByteBuf(Unpooled.buffer()).writeBlockPos(pos));
+ }
+ }, pos);
+ }
+ return InteractionResult.SUCCESS;
+ }
+
+ @Override
+ public MenuProvider getMenuProvider(BlockState state, Level worldIn, BlockPos pos) {
+ BlockEntity tileEntity = worldIn.getBlockEntity(pos);
+ return tileEntity instanceof MenuProvider menuProvider ? menuProvider : null;
+ }
+
+ @Override
+ public BlockEntity newBlockEntity(BlockPos pos, BlockState state) {
+ return new NetherPowerGeneratorBlockEntity(pos, state);
+ }
+
+ @Override
+ public boolean triggerEvent(BlockState state, Level world, BlockPos pos, int eventID, int eventParam) {
+ super.triggerEvent(state, world, pos, eventID, eventParam);
+ BlockEntity blockEntity = world.getBlockEntity(pos);
+ return blockEntity == null ? false : blockEntity.triggerEvent(eventID, eventParam);
+ }
+
+ @Override
+ public void onRemove(BlockState state, Level world, BlockPos pos, BlockState newState, boolean isMoving) {
+ if (state.getBlock() != newState.getBlock()) {
+ BlockEntity blockEntity = world.getBlockEntity(pos);
+ if (blockEntity instanceof NetherPowerGeneratorBlockEntity be) {
+ Containers.dropContents(world, pos, be);
+ world.updateNeighbourForOutputSignal(pos, this);
+ }
+ super.onRemove(state, world, pos, newState, isMoving);
+ }
+ }
+
+ @Override
+ public boolean hasAnalogOutputSignal(BlockState state) {
+ return true;
+ }
+
+ @Override
+ public int getAnalogOutputSignal(BlockState blockState, Level world, BlockPos pos) {
+ BlockEntity tileentity = world.getBlockEntity(pos);
+ if (tileentity instanceof NetherPowerGeneratorBlockEntity be)
+ return AbstractContainerMenu.getRedstoneSignalFromContainer(be);
+ else
+ return 0;
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/block/SodaMachineBlock.java b/src/main/java/net/mcreator/arisrandomadditions/block/SodaMachineBlock.java
index 84a7491..d917883 100644
--- a/src/main/java/net/mcreator/arisrandomadditions/block/SodaMachineBlock.java
+++ b/src/main/java/net/mcreator/arisrandomadditions/block/SodaMachineBlock.java
@@ -26,7 +26,7 @@ public class SodaMachineBlock extends Block {
public static final DirectionProperty FACING = HorizontalDirectionalBlock.FACING;
public SodaMachineBlock() {
- super(BlockBehaviour.Properties.of().sound(SoundType.METAL).strength(1f, 10f));
+ super(BlockBehaviour.Properties.of().sound(SoundType.METAL).strength(5f, 6f).requiresCorrectToolForDrops());
this.registerDefaultState(this.stateDefinition.any().setValue(FACING, Direction.NORTH));
}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/block/StarAssemblyTableBlock.java b/src/main/java/net/mcreator/arisrandomadditions/block/StarAssemblyTableBlock.java
new file mode 100644
index 0000000..16c4379
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/block/StarAssemblyTableBlock.java
@@ -0,0 +1,146 @@
+
+package net.mcreator.arisrandomadditions.block;
+
+import net.minecraftforge.network.NetworkHooks;
+
+import net.minecraft.world.phys.shapes.VoxelShape;
+import net.minecraft.world.phys.shapes.Shapes;
+import net.minecraft.world.phys.shapes.CollisionContext;
+import net.minecraft.world.phys.BlockHitResult;
+import net.minecraft.world.level.block.state.properties.DirectionProperty;
+import net.minecraft.world.level.block.state.StateDefinition;
+import net.minecraft.world.level.block.state.BlockState;
+import net.minecraft.world.level.block.state.BlockBehaviour;
+import net.minecraft.world.level.block.entity.BlockEntity;
+import net.minecraft.world.level.block.SoundType;
+import net.minecraft.world.level.block.Rotation;
+import net.minecraft.world.level.block.Mirror;
+import net.minecraft.world.level.block.HorizontalDirectionalBlock;
+import net.minecraft.world.level.block.EntityBlock;
+import net.minecraft.world.level.block.Block;
+import net.minecraft.world.level.Level;
+import net.minecraft.world.level.BlockGetter;
+import net.minecraft.world.item.context.BlockPlaceContext;
+import net.minecraft.world.inventory.AbstractContainerMenu;
+import net.minecraft.world.entity.player.Player;
+import net.minecraft.world.entity.player.Inventory;
+import net.minecraft.world.MenuProvider;
+import net.minecraft.world.InteractionResult;
+import net.minecraft.world.InteractionHand;
+import net.minecraft.world.Containers;
+import net.minecraft.server.level.ServerPlayer;
+import net.minecraft.network.chat.Component;
+import net.minecraft.network.FriendlyByteBuf;
+import net.minecraft.core.Direction;
+import net.minecraft.core.BlockPos;
+
+import net.mcreator.arisrandomadditions.world.inventory.StarAssemblyTableGUIMenu;
+import net.mcreator.arisrandomadditions.block.entity.StarAssemblyTableBlockEntity;
+
+import io.netty.buffer.Unpooled;
+
+public class StarAssemblyTableBlock extends Block implements EntityBlock {
+ public static final DirectionProperty FACING = HorizontalDirectionalBlock.FACING;
+
+ public StarAssemblyTableBlock() {
+ super(BlockBehaviour.Properties.of().sound(SoundType.METAL).strength(5f, 6f).noOcclusion().isRedstoneConductor((bs, br, bp) -> false));
+ this.registerDefaultState(this.stateDefinition.any().setValue(FACING, Direction.NORTH));
+ }
+
+ @Override
+ public boolean propagatesSkylightDown(BlockState state, BlockGetter reader, BlockPos pos) {
+ return true;
+ }
+
+ @Override
+ public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
+ return 0;
+ }
+
+ @Override
+ public VoxelShape getVisualShape(BlockState state, BlockGetter world, BlockPos pos, CollisionContext context) {
+ return Shapes.empty();
+ }
+
+ @Override
+ protected void createBlockStateDefinition(StateDefinition.Builder builder) {
+ super.createBlockStateDefinition(builder);
+ builder.add(FACING);
+ }
+
+ @Override
+ public BlockState getStateForPlacement(BlockPlaceContext context) {
+ return super.getStateForPlacement(context).setValue(FACING, context.getHorizontalDirection().getOpposite());
+ }
+
+ public BlockState rotate(BlockState state, Rotation rot) {
+ return state.setValue(FACING, rot.rotate(state.getValue(FACING)));
+ }
+
+ public BlockState mirror(BlockState state, Mirror mirrorIn) {
+ return state.rotate(mirrorIn.getRotation(state.getValue(FACING)));
+ }
+
+ @Override
+ public InteractionResult use(BlockState blockstate, Level world, BlockPos pos, Player entity, InteractionHand hand, BlockHitResult hit) {
+ super.use(blockstate, world, pos, entity, hand, hit);
+ if (entity instanceof ServerPlayer player) {
+ NetworkHooks.openScreen(player, new MenuProvider() {
+ @Override
+ public Component getDisplayName() {
+ return Component.literal("Star Assembly Table");
+ }
+
+ @Override
+ public AbstractContainerMenu createMenu(int id, Inventory inventory, Player player) {
+ return new StarAssemblyTableGUIMenu(id, inventory, new FriendlyByteBuf(Unpooled.buffer()).writeBlockPos(pos));
+ }
+ }, pos);
+ }
+ return InteractionResult.SUCCESS;
+ }
+
+ @Override
+ public MenuProvider getMenuProvider(BlockState state, Level worldIn, BlockPos pos) {
+ BlockEntity tileEntity = worldIn.getBlockEntity(pos);
+ return tileEntity instanceof MenuProvider menuProvider ? menuProvider : null;
+ }
+
+ @Override
+ public BlockEntity newBlockEntity(BlockPos pos, BlockState state) {
+ return new StarAssemblyTableBlockEntity(pos, state);
+ }
+
+ @Override
+ public boolean triggerEvent(BlockState state, Level world, BlockPos pos, int eventID, int eventParam) {
+ super.triggerEvent(state, world, pos, eventID, eventParam);
+ BlockEntity blockEntity = world.getBlockEntity(pos);
+ return blockEntity == null ? false : blockEntity.triggerEvent(eventID, eventParam);
+ }
+
+ @Override
+ public void onRemove(BlockState state, Level world, BlockPos pos, BlockState newState, boolean isMoving) {
+ if (state.getBlock() != newState.getBlock()) {
+ BlockEntity blockEntity = world.getBlockEntity(pos);
+ if (blockEntity instanceof StarAssemblyTableBlockEntity be) {
+ Containers.dropContents(world, pos, be);
+ world.updateNeighbourForOutputSignal(pos, this);
+ }
+ super.onRemove(state, world, pos, newState, isMoving);
+ }
+ }
+
+ @Override
+ public boolean hasAnalogOutputSignal(BlockState state) {
+ return true;
+ }
+
+ @Override
+ public int getAnalogOutputSignal(BlockState blockState, Level world, BlockPos pos) {
+ BlockEntity tileentity = world.getBlockEntity(pos);
+ if (tileentity instanceof StarAssemblyTableBlockEntity be)
+ return AbstractContainerMenu.getRedstoneSignalFromContainer(be);
+ else
+ return 0;
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/block/entity/BedrockifierBlockEntity.java b/src/main/java/net/mcreator/arisrandomadditions/block/entity/BedrockifierBlockEntity.java
index c89da31..1af7451 100644
--- a/src/main/java/net/mcreator/arisrandomadditions/block/entity/BedrockifierBlockEntity.java
+++ b/src/main/java/net/mcreator/arisrandomadditions/block/entity/BedrockifierBlockEntity.java
@@ -1,4 +1,3 @@
-
package net.mcreator.arisrandomadditions.block.entity;
import net.minecraftforge.items.wrapper.SidedInvWrapper;
diff --git a/src/main/java/net/mcreator/arisrandomadditions/block/entity/NetherPowerGeneratorBlockEntity.java b/src/main/java/net/mcreator/arisrandomadditions/block/entity/NetherPowerGeneratorBlockEntity.java
new file mode 100644
index 0000000..b764cd9
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/block/entity/NetherPowerGeneratorBlockEntity.java
@@ -0,0 +1,165 @@
+package net.mcreator.arisrandomadditions.block.entity;
+
+import net.minecraftforge.items.wrapper.SidedInvWrapper;
+import net.minecraftforge.items.IItemHandler;
+import net.minecraftforge.fluids.capability.templates.FluidTank;
+import net.minecraftforge.common.util.LazyOptional;
+import net.minecraftforge.common.capabilities.ForgeCapabilities;
+import net.minecraftforge.common.capabilities.Capability;
+
+import net.minecraft.world.level.block.state.BlockState;
+import net.minecraft.world.level.block.entity.RandomizableContainerBlockEntity;
+import net.minecraft.world.item.ItemStack;
+import net.minecraft.world.inventory.AbstractContainerMenu;
+import net.minecraft.world.entity.player.Inventory;
+import net.minecraft.world.WorldlyContainer;
+import net.minecraft.world.ContainerHelper;
+import net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket;
+import net.minecraft.network.chat.Component;
+import net.minecraft.network.FriendlyByteBuf;
+import net.minecraft.nbt.CompoundTag;
+import net.minecraft.core.NonNullList;
+import net.minecraft.core.Direction;
+import net.minecraft.core.BlockPos;
+
+import net.mcreator.arisrandomadditions.world.inventory.NetherPowerGeneratorGUIMenu;
+import net.mcreator.arisrandomadditions.init.ArisRandomAdditionsModFluids;
+import net.mcreator.arisrandomadditions.init.ArisRandomAdditionsModBlockEntities;
+
+import javax.annotation.Nullable;
+
+import java.util.stream.IntStream;
+
+import io.netty.buffer.Unpooled;
+
+public class NetherPowerGeneratorBlockEntity extends RandomizableContainerBlockEntity implements WorldlyContainer {
+ private NonNullList stacks = NonNullList.withSize(1, ItemStack.EMPTY);
+ private final LazyOptional extends IItemHandler>[] handlers = SidedInvWrapper.create(this, Direction.values());
+
+ public NetherPowerGeneratorBlockEntity(BlockPos position, BlockState state) {
+ super(ArisRandomAdditionsModBlockEntities.NETHER_POWER_GENERATOR.get(), position, state);
+ }
+
+ @Override
+ public void load(CompoundTag compound) {
+ super.load(compound);
+ if (!this.tryLoadLootTable(compound))
+ this.stacks = NonNullList.withSize(this.getContainerSize(), ItemStack.EMPTY);
+ ContainerHelper.loadAllItems(compound, this.stacks);
+ if (compound.get("fluidTank") instanceof CompoundTag compoundTag)
+ fluidTank.readFromNBT(compoundTag);
+ }
+
+ @Override
+ public void saveAdditional(CompoundTag compound) {
+ super.saveAdditional(compound);
+ if (!this.trySaveLootTable(compound)) {
+ ContainerHelper.saveAllItems(compound, this.stacks);
+ }
+ compound.put("fluidTank", fluidTank.writeToNBT(new CompoundTag()));
+ }
+
+ @Override
+ public ClientboundBlockEntityDataPacket getUpdatePacket() {
+ return ClientboundBlockEntityDataPacket.create(this);
+ }
+
+ @Override
+ public CompoundTag getUpdateTag() {
+ return this.saveWithFullMetadata();
+ }
+
+ @Override
+ public int getContainerSize() {
+ return stacks.size();
+ }
+
+ @Override
+ public boolean isEmpty() {
+ for (ItemStack itemstack : this.stacks)
+ if (!itemstack.isEmpty())
+ return false;
+ return true;
+ }
+
+ @Override
+ public Component getDefaultName() {
+ return Component.literal("nether_power_generator");
+ }
+
+ @Override
+ public int getMaxStackSize() {
+ return 1;
+ }
+
+ @Override
+ public AbstractContainerMenu createMenu(int id, Inventory inventory) {
+ return new NetherPowerGeneratorGUIMenu(id, inventory, new FriendlyByteBuf(Unpooled.buffer()).writeBlockPos(this.worldPosition));
+ }
+
+ @Override
+ public Component getDisplayName() {
+ return Component.literal("Nether Power Generator");
+ }
+
+ @Override
+ protected NonNullList getItems() {
+ return this.stacks;
+ }
+
+ @Override
+ protected void setItems(NonNullList stacks) {
+ this.stacks = stacks;
+ }
+
+ @Override
+ public boolean canPlaceItem(int index, ItemStack stack) {
+ return true;
+ }
+
+ @Override
+ public int[] getSlotsForFace(Direction side) {
+ return IntStream.range(0, this.getContainerSize()).toArray();
+ }
+
+ @Override
+ public boolean canPlaceItemThroughFace(int index, ItemStack stack, @Nullable Direction direction) {
+ return this.canPlaceItem(index, stack);
+ }
+
+ @Override
+ public boolean canTakeItemThroughFace(int index, ItemStack stack, Direction direction) {
+ return true;
+ }
+
+ private final FluidTank fluidTank = new FluidTank(3000, fs -> {
+ if (fs.getFluid() == ArisRandomAdditionsModFluids.NETHERRACK_JUICE.get())
+ return true;
+ if (fs.getFluid() == ArisRandomAdditionsModFluids.FLOWING_NETHERRACK_JUICE.get())
+ return true;
+ return false;
+ }) {
+ @Override
+ protected void onContentsChanged() {
+ super.onContentsChanged();
+ setChanged();
+ level.sendBlockUpdated(worldPosition, level.getBlockState(worldPosition), level.getBlockState(worldPosition), 2);
+ }
+ };
+
+ @Override
+ public LazyOptional getCapability(Capability capability, @Nullable Direction facing) {
+ if (!this.remove && facing != null && capability == ForgeCapabilities.ITEM_HANDLER)
+ return handlers[facing.ordinal()].cast();
+ if (!this.remove && capability == ForgeCapabilities.FLUID_HANDLER)
+ return LazyOptional.of(() -> fluidTank).cast();
+ return super.getCapability(capability, facing);
+ }
+
+ @Override
+ public void setRemoved() {
+ super.setRemoved();
+ for (LazyOptional extends IItemHandler> handler : handlers)
+ handler.invalidate();
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/block/entity/OreMinerBlockEntity.java b/src/main/java/net/mcreator/arisrandomadditions/block/entity/OreMinerBlockEntity.java
index d2aad8b..593692a 100644
--- a/src/main/java/net/mcreator/arisrandomadditions/block/entity/OreMinerBlockEntity.java
+++ b/src/main/java/net/mcreator/arisrandomadditions/block/entity/OreMinerBlockEntity.java
@@ -1,4 +1,3 @@
-
package net.mcreator.arisrandomadditions.block.entity;
import net.minecraftforge.items.wrapper.SidedInvWrapper;
diff --git a/src/main/java/net/mcreator/arisrandomadditions/block/entity/StarAssemblyTableBlockEntity.java b/src/main/java/net/mcreator/arisrandomadditions/block/entity/StarAssemblyTableBlockEntity.java
new file mode 100644
index 0000000..5cc0c80
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/block/entity/StarAssemblyTableBlockEntity.java
@@ -0,0 +1,143 @@
+package net.mcreator.arisrandomadditions.block.entity;
+
+import net.minecraftforge.items.wrapper.SidedInvWrapper;
+import net.minecraftforge.items.IItemHandler;
+import net.minecraftforge.common.util.LazyOptional;
+import net.minecraftforge.common.capabilities.ForgeCapabilities;
+import net.minecraftforge.common.capabilities.Capability;
+
+import net.minecraft.world.level.block.state.BlockState;
+import net.minecraft.world.level.block.entity.RandomizableContainerBlockEntity;
+import net.minecraft.world.item.ItemStack;
+import net.minecraft.world.inventory.AbstractContainerMenu;
+import net.minecraft.world.entity.player.Inventory;
+import net.minecraft.world.WorldlyContainer;
+import net.minecraft.world.ContainerHelper;
+import net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket;
+import net.minecraft.network.chat.Component;
+import net.minecraft.network.FriendlyByteBuf;
+import net.minecraft.nbt.CompoundTag;
+import net.minecraft.core.NonNullList;
+import net.minecraft.core.Direction;
+import net.minecraft.core.BlockPos;
+
+import net.mcreator.arisrandomadditions.world.inventory.StarAssemblyTableGUIMenu;
+import net.mcreator.arisrandomadditions.init.ArisRandomAdditionsModBlockEntities;
+
+import javax.annotation.Nullable;
+
+import java.util.stream.IntStream;
+
+import io.netty.buffer.Unpooled;
+
+public class StarAssemblyTableBlockEntity extends RandomizableContainerBlockEntity implements WorldlyContainer {
+ private NonNullList stacks = NonNullList.withSize(5, ItemStack.EMPTY);
+ private final LazyOptional extends IItemHandler>[] handlers = SidedInvWrapper.create(this, Direction.values());
+
+ public StarAssemblyTableBlockEntity(BlockPos position, BlockState state) {
+ super(ArisRandomAdditionsModBlockEntities.STAR_ASSEMBLY_TABLE.get(), position, state);
+ }
+
+ @Override
+ public void load(CompoundTag compound) {
+ super.load(compound);
+ if (!this.tryLoadLootTable(compound))
+ this.stacks = NonNullList.withSize(this.getContainerSize(), ItemStack.EMPTY);
+ ContainerHelper.loadAllItems(compound, this.stacks);
+ }
+
+ @Override
+ public void saveAdditional(CompoundTag compound) {
+ super.saveAdditional(compound);
+ if (!this.trySaveLootTable(compound)) {
+ ContainerHelper.saveAllItems(compound, this.stacks);
+ }
+ }
+
+ @Override
+ public ClientboundBlockEntityDataPacket getUpdatePacket() {
+ return ClientboundBlockEntityDataPacket.create(this);
+ }
+
+ @Override
+ public CompoundTag getUpdateTag() {
+ return this.saveWithFullMetadata();
+ }
+
+ @Override
+ public int getContainerSize() {
+ return stacks.size();
+ }
+
+ @Override
+ public boolean isEmpty() {
+ for (ItemStack itemstack : this.stacks)
+ if (!itemstack.isEmpty())
+ return false;
+ return true;
+ }
+
+ @Override
+ public Component getDefaultName() {
+ return Component.literal("star_assembly_table");
+ }
+
+ @Override
+ public int getMaxStackSize() {
+ return 64;
+ }
+
+ @Override
+ public AbstractContainerMenu createMenu(int id, Inventory inventory) {
+ return new StarAssemblyTableGUIMenu(id, inventory, new FriendlyByteBuf(Unpooled.buffer()).writeBlockPos(this.worldPosition));
+ }
+
+ @Override
+ public Component getDisplayName() {
+ return Component.literal("Star Assembly Table");
+ }
+
+ @Override
+ protected NonNullList getItems() {
+ return this.stacks;
+ }
+
+ @Override
+ protected void setItems(NonNullList stacks) {
+ this.stacks = stacks;
+ }
+
+ @Override
+ public boolean canPlaceItem(int index, ItemStack stack) {
+ return true;
+ }
+
+ @Override
+ public int[] getSlotsForFace(Direction side) {
+ return IntStream.range(0, this.getContainerSize()).toArray();
+ }
+
+ @Override
+ public boolean canPlaceItemThroughFace(int index, ItemStack stack, @Nullable Direction direction) {
+ return this.canPlaceItem(index, stack);
+ }
+
+ @Override
+ public boolean canTakeItemThroughFace(int index, ItemStack stack, Direction direction) {
+ return true;
+ }
+
+ @Override
+ public LazyOptional getCapability(Capability capability, @Nullable Direction facing) {
+ if (!this.remove && facing != null && capability == ForgeCapabilities.ITEM_HANDLER)
+ return handlers[facing.ordinal()].cast();
+ return super.getCapability(capability, facing);
+ }
+
+ @Override
+ public void setRemoved() {
+ super.setRemoved();
+ for (LazyOptional extends IItemHandler> handler : handlers)
+ handler.invalidate();
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/client/gui/BedrockifierGUIScreen.java b/src/main/java/net/mcreator/arisrandomadditions/client/gui/BedrockifierGUIScreen.java
index d706e38..344585c 100644
--- a/src/main/java/net/mcreator/arisrandomadditions/client/gui/BedrockifierGUIScreen.java
+++ b/src/main/java/net/mcreator/arisrandomadditions/client/gui/BedrockifierGUIScreen.java
@@ -1,4 +1,3 @@
-
package net.mcreator.arisrandomadditions.client.gui;
import net.minecraft.world.level.Level;
diff --git a/src/main/java/net/mcreator/arisrandomadditions/client/gui/NetherPowerGeneratorGUIScreen.java b/src/main/java/net/mcreator/arisrandomadditions/client/gui/NetherPowerGeneratorGUIScreen.java
new file mode 100644
index 0000000..8dfc982
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/client/gui/NetherPowerGeneratorGUIScreen.java
@@ -0,0 +1,95 @@
+package net.mcreator.arisrandomadditions.client.gui;
+
+import net.minecraft.world.level.Level;
+import net.minecraft.world.entity.player.Player;
+import net.minecraft.world.entity.player.Inventory;
+import net.minecraft.resources.ResourceLocation;
+import net.minecraft.network.chat.Component;
+import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen;
+import net.minecraft.client.gui.components.Button;
+import net.minecraft.client.gui.GuiGraphics;
+
+import net.mcreator.arisrandomadditions.world.inventory.NetherPowerGeneratorGUIMenu;
+import net.mcreator.arisrandomadditions.procedures.NetherPowerGeneratorFluidTankTextUpdateProcedure;
+import net.mcreator.arisrandomadditions.network.NetherPowerGeneratorGUIButtonMessage;
+import net.mcreator.arisrandomadditions.ArisRandomAdditionsMod;
+
+import java.util.HashMap;
+
+import com.mojang.blaze3d.systems.RenderSystem;
+
+public class NetherPowerGeneratorGUIScreen extends AbstractContainerScreen {
+ private final static HashMap guistate = NetherPowerGeneratorGUIMenu.guistate;
+ private final Level world;
+ private final int x, y, z;
+ private final Player entity;
+ Button button_refill;
+ Button button_drain;
+
+ public NetherPowerGeneratorGUIScreen(NetherPowerGeneratorGUIMenu container, Inventory inventory, Component text) {
+ super(container, inventory, text);
+ this.world = container.world;
+ this.x = container.x;
+ this.y = container.y;
+ this.z = container.z;
+ this.entity = container.entity;
+ this.imageWidth = 176;
+ this.imageHeight = 213;
+ }
+
+ private static final ResourceLocation texture = new ResourceLocation("aris_random_additions:textures/screens/nether_power_generator_gui.png");
+
+ @Override
+ public void render(GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTicks) {
+ this.renderBackground(guiGraphics);
+ super.render(guiGraphics, mouseX, mouseY, partialTicks);
+ this.renderTooltip(guiGraphics, mouseX, mouseY);
+ }
+
+ @Override
+ protected void renderBg(GuiGraphics guiGraphics, float partialTicks, int gx, int gy) {
+ RenderSystem.setShaderColor(1, 1, 1, 1);
+ RenderSystem.enableBlend();
+ RenderSystem.defaultBlendFunc();
+ guiGraphics.blit(texture, this.leftPos, this.topPos, 0, 0, this.imageWidth, this.imageHeight, this.imageWidth, this.imageHeight);
+ RenderSystem.disableBlend();
+ }
+
+ @Override
+ public boolean keyPressed(int key, int b, int c) {
+ if (key == 256) {
+ this.minecraft.player.closeContainer();
+ return true;
+ }
+ return super.keyPressed(key, b, c);
+ }
+
+ @Override
+ protected void renderLabels(GuiGraphics guiGraphics, int mouseX, int mouseY) {
+ guiGraphics.drawString(this.font, Component.translatable("gui.aris_random_additions.nether_power_generator_gui.label_nether_power_generator"), 6, 8, -16777216, false);
+ guiGraphics.drawString(this.font,
+
+ NetherPowerGeneratorFluidTankTextUpdateProcedure.execute(world, x, y, z), 6, 80, -13434880, false);
+ }
+
+ @Override
+ public void init() {
+ super.init();
+ button_refill = Button.builder(Component.translatable("gui.aris_random_additions.nether_power_generator_gui.button_refill"), e -> {
+ if (true) {
+ ArisRandomAdditionsMod.PACKET_HANDLER.sendToServer(new NetherPowerGeneratorGUIButtonMessage(0, x, y, z));
+ NetherPowerGeneratorGUIButtonMessage.handleButtonAction(entity, 0, x, y, z);
+ }
+ }).bounds(this.leftPos + 92, this.topPos + 53, 56, 20).build();
+ guistate.put("button:button_refill", button_refill);
+ this.addRenderableWidget(button_refill);
+ button_drain = Button.builder(Component.translatable("gui.aris_random_additions.nether_power_generator_gui.button_drain"), e -> {
+ if (true) {
+ ArisRandomAdditionsMod.PACKET_HANDLER.sendToServer(new NetherPowerGeneratorGUIButtonMessage(1, x, y, z));
+ NetherPowerGeneratorGUIButtonMessage.handleButtonAction(entity, 1, x, y, z);
+ }
+ }).bounds(this.leftPos + 29, this.topPos + 53, 51, 20).build();
+ guistate.put("button:button_drain", button_drain);
+ this.addRenderableWidget(button_drain);
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/client/gui/OreMinerGUIScreen.java b/src/main/java/net/mcreator/arisrandomadditions/client/gui/OreMinerGUIScreen.java
index 8206e8c..34758b0 100644
--- a/src/main/java/net/mcreator/arisrandomadditions/client/gui/OreMinerGUIScreen.java
+++ b/src/main/java/net/mcreator/arisrandomadditions/client/gui/OreMinerGUIScreen.java
@@ -1,4 +1,3 @@
-
package net.mcreator.arisrandomadditions.client.gui;
import net.minecraft.world.level.Level;
diff --git a/src/main/java/net/mcreator/arisrandomadditions/client/gui/StarAssemblyTableGUIScreen.java b/src/main/java/net/mcreator/arisrandomadditions/client/gui/StarAssemblyTableGUIScreen.java
new file mode 100644
index 0000000..3a76812
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/client/gui/StarAssemblyTableGUIScreen.java
@@ -0,0 +1,82 @@
+package net.mcreator.arisrandomadditions.client.gui;
+
+import net.minecraft.world.level.Level;
+import net.minecraft.world.entity.player.Player;
+import net.minecraft.world.entity.player.Inventory;
+import net.minecraft.resources.ResourceLocation;
+import net.minecraft.network.chat.Component;
+import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen;
+import net.minecraft.client.gui.components.Button;
+import net.minecraft.client.gui.GuiGraphics;
+
+import net.mcreator.arisrandomadditions.world.inventory.StarAssemblyTableGUIMenu;
+import net.mcreator.arisrandomadditions.network.StarAssemblyTableGUIButtonMessage;
+import net.mcreator.arisrandomadditions.ArisRandomAdditionsMod;
+
+import java.util.HashMap;
+
+import com.mojang.blaze3d.systems.RenderSystem;
+
+public class StarAssemblyTableGUIScreen extends AbstractContainerScreen {
+ private final static HashMap guistate = StarAssemblyTableGUIMenu.guistate;
+ private final Level world;
+ private final int x, y, z;
+ private final Player entity;
+ Button button_assemble;
+
+ public StarAssemblyTableGUIScreen(StarAssemblyTableGUIMenu container, Inventory inventory, Component text) {
+ super(container, inventory, text);
+ this.world = container.world;
+ this.x = container.x;
+ this.y = container.y;
+ this.z = container.z;
+ this.entity = container.entity;
+ this.imageWidth = 200;
+ this.imageHeight = 220;
+ }
+
+ private static final ResourceLocation texture = new ResourceLocation("aris_random_additions:textures/screens/star_assembly_table_gui.png");
+
+ @Override
+ public void render(GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTicks) {
+ this.renderBackground(guiGraphics);
+ super.render(guiGraphics, mouseX, mouseY, partialTicks);
+ this.renderTooltip(guiGraphics, mouseX, mouseY);
+ }
+
+ @Override
+ protected void renderBg(GuiGraphics guiGraphics, float partialTicks, int gx, int gy) {
+ RenderSystem.setShaderColor(1, 1, 1, 1);
+ RenderSystem.enableBlend();
+ RenderSystem.defaultBlendFunc();
+ guiGraphics.blit(texture, this.leftPos, this.topPos, 0, 0, this.imageWidth, this.imageHeight, this.imageWidth, this.imageHeight);
+ RenderSystem.disableBlend();
+ }
+
+ @Override
+ public boolean keyPressed(int key, int b, int c) {
+ if (key == 256) {
+ this.minecraft.player.closeContainer();
+ return true;
+ }
+ return super.keyPressed(key, b, c);
+ }
+
+ @Override
+ protected void renderLabels(GuiGraphics guiGraphics, int mouseX, int mouseY) {
+ guiGraphics.drawString(this.font, Component.translatable("gui.aris_random_additions.star_assembly_table_gui.label_star_assembly_table"), 9, 7, -13434829, false);
+ }
+
+ @Override
+ public void init() {
+ super.init();
+ button_assemble = Button.builder(Component.translatable("gui.aris_random_additions.star_assembly_table_gui.button_assemble"), e -> {
+ if (true) {
+ ArisRandomAdditionsMod.PACKET_HANDLER.sendToServer(new StarAssemblyTableGUIButtonMessage(0, x, y, z));
+ StarAssemblyTableGUIButtonMessage.handleButtonAction(entity, 0, x, y, z);
+ }
+ }).bounds(this.leftPos + 117, this.topPos + 79, 67, 20).build();
+ guistate.put("button:button_assemble", button_assemble);
+ this.addRenderableWidget(button_assemble);
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/client/gui/TurdGUIScreen.java b/src/main/java/net/mcreator/arisrandomadditions/client/gui/TurdGUIScreen.java
index a0c2e70..1ee07cf 100644
--- a/src/main/java/net/mcreator/arisrandomadditions/client/gui/TurdGUIScreen.java
+++ b/src/main/java/net/mcreator/arisrandomadditions/client/gui/TurdGUIScreen.java
@@ -1,4 +1,3 @@
-
package net.mcreator.arisrandomadditions.client.gui;
import net.minecraft.world.level.Level;
diff --git a/src/main/java/net/mcreator/arisrandomadditions/init/ArisRandomAdditionsModBlockEntities.java b/src/main/java/net/mcreator/arisrandomadditions/init/ArisRandomAdditionsModBlockEntities.java
index 4650463..f77c6b1 100644
--- a/src/main/java/net/mcreator/arisrandomadditions/init/ArisRandomAdditionsModBlockEntities.java
+++ b/src/main/java/net/mcreator/arisrandomadditions/init/ArisRandomAdditionsModBlockEntities.java
@@ -11,7 +11,9 @@ import net.minecraftforge.registries.DeferredRegister;
import net.minecraft.world.level.block.entity.BlockEntityType;
import net.minecraft.world.level.block.Block;
+import net.mcreator.arisrandomadditions.block.entity.StarAssemblyTableBlockEntity;
import net.mcreator.arisrandomadditions.block.entity.OreMinerBlockEntity;
+import net.mcreator.arisrandomadditions.block.entity.NetherPowerGeneratorBlockEntity;
import net.mcreator.arisrandomadditions.block.entity.BedrockifierBlockEntity;
import net.mcreator.arisrandomadditions.ArisRandomAdditionsMod;
@@ -19,6 +21,8 @@ public class ArisRandomAdditionsModBlockEntities {
public static final DeferredRegister> REGISTRY = DeferredRegister.create(ForgeRegistries.BLOCK_ENTITY_TYPES, ArisRandomAdditionsMod.MODID);
public static final RegistryObject> ORE_MINER = register("ore_miner", ArisRandomAdditionsModBlocks.ORE_MINER, OreMinerBlockEntity::new);
public static final RegistryObject> BEDROCKIFIER = register("bedrockifier", ArisRandomAdditionsModBlocks.BEDROCKIFIER, BedrockifierBlockEntity::new);
+ public static final RegistryObject> NETHER_POWER_GENERATOR = register("nether_power_generator", ArisRandomAdditionsModBlocks.NETHER_POWER_GENERATOR, NetherPowerGeneratorBlockEntity::new);
+ public static final RegistryObject> STAR_ASSEMBLY_TABLE = register("star_assembly_table", ArisRandomAdditionsModBlocks.STAR_ASSEMBLY_TABLE, StarAssemblyTableBlockEntity::new);
// Start of user code block custom block entities
// End of user code block custom block entities
diff --git a/src/main/java/net/mcreator/arisrandomadditions/init/ArisRandomAdditionsModBlocks.java b/src/main/java/net/mcreator/arisrandomadditions/init/ArisRandomAdditionsModBlocks.java
index 73f8d1a..46b9174 100644
--- a/src/main/java/net/mcreator/arisrandomadditions/init/ArisRandomAdditionsModBlocks.java
+++ b/src/main/java/net/mcreator/arisrandomadditions/init/ArisRandomAdditionsModBlocks.java
@@ -10,6 +10,7 @@ import net.minecraftforge.registries.DeferredRegister;
import net.minecraft.world.level.block.Block;
+import net.mcreator.arisrandomadditions.block.StarAssemblyTableBlock;
import net.mcreator.arisrandomadditions.block.SodaMachineBlock;
import net.mcreator.arisrandomadditions.block.RedstoneBricksBlock;
import net.mcreator.arisrandomadditions.block.RedstoneBrickWallsBlock;
@@ -23,6 +24,7 @@ import net.mcreator.arisrandomadditions.block.OrichalcumDeepslateOreBlock;
import net.mcreator.arisrandomadditions.block.OrichalcumBlockBlock;
import net.mcreator.arisrandomadditions.block.OreMinerBlock;
import net.mcreator.arisrandomadditions.block.NetherrackJuiceBlock;
+import net.mcreator.arisrandomadditions.block.NetherPowerGeneratorBlock;
import net.mcreator.arisrandomadditions.block.MintPlantBlock;
import net.mcreator.arisrandomadditions.block.MagmaBricksBlock;
import net.mcreator.arisrandomadditions.block.MagmaBrickWallsBlock;
@@ -37,7 +39,18 @@ import net.mcreator.arisrandomadditions.block.CondensedCondensedNetherrackBlock;
import net.mcreator.arisrandomadditions.block.CondensedCondensedCondensedNetherrackBlock;
import net.mcreator.arisrandomadditions.block.BrokenGlassBlock;
import net.mcreator.arisrandomadditions.block.BrickierMagmaBricksBlock;
+import net.mcreator.arisrandomadditions.block.BlackIronBlockBlock;
import net.mcreator.arisrandomadditions.block.BedrockifierBlock;
+import net.mcreator.arisrandomadditions.block.AnaheimWoodBlock;
+import net.mcreator.arisrandomadditions.block.AnaheimStairsBlock;
+import net.mcreator.arisrandomadditions.block.AnaheimSlabBlock;
+import net.mcreator.arisrandomadditions.block.AnaheimPressurePlateBlock;
+import net.mcreator.arisrandomadditions.block.AnaheimPlanksBlock;
+import net.mcreator.arisrandomadditions.block.AnaheimLogBlock;
+import net.mcreator.arisrandomadditions.block.AnaheimLeavesBlock;
+import net.mcreator.arisrandomadditions.block.AnaheimFenceGateBlock;
+import net.mcreator.arisrandomadditions.block.AnaheimFenceBlock;
+import net.mcreator.arisrandomadditions.block.AnaheimButtonBlock;
import net.mcreator.arisrandomadditions.ArisRandomAdditionsMod;
public class ArisRandomAdditionsModBlocks {
@@ -70,6 +83,19 @@ public class ArisRandomAdditionsModBlocks {
public static final RegistryObject MINT_PLANT = REGISTRY.register("mint_plant", () -> new MintPlantBlock());
public static final RegistryObject BRICKIER_MAGMA_BRICKS = REGISTRY.register("brickier_magma_bricks", () -> new BrickierMagmaBricksBlock());
public static final RegistryObject SODA_MACHINE = REGISTRY.register("soda_machine", () -> new SodaMachineBlock());
+ public static final RegistryObject BLACK_IRON_BLOCK = REGISTRY.register("black_iron_block", () -> new BlackIronBlockBlock());
+ public static final RegistryObject NETHER_POWER_GENERATOR = REGISTRY.register("nether_power_generator", () -> new NetherPowerGeneratorBlock());
+ public static final RegistryObject STAR_ASSEMBLY_TABLE = REGISTRY.register("star_assembly_table", () -> new StarAssemblyTableBlock());
+ public static final RegistryObject ANAHEIM_WOOD = REGISTRY.register("anaheim_wood", () -> new AnaheimWoodBlock());
+ public static final RegistryObject ANAHEIM_LOG = REGISTRY.register("anaheim_log", () -> new AnaheimLogBlock());
+ public static final RegistryObject ANAHEIM_PLANKS = REGISTRY.register("anaheim_planks", () -> new AnaheimPlanksBlock());
+ public static final RegistryObject ANAHEIM_LEAVES = REGISTRY.register("anaheim_leaves", () -> new AnaheimLeavesBlock());
+ public static final RegistryObject ANAHEIM_STAIRS = REGISTRY.register("anaheim_stairs", () -> new AnaheimStairsBlock());
+ public static final RegistryObject ANAHEIM_SLAB = REGISTRY.register("anaheim_slab", () -> new AnaheimSlabBlock());
+ public static final RegistryObject ANAHEIM_FENCE = REGISTRY.register("anaheim_fence", () -> new AnaheimFenceBlock());
+ public static final RegistryObject ANAHEIM_FENCE_GATE = REGISTRY.register("anaheim_fence_gate", () -> new AnaheimFenceGateBlock());
+ public static final RegistryObject ANAHEIM_PRESSURE_PLATE = REGISTRY.register("anaheim_pressure_plate", () -> new AnaheimPressurePlateBlock());
+ public static final RegistryObject ANAHEIM_BUTTON = REGISTRY.register("anaheim_button", () -> new AnaheimButtonBlock());
// Start of user code block custom blocks
// End of user code block custom blocks
}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/init/ArisRandomAdditionsModItems.java b/src/main/java/net/mcreator/arisrandomadditions/init/ArisRandomAdditionsModItems.java
index 71b8088..bf4a955 100644
--- a/src/main/java/net/mcreator/arisrandomadditions/init/ArisRandomAdditionsModItems.java
+++ b/src/main/java/net/mcreator/arisrandomadditions/init/ArisRandomAdditionsModItems.java
@@ -19,13 +19,17 @@ import net.mcreator.arisrandomadditions.item.WandOfResizingItem;
import net.mcreator.arisrandomadditions.item.WandOfDrainingItem;
import net.mcreator.arisrandomadditions.item.VoidStarItem;
import net.mcreator.arisrandomadditions.item.VoidAppleItem;
+import net.mcreator.arisrandomadditions.item.TurtleAppleItem;
import net.mcreator.arisrandomadditions.item.TurdItem;
+import net.mcreator.arisrandomadditions.item.TopPieceOfNetherStarItem;
+import net.mcreator.arisrandomadditions.item.TasteTheRainbowWaterCanItem;
import net.mcreator.arisrandomadditions.item.SweetenedCarbonatedWaterCanItem;
import net.mcreator.arisrandomadditions.item.StarWandItem;
import net.mcreator.arisrandomadditions.item.StarItem;
import net.mcreator.arisrandomadditions.item.SocketItem;
import net.mcreator.arisrandomadditions.item.SnowGolemQuestionMarkItem;
import net.mcreator.arisrandomadditions.item.SandDustItem;
+import net.mcreator.arisrandomadditions.item.RightPieceOfNetherStarItem;
import net.mcreator.arisrandomadditions.item.PowerStarItem;
import net.mcreator.arisrandomadditions.item.PocketLightningItem;
import net.mcreator.arisrandomadditions.item.OrichalcumSwordItem;
@@ -43,12 +47,14 @@ import net.mcreator.arisrandomadditions.item.NightVisionGogglesItem;
import net.mcreator.arisrandomadditions.item.NetherrackitePickaxeItem;
import net.mcreator.arisrandomadditions.item.NetherrackiteItem;
import net.mcreator.arisrandomadditions.item.NetherrackJuiceItem;
+import net.mcreator.arisrandomadditions.item.NetheriteAppleItem;
import net.mcreator.arisrandomadditions.item.MintSweetenedCarbonatedWaterCanItem;
import net.mcreator.arisrandomadditions.item.MintLeavesItem;
import net.mcreator.arisrandomadditions.item.MintItem;
import net.mcreator.arisrandomadditions.item.MagicFleshItem;
import net.mcreator.arisrandomadditions.item.MagicEggItem;
import net.mcreator.arisrandomadditions.item.MagicDustItem;
+import net.mcreator.arisrandomadditions.item.LeftPieceOfNetherStarItem;
import net.mcreator.arisrandomadditions.item.LapisLazuliNuggetItem;
import net.mcreator.arisrandomadditions.item.IronGolemQuestionMarkItem;
import net.mcreator.arisrandomadditions.item.GravediggerItem;
@@ -68,8 +74,12 @@ import net.mcreator.arisrandomadditions.item.ChorusEyeItem;
import net.mcreator.arisrandomadditions.item.CheeseItem;
import net.mcreator.arisrandomadditions.item.CarbonatedWaterCanItem;
import net.mcreator.arisrandomadditions.item.CanLidItem;
+import net.mcreator.arisrandomadditions.item.BottomPieceOfNetherStarItem;
import net.mcreator.arisrandomadditions.item.BlockEaterItem;
+import net.mcreator.arisrandomadditions.item.BlazeAppleItem;
+import net.mcreator.arisrandomadditions.item.BlackIronUpgradeSmithingTemplateItem;
import net.mcreator.arisrandomadditions.item.BlackIronIngotItem;
+import net.mcreator.arisrandomadditions.item.BlackIronAppleItem;
import net.mcreator.arisrandomadditions.item.BedrockUpgradeTemplateItem;
import net.mcreator.arisrandomadditions.item.BedrockSwordItem;
import net.mcreator.arisrandomadditions.item.BedrockShardItem;
@@ -181,6 +191,29 @@ public class ArisRandomAdditionsModItems {
public static final RegistryObject- SOCKET = REGISTRY.register("socket", () -> new SocketItem());
public static final RegistryObject
- SODA_MACHINE = block(ArisRandomAdditionsModBlocks.SODA_MACHINE);
public static final RegistryObject
- GOLD_TOKEN = REGISTRY.register("gold_token", () -> new GoldTokenItem());
+ public static final RegistryObject
- BLACK_IRON_BLOCK = block(ArisRandomAdditionsModBlocks.BLACK_IRON_BLOCK);
+ public static final RegistryObject
- NETHER_POWER_GENERATOR = block(ArisRandomAdditionsModBlocks.NETHER_POWER_GENERATOR);
+ public static final RegistryObject
- STAR_ASSEMBLY_TABLE = block(ArisRandomAdditionsModBlocks.STAR_ASSEMBLY_TABLE);
+ public static final RegistryObject
- LEFT_PIECE_OF_NETHER_STAR = REGISTRY.register("left_piece_of_nether_star", () -> new LeftPieceOfNetherStarItem());
+ public static final RegistryObject
- TOP_PIECE_OF_NETHER_STAR = REGISTRY.register("top_piece_of_nether_star", () -> new TopPieceOfNetherStarItem());
+ public static final RegistryObject
- RIGHT_PIECE_OF_NETHER_STAR = REGISTRY.register("right_piece_of_nether_star", () -> new RightPieceOfNetherStarItem());
+ public static final RegistryObject
- BOTTOM_PIECE_OF_NETHER_STAR = REGISTRY.register("bottom_piece_of_nether_star", () -> new BottomPieceOfNetherStarItem());
+ public static final RegistryObject
- ANAHEIM_WOOD = block(ArisRandomAdditionsModBlocks.ANAHEIM_WOOD);
+ public static final RegistryObject
- ANAHEIM_LOG = block(ArisRandomAdditionsModBlocks.ANAHEIM_LOG);
+ public static final RegistryObject
- ANAHEIM_PLANKS = block(ArisRandomAdditionsModBlocks.ANAHEIM_PLANKS);
+ public static final RegistryObject
- ANAHEIM_LEAVES = block(ArisRandomAdditionsModBlocks.ANAHEIM_LEAVES);
+ public static final RegistryObject
- ANAHEIM_STAIRS = block(ArisRandomAdditionsModBlocks.ANAHEIM_STAIRS);
+ public static final RegistryObject
- ANAHEIM_SLAB = block(ArisRandomAdditionsModBlocks.ANAHEIM_SLAB);
+ public static final RegistryObject
- ANAHEIM_FENCE = block(ArisRandomAdditionsModBlocks.ANAHEIM_FENCE);
+ public static final RegistryObject
- ANAHEIM_FENCE_GATE = block(ArisRandomAdditionsModBlocks.ANAHEIM_FENCE_GATE);
+ public static final RegistryObject
- ANAHEIM_PRESSURE_PLATE = block(ArisRandomAdditionsModBlocks.ANAHEIM_PRESSURE_PLATE);
+ public static final RegistryObject
- ANAHEIM_BUTTON = block(ArisRandomAdditionsModBlocks.ANAHEIM_BUTTON);
+ public static final RegistryObject
- BLACK_IRON_UPGRADE_SMITHING_TEMPLATE = REGISTRY.register("black_iron_upgrade_smithing_template", () -> new BlackIronUpgradeSmithingTemplateItem());
+ public static final RegistryObject
- BLAZE_APPLE = REGISTRY.register("blaze_apple", () -> new BlazeAppleItem());
+ public static final RegistryObject
- TURTLE_APPLE = REGISTRY.register("turtle_apple", () -> new TurtleAppleItem());
+ public static final RegistryObject
- BLACK_IRON_APPLE = REGISTRY.register("black_iron_apple", () -> new BlackIronAppleItem());
+ public static final RegistryObject
- TASTE_THE_RAINBOW_WATER_CAN = REGISTRY.register("taste_the_rainbow_water_can", () -> new TasteTheRainbowWaterCanItem());
+ public static final RegistryObject
- NETHERITE_APPLE = REGISTRY.register("netherite_apple", () -> new NetheriteAppleItem());
// Start of user code block custom items
// End of user code block custom items
diff --git a/src/main/java/net/mcreator/arisrandomadditions/init/ArisRandomAdditionsModMenus.java b/src/main/java/net/mcreator/arisrandomadditions/init/ArisRandomAdditionsModMenus.java
index 7167bd7..6e17d4d 100644
--- a/src/main/java/net/mcreator/arisrandomadditions/init/ArisRandomAdditionsModMenus.java
+++ b/src/main/java/net/mcreator/arisrandomadditions/init/ArisRandomAdditionsModMenus.java
@@ -12,7 +12,9 @@ import net.minecraftforge.common.extensions.IForgeMenuType;
import net.minecraft.world.inventory.MenuType;
import net.mcreator.arisrandomadditions.world.inventory.TurdGUIMenu;
+import net.mcreator.arisrandomadditions.world.inventory.StarAssemblyTableGUIMenu;
import net.mcreator.arisrandomadditions.world.inventory.OreMinerGUIMenu;
+import net.mcreator.arisrandomadditions.world.inventory.NetherPowerGeneratorGUIMenu;
import net.mcreator.arisrandomadditions.world.inventory.BedrockifierGUIMenu;
import net.mcreator.arisrandomadditions.ArisRandomAdditionsMod;
@@ -21,4 +23,6 @@ public class ArisRandomAdditionsModMenus {
public static final RegistryObject> ORE_MINER_GUI = REGISTRY.register("ore_miner_gui", () -> IForgeMenuType.create(OreMinerGUIMenu::new));
public static final RegistryObject> BEDROCKIFIER_GUI = REGISTRY.register("bedrockifier_gui", () -> IForgeMenuType.create(BedrockifierGUIMenu::new));
public static final RegistryObject> TURD_GUI = REGISTRY.register("turd_gui", () -> IForgeMenuType.create(TurdGUIMenu::new));
+ public static final RegistryObject> NETHER_POWER_GENERATOR_GUI = REGISTRY.register("nether_power_generator_gui", () -> IForgeMenuType.create(NetherPowerGeneratorGUIMenu::new));
+ public static final RegistryObject> STAR_ASSEMBLY_TABLE_GUI = REGISTRY.register("star_assembly_table_gui", () -> IForgeMenuType.create(StarAssemblyTableGUIMenu::new));
}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/init/ArisRandomAdditionsModScreens.java b/src/main/java/net/mcreator/arisrandomadditions/init/ArisRandomAdditionsModScreens.java
index 1a29b84..8188113 100644
--- a/src/main/java/net/mcreator/arisrandomadditions/init/ArisRandomAdditionsModScreens.java
+++ b/src/main/java/net/mcreator/arisrandomadditions/init/ArisRandomAdditionsModScreens.java
@@ -12,7 +12,9 @@ import net.minecraftforge.api.distmarker.Dist;
import net.minecraft.client.gui.screens.MenuScreens;
import net.mcreator.arisrandomadditions.client.gui.TurdGUIScreen;
+import net.mcreator.arisrandomadditions.client.gui.StarAssemblyTableGUIScreen;
import net.mcreator.arisrandomadditions.client.gui.OreMinerGUIScreen;
+import net.mcreator.arisrandomadditions.client.gui.NetherPowerGeneratorGUIScreen;
import net.mcreator.arisrandomadditions.client.gui.BedrockifierGUIScreen;
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT)
@@ -23,6 +25,8 @@ public class ArisRandomAdditionsModScreens {
MenuScreens.register(ArisRandomAdditionsModMenus.ORE_MINER_GUI.get(), OreMinerGUIScreen::new);
MenuScreens.register(ArisRandomAdditionsModMenus.BEDROCKIFIER_GUI.get(), BedrockifierGUIScreen::new);
MenuScreens.register(ArisRandomAdditionsModMenus.TURD_GUI.get(), TurdGUIScreen::new);
+ MenuScreens.register(ArisRandomAdditionsModMenus.NETHER_POWER_GENERATOR_GUI.get(), NetherPowerGeneratorGUIScreen::new);
+ MenuScreens.register(ArisRandomAdditionsModMenus.STAR_ASSEMBLY_TABLE_GUI.get(), StarAssemblyTableGUIScreen::new);
});
}
}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/init/ArisRandomAdditionsModTabs.java b/src/main/java/net/mcreator/arisrandomadditions/init/ArisRandomAdditionsModTabs.java
index 610b392..9f64db0 100644
--- a/src/main/java/net/mcreator/arisrandomadditions/init/ArisRandomAdditionsModTabs.java
+++ b/src/main/java/net/mcreator/arisrandomadditions/init/ArisRandomAdditionsModTabs.java
@@ -39,7 +39,16 @@ public class ArisRandomAdditionsModTabs {
tabData.accept(ArisRandomAdditionsModBlocks.ENDITE_BLOCK.get().asItem());
tabData.accept(ArisRandomAdditionsModBlocks.ORICHALCUM_DEEPSLATE_ORE.get().asItem());
tabData.accept(ArisRandomAdditionsModBlocks.BRICKIER_MAGMA_BRICKS.get().asItem());
- tabData.accept(ArisRandomAdditionsModBlocks.SODA_MACHINE.get().asItem());
+ tabData.accept(ArisRandomAdditionsModBlocks.BLACK_IRON_BLOCK.get().asItem());
+ tabData.accept(ArisRandomAdditionsModBlocks.ANAHEIM_WOOD.get().asItem());
+ tabData.accept(ArisRandomAdditionsModBlocks.ANAHEIM_LOG.get().asItem());
+ tabData.accept(ArisRandomAdditionsModBlocks.ANAHEIM_PLANKS.get().asItem());
+ tabData.accept(ArisRandomAdditionsModBlocks.ANAHEIM_STAIRS.get().asItem());
+ tabData.accept(ArisRandomAdditionsModBlocks.ANAHEIM_SLAB.get().asItem());
+ tabData.accept(ArisRandomAdditionsModBlocks.ANAHEIM_FENCE.get().asItem());
+ tabData.accept(ArisRandomAdditionsModBlocks.ANAHEIM_FENCE_GATE.get().asItem());
+ tabData.accept(ArisRandomAdditionsModBlocks.ANAHEIM_PRESSURE_PLATE.get().asItem());
+ tabData.accept(ArisRandomAdditionsModBlocks.ANAHEIM_BUTTON.get().asItem());
} else if (tabData.getTabKey() == CreativeModeTabs.TOOLS_AND_UTILITIES) {
tabData.accept(ArisRandomAdditionsModItems.BLOCK_EATER.get());
tabData.accept(ArisRandomAdditionsModItems.NETHERRACKITE_PICKAXE.get());
@@ -83,6 +92,11 @@ public class ArisRandomAdditionsModTabs {
tabData.accept(ArisRandomAdditionsModItems.MINT_LEAVES.get());
tabData.accept(ArisRandomAdditionsModItems.SOCKET.get());
tabData.accept(ArisRandomAdditionsModItems.GOLD_TOKEN.get());
+ tabData.accept(ArisRandomAdditionsModItems.LEFT_PIECE_OF_NETHER_STAR.get());
+ tabData.accept(ArisRandomAdditionsModItems.TOP_PIECE_OF_NETHER_STAR.get());
+ tabData.accept(ArisRandomAdditionsModItems.RIGHT_PIECE_OF_NETHER_STAR.get());
+ tabData.accept(ArisRandomAdditionsModItems.BOTTOM_PIECE_OF_NETHER_STAR.get());
+ tabData.accept(ArisRandomAdditionsModItems.BLACK_IRON_UPGRADE_SMITHING_TEMPLATE.get());
} else if (tabData.getTabKey() == CreativeModeTabs.FOOD_AND_DRINKS) {
tabData.accept(ArisRandomAdditionsModItems.MAGIC_FLESH.get());
tabData.accept(ArisRandomAdditionsModItems.GOLDEN_BERRIES.get());
@@ -98,9 +112,17 @@ public class ArisRandomAdditionsModTabs {
tabData.accept(ArisRandomAdditionsModItems.SWEETENED_CARBONATED_WATER_CAN.get());
tabData.accept(ArisRandomAdditionsModItems.MINT_SWEETENED_CARBONATED_WATER_CAN.get());
tabData.accept(ArisRandomAdditionsModItems.ORANGE_SWEETENED_CARBONATED_WATER_CAN.get());
+ tabData.accept(ArisRandomAdditionsModItems.BLAZE_APPLE.get());
+ tabData.accept(ArisRandomAdditionsModItems.TURTLE_APPLE.get());
+ tabData.accept(ArisRandomAdditionsModItems.BLACK_IRON_APPLE.get());
+ tabData.accept(ArisRandomAdditionsModItems.TASTE_THE_RAINBOW_WATER_CAN.get());
+ tabData.accept(ArisRandomAdditionsModItems.NETHERITE_APPLE.get());
} else if (tabData.getTabKey() == CreativeModeTabs.FUNCTIONAL_BLOCKS) {
tabData.accept(ArisRandomAdditionsModBlocks.ORE_MINER.get().asItem());
tabData.accept(ArisRandomAdditionsModBlocks.BEDROCKIFIER.get().asItem());
+ tabData.accept(ArisRandomAdditionsModBlocks.SODA_MACHINE.get().asItem());
+ tabData.accept(ArisRandomAdditionsModBlocks.NETHER_POWER_GENERATOR.get().asItem());
+ tabData.accept(ArisRandomAdditionsModBlocks.STAR_ASSEMBLY_TABLE.get().asItem());
} else if (tabData.getTabKey() == CreativeModeTabs.SPAWN_EGGS) {
tabData.accept(ArisRandomAdditionsModItems.GHOUL_SPAWN_EGG.get());
tabData.accept(ArisRandomAdditionsModItems.TUX_SPAWN_EGG.get());
@@ -130,6 +152,7 @@ public class ArisRandomAdditionsModTabs {
tabData.accept(ArisRandomAdditionsModItems.ORICHALCUM_KATANA.get());
} else if (tabData.getTabKey() == CreativeModeTabs.NATURAL_BLOCKS) {
tabData.accept(ArisRandomAdditionsModBlocks.MINT_PLANT.get().asItem());
+ tabData.accept(ArisRandomAdditionsModBlocks.ANAHEIM_LEAVES.get().asItem());
}
}
}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/item/BedrockAppleItem.java b/src/main/java/net/mcreator/arisrandomadditions/item/BedrockAppleItem.java
index 4b76073..3792966 100644
--- a/src/main/java/net/mcreator/arisrandomadditions/item/BedrockAppleItem.java
+++ b/src/main/java/net/mcreator/arisrandomadditions/item/BedrockAppleItem.java
@@ -22,6 +22,11 @@ public class BedrockAppleItem extends Item {
super(new Item.Properties().stacksTo(64).fireResistant().rarity(Rarity.EPIC).food((new FoodProperties.Builder()).nutrition(20).saturationMod(4f).alwaysEat().build()));
}
+ @Override
+ public int getUseDuration(ItemStack itemstack) {
+ return 9;
+ }
+
@Override
@OnlyIn(Dist.CLIENT)
public boolean isFoil(ItemStack itemstack) {
diff --git a/src/main/java/net/mcreator/arisrandomadditions/item/BlackIronAppleItem.java b/src/main/java/net/mcreator/arisrandomadditions/item/BlackIronAppleItem.java
new file mode 100644
index 0000000..494d48d
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/item/BlackIronAppleItem.java
@@ -0,0 +1,51 @@
+
+package net.mcreator.arisrandomadditions.item;
+
+import net.minecraftforge.api.distmarker.OnlyIn;
+import net.minecraftforge.api.distmarker.Dist;
+
+import net.minecraft.world.level.Level;
+import net.minecraft.world.item.TooltipFlag;
+import net.minecraft.world.item.Rarity;
+import net.minecraft.world.item.ItemStack;
+import net.minecraft.world.item.Item;
+import net.minecraft.world.food.FoodProperties;
+import net.minecraft.world.entity.LivingEntity;
+import net.minecraft.network.chat.Component;
+
+import net.mcreator.arisrandomadditions.procedures.BlackIronApplePlayerFinishesUsingItemProcedure;
+
+import java.util.List;
+
+public class BlackIronAppleItem extends Item {
+ public BlackIronAppleItem() {
+ super(new Item.Properties().stacksTo(64).fireResistant().rarity(Rarity.EPIC).food((new FoodProperties.Builder()).nutrition(8).saturationMod(0.7f).alwaysEat().build()));
+ }
+
+ @Override
+ public int getUseDuration(ItemStack itemstack) {
+ return 9;
+ }
+
+ @Override
+ @OnlyIn(Dist.CLIENT)
+ public boolean isFoil(ItemStack itemstack) {
+ return true;
+ }
+
+ @Override
+ public void appendHoverText(ItemStack itemstack, Level level, List list, TooltipFlag flag) {
+ super.appendHoverText(itemstack, level, list, flag);
+ list.add(Component.translatable("item.aris_random_additions.black_iron_apple.description_0"));
+ }
+
+ @Override
+ public ItemStack finishUsingItem(ItemStack itemstack, Level world, LivingEntity entity) {
+ ItemStack retval = super.finishUsingItem(itemstack, world, entity);
+ double x = entity.getX();
+ double y = entity.getY();
+ double z = entity.getZ();
+ BlackIronApplePlayerFinishesUsingItemProcedure.execute(world, entity);
+ return retval;
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/item/BlackIronUpgradeSmithingTemplateItem.java b/src/main/java/net/mcreator/arisrandomadditions/item/BlackIronUpgradeSmithingTemplateItem.java
new file mode 100644
index 0000000..e44e961
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/item/BlackIronUpgradeSmithingTemplateItem.java
@@ -0,0 +1,11 @@
+
+package net.mcreator.arisrandomadditions.item;
+
+import net.minecraft.world.item.Rarity;
+import net.minecraft.world.item.Item;
+
+public class BlackIronUpgradeSmithingTemplateItem extends Item {
+ public BlackIronUpgradeSmithingTemplateItem() {
+ super(new Item.Properties().stacksTo(64).rarity(Rarity.UNCOMMON));
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/item/BlazeAppleItem.java b/src/main/java/net/mcreator/arisrandomadditions/item/BlazeAppleItem.java
new file mode 100644
index 0000000..cc6be29
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/item/BlazeAppleItem.java
@@ -0,0 +1,51 @@
+
+package net.mcreator.arisrandomadditions.item;
+
+import net.minecraftforge.api.distmarker.OnlyIn;
+import net.minecraftforge.api.distmarker.Dist;
+
+import net.minecraft.world.level.Level;
+import net.minecraft.world.item.TooltipFlag;
+import net.minecraft.world.item.Rarity;
+import net.minecraft.world.item.ItemStack;
+import net.minecraft.world.item.Item;
+import net.minecraft.world.food.FoodProperties;
+import net.minecraft.world.entity.LivingEntity;
+import net.minecraft.network.chat.Component;
+
+import net.mcreator.arisrandomadditions.procedures.BlazeApplePlayerFinishesUsingItemProcedure;
+
+import java.util.List;
+
+public class BlazeAppleItem extends Item {
+ public BlazeAppleItem() {
+ super(new Item.Properties().stacksTo(64).fireResistant().rarity(Rarity.EPIC).food((new FoodProperties.Builder()).nutrition(9).saturationMod(1.1f).alwaysEat().build()));
+ }
+
+ @Override
+ public int getUseDuration(ItemStack itemstack) {
+ return 9;
+ }
+
+ @Override
+ @OnlyIn(Dist.CLIENT)
+ public boolean isFoil(ItemStack itemstack) {
+ return true;
+ }
+
+ @Override
+ public void appendHoverText(ItemStack itemstack, Level level, List list, TooltipFlag flag) {
+ super.appendHoverText(itemstack, level, list, flag);
+ list.add(Component.translatable("item.aris_random_additions.blaze_apple.description_0"));
+ }
+
+ @Override
+ public ItemStack finishUsingItem(ItemStack itemstack, Level world, LivingEntity entity) {
+ ItemStack retval = super.finishUsingItem(itemstack, world, entity);
+ double x = entity.getX();
+ double y = entity.getY();
+ double z = entity.getZ();
+ BlazeApplePlayerFinishesUsingItemProcedure.execute(world, entity);
+ return retval;
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/item/BottomPieceOfNetherStarItem.java b/src/main/java/net/mcreator/arisrandomadditions/item/BottomPieceOfNetherStarItem.java
new file mode 100644
index 0000000..234ce37
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/item/BottomPieceOfNetherStarItem.java
@@ -0,0 +1,11 @@
+
+package net.mcreator.arisrandomadditions.item;
+
+import net.minecraft.world.item.Rarity;
+import net.minecraft.world.item.Item;
+
+public class BottomPieceOfNetherStarItem extends Item {
+ public BottomPieceOfNetherStarItem() {
+ super(new Item.Properties().stacksTo(64).rarity(Rarity.RARE));
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/item/LeftPieceOfNetherStarItem.java b/src/main/java/net/mcreator/arisrandomadditions/item/LeftPieceOfNetherStarItem.java
new file mode 100644
index 0000000..c9c3536
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/item/LeftPieceOfNetherStarItem.java
@@ -0,0 +1,11 @@
+
+package net.mcreator.arisrandomadditions.item;
+
+import net.minecraft.world.item.Rarity;
+import net.minecraft.world.item.Item;
+
+public class LeftPieceOfNetherStarItem extends Item {
+ public LeftPieceOfNetherStarItem() {
+ super(new Item.Properties().stacksTo(64).rarity(Rarity.RARE));
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/item/NetheriteAppleItem.java b/src/main/java/net/mcreator/arisrandomadditions/item/NetheriteAppleItem.java
new file mode 100644
index 0000000..9bece52
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/item/NetheriteAppleItem.java
@@ -0,0 +1,51 @@
+
+package net.mcreator.arisrandomadditions.item;
+
+import net.minecraftforge.api.distmarker.OnlyIn;
+import net.minecraftforge.api.distmarker.Dist;
+
+import net.minecraft.world.level.Level;
+import net.minecraft.world.item.TooltipFlag;
+import net.minecraft.world.item.Rarity;
+import net.minecraft.world.item.ItemStack;
+import net.minecraft.world.item.Item;
+import net.minecraft.world.food.FoodProperties;
+import net.minecraft.world.entity.LivingEntity;
+import net.minecraft.network.chat.Component;
+
+import net.mcreator.arisrandomadditions.procedures.NetheriteApplePlayerFinishesUsingItemProcedure;
+
+import java.util.List;
+
+public class NetheriteAppleItem extends Item {
+ public NetheriteAppleItem() {
+ super(new Item.Properties().stacksTo(64).fireResistant().rarity(Rarity.EPIC).food((new FoodProperties.Builder()).nutrition(12).saturationMod(1.2f).alwaysEat().build()));
+ }
+
+ @Override
+ public int getUseDuration(ItemStack itemstack) {
+ return 9;
+ }
+
+ @Override
+ @OnlyIn(Dist.CLIENT)
+ public boolean isFoil(ItemStack itemstack) {
+ return true;
+ }
+
+ @Override
+ public void appendHoverText(ItemStack itemstack, Level level, List list, TooltipFlag flag) {
+ super.appendHoverText(itemstack, level, list, flag);
+ list.add(Component.translatable("item.aris_random_additions.netherite_apple.description_0"));
+ }
+
+ @Override
+ public ItemStack finishUsingItem(ItemStack itemstack, Level world, LivingEntity entity) {
+ ItemStack retval = super.finishUsingItem(itemstack, world, entity);
+ double x = entity.getX();
+ double y = entity.getY();
+ double z = entity.getZ();
+ NetheriteApplePlayerFinishesUsingItemProcedure.execute(world, entity);
+ return retval;
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/item/OrichalcumAppleItem.java b/src/main/java/net/mcreator/arisrandomadditions/item/OrichalcumAppleItem.java
index 8d49b93..7683fb9 100644
--- a/src/main/java/net/mcreator/arisrandomadditions/item/OrichalcumAppleItem.java
+++ b/src/main/java/net/mcreator/arisrandomadditions/item/OrichalcumAppleItem.java
@@ -22,6 +22,11 @@ public class OrichalcumAppleItem extends Item {
super(new Item.Properties().stacksTo(64).fireResistant().rarity(Rarity.EPIC).food((new FoodProperties.Builder()).nutrition(9).saturationMod(0.9f).alwaysEat().build()));
}
+ @Override
+ public int getUseDuration(ItemStack itemstack) {
+ return 9;
+ }
+
@Override
@OnlyIn(Dist.CLIENT)
public boolean isFoil(ItemStack itemstack) {
diff --git a/src/main/java/net/mcreator/arisrandomadditions/item/RightPieceOfNetherStarItem.java b/src/main/java/net/mcreator/arisrandomadditions/item/RightPieceOfNetherStarItem.java
new file mode 100644
index 0000000..e22cd13
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/item/RightPieceOfNetherStarItem.java
@@ -0,0 +1,11 @@
+
+package net.mcreator.arisrandomadditions.item;
+
+import net.minecraft.world.item.Rarity;
+import net.minecraft.world.item.Item;
+
+public class RightPieceOfNetherStarItem extends Item {
+ public RightPieceOfNetherStarItem() {
+ super(new Item.Properties().stacksTo(64).rarity(Rarity.RARE));
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/item/TasteTheRainbowWaterCanItem.java b/src/main/java/net/mcreator/arisrandomadditions/item/TasteTheRainbowWaterCanItem.java
new file mode 100644
index 0000000..46f1b09
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/item/TasteTheRainbowWaterCanItem.java
@@ -0,0 +1,42 @@
+
+package net.mcreator.arisrandomadditions.item;
+
+import net.minecraftforge.api.distmarker.OnlyIn;
+import net.minecraftforge.api.distmarker.Dist;
+
+import net.minecraft.world.level.Level;
+import net.minecraft.world.item.UseAnim;
+import net.minecraft.world.item.Rarity;
+import net.minecraft.world.item.ItemStack;
+import net.minecraft.world.item.Item;
+import net.minecraft.world.food.FoodProperties;
+import net.minecraft.world.entity.LivingEntity;
+
+import net.mcreator.arisrandomadditions.procedures.TasteTheRainbowWaterCanPlayerFinishesUsingItemProcedure;
+
+public class TasteTheRainbowWaterCanItem extends Item {
+ public TasteTheRainbowWaterCanItem() {
+ super(new Item.Properties().stacksTo(64).rarity(Rarity.RARE).food((new FoodProperties.Builder()).nutrition(0).saturationMod(0f).alwaysEat().build()));
+ }
+
+ @Override
+ public UseAnim getUseAnimation(ItemStack itemstack) {
+ return UseAnim.DRINK;
+ }
+
+ @Override
+ @OnlyIn(Dist.CLIENT)
+ public boolean isFoil(ItemStack itemstack) {
+ return true;
+ }
+
+ @Override
+ public ItemStack finishUsingItem(ItemStack itemstack, Level world, LivingEntity entity) {
+ ItemStack retval = super.finishUsingItem(itemstack, world, entity);
+ double x = entity.getX();
+ double y = entity.getY();
+ double z = entity.getZ();
+ TasteTheRainbowWaterCanPlayerFinishesUsingItemProcedure.execute(world, entity);
+ return retval;
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/item/TopPieceOfNetherStarItem.java b/src/main/java/net/mcreator/arisrandomadditions/item/TopPieceOfNetherStarItem.java
new file mode 100644
index 0000000..b74cef0
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/item/TopPieceOfNetherStarItem.java
@@ -0,0 +1,11 @@
+
+package net.mcreator.arisrandomadditions.item;
+
+import net.minecraft.world.item.Rarity;
+import net.minecraft.world.item.Item;
+
+public class TopPieceOfNetherStarItem extends Item {
+ public TopPieceOfNetherStarItem() {
+ super(new Item.Properties().stacksTo(64).rarity(Rarity.RARE));
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/item/TurtleAppleItem.java b/src/main/java/net/mcreator/arisrandomadditions/item/TurtleAppleItem.java
new file mode 100644
index 0000000..bd30dbd
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/item/TurtleAppleItem.java
@@ -0,0 +1,51 @@
+
+package net.mcreator.arisrandomadditions.item;
+
+import net.minecraftforge.api.distmarker.OnlyIn;
+import net.minecraftforge.api.distmarker.Dist;
+
+import net.minecraft.world.level.Level;
+import net.minecraft.world.item.TooltipFlag;
+import net.minecraft.world.item.Rarity;
+import net.minecraft.world.item.ItemStack;
+import net.minecraft.world.item.Item;
+import net.minecraft.world.food.FoodProperties;
+import net.minecraft.world.entity.LivingEntity;
+import net.minecraft.network.chat.Component;
+
+import net.mcreator.arisrandomadditions.procedures.TurtleApplePlayerFinishesUsingItemProcedure;
+
+import java.util.List;
+
+public class TurtleAppleItem extends Item {
+ public TurtleAppleItem() {
+ super(new Item.Properties().stacksTo(64).fireResistant().rarity(Rarity.EPIC).food((new FoodProperties.Builder()).nutrition(9).saturationMod(1.1f).alwaysEat().build()));
+ }
+
+ @Override
+ public int getUseDuration(ItemStack itemstack) {
+ return 9;
+ }
+
+ @Override
+ @OnlyIn(Dist.CLIENT)
+ public boolean isFoil(ItemStack itemstack) {
+ return true;
+ }
+
+ @Override
+ public void appendHoverText(ItemStack itemstack, Level level, List list, TooltipFlag flag) {
+ super.appendHoverText(itemstack, level, list, flag);
+ list.add(Component.translatable("item.aris_random_additions.turtle_apple.description_0"));
+ }
+
+ @Override
+ public ItemStack finishUsingItem(ItemStack itemstack, Level world, LivingEntity entity) {
+ ItemStack retval = super.finishUsingItem(itemstack, world, entity);
+ double x = entity.getX();
+ double y = entity.getY();
+ double z = entity.getZ();
+ TurtleApplePlayerFinishesUsingItemProcedure.execute(world, entity);
+ return retval;
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/item/VoidAppleItem.java b/src/main/java/net/mcreator/arisrandomadditions/item/VoidAppleItem.java
index 4ad6854..ec6303b 100644
--- a/src/main/java/net/mcreator/arisrandomadditions/item/VoidAppleItem.java
+++ b/src/main/java/net/mcreator/arisrandomadditions/item/VoidAppleItem.java
@@ -22,6 +22,11 @@ public class VoidAppleItem extends Item {
super(new Item.Properties().stacksTo(64).fireResistant().rarity(Rarity.EPIC).food((new FoodProperties.Builder()).nutrition(16).saturationMod(1.6f).alwaysEat().build()));
}
+ @Override
+ public int getUseDuration(ItemStack itemstack) {
+ return 9;
+ }
+
@Override
@OnlyIn(Dist.CLIENT)
public boolean isFoil(ItemStack itemstack) {
diff --git a/src/main/java/net/mcreator/arisrandomadditions/network/NetherPowerGeneratorGUIButtonMessage.java b/src/main/java/net/mcreator/arisrandomadditions/network/NetherPowerGeneratorGUIButtonMessage.java
new file mode 100644
index 0000000..c7cae27
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/network/NetherPowerGeneratorGUIButtonMessage.java
@@ -0,0 +1,80 @@
+
+package net.mcreator.arisrandomadditions.network;
+
+import net.minecraftforge.network.NetworkEvent;
+import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
+import net.minecraftforge.fml.common.Mod;
+import net.minecraftforge.eventbus.api.SubscribeEvent;
+
+import net.minecraft.world.level.Level;
+import net.minecraft.world.entity.player.Player;
+import net.minecraft.network.FriendlyByteBuf;
+import net.minecraft.core.BlockPos;
+
+import net.mcreator.arisrandomadditions.world.inventory.NetherPowerGeneratorGUIMenu;
+import net.mcreator.arisrandomadditions.procedures.NetherPowerGeneratorRefillLogicProcedure;
+import net.mcreator.arisrandomadditions.procedures.NetherPowerGeneratorDrainLogicProcedure;
+import net.mcreator.arisrandomadditions.ArisRandomAdditionsMod;
+
+import java.util.function.Supplier;
+import java.util.HashMap;
+
+@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD)
+public class NetherPowerGeneratorGUIButtonMessage {
+ private final int buttonID, x, y, z;
+
+ public NetherPowerGeneratorGUIButtonMessage(FriendlyByteBuf buffer) {
+ this.buttonID = buffer.readInt();
+ this.x = buffer.readInt();
+ this.y = buffer.readInt();
+ this.z = buffer.readInt();
+ }
+
+ public NetherPowerGeneratorGUIButtonMessage(int buttonID, int x, int y, int z) {
+ this.buttonID = buttonID;
+ this.x = x;
+ this.y = y;
+ this.z = z;
+ }
+
+ public static void buffer(NetherPowerGeneratorGUIButtonMessage message, FriendlyByteBuf buffer) {
+ buffer.writeInt(message.buttonID);
+ buffer.writeInt(message.x);
+ buffer.writeInt(message.y);
+ buffer.writeInt(message.z);
+ }
+
+ public static void handler(NetherPowerGeneratorGUIButtonMessage message, Supplier contextSupplier) {
+ NetworkEvent.Context context = contextSupplier.get();
+ context.enqueueWork(() -> {
+ Player entity = context.getSender();
+ int buttonID = message.buttonID;
+ int x = message.x;
+ int y = message.y;
+ int z = message.z;
+ handleButtonAction(entity, buttonID, x, y, z);
+ });
+ context.setPacketHandled(true);
+ }
+
+ public static void handleButtonAction(Player entity, int buttonID, int x, int y, int z) {
+ Level world = entity.level();
+ HashMap guistate = NetherPowerGeneratorGUIMenu.guistate;
+ // security measure to prevent arbitrary chunk generation
+ if (!world.hasChunkAt(new BlockPos(x, y, z)))
+ return;
+ if (buttonID == 0) {
+
+ NetherPowerGeneratorRefillLogicProcedure.execute(world, x, y, z);
+ }
+ if (buttonID == 1) {
+
+ NetherPowerGeneratorDrainLogicProcedure.execute(world, x, y, z);
+ }
+ }
+
+ @SubscribeEvent
+ public static void registerMessage(FMLCommonSetupEvent event) {
+ ArisRandomAdditionsMod.addNetworkMessage(NetherPowerGeneratorGUIButtonMessage.class, NetherPowerGeneratorGUIButtonMessage::buffer, NetherPowerGeneratorGUIButtonMessage::new, NetherPowerGeneratorGUIButtonMessage::handler);
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/network/StarAssemblyTableGUIButtonMessage.java b/src/main/java/net/mcreator/arisrandomadditions/network/StarAssemblyTableGUIButtonMessage.java
new file mode 100644
index 0000000..beb0de8
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/network/StarAssemblyTableGUIButtonMessage.java
@@ -0,0 +1,75 @@
+
+package net.mcreator.arisrandomadditions.network;
+
+import net.minecraftforge.network.NetworkEvent;
+import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
+import net.minecraftforge.fml.common.Mod;
+import net.minecraftforge.eventbus.api.SubscribeEvent;
+
+import net.minecraft.world.level.Level;
+import net.minecraft.world.entity.player.Player;
+import net.minecraft.network.FriendlyByteBuf;
+import net.minecraft.core.BlockPos;
+
+import net.mcreator.arisrandomadditions.world.inventory.StarAssemblyTableGUIMenu;
+import net.mcreator.arisrandomadditions.procedures.StarAssemblyTableAssembleLogicProcedure;
+import net.mcreator.arisrandomadditions.ArisRandomAdditionsMod;
+
+import java.util.function.Supplier;
+import java.util.HashMap;
+
+@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD)
+public class StarAssemblyTableGUIButtonMessage {
+ private final int buttonID, x, y, z;
+
+ public StarAssemblyTableGUIButtonMessage(FriendlyByteBuf buffer) {
+ this.buttonID = buffer.readInt();
+ this.x = buffer.readInt();
+ this.y = buffer.readInt();
+ this.z = buffer.readInt();
+ }
+
+ public StarAssemblyTableGUIButtonMessage(int buttonID, int x, int y, int z) {
+ this.buttonID = buttonID;
+ this.x = x;
+ this.y = y;
+ this.z = z;
+ }
+
+ public static void buffer(StarAssemblyTableGUIButtonMessage message, FriendlyByteBuf buffer) {
+ buffer.writeInt(message.buttonID);
+ buffer.writeInt(message.x);
+ buffer.writeInt(message.y);
+ buffer.writeInt(message.z);
+ }
+
+ public static void handler(StarAssemblyTableGUIButtonMessage message, Supplier contextSupplier) {
+ NetworkEvent.Context context = contextSupplier.get();
+ context.enqueueWork(() -> {
+ Player entity = context.getSender();
+ int buttonID = message.buttonID;
+ int x = message.x;
+ int y = message.y;
+ int z = message.z;
+ handleButtonAction(entity, buttonID, x, y, z);
+ });
+ context.setPacketHandled(true);
+ }
+
+ public static void handleButtonAction(Player entity, int buttonID, int x, int y, int z) {
+ Level world = entity.level();
+ HashMap guistate = StarAssemblyTableGUIMenu.guistate;
+ // security measure to prevent arbitrary chunk generation
+ if (!world.hasChunkAt(new BlockPos(x, y, z)))
+ return;
+ if (buttonID == 0) {
+
+ StarAssemblyTableAssembleLogicProcedure.execute(world, x, y, z, entity);
+ }
+ }
+
+ @SubscribeEvent
+ public static void registerMessage(FMLCommonSetupEvent event) {
+ ArisRandomAdditionsMod.addNetworkMessage(StarAssemblyTableGUIButtonMessage.class, StarAssemblyTableGUIButtonMessage::buffer, StarAssemblyTableGUIButtonMessage::new, StarAssemblyTableGUIButtonMessage::handler);
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/procedures/BedrockApplePlayerFinishesUsingItemProcedure.java b/src/main/java/net/mcreator/arisrandomadditions/procedures/BedrockApplePlayerFinishesUsingItemProcedure.java
index b3c3ed3..2557c8a 100644
--- a/src/main/java/net/mcreator/arisrandomadditions/procedures/BedrockApplePlayerFinishesUsingItemProcedure.java
+++ b/src/main/java/net/mcreator/arisrandomadditions/procedures/BedrockApplePlayerFinishesUsingItemProcedure.java
@@ -44,7 +44,7 @@ public class BedrockApplePlayerFinishesUsingItemProcedure {
_player.onUpdateAbilities();
}
if (entity instanceof Player _player && !_player.level().isClientSide())
- _player.displayClientMessage(Component.literal("\u00A78Bedrock Apple \u00A7rgranted you Creative Flight!"), false);
+ _player.displayClientMessage(Component.literal("\u00A70Bedrock Apple \u00A7rgranted you Creative Flight!"), false);
}
}
}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/procedures/BlackIronApplePlayerFinishesUsingItemProcedure.java b/src/main/java/net/mcreator/arisrandomadditions/procedures/BlackIronApplePlayerFinishesUsingItemProcedure.java
new file mode 100644
index 0000000..d120252
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/procedures/BlackIronApplePlayerFinishesUsingItemProcedure.java
@@ -0,0 +1,66 @@
+package net.mcreator.arisrandomadditions.procedures;
+
+import net.minecraft.world.scores.criteria.ObjectiveCriteria;
+import net.minecraft.world.scores.Scoreboard;
+import net.minecraft.world.scores.Objective;
+import net.minecraft.world.level.LevelAccessor;
+import net.minecraft.world.entity.player.Player;
+import net.minecraft.world.entity.ai.attributes.Attributes;
+import net.minecraft.world.entity.LivingEntity;
+import net.minecraft.world.entity.Entity;
+import net.minecraft.world.effect.MobEffects;
+import net.minecraft.world.effect.MobEffectInstance;
+import net.minecraft.network.chat.Component;
+
+public class BlackIronApplePlayerFinishesUsingItemProcedure {
+ public static void execute(LevelAccessor world, Entity entity) {
+ if (entity == null)
+ return;
+ if (!world.isClientSide()) {
+ if (entity instanceof LivingEntity _entity && !_entity.level().isClientSide())
+ _entity.addEffect(new MobEffectInstance(MobEffects.ABSORPTION, 600, 1, true, true));
+ if (entity instanceof LivingEntity _livingEntity3 && _livingEntity3.getAttributes().hasAttribute(Attributes.ARMOR))
+ _livingEntity3.getAttribute(Attributes.ARMOR)
+ .setBaseValue(((entity instanceof LivingEntity _livingEntity2 && _livingEntity2.getAttributes().hasAttribute(Attributes.ARMOR) ? _livingEntity2.getAttribute(Attributes.ARMOR).getBaseValue() : 0) + 1));
+ if (entity instanceof LivingEntity _livingEntity5 && _livingEntity5.getAttributes().hasAttribute(Attributes.ARMOR_TOUGHNESS))
+ _livingEntity5.getAttribute(Attributes.ARMOR_TOUGHNESS)
+ .setBaseValue(((entity instanceof LivingEntity _livingEntity4 && _livingEntity4.getAttributes().hasAttribute(Attributes.ARMOR_TOUGHNESS) ? _livingEntity4.getAttribute(Attributes.ARMOR_TOUGHNESS).getBaseValue() : 0) + 1));
+ {
+ Entity _ent = entity;
+ Scoreboard _sc = _ent.level().getScoreboard();
+ Objective _so = _sc.getObjective("PermanentBonusArmor");
+ if (_so == null)
+ _so = _sc.addObjective("PermanentBonusArmor", ObjectiveCriteria.DUMMY, Component.literal("PermanentBonusArmor"), ObjectiveCriteria.RenderType.INTEGER);
+ _sc.getOrCreatePlayerScore(_ent.getScoreboardName(), _so).setScore((int) (new Object() {
+ public int getScore(String score, Entity _ent) {
+ Scoreboard _sc = _ent.level().getScoreboard();
+ Objective _so = _sc.getObjective(score);
+ if (_so != null)
+ return _sc.getOrCreatePlayerScore(_ent.getScoreboardName(), _so).getScore();
+ return 0;
+ }
+ }.getScore("PermanentBonusArmor", entity) + 1));
+ }
+ {
+ Entity _ent = entity;
+ Scoreboard _sc = _ent.level().getScoreboard();
+ Objective _so = _sc.getObjective("PermanentBonusArmorToughness");
+ if (_so == null)
+ _so = _sc.addObjective("PermanentBonusArmorToughness", ObjectiveCriteria.DUMMY, Component.literal("PermanentBonusArmorToughness"), ObjectiveCriteria.RenderType.INTEGER);
+ _sc.getOrCreatePlayerScore(_ent.getScoreboardName(), _so).setScore((int) (new Object() {
+ public int getScore(String score, Entity _ent) {
+ Scoreboard _sc = _ent.level().getScoreboard();
+ Objective _so = _sc.getObjective(score);
+ if (_so != null)
+ return _sc.getOrCreatePlayerScore(_ent.getScoreboardName(), _so).getScore();
+ return 0;
+ }
+ }.getScore("PermanentBonusArmorToughness", entity) + 1));
+ }
+ if (entity instanceof Player) {
+ if (entity instanceof Player _player && !_player.level().isClientSide())
+ _player.displayClientMessage(Component.literal("\u00A78Black Iron Apple \u00A7rgranted you bonus Armor and Armor Toughenss!"), false);
+ }
+ }
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/procedures/BlazeApplePlayerFinishesUsingItemProcedure.java b/src/main/java/net/mcreator/arisrandomadditions/procedures/BlazeApplePlayerFinishesUsingItemProcedure.java
new file mode 100644
index 0000000..b0e875d
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/procedures/BlazeApplePlayerFinishesUsingItemProcedure.java
@@ -0,0 +1,37 @@
+package net.mcreator.arisrandomadditions.procedures;
+
+import net.minecraft.world.scores.criteria.ObjectiveCriteria;
+import net.minecraft.world.scores.Scoreboard;
+import net.minecraft.world.scores.Objective;
+import net.minecraft.world.level.LevelAccessor;
+import net.minecraft.world.entity.player.Player;
+import net.minecraft.world.entity.LivingEntity;
+import net.minecraft.world.entity.Entity;
+import net.minecraft.world.effect.MobEffects;
+import net.minecraft.world.effect.MobEffectInstance;
+import net.minecraft.network.chat.Component;
+
+public class BlazeApplePlayerFinishesUsingItemProcedure {
+ public static void execute(LevelAccessor world, Entity entity) {
+ if (entity == null)
+ return;
+ if (!world.isClientSide()) {
+ if (entity instanceof LivingEntity _entity && !_entity.level().isClientSide())
+ _entity.addEffect(new MobEffectInstance(MobEffects.JUMP, 900, 1, true, true));
+ if (entity instanceof LivingEntity _entity && !_entity.level().isClientSide())
+ _entity.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SPEED, 900, 1, true, true));
+ {
+ Entity _ent = entity;
+ Scoreboard _sc = _ent.level().getScoreboard();
+ Objective _so = _sc.getObjective("PermanentFireResistance");
+ if (_so == null)
+ _so = _sc.addObjective("PermanentFireResistance", ObjectiveCriteria.DUMMY, Component.literal("PermanentFireResistance"), ObjectiveCriteria.RenderType.INTEGER);
+ _sc.getOrCreatePlayerScore(_ent.getScoreboardName(), _so).setScore(1);
+ }
+ if (entity instanceof Player) {
+ if (entity instanceof Player _player && !_player.level().isClientSide())
+ _player.displayClientMessage(Component.literal("\u00A76Blaze Apple \u00A7rgranted you permanent Fire Resistance!"), false);
+ }
+ }
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/procedures/GetPermanentStatsCommandProcedureProcedure.java b/src/main/java/net/mcreator/arisrandomadditions/procedures/GetPermanentStatsCommandProcedureProcedure.java
index 3887846..a191731 100644
--- a/src/main/java/net/mcreator/arisrandomadditions/procedures/GetPermanentStatsCommandProcedureProcedure.java
+++ b/src/main/java/net/mcreator/arisrandomadditions/procedures/GetPermanentStatsCommandProcedureProcedure.java
@@ -27,7 +27,47 @@ public class GetPermanentStatsCommandProcedureProcedure {
return _sc.getOrCreatePlayerScore(_ent.getScoreboardName(), _so).getScore();
return 0;
}
- }.getScore("PermanentBonusAttackDamage", entity)) + "\n" + "Permanent Creative Flight: " + (new Object() {
+ }.getScore("PermanentBonusAttackDamage", entity)) + "\n" + "Permanent Bonus Armor: " + (new Object() {
+ public int getScore(String score, Entity _ent) {
+ Scoreboard _sc = _ent.level().getScoreboard();
+ Objective _so = _sc.getObjective(score);
+ if (_so != null)
+ return _sc.getOrCreatePlayerScore(_ent.getScoreboardName(), _so).getScore();
+ return 0;
+ }
+ }.getScore("PermanentBonusArmor", entity)) + "\n" + "Permanent Bonus Armor Toughness: " + (new Object() {
+ public int getScore(String score, Entity _ent) {
+ Scoreboard _sc = _ent.level().getScoreboard();
+ Objective _so = _sc.getObjective(score);
+ if (_so != null)
+ return _sc.getOrCreatePlayerScore(_ent.getScoreboardName(), _so).getScore();
+ return 0;
+ }
+ }.getScore("PermanentBonusArmorToughness", entity) * 0.67) + "\n" + "Permanent Bonus Knockback Resistance: " + (new Object() {
+ public int getScore(String score, Entity _ent) {
+ Scoreboard _sc = _ent.level().getScoreboard();
+ Objective _so = _sc.getObjective(score);
+ if (_so != null)
+ return _sc.getOrCreatePlayerScore(_ent.getScoreboardName(), _so).getScore();
+ return 0;
+ }
+ }.getScore("PermanentBonusKnockbackResistance", entity) * 0.05) + "\n" + "Permanent Fire Resistance: " + (new Object() {
+ public int getScore(String score, Entity _ent) {
+ Scoreboard _sc = _ent.level().getScoreboard();
+ Objective _so = _sc.getObjective(score);
+ if (_so != null)
+ return _sc.getOrCreatePlayerScore(_ent.getScoreboardName(), _so).getScore();
+ return 0;
+ }
+ }.getScore("PermanentFireResistance", entity)) + "\n" + "Permanent Water Breathing: " + (new Object() {
+ public int getScore(String score, Entity _ent) {
+ Scoreboard _sc = _ent.level().getScoreboard();
+ Objective _so = _sc.getObjective(score);
+ if (_so != null)
+ return _sc.getOrCreatePlayerScore(_ent.getScoreboardName(), _so).getScore();
+ return 0;
+ }
+ }.getScore("PermanentWaterBreathing", entity)) + "\n" + "Permanent Creative Flight: " + (new Object() {
public int getScore(String score, Entity _ent) {
Scoreboard _sc = _ent.level().getScoreboard();
Objective _so = _sc.getObjective(score);
diff --git a/src/main/java/net/mcreator/arisrandomadditions/procedures/NetherPowerGeneratorDrainLogicProcedure.java b/src/main/java/net/mcreator/arisrandomadditions/procedures/NetherPowerGeneratorDrainLogicProcedure.java
new file mode 100644
index 0000000..92d0625
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/procedures/NetherPowerGeneratorDrainLogicProcedure.java
@@ -0,0 +1,89 @@
+package net.mcreator.arisrandomadditions.procedures;
+
+import net.minecraftforge.registries.ForgeRegistries;
+import net.minecraftforge.items.IItemHandlerModifiable;
+import net.minecraftforge.fluids.capability.IFluidHandler;
+import net.minecraftforge.common.capabilities.ForgeCapabilities;
+
+import net.minecraft.world.level.block.state.properties.IntegerProperty;
+import net.minecraft.world.level.block.state.BlockState;
+import net.minecraft.world.level.block.entity.BlockEntity;
+import net.minecraft.world.level.LevelAccessor;
+import net.minecraft.world.level.Level;
+import net.minecraft.world.item.Items;
+import net.minecraft.world.item.ItemStack;
+import net.minecraft.sounds.SoundSource;
+import net.minecraft.resources.ResourceLocation;
+import net.minecraft.core.BlockPos;
+
+import net.mcreator.arisrandomadditions.init.ArisRandomAdditionsModItems;
+
+import java.util.concurrent.atomic.AtomicReference;
+import java.util.concurrent.atomic.AtomicInteger;
+
+public class NetherPowerGeneratorDrainLogicProcedure {
+ public static void execute(LevelAccessor world, double x, double y, double z) {
+ if (!world.isClientSide()) {
+ if (new Object() {
+ public boolean doesBlockHaveTank(LevelAccessor level, BlockPos pos) {
+ BlockEntity blockEntity = level.getBlockEntity(pos);
+ if (blockEntity != null) {
+ return blockEntity.getCapability(ForgeCapabilities.FLUID_HANDLER, null).isPresent();
+ }
+ return false;
+ }
+ }.doesBlockHaveTank(world, BlockPos.containing(x, y, z))) {
+ if ((new Object() {
+ public ItemStack getItemStack(LevelAccessor world, BlockPos pos, int slotid) {
+ AtomicReference _retval = new AtomicReference<>(ItemStack.EMPTY);
+ BlockEntity _ent = world.getBlockEntity(pos);
+ if (_ent != null)
+ _ent.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> _retval.set(capability.getStackInSlot(slotid).copy()));
+ return _retval.get();
+ }
+ }.getItemStack(world, BlockPos.containing(x, y, z), 0)).getItem() == Items.BUCKET) {
+ {
+ BlockEntity _ent = world.getBlockEntity(BlockPos.containing(x, y, z));
+ if (_ent != null) {
+ final int _slotid = 0;
+ final ItemStack _setstack = new ItemStack(ArisRandomAdditionsModItems.NETHERRACK_JUICE_BUCKET.get()).copy();
+ _setstack.setCount(1);
+ _ent.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> {
+ if (capability instanceof IItemHandlerModifiable)
+ ((IItemHandlerModifiable) capability).setStackInSlot(_slotid, _setstack);
+ });
+ }
+ }
+ {
+ BlockEntity _ent = world.getBlockEntity(BlockPos.containing(x, y, z));
+ int _amount = 1000;
+ if (_ent != null)
+ _ent.getCapability(ForgeCapabilities.FLUID_HANDLER, null).ifPresent(capability -> capability.drain(_amount, IFluidHandler.FluidAction.EXECUTE));
+ }
+ {
+ int _value = (int) (new Object() {
+ public int getFluidTankLevel(LevelAccessor level, BlockPos pos, int tank) {
+ AtomicInteger _retval = new AtomicInteger(0);
+ BlockEntity _ent = level.getBlockEntity(pos);
+ if (_ent != null)
+ _ent.getCapability(ForgeCapabilities.FLUID_HANDLER, null).ifPresent(capability -> _retval.set(capability.getFluidInTank(tank).getAmount()));
+ return _retval.get();
+ }
+ }.getFluidTankLevel(world, BlockPos.containing(x, y, z), 1) / 1000);
+ BlockPos _pos = BlockPos.containing(x, y, z);
+ BlockState _bs = world.getBlockState(_pos);
+ if (_bs.getBlock().getStateDefinition().getProperty("blockstate") instanceof IntegerProperty _integerProp && _integerProp.getPossibleValues().contains(_value))
+ world.setBlock(_pos, _bs.setValue(_integerProp, _value), 3);
+ }
+ if (world instanceof Level _level) {
+ if (!_level.isClientSide()) {
+ _level.playSound(null, BlockPos.containing(x, y, z), ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("item.bucket.empty")), SoundSource.BLOCKS, (float) 0.75, 1);
+ } else {
+ _level.playLocalSound(x, y, z, ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("item.bucket.empty")), SoundSource.BLOCKS, (float) 0.75, 1, false);
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/procedures/NetherPowerGeneratorFluidTankTextUpdateProcedure.java b/src/main/java/net/mcreator/arisrandomadditions/procedures/NetherPowerGeneratorFluidTankTextUpdateProcedure.java
new file mode 100644
index 0000000..eb2dd96
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/procedures/NetherPowerGeneratorFluidTankTextUpdateProcedure.java
@@ -0,0 +1,31 @@
+package net.mcreator.arisrandomadditions.procedures;
+
+import net.minecraftforge.common.capabilities.ForgeCapabilities;
+
+import net.minecraft.world.level.block.entity.BlockEntity;
+import net.minecraft.world.level.LevelAccessor;
+import net.minecraft.core.BlockPos;
+
+import java.util.concurrent.atomic.AtomicInteger;
+
+public class NetherPowerGeneratorFluidTankTextUpdateProcedure {
+ public static String execute(LevelAccessor world, double x, double y, double z) {
+ return "Fluid Tank: " + (new Object() {
+ public int getFluidTankLevel(LevelAccessor level, BlockPos pos, int tank) {
+ AtomicInteger _retval = new AtomicInteger(0);
+ BlockEntity _ent = level.getBlockEntity(pos);
+ if (_ent != null)
+ _ent.getCapability(ForgeCapabilities.FLUID_HANDLER, null).ifPresent(capability -> _retval.set(capability.getFluidInTank(tank).getAmount()));
+ return _retval.get();
+ }
+ }.getFluidTankLevel(world, BlockPos.containing(x, y, z), 1)) + "/" + (new Object() {
+ public int getFluidTankCapacity(LevelAccessor level, BlockPos pos, int tank) {
+ AtomicInteger _retval = new AtomicInteger(0);
+ BlockEntity _ent = level.getBlockEntity(pos);
+ if (_ent != null)
+ _ent.getCapability(ForgeCapabilities.FLUID_HANDLER, null).ifPresent(capability -> _retval.set(capability.getTankCapacity(tank)));
+ return _retval.get();
+ }
+ }.getFluidTankCapacity(world, BlockPos.containing(x, y, z), 1));
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/procedures/NetherPowerGeneratorOnTickUpdateProcedure.java b/src/main/java/net/mcreator/arisrandomadditions/procedures/NetherPowerGeneratorOnTickUpdateProcedure.java
new file mode 100644
index 0000000..87ab74b
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/procedures/NetherPowerGeneratorOnTickUpdateProcedure.java
@@ -0,0 +1,33 @@
+package net.mcreator.arisrandomadditions.procedures;
+
+import net.minecraftforge.common.capabilities.ForgeCapabilities;
+
+import net.minecraft.world.level.block.state.properties.IntegerProperty;
+import net.minecraft.world.level.block.state.BlockState;
+import net.minecraft.world.level.block.entity.BlockEntity;
+import net.minecraft.world.level.LevelAccessor;
+import net.minecraft.core.BlockPos;
+
+import java.util.concurrent.atomic.AtomicInteger;
+
+public class NetherPowerGeneratorOnTickUpdateProcedure {
+ public static void execute(LevelAccessor world, double x, double y, double z) {
+ if (!world.isClientSide()) {
+ {
+ int _value = (int) (new Object() {
+ public int getFluidTankLevel(LevelAccessor level, BlockPos pos, int tank) {
+ AtomicInteger _retval = new AtomicInteger(0);
+ BlockEntity _ent = level.getBlockEntity(pos);
+ if (_ent != null)
+ _ent.getCapability(ForgeCapabilities.FLUID_HANDLER, null).ifPresent(capability -> _retval.set(capability.getFluidInTank(tank).getAmount()));
+ return _retval.get();
+ }
+ }.getFluidTankLevel(world, BlockPos.containing(x, y, z), 1) / 1000);
+ BlockPos _pos = BlockPos.containing(x, y, z);
+ BlockState _bs = world.getBlockState(_pos);
+ if (_bs.getBlock().getStateDefinition().getProperty("blockstate") instanceof IntegerProperty _integerProp && _integerProp.getPossibleValues().contains(_value))
+ world.setBlock(_pos, _bs.setValue(_integerProp, _value), 3);
+ }
+ }
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/procedures/NetherPowerGeneratorRefillLogicProcedure.java b/src/main/java/net/mcreator/arisrandomadditions/procedures/NetherPowerGeneratorRefillLogicProcedure.java
new file mode 100644
index 0000000..14af37a
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/procedures/NetherPowerGeneratorRefillLogicProcedure.java
@@ -0,0 +1,91 @@
+package net.mcreator.arisrandomadditions.procedures;
+
+import net.minecraftforge.registries.ForgeRegistries;
+import net.minecraftforge.items.IItemHandlerModifiable;
+import net.minecraftforge.fluids.capability.IFluidHandler;
+import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.common.capabilities.ForgeCapabilities;
+
+import net.minecraft.world.level.block.state.properties.IntegerProperty;
+import net.minecraft.world.level.block.state.BlockState;
+import net.minecraft.world.level.block.entity.BlockEntity;
+import net.minecraft.world.level.LevelAccessor;
+import net.minecraft.world.level.Level;
+import net.minecraft.world.item.Items;
+import net.minecraft.world.item.ItemStack;
+import net.minecraft.sounds.SoundSource;
+import net.minecraft.resources.ResourceLocation;
+import net.minecraft.core.BlockPos;
+
+import net.mcreator.arisrandomadditions.init.ArisRandomAdditionsModItems;
+import net.mcreator.arisrandomadditions.init.ArisRandomAdditionsModFluids;
+
+import java.util.concurrent.atomic.AtomicReference;
+import java.util.concurrent.atomic.AtomicInteger;
+
+public class NetherPowerGeneratorRefillLogicProcedure {
+ public static void execute(LevelAccessor world, double x, double y, double z) {
+ if (!world.isClientSide()) {
+ if (new Object() {
+ public boolean doesBlockHaveTank(LevelAccessor level, BlockPos pos) {
+ BlockEntity blockEntity = level.getBlockEntity(pos);
+ if (blockEntity != null) {
+ return blockEntity.getCapability(ForgeCapabilities.FLUID_HANDLER, null).isPresent();
+ }
+ return false;
+ }
+ }.doesBlockHaveTank(world, BlockPos.containing(x, y, z))) {
+ if ((new Object() {
+ public ItemStack getItemStack(LevelAccessor world, BlockPos pos, int slotid) {
+ AtomicReference _retval = new AtomicReference<>(ItemStack.EMPTY);
+ BlockEntity _ent = world.getBlockEntity(pos);
+ if (_ent != null)
+ _ent.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> _retval.set(capability.getStackInSlot(slotid).copy()));
+ return _retval.get();
+ }
+ }.getItemStack(world, BlockPos.containing(x, y, z), 0)).getItem() == ArisRandomAdditionsModItems.NETHERRACK_JUICE_BUCKET.get()) {
+ {
+ BlockEntity _ent = world.getBlockEntity(BlockPos.containing(x, y, z));
+ if (_ent != null) {
+ final int _slotid = 0;
+ final ItemStack _setstack = new ItemStack(Items.BUCKET).copy();
+ _setstack.setCount(1);
+ _ent.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> {
+ if (capability instanceof IItemHandlerModifiable)
+ ((IItemHandlerModifiable) capability).setStackInSlot(_slotid, _setstack);
+ });
+ }
+ }
+ {
+ BlockEntity _ent = world.getBlockEntity(BlockPos.containing(x, y, z));
+ int _amount = 1000;
+ if (_ent != null)
+ _ent.getCapability(ForgeCapabilities.FLUID_HANDLER, null).ifPresent(capability -> capability.fill(new FluidStack(ArisRandomAdditionsModFluids.NETHERRACK_JUICE.get(), _amount), IFluidHandler.FluidAction.EXECUTE));
+ }
+ {
+ int _value = (int) (new Object() {
+ public int getFluidTankLevel(LevelAccessor level, BlockPos pos, int tank) {
+ AtomicInteger _retval = new AtomicInteger(0);
+ BlockEntity _ent = level.getBlockEntity(pos);
+ if (_ent != null)
+ _ent.getCapability(ForgeCapabilities.FLUID_HANDLER, null).ifPresent(capability -> _retval.set(capability.getFluidInTank(tank).getAmount()));
+ return _retval.get();
+ }
+ }.getFluidTankLevel(world, BlockPos.containing(x, y, z), 1) / 1000);
+ BlockPos _pos = BlockPos.containing(x, y, z);
+ BlockState _bs = world.getBlockState(_pos);
+ if (_bs.getBlock().getStateDefinition().getProperty("blockstate") instanceof IntegerProperty _integerProp && _integerProp.getPossibleValues().contains(_value))
+ world.setBlock(_pos, _bs.setValue(_integerProp, _value), 3);
+ }
+ if (world instanceof Level _level) {
+ if (!_level.isClientSide()) {
+ _level.playSound(null, BlockPos.containing(x, y, z), ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("item.bucket.fill")), SoundSource.BLOCKS, (float) 0.75, 1);
+ } else {
+ _level.playLocalSound(x, y, z, ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("item.bucket.fill")), SoundSource.BLOCKS, (float) 0.75, 1, false);
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/procedures/NetheriteApplePlayerFinishesUsingItemProcedure.java b/src/main/java/net/mcreator/arisrandomadditions/procedures/NetheriteApplePlayerFinishesUsingItemProcedure.java
new file mode 100644
index 0000000..3aae544
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/procedures/NetheriteApplePlayerFinishesUsingItemProcedure.java
@@ -0,0 +1,49 @@
+package net.mcreator.arisrandomadditions.procedures;
+
+import net.minecraft.world.scores.criteria.ObjectiveCriteria;
+import net.minecraft.world.scores.Scoreboard;
+import net.minecraft.world.scores.Objective;
+import net.minecraft.world.level.LevelAccessor;
+import net.minecraft.world.entity.player.Player;
+import net.minecraft.world.entity.ai.attributes.Attributes;
+import net.minecraft.world.entity.LivingEntity;
+import net.minecraft.world.entity.Entity;
+import net.minecraft.world.effect.MobEffects;
+import net.minecraft.world.effect.MobEffectInstance;
+import net.minecraft.network.chat.Component;
+
+public class NetheriteApplePlayerFinishesUsingItemProcedure {
+ public static void execute(LevelAccessor world, Entity entity) {
+ if (entity == null)
+ return;
+ if (!world.isClientSide()) {
+ if (entity instanceof LivingEntity _entity && !_entity.level().isClientSide())
+ _entity.addEffect(new MobEffectInstance(MobEffects.ABSORPTION, 1400, 1, true, true));
+ if (entity instanceof LivingEntity _entity && !_entity.level().isClientSide())
+ _entity.addEffect(new MobEffectInstance(MobEffects.SATURATION, 1400, 1, true, true));
+ if (entity instanceof LivingEntity _livingEntity4 && _livingEntity4.getAttributes().hasAttribute(Attributes.KNOCKBACK_RESISTANCE))
+ _livingEntity4.getAttribute(Attributes.KNOCKBACK_RESISTANCE).setBaseValue(
+ ((entity instanceof LivingEntity _livingEntity3 && _livingEntity3.getAttributes().hasAttribute(Attributes.KNOCKBACK_RESISTANCE) ? _livingEntity3.getAttribute(Attributes.KNOCKBACK_RESISTANCE).getBaseValue() : 0) + 0.05));
+ {
+ Entity _ent = entity;
+ Scoreboard _sc = _ent.level().getScoreboard();
+ Objective _so = _sc.getObjective("PermanentBonusKnockbackResistance");
+ if (_so == null)
+ _so = _sc.addObjective("PermanentBonusKnockbackResistance", ObjectiveCriteria.DUMMY, Component.literal("PermanentBonusKnockbackResistance"), ObjectiveCriteria.RenderType.INTEGER);
+ _sc.getOrCreatePlayerScore(_ent.getScoreboardName(), _so).setScore((int) (new Object() {
+ public int getScore(String score, Entity _ent) {
+ Scoreboard _sc = _ent.level().getScoreboard();
+ Objective _so = _sc.getObjective(score);
+ if (_so != null)
+ return _sc.getOrCreatePlayerScore(_ent.getScoreboardName(), _so).getScore();
+ return 0;
+ }
+ }.getScore("PermanentBonusKnockbackResistance", entity) + 1));
+ }
+ if (entity instanceof Player) {
+ if (entity instanceof Player _player && !_player.level().isClientSide())
+ _player.displayClientMessage(Component.literal("\u00A77Netherite Apple \u00A7rgranted you bonus Knockback Resistance!"), false);
+ }
+ }
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/procedures/PlayerRespawnUpdatePermanentAttributeModsProcedure.java b/src/main/java/net/mcreator/arisrandomadditions/procedures/PlayerRespawnUpdatePermanentAttributeModsProcedure.java
index 716c980..7a4c059 100644
--- a/src/main/java/net/mcreator/arisrandomadditions/procedures/PlayerRespawnUpdatePermanentAttributeModsProcedure.java
+++ b/src/main/java/net/mcreator/arisrandomadditions/procedures/PlayerRespawnUpdatePermanentAttributeModsProcedure.java
@@ -55,6 +55,40 @@ public class PlayerRespawnUpdatePermanentAttributeModsProcedure {
return 0;
}
}.getScore("PermanentBonusMaxHealth", entity)));
+ if (entity instanceof LivingEntity _livingEntity9 && _livingEntity9.getAttributes().hasAttribute(Attributes.ARMOR))
+ _livingEntity9.getAttribute(Attributes.ARMOR)
+ .setBaseValue(((entity instanceof LivingEntity _livingEntity7 && _livingEntity7.getAttributes().hasAttribute(Attributes.ARMOR) ? _livingEntity7.getAttribute(Attributes.ARMOR).getBaseValue() : 0) + new Object() {
+ public int getScore(String score, Entity _ent) {
+ Scoreboard _sc = _ent.level().getScoreboard();
+ Objective _so = _sc.getObjective(score);
+ if (_so != null)
+ return _sc.getOrCreatePlayerScore(_ent.getScoreboardName(), _so).getScore();
+ return 0;
+ }
+ }.getScore("PermanentBonusArmor", entity)));
+ if (entity instanceof LivingEntity _livingEntity12 && _livingEntity12.getAttributes().hasAttribute(Attributes.ARMOR_TOUGHNESS))
+ _livingEntity12.getAttribute(Attributes.ARMOR_TOUGHNESS).setBaseValue(
+ ((entity instanceof LivingEntity _livingEntity10 && _livingEntity10.getAttributes().hasAttribute(Attributes.ARMOR_TOUGHNESS) ? _livingEntity10.getAttribute(Attributes.ARMOR_TOUGHNESS).getBaseValue() : 0) + new Object() {
+ public int getScore(String score, Entity _ent) {
+ Scoreboard _sc = _ent.level().getScoreboard();
+ Objective _so = _sc.getObjective(score);
+ if (_so != null)
+ return _sc.getOrCreatePlayerScore(_ent.getScoreboardName(), _so).getScore();
+ return 0;
+ }
+ }.getScore("PermanentBonusArmorToughness", entity) * 0.67));
+ if (entity instanceof LivingEntity _livingEntity15 && _livingEntity15.getAttributes().hasAttribute(Attributes.KNOCKBACK_RESISTANCE))
+ _livingEntity15.getAttribute(Attributes.KNOCKBACK_RESISTANCE).setBaseValue(
+ ((entity instanceof LivingEntity _livingEntity13 && _livingEntity13.getAttributes().hasAttribute(Attributes.KNOCKBACK_RESISTANCE) ? _livingEntity13.getAttribute(Attributes.KNOCKBACK_RESISTANCE).getBaseValue() : 0)
+ + new Object() {
+ public int getScore(String score, Entity _ent) {
+ Scoreboard _sc = _ent.level().getScoreboard();
+ Objective _so = _sc.getObjective(score);
+ if (_so != null)
+ return _sc.getOrCreatePlayerScore(_ent.getScoreboardName(), _so).getScore();
+ return 0;
+ }
+ }.getScore("PermanentBonusKnockbackResistance", entity) * 0.05));
if (entity instanceof Player _player) {
_player.getAbilities().mayfly = (new Object() {
public int getScore(String score, Entity _ent) {
diff --git a/src/main/java/net/mcreator/arisrandomadditions/procedures/PlayerUpdateProcedure.java b/src/main/java/net/mcreator/arisrandomadditions/procedures/PlayerUpdateProcedure.java
new file mode 100644
index 0000000..545258f
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/procedures/PlayerUpdateProcedure.java
@@ -0,0 +1,61 @@
+package net.mcreator.arisrandomadditions.procedures;
+
+import net.minecraftforge.fml.common.Mod;
+import net.minecraftforge.eventbus.api.SubscribeEvent;
+import net.minecraftforge.eventbus.api.Event;
+import net.minecraftforge.event.TickEvent;
+
+import net.minecraft.world.scores.Scoreboard;
+import net.minecraft.world.scores.Objective;
+import net.minecraft.world.level.LevelAccessor;
+import net.minecraft.world.entity.LivingEntity;
+import net.minecraft.world.entity.Entity;
+import net.minecraft.world.effect.MobEffects;
+import net.minecraft.world.effect.MobEffectInstance;
+
+import javax.annotation.Nullable;
+
+@Mod.EventBusSubscriber
+public class PlayerUpdateProcedure {
+ @SubscribeEvent
+ public static void onPlayerTick(TickEvent.PlayerTickEvent event) {
+ if (event.phase == TickEvent.Phase.END) {
+ execute(event, event.player.level(), event.player);
+ }
+ }
+
+ public static void execute(LevelAccessor world, Entity entity) {
+ execute(null, world, entity);
+ }
+
+ private static void execute(@Nullable Event event, LevelAccessor world, Entity entity) {
+ if (entity == null)
+ return;
+ if (!world.isClientSide()) {
+ if (new Object() {
+ public int getScore(String score, Entity _ent) {
+ Scoreboard _sc = _ent.level().getScoreboard();
+ Objective _so = _sc.getObjective(score);
+ if (_so != null)
+ return _sc.getOrCreatePlayerScore(_ent.getScoreboardName(), _so).getScore();
+ return 0;
+ }
+ }.getScore("PermanentFireResistance", entity) == 1) {
+ if (entity instanceof LivingEntity _entity && !_entity.level().isClientSide())
+ _entity.addEffect(new MobEffectInstance(MobEffects.FIRE_RESISTANCE, 60, 0, false, false));
+ }
+ if (new Object() {
+ public int getScore(String score, Entity _ent) {
+ Scoreboard _sc = _ent.level().getScoreboard();
+ Objective _so = _sc.getObjective(score);
+ if (_so != null)
+ return _sc.getOrCreatePlayerScore(_ent.getScoreboardName(), _so).getScore();
+ return 0;
+ }
+ }.getScore("PermanentWaterBreathing", entity) == 1) {
+ if (entity instanceof LivingEntity _entity && !_entity.level().isClientSide())
+ _entity.addEffect(new MobEffectInstance(MobEffects.WATER_BREATHING, 60, 0, false, false));
+ }
+ }
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/procedures/StarAssemblyTableAssembleLogicProcedure.java b/src/main/java/net/mcreator/arisrandomadditions/procedures/StarAssemblyTableAssembleLogicProcedure.java
new file mode 100644
index 0000000..340fb26
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/procedures/StarAssemblyTableAssembleLogicProcedure.java
@@ -0,0 +1,282 @@
+package net.mcreator.arisrandomadditions.procedures;
+
+import net.minecraftforge.registries.ForgeRegistries;
+import net.minecraftforge.items.IItemHandlerModifiable;
+import net.minecraftforge.fluids.capability.IFluidHandler;
+import net.minecraftforge.common.capabilities.ForgeCapabilities;
+
+import net.minecraft.world.level.block.state.properties.IntegerProperty;
+import net.minecraft.world.level.block.state.BlockState;
+import net.minecraft.world.level.block.entity.BlockEntity;
+import net.minecraft.world.level.LevelAccessor;
+import net.minecraft.world.level.Level;
+import net.minecraft.world.item.Items;
+import net.minecraft.world.item.ItemStack;
+import net.minecraft.world.entity.player.Player;
+import net.minecraft.world.entity.Entity;
+import net.minecraft.sounds.SoundSource;
+import net.minecraft.server.level.ServerPlayer;
+import net.minecraft.server.level.ServerLevel;
+import net.minecraft.resources.ResourceLocation;
+import net.minecraft.network.chat.Component;
+import net.minecraft.core.BlockPos;
+import net.minecraft.advancements.AdvancementProgress;
+import net.minecraft.advancements.Advancement;
+
+import net.mcreator.arisrandomadditions.init.ArisRandomAdditionsModItems;
+import net.mcreator.arisrandomadditions.init.ArisRandomAdditionsModBlocks;
+
+import java.util.concurrent.atomic.AtomicReference;
+import java.util.concurrent.atomic.AtomicInteger;
+
+public class StarAssemblyTableAssembleLogicProcedure {
+ public static void execute(LevelAccessor world, double x, double y, double z, Entity entity) {
+ if (entity == null)
+ return;
+ if (!world.isClientSide()) {
+ if ((world.getBlockState(BlockPos.containing(x, y - 1, z))).getBlock() == ArisRandomAdditionsModBlocks.NETHER_POWER_GENERATOR.get()) {
+ if (new Object() {
+ public int getFluidTankLevel(LevelAccessor level, BlockPos pos, int tank) {
+ AtomicInteger _retval = new AtomicInteger(0);
+ BlockEntity _ent = level.getBlockEntity(pos);
+ if (_ent != null)
+ _ent.getCapability(ForgeCapabilities.FLUID_HANDLER, null).ifPresent(capability -> _retval.set(capability.getFluidInTank(tank).getAmount()));
+ return _retval.get();
+ }
+ }.getFluidTankLevel(world, BlockPos.containing(x, y - 1, z), 1) >= 500) {
+ if ((new Object() {
+ public ItemStack getItemStack(LevelAccessor world, BlockPos pos, int slotid) {
+ AtomicReference _retval = new AtomicReference<>(ItemStack.EMPTY);
+ BlockEntity _ent = world.getBlockEntity(pos);
+ if (_ent != null)
+ _ent.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> _retval.set(capability.getStackInSlot(slotid).copy()));
+ return _retval.get();
+ }
+ }.getItemStack(world, BlockPos.containing(x, y, z), 1)).getItem() == ArisRandomAdditionsModItems.LEFT_PIECE_OF_NETHER_STAR.get() && (new Object() {
+ public ItemStack getItemStack(LevelAccessor world, BlockPos pos, int slotid) {
+ AtomicReference _retval = new AtomicReference<>(ItemStack.EMPTY);
+ BlockEntity _ent = world.getBlockEntity(pos);
+ if (_ent != null)
+ _ent.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> _retval.set(capability.getStackInSlot(slotid).copy()));
+ return _retval.get();
+ }
+ }.getItemStack(world, BlockPos.containing(x, y, z), 2)).getItem() == ArisRandomAdditionsModItems.TOP_PIECE_OF_NETHER_STAR.get() && (new Object() {
+ public ItemStack getItemStack(LevelAccessor world, BlockPos pos, int slotid) {
+ AtomicReference _retval = new AtomicReference<>(ItemStack.EMPTY);
+ BlockEntity _ent = world.getBlockEntity(pos);
+ if (_ent != null)
+ _ent.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> _retval.set(capability.getStackInSlot(slotid).copy()));
+ return _retval.get();
+ }
+ }.getItemStack(world, BlockPos.containing(x, y, z), 3)).getItem() == ArisRandomAdditionsModItems.RIGHT_PIECE_OF_NETHER_STAR.get() && (new Object() {
+ public ItemStack getItemStack(LevelAccessor world, BlockPos pos, int slotid) {
+ AtomicReference _retval = new AtomicReference<>(ItemStack.EMPTY);
+ BlockEntity _ent = world.getBlockEntity(pos);
+ if (_ent != null)
+ _ent.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> _retval.set(capability.getStackInSlot(slotid).copy()));
+ return _retval.get();
+ }
+ }.getItemStack(world, BlockPos.containing(x, y, z), 4)).getItem() == ArisRandomAdditionsModItems.BOTTOM_PIECE_OF_NETHER_STAR.get() && ((new Object() {
+ public ItemStack getItemStack(LevelAccessor world, BlockPos pos, int slotid) {
+ AtomicReference _retval = new AtomicReference<>(ItemStack.EMPTY);
+ BlockEntity _ent = world.getBlockEntity(pos);
+ if (_ent != null)
+ _ent.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> _retval.set(capability.getStackInSlot(slotid).copy()));
+ return _retval.get();
+ }
+ }.getItemStack(world, BlockPos.containing(x, y, z), 0)).getItem() == ItemStack.EMPTY.getItem() || (new Object() {
+ public ItemStack getItemStack(LevelAccessor world, BlockPos pos, int slotid) {
+ AtomicReference _retval = new AtomicReference<>(ItemStack.EMPTY);
+ BlockEntity _ent = world.getBlockEntity(pos);
+ if (_ent != null)
+ _ent.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> _retval.set(capability.getStackInSlot(slotid).copy()));
+ return _retval.get();
+ }
+ }.getItemStack(world, BlockPos.containing(x, y, z), 0)).getItem() == Items.NETHER_STAR)) {
+ {
+ BlockEntity _ent = world.getBlockEntity(BlockPos.containing(x, y - 1, z));
+ int _amount = 500;
+ if (_ent != null)
+ _ent.getCapability(ForgeCapabilities.FLUID_HANDLER, null).ifPresent(capability -> capability.drain(_amount, IFluidHandler.FluidAction.EXECUTE));
+ }
+ {
+ int _value = (int) (new Object() {
+ public int getFluidTankLevel(LevelAccessor level, BlockPos pos, int tank) {
+ AtomicInteger _retval = new AtomicInteger(0);
+ BlockEntity _ent = level.getBlockEntity(pos);
+ if (_ent != null)
+ _ent.getCapability(ForgeCapabilities.FLUID_HANDLER, null).ifPresent(capability -> _retval.set(capability.getFluidInTank(tank).getAmount()));
+ return _retval.get();
+ }
+ }.getFluidTankLevel(world, BlockPos.containing(x, y - 1, z), 1) / 1000);
+ BlockPos _pos = BlockPos.containing(x, y - 1, z);
+ BlockState _bs = world.getBlockState(_pos);
+ if (_bs.getBlock().getStateDefinition().getProperty("blockstate") instanceof IntegerProperty _integerProp && _integerProp.getPossibleValues().contains(_value))
+ world.setBlock(_pos, _bs.setValue(_integerProp, _value), 3);
+ }
+ {
+ BlockEntity _ent = world.getBlockEntity(BlockPos.containing(x, y, z));
+ if (_ent != null) {
+ final int _slotid = 1;
+ final ItemStack _setstack = (new Object() {
+ public ItemStack getItemStack(LevelAccessor world, BlockPos pos, int slotid) {
+ AtomicReference _retval = new AtomicReference<>(ItemStack.EMPTY);
+ BlockEntity _ent = world.getBlockEntity(pos);
+ if (_ent != null)
+ _ent.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> _retval.set(capability.getStackInSlot(slotid).copy()));
+ return _retval.get();
+ }
+ }.getItemStack(world, BlockPos.containing(x, y, z), 1)).copy();
+ _setstack.setCount((int) (new Object() {
+ public int getAmount(LevelAccessor world, BlockPos pos, int slotid) {
+ AtomicInteger _retval = new AtomicInteger(0);
+ BlockEntity _ent = world.getBlockEntity(pos);
+ if (_ent != null)
+ _ent.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> _retval.set(capability.getStackInSlot(slotid).getCount()));
+ return _retval.get();
+ }
+ }.getAmount(world, BlockPos.containing(x, y, z), 1) - 1));
+ _ent.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> {
+ if (capability instanceof IItemHandlerModifiable)
+ ((IItemHandlerModifiable) capability).setStackInSlot(_slotid, _setstack);
+ });
+ }
+ }
+ {
+ BlockEntity _ent = world.getBlockEntity(BlockPos.containing(x, y, z));
+ if (_ent != null) {
+ final int _slotid = 2;
+ final ItemStack _setstack = (new Object() {
+ public ItemStack getItemStack(LevelAccessor world, BlockPos pos, int slotid) {
+ AtomicReference _retval = new AtomicReference<>(ItemStack.EMPTY);
+ BlockEntity _ent = world.getBlockEntity(pos);
+ if (_ent != null)
+ _ent.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> _retval.set(capability.getStackInSlot(slotid).copy()));
+ return _retval.get();
+ }
+ }.getItemStack(world, BlockPos.containing(x, y, z), 2)).copy();
+ _setstack.setCount((int) (new Object() {
+ public int getAmount(LevelAccessor world, BlockPos pos, int slotid) {
+ AtomicInteger _retval = new AtomicInteger(0);
+ BlockEntity _ent = world.getBlockEntity(pos);
+ if (_ent != null)
+ _ent.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> _retval.set(capability.getStackInSlot(slotid).getCount()));
+ return _retval.get();
+ }
+ }.getAmount(world, BlockPos.containing(x, y, z), 2) - 1));
+ _ent.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> {
+ if (capability instanceof IItemHandlerModifiable)
+ ((IItemHandlerModifiable) capability).setStackInSlot(_slotid, _setstack);
+ });
+ }
+ }
+ {
+ BlockEntity _ent = world.getBlockEntity(BlockPos.containing(x, y, z));
+ if (_ent != null) {
+ final int _slotid = 3;
+ final ItemStack _setstack = (new Object() {
+ public ItemStack getItemStack(LevelAccessor world, BlockPos pos, int slotid) {
+ AtomicReference _retval = new AtomicReference<>(ItemStack.EMPTY);
+ BlockEntity _ent = world.getBlockEntity(pos);
+ if (_ent != null)
+ _ent.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> _retval.set(capability.getStackInSlot(slotid).copy()));
+ return _retval.get();
+ }
+ }.getItemStack(world, BlockPos.containing(x, y, z), 3)).copy();
+ _setstack.setCount((int) (new Object() {
+ public int getAmount(LevelAccessor world, BlockPos pos, int slotid) {
+ AtomicInteger _retval = new AtomicInteger(0);
+ BlockEntity _ent = world.getBlockEntity(pos);
+ if (_ent != null)
+ _ent.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> _retval.set(capability.getStackInSlot(slotid).getCount()));
+ return _retval.get();
+ }
+ }.getAmount(world, BlockPos.containing(x, y, z), 3) - 1));
+ _ent.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> {
+ if (capability instanceof IItemHandlerModifiable)
+ ((IItemHandlerModifiable) capability).setStackInSlot(_slotid, _setstack);
+ });
+ }
+ }
+ {
+ BlockEntity _ent = world.getBlockEntity(BlockPos.containing(x, y, z));
+ if (_ent != null) {
+ final int _slotid = 4;
+ final ItemStack _setstack = (new Object() {
+ public ItemStack getItemStack(LevelAccessor world, BlockPos pos, int slotid) {
+ AtomicReference _retval = new AtomicReference<>(ItemStack.EMPTY);
+ BlockEntity _ent = world.getBlockEntity(pos);
+ if (_ent != null)
+ _ent.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> _retval.set(capability.getStackInSlot(slotid).copy()));
+ return _retval.get();
+ }
+ }.getItemStack(world, BlockPos.containing(x, y, z), 4)).copy();
+ _setstack.setCount((int) (new Object() {
+ public int getAmount(LevelAccessor world, BlockPos pos, int slotid) {
+ AtomicInteger _retval = new AtomicInteger(0);
+ BlockEntity _ent = world.getBlockEntity(pos);
+ if (_ent != null)
+ _ent.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> _retval.set(capability.getStackInSlot(slotid).getCount()));
+ return _retval.get();
+ }
+ }.getAmount(world, BlockPos.containing(x, y, z), 4) - 1));
+ _ent.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> {
+ if (capability instanceof IItemHandlerModifiable)
+ ((IItemHandlerModifiable) capability).setStackInSlot(_slotid, _setstack);
+ });
+ }
+ }
+ {
+ BlockEntity _ent = world.getBlockEntity(BlockPos.containing(x, y, z));
+ if (_ent != null) {
+ final int _slotid = 0;
+ final ItemStack _setstack = new ItemStack(Items.NETHER_STAR).copy();
+ _setstack.setCount((int) (new Object() {
+ public int getAmount(LevelAccessor world, BlockPos pos, int slotid) {
+ AtomicInteger _retval = new AtomicInteger(0);
+ BlockEntity _ent = world.getBlockEntity(pos);
+ if (_ent != null)
+ _ent.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> _retval.set(capability.getStackInSlot(slotid).getCount()));
+ return _retval.get();
+ }
+ }.getAmount(world, BlockPos.containing(x, y, z), 0) + 1));
+ _ent.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> {
+ if (capability instanceof IItemHandlerModifiable)
+ ((IItemHandlerModifiable) capability).setStackInSlot(_slotid, _setstack);
+ });
+ }
+ }
+ if (world instanceof Level _level) {
+ if (!_level.isClientSide()) {
+ _level.playSound(null, BlockPos.containing(x, y, z), ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("block.smithing_table.use")), SoundSource.BLOCKS, (float) 0.75, (float) 0.9);
+ } else {
+ _level.playLocalSound(x, y, z, ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("block.smithing_table.use")), SoundSource.BLOCKS, (float) 0.75, (float) 0.9, false);
+ }
+ }
+ if (!(entity instanceof ServerPlayer _plr35 && _plr35.level() instanceof ServerLevel
+ && _plr35.getAdvancements().getOrStartProgress(_plr35.server.getAdvancements().getAdvancement(new ResourceLocation("aris_random_additions:star_assembly_table_advancement"))).isDone())) {
+ if (entity instanceof ServerPlayer _player) {
+ Advancement _adv = _player.server.getAdvancements().getAdvancement(new ResourceLocation("aris_random_additions:star_assembly_table_advancement"));
+ AdvancementProgress _ap = _player.getAdvancements().getOrStartProgress(_adv);
+ if (!_ap.isDone()) {
+ for (String criteria : _ap.getRemainingCriteria())
+ _player.getAdvancements().award(_adv, criteria);
+ }
+ }
+ }
+ }
+ } else {
+ if (entity instanceof Player _player)
+ _player.closeContainer();
+ if (entity instanceof Player _player && !_player.level().isClientSide())
+ _player.displayClientMessage(Component.literal("\u00A7cStar Assembly Table requires at least 500mB of Netherrack Juice in the Nether Power Generator."), false);
+ }
+ } else {
+ if (entity instanceof Player _player)
+ _player.closeContainer();
+ if (entity instanceof Player _player && !_player.level().isClientSide())
+ _player.displayClientMessage(Component.literal("\u00A7cStar Assembly Table requires a Nether Power Generator directly underneath."), false);
+ }
+ }
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/procedures/TasteTheRainbowWaterCanPlayerFinishesUsingItemProcedure.java b/src/main/java/net/mcreator/arisrandomadditions/procedures/TasteTheRainbowWaterCanPlayerFinishesUsingItemProcedure.java
new file mode 100644
index 0000000..29d7296
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/procedures/TasteTheRainbowWaterCanPlayerFinishesUsingItemProcedure.java
@@ -0,0 +1,69 @@
+package net.mcreator.arisrandomadditions.procedures;
+
+import net.minecraft.world.level.LevelAccessor;
+import net.minecraft.world.level.Level;
+import net.minecraft.world.entity.LivingEntity;
+import net.minecraft.world.entity.Entity;
+import net.minecraft.world.effect.MobEffects;
+import net.minecraft.world.effect.MobEffectInstance;
+import net.minecraft.server.level.ServerPlayer;
+import net.minecraft.server.level.ServerLevel;
+import net.minecraft.resources.ResourceKey;
+import net.minecraft.network.protocol.game.ClientboundUpdateMobEffectPacket;
+import net.minecraft.network.protocol.game.ClientboundPlayerAbilitiesPacket;
+import net.minecraft.network.protocol.game.ClientboundLevelEventPacket;
+import net.minecraft.network.protocol.game.ClientboundGameEventPacket;
+import net.minecraft.core.BlockPos;
+
+import net.mcreator.arisrandomadditions.ArisRandomAdditionsMod;
+
+public class TasteTheRainbowWaterCanPlayerFinishesUsingItemProcedure {
+ public static void execute(LevelAccessor world, Entity entity) {
+ if (entity == null)
+ return;
+ if (!world.isClientSide()) {
+ if (entity instanceof LivingEntity _entity && !_entity.level().isClientSide())
+ _entity.addEffect(new MobEffectInstance(MobEffects.LEVITATION, 200, 49, false, false));
+ ArisRandomAdditionsMod.queueServerWork(entity instanceof LivingEntity _livEnt && _livEnt.hasEffect(MobEffects.LEVITATION) ? _livEnt.getEffect(MobEffects.LEVITATION).getDuration() : 0, () -> {
+ if (entity instanceof ServerPlayer _player && !_player.level().isClientSide()) {
+ ResourceKey destinationType = Level.END;
+ if (_player.level().dimension() == destinationType)
+ return;
+ ServerLevel nextLevel = _player.server.getLevel(destinationType);
+ if (nextLevel != null) {
+ _player.connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.WIN_GAME, 0));
+ _player.teleportTo(nextLevel, _player.getX(), _player.getY(), _player.getZ(), _player.getYRot(), _player.getXRot());
+ _player.connection.send(new ClientboundPlayerAbilitiesPacket(_player.getAbilities()));
+ for (MobEffectInstance _effectinstance : _player.getActiveEffects())
+ _player.connection.send(new ClientboundUpdateMobEffectPacket(_player.getId(), _effectinstance));
+ _player.connection.send(new ClientboundLevelEventPacket(1032, BlockPos.ZERO, 0, false));
+ }
+ }
+ if (entity instanceof LivingEntity _entity && !_entity.level().isClientSide())
+ _entity.addEffect(new MobEffectInstance(MobEffects.LEVITATION, 200, 49, false, false));
+ ArisRandomAdditionsMod.queueServerWork(entity instanceof LivingEntity _livEnt && _livEnt.hasEffect(MobEffects.LEVITATION) ? _livEnt.getEffect(MobEffects.LEVITATION).getDuration() : 0, () -> {
+ if (entity instanceof ServerPlayer _player && !_player.level().isClientSide()) {
+ ResourceKey destinationType = Level.OVERWORLD;
+ if (_player.level().dimension() == destinationType)
+ return;
+ ServerLevel nextLevel = _player.server.getLevel(destinationType);
+ if (nextLevel != null) {
+ _player.connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.WIN_GAME, 0));
+ _player.teleportTo(nextLevel, _player.getX(), _player.getY(), _player.getZ(), _player.getYRot(), _player.getXRot());
+ _player.connection.send(new ClientboundPlayerAbilitiesPacket(_player.getAbilities()));
+ for (MobEffectInstance _effectinstance : _player.getActiveEffects())
+ _player.connection.send(new ClientboundUpdateMobEffectPacket(_player.getId(), _effectinstance));
+ _player.connection.send(new ClientboundLevelEventPacket(1032, BlockPos.ZERO, 0, false));
+ }
+ }
+ {
+ Entity _ent = entity;
+ _ent.teleportTo(0, 256, 0);
+ if (_ent instanceof ServerPlayer _serverPlayer)
+ _serverPlayer.connection.teleport(0, 256, 0, _ent.getYRot(), _ent.getXRot());
+ }
+ });
+ });
+ }
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/procedures/TurtleApplePlayerFinishesUsingItemProcedure.java b/src/main/java/net/mcreator/arisrandomadditions/procedures/TurtleApplePlayerFinishesUsingItemProcedure.java
new file mode 100644
index 0000000..7a7670d
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/procedures/TurtleApplePlayerFinishesUsingItemProcedure.java
@@ -0,0 +1,37 @@
+package net.mcreator.arisrandomadditions.procedures;
+
+import net.minecraft.world.scores.criteria.ObjectiveCriteria;
+import net.minecraft.world.scores.Scoreboard;
+import net.minecraft.world.scores.Objective;
+import net.minecraft.world.level.LevelAccessor;
+import net.minecraft.world.entity.player.Player;
+import net.minecraft.world.entity.LivingEntity;
+import net.minecraft.world.entity.Entity;
+import net.minecraft.world.effect.MobEffects;
+import net.minecraft.world.effect.MobEffectInstance;
+import net.minecraft.network.chat.Component;
+
+public class TurtleApplePlayerFinishesUsingItemProcedure {
+ public static void execute(LevelAccessor world, Entity entity) {
+ if (entity == null)
+ return;
+ if (!world.isClientSide()) {
+ if (entity instanceof LivingEntity _entity && !_entity.level().isClientSide())
+ _entity.addEffect(new MobEffectInstance(MobEffects.JUMP, 900, 1, true, true));
+ if (entity instanceof LivingEntity _entity && !_entity.level().isClientSide())
+ _entity.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SPEED, 900, 1, true, true));
+ {
+ Entity _ent = entity;
+ Scoreboard _sc = _ent.level().getScoreboard();
+ Objective _so = _sc.getObjective("PermanentWaterBreathing");
+ if (_so == null)
+ _so = _sc.addObjective("PermanentWaterBreathing", ObjectiveCriteria.DUMMY, Component.literal("PermanentWaterBreathing"), ObjectiveCriteria.RenderType.INTEGER);
+ _sc.getOrCreatePlayerScore(_ent.getScoreboardName(), _so).setScore(1);
+ }
+ if (entity instanceof Player) {
+ if (entity instanceof Player _player && !_player.level().isClientSide())
+ _player.displayClientMessage(Component.literal("\u00A7aTurtle Apple \u00A7rgranted you permanent Water Breathing!"), false);
+ }
+ }
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/procedures/WandOfResizingRightclickedProcedure.java b/src/main/java/net/mcreator/arisrandomadditions/procedures/WandOfResizingRightclickedProcedure.java
index 176dd84..36edc0e 100644
--- a/src/main/java/net/mcreator/arisrandomadditions/procedures/WandOfResizingRightclickedProcedure.java
+++ b/src/main/java/net/mcreator/arisrandomadditions/procedures/WandOfResizingRightclickedProcedure.java
@@ -18,31 +18,33 @@ public class WandOfResizingRightclickedProcedure {
public static void execute(LevelAccessor world, double x, double y, double z, Entity entity, ItemStack itemstack) {
if (entity == null)
return;
- if (entity.isShiftKeyDown()) {
- if (ScaleTypes.HEIGHT.getScaleData(entity).getTargetScale() > 0.26 && ScaleTypes.WIDTH.getScaleData(entity).getTargetScale() > 0.26) {
- if (entity instanceof Player _player)
- _player.getCooldowns().addCooldown(itemstack.getItem(), 70);
- ScaleTypes.HEIGHT.getScaleData(entity).setTargetScale((float) ScaleOperations.SET.applyAsDouble(ScaleTypes.HEIGHT.getScaleData(entity).getTargetScale(), (ScaleTypes.HEIGHT.getScaleData(entity).getTargetScale() / 2)));
- ScaleTypes.WIDTH.getScaleData(entity).setTargetScale((float) ScaleOperations.SET.applyAsDouble(ScaleTypes.WIDTH.getScaleData(entity).getTargetScale(), (ScaleTypes.WIDTH.getScaleData(entity).getTargetScale() / 2)));
- if (world instanceof Level _level) {
- if (!_level.isClientSide()) {
- _level.playSound(null, BlockPos.containing(x, y, z), ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("block.beacon.activate")), SoundSource.BLOCKS, (float) 0.85, (float) 1.2);
- } else {
- _level.playLocalSound(x, y, z, ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("block.beacon.activate")), SoundSource.BLOCKS, (float) 0.85, (float) 1.2, false);
+ if (!world.isClientSide()) {
+ if (entity.isShiftKeyDown()) {
+ if (ScaleTypes.HEIGHT.getScaleData(entity).getTargetScale() > 0.07 && ScaleTypes.WIDTH.getScaleData(entity).getTargetScale() > 0.07) {
+ if (entity instanceof Player _player)
+ _player.getCooldowns().addCooldown(itemstack.getItem(), 55);
+ ScaleTypes.HEIGHT.getScaleData(entity).setTargetScale((float) ScaleOperations.SET.applyAsDouble(ScaleTypes.HEIGHT.getScaleData(entity).getTargetScale(), (ScaleTypes.HEIGHT.getScaleData(entity).getTargetScale() / 2)));
+ ScaleTypes.WIDTH.getScaleData(entity).setTargetScale((float) ScaleOperations.SET.applyAsDouble(ScaleTypes.WIDTH.getScaleData(entity).getTargetScale(), (ScaleTypes.WIDTH.getScaleData(entity).getTargetScale() / 2)));
+ if (world instanceof Level _level) {
+ if (!_level.isClientSide()) {
+ _level.playSound(null, BlockPos.containing(x, y, z), ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("block.beacon.activate")), SoundSource.BLOCKS, (float) 0.85, (float) 1.2);
+ } else {
+ _level.playLocalSound(x, y, z, ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("block.beacon.activate")), SoundSource.BLOCKS, (float) 0.85, (float) 1.2, false);
+ }
}
}
- }
- } else {
- if (ScaleTypes.HEIGHT.getScaleData(entity).getTargetScale() < 1.99 && ScaleTypes.WIDTH.getScaleData(entity).getTargetScale() < 1.99) {
- if (entity instanceof Player _player)
- _player.getCooldowns().addCooldown(itemstack.getItem(), 70);
- ScaleTypes.HEIGHT.getScaleData(entity).setTargetScale((float) ScaleOperations.SET.applyAsDouble(ScaleTypes.HEIGHT.getScaleData(entity).getTargetScale(), (ScaleTypes.HEIGHT.getScaleData(entity).getTargetScale() * 2)));
- ScaleTypes.WIDTH.getScaleData(entity).setTargetScale((float) ScaleOperations.SET.applyAsDouble(ScaleTypes.WIDTH.getScaleData(entity).getTargetScale(), (ScaleTypes.WIDTH.getScaleData(entity).getTargetScale() * 2)));
- if (world instanceof Level _level) {
- if (!_level.isClientSide()) {
- _level.playSound(null, BlockPos.containing(x, y, z), ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("block.beacon.activate")), SoundSource.BLOCKS, (float) 0.85, (float) 0.8);
- } else {
- _level.playLocalSound(x, y, z, ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("block.beacon.activate")), SoundSource.BLOCKS, (float) 0.85, (float) 0.8, false);
+ } else {
+ if (ScaleTypes.HEIGHT.getScaleData(entity).getTargetScale() < 3.99 && ScaleTypes.WIDTH.getScaleData(entity).getTargetScale() < 3.99) {
+ if (entity instanceof Player _player)
+ _player.getCooldowns().addCooldown(itemstack.getItem(), 55);
+ ScaleTypes.HEIGHT.getScaleData(entity).setTargetScale((float) ScaleOperations.SET.applyAsDouble(ScaleTypes.HEIGHT.getScaleData(entity).getTargetScale(), (ScaleTypes.HEIGHT.getScaleData(entity).getTargetScale() * 2)));
+ ScaleTypes.WIDTH.getScaleData(entity).setTargetScale((float) ScaleOperations.SET.applyAsDouble(ScaleTypes.WIDTH.getScaleData(entity).getTargetScale(), (ScaleTypes.WIDTH.getScaleData(entity).getTargetScale() * 2)));
+ if (world instanceof Level _level) {
+ if (!_level.isClientSide()) {
+ _level.playSound(null, BlockPos.containing(x, y, z), ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("block.beacon.activate")), SoundSource.BLOCKS, (float) 0.85, (float) 0.8);
+ } else {
+ _level.playLocalSound(x, y, z, ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("block.beacon.activate")), SoundSource.BLOCKS, (float) 0.85, (float) 0.8, false);
+ }
}
}
}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/recipes/brewing/TasteTheRainbowWaterCanRecipeBrewingRecipe.java b/src/main/java/net/mcreator/arisrandomadditions/recipes/brewing/TasteTheRainbowWaterCanRecipeBrewingRecipe.java
new file mode 100644
index 0000000..01a8ddf
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/recipes/brewing/TasteTheRainbowWaterCanRecipeBrewingRecipe.java
@@ -0,0 +1,40 @@
+
+package net.mcreator.arisrandomadditions.recipes.brewing;
+
+import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
+import net.minecraftforge.fml.common.Mod;
+import net.minecraftforge.eventbus.api.SubscribeEvent;
+import net.minecraftforge.common.brewing.IBrewingRecipe;
+import net.minecraftforge.common.brewing.BrewingRecipeRegistry;
+
+import net.minecraft.world.item.crafting.Ingredient;
+import net.minecraft.world.item.ItemStack;
+
+import net.mcreator.arisrandomadditions.init.ArisRandomAdditionsModItems;
+import net.mcreator.arisrandomadditions.init.ArisRandomAdditionsModBlocks;
+
+@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD)
+public class TasteTheRainbowWaterCanRecipeBrewingRecipe implements IBrewingRecipe {
+ @SubscribeEvent
+ public static void init(FMLCommonSetupEvent event) {
+ event.enqueueWork(() -> BrewingRecipeRegistry.addRecipe(new TasteTheRainbowWaterCanRecipeBrewingRecipe()));
+ }
+
+ @Override
+ public boolean isInput(ItemStack input) {
+ return Ingredient.of(new ItemStack(ArisRandomAdditionsModItems.SWEETENED_CARBONATED_WATER_CAN.get())).test(input);
+ }
+
+ @Override
+ public boolean isIngredient(ItemStack ingredient) {
+ return Ingredient.of(new ItemStack(ArisRandomAdditionsModBlocks.RAVE_BLOCK.get())).test(ingredient);
+ }
+
+ @Override
+ public ItemStack getOutput(ItemStack input, ItemStack ingredient) {
+ if (isInput(input) && isIngredient(ingredient)) {
+ return new ItemStack(ArisRandomAdditionsModItems.TASTE_THE_RAINBOW_WATER_CAN.get());
+ }
+ return ItemStack.EMPTY;
+ }
+}
diff --git a/src/main/java/net/mcreator/arisrandomadditions/world/inventory/NetherPowerGeneratorGUIMenu.java b/src/main/java/net/mcreator/arisrandomadditions/world/inventory/NetherPowerGeneratorGUIMenu.java
new file mode 100644
index 0000000..694b419
--- /dev/null
+++ b/src/main/java/net/mcreator/arisrandomadditions/world/inventory/NetherPowerGeneratorGUIMenu.java
@@ -0,0 +1,243 @@
+
+package net.mcreator.arisrandomadditions.world.inventory;
+
+import net.minecraftforge.items.SlotItemHandler;
+import net.minecraftforge.items.ItemStackHandler;
+import net.minecraftforge.items.IItemHandler;
+import net.minecraftforge.common.capabilities.ForgeCapabilities;
+
+import net.minecraft.world.level.block.entity.BlockEntity;
+import net.minecraft.world.level.Level;
+import net.minecraft.world.item.ItemStack;
+import net.minecraft.world.inventory.Slot;
+import net.minecraft.world.inventory.ContainerLevelAccess;
+import net.minecraft.world.inventory.AbstractContainerMenu;
+import net.minecraft.world.entity.player.Player;
+import net.minecraft.world.entity.player.Inventory;
+import net.minecraft.world.entity.Entity;
+import net.minecraft.tags.ItemTags;
+import net.minecraft.server.level.ServerPlayer;
+import net.minecraft.resources.ResourceLocation;
+import net.minecraft.network.FriendlyByteBuf;
+import net.minecraft.core.BlockPos;
+
+import net.mcreator.arisrandomadditions.init.ArisRandomAdditionsModMenus;
+
+import java.util.function.Supplier;
+import java.util.Map;
+import java.util.HashMap;
+
+public class NetherPowerGeneratorGUIMenu extends AbstractContainerMenu implements Supplier