diff --git a/gradle.properties b/gradle.properties index 95848ac..61d027f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ minecraft_version=1.20.1 yarn_mappings=1.20.1+build.10 loader_version=0.18.3 # Mod Properties -mod_version=26.3.29.1 +mod_version=26.3.30 maven_group=dev.tggamesyt archives_base_name=szar # Dependencies diff --git a/src/main/java/dev/tggamesyt/szar/EnderObsidian.java b/src/main/java/dev/tggamesyt/szar/EnderObsidian.java new file mode 100644 index 0000000..79c7f6d --- /dev/null +++ b/src/main/java/dev/tggamesyt/szar/EnderObsidian.java @@ -0,0 +1,25 @@ +package dev.tggamesyt.szar; + +import net.minecraft.block.AbstractBlock; +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.block.Blocks; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; + +public class EnderObsidian extends Block { + + public EnderObsidian(AbstractBlock.Settings settings) { + super(settings); + } + + @Override + public void afterBreak(World world, PlayerEntity player, BlockPos pos, BlockState state, net.minecraft.block.entity.BlockEntity blockEntity, net.minecraft.item.ItemStack stack) { + super.afterBreak(world, player, pos, state, blockEntity, stack); + + if (!world.isClient) { + world.setBlockState(pos, Szar.ENDER_ORE.getDefaultState()); + } + } +} diff --git a/src/main/java/dev/tggamesyt/szar/Szar.java b/src/main/java/dev/tggamesyt/szar/Szar.java index a695894..f8a5f33 100644 --- a/src/main/java/dev/tggamesyt/szar/Szar.java +++ b/src/main/java/dev/tggamesyt/szar/Szar.java @@ -390,6 +390,10 @@ public class Szar implements ModInitializer { entries.add(Szar.CHORUS_ENDSTONE_ITEM); entries.add(Szar.SMALL_CHORUS_ITEM); entries.add(Szar.SMALL_CHORUS_FLOWER_ITEM); + entries.add(Szar.ENDER_OBSIDIAN_ITEM); + entries.add(Szar.ENDER_ORE_ITEM); + entries.add(Szar.RAW_ENDER); + entries.add(Szar.ENDER_INGOT); // blueprint stuff entries.add(BlueprintBlocks.BLUEPRINT); entries.add(BlueprintBlocks.BLUEPRINT_DOOR_ITEM); @@ -1515,6 +1519,36 @@ public class Szar implements ModInitializer { RegistryKeys.BIOME, new Identifier(MOD_ID, "chorus_forest") ); + public static final Block ENDER_OBSIDIAN = Registry.register( + Registries.BLOCK, + new Identifier(MOD_ID, "ender_obsidian"), + new EnderObsidian(FabricBlockSettings.copyOf(Blocks.OBSIDIAN)) + ); + public static final Item ENDER_OBSIDIAN_ITEM = Registry.register( + Registries.ITEM, + new Identifier(MOD_ID, "ender_obsidian"), + new BlockItem(ENDER_OBSIDIAN, new FabricItemSettings()) + ); + public static final Block ENDER_ORE = Registry.register( + Registries.BLOCK, + new Identifier(MOD_ID, "ender_ore"), + new Block(FabricBlockSettings.copyOf(Blocks.OBSIDIAN)) + ); + public static final Item ENDER_ORE_ITEM = Registry.register( + Registries.ITEM, + new Identifier(MOD_ID, "ender_ore"), + new BlockItem(ENDER_ORE, new FabricItemSettings()) + ); + public static final Item RAW_ENDER = Registry.register( + Registries.ITEM, + new Identifier(MOD_ID, "raw_ender"), + new Item(new FabricItemSettings()) + ); + public static final Item ENDER_INGOT = Registry.register( + Registries.ITEM, + new Identifier(MOD_ID, "ender_ingot"), + new Item(new FabricItemSettings()) + ); // Blocks public static final TrackerBlock TRACKER_BLOCK = Registry.register( Registries.BLOCK, new Identifier(MOD_ID, "tracker"), diff --git a/src/main/resources/assets/szar/blockstates/ender_obsidian.json b/src/main/resources/assets/szar/blockstates/ender_obsidian.json new file mode 100644 index 0000000..d79d28e --- /dev/null +++ b/src/main/resources/assets/szar/blockstates/ender_obsidian.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "szar:block/ender_obsidian" + } + } +} diff --git a/src/main/resources/assets/szar/blockstates/ender_ore.json b/src/main/resources/assets/szar/blockstates/ender_ore.json new file mode 100644 index 0000000..d002e89 --- /dev/null +++ b/src/main/resources/assets/szar/blockstates/ender_ore.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "szar:block/ender_ore" + } + } +} diff --git a/src/main/resources/assets/szar/lang/en_us.json b/src/main/resources/assets/szar/lang/en_us.json index 0152570..8a8800e 100644 --- a/src/main/resources/assets/szar/lang/en_us.json +++ b/src/main/resources/assets/szar/lang/en_us.json @@ -202,5 +202,9 @@ "block.szar.chorus_endstone": "Chorus EndStone", "block.szar.small_chorus": "Small Chorus", - "block.szar.small_chorus_flower": "Small Chorus Flower" + "block.szar.small_chorus_flower": "Small Chorus Flower", + "block.szar.ender_obsidian": "Ender Obsidian", + "block.szar.ender_ore": "Ender Ore", + "item.szar.raw_ender": "Raw Ender", + "item.szar.ender_ingot": "Ender Ingot" } diff --git a/src/main/resources/assets/szar/models/block/ender_obsidian.json b/src/main/resources/assets/szar/models/block/ender_obsidian.json new file mode 100644 index 0000000..000822d --- /dev/null +++ b/src/main/resources/assets/szar/models/block/ender_obsidian.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "szar:block/ender_obsidian" + } +} diff --git a/src/main/resources/assets/szar/models/block/ender_ore.json b/src/main/resources/assets/szar/models/block/ender_ore.json new file mode 100644 index 0000000..ffb97b3 --- /dev/null +++ b/src/main/resources/assets/szar/models/block/ender_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "szar:block/ender_ore" + } +} diff --git a/src/main/resources/assets/szar/models/item/ender_ingot.json b/src/main/resources/assets/szar/models/item/ender_ingot.json new file mode 100644 index 0000000..a4df44a --- /dev/null +++ b/src/main/resources/assets/szar/models/item/ender_ingot.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "szar:item/ender_ingot" + } +} diff --git a/src/main/resources/assets/szar/models/item/ender_obsidian.json b/src/main/resources/assets/szar/models/item/ender_obsidian.json new file mode 100644 index 0000000..113cc40 --- /dev/null +++ b/src/main/resources/assets/szar/models/item/ender_obsidian.json @@ -0,0 +1,3 @@ +{ + "parent": "szar:block/ender_obsidian" +} diff --git a/src/main/resources/assets/szar/models/item/ender_ore.json b/src/main/resources/assets/szar/models/item/ender_ore.json new file mode 100644 index 0000000..4204e9f --- /dev/null +++ b/src/main/resources/assets/szar/models/item/ender_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "szar:block/ender_ore" +} diff --git a/src/main/resources/assets/szar/models/item/raw_ender.json b/src/main/resources/assets/szar/models/item/raw_ender.json new file mode 100644 index 0000000..44d8e21 --- /dev/null +++ b/src/main/resources/assets/szar/models/item/raw_ender.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "szar:item/raw_ender" + } +} diff --git a/src/main/resources/assets/szar/textures/block/crying_obsidian.png b/src/main/resources/assets/szar/textures/block/crying_obsidian.png new file mode 100644 index 0000000..df10b44 Binary files /dev/null and b/src/main/resources/assets/szar/textures/block/crying_obsidian.png differ diff --git a/src/main/resources/assets/szar/textures/block/ender_obsidian.png b/src/main/resources/assets/szar/textures/block/ender_obsidian.png new file mode 100644 index 0000000..53dabf9 Binary files /dev/null and b/src/main/resources/assets/szar/textures/block/ender_obsidian.png differ diff --git a/src/main/resources/assets/szar/textures/block/ender_ore.png b/src/main/resources/assets/szar/textures/block/ender_ore.png new file mode 100644 index 0000000..12c8722 Binary files /dev/null and b/src/main/resources/assets/szar/textures/block/ender_ore.png differ diff --git a/src/main/resources/assets/szar/textures/item/ender_ingot.png b/src/main/resources/assets/szar/textures/item/ender_ingot.png new file mode 100644 index 0000000..0ae630d Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/ender_ingot.png differ diff --git a/src/main/resources/assets/szar/textures/item/raw_ender.png b/src/main/resources/assets/szar/textures/item/raw_ender.png new file mode 100644 index 0000000..7664367 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/raw_ender.png differ diff --git a/src/main/resources/assets/szar/textures/item/raw_ender_1.png b/src/main/resources/assets/szar/textures/item/raw_ender_1.png new file mode 100644 index 0000000..dcbe535 Binary files /dev/null and b/src/main/resources/assets/szar/textures/item/raw_ender_1.png differ diff --git a/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json b/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json index 7e61b98..c307a42 100644 --- a/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json +++ b/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json @@ -3,6 +3,8 @@ "values": [ "szar:uranium_ore", "szar:niggerite_block", - "szar:chorus_endstone" + "szar:chorus_endstone", + "szar:ender_ore", + "szar:ender_obsidian" ] } diff --git a/src/main/resources/data/szar/loot_tables/blocks/ender_ore.json b/src/main/resources/data/szar/loot_tables/blocks/ender_ore.json new file mode 100644 index 0000000..b6dd8dc --- /dev/null +++ b/src/main/resources/data/szar/loot_tables/blocks/ender_ore.json @@ -0,0 +1,52 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "szar:ender_ore", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ], + "items": [ + "minecraft:diamond_pickaxe", + "minecraft:netherite_pickaxe" + ] + } + } + ] + }, + { + "type": "minecraft:item", + "name": "szar:raw_ender", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "items": [ + "minecraft:netherite_pickaxe" + ] + } + } + ] + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/szar/recipes/ender_ingot.json b/src/main/resources/data/szar/recipes/ender_ingot.json new file mode 100644 index 0000000..6564525 --- /dev/null +++ b/src/main/resources/data/szar/recipes/ender_ingot.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:smelting", + "ingredient": { + "item": "szar:raw_ender" + }, + "result": "szar:ender_ingot", + "experience": 5.0, + "cookingtime": 400 +} \ No newline at end of file