diff --git a/gradle.properties b/gradle.properties index 6693c5a..19e5e2d 100755 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ # Done to increase the memory available to gradle. -org.gradle.jvmargs=-Xmx2G +org.gradle.jvmargs=-Xmx6G # Fabric Properties # check these on https://fabricmc.net/develop diff --git a/src/main/java/net/arcmods/ryantlg/blocks/jeremiumBlocks.java b/src/main/java/net/arcmods/ryantlg/blocks/jeremiumBlocks.java index bc87b80..6e3cd86 100644 --- a/src/main/java/net/arcmods/ryantlg/blocks/jeremiumBlocks.java +++ b/src/main/java/net/arcmods/ryantlg/blocks/jeremiumBlocks.java @@ -14,6 +14,7 @@ public class jeremiumBlocks { public static final Block JEREMIUM_BLOCK = new jeremiumBlock(FabricBlockSettings.of(Material.METAL).strength(4.0f).requiresTool().luminance(16)); public static final Block JEREMIUM_ORE = new jeremiumBlock(FabricBlockSettings.of(Material.STONE).strength(4.0f).requiresTool().luminance(5)); + public static final Block DEEPSLATE_JEREMIUM_ORE = new jeremiumBlock(FabricBlockSettings.of(Material.STONE).strength(4.0f).luminance(5)); public static void register() { Registry.register(Registry.BLOCK, new Identifier("gamermod", "jeremium_ore"), JEREMIUM_ORE); @@ -22,6 +23,9 @@ public class jeremiumBlocks { Registry.register(Registry.BLOCK, new Identifier("gamermod", "jeremium_block"), JEREMIUM_BLOCK); Registry.register(Registry.ITEM, new Identifier("gamermod", "jeremium_block"), new BlockItem(JEREMIUM_BLOCK, new FabricItemSettings().group(gamermod.CHING).fireproof().maxCount(56))); + Registry.register(Registry.BLOCK, new Identifier("gamermod", "deepslate_jeremium_ore"), DEEPSLATE_JEREMIUM_ORE); + Registry.register(Registry.ITEM, new Identifier("gamermod", "deepslate_jeremium_ore"), new BlockItem(DEEPSLATE_JEREMIUM_ORE, new FabricItemSettings().group(gamermod.CHING).fireproof().maxCount(56))); + gamermod.LOGGER.info("jeremiumBlocks loaded"); } diff --git a/src/main/java/net/arcmods/ryantlg/customToolItemClasses/jeremium/JeremiumSwordItem.java b/src/main/java/net/arcmods/ryantlg/customToolItemClasses/jeremium/JeremiumSwordItem.java index 54b0fd1..f90f0fb 100755 --- a/src/main/java/net/arcmods/ryantlg/customToolItemClasses/jeremium/JeremiumSwordItem.java +++ b/src/main/java/net/arcmods/ryantlg/customToolItemClasses/jeremium/JeremiumSwordItem.java @@ -2,6 +2,10 @@ package net.arcmods.ryantlg.customToolItemClasses.jeremium; import java.util.List; + +import net.minecraft.entity.LivingEntity; +import net.minecraft.entity.effect.StatusEffectInstance; +import net.minecraft.entity.effect.StatusEffects; import net.minecraft.client.item.TooltipContext; import net.minecraft.item.ItemStack; import net.minecraft.item.SwordItem; @@ -18,5 +22,12 @@ public class JeremiumSwordItem extends SwordItem { @Override public void appendTooltip(ItemStack itemStack, World world, List tooltip, TooltipContext tooltipContext) { tooltip.add( new TranslatableText("item.gamermod.jeremium_sword.tooltip").formatted(Formatting.DARK_PURPLE, Formatting.ITALIC) ); -} + } + + @Override + public boolean postHit(ItemStack stack, LivingEntity attackee, LivingEntity attacker) { + attackee.addStatusEffect(new StatusEffectInstance(StatusEffects.SLOWNESS, 200, 3), attacker); + return super.postHit(stack, attackee, attacker); + } + } diff --git a/src/main/java/net/arcmods/ryantlg/customToolItemClasses/omnium/OmniumSwordItem.java b/src/main/java/net/arcmods/ryantlg/customToolItemClasses/omnium/OmniumSwordItem.java index fa90d8c..2ec6359 100755 --- a/src/main/java/net/arcmods/ryantlg/customToolItemClasses/omnium/OmniumSwordItem.java +++ b/src/main/java/net/arcmods/ryantlg/customToolItemClasses/omnium/OmniumSwordItem.java @@ -18,5 +18,5 @@ public class OmniumSwordItem extends SwordItem { @Override public void appendTooltip(ItemStack itemStack, World world, List tooltip, TooltipContext tooltipContext) { tooltip.add( new TranslatableText("item.gamermod.omnium_sword.tooltip").formatted(Formatting.DARK_PURPLE, Formatting.ITALIC) ); -} + } } diff --git a/src/main/java/net/arcmods/ryantlg/gamermod.java b/src/main/java/net/arcmods/ryantlg/gamermod.java index ff3a7db..2114d11 100755 --- a/src/main/java/net/arcmods/ryantlg/gamermod.java +++ b/src/main/java/net/arcmods/ryantlg/gamermod.java @@ -20,6 +20,7 @@ import net.arcmods.ryantlg.items.tools.omniumTools; import net.arcmods.ryantlg.items.tools.oriumTools; import net.arcmods.ryantlg.lootTables.grassVanillaWeem; import net.arcmods.ryantlg.statusEffects.GamerEffects; +import net.arcmods.ryantlg.worldGeneration.JeremiumOreGen; import net.arcmods.ryantlg.worldGeneration.OmniumOreGen; import net.arcmods.ryantlg.worldGeneration.OriumOreGen; import net.fabricmc.api.ModInitializer; @@ -101,6 +102,8 @@ public class gamermod implements ModInitializer { jeremiumBlocks.register(); jeremiumArmour.register(); jeremiumTools.register(); + JeremiumOreGen.register(); + } } \ No newline at end of file diff --git a/src/main/java/net/arcmods/ryantlg/todo.txt b/src/main/java/net/arcmods/ryantlg/todo.txt index 5a9cb0a..dc7bd57 100755 --- a/src/main/java/net/arcmods/ryantlg/todo.txt +++ b/src/main/java/net/arcmods/ryantlg/todo.txt @@ -6,4 +6,5 @@ crafting recipes advancements argentine geranine -jeremium \ No newline at end of file +jeremium +soulium \ No newline at end of file diff --git a/src/main/java/net/arcmods/ryantlg/worldGeneration/JeremiumOreGen.java b/src/main/java/net/arcmods/ryantlg/worldGeneration/JeremiumOreGen.java new file mode 100644 index 0000000..bb94f92 --- /dev/null +++ b/src/main/java/net/arcmods/ryantlg/worldGeneration/JeremiumOreGen.java @@ -0,0 +1,48 @@ +package net.arcmods.ryantlg.worldGeneration; + +import net.arcmods.ryantlg.gamermod; +import net.arcmods.ryantlg.blocks.jeremiumBlocks; +import net.fabricmc.fabric.api.biome.v1.BiomeModifications; +import net.fabricmc.fabric.api.biome.v1.BiomeSelectors; +import net.minecraft.util.registry.RegistryKey; +import net.minecraft.world.gen.YOffset; +import net.minecraft.world.gen.GenerationStep; +import net.minecraft.world.gen.decorator.CountPlacementModifier; +import net.minecraft.world.gen.decorator.HeightRangePlacementModifier; +import net.minecraft.world.gen.decorator.SquarePlacementModifier; +import net.minecraft.world.gen.feature.ConfiguredFeature; +import net.minecraft.world.gen.feature.Feature; +import net.minecraft.world.gen.feature.OreConfiguredFeatures; +import net.minecraft.world.gen.feature.OreFeatureConfig; +import net.minecraft.world.gen.feature.PlacedFeature; +import net.minecraft.util.registry.BuiltinRegistries; +import net.minecraft.util.registry.Registry; +import net.minecraft.util.Identifier; + +public class JeremiumOreGen { + + private static ConfiguredFeature ORE_CONFIGURED_FEATURE = Feature.ORE.configure(new OreFeatureConfig( + OreConfiguredFeatures.DEEPSLATE_ORE_REPLACEABLES, + jeremiumBlocks.DEEPSLATE_JEREMIUM_ORE.getDefaultState(), + 4)); // vein size + + public static PlacedFeature ORE_PLACED_FEATURE = ORE_CONFIGURED_FEATURE.withPlacement( + CountPlacementModifier.of(1), // number of veins per chunk + SquarePlacementModifier.of(), // spreading horizontally + HeightRangePlacementModifier.uniform(YOffset.getBottom(), YOffset.fixed(-4))); // height + + + + public static void register() { + gamermod.LOGGER.info("JeremiumOreGen loaded"); + + Registry.register(BuiltinRegistries.CONFIGURED_FEATURE, + new Identifier("gamermod", "deepslate_jeremium_ore"), ORE_CONFIGURED_FEATURE); + Registry.register(BuiltinRegistries.PLACED_FEATURE, new Identifier("gamermod", "deepslate_jeremium_ore"), + ORE_PLACED_FEATURE); + BiomeModifications.addFeature(BiomeSelectors.foundInOverworld(), GenerationStep.Feature.UNDERGROUND_ORES, + RegistryKey.of(Registry.PLACED_FEATURE_KEY, + new Identifier("gamermod", "deepslate_jeremium_ore"))); + + } +} diff --git a/src/main/resources/assets/gamermod/blockstates/deepslate_jeremium_ore.json b/src/main/resources/assets/gamermod/blockstates/deepslate_jeremium_ore.json new file mode 100644 index 0000000..72fafaf --- /dev/null +++ b/src/main/resources/assets/gamermod/blockstates/deepslate_jeremium_ore.json @@ -0,0 +1,5 @@ +{ + "variants": { + "": { "model": "gamermod:block/deepslate_jeremium_ore" } + } + } \ No newline at end of file diff --git a/src/main/resources/assets/gamermod/models/block/deepslate_jeremium_ore.json b/src/main/resources/assets/gamermod/models/block/deepslate_jeremium_ore.json new file mode 100644 index 0000000..977a6b9 --- /dev/null +++ b/src/main/resources/assets/gamermod/models/block/deepslate_jeremium_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "gamermod:block/deepslate_jeremium_ore" + } + } \ No newline at end of file diff --git a/src/main/resources/assets/gamermod/models/item/deepslate_jeremium_ore.json b/src/main/resources/assets/gamermod/models/item/deepslate_jeremium_ore.json new file mode 100644 index 0000000..5b4dfe1 --- /dev/null +++ b/src/main/resources/assets/gamermod/models/item/deepslate_jeremium_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "gamermod:block/deepslate_jeremium_ore" + } \ No newline at end of file diff --git a/src/main/resources/assets/gamermod/textures/block/deepslate_jeremium_ore.png b/src/main/resources/assets/gamermod/textures/block/deepslate_jeremium_ore.png new file mode 100644 index 0000000..6395e2e Binary files /dev/null and b/src/main/resources/assets/gamermod/textures/block/deepslate_jeremium_ore.png differ diff --git a/src/main/resources/data/gamermod/tags/blocks/ores.json b/src/main/resources/data/gamermod/tags/blocks/ores.json index 469f7b9..068545f 100755 --- a/src/main/resources/data/gamermod/tags/blocks/ores.json +++ b/src/main/resources/data/gamermod/tags/blocks/ores.json @@ -2,6 +2,8 @@ "replace": false, "values": [ "gamermod:omnium_ore", - "gamermod:orium_ore" + "gamermod:orium_ore", + "gamermod:jeremium_ore", + "gamermod:deepslate_jeremium_ore" ] } \ No newline at end of file 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 96871d8..b929612 100755 --- a/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json +++ b/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json @@ -4,6 +4,9 @@ "gamermod:omnium_block", "gamermod:omnium_ore", "gamermod:orium_block", - "gamermod:orium_ore" + "gamermod:orium_ore", + "gamermod:jeremium_ore", + "gamermod:deepslate_jeremium_ore", + "gamermod:jeremium_block" ] } \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/blocks/needs_diamond_tool.json b/src/main/resources/data/minecraft/tags/blocks/needs_diamond_tool.json index 96871d8..b929612 100755 --- a/src/main/resources/data/minecraft/tags/blocks/needs_diamond_tool.json +++ b/src/main/resources/data/minecraft/tags/blocks/needs_diamond_tool.json @@ -4,6 +4,9 @@ "gamermod:omnium_block", "gamermod:omnium_ore", "gamermod:orium_block", - "gamermod:orium_ore" + "gamermod:orium_ore", + "gamermod:jeremium_ore", + "gamermod:deepslate_jeremium_ore", + "gamermod:jeremium_block" ] } \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/blocks/needs_netherite_tool.json b/src/main/resources/data/minecraft/tags/blocks/needs_netherite_tool.json index 96871d8..b929612 100755 --- a/src/main/resources/data/minecraft/tags/blocks/needs_netherite_tool.json +++ b/src/main/resources/data/minecraft/tags/blocks/needs_netherite_tool.json @@ -4,6 +4,9 @@ "gamermod:omnium_block", "gamermod:omnium_ore", "gamermod:orium_block", - "gamermod:orium_ore" + "gamermod:orium_ore", + "gamermod:jeremium_ore", + "gamermod:deepslate_jeremium_ore", + "gamermod:jeremium_block" ] } \ No newline at end of file diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 74b9727..de25d7a 100755 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -28,7 +28,7 @@ "depends": { "fabricloader": ">=0.11.3", "fabric": "*", - "minecraft": "1.18.x", + "minecraft": "1.18.1", "java": ">=17" }, "suggests": {