diff --git a/CHANGELOG.md b/CHANGELOG.md index 5d96e43..75ca5de 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,11 +1,8 @@ # Changes -- Fix knapping with nether rocks -- Add recipes for nether bricks -- Add loot table to ruined portal -- Rename vanilla basalt to 'basalt columns' -- Fix a crash when it snows in the overworld -- Remove vanilla horse armor from some loot tables -- Reduce frequency of glowstone spikes -- Allow lava aqueducts to emit light -- Make hellforges add more heat at higher internal temperatures (like crucibles) \ No newline at end of file +- Add several types of mushrooms +- Add the juicer, a drinking vessel that can turn mushrooms and fruits into water. +- Allow decrafting of stone-like nether blocks +- Fix stone-like nether blocks not dropping themselves when isolated +- Fix hellforge not heating items +- Fix knapping with beneath rocks having missing textures diff --git a/build.gradle.kts b/build.gradle.kts index 06bc2b8..78dc4ac 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -17,7 +17,7 @@ val jeiVersion: String = "15.2.0.21" val patchouliVersion: String = "1.20.1-81-FORGE" val jadeVersion: String = "4614153" val topVersion: String = "4629624" -val tfcVersion: String = "5276689" +val tfcVersion: String = "5478226" val modId: String = "beneath" diff --git a/resources/assets.py b/resources/assets.py index e111cd2..a2d0ca3 100644 --- a/resources/assets.py +++ b/resources/assets.py @@ -128,7 +128,12 @@ def generate(rm: ResourceManager): rm.blockstate('soul_farmland').with_block_loot('minecraft:soul_soil').with_lang(lang('soul farmland')).with_block_model({'dirt': 'minecraft:block/soul_soil', 'top': 'beneath:block/soul_farmland'}, 'minecraft:block/template_farmland').with_tag('minecraft:mineable/shovel').with_item_model() rm.blockstate('soul_clay', variants={'up=true': {'model': 'beneath:block/soul_clay_up'}, 'up=false': {'model': 'beneath:block/soul_clay'}}).with_block_loot('1-4 minecraft:clay_ball').with_lang(lang('soul clay')).with_block_model(textures={'all': 'beneath:block/soul_clay'}).with_tag('minecraft:mineable/shovel').with_item_model() rm.block_model('soul_clay_up', textures={'end': 'minecraft:block/soul_sand', 'side': 'beneath:block/soul_clay_up'}, parent='block/cube_column') - rm.blockstate('crackrack').with_block_loot('1-4 beneath:crackrack_rock').with_lang(lang('crackrack')).with_block_model().with_tag('minecraft:mineable/pickaxe').with_tag('minecraft:base_stone_nether').with_item_model() + rm.blockstate('crackrack').with_block_loot(loot_tables.alternatives({'name': 'beneath:crackrack', 'conditions': [{'condition': 'tfc:is_isolated'}]}, '2-4 beneath:crackrack_rock')).with_lang(lang('crackrack')).with_block_model().with_tag('minecraft:mineable/pickaxe').with_tag('minecraft:base_stone_nether').with_item_model() + + for shroom in MUSHROOMS: + mushlang = '%s mushroom' % shroom.replace('fools', 'Fool\'s') + rm.blockstate('mushroom/%s' % shroom).with_block_model(parent='block/cross', textures={'cross': 'beneath:block/mushroom/%s' % shroom}).with_block_loot('beneath:food/%s' % shroom).with_tag('tfc:plants').with_tag('tfc:mineable_with_sharp_tool').with_lang(lang(mushlang)) + rm.item_model('food/%s' % shroom, 'beneath:block/mushroom/%s' % shroom).with_lang(lang(mushlang)) simple_block(rm, 'cobblerack', 'minecraft:mineable/pickaxe', 'forge:cobblestone') simple_block(rm, 'fungal_cobblerack', 'minecraft:mineable/pickaxe') diff --git a/resources/constants.py b/resources/constants.py index f02058a..7d7643b 100644 --- a/resources/constants.py +++ b/resources/constants.py @@ -87,8 +87,10 @@ class Rock(NamedTuple): NUTRIENTS = ('death', 'destruction', 'decay', 'sorrow', 'flame') SIMPLE_ITEMS = ('gold_chunk', 'cursed_hide', 'cursecoal', 'pure_death', 'pure_decay', 'pure_destruction', 'pure_sorrow', 'pure_flame', 'agonizing_fertilizer', 'crimson_straw', 'warped_straw', 'ghost_pepper', 'blackstone_brick', - 'crackrack_rock', + 'crackrack_rock', 'juicer', ) +MUSHROOMS = ('button', 'chantrelle', 'death_cap', 'destroying_angels', 'fools_funnel', 'oyster', 'parasol', 'portobello', 'shittake', 'sulfur_tuft') +POISONOUS_MUSHROOMS = ('death_cap', 'destroying_angels', 'fools_funnel', 'sulfur_tuft') ROCK_SPIKE_PARTS = ('base', 'middle', 'tip') @@ -115,6 +117,8 @@ class Rock(NamedTuple): 'beneath.nutrient.flame': 'Flame: §c%s%%', 'beneath.nutrient.sorrow': 'Sorrow: §9%s%%', 'beneath.block_entity.hellforge': 'Hellforge', + 'beneath.screen.juicer': 'Juicer', + 'item.beneath.juicer.filled': 'Juicer (%s)', 'death.attack.beneath.sulfur': '%1$s mined sulfur with an iron tool and blew themselves up.', 'death.attack.beneath.sulfur.player': '%1$s mined sulfur with an iron tool and blew themselves up while trying to escape %2$s.', **{'entity.beneath.boat.%s' % wood: lang('%s boat', wood) for wood in WOODS}, diff --git a/resources/data.py b/resources/data.py index a3d1c3e..459ef7b 100644 --- a/resources/data.py +++ b/resources/data.py @@ -17,11 +17,11 @@ def generate(rm: ResourceManager): ### LOOT ### - rm.block_loot('minecraft:netherrack', '2-4 beneath:nether_pebble') - rm.block_loot('minecraft:basalt', '2-4 tfc:rock/loose/basalt') + rm.block_loot('minecraft:netherrack', loot_tables.alternatives({'name': 'minecraft:netherrack', 'conditions': [{'condition': 'tfc:is_isolated'}]}, '2-4 beneath:nether_pebble')) + rm.block_loot('minecraft:basalt', loot_tables.alternatives({'name': 'minecraft:basalt', 'conditions': [{'condition': 'tfc:is_isolated'}]}, '2-4 tfc:rock/loose/basalt')) rm.block_loot('minecraft:gilded_blackstone', 'minecraft:blackstone', {'name': 'beneath:gold_chunk', 'conditions': [loot_tables.random_chance(0.25)]}) rm.block_loot('minecraft:gold_block', '3-6 beneath:gold_chunk') - rm.block_loot('minecraft:blackstone', '2-4 beneath:blackstone_pebble') + rm.block_loot('minecraft:blackstone', loot_tables.alternatives({'name': 'minecraft:blackstone', 'conditions': [{'condition': 'tfc:is_isolated'}]}, '2-4 beneath:blackstone_pebble')) rm.block_loot('minecraft:crimson_roots', loot_tables.alternatives({'name': 'minecraft:crimson_roots', 'conditions': [loot_tables.match_tag('forge:shears')]}, {'name': 'beneath:crimson_straw', 'conditions': [loot_tables.match_tag('tfc:sharp_tools')]}, {'name': 'beneath:seeds/crimson_roots', 'conditions': [loot_tables.random_chance(0.1)]})) rm.block_loot('minecraft:warped_roots', loot_tables.alternatives({'name': 'minecraft:warped_roots', 'conditions': [loot_tables.match_tag('forge:shears')]}, {'name': 'beneath:warped_straw', 'conditions': [loot_tables.match_tag('tfc:sharp_tools')]}, {'name': 'beneath:seeds/warped_roots', 'conditions': [loot_tables.random_chance(0.1)]})) rm.block_loot('minecraft:bone_block', '1-3 minecraft:bone_meal') @@ -227,15 +227,21 @@ def generate(rm: ResourceManager): ### BLOCK TAGS ### rm.block_tag('breaks_slowly', 'minecraft:netherrack', 'minecraft:soul_sand', 'minecraft:soul_soil', 'minecraft:magma_block', 'minecraft:warped_nylium', 'minecraft:crimson_nylium') - rm.block_tag('tfc:breaks_when_isolated', 'minecraft:basalt', 'minecraft:blackstone', 'minecraft:netherrack') + rm.block_tag('tfc:breaks_when_isolated', 'minecraft:basalt', 'minecraft:blackstone', 'minecraft:netherrack', 'beneath:crackrack') rm.block_tag('tfc:tree_grows_on', 'minecraft:netherrack', 'minecraft:warped_nylium', 'minecraft:crimson_nylium') rm.block_tag('beneath:hellforge_insulation', 'beneath:hellbricks') rm.block_tag('beneath:nether_bush_plantable_on', '#minecraft:base_stone_nether', 'minecraft:soul_soil', 'minecraft:soul_sand', 'beneath:soul_farmland', 'minecraft:crimson_nylium', 'minecraft:warped_nylium') rm.block_tag('minecraft:mineable/pickaxe', 'beneath:blackstone_aqueduct') rm.block_tag('minecraft:mineable/shovel', 'beneath:cursecoal_pile', 'beneath:hellforge') + for shroom in MUSHROOMS: + rm.block_tag('mushrooms', 'beneath:mushroom/%s' % shroom) + if shroom in POISONOUS_MUSHROOMS: + rm.block_tag('poisonous_mushrooms', 'beneath:mushroom/%s' % shroom) + ### ITEM TAGS ### rm.item_tag('sparks_on_sulfur', *['#tfc:metal_item/%s' % metal for metal in ('black_steel', 'blue_steel', 'red_steel', 'steel', 'wrought_iron', 'cast_iron')]) + rm.item_tag('usable_in_juicer', '#tfc:foods/fruits', '#beneath:mushrooms') block_and_item_tag(rm, 'tfc:rock/aqueduct', 'beneath:blackstone_aqueduct') rm.item_tag('tfc:rock_knapping', 'beneath:nether_pebble', 'beneath:blackstone_pebble') @@ -243,6 +249,11 @@ def generate(rm: ResourceManager): rm.item_tag('tfc:sedimentary_rock', 'beneath:nether_pebble') block_and_item_tag(rm, 'minecraft:stone_bricks', 'beneath:hellbricks') + for shroom in MUSHROOMS: + rm.item_tag('mushrooms', 'beneath:food/%s' % shroom) + if shroom in POISONOUS_MUSHROOMS: + rm.item_tag('poisonous_mushrooms', 'beneath:food/%s' % shroom) + ### ENTITY TAGS ### rm.entity_tag('can_be_sacrificed', 'tfc:pig', 'tfc:goat', 'tfc:sheep') @@ -252,10 +263,15 @@ def generate(rm: ResourceManager): ### FUELS ### fuel_item(rm, 'cursecoal', 'beneath:cursecoal', 1800, 1350) + for wood in WOODS: + fuel_item(rm, wood + '_log', ['beneath:wood/log/' + wood, 'beneath:wood/wood/' + wood, 'beneath:wood/stripped_wood/' + wood, 'beneath:wood/stripped_log/' + wood], 800, 1000, 0.6) ### FOODS ### food_item(rm, 'ghost_pepper', 'beneath:ghost_pepper', Category.vegetable, 4, 1, 0, 2.5, veg=1) + for shroom in MUSHROOMS: + food_item(rm, shroom, 'beneath:food/%s' % shroom, Category.vegetable, 4, 1, 2, 1.5, veg=1) + ### FERTILIZERS ### n_fertilizer(rm, 'pure_death', 'beneath:pure_death', death=0.1) n_fertilizer(rm, 'pure_decay', 'beneath:pure_decay', decay=0.1) diff --git a/resources/recipes.py b/resources/recipes.py index fed6745..2815fb0 100644 --- a/resources/recipes.py +++ b/resources/recipes.py @@ -8,10 +8,13 @@ def generate(rm: ResourceManager): ### CRAFTING RECIPES ### rm.crafting_shaped('crafting/cobblerack', ['XX', 'XX'], {'X': 'beneath:nether_pebble'}, 'beneath:cobblerack').with_advancement('beneath:nether_pebble') + rm.crafting_shapeless('crafting/cobblerack_uncraft', ('beneath:cobblerack',), '4 beneath:nether_pebble').with_advancement('beneath:cobblerack') rm.crafting_shaped('crafting/crackrack', ['XX', 'XX'], {'X': 'beneath:crackrack_rock'}, 'beneath:crackrack').with_advancement('beneath:crackrack_rock') + rm.crafting_shapeless('crafting/crackrack_uncraft', ('beneath:crackrack',), '4 beneath:crackrack_rock').with_advancement('beneath:crackrack') rm.crafting_shaped('crafting/crimson_thatch', ['XX', 'XX'], {'X': 'beneath:warped_straw'}, 'beneath:crimson_thatch').with_advancement('beneath:crimson_straw') rm.crafting_shaped('crafting/warped_thatch', ['XX', 'XX'], {'X': 'beneath:warped_straw'}, 'beneath:warped_thatch').with_advancement('beneath:warped_straw') rm.crafting_shaped('crafting/blackstone', ['XX', 'XX'], {'X': 'beneath:blackstone_pebble'}, 'minecraft:blackstone').with_advancement('beneath:blackstone_pebble') + rm.crafting_shapeless('crafting/blackstone_uncraft', ('minecraft:blackstone',), '4 beneath:blackstone_pebble').with_advancement('minecraft:blackstone') rm.crafting_shaped('crafting/blackstone_bricks', ['XMX', 'MXM', 'XMX'], {'X': 'beneath:blackstone_brick', 'M': '#tfc:mortar'}, (4, 'minecraft:polished_blackstone_bricks')).with_advancement('beneath:blackstone_brick') rm.crafting_shaped('crafting/nether_bricks', ['XMX', 'MXM', 'XMX'], {'X': 'minecraft:nether_brick', 'M': '#tfc:mortar'}, (4, 'minecraft:nether_bricks')).with_advancement('minecraft:nether_brick') damage_shapeless(rm, 'crafting/blackstone_brick', ('beneath:blackstone_pebble', '#tfc:chisels'), 'beneath:blackstone_brick').with_advancement('beneath:blackstone_pebble') @@ -23,6 +26,7 @@ def generate(rm: ResourceManager): rm.crafting_shapeless('crafting/agonizing_fertilizer', tuple('beneath:pure_%s' % n for n in NUTRIENTS), 'beneath:agonizing_fertilizer').with_advancement('beneath:pure_flame') rm.crafting_shapeless('crafting/cursed_hide_change', ('beneath:cursed_hide', 'tfc:powder/flux', 'tfc:powder/flux', 'minecraft:white_dye'), 'tfc:large_raw_hide').with_advancement('beneath:cursed_hide') rm.crafting_shapeless('crafting/hellbricks', ('minecraft:nether_bricks', 'minecraft:magma_cream'), 'beneath:hellbricks').with_advancement('minecraft:magma_cream') + damage_shapeless(rm, 'crafting/juicer', ('#forge:leather', '#forge:leather', '#forge:leather', '#tfc:knives', '#forge:rods/wooden'), 'beneath:juicer').with_advancement('#forge:leather') ### HEATING RECIPES ### metal_data = TFC_METALS['gold'] @@ -219,3 +223,26 @@ def item_stack_ingredient(data_in: Json): return {'ingredient': {'tag': item}, 'count': count} else: return {'ingredient': {'item': item}, 'count': count} + +def simple_pot_recipe(rm: ResourceManager, name_parts: utils.ResourceIdentifier, ingredients: Json, fluid: str, output_fluid: str = None, output_items: Json = None, duration: int = 2000, temp: int = 300): + rm.recipe(('pot', name_parts), 'tfc:pot', { + 'ingredients': ingredients, + 'fluid_ingredient': fluid_stack_ingredient(fluid), + 'duration': duration, + 'temperature': temp, + 'fluid_output': fluid_stack(output_fluid) if output_fluid is not None else None, + 'item_output': [utils.item_stack(item) for item in output_items] if output_items is not None else None + }) + +def fluid_ingredient(data_in: Json) -> Json: + if isinstance(data_in, dict): + return data_in + elif isinstance(data_in, List): + return [*utils.flatten_list([fluid_ingredient(e) for e in data_in])] + else: + fluid, tag, amount, _ = utils.parse_item_stack(data_in, False) + if tag: + return {'tag': fluid} + else: + return fluid + diff --git a/resources/world_gen.py b/resources/world_gen.py index 5b4bc55..4476c3f 100644 --- a/resources/world_gen.py +++ b/resources/world_gen.py @@ -24,9 +24,13 @@ def generate(rm: ResourceManager): configured_placed_feature(rm, 'burpflower', 'minecraft:simple_block', {'to_place': simple_state_provider('beneath:burpflower')}, decorate_replaceable(), decorate_would_survive('beneath:burpflower'), decorate_air()) configured_placed_feature(rm, 'burpflower_patch', 'minecraft:random_patch', random_config('beneath:burpflower', 5, 5, 1), decorate_chance(20), decorate_every_layer(1), decorate_biome()) + for shroom in MUSHROOMS: + configured_placed_feature(rm, shroom, 'minecraft:simple_block', {'to_place': simple_state_provider('beneath:mushroom/%s' % shroom)}, decorate_replaceable(), decorate_would_survive('beneath:mushroom/%s' % shroom), decorate_air()) + configured_placed_feature(rm, '%s_patch' % shroom, 'minecraft:random_patch', random_config('beneath:%s' % shroom, 5, 5, 1), decorate_chance(60), decorate_every_layer(1), decorate_biome()) + for rock, rock_data in ROCKS.items(): if rock_data.category == 'igneous_extrusive': - configured_placed_feature(rm, 'magma_' + rock, 'minecraft:ore', {'discard_chance_on_air_exposure': 0, 'size': 33, 'targets': [{'state': utils.block_state('tfc:rock/magma/%s' % rock), 'target': {'block': 'minecraft:netherrack', 'predicate_type': 'minecraft:block_match'}}]}, decorate_chance(10), decorate_count(4), decorate_square(), decorate_range(36, 27), decorate_biome()) + configured_placed_feature(rm, 'magma_' + rock, 'minecraft:ore', {'discard_chance_on_air_exposure': 0, 'size': 33, 'targets': [{'state': utils.block_state('tfc:rock/magma/%s' % rock), 'target': {'block': 'minecraft:netherrack', 'predicate_type': 'minecraft:block_match'}}]}, decorate_chance(10), decorate_count(4), decorate_square(), decorate_range(27, 36), decorate_biome()) configured_placed_feature(rm, 'tree/crimson', 'tfc:random_tree', { 'structures': ['beneath:crimson/%s' % i for i in range(1, 17)], @@ -130,15 +134,16 @@ def generate(rm: ResourceManager): 'blocks': [{'replace': ['minecraft:netherrack'], 'with': [{'weight': 1, 'block': 'beneath:crackrack'}]}] }) + rm.placed_feature_tag('mushrooms', *['beneath:%s_patch' % shr for shr in MUSHROOMS]) rm.placed_feature_tag('veins', *['beneath:vein/%s' % v for v in ('quartz', 'sylvite', 'normal_gold', 'deep_gold', 'cursecoal', 'crackrack_pipe')]) rm.placed_feature_tag('underground_decoration', '#beneath:veins', *['beneath:magma_%s' % r for r, d in ROCKS.items() if d.category == 'igneous_extrusive'], 'beneath:amethyst_geode') rm.placed_feature_tag('everywhere_but_basalt_deltas', 'beneath:nether_pebble_patch', 'beneath:blackstone_boulders', 'beneath:cobble_boulders', 'beneath:sulfur_patch') - rm.placed_feature_tag('vegetal_decoration/nether_wastes', 'beneath:nether_spikes', 'beneath:glowstone_spikes') + rm.placed_feature_tag('vegetal_decoration/nether_wastes', 'beneath:nether_spikes', 'beneath:glowstone_spikes', '#beneath:mushrooms') rm.placed_feature_tag('surface_structures/nether_wastes', 'beneath:nether_spikes', 'beneath:glowstone_spikes') - rm.placed_feature_tag('vegetal_decoration/crimson_forest', 'beneath:tree/crimson', '#beneath:everywhere_but_basalt_deltas', 'beneath:gleamflower_patch', 'beneath:burpflower_patch') - rm.placed_feature_tag('vegetal_decoration/warped_forest', 'beneath:tree/warped', '#beneath:everywhere_but_basalt_deltas', 'beneath:gleamflower_patch', 'beneath:burpflower_patch') + rm.placed_feature_tag('vegetal_decoration/crimson_forest', 'beneath:tree/crimson', '#beneath:everywhere_but_basalt_deltas', 'beneath:gleamflower_patch', 'beneath:burpflower_patch', '#beneath:mushrooms') + rm.placed_feature_tag('vegetal_decoration/warped_forest', 'beneath:tree/warped', '#beneath:everywhere_but_basalt_deltas', 'beneath:gleamflower_patch', 'beneath:burpflower_patch', '#beneath:mushrooms') rm.placed_feature_tag('surface_structures/basalt_deltas', 'beneath:delta') rm.placed_feature_tag('vegetal_decoration/basalt_deltas', 'beneath:blackstone_pebble_patch') diff --git a/src/main/java/com/eerussianguy/beneath/client/ClientModEvents.java b/src/main/java/com/eerussianguy/beneath/client/ClientModEvents.java index 4711122..3b893f9 100644 --- a/src/main/java/com/eerussianguy/beneath/client/ClientModEvents.java +++ b/src/main/java/com/eerussianguy/beneath/client/ClientModEvents.java @@ -6,6 +6,7 @@ import com.eerussianguy.beneath.client.render.BeneathSignRenderer; import com.eerussianguy.beneath.client.render.HellforgeRenderer; import com.eerussianguy.beneath.client.screen.HellforgeScreen; +import com.eerussianguy.beneath.client.screen.JuicerScreen; import com.eerussianguy.beneath.common.blockentities.BeneathBlockEntities; import com.eerussianguy.beneath.common.blocks.BeneathBlocks; import com.eerussianguy.beneath.common.blocks.Stem; @@ -61,6 +62,7 @@ private static void setup(FMLClientSetupEvent event) BeneathBlocks.WOODS.values().forEach(map -> ItemProperties.register(map.get(BARREL).get().asItem(), Helpers.identifier("sealed"), (stack, level, entity, unused) -> stack.hasTag() ? 1.0f : 0f)); MenuScreens.register(BeneathContainerTypes.HELLFORGE_CONTAINER.get(), HellforgeScreen::new); + MenuScreens.register(BeneathContainerTypes.JUICER_CONTAINER.get(), JuicerScreen::new); for (Stem stem : Stem.VALUES) { @@ -75,6 +77,7 @@ private static void setup(FMLClientSetupEvent event) Stream.of(BeneathBlocks.GLEAMFLOWER, BeneathBlocks.BURPFLOWER) .map(RegistryObject::get).forEach(b -> ItemBlockRenderTypes.setRenderLayer(b, cutout)); + BeneathBlocks.SHROOMS.values().forEach(reg -> ItemBlockRenderTypes.setRenderLayer(reg.get(), cutout)); BeneathBlocks.WOODS.values().forEach(map -> { Stream.of(SAPLING, DOOR, TRAPDOOR, FENCE, FENCE_GATE, BUTTON, PRESSURE_PLATE, SLAB, STAIRS, TWIG, BARREL, SCRIBING_TABLE, POTTED_SAPLING).forEach(type -> ItemBlockRenderTypes.setRenderLayer(map.get(type).get(), cutout)); diff --git a/src/main/java/com/eerussianguy/beneath/client/screen/JuicerScreen.java b/src/main/java/com/eerussianguy/beneath/client/screen/JuicerScreen.java new file mode 100644 index 0000000..f7b62d2 --- /dev/null +++ b/src/main/java/com/eerussianguy/beneath/client/screen/JuicerScreen.java @@ -0,0 +1,31 @@ +package com.eerussianguy.beneath.client.screen; + +import com.eerussianguy.beneath.common.container.JuicerContainer; +import com.eerussianguy.beneath.common.items.JuicerItem; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.network.chat.Component; +import net.minecraft.world.entity.player.Inventory; + +import net.dries007.tfc.client.screen.TFCContainerScreen; +import net.dries007.tfc.common.capabilities.Capabilities; +import net.dries007.tfc.util.Tooltips; + +public class JuicerScreen extends TFCContainerScreen +{ + public JuicerScreen(JuicerContainer container, Inventory playerInventory, Component name) + { + super(container, playerInventory, name, INVENTORY_1x1); + } + + @Override + protected void renderLabels(GuiGraphics graphics, int x, int y) + { + super.renderLabels(graphics, x, y); + menu.getInventory().getStackInSlot(0).getCapability(Capabilities.FLUID_ITEM).ifPresent(cap -> { + if (!cap.getFluidInTank(0).isEmpty()) + { + drawCenteredLine(graphics, Tooltips.fluidUnitsAndCapacityOf(cap.getFluidInTank(0), JuicerItem.CAPACITY), 14); + } + }); + } +} diff --git a/src/main/java/com/eerussianguy/beneath/common/blockentities/HellforgeBlockEntity.java b/src/main/java/com/eerussianguy/beneath/common/blockentities/HellforgeBlockEntity.java index c232c32..fdc8602 100644 --- a/src/main/java/com/eerussianguy/beneath/common/blockentities/HellforgeBlockEntity.java +++ b/src/main/java/com/eerussianguy/beneath/common/blockentities/HellforgeBlockEntity.java @@ -109,7 +109,7 @@ public static void serverTick(Level level, BlockPos pos, BlockState state, Hellf float itemTemp = cap.getTemperature(); if (forge.temperature > itemTemp) { - HeatCapability.addTemp(cap, 2.0F + forge.temperature * 0.0025F); + HeatCapability.addTemp(cap, forge.temperature, 2.0F + forge.temperature * 0.0025F); } }); diff --git a/src/main/java/com/eerussianguy/beneath/common/blocks/BeneathBlocks.java b/src/main/java/com/eerussianguy/beneath/common/blocks/BeneathBlocks.java index fefb98c..4a1e7ce 100644 --- a/src/main/java/com/eerussianguy/beneath/common/blocks/BeneathBlocks.java +++ b/src/main/java/com/eerussianguy/beneath/common/blocks/BeneathBlocks.java @@ -86,6 +86,7 @@ public class BeneathBlocks public static final RegistryObject GLEAMFLOWER = register("gleamflower", () -> new NFlowerBlock(ExtendedProperties.of().sound(SoundType.GRASS).instabreak().speedFactor(0.8f).noCollission().lightLevel(s -> 7))); public static final RegistryObject BURPFLOWER = register("burpflower", () -> new BurpingFlowerBlock(ExtendedProperties.of().sound(SoundType.GRASS).instabreak().speedFactor(0.8f).noCollission().randomTicks())); + public static final Map> SHROOMS = Helpers.mapOfKeys(Shroom.class, shroom -> registerNoItem("mushroom/" + shroom.getSerializedName(), () -> new NFlowerBlock(ExtendedProperties.of(Blocks.CRIMSON_FUNGUS)))); public static final Map>> WOODS = Helpers.mapOfKeys(Stem.class, wood -> Helpers.mapOfKeys(Wood.BlockType.class, type -> register(type.nameFor(wood), createWood(wood, type), type.createBlockItem(wood, new Item.Properties())) diff --git a/src/main/java/com/eerussianguy/beneath/common/blocks/Shroom.java b/src/main/java/com/eerussianguy/beneath/common/blocks/Shroom.java new file mode 100644 index 0000000..727e799 --- /dev/null +++ b/src/main/java/com/eerussianguy/beneath/common/blocks/Shroom.java @@ -0,0 +1,42 @@ +package com.eerussianguy.beneath.common.blocks; + +import java.util.Locale; +import net.minecraft.util.StringRepresentable; + +public enum Shroom implements StringRepresentable +{ + BUTTON, + CHANTRELLE, + DEATH_CAP(true), + DESTROYING_ANGELS(true), + FOOLS_FUNNEL(true), + OYSTER, + PARASOL, + PORTOBELLO, + SHITTAKE, + SULFUR_TUFT(true); + + private final String name = name().toLowerCase(Locale.ROOT); + private final boolean isPoison; + + Shroom() + { + isPoison = false; + } + + Shroom(boolean isPoison) + { + this.isPoison = isPoison; + } + + public boolean isPoison() + { + return isPoison; + } + + @Override + public String getSerializedName() + { + return name; + } +} diff --git a/src/main/java/com/eerussianguy/beneath/common/container/BeneathContainerTypes.java b/src/main/java/com/eerussianguy/beneath/common/container/BeneathContainerTypes.java index d63a346..0a75d00 100644 --- a/src/main/java/com/eerussianguy/beneath/common/container/BeneathContainerTypes.java +++ b/src/main/java/com/eerussianguy/beneath/common/container/BeneathContainerTypes.java @@ -13,6 +13,7 @@ import net.dries007.tfc.common.blockentities.InventoryBlockEntity; import net.dries007.tfc.common.container.BlockEntityContainer; +import net.dries007.tfc.common.container.ItemStackContainer; import net.dries007.tfc.util.registry.RegistrationHelpers; import static com.eerussianguy.beneath.Beneath.*; @@ -22,12 +23,18 @@ public final class BeneathContainerTypes public static final DeferredRegister> CONTAINERS = DeferredRegister.create(ForgeRegistries.MENU_TYPES, MOD_ID); public static final RegistryObject> HELLFORGE_CONTAINER = BeneathContainerTypes.registerBlock("hellforge", BeneathBlockEntities.HELLFORGE, HellforgeContainer::create); + public static final RegistryObject> JUICER_CONTAINER = registerItem("juicer", JuicerContainer::create); private static , C extends BlockEntityContainer> RegistryObject> registerBlock(String name, Supplier> type, BlockEntityContainer.Factory factory) { return RegistrationHelpers.registerBlockEntityContainer(CONTAINERS, name, type, factory); } + private static RegistryObject> registerItem(String name, ItemStackContainer.Factory factory) + { + return RegistrationHelpers.registerItemStackContainer(CONTAINERS, name, factory); + } + private static RegistryObject> register(String name, IContainerFactory factory) { return RegistrationHelpers.registerContainer(CONTAINERS, name, factory); diff --git a/src/main/java/com/eerussianguy/beneath/common/container/JuicerContainer.java b/src/main/java/com/eerussianguy/beneath/common/container/JuicerContainer.java new file mode 100644 index 0000000..7804f7f --- /dev/null +++ b/src/main/java/com/eerussianguy/beneath/common/container/JuicerContainer.java @@ -0,0 +1,94 @@ +package com.eerussianguy.beneath.common.container; + +import com.eerussianguy.beneath.common.items.BeneathItemTags; +import com.eerussianguy.beneath.common.items.JuicerItem; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.util.Mth; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.entity.player.Inventory; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.material.Fluids; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.capability.IFluidHandler; +import net.minecraftforge.items.IItemHandlerModifiable; +import net.minecraftforge.items.ItemStackHandler; + +import net.dries007.tfc.common.capabilities.Capabilities; +import net.dries007.tfc.common.capabilities.InventoryItemHandler; +import net.dries007.tfc.common.container.CallbackSlot; +import net.dries007.tfc.common.container.ISlotCallback; +import net.dries007.tfc.common.container.ItemStackContainer; +import net.dries007.tfc.util.Helpers; + +public class JuicerContainer extends ItemStackContainer implements ISlotCallback +{ + public static JuicerContainer create(ItemStack stack, InteractionHand hand, int slot, Inventory playerInv, int windowId) + { + return new JuicerContainer(windowId, playerInv, stack, hand, slot).init(playerInv); + } + + private final IItemHandlerModifiable inventory; + + public JuicerContainer(int windowId, Inventory playerInv, ItemStack stack, InteractionHand hand, int slot) + { + super(BeneathContainerTypes.JUICER_CONTAINER.get(), windowId, playerInv, stack, hand, slot); + this.inventory = new InventoryItemHandler(this, 1); + } + + @Override + public void broadcastChanges() + { + stack.getCapability(Capabilities.FLUID_ITEM).ifPresent(cap -> { + final ItemStack stack = inventory.getStackInSlot(0); + if (!stack.isEmpty() && cap.getFluidInTank(0).getAmount() < JuicerItem.CAPACITY) + { + final int filled = cap.fill(new FluidStack(Fluids.WATER, stack.getCount() * 50), IFluidHandler.FluidAction.EXECUTE); + stack.shrink(Mth.ceil(filled / 50f)); + player.playSound(SoundEvents.BUCKET_EMPTY); + } + }); + super.broadcastChanges(); + } + + @Override + protected boolean moveStack(ItemStack stack, int slotIndex) + { + return switch (typeOf(slotIndex)) + { + case MAIN_INVENTORY, HOTBAR -> !moveItemStackTo(stack, 0, 1, false); + case CONTAINER -> !moveItemStackTo(stack, containerSlots, slots.size(), false); + }; + } + + @Override + public void removed(Player player) + { + if (!player.level().isClientSide()) + { + final ItemStack stack = inventory.getStackInSlot(0); + if (!stack.isEmpty()) + { + giveItemStackToPlayerOrDrop(player, stack); + } + } + super.removed(player); + } + + @Override + protected void addContainerSlots() + { + addSlot(new CallbackSlot(this, inventory, 0, 80, 34)); + } + + @Override + public boolean isItemValid(int slot, ItemStack stack) + { + return Helpers.isItem(stack, BeneathItemTags.USABLE_IN_JUICER); + } + + public IItemHandlerModifiable getInventory() + { + return inventory; + } +} diff --git a/src/main/java/com/eerussianguy/beneath/common/items/BeneathItemTags.java b/src/main/java/com/eerussianguy/beneath/common/items/BeneathItemTags.java index b0a2027..7b47f52 100644 --- a/src/main/java/com/eerussianguy/beneath/common/items/BeneathItemTags.java +++ b/src/main/java/com/eerussianguy/beneath/common/items/BeneathItemTags.java @@ -9,6 +9,7 @@ public class BeneathItemTags { public static final TagKey SPARKS_ON_SULFUR = create("sparks_on_sulfur"); + public static final TagKey USABLE_IN_JUICER = create("usable_in_juicer"); private static TagKey create(String id) { diff --git a/src/main/java/com/eerussianguy/beneath/common/items/BeneathItems.java b/src/main/java/com/eerussianguy/beneath/common/items/BeneathItems.java index 9a36dfa..a5e40b9 100644 --- a/src/main/java/com/eerussianguy/beneath/common/items/BeneathItems.java +++ b/src/main/java/com/eerussianguy/beneath/common/items/BeneathItems.java @@ -7,9 +7,12 @@ import com.eerussianguy.beneath.common.blockentities.SoulFarmlandBlockEntity; import com.eerussianguy.beneath.common.blocks.BeneathBlocks; import com.eerussianguy.beneath.common.blocks.NCrop; +import com.eerussianguy.beneath.common.blocks.Shroom; import com.eerussianguy.beneath.common.blocks.Stem; import com.eerussianguy.beneath.common.entities.BeneathEntities; import net.minecraft.core.Direction; +import net.minecraft.world.effect.MobEffectInstance; +import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.Mob; import net.minecraft.world.food.FoodProperties; @@ -43,8 +46,10 @@ public class BeneathItems public static final RegistryObject CURSED_HIDE = register("cursed_hide"); public static final RegistryObject GOLD_CHUNK = register("gold_chunk"); public static final RegistryObject GHOST_PEPPER = register("ghost_pepper", () -> new Item(food())); + public static final RegistryObject JUICER = register("juicer", () -> new JuicerItem(new Item.Properties().stacksTo(1))); public static final RegistryObject WARPED_STRAW = register("warped_straw"); + public static final Map> SHROOMS = Helpers.mapOfKeys(Shroom.class, shroom -> register("food/" + shroom.getSerializedName(), () -> new Item(new Item.Properties().food(getPoisonProperties(shroom.isPoison()))))); public static final Map> LUMBER = Helpers.mapOfKeys(Stem.class, wood -> register("wood/lumber/" + wood.name())); public static final Map> SUPPORTS = Helpers.mapOfKeys(Stem.class, wood -> register("wood/support/" + wood.name(), () -> new StandingAndWallBlockItem(BeneathBlocks.WOODS.get(wood).get(Wood.BlockType.VERTICAL_SUPPORT).get(), BeneathBlocks.WOODS.get(wood).get(Wood.BlockType.HORIZONTAL_SUPPORT).get(), new Item.Properties(), Direction.DOWN)) @@ -72,6 +77,13 @@ public static Item.Properties food() return new Item.Properties().food(getFoodProperties()); } + public static FoodProperties getPoisonProperties(boolean poison) + { + if (!poison) + return getFoodProperties(); + return new FoodProperties.Builder().effect(() -> new MobEffectInstance(MobEffects.POISON, 1200, 1), 1.0F).build(); + } + public static FoodProperties getFoodProperties() { return getFoodProperties(false, false); diff --git a/src/main/java/com/eerussianguy/beneath/common/items/JuicerItem.java b/src/main/java/com/eerussianguy/beneath/common/items/JuicerItem.java new file mode 100644 index 0000000..ef32222 --- /dev/null +++ b/src/main/java/com/eerussianguy/beneath/common/items/JuicerItem.java @@ -0,0 +1,61 @@ +package com.eerussianguy.beneath.common.items; + +import java.util.List; +import com.eerussianguy.beneath.common.container.JuicerContainer; +import net.minecraft.network.chat.Component; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResultHolder; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.level.Level; +import org.jetbrains.annotations.Nullable; + +import net.dries007.tfc.common.TFCTags; +import net.dries007.tfc.common.capabilities.Capabilities; +import net.dries007.tfc.common.container.ItemStackContainerProvider; +import net.dries007.tfc.common.items.JugItem; +import net.dries007.tfc.util.Tooltips; + +public class JuicerItem extends JugItem +{ + public static final int CAPACITY = 250; + + public JuicerItem(Properties properties) + { + super(properties, () -> CAPACITY, TFCTags.Fluids.USABLE_IN_JUG); + } + + @Override + public void appendHoverText(ItemStack stack, @Nullable Level level, List tooltips, TooltipFlag isAdvanced) + { + stack.getCapability(Capabilities.FLUID_ITEM).ifPresent(cap -> { + if (!cap.getFluidInTank(0).isEmpty()) + { + tooltips.add(Tooltips.fluidUnitsAndCapacityOf(cap.getFluidInTank(0), CAPACITY)); + } + }); + } + + @Override + public InteractionResultHolder use(Level level, Player player, InteractionHand hand) + { + final ItemStack stack = player.getItemInHand(hand); + if (!hasFluid(stack)) + { + if (player instanceof ServerPlayer serverPlayer) + { + final var provider = new ItemStackContainerProvider(JuicerContainer::create); + provider.openScreen(serverPlayer, hand); + } + return InteractionResultHolder.success(stack); + } + return super.use(level, player, hand); + } + + private boolean hasFluid(ItemStack stack) + { + return stack.getCapability(Capabilities.FLUID_ITEM).map(cap -> !cap.getFluidInTank(0).isEmpty()).orElse(false); + } +} diff --git a/src/main/java/com/eerussianguy/beneath/common/items/package-info.java b/src/main/java/com/eerussianguy/beneath/common/items/package-info.java new file mode 100644 index 0000000..95f6915 --- /dev/null +++ b/src/main/java/com/eerussianguy/beneath/common/items/package-info.java @@ -0,0 +1,8 @@ +@ParametersAreNonnullByDefault +@MethodsReturnNonnullByDefault +@FieldsAreNonnullByDefault +package com.eerussianguy.beneath.common.items; + +import javax.annotation.ParametersAreNonnullByDefault; +import net.minecraft.FieldsAreNonnullByDefault; +import net.minecraft.MethodsReturnNonnullByDefault; diff --git a/src/main/java/com/eerussianguy/beneath/misc/BeneathCreativeTabs.java b/src/main/java/com/eerussianguy/beneath/misc/BeneathCreativeTabs.java index e599efb..a1b1f53 100644 --- a/src/main/java/com/eerussianguy/beneath/misc/BeneathCreativeTabs.java +++ b/src/main/java/com/eerussianguy/beneath/misc/BeneathCreativeTabs.java @@ -43,9 +43,11 @@ private static void fillTab(CreativeModeTab.ItemDisplayParameters parameters, Cr accept(out, BeneathItems.CURSECOAL); accept(out, BeneathItems.RED_ELK_EGG); accept(out, BeneathItems.GHOST_PEPPER); + BeneathItems.SHROOMS.values().forEach(shroom -> accept(out, shroom)); BeneathItems.SEEDS.values().forEach(seed -> accept(out, seed)); accept(out, BeneathItems.AGONIZING_FERTILIZER); BeneathItems.PURE_NUTRIENTS.values().forEach(fertilizer -> accept(out, fertilizer)); + accept(out, BeneathItems.JUICER); accept(out, BeneathBlocks.HAUNTED_SPIKE); accept(out, BeneathBlocks.GLOWSTONE_SPIKE); accept(out, BeneathBlocks.NETHER_PEBBLE); diff --git a/src/main/resources/assets/beneath/blockstates/mushroom/button.json b/src/main/resources/assets/beneath/blockstates/mushroom/button.json new file mode 100644 index 0000000..6762cfd --- /dev/null +++ b/src/main/resources/assets/beneath/blockstates/mushroom/button.json @@ -0,0 +1,8 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "variants": { + "": { + "model": "beneath:block/mushroom/button" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/beneath/blockstates/mushroom/chantrelle.json b/src/main/resources/assets/beneath/blockstates/mushroom/chantrelle.json new file mode 100644 index 0000000..2978500 --- /dev/null +++ b/src/main/resources/assets/beneath/blockstates/mushroom/chantrelle.json @@ -0,0 +1,8 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "variants": { + "": { + "model": "beneath:block/mushroom/chantrelle" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/beneath/blockstates/mushroom/death_cap.json b/src/main/resources/assets/beneath/blockstates/mushroom/death_cap.json new file mode 100644 index 0000000..c9b101e --- /dev/null +++ b/src/main/resources/assets/beneath/blockstates/mushroom/death_cap.json @@ -0,0 +1,8 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "variants": { + "": { + "model": "beneath:block/mushroom/death_cap" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/beneath/blockstates/mushroom/destroying_angels.json b/src/main/resources/assets/beneath/blockstates/mushroom/destroying_angels.json new file mode 100644 index 0000000..108977d --- /dev/null +++ b/src/main/resources/assets/beneath/blockstates/mushroom/destroying_angels.json @@ -0,0 +1,8 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "variants": { + "": { + "model": "beneath:block/mushroom/destroying_angels" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/beneath/blockstates/mushroom/fools_funnel.json b/src/main/resources/assets/beneath/blockstates/mushroom/fools_funnel.json new file mode 100644 index 0000000..92ca907 --- /dev/null +++ b/src/main/resources/assets/beneath/blockstates/mushroom/fools_funnel.json @@ -0,0 +1,8 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "variants": { + "": { + "model": "beneath:block/mushroom/fools_funnel" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/beneath/blockstates/mushroom/oyster.json b/src/main/resources/assets/beneath/blockstates/mushroom/oyster.json new file mode 100644 index 0000000..0a2729d --- /dev/null +++ b/src/main/resources/assets/beneath/blockstates/mushroom/oyster.json @@ -0,0 +1,8 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "variants": { + "": { + "model": "beneath:block/mushroom/oyster" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/beneath/blockstates/mushroom/parasol.json b/src/main/resources/assets/beneath/blockstates/mushroom/parasol.json new file mode 100644 index 0000000..6eff648 --- /dev/null +++ b/src/main/resources/assets/beneath/blockstates/mushroom/parasol.json @@ -0,0 +1,8 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "variants": { + "": { + "model": "beneath:block/mushroom/parasol" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/beneath/blockstates/mushroom/portobello.json b/src/main/resources/assets/beneath/blockstates/mushroom/portobello.json new file mode 100644 index 0000000..b1aa54d --- /dev/null +++ b/src/main/resources/assets/beneath/blockstates/mushroom/portobello.json @@ -0,0 +1,8 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "variants": { + "": { + "model": "beneath:block/mushroom/portobello" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/beneath/blockstates/mushroom/shittake.json b/src/main/resources/assets/beneath/blockstates/mushroom/shittake.json new file mode 100644 index 0000000..cc50b25 --- /dev/null +++ b/src/main/resources/assets/beneath/blockstates/mushroom/shittake.json @@ -0,0 +1,8 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "variants": { + "": { + "model": "beneath:block/mushroom/shittake" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/beneath/blockstates/mushroom/sulfur_tuft.json b/src/main/resources/assets/beneath/blockstates/mushroom/sulfur_tuft.json new file mode 100644 index 0000000..1ddd139 --- /dev/null +++ b/src/main/resources/assets/beneath/blockstates/mushroom/sulfur_tuft.json @@ -0,0 +1,8 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "variants": { + "": { + "model": "beneath:block/mushroom/sulfur_tuft" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/beneath/lang/en_us.json b/src/main/resources/assets/beneath/lang/en_us.json index faff480..23cf5b0 100644 --- a/src/main/resources/assets/beneath/lang/en_us.json +++ b/src/main/resources/assets/beneath/lang/en_us.json @@ -158,6 +158,8 @@ "beneath.nutrient.flame": "Flame: §c%s%%", "beneath.nutrient.sorrow": "Sorrow: §9%s%%", "beneath.block_entity.hellforge": "Hellforge", + "beneath.screen.juicer": "Juicer", + "item.beneath.juicer.filled": "Juicer (%s)", "death.attack.beneath.sulfur": "%1$s mined sulfur with an iron tool and blew themselves up.", "death.attack.beneath.sulfur.player": "%1$s mined sulfur with an iron tool and blew themselves up while trying to escape %2$s.", "entity.beneath.boat.crimson": "Crimson Boat", @@ -178,6 +180,7 @@ "item.beneath.ghost_pepper": "Ghost Pepper", "item.beneath.blackstone_brick": "Blackstone Brick", "item.beneath.crackrack_rock": "Crackrack Rock", + "item.beneath.juicer": "Juicer", "item.beneath.spawn_egg.red_elk": "Red Elk Spawn Egg", "block.beneath.ore.poor_nether_gold": "Poor Nether Gold Ore", "block.beneath.ore.poor_nether_gold.prospected": "Nether Gold", @@ -216,6 +219,26 @@ "block.beneath.soul_farmland": "Soul Farmland", "block.beneath.soul_clay": "Soul Clay", "block.beneath.crackrack": "Crackrack", + "block.beneath.mushroom.button": "Button Mushroom", + "item.beneath.food.button": "Button Mushroom", + "block.beneath.mushroom.chantrelle": "Chantrelle Mushroom", + "item.beneath.food.chantrelle": "Chantrelle Mushroom", + "block.beneath.mushroom.death_cap": "Death Cap Mushroom", + "item.beneath.food.death_cap": "Death Cap Mushroom", + "block.beneath.mushroom.destroying_angels": "Destroying Angels Mushroom", + "item.beneath.food.destroying_angels": "Destroying Angels Mushroom", + "block.beneath.mushroom.fools_funnel": "Fool'S Funnel Mushroom", + "item.beneath.food.fools_funnel": "Fool'S Funnel Mushroom", + "block.beneath.mushroom.oyster": "Oyster Mushroom", + "item.beneath.food.oyster": "Oyster Mushroom", + "block.beneath.mushroom.parasol": "Parasol Mushroom", + "item.beneath.food.parasol": "Parasol Mushroom", + "block.beneath.mushroom.portobello": "Portobello Mushroom", + "item.beneath.food.portobello": "Portobello Mushroom", + "block.beneath.mushroom.shittake": "Shittake Mushroom", + "item.beneath.food.shittake": "Shittake Mushroom", + "block.beneath.mushroom.sulfur_tuft": "Sulfur Tuft Mushroom", + "item.beneath.food.sulfur_tuft": "Sulfur Tuft Mushroom", "block.beneath.cobblerack": "Cobblerack", "block.beneath.fungal_cobblerack": "Fungal Cobblerack", "block.beneath.warped_thatch": "Warped Thatch", diff --git a/src/main/resources/assets/beneath/models/block/mushroom/button.json b/src/main/resources/assets/beneath/models/block/mushroom/button.json new file mode 100644 index 0000000..fd6c0cc --- /dev/null +++ b/src/main/resources/assets/beneath/models/block/mushroom/button.json @@ -0,0 +1,7 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "parent": "block/cross", + "textures": { + "cross": "beneath:block/mushroom/button" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/beneath/models/block/mushroom/chantrelle.json b/src/main/resources/assets/beneath/models/block/mushroom/chantrelle.json new file mode 100644 index 0000000..ad993d3 --- /dev/null +++ b/src/main/resources/assets/beneath/models/block/mushroom/chantrelle.json @@ -0,0 +1,7 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "parent": "block/cross", + "textures": { + "cross": "beneath:block/mushroom/chantrelle" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/beneath/models/block/mushroom/death_cap.json b/src/main/resources/assets/beneath/models/block/mushroom/death_cap.json new file mode 100644 index 0000000..8fd346b --- /dev/null +++ b/src/main/resources/assets/beneath/models/block/mushroom/death_cap.json @@ -0,0 +1,7 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "parent": "block/cross", + "textures": { + "cross": "beneath:block/mushroom/death_cap" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/beneath/models/block/mushroom/destroying_angels.json b/src/main/resources/assets/beneath/models/block/mushroom/destroying_angels.json new file mode 100644 index 0000000..630473e --- /dev/null +++ b/src/main/resources/assets/beneath/models/block/mushroom/destroying_angels.json @@ -0,0 +1,7 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "parent": "block/cross", + "textures": { + "cross": "beneath:block/mushroom/destroying_angels" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/beneath/models/block/mushroom/fools_funnel.json b/src/main/resources/assets/beneath/models/block/mushroom/fools_funnel.json new file mode 100644 index 0000000..ba2c725 --- /dev/null +++ b/src/main/resources/assets/beneath/models/block/mushroom/fools_funnel.json @@ -0,0 +1,7 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "parent": "block/cross", + "textures": { + "cross": "beneath:block/mushroom/fools_funnel" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/beneath/models/block/mushroom/oyster.json b/src/main/resources/assets/beneath/models/block/mushroom/oyster.json new file mode 100644 index 0000000..2fc784a --- /dev/null +++ b/src/main/resources/assets/beneath/models/block/mushroom/oyster.json @@ -0,0 +1,7 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "parent": "block/cross", + "textures": { + "cross": "beneath:block/mushroom/oyster" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/beneath/models/block/mushroom/parasol.json b/src/main/resources/assets/beneath/models/block/mushroom/parasol.json new file mode 100644 index 0000000..ec28b76 --- /dev/null +++ b/src/main/resources/assets/beneath/models/block/mushroom/parasol.json @@ -0,0 +1,7 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "parent": "block/cross", + "textures": { + "cross": "beneath:block/mushroom/parasol" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/beneath/models/block/mushroom/portobello.json b/src/main/resources/assets/beneath/models/block/mushroom/portobello.json new file mode 100644 index 0000000..6801b78 --- /dev/null +++ b/src/main/resources/assets/beneath/models/block/mushroom/portobello.json @@ -0,0 +1,7 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "parent": "block/cross", + "textures": { + "cross": "beneath:block/mushroom/portobello" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/beneath/models/block/mushroom/shittake.json b/src/main/resources/assets/beneath/models/block/mushroom/shittake.json new file mode 100644 index 0000000..9515855 --- /dev/null +++ b/src/main/resources/assets/beneath/models/block/mushroom/shittake.json @@ -0,0 +1,7 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "parent": "block/cross", + "textures": { + "cross": "beneath:block/mushroom/shittake" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/beneath/models/block/mushroom/sulfur_tuft.json b/src/main/resources/assets/beneath/models/block/mushroom/sulfur_tuft.json new file mode 100644 index 0000000..f7f1354 --- /dev/null +++ b/src/main/resources/assets/beneath/models/block/mushroom/sulfur_tuft.json @@ -0,0 +1,7 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "parent": "block/cross", + "textures": { + "cross": "beneath:block/mushroom/sulfur_tuft" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/beneath/models/item/food/button.json b/src/main/resources/assets/beneath/models/item/food/button.json new file mode 100644 index 0000000..baa9bb4 --- /dev/null +++ b/src/main/resources/assets/beneath/models/item/food/button.json @@ -0,0 +1,7 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "parent": "item/generated", + "textures": { + "layer0": "beneath:block/mushroom/button" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/beneath/models/item/food/chantrelle.json b/src/main/resources/assets/beneath/models/item/food/chantrelle.json new file mode 100644 index 0000000..6731ebd --- /dev/null +++ b/src/main/resources/assets/beneath/models/item/food/chantrelle.json @@ -0,0 +1,7 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "parent": "item/generated", + "textures": { + "layer0": "beneath:block/mushroom/chantrelle" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/beneath/models/item/food/death_cap.json b/src/main/resources/assets/beneath/models/item/food/death_cap.json new file mode 100644 index 0000000..8749bf1 --- /dev/null +++ b/src/main/resources/assets/beneath/models/item/food/death_cap.json @@ -0,0 +1,7 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "parent": "item/generated", + "textures": { + "layer0": "beneath:block/mushroom/death_cap" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/beneath/models/item/food/destroying_angels.json b/src/main/resources/assets/beneath/models/item/food/destroying_angels.json new file mode 100644 index 0000000..d43e137 --- /dev/null +++ b/src/main/resources/assets/beneath/models/item/food/destroying_angels.json @@ -0,0 +1,7 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "parent": "item/generated", + "textures": { + "layer0": "beneath:block/mushroom/destroying_angels" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/beneath/models/item/food/fools_funnel.json b/src/main/resources/assets/beneath/models/item/food/fools_funnel.json new file mode 100644 index 0000000..9d9ffbd --- /dev/null +++ b/src/main/resources/assets/beneath/models/item/food/fools_funnel.json @@ -0,0 +1,7 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "parent": "item/generated", + "textures": { + "layer0": "beneath:block/mushroom/fools_funnel" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/beneath/models/item/food/oyster.json b/src/main/resources/assets/beneath/models/item/food/oyster.json new file mode 100644 index 0000000..d8990a3 --- /dev/null +++ b/src/main/resources/assets/beneath/models/item/food/oyster.json @@ -0,0 +1,7 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "parent": "item/generated", + "textures": { + "layer0": "beneath:block/mushroom/oyster" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/beneath/models/item/food/parasol.json b/src/main/resources/assets/beneath/models/item/food/parasol.json new file mode 100644 index 0000000..808c0d5 --- /dev/null +++ b/src/main/resources/assets/beneath/models/item/food/parasol.json @@ -0,0 +1,7 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "parent": "item/generated", + "textures": { + "layer0": "beneath:block/mushroom/parasol" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/beneath/models/item/food/portobello.json b/src/main/resources/assets/beneath/models/item/food/portobello.json new file mode 100644 index 0000000..9fca076 --- /dev/null +++ b/src/main/resources/assets/beneath/models/item/food/portobello.json @@ -0,0 +1,7 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "parent": "item/generated", + "textures": { + "layer0": "beneath:block/mushroom/portobello" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/beneath/models/item/food/shittake.json b/src/main/resources/assets/beneath/models/item/food/shittake.json new file mode 100644 index 0000000..4e63459 --- /dev/null +++ b/src/main/resources/assets/beneath/models/item/food/shittake.json @@ -0,0 +1,7 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "parent": "item/generated", + "textures": { + "layer0": "beneath:block/mushroom/shittake" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/beneath/models/item/food/sulfur_tuft.json b/src/main/resources/assets/beneath/models/item/food/sulfur_tuft.json new file mode 100644 index 0000000..0370ce3 --- /dev/null +++ b/src/main/resources/assets/beneath/models/item/food/sulfur_tuft.json @@ -0,0 +1,7 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "parent": "item/generated", + "textures": { + "layer0": "beneath:block/mushroom/sulfur_tuft" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/beneath/models/item/juicer.json b/src/main/resources/assets/beneath/models/item/juicer.json new file mode 100644 index 0000000..b4831d7 --- /dev/null +++ b/src/main/resources/assets/beneath/models/item/juicer.json @@ -0,0 +1,7 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "parent": "item/generated", + "textures": { + "layer0": "beneath:item/juicer" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/beneath/textures/block/mushroom/button.png b/src/main/resources/assets/beneath/textures/block/mushroom/button.png new file mode 100644 index 0000000..0e7d0c5 Binary files /dev/null and b/src/main/resources/assets/beneath/textures/block/mushroom/button.png differ diff --git a/src/main/resources/assets/beneath/textures/block/mushroom/chantrelle.png b/src/main/resources/assets/beneath/textures/block/mushroom/chantrelle.png new file mode 100644 index 0000000..8907722 Binary files /dev/null and b/src/main/resources/assets/beneath/textures/block/mushroom/chantrelle.png differ diff --git a/src/main/resources/assets/beneath/textures/block/mushroom/death_cap.png b/src/main/resources/assets/beneath/textures/block/mushroom/death_cap.png new file mode 100644 index 0000000..0674b4c Binary files /dev/null and b/src/main/resources/assets/beneath/textures/block/mushroom/death_cap.png differ diff --git a/src/main/resources/assets/beneath/textures/block/mushroom/destroying_angels.png b/src/main/resources/assets/beneath/textures/block/mushroom/destroying_angels.png new file mode 100644 index 0000000..88faf1e Binary files /dev/null and b/src/main/resources/assets/beneath/textures/block/mushroom/destroying_angels.png differ diff --git a/src/main/resources/assets/beneath/textures/block/mushroom/fools_funnel.png b/src/main/resources/assets/beneath/textures/block/mushroom/fools_funnel.png new file mode 100644 index 0000000..2cace2f Binary files /dev/null and b/src/main/resources/assets/beneath/textures/block/mushroom/fools_funnel.png differ diff --git a/src/main/resources/assets/beneath/textures/block/mushroom/oyster.png b/src/main/resources/assets/beneath/textures/block/mushroom/oyster.png new file mode 100644 index 0000000..2f3ce50 Binary files /dev/null and b/src/main/resources/assets/beneath/textures/block/mushroom/oyster.png differ diff --git a/src/main/resources/assets/beneath/textures/block/mushroom/parasol.png b/src/main/resources/assets/beneath/textures/block/mushroom/parasol.png new file mode 100644 index 0000000..f638ef4 Binary files /dev/null and b/src/main/resources/assets/beneath/textures/block/mushroom/parasol.png differ diff --git a/src/main/resources/assets/beneath/textures/block/mushroom/portobello.png b/src/main/resources/assets/beneath/textures/block/mushroom/portobello.png new file mode 100644 index 0000000..57b94d5 Binary files /dev/null and b/src/main/resources/assets/beneath/textures/block/mushroom/portobello.png differ diff --git a/src/main/resources/assets/beneath/textures/block/mushroom/shittake.png b/src/main/resources/assets/beneath/textures/block/mushroom/shittake.png new file mode 100644 index 0000000..7e84dd4 Binary files /dev/null and b/src/main/resources/assets/beneath/textures/block/mushroom/shittake.png differ diff --git a/src/main/resources/assets/beneath/textures/block/mushroom/sulfur_tuft.png b/src/main/resources/assets/beneath/textures/block/mushroom/sulfur_tuft.png new file mode 100644 index 0000000..81e1168 Binary files /dev/null and b/src/main/resources/assets/beneath/textures/block/mushroom/sulfur_tuft.png differ diff --git a/src/main/resources/assets/beneath/textures/item/juicer.png b/src/main/resources/assets/beneath/textures/item/juicer.png new file mode 100644 index 0000000..d5fad89 Binary files /dev/null and b/src/main/resources/assets/beneath/textures/item/juicer.png differ diff --git a/src/main/resources/assets/tfc/textures/gui/knapping/blackstone_pebble.png b/src/main/resources/assets/tfc/textures/gui/knapping/blackstone_pebble.png new file mode 100644 index 0000000..5f94c21 Binary files /dev/null and b/src/main/resources/assets/tfc/textures/gui/knapping/blackstone_pebble.png differ diff --git a/src/main/resources/assets/tfc/textures/gui/knapping/nether_pebble.png b/src/main/resources/assets/tfc/textures/gui/knapping/nether_pebble.png new file mode 100644 index 0000000..50b5621 Binary files /dev/null and b/src/main/resources/assets/tfc/textures/gui/knapping/nether_pebble.png differ diff --git a/src/main/resources/data/beneath/advancements/crafting/blackstone_uncraft.json b/src/main/resources/data/beneath/advancements/crafting/blackstone_uncraft.json new file mode 100644 index 0000000..960983f --- /dev/null +++ b/src/main/resources/data/beneath/advancements/crafting/blackstone_uncraft.json @@ -0,0 +1,35 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "minecraft:blackstone" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "beneath:crafting/blackstone_uncraft" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "beneath:crafting/blackstone_uncraft" + ] + } +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/advancements/crafting/cobblerack_uncraft.json b/src/main/resources/data/beneath/advancements/crafting/cobblerack_uncraft.json new file mode 100644 index 0000000..5802c89 --- /dev/null +++ b/src/main/resources/data/beneath/advancements/crafting/cobblerack_uncraft.json @@ -0,0 +1,35 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "beneath:cobblerack" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "beneath:crafting/cobblerack_uncraft" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "beneath:crafting/cobblerack_uncraft" + ] + } +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/advancements/crafting/crackrack_uncraft.json b/src/main/resources/data/beneath/advancements/crafting/crackrack_uncraft.json new file mode 100644 index 0000000..4fe346c --- /dev/null +++ b/src/main/resources/data/beneath/advancements/crafting/crackrack_uncraft.json @@ -0,0 +1,35 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "beneath:crackrack" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "beneath:crafting/crackrack_uncraft" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "beneath:crafting/crackrack_uncraft" + ] + } +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/advancements/crafting/juicer.json b/src/main/resources/data/beneath/advancements/crafting/juicer.json new file mode 100644 index 0000000..eb8a8b0 --- /dev/null +++ b/src/main/resources/data/beneath/advancements/crafting/juicer.json @@ -0,0 +1,33 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "tag": "forge:leather" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "beneath:crafting/juicer" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "beneath:crafting/juicer" + ] + } +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/loot_tables/blocks/crackrack.json b/src/main/resources/data/beneath/loot_tables/blocks/crackrack.json index efe3e8a..9dc0a03 100644 --- a/src/main/resources/data/beneath/loot_tables/blocks/crackrack.json +++ b/src/main/resources/data/beneath/loot_tables/blocks/crackrack.json @@ -7,16 +7,30 @@ "rolls": 1, "entries": [ { - "type": "minecraft:item", - "name": "beneath:crackrack_rock", - "functions": [ + "type": "minecraft:alternatives", + "children": [ { - "function": "minecraft:set_count", - "count": { - "type": "minecraft:uniform", - "min": 1, - "max": 4 - } + "type": "minecraft:item", + "name": "beneath:crackrack", + "conditions": [ + { + "condition": "tfc:is_isolated" + } + ] + }, + { + "type": "minecraft:item", + "name": "beneath:crackrack_rock", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 2, + "max": 4 + } + } + ] } ] } diff --git a/src/main/resources/data/beneath/loot_tables/blocks/mushroom/button.json b/src/main/resources/data/beneath/loot_tables/blocks/mushroom/button.json new file mode 100644 index 0000000..a2b17a5 --- /dev/null +++ b/src/main/resources/data/beneath/loot_tables/blocks/mushroom/button.json @@ -0,0 +1,21 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "beneath:food/button" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/loot_tables/blocks/mushroom/chantrelle.json b/src/main/resources/data/beneath/loot_tables/blocks/mushroom/chantrelle.json new file mode 100644 index 0000000..7ccf878 --- /dev/null +++ b/src/main/resources/data/beneath/loot_tables/blocks/mushroom/chantrelle.json @@ -0,0 +1,21 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "beneath:food/chantrelle" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/loot_tables/blocks/mushroom/death_cap.json b/src/main/resources/data/beneath/loot_tables/blocks/mushroom/death_cap.json new file mode 100644 index 0000000..239e397 --- /dev/null +++ b/src/main/resources/data/beneath/loot_tables/blocks/mushroom/death_cap.json @@ -0,0 +1,21 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "beneath:food/death_cap" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/loot_tables/blocks/mushroom/destroying_angels.json b/src/main/resources/data/beneath/loot_tables/blocks/mushroom/destroying_angels.json new file mode 100644 index 0000000..758047e --- /dev/null +++ b/src/main/resources/data/beneath/loot_tables/blocks/mushroom/destroying_angels.json @@ -0,0 +1,21 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "beneath:food/destroying_angels" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/loot_tables/blocks/mushroom/fools_funnel.json b/src/main/resources/data/beneath/loot_tables/blocks/mushroom/fools_funnel.json new file mode 100644 index 0000000..8b1928a --- /dev/null +++ b/src/main/resources/data/beneath/loot_tables/blocks/mushroom/fools_funnel.json @@ -0,0 +1,21 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "beneath:food/fools_funnel" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/loot_tables/blocks/mushroom/oyster.json b/src/main/resources/data/beneath/loot_tables/blocks/mushroom/oyster.json new file mode 100644 index 0000000..520d765 --- /dev/null +++ b/src/main/resources/data/beneath/loot_tables/blocks/mushroom/oyster.json @@ -0,0 +1,21 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "beneath:food/oyster" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/loot_tables/blocks/mushroom/parasol.json b/src/main/resources/data/beneath/loot_tables/blocks/mushroom/parasol.json new file mode 100644 index 0000000..cdb8482 --- /dev/null +++ b/src/main/resources/data/beneath/loot_tables/blocks/mushroom/parasol.json @@ -0,0 +1,21 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "beneath:food/parasol" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/loot_tables/blocks/mushroom/portobello.json b/src/main/resources/data/beneath/loot_tables/blocks/mushroom/portobello.json new file mode 100644 index 0000000..a708f74 --- /dev/null +++ b/src/main/resources/data/beneath/loot_tables/blocks/mushroom/portobello.json @@ -0,0 +1,21 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "beneath:food/portobello" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/loot_tables/blocks/mushroom/shittake.json b/src/main/resources/data/beneath/loot_tables/blocks/mushroom/shittake.json new file mode 100644 index 0000000..9715cc3 --- /dev/null +++ b/src/main/resources/data/beneath/loot_tables/blocks/mushroom/shittake.json @@ -0,0 +1,21 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "beneath:food/shittake" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/loot_tables/blocks/mushroom/sulfur_tuft.json b/src/main/resources/data/beneath/loot_tables/blocks/mushroom/sulfur_tuft.json new file mode 100644 index 0000000..cfd0af2 --- /dev/null +++ b/src/main/resources/data/beneath/loot_tables/blocks/mushroom/sulfur_tuft.json @@ -0,0 +1,21 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "beneath:food/sulfur_tuft" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/recipes/crafting/blackstone_uncraft.json b/src/main/resources/data/beneath/recipes/crafting/blackstone_uncraft.json new file mode 100644 index 0000000..111889a --- /dev/null +++ b/src/main/resources/data/beneath/recipes/crafting/blackstone_uncraft.json @@ -0,0 +1,13 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "minecraft:blackstone" + } + ], + "result": { + "item": "beneath:blackstone_pebble", + "count": 4 + } +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/recipes/crafting/cobblerack_uncraft.json b/src/main/resources/data/beneath/recipes/crafting/cobblerack_uncraft.json new file mode 100644 index 0000000..5799cff --- /dev/null +++ b/src/main/resources/data/beneath/recipes/crafting/cobblerack_uncraft.json @@ -0,0 +1,13 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "beneath:cobblerack" + } + ], + "result": { + "item": "beneath:nether_pebble", + "count": 4 + } +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/recipes/crafting/crackrack_uncraft.json b/src/main/resources/data/beneath/recipes/crafting/crackrack_uncraft.json new file mode 100644 index 0000000..0cec7d1 --- /dev/null +++ b/src/main/resources/data/beneath/recipes/crafting/crackrack_uncraft.json @@ -0,0 +1,13 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "beneath:crackrack" + } + ], + "result": { + "item": "beneath:crackrack_rock", + "count": 4 + } +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/recipes/crafting/juicer.json b/src/main/resources/data/beneath/recipes/crafting/juicer.json new file mode 100644 index 0000000..de8aa81 --- /dev/null +++ b/src/main/resources/data/beneath/recipes/crafting/juicer.json @@ -0,0 +1,27 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "tfc:damage_inputs_shapeless_crafting", + "recipe": { + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "tag": "forge:leather" + }, + { + "tag": "forge:leather" + }, + { + "tag": "forge:leather" + }, + { + "tag": "tfc:knives" + }, + { + "tag": "forge:rods/wooden" + } + ], + "result": { + "item": "beneath:juicer" + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/tags/blocks/mushrooms.json b/src/main/resources/data/beneath/tags/blocks/mushrooms.json new file mode 100644 index 0000000..0511d58 --- /dev/null +++ b/src/main/resources/data/beneath/tags/blocks/mushrooms.json @@ -0,0 +1,16 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "replace": false, + "values": [ + "beneath:mushroom/button", + "beneath:mushroom/chantrelle", + "beneath:mushroom/death_cap", + "beneath:mushroom/destroying_angels", + "beneath:mushroom/fools_funnel", + "beneath:mushroom/oyster", + "beneath:mushroom/parasol", + "beneath:mushroom/portobello", + "beneath:mushroom/shittake", + "beneath:mushroom/sulfur_tuft" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/tags/blocks/poisonous_mushrooms.json b/src/main/resources/data/beneath/tags/blocks/poisonous_mushrooms.json new file mode 100644 index 0000000..70a5de6 --- /dev/null +++ b/src/main/resources/data/beneath/tags/blocks/poisonous_mushrooms.json @@ -0,0 +1,10 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "replace": false, + "values": [ + "beneath:mushroom/death_cap", + "beneath:mushroom/destroying_angels", + "beneath:mushroom/fools_funnel", + "beneath:mushroom/sulfur_tuft" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/tags/items/mushrooms.json b/src/main/resources/data/beneath/tags/items/mushrooms.json new file mode 100644 index 0000000..9dbe920 --- /dev/null +++ b/src/main/resources/data/beneath/tags/items/mushrooms.json @@ -0,0 +1,16 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "replace": false, + "values": [ + "beneath:food/button", + "beneath:food/chantrelle", + "beneath:food/death_cap", + "beneath:food/destroying_angels", + "beneath:food/fools_funnel", + "beneath:food/oyster", + "beneath:food/parasol", + "beneath:food/portobello", + "beneath:food/shittake", + "beneath:food/sulfur_tuft" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/tags/items/poisonous_mushrooms.json b/src/main/resources/data/beneath/tags/items/poisonous_mushrooms.json new file mode 100644 index 0000000..7e78c7d --- /dev/null +++ b/src/main/resources/data/beneath/tags/items/poisonous_mushrooms.json @@ -0,0 +1,10 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "replace": false, + "values": [ + "beneath:food/death_cap", + "beneath:food/destroying_angels", + "beneath:food/fools_funnel", + "beneath:food/sulfur_tuft" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/tags/items/usable_in_juicer.json b/src/main/resources/data/beneath/tags/items/usable_in_juicer.json new file mode 100644 index 0000000..44790f7 --- /dev/null +++ b/src/main/resources/data/beneath/tags/items/usable_in_juicer.json @@ -0,0 +1,8 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "replace": false, + "values": [ + "#tfc:foods/fruits", + "#beneath:mushrooms" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/tags/worldgen/placed_feature/mushrooms.json b/src/main/resources/data/beneath/tags/worldgen/placed_feature/mushrooms.json new file mode 100644 index 0000000..e6bd7a7 --- /dev/null +++ b/src/main/resources/data/beneath/tags/worldgen/placed_feature/mushrooms.json @@ -0,0 +1,16 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "replace": false, + "values": [ + "beneath:button_patch", + "beneath:chantrelle_patch", + "beneath:death_cap_patch", + "beneath:destroying_angels_patch", + "beneath:fools_funnel_patch", + "beneath:oyster_patch", + "beneath:parasol_patch", + "beneath:portobello_patch", + "beneath:shittake_patch", + "beneath:sulfur_tuft_patch" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/tags/worldgen/placed_feature/vegetal_decoration/crimson_forest.json b/src/main/resources/data/beneath/tags/worldgen/placed_feature/vegetal_decoration/crimson_forest.json index 0b35a93..9f5acae 100644 --- a/src/main/resources/data/beneath/tags/worldgen/placed_feature/vegetal_decoration/crimson_forest.json +++ b/src/main/resources/data/beneath/tags/worldgen/placed_feature/vegetal_decoration/crimson_forest.json @@ -5,6 +5,7 @@ "beneath:tree/crimson", "#beneath:everywhere_but_basalt_deltas", "beneath:gleamflower_patch", - "beneath:burpflower_patch" + "beneath:burpflower_patch", + "#beneath:mushrooms" ] } \ No newline at end of file diff --git a/src/main/resources/data/beneath/tags/worldgen/placed_feature/vegetal_decoration/nether_wastes.json b/src/main/resources/data/beneath/tags/worldgen/placed_feature/vegetal_decoration/nether_wastes.json index de409c5..fc6ceca 100644 --- a/src/main/resources/data/beneath/tags/worldgen/placed_feature/vegetal_decoration/nether_wastes.json +++ b/src/main/resources/data/beneath/tags/worldgen/placed_feature/vegetal_decoration/nether_wastes.json @@ -3,6 +3,7 @@ "replace": false, "values": [ "beneath:nether_spikes", - "beneath:glowstone_spikes" + "beneath:glowstone_spikes", + "#beneath:mushrooms" ] } \ No newline at end of file diff --git a/src/main/resources/data/beneath/tags/worldgen/placed_feature/vegetal_decoration/warped_forest.json b/src/main/resources/data/beneath/tags/worldgen/placed_feature/vegetal_decoration/warped_forest.json index f926375..2037703 100644 --- a/src/main/resources/data/beneath/tags/worldgen/placed_feature/vegetal_decoration/warped_forest.json +++ b/src/main/resources/data/beneath/tags/worldgen/placed_feature/vegetal_decoration/warped_forest.json @@ -5,6 +5,7 @@ "beneath:tree/warped", "#beneath:everywhere_but_basalt_deltas", "beneath:gleamflower_patch", - "beneath:burpflower_patch" + "beneath:burpflower_patch", + "#beneath:mushrooms" ] } \ No newline at end of file diff --git a/src/main/resources/data/beneath/tfc/food_items/button.json b/src/main/resources/data/beneath/tfc/food_items/button.json new file mode 100644 index 0000000..9f058a2 --- /dev/null +++ b/src/main/resources/data/beneath/tfc/food_items/button.json @@ -0,0 +1,11 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "ingredient": { + "item": "beneath:food/button" + }, + "hunger": 4, + "saturation": 1, + "water": 2, + "decay_modifier": 1.5, + "vegetables": 1 +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/tfc/food_items/chantrelle.json b/src/main/resources/data/beneath/tfc/food_items/chantrelle.json new file mode 100644 index 0000000..f04f3bf --- /dev/null +++ b/src/main/resources/data/beneath/tfc/food_items/chantrelle.json @@ -0,0 +1,11 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "ingredient": { + "item": "beneath:food/chantrelle" + }, + "hunger": 4, + "saturation": 1, + "water": 2, + "decay_modifier": 1.5, + "vegetables": 1 +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/tfc/food_items/death_cap.json b/src/main/resources/data/beneath/tfc/food_items/death_cap.json new file mode 100644 index 0000000..e79b9c2 --- /dev/null +++ b/src/main/resources/data/beneath/tfc/food_items/death_cap.json @@ -0,0 +1,11 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "ingredient": { + "item": "beneath:food/death_cap" + }, + "hunger": 4, + "saturation": 1, + "water": 2, + "decay_modifier": 1.5, + "vegetables": 1 +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/tfc/food_items/destroying_angels.json b/src/main/resources/data/beneath/tfc/food_items/destroying_angels.json new file mode 100644 index 0000000..6e7a114 --- /dev/null +++ b/src/main/resources/data/beneath/tfc/food_items/destroying_angels.json @@ -0,0 +1,11 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "ingredient": { + "item": "beneath:food/destroying_angels" + }, + "hunger": 4, + "saturation": 1, + "water": 2, + "decay_modifier": 1.5, + "vegetables": 1 +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/tfc/food_items/fools_funnel.json b/src/main/resources/data/beneath/tfc/food_items/fools_funnel.json new file mode 100644 index 0000000..d4bde87 --- /dev/null +++ b/src/main/resources/data/beneath/tfc/food_items/fools_funnel.json @@ -0,0 +1,11 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "ingredient": { + "item": "beneath:food/fools_funnel" + }, + "hunger": 4, + "saturation": 1, + "water": 2, + "decay_modifier": 1.5, + "vegetables": 1 +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/tfc/food_items/oyster.json b/src/main/resources/data/beneath/tfc/food_items/oyster.json new file mode 100644 index 0000000..fb2f04b --- /dev/null +++ b/src/main/resources/data/beneath/tfc/food_items/oyster.json @@ -0,0 +1,11 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "ingredient": { + "item": "beneath:food/oyster" + }, + "hunger": 4, + "saturation": 1, + "water": 2, + "decay_modifier": 1.5, + "vegetables": 1 +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/tfc/food_items/parasol.json b/src/main/resources/data/beneath/tfc/food_items/parasol.json new file mode 100644 index 0000000..f18ec1a --- /dev/null +++ b/src/main/resources/data/beneath/tfc/food_items/parasol.json @@ -0,0 +1,11 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "ingredient": { + "item": "beneath:food/parasol" + }, + "hunger": 4, + "saturation": 1, + "water": 2, + "decay_modifier": 1.5, + "vegetables": 1 +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/tfc/food_items/portobello.json b/src/main/resources/data/beneath/tfc/food_items/portobello.json new file mode 100644 index 0000000..22e3430 --- /dev/null +++ b/src/main/resources/data/beneath/tfc/food_items/portobello.json @@ -0,0 +1,11 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "ingredient": { + "item": "beneath:food/portobello" + }, + "hunger": 4, + "saturation": 1, + "water": 2, + "decay_modifier": 1.5, + "vegetables": 1 +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/tfc/food_items/shittake.json b/src/main/resources/data/beneath/tfc/food_items/shittake.json new file mode 100644 index 0000000..126b206 --- /dev/null +++ b/src/main/resources/data/beneath/tfc/food_items/shittake.json @@ -0,0 +1,11 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "ingredient": { + "item": "beneath:food/shittake" + }, + "hunger": 4, + "saturation": 1, + "water": 2, + "decay_modifier": 1.5, + "vegetables": 1 +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/tfc/food_items/sulfur_tuft.json b/src/main/resources/data/beneath/tfc/food_items/sulfur_tuft.json new file mode 100644 index 0000000..4b1bda5 --- /dev/null +++ b/src/main/resources/data/beneath/tfc/food_items/sulfur_tuft.json @@ -0,0 +1,11 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "ingredient": { + "item": "beneath:food/sulfur_tuft" + }, + "hunger": 4, + "saturation": 1, + "water": 2, + "decay_modifier": 1.5, + "vegetables": 1 +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/tfc/fuels/crimson_log.json b/src/main/resources/data/beneath/tfc/fuels/crimson_log.json new file mode 100644 index 0000000..36b5bc6 --- /dev/null +++ b/src/main/resources/data/beneath/tfc/fuels/crimson_log.json @@ -0,0 +1,20 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "ingredient": [ + { + "item": "beneath:wood/log/crimson" + }, + { + "item": "beneath:wood/wood/crimson" + }, + { + "item": "beneath:wood/stripped_wood/crimson" + }, + { + "item": "beneath:wood/stripped_log/crimson" + } + ], + "duration": 800, + "temperature": 1000, + "purity": 0.6 +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/tfc/fuels/warped_log.json b/src/main/resources/data/beneath/tfc/fuels/warped_log.json new file mode 100644 index 0000000..e65ac74 --- /dev/null +++ b/src/main/resources/data/beneath/tfc/fuels/warped_log.json @@ -0,0 +1,20 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "ingredient": [ + { + "item": "beneath:wood/log/warped" + }, + { + "item": "beneath:wood/wood/warped" + }, + { + "item": "beneath:wood/stripped_wood/warped" + }, + { + "item": "beneath:wood/stripped_log/warped" + } + ], + "duration": 800, + "temperature": 1000, + "purity": 0.6 +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/configured_feature/button.json b/src/main/resources/data/beneath/worldgen/configured_feature/button.json new file mode 100644 index 0000000..cf7a893 --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/configured_feature/button.json @@ -0,0 +1,13 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "beneath:mushroom/button", + "Properties": {} + } + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/configured_feature/button_patch.json b/src/main/resources/data/beneath/worldgen/configured_feature/button_patch.json new file mode 100644 index 0000000..2bf6ca3 --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/configured_feature/button_patch.json @@ -0,0 +1,10 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "minecraft:random_patch", + "config": { + "tries": 5, + "xz_spread": 5, + "y_spread": 1, + "feature": "beneath:button" + } +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/configured_feature/chantrelle.json b/src/main/resources/data/beneath/worldgen/configured_feature/chantrelle.json new file mode 100644 index 0000000..ecfe0d6 --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/configured_feature/chantrelle.json @@ -0,0 +1,13 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "beneath:mushroom/chantrelle", + "Properties": {} + } + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/configured_feature/chantrelle_patch.json b/src/main/resources/data/beneath/worldgen/configured_feature/chantrelle_patch.json new file mode 100644 index 0000000..273aa90 --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/configured_feature/chantrelle_patch.json @@ -0,0 +1,10 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "minecraft:random_patch", + "config": { + "tries": 5, + "xz_spread": 5, + "y_spread": 1, + "feature": "beneath:chantrelle" + } +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/configured_feature/death_cap.json b/src/main/resources/data/beneath/worldgen/configured_feature/death_cap.json new file mode 100644 index 0000000..5e9a395 --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/configured_feature/death_cap.json @@ -0,0 +1,13 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "beneath:mushroom/death_cap", + "Properties": {} + } + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/configured_feature/death_cap_patch.json b/src/main/resources/data/beneath/worldgen/configured_feature/death_cap_patch.json new file mode 100644 index 0000000..90cba35 --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/configured_feature/death_cap_patch.json @@ -0,0 +1,10 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "minecraft:random_patch", + "config": { + "tries": 5, + "xz_spread": 5, + "y_spread": 1, + "feature": "beneath:death_cap" + } +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/configured_feature/destroying_angels.json b/src/main/resources/data/beneath/worldgen/configured_feature/destroying_angels.json new file mode 100644 index 0000000..d13f68f --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/configured_feature/destroying_angels.json @@ -0,0 +1,13 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "beneath:mushroom/destroying_angels", + "Properties": {} + } + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/configured_feature/destroying_angels_patch.json b/src/main/resources/data/beneath/worldgen/configured_feature/destroying_angels_patch.json new file mode 100644 index 0000000..466dcd2 --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/configured_feature/destroying_angels_patch.json @@ -0,0 +1,10 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "minecraft:random_patch", + "config": { + "tries": 5, + "xz_spread": 5, + "y_spread": 1, + "feature": "beneath:destroying_angels" + } +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/configured_feature/fools_funnel.json b/src/main/resources/data/beneath/worldgen/configured_feature/fools_funnel.json new file mode 100644 index 0000000..45ea76d --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/configured_feature/fools_funnel.json @@ -0,0 +1,13 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "beneath:mushroom/fools_funnel", + "Properties": {} + } + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/configured_feature/fools_funnel_patch.json b/src/main/resources/data/beneath/worldgen/configured_feature/fools_funnel_patch.json new file mode 100644 index 0000000..6b151a5 --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/configured_feature/fools_funnel_patch.json @@ -0,0 +1,10 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "minecraft:random_patch", + "config": { + "tries": 5, + "xz_spread": 5, + "y_spread": 1, + "feature": "beneath:fools_funnel" + } +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/configured_feature/oyster.json b/src/main/resources/data/beneath/worldgen/configured_feature/oyster.json new file mode 100644 index 0000000..df1e5d3 --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/configured_feature/oyster.json @@ -0,0 +1,13 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "beneath:mushroom/oyster", + "Properties": {} + } + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/configured_feature/oyster_patch.json b/src/main/resources/data/beneath/worldgen/configured_feature/oyster_patch.json new file mode 100644 index 0000000..be2c5d5 --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/configured_feature/oyster_patch.json @@ -0,0 +1,10 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "minecraft:random_patch", + "config": { + "tries": 5, + "xz_spread": 5, + "y_spread": 1, + "feature": "beneath:oyster" + } +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/configured_feature/parasol.json b/src/main/resources/data/beneath/worldgen/configured_feature/parasol.json new file mode 100644 index 0000000..a99478d --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/configured_feature/parasol.json @@ -0,0 +1,13 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "beneath:mushroom/parasol", + "Properties": {} + } + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/configured_feature/parasol_patch.json b/src/main/resources/data/beneath/worldgen/configured_feature/parasol_patch.json new file mode 100644 index 0000000..c76f33c --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/configured_feature/parasol_patch.json @@ -0,0 +1,10 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "minecraft:random_patch", + "config": { + "tries": 5, + "xz_spread": 5, + "y_spread": 1, + "feature": "beneath:parasol" + } +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/configured_feature/portobello.json b/src/main/resources/data/beneath/worldgen/configured_feature/portobello.json new file mode 100644 index 0000000..baf3403 --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/configured_feature/portobello.json @@ -0,0 +1,13 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "beneath:mushroom/portobello", + "Properties": {} + } + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/configured_feature/portobello_patch.json b/src/main/resources/data/beneath/worldgen/configured_feature/portobello_patch.json new file mode 100644 index 0000000..2ae19fa --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/configured_feature/portobello_patch.json @@ -0,0 +1,10 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "minecraft:random_patch", + "config": { + "tries": 5, + "xz_spread": 5, + "y_spread": 1, + "feature": "beneath:portobello" + } +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/configured_feature/shittake.json b/src/main/resources/data/beneath/worldgen/configured_feature/shittake.json new file mode 100644 index 0000000..1b74668 --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/configured_feature/shittake.json @@ -0,0 +1,13 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "beneath:mushroom/shittake", + "Properties": {} + } + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/configured_feature/shittake_patch.json b/src/main/resources/data/beneath/worldgen/configured_feature/shittake_patch.json new file mode 100644 index 0000000..ad0960b --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/configured_feature/shittake_patch.json @@ -0,0 +1,10 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "minecraft:random_patch", + "config": { + "tries": 5, + "xz_spread": 5, + "y_spread": 1, + "feature": "beneath:shittake" + } +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/configured_feature/sulfur_tuft.json b/src/main/resources/data/beneath/worldgen/configured_feature/sulfur_tuft.json new file mode 100644 index 0000000..8f756d3 --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/configured_feature/sulfur_tuft.json @@ -0,0 +1,13 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "beneath:mushroom/sulfur_tuft", + "Properties": {} + } + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/configured_feature/sulfur_tuft_patch.json b/src/main/resources/data/beneath/worldgen/configured_feature/sulfur_tuft_patch.json new file mode 100644 index 0000000..5b1b061 --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/configured_feature/sulfur_tuft_patch.json @@ -0,0 +1,10 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "minecraft:random_patch", + "config": { + "tries": 5, + "xz_spread": 5, + "y_spread": 1, + "feature": "beneath:sulfur_tuft" + } +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/placed_feature/button.json b/src/main/resources/data/beneath/worldgen/placed_feature/button.json new file mode 100644 index 0000000..0762c3f --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/placed_feature/button.json @@ -0,0 +1,29 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "feature": "beneath:button", + "placement": [ + { + "type": "block_predicate_filter", + "predicate": { + "type": "tfc:replaceable" + } + }, + { + "type": "block_predicate_filter", + "predicate": { + "type": "would_survive", + "state": { + "Name": "beneath:mushroom/button", + "Properties": {} + } + } + }, + { + "type": "block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/placed_feature/button_patch.json b/src/main/resources/data/beneath/worldgen/placed_feature/button_patch.json new file mode 100644 index 0000000..3971c47 --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/placed_feature/button_patch.json @@ -0,0 +1,17 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "feature": "beneath:button_patch", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 60 + }, + { + "type": "minecraft:count_on_every_layer", + "count": 1 + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/placed_feature/chantrelle.json b/src/main/resources/data/beneath/worldgen/placed_feature/chantrelle.json new file mode 100644 index 0000000..5a668cd --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/placed_feature/chantrelle.json @@ -0,0 +1,29 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "feature": "beneath:chantrelle", + "placement": [ + { + "type": "block_predicate_filter", + "predicate": { + "type": "tfc:replaceable" + } + }, + { + "type": "block_predicate_filter", + "predicate": { + "type": "would_survive", + "state": { + "Name": "beneath:mushroom/chantrelle", + "Properties": {} + } + } + }, + { + "type": "block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/placed_feature/chantrelle_patch.json b/src/main/resources/data/beneath/worldgen/placed_feature/chantrelle_patch.json new file mode 100644 index 0000000..291c3d5 --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/placed_feature/chantrelle_patch.json @@ -0,0 +1,17 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "feature": "beneath:chantrelle_patch", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 60 + }, + { + "type": "minecraft:count_on_every_layer", + "count": 1 + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/placed_feature/death_cap.json b/src/main/resources/data/beneath/worldgen/placed_feature/death_cap.json new file mode 100644 index 0000000..c92e9c0 --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/placed_feature/death_cap.json @@ -0,0 +1,29 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "feature": "beneath:death_cap", + "placement": [ + { + "type": "block_predicate_filter", + "predicate": { + "type": "tfc:replaceable" + } + }, + { + "type": "block_predicate_filter", + "predicate": { + "type": "would_survive", + "state": { + "Name": "beneath:mushroom/death_cap", + "Properties": {} + } + } + }, + { + "type": "block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/placed_feature/death_cap_patch.json b/src/main/resources/data/beneath/worldgen/placed_feature/death_cap_patch.json new file mode 100644 index 0000000..f1cfdeb --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/placed_feature/death_cap_patch.json @@ -0,0 +1,17 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "feature": "beneath:death_cap_patch", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 60 + }, + { + "type": "minecraft:count_on_every_layer", + "count": 1 + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/placed_feature/destroying_angels.json b/src/main/resources/data/beneath/worldgen/placed_feature/destroying_angels.json new file mode 100644 index 0000000..2432680 --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/placed_feature/destroying_angels.json @@ -0,0 +1,29 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "feature": "beneath:destroying_angels", + "placement": [ + { + "type": "block_predicate_filter", + "predicate": { + "type": "tfc:replaceable" + } + }, + { + "type": "block_predicate_filter", + "predicate": { + "type": "would_survive", + "state": { + "Name": "beneath:mushroom/destroying_angels", + "Properties": {} + } + } + }, + { + "type": "block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/placed_feature/destroying_angels_patch.json b/src/main/resources/data/beneath/worldgen/placed_feature/destroying_angels_patch.json new file mode 100644 index 0000000..6323065 --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/placed_feature/destroying_angels_patch.json @@ -0,0 +1,17 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "feature": "beneath:destroying_angels_patch", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 60 + }, + { + "type": "minecraft:count_on_every_layer", + "count": 1 + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/placed_feature/fools_funnel.json b/src/main/resources/data/beneath/worldgen/placed_feature/fools_funnel.json new file mode 100644 index 0000000..3b1a09b --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/placed_feature/fools_funnel.json @@ -0,0 +1,29 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "feature": "beneath:fools_funnel", + "placement": [ + { + "type": "block_predicate_filter", + "predicate": { + "type": "tfc:replaceable" + } + }, + { + "type": "block_predicate_filter", + "predicate": { + "type": "would_survive", + "state": { + "Name": "beneath:mushroom/fools_funnel", + "Properties": {} + } + } + }, + { + "type": "block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/placed_feature/fools_funnel_patch.json b/src/main/resources/data/beneath/worldgen/placed_feature/fools_funnel_patch.json new file mode 100644 index 0000000..9148413 --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/placed_feature/fools_funnel_patch.json @@ -0,0 +1,17 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "feature": "beneath:fools_funnel_patch", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 60 + }, + { + "type": "minecraft:count_on_every_layer", + "count": 1 + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/placed_feature/magma_andesite.json b/src/main/resources/data/beneath/worldgen/placed_feature/magma_andesite.json index df174f2..b3d1bf4 100644 --- a/src/main/resources/data/beneath/worldgen/placed_feature/magma_andesite.json +++ b/src/main/resources/data/beneath/worldgen/placed_feature/magma_andesite.json @@ -18,10 +18,10 @@ "height": { "type": "uniform", "min_inclusive": { - "absolute": 36 + "absolute": 27 }, "max_inclusive": { - "absolute": 27 + "absolute": 36 } } }, diff --git a/src/main/resources/data/beneath/worldgen/placed_feature/magma_basalt.json b/src/main/resources/data/beneath/worldgen/placed_feature/magma_basalt.json index d614d97..3e7d5bf 100644 --- a/src/main/resources/data/beneath/worldgen/placed_feature/magma_basalt.json +++ b/src/main/resources/data/beneath/worldgen/placed_feature/magma_basalt.json @@ -18,10 +18,10 @@ "height": { "type": "uniform", "min_inclusive": { - "absolute": 36 + "absolute": 27 }, "max_inclusive": { - "absolute": 27 + "absolute": 36 } } }, diff --git a/src/main/resources/data/beneath/worldgen/placed_feature/magma_dacite.json b/src/main/resources/data/beneath/worldgen/placed_feature/magma_dacite.json index eca73f1..b42d7f2 100644 --- a/src/main/resources/data/beneath/worldgen/placed_feature/magma_dacite.json +++ b/src/main/resources/data/beneath/worldgen/placed_feature/magma_dacite.json @@ -18,10 +18,10 @@ "height": { "type": "uniform", "min_inclusive": { - "absolute": 36 + "absolute": 27 }, "max_inclusive": { - "absolute": 27 + "absolute": 36 } } }, diff --git a/src/main/resources/data/beneath/worldgen/placed_feature/magma_rhyolite.json b/src/main/resources/data/beneath/worldgen/placed_feature/magma_rhyolite.json index c332389..3c8684a 100644 --- a/src/main/resources/data/beneath/worldgen/placed_feature/magma_rhyolite.json +++ b/src/main/resources/data/beneath/worldgen/placed_feature/magma_rhyolite.json @@ -18,10 +18,10 @@ "height": { "type": "uniform", "min_inclusive": { - "absolute": 36 + "absolute": 27 }, "max_inclusive": { - "absolute": 27 + "absolute": 36 } } }, diff --git a/src/main/resources/data/beneath/worldgen/placed_feature/oyster.json b/src/main/resources/data/beneath/worldgen/placed_feature/oyster.json new file mode 100644 index 0000000..6144c46 --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/placed_feature/oyster.json @@ -0,0 +1,29 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "feature": "beneath:oyster", + "placement": [ + { + "type": "block_predicate_filter", + "predicate": { + "type": "tfc:replaceable" + } + }, + { + "type": "block_predicate_filter", + "predicate": { + "type": "would_survive", + "state": { + "Name": "beneath:mushroom/oyster", + "Properties": {} + } + } + }, + { + "type": "block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/placed_feature/oyster_patch.json b/src/main/resources/data/beneath/worldgen/placed_feature/oyster_patch.json new file mode 100644 index 0000000..ad5642d --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/placed_feature/oyster_patch.json @@ -0,0 +1,17 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "feature": "beneath:oyster_patch", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 60 + }, + { + "type": "minecraft:count_on_every_layer", + "count": 1 + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/placed_feature/parasol.json b/src/main/resources/data/beneath/worldgen/placed_feature/parasol.json new file mode 100644 index 0000000..2b66d48 --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/placed_feature/parasol.json @@ -0,0 +1,29 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "feature": "beneath:parasol", + "placement": [ + { + "type": "block_predicate_filter", + "predicate": { + "type": "tfc:replaceable" + } + }, + { + "type": "block_predicate_filter", + "predicate": { + "type": "would_survive", + "state": { + "Name": "beneath:mushroom/parasol", + "Properties": {} + } + } + }, + { + "type": "block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/placed_feature/parasol_patch.json b/src/main/resources/data/beneath/worldgen/placed_feature/parasol_patch.json new file mode 100644 index 0000000..77a21da --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/placed_feature/parasol_patch.json @@ -0,0 +1,17 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "feature": "beneath:parasol_patch", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 60 + }, + { + "type": "minecraft:count_on_every_layer", + "count": 1 + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/placed_feature/portobello.json b/src/main/resources/data/beneath/worldgen/placed_feature/portobello.json new file mode 100644 index 0000000..d8efcee --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/placed_feature/portobello.json @@ -0,0 +1,29 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "feature": "beneath:portobello", + "placement": [ + { + "type": "block_predicate_filter", + "predicate": { + "type": "tfc:replaceable" + } + }, + { + "type": "block_predicate_filter", + "predicate": { + "type": "would_survive", + "state": { + "Name": "beneath:mushroom/portobello", + "Properties": {} + } + } + }, + { + "type": "block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/placed_feature/portobello_patch.json b/src/main/resources/data/beneath/worldgen/placed_feature/portobello_patch.json new file mode 100644 index 0000000..0eb0d30 --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/placed_feature/portobello_patch.json @@ -0,0 +1,17 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "feature": "beneath:portobello_patch", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 60 + }, + { + "type": "minecraft:count_on_every_layer", + "count": 1 + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/placed_feature/shittake.json b/src/main/resources/data/beneath/worldgen/placed_feature/shittake.json new file mode 100644 index 0000000..cdfe041 --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/placed_feature/shittake.json @@ -0,0 +1,29 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "feature": "beneath:shittake", + "placement": [ + { + "type": "block_predicate_filter", + "predicate": { + "type": "tfc:replaceable" + } + }, + { + "type": "block_predicate_filter", + "predicate": { + "type": "would_survive", + "state": { + "Name": "beneath:mushroom/shittake", + "Properties": {} + } + } + }, + { + "type": "block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/placed_feature/shittake_patch.json b/src/main/resources/data/beneath/worldgen/placed_feature/shittake_patch.json new file mode 100644 index 0000000..e81bd6d --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/placed_feature/shittake_patch.json @@ -0,0 +1,17 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "feature": "beneath:shittake_patch", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 60 + }, + { + "type": "minecraft:count_on_every_layer", + "count": 1 + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/placed_feature/sulfur_tuft.json b/src/main/resources/data/beneath/worldgen/placed_feature/sulfur_tuft.json new file mode 100644 index 0000000..ff7b3de --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/placed_feature/sulfur_tuft.json @@ -0,0 +1,29 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "feature": "beneath:sulfur_tuft", + "placement": [ + { + "type": "block_predicate_filter", + "predicate": { + "type": "tfc:replaceable" + } + }, + { + "type": "block_predicate_filter", + "predicate": { + "type": "would_survive", + "state": { + "Name": "beneath:mushroom/sulfur_tuft", + "Properties": {} + } + } + }, + { + "type": "block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/beneath/worldgen/placed_feature/sulfur_tuft_patch.json b/src/main/resources/data/beneath/worldgen/placed_feature/sulfur_tuft_patch.json new file mode 100644 index 0000000..94689c0 --- /dev/null +++ b/src/main/resources/data/beneath/worldgen/placed_feature/sulfur_tuft_patch.json @@ -0,0 +1,17 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "feature": "beneath:sulfur_tuft_patch", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 60 + }, + { + "type": "minecraft:count_on_every_layer", + "count": 1 + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/loot_tables/blocks/basalt.json b/src/main/resources/data/minecraft/loot_tables/blocks/basalt.json index d908c4d..31826b7 100644 --- a/src/main/resources/data/minecraft/loot_tables/blocks/basalt.json +++ b/src/main/resources/data/minecraft/loot_tables/blocks/basalt.json @@ -7,16 +7,30 @@ "rolls": 1, "entries": [ { - "type": "minecraft:item", - "name": "tfc:rock/loose/basalt", - "functions": [ + "type": "minecraft:alternatives", + "children": [ { - "function": "minecraft:set_count", - "count": { - "type": "minecraft:uniform", - "min": 2, - "max": 4 - } + "type": "minecraft:item", + "name": "minecraft:basalt", + "conditions": [ + { + "condition": "tfc:is_isolated" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:rock/loose/basalt", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 2, + "max": 4 + } + } + ] } ] } diff --git a/src/main/resources/data/minecraft/loot_tables/blocks/blackstone.json b/src/main/resources/data/minecraft/loot_tables/blocks/blackstone.json index 8c5bf97..d57cd70 100644 --- a/src/main/resources/data/minecraft/loot_tables/blocks/blackstone.json +++ b/src/main/resources/data/minecraft/loot_tables/blocks/blackstone.json @@ -7,16 +7,30 @@ "rolls": 1, "entries": [ { - "type": "minecraft:item", - "name": "beneath:blackstone_pebble", - "functions": [ + "type": "minecraft:alternatives", + "children": [ { - "function": "minecraft:set_count", - "count": { - "type": "minecraft:uniform", - "min": 2, - "max": 4 - } + "type": "minecraft:item", + "name": "minecraft:blackstone", + "conditions": [ + { + "condition": "tfc:is_isolated" + } + ] + }, + { + "type": "minecraft:item", + "name": "beneath:blackstone_pebble", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 2, + "max": 4 + } + } + ] } ] } diff --git a/src/main/resources/data/minecraft/loot_tables/blocks/netherrack.json b/src/main/resources/data/minecraft/loot_tables/blocks/netherrack.json index 192e069..79819d9 100644 --- a/src/main/resources/data/minecraft/loot_tables/blocks/netherrack.json +++ b/src/main/resources/data/minecraft/loot_tables/blocks/netherrack.json @@ -7,16 +7,30 @@ "rolls": 1, "entries": [ { - "type": "minecraft:item", - "name": "beneath:nether_pebble", - "functions": [ + "type": "minecraft:alternatives", + "children": [ { - "function": "minecraft:set_count", - "count": { - "type": "minecraft:uniform", - "min": 2, - "max": 4 - } + "type": "minecraft:item", + "name": "minecraft:netherrack", + "conditions": [ + { + "condition": "tfc:is_isolated" + } + ] + }, + { + "type": "minecraft:item", + "name": "beneath:nether_pebble", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 2, + "max": 4 + } + } + ] } ] } diff --git a/src/main/resources/data/tfc/tags/blocks/breaks_when_isolated.json b/src/main/resources/data/tfc/tags/blocks/breaks_when_isolated.json index 200587a..a057e61 100644 --- a/src/main/resources/data/tfc/tags/blocks/breaks_when_isolated.json +++ b/src/main/resources/data/tfc/tags/blocks/breaks_when_isolated.json @@ -4,6 +4,7 @@ "values": [ "minecraft:basalt", "minecraft:blackstone", - "minecraft:netherrack" + "minecraft:netherrack", + "beneath:crackrack" ] } \ No newline at end of file diff --git a/src/main/resources/data/tfc/tags/blocks/mineable_with_sharp_tool.json b/src/main/resources/data/tfc/tags/blocks/mineable_with_sharp_tool.json index 13c88ae..dbdf481 100644 --- a/src/main/resources/data/tfc/tags/blocks/mineable_with_sharp_tool.json +++ b/src/main/resources/data/tfc/tags/blocks/mineable_with_sharp_tool.json @@ -13,6 +13,16 @@ "beneath:crop/gleamflower", "beneath:crop/nether_wart", "beneath:crop/warped_roots", + "beneath:mushroom/button", + "beneath:mushroom/chantrelle", + "beneath:mushroom/death_cap", + "beneath:mushroom/destroying_angels", + "beneath:mushroom/fools_funnel", + "beneath:mushroom/oyster", + "beneath:mushroom/parasol", + "beneath:mushroom/portobello", + "beneath:mushroom/shittake", + "beneath:mushroom/sulfur_tuft", "beneath:warped_thatch", "beneath:crimson_thatch" ] diff --git a/src/main/resources/data/tfc/tags/blocks/plants.json b/src/main/resources/data/tfc/tags/blocks/plants.json index c5e27e1..fa1efa7 100644 --- a/src/main/resources/data/tfc/tags/blocks/plants.json +++ b/src/main/resources/data/tfc/tags/blocks/plants.json @@ -3,6 +3,16 @@ "replace": false, "values": [ "beneath:gleamflower", - "beneath:burpflower" + "beneath:burpflower", + "beneath:mushroom/button", + "beneath:mushroom/chantrelle", + "beneath:mushroom/death_cap", + "beneath:mushroom/destroying_angels", + "beneath:mushroom/fools_funnel", + "beneath:mushroom/oyster", + "beneath:mushroom/parasol", + "beneath:mushroom/portobello", + "beneath:mushroom/shittake", + "beneath:mushroom/sulfur_tuft" ] } \ No newline at end of file diff --git a/src/main/resources/data/tfc/tags/items/foods.json b/src/main/resources/data/tfc/tags/items/foods.json index 5478742..e0c82fe 100644 --- a/src/main/resources/data/tfc/tags/items/foods.json +++ b/src/main/resources/data/tfc/tags/items/foods.json @@ -2,6 +2,16 @@ "__comment__": "This file was automatically created by mcresources", "replace": false, "values": [ - "beneath:ghost_pepper" + "beneath:ghost_pepper", + "beneath:food/button", + "beneath:food/chantrelle", + "beneath:food/death_cap", + "beneath:food/destroying_angels", + "beneath:food/fools_funnel", + "beneath:food/oyster", + "beneath:food/parasol", + "beneath:food/portobello", + "beneath:food/shittake", + "beneath:food/sulfur_tuft" ] } \ No newline at end of file diff --git a/src/main/resources/data/tfc/tags/items/foods/vegetables.json b/src/main/resources/data/tfc/tags/items/foods/vegetables.json index 5478742..e0c82fe 100644 --- a/src/main/resources/data/tfc/tags/items/foods/vegetables.json +++ b/src/main/resources/data/tfc/tags/items/foods/vegetables.json @@ -2,6 +2,16 @@ "__comment__": "This file was automatically created by mcresources", "replace": false, "values": [ - "beneath:ghost_pepper" + "beneath:ghost_pepper", + "beneath:food/button", + "beneath:food/chantrelle", + "beneath:food/death_cap", + "beneath:food/destroying_angels", + "beneath:food/fools_funnel", + "beneath:food/oyster", + "beneath:food/parasol", + "beneath:food/portobello", + "beneath:food/shittake", + "beneath:food/sulfur_tuft" ] } \ No newline at end of file