Ashes and Endtropy

This commit is contained in:
Vos
2025-11-18 21:49:08 -06:00
parent f931d2f5e2
commit e8b1d8cc55
26 changed files with 245 additions and 14 deletions
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "acesbs:block/infernal_ashes_block"
}
}
}
@@ -0,0 +1,6 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "acesbs:block/infernal_ashes_block"
}
}
@@ -0,0 +1,3 @@
{
"parent": "acesbs:block/infernal_ashes_block"
}
@@ -0,0 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "acesbs:item/raw_endtropy"
}
}
@@ -0,0 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "acesbs:item/stable_endtropy"
}
}
@@ -0,0 +1,32 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_infernal_ashes_block": {
"conditions": {
"items": [
{
"items": "acesbs:infernal_ashes_block"
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "acesbs:infernal_ashes"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_the_recipe",
"has_infernal_ashes_block"
]
],
"rewards": {
"recipes": [
"acesbs:infernal_ashes"
]
}
}
@@ -0,0 +1,32 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_infernal_ashes": {
"conditions": {
"items": [
{
"items": "acesbs:infernal_ashes"
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "acesbs:infernal_ashes_block"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_the_recipe",
"has_infernal_ashes"
]
],
"rewards": {
"recipes": [
"acesbs:infernal_ashes_block"
]
}
}
@@ -13,7 +13,7 @@
}, },
"has_the_recipe": { "has_the_recipe": {
"conditions": { "conditions": {
"recipe": "acesbs:stable_entropy_from_blasting_endtropy_ore" "recipe": "acesbs:stable_endtropy_from_blasting_endtropy_ore"
}, },
"trigger": "minecraft:recipe_unlocked" "trigger": "minecraft:recipe_unlocked"
} }
@@ -26,7 +26,7 @@
], ],
"rewards": { "rewards": {
"recipes": [ "recipes": [
"acesbs:stable_entropy_from_blasting_endtropy_ore" "acesbs:stable_endtropy_from_blasting_endtropy_ore"
] ]
} }
} }
@@ -0,0 +1,32 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_raw_endtropy": {
"conditions": {
"items": [
{
"items": "acesbs:raw_endtropy"
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "acesbs:stable_endtropy_from_blasting_raw_endtropy"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_the_recipe",
"has_raw_endtropy"
]
],
"rewards": {
"recipes": [
"acesbs:stable_endtropy_from_blasting_raw_endtropy"
]
}
}
@@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "acesbs:infernal_ashes_block"
}
],
"rolls": 1.0
}
]
}
@@ -0,0 +1,13 @@
{
"type": "minecraft:crafting_shapeless",
"category": "building",
"ingredients": [
{
"item": "acesbs:infernal_ashes_block"
}
],
"result": {
"count": 9,
"id": "acesbs:infernal_ashes"
}
}
@@ -0,0 +1,18 @@
{
"type": "minecraft:crafting_shaped",
"category": "misc",
"key": {
"#": {
"item": "acesbs:infernal_ashes"
}
},
"pattern": [
"###",
"###",
"###"
],
"result": {
"count": 1,
"id": "acesbs:infernal_ashes_block"
}
}
@@ -3,11 +3,11 @@
"category": "misc", "category": "misc",
"cookingtime": 2000, "cookingtime": 2000,
"experience": 0.5, "experience": 0.5,
"group": "stable_entropy", "group": "stable_endtropy",
"ingredient": { "ingredient": {
"item": "acesbs:endtropy_ore" "item": "acesbs:endtropy_ore"
}, },
"result": { "result": {
"id": "acesbs:stable_entropy" "id": "acesbs:stable_endtropy"
} }
} }
@@ -0,0 +1,13 @@
{
"type": "minecraft:blasting",
"category": "misc",
"cookingtime": 2000,
"experience": 0.5,
"group": "stable_endtropy",
"ingredient": {
"item": "acesbs:raw_endtropy"
},
"result": {
"id": "acesbs:stable_endtropy"
}
}
@@ -0,0 +1,5 @@
{
"values": [
"acesbs:infernal_ashes_block"
]
}
@@ -7,6 +7,7 @@ import com.acethewildfire.acesbs.block.custom.StableEntropyBlock;
import com.acethewildfire.acesbs.block.custom.TobaccoCrop; import com.acethewildfire.acesbs.block.custom.TobaccoCrop;
import com.acethewildfire.acesbs.sounds.ModSounds; import com.acethewildfire.acesbs.sounds.ModSounds;
import com.acethewildfire.acesbs.world.tree.ModBlockSaplingGenerator; import com.acethewildfire.acesbs.world.tree.ModBlockSaplingGenerator;
import com.mojang.serialization.MapCodec;
import net.minecraft.block.*; import net.minecraft.block.*;
import net.minecraft.block.enums.NoteBlockInstrument; import net.minecraft.block.enums.NoteBlockInstrument;
import net.minecraft.block.piston.PistonBehavior; import net.minecraft.block.piston.PistonBehavior;
@@ -239,6 +240,22 @@ public class ModBlocks {
) )
); );
public static final Block INFERNAL_ASHES_BLOCK = registerBlock(
"infernal_ashes_block",
new FallingBlock(
AbstractBlock.Settings.create()
.mapColor(MapColor.LIGHT_GRAY)
.instrument(NoteBlockInstrument.SNARE)
.strength(0.5F)
.sounds(BlockSoundGroup.SAND)
) {
@Override
protected MapCodec<? extends FallingBlock> getCodec() {
return null;
}
}
);
public static final Block CRYSTAL_ENTROPY = registerBlock( public static final Block CRYSTAL_ENTROPY = registerBlock(
"crystal_entropy", "crystal_entropy",
new TransparentBlock( new TransparentBlock(
@@ -38,6 +38,8 @@ public class ModBlockTagProvider extends FabricTagProvider.BlockTagProvider {
.add(ModBlocks.LEMONWOOD_WALL) .add(ModBlocks.LEMONWOOD_WALL)
.add(ModBlocks.LEMONWOOD_FENCE) .add(ModBlocks.LEMONWOOD_FENCE)
.add(ModBlocks.LEMONWOOD_FENCE_GATE); .add(ModBlocks.LEMONWOOD_FENCE_GATE);
getOrCreateTagBuilder(BlockTags.SHOVEL_MINEABLE)
.add(ModBlocks.INFERNAL_ASHES_BLOCK);
getOrCreateTagBuilder(BlockTags.WOODEN_FENCES) getOrCreateTagBuilder(BlockTags.WOODEN_FENCES)
.add(ModBlocks.LEMONWOOD_FENCE); .add(ModBlocks.LEMONWOOD_FENCE);
getOrCreateTagBuilder(BlockTags.FENCE_GATES) getOrCreateTagBuilder(BlockTags.FENCE_GATES)
@@ -55,6 +55,7 @@ public class ModLootTableProvider extends FabricBlockLootTableProvider {
@Override @Override
public void generate() { public void generate() {
addDrop(ModBlocks.ENTROPY_BLOCK); addDrop(ModBlocks.ENTROPY_BLOCK);
addDrop(ModBlocks.INFERNAL_ASHES_BLOCK);
addDrop(ModBlocks.STABLE_ENTROPY_BLOCK); addDrop(ModBlocks.STABLE_ENTROPY_BLOCK);
addDrop(ModBlocks.PRISMA_STEEL_BLOCK); addDrop(ModBlocks.PRISMA_STEEL_BLOCK);
@@ -29,6 +29,7 @@ public class ModModelProvider extends FabricModelProvider {
// Has a complex texture, use the default blockbench method. // Has a complex texture, use the default blockbench method.
blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.STABLE_ENTROPY_BLOCK); blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.STABLE_ENTROPY_BLOCK);
blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.PRISMA_STEEL_BLOCK); blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.PRISMA_STEEL_BLOCK);
blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.INFERNAL_ASHES_BLOCK);
// blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.CRYSTAL_ENTROPY); // blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.CRYSTAL_ENTROPY);
blockStateModelGenerator.registerGlassPane(ModBlocks.CRYSTAL_ENTROPY, ModBlocks.CRYSTAL_ENTROPY_PANE); blockStateModelGenerator.registerGlassPane(ModBlocks.CRYSTAL_ENTROPY, ModBlocks.CRYSTAL_ENTROPY_PANE);
@@ -73,9 +74,11 @@ public class ModModelProvider extends FabricModelProvider {
itemModelGenerator.register(ModItems.LEMON, Models.GENERATED); itemModelGenerator.register(ModItems.LEMON, Models.GENERATED);
itemModelGenerator.register(ModItems.TOBACCO, Models.GENERATED); itemModelGenerator.register(ModItems.TOBACCO, Models.GENERATED);
itemModelGenerator.register(ModItems.RAW_ENTROPY, Models.GENERATED); itemModelGenerator.register(ModItems.RAW_ENTROPY, Models.GENERATED);
itemModelGenerator.register(ModItems.STABLE_ENTROPY, Models.GENERATED);
itemModelGenerator.register(ModItems.RAW_ENDTROPY, Models.GENERATED);
itemModelGenerator.register(ModItems.STABLE_ENDTROPY, Models.GENERATED);
itemModelGenerator.register(ModItems.ORACLE_LEMON, Models.GENERATED); itemModelGenerator.register(ModItems.ORACLE_LEMON, Models.GENERATED);
itemModelGenerator.register(ModItems.GREEN_BRICKS, Models.GENERATED); itemModelGenerator.register(ModItems.GREEN_BRICKS, Models.GENERATED);
itemModelGenerator.register(ModItems.STABLE_ENTROPY, Models.GENERATED);
itemModelGenerator.register(ModItems.INFERNAL_ASHES, Models.GENERATED); itemModelGenerator.register(ModItems.INFERNAL_ASHES, Models.GENERATED);
// itemModelGenerator.register(ModItems.WAND, Models.HANDHELD_ROD); // itemModelGenerator.register(ModItems.WAND, Models.HANDHELD_ROD);
itemModelGenerator.register(ModItems.PRISMA_STEEL, Models.GENERATED); itemModelGenerator.register(ModItems.PRISMA_STEEL, Models.GENERATED);
@@ -28,13 +28,20 @@ public class ModRecipeProvider extends FabricRecipeProvider {
@Override @Override
public void generate(RecipeExporter recipeExporter) { public void generate(RecipeExporter recipeExporter) {
List<ItemConvertible> ENTROPY_SMELTABLES = List.of(ModItems.RAW_ENTROPY, ModBlocks.ENTROPY_ORE, ModBlocks.DEEPSLATE_ENTROPY_ORE, ModBlocks.ENDTROPY_ORE); List<ItemConvertible> ENTROPY_SMELTABLES = List.of(ModItems.RAW_ENTROPY, ModBlocks.ENTROPY_ORE, ModBlocks.DEEPSLATE_ENTROPY_ORE);
List<ItemConvertible> ENDTROPY_SMELTABLES = List.of(ModItems.RAW_ENDTROPY, ModBlocks.ENDTROPY_ORE);
offerBlasting(recipeExporter, ENTROPY_SMELTABLES, RecipeCategory.MISC, ModItems.STABLE_ENTROPY, 0.5f, 2000, "stable_entropy"); offerBlasting(recipeExporter, ENTROPY_SMELTABLES, RecipeCategory.MISC, ModItems.STABLE_ENTROPY, 0.5f, 2000, "stable_entropy");
offerBlasting(recipeExporter, ENDTROPY_SMELTABLES, RecipeCategory.MISC, ModItems.STABLE_ENDTROPY, 0.5f, 2000, "stable_endtropy");
offerReversibleCompactingRecipes(recipeExporter, RecipeCategory.BUILDING_BLOCKS, ModItems.RAW_ENTROPY, RecipeCategory.DECORATIONS, ModBlocks.ENTROPY_BLOCK); offerReversibleCompactingRecipes(recipeExporter, RecipeCategory.BUILDING_BLOCKS, ModItems.RAW_ENTROPY, RecipeCategory.DECORATIONS, ModBlocks.ENTROPY_BLOCK);
offerReversibleCompactingRecipes(recipeExporter, RecipeCategory.BUILDING_BLOCKS, ModItems.STABLE_ENTROPY, RecipeCategory.DECORATIONS, ModBlocks.STABLE_ENTROPY_BLOCK); offerReversibleCompactingRecipes(recipeExporter, RecipeCategory.BUILDING_BLOCKS, ModItems.STABLE_ENTROPY, RecipeCategory.DECORATIONS, ModBlocks.STABLE_ENTROPY_BLOCK);
// ENDTROPY BLOCKS
// offerReversibleCompactingRecipes(recipeExporter, RecipeCategory.BUILDING_BLOCKS, ModItems.RAW_ENTROPY, RecipeCategory.DECORATIONS, ModBlocks.ENDTROPY_BLOCK);
// offerReversibleCompactingRecipes(recipeExporter, RecipeCategory.BUILDING_BLOCKS, ModItems.STABLE_ENTROPY, RecipeCategory.DECORATIONS, ModBlocks.STABLE_ENDTROPY_BLOCK);
offerReversibleCompactingRecipes(recipeExporter, RecipeCategory.BUILDING_BLOCKS, ModItems.PRISMA_STEEL, RecipeCategory.DECORATIONS, ModBlocks.PRISMA_STEEL_BLOCK); offerReversibleCompactingRecipes(recipeExporter, RecipeCategory.BUILDING_BLOCKS, ModItems.PRISMA_STEEL, RecipeCategory.DECORATIONS, ModBlocks.PRISMA_STEEL_BLOCK);
offerReversibleCompactingRecipes(recipeExporter, RecipeCategory.BUILDING_BLOCKS, ModItems.INFERNAL_ASHES, RecipeCategory.DECORATIONS, ModBlocks.INFERNAL_ASHES_BLOCK);
offerAllFoodCookingRecipes(recipeExporter, 200, ModItems.LEMON, ModItems.COOKED_LEMON, 0.35F); offerAllFoodCookingRecipes(recipeExporter, 200, ModItems.LEMON, ModItems.COOKED_LEMON, 0.35F);
@@ -16,15 +16,16 @@ public class ModItemGroups {
.icon(() -> new ItemStack(ModItems.RAW_ENTROPY)) .icon(() -> new ItemStack(ModItems.RAW_ENTROPY))
.displayName(Text.translatable("itemgroup.acesbs.2_items")) .displayName(Text.translatable("itemgroup.acesbs.2_items"))
.entries((displayContext, entries) -> { .entries((displayContext, entries) -> {
entries.add(ModItems.LEMON);
entries.add(ModItems.COOKED_LEMON);
entries.add(ModItems.ORACLE_LEMON);
entries.add(ModItems.RAW_ENTROPY); entries.add(ModItems.RAW_ENTROPY);
entries.add(ModItems.STABLE_ENTROPY); entries.add(ModItems.STABLE_ENTROPY);
entries.add(ModItems.INFERNAL_ASHES); entries.add(ModItems.INFERNAL_ASHES);
entries.add(ModItems.GREEN_BRICKS); entries.add(ModItems.RAW_ENDTROPY);
entries.add(ModItems.STABLE_ENDTROPY);
entries.add(ModItems.PRISMA_STEEL); entries.add(ModItems.PRISMA_STEEL);
entries.add(ModItems.PRISMA_SMITHING_TEMPLATE); entries.add(ModItems.LEMON);
entries.add(ModItems.COOKED_LEMON);
entries.add(ModItems.ORACLE_LEMON);
entries.add(ModItems.GREEN_BRICKS);
entries.add(ModItems.CRAB_RAVE_MUSIC_DISC); entries.add(ModItems.CRAB_RAVE_MUSIC_DISC);
entries.add(ModItems.TOBACCO_SEEDS); entries.add(ModItems.TOBACCO_SEEDS);
entries.add(ModItems.TOBACCO); entries.add(ModItems.TOBACCO);
@@ -39,10 +40,12 @@ public class ModItemGroups {
.entries((displayContext, entries) -> { .entries((displayContext, entries) -> {
entries.add(ModBlocks.ENTROPY_ORE); entries.add(ModBlocks.ENTROPY_ORE);
entries.add(ModBlocks.DEEPSLATE_ENTROPY_ORE); entries.add(ModBlocks.DEEPSLATE_ENTROPY_ORE);
entries.add(ModBlocks.INFERNAL_ASHES_ORE);
entries.add(ModBlocks.ENDTROPY_ORE);
entries.add(ModBlocks.ENTROPY_BLOCK); entries.add(ModBlocks.ENTROPY_BLOCK);
entries.add(ModBlocks.STABLE_ENTROPY_BLOCK); entries.add(ModBlocks.STABLE_ENTROPY_BLOCK);
entries.add(ModBlocks.INFERNAL_ASHES_ORE);
entries.add(ModBlocks.INFERNAL_ASHES_BLOCK);
entries.add(ModBlocks.ENDTROPY_ORE);
entries.add(ModBlocks.PRISMA_STEEL_BLOCK); entries.add(ModBlocks.PRISMA_STEEL_BLOCK);
entries.add(ModBlocks.LIZARD_PLANKS); entries.add(ModBlocks.LIZARD_PLANKS);
@@ -77,13 +80,13 @@ public class ModItemGroups {
.icon(() -> new ItemStack(ModItems.PRISMA_STEEL_SWORD)) .icon(() -> new ItemStack(ModItems.PRISMA_STEEL_SWORD))
.displayName(Text.translatable("itemgroup.acesbs.4_combat")) .displayName(Text.translatable("itemgroup.acesbs.4_combat"))
.entries((displayContext, entries) -> { .entries((displayContext, entries) -> {
entries.add(ModItems.PRISMA_STEEL);
entries.add(ModItems.PRISMA_STEEL_SWORD); entries.add(ModItems.PRISMA_STEEL_SWORD);
entries.add(ModItems.PRISMA_STEEL_AXE); entries.add(ModItems.PRISMA_STEEL_AXE);
entries.add(ModItems.PRISMA_STEEL_HELMET); entries.add(ModItems.PRISMA_STEEL_HELMET);
entries.add(ModItems.PRISMA_STEEL_CHESTPLATE); entries.add(ModItems.PRISMA_STEEL_CHESTPLATE);
entries.add(ModItems.PRISMA_STEEL_LEGGINGS); entries.add(ModItems.PRISMA_STEEL_LEGGINGS);
entries.add(ModItems.PRISMA_STEEL_BOOTS); entries.add(ModItems.PRISMA_STEEL_BOOTS);
entries.add(ModItems.PRISMA_SMITHING_TEMPLATE);
entries.add(ModItems.KAUPEN_BOW); entries.add(ModItems.KAUPEN_BOW);
entries.add(ModItems.BERSERKERS_PAULDRON); entries.add(ModItems.BERSERKERS_PAULDRON);
@@ -37,6 +37,8 @@ public class ModItems {
public static final Item WAND = registerItem("wand", new Wand(new Item.Settings().maxDamage(32))); public static final Item WAND = registerItem("wand", new Wand(new Item.Settings().maxDamage(32)));
public static final Item RAW_ENTROPY = registerItem("raw_entropy", new Item(new Item.Settings())); public static final Item RAW_ENTROPY = registerItem("raw_entropy", new Item(new Item.Settings()));
public static final Item STABLE_ENTROPY = registerItem("stable_entropy", new Item(new Item.Settings())); public static final Item STABLE_ENTROPY = registerItem("stable_entropy", new Item(new Item.Settings()));
public static final Item RAW_ENDTROPY = registerItem("raw_endtropy", new Item(new Item.Settings()));
public static final Item STABLE_ENDTROPY = registerItem("stable_endtropy", new Item(new Item.Settings()));
public static final Item INFERNAL_ASHES = registerItem("infernal_ashes", new Item(new Item.Settings())); public static final Item INFERNAL_ASHES = registerItem("infernal_ashes", new Item(new Item.Settings()));
public static final Item LEMON = registerItem("lemon", new Item(new Item.Settings().food(ModFoodComponent.LEMON))); public static final Item LEMON = registerItem("lemon", new Item(new Item.Settings().food(ModFoodComponent.LEMON)));
public static final Item COOKED_LEMON = registerItem("cooked_lemon", new Item(new Item.Settings().food(ModFoodComponent.COOKED_LEMON))); public static final Item COOKED_LEMON = registerItem("cooked_lemon", new Item(new Item.Settings().food(ModFoodComponent.COOKED_LEMON)));
@@ -3,6 +3,8 @@
"item.acesbs.raw_entropy": "Raw Entropy", "item.acesbs.raw_entropy": "Raw Entropy",
"item.acesbs.stable_entropy": "Stabilized Entropy", "item.acesbs.stable_entropy": "Stabilized Entropy",
"item.acesbs.infernal_ashes": "Infernal Ashes", "item.acesbs.infernal_ashes": "Infernal Ashes",
"item.acesbs.raw_endtropy": "Raw Endtropy",
"item.acesbs.stable_endtropy": "Stabilized Endtropy",
"item.acesbs.lemon": "Odd Lemon", "item.acesbs.lemon": "Odd Lemon",
"item.acesbs.cooked_lemon": "Cooked Odd Lemon", "item.acesbs.cooked_lemon": "Cooked Odd Lemon",
"item.acesbs.green_bricks": "Green Bricks", "item.acesbs.green_bricks": "Green Bricks",
@@ -88,6 +90,7 @@
"trim_pattern.acesbs.prisma": "Prisma Armor Pattern", "trim_pattern.acesbs.prisma": "Prisma Armor Pattern",
"block.acesbs.entropy_block": "Block of Raw Entropy", "block.acesbs.entropy_block": "Block of Raw Entropy",
"block.acesbs.infernal_ashes_block": "Block of Infernal Ashes",
"block.acesbs.prisma_steel_block": "Block of Prisma Steel", "block.acesbs.prisma_steel_block": "Block of Prisma Steel",
"block.acesbs.entropy_ore": "Entropic Ore", "block.acesbs.entropy_ore": "Entropic Ore",
"block.acesbs.deepslate_entropy_ore": "Deepslate Entropic Ore", "block.acesbs.deepslate_entropy_ore": "Deepslate Entropic Ore",
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB