diff --git a/src/main/generated/assets/acesbs/blockstates/crystal_entropy.json b/src/main/generated/assets/acesbs/blockstates/crystal_entropy.json new file mode 100644 index 0000000..cb2043b --- /dev/null +++ b/src/main/generated/assets/acesbs/blockstates/crystal_entropy.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "acesbs:block/crystal_entropy" + } + } +} \ No newline at end of file diff --git a/src/main/generated/assets/acesbs/blockstates/crystal_entropy_pane.json b/src/main/generated/assets/acesbs/blockstates/crystal_entropy_pane.json new file mode 100644 index 0000000..ec2d4ad --- /dev/null +++ b/src/main/generated/assets/acesbs/blockstates/crystal_entropy_pane.json @@ -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" + } + } + ] +} \ No newline at end of file diff --git a/src/main/generated/assets/acesbs/models/block/crystal_entropy.json b/src/main/generated/assets/acesbs/models/block/crystal_entropy.json new file mode 100644 index 0000000..2748cb1 --- /dev/null +++ b/src/main/generated/assets/acesbs/models/block/crystal_entropy.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "acesbs:block/crystal_entropy" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/acesbs/models/block/crystal_entropy_pane_noside.json b/src/main/generated/assets/acesbs/models/block/crystal_entropy_pane_noside.json new file mode 100644 index 0000000..1c7e377 --- /dev/null +++ b/src/main/generated/assets/acesbs/models/block/crystal_entropy_pane_noside.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_glass_pane_noside", + "textures": { + "pane": "acesbs:block/crystal_entropy" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/acesbs/models/block/crystal_entropy_pane_noside_alt.json b/src/main/generated/assets/acesbs/models/block/crystal_entropy_pane_noside_alt.json new file mode 100644 index 0000000..2349219 --- /dev/null +++ b/src/main/generated/assets/acesbs/models/block/crystal_entropy_pane_noside_alt.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_glass_pane_noside_alt", + "textures": { + "pane": "acesbs:block/crystal_entropy" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/acesbs/models/block/crystal_entropy_pane_post.json b/src/main/generated/assets/acesbs/models/block/crystal_entropy_pane_post.json new file mode 100644 index 0000000..0f01d7d --- /dev/null +++ b/src/main/generated/assets/acesbs/models/block/crystal_entropy_pane_post.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/template_glass_pane_post", + "textures": { + "edge": "acesbs:block/crystal_entropy_pane_top", + "pane": "acesbs:block/crystal_entropy" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/acesbs/models/block/crystal_entropy_pane_side.json b/src/main/generated/assets/acesbs/models/block/crystal_entropy_pane_side.json new file mode 100644 index 0000000..11446b1 --- /dev/null +++ b/src/main/generated/assets/acesbs/models/block/crystal_entropy_pane_side.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/template_glass_pane_side", + "textures": { + "edge": "acesbs:block/crystal_entropy_pane_top", + "pane": "acesbs:block/crystal_entropy" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/acesbs/models/block/crystal_entropy_pane_side_alt.json b/src/main/generated/assets/acesbs/models/block/crystal_entropy_pane_side_alt.json new file mode 100644 index 0000000..2e14f12 --- /dev/null +++ b/src/main/generated/assets/acesbs/models/block/crystal_entropy_pane_side_alt.json @@ -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" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/acesbs/models/item/crystal_entropy.json b/src/main/generated/assets/acesbs/models/item/crystal_entropy.json new file mode 100644 index 0000000..875cbaf --- /dev/null +++ b/src/main/generated/assets/acesbs/models/item/crystal_entropy.json @@ -0,0 +1,3 @@ +{ + "parent": "acesbs:block/crystal_entropy" +} \ No newline at end of file diff --git a/src/main/generated/assets/acesbs/models/item/crystal_entropy_pane.json b/src/main/generated/assets/acesbs/models/item/crystal_entropy_pane.json new file mode 100644 index 0000000..2c7e9de --- /dev/null +++ b/src/main/generated/assets/acesbs/models/item/crystal_entropy_pane.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "acesbs:block/crystal_entropy" + } +} \ No newline at end of file diff --git a/src/main/generated/data/acesbs/advancement/recipes/decorations/crystal_entropy_from_stable_and_glass.json b/src/main/generated/data/acesbs/advancement/recipes/decorations/crystal_entropy_from_stable_and_glass.json new file mode 100644 index 0000000..eb91a7d --- /dev/null +++ b/src/main/generated/data/acesbs/advancement/recipes/decorations/crystal_entropy_from_stable_and_glass.json @@ -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" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/acesbs/advancement/recipes/decorations/crystal_entropy_pane.json b/src/main/generated/data/acesbs/advancement/recipes/decorations/crystal_entropy_pane.json new file mode 100644 index 0000000..c30bf4d --- /dev/null +++ b/src/main/generated/data/acesbs/advancement/recipes/decorations/crystal_entropy_pane.json @@ -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" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/acesbs/loot_table/blocks/crystal_entropy.json b/src/main/generated/data/acesbs/loot_table/blocks/crystal_entropy.json new file mode 100644 index 0000000..6c1dd3d --- /dev/null +++ b/src/main/generated/data/acesbs/loot_table/blocks/crystal_entropy.json @@ -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 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/acesbs/loot_table/blocks/crystal_entropy_pane.json b/src/main/generated/data/acesbs/loot_table/blocks/crystal_entropy_pane.json new file mode 100644 index 0000000..879e579 --- /dev/null +++ b/src/main/generated/data/acesbs/loot_table/blocks/crystal_entropy_pane.json @@ -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 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/acesbs/recipe/crystal_entropy_from_stable_and_glass.json b/src/main/generated/data/acesbs/recipe/crystal_entropy_from_stable_and_glass.json new file mode 100644 index 0000000..9b984bb --- /dev/null +++ b/src/main/generated/data/acesbs/recipe/crystal_entropy_from_stable_and_glass.json @@ -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" + } +} \ No newline at end of file diff --git a/src/main/generated/data/acesbs/recipe/crystal_entropy_pane.json b/src/main/generated/data/acesbs/recipe/crystal_entropy_pane.json new file mode 100644 index 0000000..1382422 --- /dev/null +++ b/src/main/generated/data/acesbs/recipe/crystal_entropy_pane.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "acesbs:crystal_entropy" + } + }, + "pattern": [ + "###", + "###" + ], + "result": { + "count": 16, + "id": "acesbs:crystal_entropy_pane" + } +} \ No newline at end of file diff --git a/src/main/generated/data/acesbs/recipe/oracle_lemon.json b/src/main/generated/data/acesbs/recipe/oracle_lemon.json index f4ab1e6..7256314 100644 --- a/src/main/generated/data/acesbs/recipe/oracle_lemon.json +++ b/src/main/generated/data/acesbs/recipe/oracle_lemon.json @@ -15,7 +15,7 @@ "###" ], "result": { - "count": 1, + "count": 4, "id": "acesbs:oracle_lemon" } } \ No newline at end of file diff --git a/src/main/generated/data/minecraft/tags/block/impermeable.json b/src/main/generated/data/minecraft/tags/block/impermeable.json new file mode 100644 index 0000000..9a4abda --- /dev/null +++ b/src/main/generated/data/minecraft/tags/block/impermeable.json @@ -0,0 +1,6 @@ +{ + "values": [ + "acesbs:crystal_entropy", + "acesbs:crystal_entropy_pane" + ] +} \ No newline at end of file diff --git a/src/main/java/com/acethewildfire/acesbs/AcesBSClient.java b/src/main/java/com/acethewildfire/acesbs/AcesBSClient.java index 5bde8e5..e2a4595 100644 --- a/src/main/java/com/acethewildfire/acesbs/AcesBSClient.java +++ b/src/main/java/com/acethewildfire/acesbs/AcesBSClient.java @@ -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()); diff --git a/src/main/java/com/acethewildfire/acesbs/TODO.txt b/src/main/java/com/acethewildfire/acesbs/TODO.txt index 53dc290..2b59921 100644 --- a/src/main/java/com/acethewildfire/acesbs/TODO.txt +++ b/src/main/java/com/acethewildfire/acesbs/TODO.txt @@ -90,4 +90,9 @@ X Fren (Stable Entropy on a Creeper) Music Disk X Crab Rave -X Lizard \ No newline at end of file +X Lizard + + +Next Mod +Aces Mysteries +Puzzle textures. \ No newline at end of file diff --git a/src/main/java/com/acethewildfire/acesbs/block/ModBlocks.java b/src/main/java/com/acethewildfire/acesbs/block/ModBlocks.java index 5b932b9..6ed3638 100644 --- a/src/main/java/com/acethewildfire/acesbs/block/ModBlocks.java +++ b/src/main/java/com/acethewildfire/acesbs/block/ModBlocks.java @@ -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) diff --git a/src/main/java/com/acethewildfire/acesbs/datagen/ModBlockTagProvider.java b/src/main/java/com/acethewildfire/acesbs/datagen/ModBlockTagProvider.java index c4a9328..b620076 100644 --- a/src/main/java/com/acethewildfire/acesbs/datagen/ModBlockTagProvider.java +++ b/src/main/java/com/acethewildfire/acesbs/datagen/ModBlockTagProvider.java @@ -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); diff --git a/src/main/java/com/acethewildfire/acesbs/datagen/ModLootTableProvider.java b/src/main/java/com/acethewildfire/acesbs/datagen/ModLootTableProvider.java index 8440a8e..fa547d2 100644 --- a/src/main/java/com/acethewildfire/acesbs/datagen/ModLootTableProvider.java +++ b/src/main/java/com/acethewildfire/acesbs/datagen/ModLootTableProvider.java @@ -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); diff --git a/src/main/java/com/acethewildfire/acesbs/datagen/ModModelProvider.java b/src/main/java/com/acethewildfire/acesbs/datagen/ModModelProvider.java index 78723b9..ca96634 100644 --- a/src/main/java/com/acethewildfire/acesbs/datagen/ModModelProvider.java +++ b/src/main/java/com/acethewildfire/acesbs/datagen/ModModelProvider.java @@ -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); diff --git a/src/main/java/com/acethewildfire/acesbs/datagen/ModRecipeProvider.java b/src/main/java/com/acethewildfire/acesbs/datagen/ModRecipeProvider.java index 50bdb9f..d831b58 100644 --- a/src/main/java/com/acethewildfire/acesbs/datagen/ModRecipeProvider.java +++ b/src/main/java/com/acethewildfire/acesbs/datagen/ModRecipeProvider.java @@ -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) diff --git a/src/main/java/com/acethewildfire/acesbs/item/ModItemGroups.java b/src/main/java/com/acethewildfire/acesbs/item/ModItemGroups.java index e0845d2..5efb2c4 100644 --- a/src/main/java/com/acethewildfire/acesbs/item/ModItemGroups.java +++ b/src/main/java/com/acethewildfire/acesbs/item/ModItemGroups.java @@ -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(); diff --git a/src/main/resources/assets/acesbs/lang/en_us.json b/src/main/resources/assets/acesbs/lang/en_us.json index 81bde91..77f00e5 100644 --- a/src/main/resources/assets/acesbs/lang/en_us.json +++ b/src/main/resources/assets/acesbs/lang/en_us.json @@ -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", diff --git a/src/main/resources/assets/acesbs/textures/block/crystal_entropy.png b/src/main/resources/assets/acesbs/textures/block/crystal_entropy.png new file mode 100644 index 0000000..11d1dba Binary files /dev/null and b/src/main/resources/assets/acesbs/textures/block/crystal_entropy.png differ diff --git a/src/main/resources/assets/acesbs/textures/block/crystal_entropy_pane_top.png b/src/main/resources/assets/acesbs/textures/block/crystal_entropy_pane_top.png new file mode 100644 index 0000000..9b95a0e Binary files /dev/null and b/src/main/resources/assets/acesbs/textures/block/crystal_entropy_pane_top.png differ