Crystal Entropy

This commit is contained in:
Vos
2025-11-18 20:30:04 -06:00
parent 841c1c50c5
commit f931d2f5e2
29 changed files with 368 additions and 3 deletions
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "acesbs:block/crystal_entropy"
}
}
}
@@ -0,0 +1,77 @@
{
"multipart": [
{
"apply": {
"model": "acesbs:block/crystal_entropy_pane_post"
}
},
{
"apply": {
"model": "acesbs:block/crystal_entropy_pane_side"
},
"when": {
"north": "true"
}
},
{
"apply": {
"model": "acesbs:block/crystal_entropy_pane_side",
"y": 90
},
"when": {
"east": "true"
}
},
{
"apply": {
"model": "acesbs:block/crystal_entropy_pane_side_alt"
},
"when": {
"south": "true"
}
},
{
"apply": {
"model": "acesbs:block/crystal_entropy_pane_side_alt",
"y": 90
},
"when": {
"west": "true"
}
},
{
"apply": {
"model": "acesbs:block/crystal_entropy_pane_noside"
},
"when": {
"north": "false"
}
},
{
"apply": {
"model": "acesbs:block/crystal_entropy_pane_noside_alt"
},
"when": {
"east": "false"
}
},
{
"apply": {
"model": "acesbs:block/crystal_entropy_pane_noside_alt",
"y": 90
},
"when": {
"south": "false"
}
},
{
"apply": {
"model": "acesbs:block/crystal_entropy_pane_noside",
"y": 270
},
"when": {
"west": "false"
}
}
]
}
@@ -0,0 +1,6 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "acesbs:block/crystal_entropy"
}
}
@@ -0,0 +1,6 @@
{
"parent": "minecraft:block/template_glass_pane_noside",
"textures": {
"pane": "acesbs:block/crystal_entropy"
}
}
@@ -0,0 +1,6 @@
{
"parent": "minecraft:block/template_glass_pane_noside_alt",
"textures": {
"pane": "acesbs:block/crystal_entropy"
}
}
@@ -0,0 +1,7 @@
{
"parent": "minecraft:block/template_glass_pane_post",
"textures": {
"edge": "acesbs:block/crystal_entropy_pane_top",
"pane": "acesbs:block/crystal_entropy"
}
}
@@ -0,0 +1,7 @@
{
"parent": "minecraft:block/template_glass_pane_side",
"textures": {
"edge": "acesbs:block/crystal_entropy_pane_top",
"pane": "acesbs:block/crystal_entropy"
}
}
@@ -0,0 +1,7 @@
{
"parent": "minecraft:block/template_glass_pane_side_alt",
"textures": {
"edge": "acesbs:block/crystal_entropy_pane_top",
"pane": "acesbs:block/crystal_entropy"
}
}
@@ -0,0 +1,3 @@
{
"parent": "acesbs:block/crystal_entropy"
}
@@ -0,0 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "acesbs:block/crystal_entropy"
}
}
@@ -0,0 +1,32 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_stable_entropy": {
"conditions": {
"items": [
{
"items": "acesbs:stable_entropy"
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "acesbs:crystal_entropy_from_stable_and_glass"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_the_recipe",
"has_stable_entropy"
]
],
"rewards": {
"recipes": [
"acesbs:crystal_entropy_from_stable_and_glass"
]
}
}
@@ -0,0 +1,32 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_crystal_entropy": {
"conditions": {
"items": [
{
"items": "acesbs:crystal_entropy"
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "acesbs:crystal_entropy_pane"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_the_recipe",
"has_crystal_entropy"
]
],
"rewards": {
"recipes": [
"acesbs:crystal_entropy_pane"
]
}
}
@@ -0,0 +1,32 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:match_tool",
"predicate": {
"predicates": {
"minecraft:enchantments": [
{
"enchantments": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
}
],
"entries": [
{
"type": "minecraft:item",
"name": "acesbs:crystal_entropy"
}
],
"rolls": 1.0
}
]
}
@@ -0,0 +1,32 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:match_tool",
"predicate": {
"predicates": {
"minecraft:enchantments": [
{
"enchantments": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
}
],
"entries": [
{
"type": "minecraft:item",
"name": "acesbs:crystal_entropy_pane"
}
],
"rolls": 1.0
}
]
}
@@ -0,0 +1,21 @@
{
"type": "minecraft:crafting_shaped",
"category": "misc",
"key": {
"#": {
"item": "minecraft:glass"
},
"S": {
"item": "acesbs:stable_entropy"
}
},
"pattern": [
"###",
"#S#",
"###"
],
"result": {
"count": 8,
"id": "acesbs:crystal_entropy"
}
}
@@ -0,0 +1,17 @@
{
"type": "minecraft:crafting_shaped",
"category": "misc",
"key": {
"#": {
"item": "acesbs:crystal_entropy"
}
},
"pattern": [
"###",
"###"
],
"result": {
"count": 16,
"id": "acesbs:crystal_entropy_pane"
}
}
@@ -15,7 +15,7 @@
"###"
],
"result": {
"count": 1,
"count": 4,
"id": "acesbs:oracle_lemon"
}
}
@@ -0,0 +1,6 @@
{
"values": [
"acesbs:crystal_entropy",
"acesbs:crystal_entropy_pane"
]
}
@@ -16,6 +16,8 @@ public class AcesBSClient implements ClientModInitializer {
public void onInitializeClient() {
BlockRenderLayerMap.INSTANCE.putBlock(ModBlocks.LEMONWOOD_DOOR, RenderLayer.getTranslucent());
BlockRenderLayerMap.INSTANCE.putBlock(ModBlocks.LEMONWOOD_TRAPDOOR, RenderLayer.getTranslucent());
BlockRenderLayerMap.INSTANCE.putBlock(ModBlocks.CRYSTAL_ENTROPY, RenderLayer.getTranslucent());
BlockRenderLayerMap.INSTANCE.putBlock(ModBlocks.CRYSTAL_ENTROPY_PANE, RenderLayer.getTranslucent());
BlockRenderLayerMap.INSTANCE.putBlock(ModBlocks.TOBACCO_CROP, RenderLayer.getCutout());
BlockRenderLayerMap.INSTANCE.putBlock(ModBlocks.LEMONWOOD_SAPLING, RenderLayer.getCutout());
BlockRenderLayerMap.INSTANCE.putBlock(ModBlocks.POTTED_LEMONWOOD_SAPLING, RenderLayer.getCutout());
@@ -90,4 +90,9 @@ X Fren (Stable Entropy on a Creeper)
Music Disk
X Crab Rave
X Lizard
X Lizard
Next Mod
Aces Mysteries
Puzzle textures.
@@ -239,6 +239,32 @@ public class ModBlocks {
)
);
public static final Block CRYSTAL_ENTROPY = registerBlock(
"crystal_entropy",
new TransparentBlock(
AbstractBlock.Settings.create()
.instrument(NoteBlockInstrument.HAT)
.strength(0.3F)
.sounds(BlockSoundGroup.GLASS)
.nonOpaque()
.allowsSpawning(Blocks::never)
.solidBlock(Blocks::never)
.suffocates(Blocks::never)
.blockVision(Blocks::never)
)
);
public static final Block CRYSTAL_ENTROPY_PANE = registerBlock(
"crystal_entropy_pane",
new PaneBlock(
AbstractBlock.Settings.create()
.instrument(NoteBlockInstrument.HAT)
.strength(0.3F)
.sounds(BlockSoundGroup.GLASS)
.nonOpaque()
)
);
public static final Block TOBACCO_CROP = registerBlockWithoutItem("tobacco_crop", new TobaccoCrop(
AbstractBlock.Settings.create()
.mapColor(MapColor.DARK_GREEN)
@@ -44,6 +44,9 @@ public class ModBlockTagProvider extends FabricTagProvider.BlockTagProvider {
.add(ModBlocks.LEMONWOOD_FENCE_GATE);
getOrCreateTagBuilder(BlockTags.WALLS)
.add(ModBlocks.LEMONWOOD_WALL);
getOrCreateTagBuilder(BlockTags.IMPERMEABLE)
.add(ModBlocks.CRYSTAL_ENTROPY)
.add(ModBlocks.CRYSTAL_ENTROPY_PANE);
getOrCreateTagBuilder(ModTags.Blocks.NEEDS_PRISMA_STEEL_TOOL);
// Currently Broken
// .addTag(BlockTags.NEEDS_IRON_TOOL);
@@ -58,6 +58,9 @@ public class ModLootTableProvider extends FabricBlockLootTableProvider {
addDrop(ModBlocks.STABLE_ENTROPY_BLOCK);
addDrop(ModBlocks.PRISMA_STEEL_BLOCK);
addDropWithSilkTouch(ModBlocks.CRYSTAL_ENTROPY);
addDropWithSilkTouch(ModBlocks.CRYSTAL_ENTROPY_PANE);
addDrop(ModBlocks.LEMONWOOD_LOG);
addDrop(ModBlocks.STRIPPED_LEMONWOOD_LOG);
@@ -30,6 +30,9 @@ public class ModModelProvider extends FabricModelProvider {
blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.STABLE_ENTROPY_BLOCK);
blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.PRISMA_STEEL_BLOCK);
// blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.CRYSTAL_ENTROPY);
blockStateModelGenerator.registerGlassPane(ModBlocks.CRYSTAL_ENTROPY, ModBlocks.CRYSTAL_ENTROPY_PANE);
BlockStateModelGenerator.BlockTexturePool lizardPool = blockStateModelGenerator.registerCubeAllModelTexturePool(ModBlocks.LIZARD_PLANKS);
lizardPool.button(ModBlocks.LIZARD_BUTTON);
@@ -38,7 +38,7 @@ public class ModRecipeProvider extends FabricRecipeProvider {
offerAllFoodCookingRecipes(recipeExporter, 200, ModItems.LEMON, ModItems.COOKED_LEMON, 0.35F);
ShapedRecipeJsonBuilder.create(RecipeCategory.COMBAT, ModItems.ORACLE_LEMON)
ShapedRecipeJsonBuilder.create(RecipeCategory.COMBAT, ModItems.ORACLE_LEMON, 4)
.pattern("###")
.pattern("#L#")
.pattern("###")
@@ -47,6 +47,21 @@ public class ModRecipeProvider extends FabricRecipeProvider {
.criterion(hasItem(ModItems.LEMON), conditionsFromItem(ModItems.LEMON))
.offerTo(recipeExporter);
ShapedRecipeJsonBuilder.create(RecipeCategory.DECORATIONS, ModBlocks.CRYSTAL_ENTROPY, 8)
.pattern("###")
.pattern("#S#")
.pattern("###")
.input('#', Blocks.GLASS)
.input('S', ModItems.STABLE_ENTROPY)
.criterion(hasItem(ModItems.STABLE_ENTROPY), conditionsFromItem(ModItems.STABLE_ENTROPY))
.offerTo(recipeExporter, Identifier.of(AcesBS.MOD_ID, "crystal_entropy_from_stable_and_glass"));
ShapedRecipeJsonBuilder.create(RecipeCategory.DECORATIONS, ModBlocks.CRYSTAL_ENTROPY_PANE, 16)
.pattern("###")
.pattern("###")
.input('#', ModBlocks.CRYSTAL_ENTROPY)
.criterion(hasItem(ModBlocks.CRYSTAL_ENTROPY), conditionsFromItem(ModBlocks.CRYSTAL_ENTROPY))
.offerTo(recipeExporter);
ShapelessRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, ModBlocks.LIZARD_PLANKS, 4)
.input(Blocks.BIRCH_PLANKS, 4)
@@ -66,6 +66,8 @@ public class ModItemGroups {
entries.add(ModBlocks.LEMONWOOD_TRAPDOOR);
entries.add(ModBlocks.EVIL_BLOCK);
entries.add(ModBlocks.CRYSTAL_ENTROPY);
entries.add(ModBlocks.CRYSTAL_ENTROPY_PANE);
})
.build();
@@ -117,6 +117,8 @@
"block.acesbs.lemonwood_trapdoor": "Lemonwood Trapdoor",
"block.acesbs.evil_block": "Evil Block",
"block.acesbs.crystal_entropy": "Crystallized Entropy",
"block.acesbs.crystal_entropy_pane": "Crystallized Entropy Pane",
"block.acesbs.tobacco_crop": "Tobacco Crop",
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB