diff --git a/gradle.properties b/gradle.properties index b80a91a..17315d0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -14,13 +14,13 @@ systemProp.net.minecraftforge.gradle.repo.attach=false ## Environment Properties # The Minecraft version must agree with the Forge version to get a valid artifact -minecraft_version=1.21.6 +minecraft_version=1.21.7 # The Minecraft version range can use any release version of Minecraft as bounds. # Snapshots, pre-releases, and release candidates are not guaranteed to sort properly # as they do not follow standard versioning conventions. -minecraft_version_range=[1.21.6,1.22) +minecraft_version_range=[1.21.7,1.22) # The Forge version must agree with the Minecraft version to get a valid artifact -forge_version=56.0.9 +forge_version=57.0.3 # The Forge version range can use any version of Forge as bounds or match the loader version range forge_version_range=[0,) # The loader version range can only use the major version of Forge/FML as bounds @@ -39,10 +39,15 @@ loader_version_range=[0,) # # Parchment is an unofficial project maintained by ParchmentMC, separate from Minecraft Forge. # Additional setup is needed to use their mappings, see https://parchmentmc.org/docs/getting-started -mapping_channel=parchment +# mapping_channel=parchment # The mapping version to query from the mapping channel. # This must match the format required by the mapping channel. -mapping_version=2025.06.29-1.21.6 +# mapping_version=2025.06.29-1.21.6 + +mapping_channel=official +# The mapping version to query from the mapping channel. +# This must match the format required by the mapping channel. +mapping_version=1.21.7 ## Mod Properties diff --git a/src/main/java/com/ismailkaygisiz/gamblingplus/GamblingPlusMod.java b/src/main/java/com/ismailkaygisiz/gamblingplus/GamblingPlusMod.java index 09c5268..7987320 100644 --- a/src/main/java/com/ismailkaygisiz/gamblingplus/GamblingPlusMod.java +++ b/src/main/java/com/ismailkaygisiz/gamblingplus/GamblingPlusMod.java @@ -54,11 +54,14 @@ public final class GamblingPlusMod { } if(event.getTabKey() == CreativeModeTabs.BUILDING_BLOCKS){ event.accept(ModBlocks.RUBY_BLOCK); - event.accept(ModBlocks.RAW_RUBY_BLOCK); - event.accept(ModBlocks.RUBY_ORE); - event.accept(ModBlocks.RAW_DEEPSLATE_ORE); + } + if(event.getTabKey() == CreativeModeTabs.SPAWN_EGGS){ event.accept(ModItems.CATCHING_EGG); - + } + if(event.getTabKey() == CreativeModeTabs.NATURAL_BLOCKS){ + event.accept(ModBlocks.RUBY_ORE); + event.accept(ModBlocks.RUBY_DEEPSLATE_ORE); + event.accept(ModBlocks.RAW_RUBY_BLOCK); } } diff --git a/src/main/java/com/ismailkaygisiz/gamblingplus/block/GamblingTableBlock.java b/src/main/java/com/ismailkaygisiz/gamblingplus/block/GamblingTableBlock.java deleted file mode 100644 index 0b48c0c..0000000 --- a/src/main/java/com/ismailkaygisiz/gamblingplus/block/GamblingTableBlock.java +++ /dev/null @@ -1,55 +0,0 @@ -/*package com.ismailkaygisiz.gamblingplus.block; - -import net.minecraft.core.BlockPos; -import net.minecraft.network.chat.Component; -import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResult; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.Items; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.phys.BlockHitResult; -import java.util.Random; - -public class GamblingTableBlock extends Block { - public GamblingTableBlock(Properties properties) { super(properties); } - - - @Override - protected InteractionResult useItemOn(ItemStack pStack, BlockState pState, Level pLevel, BlockPos pPos, Player pPlayer, InteractionHand pHand, BlockHitResult pHitResult) { - if (!pLevel.isClientSide && pHand == InteractionHand.MAIN_HAND) { - ItemStack held = pPlayer.getItemInHand(pHand); - int bet = 0; - if (held.getItem() == Items.EMERALD && held.getCount() >= 10) bet = 10; - else if (held.getItem() == Items.EMERALD && held.getCount() >= 5) bet = 5; - else if (held.getItem() == Items.EMERALD && held.getCount() >= 1) bet = 1; - if (bet > 0) { - held.shrink(bet); - int roll = new Random().nextInt(100); - if (roll < 40) { - pPlayer.displayClientMessage(net.minecraft.network.chat.Component.literal("Kaybettin!"),true); - } else if (roll < 70) { - pPlayer.giveExperiencePoints(bet * 5); - pPlayer.displayClientMessage(net.minecraft.network.chat.Component.literal("Kazandın! " + (bet * 5) + " XP kazandın."),true); - } else if (roll < 85) { - pPlayer.getInventory().add(new ItemStack(Items.GOLD_INGOT, bet)); - pPlayer.displayClientMessage(Component.literal("Kazandın! " + bet + " altın kazandın."),true); - } else if (roll < 95) { - pPlayer.getInventory().add(new ItemStack(Items.DIAMOND, 1)); - pPlayer.displayClientMessage(net.minecraft.network.chat.Component.literal("Büyük ödül! 1 elmas kazandın."),true); - } else { - pPlayer.getInventory().add(new ItemStack(Items.EMERALD, bet * 2)); - pPlayer.displayClientMessage(net.minecraft.network.chat.Component.literal("Bahsin iki katı kadar zümrüt kazandın!"),true); - } - return InteractionResult.SUCCESS; - } else { - pPlayer.displayClientMessage(net.minecraft.network.chat.Component.literal("Bahis için en az 1 zümrüt olmalı!"),true); - return InteractionResult.FAIL; - } - } - return InteractionResult.SUCCESS; - } - -} */ \ No newline at end of file diff --git a/src/main/java/com/ismailkaygisiz/gamblingplus/block/ModBlocks.java b/src/main/java/com/ismailkaygisiz/gamblingplus/block/ModBlocks.java index c4532a9..44a2c64 100644 --- a/src/main/java/com/ismailkaygisiz/gamblingplus/block/ModBlocks.java +++ b/src/main/java/com/ismailkaygisiz/gamblingplus/block/ModBlocks.java @@ -44,7 +44,7 @@ public class ModBlocks { .strength(.4f) .requiresCorrectToolForDrops())); - public static final RegistryObject RAW_DEEPSLATE_ORE = registerBlock("ruby_deepslate_ore", + public static final RegistryObject RUBY_DEEPSLATE_ORE = registerBlock("ruby_deepslate_ore", ()-> new DropExperienceBlock(UniformInt.of(3,6),BlockBehaviour.Properties.of() .setId((ResourceKey.create(Registries.BLOCK, ResourceLocation.parse(String.format("%s:%s", GamblingPlusMod.MOD_ID, "ruby_deepslate_ore"))))) .strength(.4f) diff --git a/src/main/java/com/ismailkaygisiz/gamblingplus/datagen/DataGenerators.java b/src/main/java/com/ismailkaygisiz/gamblingplus/datagen/DataGenerators.java deleted file mode 100644 index 291f7c1..0000000 --- a/src/main/java/com/ismailkaygisiz/gamblingplus/datagen/DataGenerators.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.ismailkaygisiz.gamblingplus.datagen; - -public class DataGenerators { -} diff --git a/src/main/java/com/ismailkaygisiz/gamblingplus/datagen/ModBlockLootTableProvider.java b/src/main/java/com/ismailkaygisiz/gamblingplus/datagen/ModBlockLootTableProvider.java deleted file mode 100644 index d1ccbab..0000000 --- a/src/main/java/com/ismailkaygisiz/gamblingplus/datagen/ModBlockLootTableProvider.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.ismailkaygisiz.gamblingplus.datagen; - -public class ModBlockLootTableProvider { -} diff --git a/src/main/java/com/ismailkaygisiz/gamblingplus/datagen/ModBlockStateProvider.java b/src/main/java/com/ismailkaygisiz/gamblingplus/datagen/ModBlockStateProvider.java deleted file mode 100644 index d1033a4..0000000 --- a/src/main/java/com/ismailkaygisiz/gamblingplus/datagen/ModBlockStateProvider.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.ismailkaygisiz.gamblingplus.datagen; - -public class ModBlockStateProvider { -} diff --git a/src/main/java/com/ismailkaygisiz/gamblingplus/datagen/ModBlockTagProvider.java b/src/main/java/com/ismailkaygisiz/gamblingplus/datagen/ModBlockTagProvider.java deleted file mode 100644 index c4157b5..0000000 --- a/src/main/java/com/ismailkaygisiz/gamblingplus/datagen/ModBlockTagProvider.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.ismailkaygisiz.gamblingplus.datagen; - -public class ModBlockTagProvider { -} diff --git a/src/main/java/com/ismailkaygisiz/gamblingplus/datagen/ModItemModelProvider.java b/src/main/java/com/ismailkaygisiz/gamblingplus/datagen/ModItemModelProvider.java deleted file mode 100644 index dece7d2..0000000 --- a/src/main/java/com/ismailkaygisiz/gamblingplus/datagen/ModItemModelProvider.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.ismailkaygisiz.gamblingplus.datagen; - -public class ModItemModelProvider { -} diff --git a/src/main/java/com/ismailkaygisiz/gamblingplus/datagen/ModRecipeProvider.java b/src/main/java/com/ismailkaygisiz/gamblingplus/datagen/ModRecipeProvider.java deleted file mode 100644 index b3a09a8..0000000 --- a/src/main/java/com/ismailkaygisiz/gamblingplus/datagen/ModRecipeProvider.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.ismailkaygisiz.gamblingplus.datagen; - -public class ModRecipeProvider { -} diff --git a/src/main/java/com/ismailkaygisiz/gamblingplus/event/ModEvents.java b/src/main/java/com/ismailkaygisiz/gamblingplus/event/ModEvents.java index 5aac34c..56ed1b7 100644 --- a/src/main/java/com/ismailkaygisiz/gamblingplus/event/ModEvents.java +++ b/src/main/java/com/ismailkaygisiz/gamblingplus/event/ModEvents.java @@ -5,11 +5,16 @@ import com.ismailkaygisiz.gamblingplus.GamblingPlusMod; import com.ismailkaygisiz.gamblingplus.item.ModItems; import com.ismailkaygisiz.gamblingplus.villager.ModVillagers; import net.minecraft.core.Holder; +import net.minecraft.core.component.DataComponents; +import net.minecraft.nbt.CompoundTag; import net.minecraft.world.entity.npc.VillagerTrades; +import net.minecraft.world.item.DyeColor; +import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.minecraft.world.item.alchemy.PotionBrewing; import net.minecraft.world.item.alchemy.Potions; +import net.minecraft.world.item.component.OminousBottleAmplifier; import net.minecraft.world.item.enchantment.EnchantedItemInUse; import net.minecraft.world.item.enchantment.Enchantment; import net.minecraft.world.item.enchantment.EnchantmentInstance; @@ -37,28 +42,122 @@ public class ModEvents { var trades = event.getTrades(); trades.get(1).add((pTrader, pRandom) -> new MerchantOffer( - new ItemCost(Items.COPPER_INGOT, pRandom.nextInt(3,6)), - new ItemStack(ModItems.RUBY.get(), 1), 12, 1, 0.05f)); + new ItemCost(Items.COPPER_INGOT, pRandom.nextInt(3,8)), + new ItemStack(Items.EMERALD, 1), 32, 2, 0.05f)); trades.get(1).add((pTrader, pRandom) -> new MerchantOffer( new ItemCost(ModItems.RUBY.get(), pRandom.nextInt(3,8)), - new ItemStack(Items.EMERALD, 1), 12, 1, 0.05f)); + new ItemStack(Items.EMERALD, 1), 32, 2, 0.05f)); + + trades.get(1).add((pTrader, pRandom) -> new MerchantOffer( + new ItemCost(ModItems.RAW_RUBY.get(), pRandom.nextInt(5,10)), + new ItemStack(Items.EMERALD, 1), 32, 2, 0.05f)); + + trades.get(1).add((pTrader, pRandom) -> new MerchantOffer( + new ItemCost(Items.IRON_INGOT, pRandom.nextInt(3,8)), + new ItemStack(Items.EMERALD, 1), 32, 2, 0.05f)); + + trades.get(2).add((pTrader, pRandom) -> { + Map coloredGlassMap = Map.ofEntries( + Map.entry(DyeColor.WHITE, Items.WHITE_STAINED_GLASS), + Map.entry(DyeColor.ORANGE, Items.ORANGE_STAINED_GLASS), + Map.entry(DyeColor.MAGENTA, Items.MAGENTA_STAINED_GLASS), + Map.entry(DyeColor.LIGHT_BLUE, Items.LIGHT_BLUE_STAINED_GLASS), + Map.entry(DyeColor.YELLOW, Items.YELLOW_STAINED_GLASS), + Map.entry(DyeColor.LIME, Items.LIME_STAINED_GLASS), + Map.entry(DyeColor.PINK, Items.PINK_STAINED_GLASS), + Map.entry(DyeColor.GRAY, Items.GRAY_STAINED_GLASS), + Map.entry(DyeColor.LIGHT_GRAY, Items.LIGHT_GRAY_STAINED_GLASS), + Map.entry(DyeColor.CYAN, Items.CYAN_STAINED_GLASS), + Map.entry(DyeColor.PURPLE, Items.PURPLE_STAINED_GLASS), + Map.entry(DyeColor.BLUE, Items.BLUE_STAINED_GLASS), + Map.entry(DyeColor.BROWN, Items.BROWN_STAINED_GLASS), + Map.entry(DyeColor.GREEN, Items.GREEN_STAINED_GLASS), + Map.entry(DyeColor.RED, Items.RED_STAINED_GLASS), + Map.entry(DyeColor.BLACK, Items.BLACK_STAINED_GLASS) + ); + + DyeColor[] colors = DyeColor.values(); + DyeColor randomColor = colors[pRandom.nextInt(colors.length)]; + ItemStack stainedGlass = new ItemStack(coloredGlassMap.get(randomColor), 4); + + return new MerchantOffer( + new ItemCost(Items.EMERALD, pRandom.nextInt(3, 8)), + stainedGlass, + 16, 4, 0.05f + ); + }); + + trades.get(2).add((pTrader, pRandom) -> { + List logs = List.of( + Items.MANGROVE_LOG, + Items.CHERRY_LOG, + Items.PALE_OAK_LOG + ); + + ItemStack itemStack = new ItemStack(logs.get(pRandom.nextInt(logs.size())), 4); + + return new MerchantOffer( + new ItemCost(Items.EMERALD, pRandom.nextInt(3, 8)), + itemStack, + 16, 4, 0.05f + ); + }); trades.get(2).add((pTrader, pRandom) -> new MerchantOffer( new ItemCost(Items.EMERALD, pRandom.nextInt(1,4)), - new ItemStack(Items.AMETHYST_SHARD, 2), 12, 3, 0.05f)); + new ItemStack(Items.AMETHYST_SHARD, 2), 12, 5, 0.05f)); + + trades.get(2).add((pTrader, pRandom) -> new MerchantOffer( + new ItemCost(Items.EMERALD, pRandom.nextInt(10,25)), + Optional.of(new ItemCost(Items.BUCKET, 1)), + new ItemStack(Items.POWDER_SNOW_BUCKET, 1), 3, 6, 0.05f)); + + trades.get(2).add((pTrader, pRandom) -> new MerchantOffer( + new ItemCost(Items.EMERALD, pRandom.nextInt(7,14)), + Optional.of(new ItemCost(Items.BUCKET, 1)), + new ItemStack(Items.LAVA_BUCKET, 1), 3, 6, 0.05f)); trades.get(3).add((pTrader, pRandom) -> new MerchantOffer( - new ItemCost(Items.EMERALD, pRandom.nextInt(5,11)), - new ItemStack(Items.BLAZE_POWDER, 1), 6, 5, 0.05f)); + new ItemCost(Items.EMERALD, pRandom.nextInt(20,35)), + Optional.of(new ItemCost(Items.SAND, 1)), + new ItemStack(Items.SOUL_SAND, 1), 8, 6, 0.05f)); + + trades.get(3).add((pTrader, pRandom) -> new MerchantOffer( + new ItemCost(Items.EMERALD, pRandom.nextInt(14,28)), + new ItemStack(Items.BLAZE_ROD, 1), 6, 10, 0.05f)); + + trades.get(3).add((pTrader, pRandom) -> new MerchantOffer( + new ItemCost(Items.EMERALD, pRandom.nextInt(25,40)), + new ItemStack(Items.TRIDENT, 1), 2, 30, 0.05f)); trades.get(3).add((pTrader, pRandom) -> new MerchantOffer( new ItemCost(Items.EMERALD, pRandom.nextInt(2,5)), - new ItemStack(Items.FIREWORK_ROCKET, pRandom.nextInt(2,5)), 12, 5, 0.05f)); + new ItemStack(Items.FIREWORK_ROCKET, pRandom.nextInt(2,5)), 12, 6, 0.05f)); + + trades.get(4).add((trader, pRandom) -> { + ItemStack bottle = new ItemStack(Items.OMINOUS_BOTTLE, 1); + + bottle.set(DataComponents.OMINOUS_BOTTLE_AMPLIFIER, new OminousBottleAmplifier(pRandom.nextInt(2,4))); // Bad Omen V + + return new MerchantOffer( + new ItemCost(Items.EMERALD, pRandom.nextInt(45,65)), + bottle, + 2, 12, 0.05f + ); + }); trades.get(4).add((pTrader, pRandom) -> new MerchantOffer( new ItemCost(Items.EMERALD, pRandom.nextInt(30,46)), - new ItemStack(Items.SHULKER_BOX, 1), 4, 12, 0.05f)); + new ItemStack(Items.SHULKER_BOX, 1), 4, 20, 0.05f)); + + trades.get(4).add((pTrader, pRandom) -> new MerchantOffer( + new ItemCost(Items.EMERALD_BLOCK, pRandom.nextInt(6,12)), + new ItemStack(Items.HEART_OF_THE_SEA, 1), 1, 128, 0.05f)); + + trades.get(4).add((pTrader, pRandom) -> new MerchantOffer( + new ItemCost(Items.EMERALD_BLOCK, pRandom.nextInt(6,12)), + new ItemStack(Items.TOTEM_OF_UNDYING, 1), 1, 128, 0.05f)); trades.get(4).add((pTrader, pRandom) -> { List> valuableEnchantments = List.of( @@ -68,10 +167,15 @@ public class ModEvents { Enchantments.SHARPNESS.getOrThrow(pTrader), Enchantments.UNBREAKING.getOrThrow(pTrader), Enchantments.MENDING.getOrThrow(pTrader), + Enchantments.CHANNELING.getOrThrow(pTrader), + Enchantments.LOYALTY.getOrThrow(pTrader), Enchantments.LOOTING.getOrThrow(pTrader), + Enchantments.SILK_TOUCH.getOrThrow(pTrader), + Enchantments.INFINITY.getOrThrow(pTrader), Enchantments.PROTECTION.getOrThrow(pTrader), - Enchantments.THORNS.getOrThrow(pTrader), + Enchantments.FEATHER_FALLING.getOrThrow(pTrader), Enchantments.RESPIRATION.getOrThrow(pTrader), + Enchantments.RIPTIDE.getOrThrow(pTrader), Enchantments.FLAME.getOrThrow(pTrader), Enchantments.SMITE.getOrThrow(pTrader), Enchantments.INFINITY.getOrThrow(pTrader) @@ -79,7 +183,7 @@ public class ModEvents { Holder selected = valuableEnchantments.get(pRandom.nextInt(valuableEnchantments.size())); - ItemStack book = Items.BOOK.getDefaultInstance(); + ItemStack book = Items.ENCHANTED_BOOK.getDefaultInstance(); book.enchant(selected, selected.get().getMaxLevel() >= 4 ? pRandom.nextInt(selected.get().getMaxLevel()-1, selected.get().getMaxLevel()+1): @@ -104,6 +208,27 @@ public class ModEvents { new ItemStack(Items.ELYTRA), 1, 256, 0.05f )); + + trades.get(5).add((pTrader, pRandom) -> new MerchantOffer( + new ItemCost(Items.EMERALD_BLOCK, pRandom.nextInt(8,14)), + Optional.of(new ItemCost(Items.IRON_BLOCK, pRandom.nextInt(5,13))), + new ItemStack(Items.ANCIENT_DEBRIS, 1), + 1, 256, 0.05f + )); + + trades.get(5).add((pTrader, pRandom) -> new MerchantOffer( + new ItemCost(Items.EMERALD_BLOCK, pRandom.nextInt(30,45)), + Optional.of(new ItemCost(Items.DIAMOND_BLOCK, pRandom.nextInt(2,5))), + new ItemStack(Items.BEACON, 1), + 1, 256, 0.05f + )); + + trades.get(5).add((pTrader, pRandom) -> new MerchantOffer( + new ItemCost(Items.EMERALD_BLOCK, pRandom.nextInt(30,45)), + Optional.of(new ItemCost(Items.DIAMOND_BLOCK, pRandom.nextInt(2,5))), + new ItemStack(Items.SPAWNER, 1), + 1, 256, 0.05f + )); } /* if(event.getType() == VillagerProfession.TOOLSMITH) { diff --git a/src/main/java/com/ismailkaygisiz/gamblingplus/item/SpecialEggItem.java b/src/main/java/com/ismailkaygisiz/gamblingplus/item/SpecialEggItem.java deleted file mode 100644 index 22003df..0000000 --- a/src/main/java/com/ismailkaygisiz/gamblingplus/item/SpecialEggItem.java +++ /dev/null @@ -1,36 +0,0 @@ -/*package com.ismailkaygisiz.gamblingplus.item; - -import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResultHolder; -import net.minecraft.world.entity.EntityType; -import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.SpawnEggItem; -import net.minecraft.world.level.Level; - -public class SpecialEggItem extends Item { - public SpecialEggItem(Properties properties) { super(properties); } - @Override - public InteractionResultHolder use(Level level, Player player, InteractionHand hand) { - if (!level.isClientSide) { - var target = player.pick(5.0D, 0.0F, false).getEntity(); - if (target instanceof LivingEntity living) { - EntityType type = living.getType(); - ItemStack egg = SpawnEggItem.byId(type); - if (egg != null && !egg.isEmpty()) { - if (!player.getInventory().add(egg)) { - player.drop(egg, false); - } - player.sendSystemMessage(net.minecraft.network.chat.Component.literal(type.getDescription().getString() + " yumurtasını aldın!")); - } else { - player.sendSystemMessage(net.minecraft.network.chat.Component.literal("Bu canlı için yumurta yok!")); - } - player.getItemInHand(hand).shrink(1); - return InteractionResultHolder.success(player.getItemInHand(hand)); - } - } - return super.use(level, player, hand); - } -} */ \ No newline at end of file diff --git a/src/main/java/com/ismailkaygisiz/gamblingplus/util/ModCreativeTabs.java b/src/main/java/com/ismailkaygisiz/gamblingplus/util/ModCreativeTabs.java index f0990cf..c7bcbad 100644 --- a/src/main/java/com/ismailkaygisiz/gamblingplus/util/ModCreativeTabs.java +++ b/src/main/java/com/ismailkaygisiz/gamblingplus/util/ModCreativeTabs.java @@ -18,10 +18,14 @@ public class ModCreativeTabs { .icon(() -> new ItemStack(com.ismailkaygisiz.gamblingplus.item.ModItems.RUBY.get())) .title(net.minecraft.network.chat.Component.translatable("creativetab.ikgamblingplusmod.gambling_tab")) .displayItems((pParameters, pOutput) -> { - pOutput.accept(ModItems.RUBY.get()); pOutput.accept(ModItems.RAW_RUBY.get()); - pOutput.accept(ModBlocks.RUBY_BLOCK.get()); + pOutput.accept(ModItems.RUBY.get()); pOutput.accept(ModBlocks.RAW_RUBY_BLOCK.get()); + pOutput.accept(ModBlocks.RUBY_BLOCK.get()); + pOutput.accept(ModBlocks.RUBY_BLOCK.get()); + pOutput.accept(ModBlocks.RUBY_ORE.get()); + pOutput.accept(ModBlocks.RUBY_DEEPSLATE_ORE.get()); + pOutput.accept(ModItems.CATCHING_EGG.get()); }) .build()); diff --git a/src/main/java/com/ismailkaygisiz/gamblingplus/villager/ModVillagerTrades.java b/src/main/java/com/ismailkaygisiz/gamblingplus/villager/ModVillagerTrades.java deleted file mode 100644 index 0aac4ce..0000000 --- a/src/main/java/com/ismailkaygisiz/gamblingplus/villager/ModVillagerTrades.java +++ /dev/null @@ -1,48 +0,0 @@ -/* -package com.ismailkaygisiz.gamblingplus.villager; - - -import com.ismailkaygisiz.gamblingplus.item.ModItems; -import net.minecraft.world.entity.npc.VillagerTrades; -import net.minecraft.world.item.Items; -import net.minecraft.world.item.trading.MerchantOffer; -import net.minecraftforge.event.village.VillagerTradesEvent; -import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.fml.common.Mod; - -@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.FORGE) -public class ModVillagerTrades { - public static void onVillagerTrades(VillagerTradesEvent event) { - if (event.getType().toString().contains("ruby_worker")) { - VillagerTrades.ItemListing[] level1 = new VillagerTrades.ItemListing[] { - (entity, random) -> new MerchantOffer(ModItems.RUBY.get().getDefaultInstance(), new net.minecraft.world.item.ItemStack(Items.EMERALD), 16, 2, 0.05F), - (entity, random) -> new MerchantOffer(ModItems.RUBY.get().getDefaultInstance(), new net.minecraft.world.item.ItemStack(Items.IRON_INGOT), 16, 2, 0.05F), - (entity, random) -> new MerchantOffer(ModItems.RUBY.get().getDefaultInstance(), new net.minecraft.world.item.ItemStack(Items.GOLD_INGOT), 16, 2, 0.05F), - (entity, random) -> new MerchantOffer(ModItems.RUBY.get().getDefaultInstance(), new net.minecraft.world.item.ItemStack(Items.DIAMOND), 8, 2, 0.05F) - }; - VillagerTrades.ItemListing[] level5 = new VillagerTrades.ItemListing[] { - (entity, random) -> new MerchantOffer(new net.minecraft.world.item.ItemStack(ModItems.RUBY.get(), 64), new net.minecraft.world.item.ItemStack(Items.EMERALD, 64), - new net.minecraft.world.item.ItemStack(Items.ELYTRA), 1, 30, 0.2F) - }; - event.getTrades().put(1, java.util.List.of(level1)); - event.getTrades().put(5, java.util.List.of(level5)); - } - if (event.getType().toString().contains("gambler")) { - VillagerTrades.ItemListing[] level1 = new VillagerTrades.ItemListing[] { - (entity, random) -> new MerchantOffer(new net.minecraft.world.item.ItemStack(Items.EMERALD, 15), new net.minecraft.world.item.ItemStack(Items.DIAMOND), 8, 2, 0.05F), - (entity, random) -> new MerchantOffer(new net.minecraft.world.item.ItemStack(Items.EMERALD, 5), new net.minecraft.world.item.ItemStack(Items.GOLD_INGOT), 16, 2, 0.05F), - (entity, random) -> new MerchantOffer(new net.minecraft.world.item.ItemStack(Items.EMERALD, 3), new net.minecraft.world.item.ItemStack(Items.IRON_INGOT), 16, 2, 0.05F) - }; - VillagerTrades.ItemListing[] level3 = new VillagerTrades.ItemListing[] { - (entity, random) -> new MerchantOffer(new net.minecraft.world.item.ItemStack(Items.EMERALD, 32), new net.minecraft.world.item.ItemStack(Items.CREEPER_SPAWN_EGG), 1, 5, 0.2F), - (entity, random) -> new MerchantOffer(new net.minecraft.world.item.ItemStack(Items.EMERALD, 32), new net.minecraft.world.item.ItemStack(Items.ENDERMAN_SPAWN_EGG), 1, 5, 0.2F) - }; - VillagerTrades.ItemListing[] level5 = new VillagerTrades.ItemListing[] { - (entity, random) -> new MerchantOffer(new net.minecraft.world.item.ItemStack(Items.EMERALD, 64), ModItems.SPECIAL_EGG.get().getDefaultInstance(), 1, 30, 0.2F) - }; - event.getTrades().put(1, java.util.List.of(level1)); - event.getTrades().put(3, java.util.List.of(level3)); - event.getTrades().put(5, java.util.List.of(level5)); - } - } -} */ \ No newline at end of file diff --git a/src/main/resources/assets/ikgamblingplusmod/lang/en_us.json b/src/main/resources/assets/ikgamblingplusmod/lang/en_us.json index 832a989..91749a7 100644 --- a/src/main/resources/assets/ikgamblingplusmod/lang/en_us.json +++ b/src/main/resources/assets/ikgamblingplusmod/lang/en_us.json @@ -4,7 +4,7 @@ "item.ikgamblingplusmod.ruby_block": "Block of Ruby", "item.ikgamblingplusmod.raw_ruby_block": "Block of Raw Ruby", "item.ikgamblingplusmod.ruby_ore": "Ruby Ore", - "item.ikgamblingplusmod.ruby_deepslate_ore": "Ruby Deepslate Ore", + "item.ikgamblingplusmod.ruby_deepslate_ore": "Deepslate Ruby Ore", "item.ikgamblingplusmod.catching_egg": "Catching Egg", "profession.ikgamblingplusmod.ruby_worker": "Ruby Worker", diff --git a/src/main/resources/assets/ikgamblingplusmod/lang/tr_tr.json b/src/main/resources/assets/ikgamblingplusmod/lang/tr_tr.json new file mode 100644 index 0000000..f47ae79 --- /dev/null +++ b/src/main/resources/assets/ikgamblingplusmod/lang/tr_tr.json @@ -0,0 +1,14 @@ +{ + "item.ikgamblingplusmod.ruby": "Yakut", + "item.ikgamblingplusmod.raw_ruby": "Ham Yakut", + "item.ikgamblingplusmod.ruby_block": "Yakut Bloğu", + "item.ikgamblingplusmod.raw_ruby_block": "Ham Yakut Bloğu", + "item.ikgamblingplusmod.ruby_ore": "Yakut Cevheri", + "item.ikgamblingplusmod.ruby_deepslate_ore": "Karataş Yakut Cevheri", + "item.ikgamblingplusmod.catching_egg": "Yakalama Yumurtası", + + "profession.ikgamblingplusmod.ruby_worker": "Yakut İşçisi", + + "creativetab.ikgamblingplusmod.gambling_tab": "Gambling Plus" + +} \ No newline at end of file diff --git a/src/main/resources/assets/ikgamblingplusmod/textures/entity/zombie_villager/profession/ruby_worker.png b/src/main/resources/assets/ikgamblingplusmod/textures/entity/zombie_villager/profession/ruby_worker.png new file mode 100644 index 0000000..aa9b73d Binary files /dev/null and b/src/main/resources/assets/ikgamblingplusmod/textures/entity/zombie_villager/profession/ruby_worker.png differ diff --git a/src/main/resources/assets/ikgamblingplusmod/textures/entity/zombie_villager/zombie_villager.png b/src/main/resources/assets/ikgamblingplusmod/textures/entity/zombie_villager/zombie_villager.png new file mode 100644 index 0000000..9bd3e23 Binary files /dev/null and b/src/main/resources/assets/ikgamblingplusmod/textures/entity/zombie_villager/zombie_villager.png differ diff --git a/src/main/resources/assets/ikgamblingplusmod/textures/item/raw_ruby.png b/src/main/resources/assets/ikgamblingplusmod/textures/item/raw_ruby.png index e1325ef..76e84ee 100644 Binary files a/src/main/resources/assets/ikgamblingplusmod/textures/item/raw_ruby.png and b/src/main/resources/assets/ikgamblingplusmod/textures/item/raw_ruby.png differ diff --git a/src/main/resources/assets/ikgamblingplusmod/textures/item/ruby.png b/src/main/resources/assets/ikgamblingplusmod/textures/item/ruby.png index 0ca42b7..176bc0d 100644 Binary files a/src/main/resources/assets/ikgamblingplusmod/textures/item/ruby.png and b/src/main/resources/assets/ikgamblingplusmod/textures/item/ruby.png differ diff --git a/src/main/resources/data/ikgamblingplusmod/advancement/recipes/raw_ruby.json b/src/main/resources/data/ikgamblingplusmod/advancement/recipes/raw_ruby.json new file mode 100644 index 0000000..5b58b22 --- /dev/null +++ b/src/main/resources/data/ikgamblingplusmod/advancement/recipes/raw_ruby.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_raw_ruby_block": { + "conditions": { + "items": [ + { + "items": "ikgamblingplusmod:raw_ruby_block" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "ikgamblingplusmod:raw_ruby" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_raw_ruby_block" + ] + ], + "rewards": { + "recipes": [ + "ikgamblingplusmod:raw_ruby" + ] + } +} \ No newline at end of file diff --git a/src/main/resources/data/ikgamblingplusmod/advancement/recipes/raw_ruby_block.json b/src/main/resources/data/ikgamblingplusmod/advancement/recipes/raw_ruby_block.json new file mode 100644 index 0000000..16ec2b5 --- /dev/null +++ b/src/main/resources/data/ikgamblingplusmod/advancement/recipes/raw_ruby_block.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_raw_ruby": { + "conditions": { + "items": [ + { + "items": "ikgamblingplusmod:raw_ruby" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "ikgamblingplusmod:raw_ruby_block" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_raw_ruby" + ] + ], + "rewards": { + "recipes": [ + "ikgamblingplusmod:raw_ruby_block" + ] + } +} \ No newline at end of file diff --git a/src/main/resources/data/ikgamblingplusmod/advancement/recipes/ruby.json b/src/main/resources/data/ikgamblingplusmod/advancement/recipes/ruby.json new file mode 100644 index 0000000..2c3fb93 --- /dev/null +++ b/src/main/resources/data/ikgamblingplusmod/advancement/recipes/ruby.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ruby_block": { + "conditions": { + "items": [ + { + "items": "ikgamblingplusmod:ruby_block" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "ikgamblingplusmod:ruby" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ruby_block" + ] + ], + "rewards": { + "recipes": [ + "ikgamblingplusmod:ruby" + ] + } +} \ No newline at end of file diff --git a/src/main/resources/data/ikgamblingplusmod/advancement/recipes/ruby_block.json b/src/main/resources/data/ikgamblingplusmod/advancement/recipes/ruby_block.json new file mode 100644 index 0000000..d202d64 --- /dev/null +++ b/src/main/resources/data/ikgamblingplusmod/advancement/recipes/ruby_block.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ruby": { + "conditions": { + "items": [ + { + "items": "ikgamblingplusmod:ruby" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "ikgamblingplusmod:ruby_block" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ruby" + ] + ], + "rewards": { + "recipes": [ + "ikgamblingplusmod:ruby_block" + ] + } +} \ No newline at end of file diff --git a/src/main/resources/data/ikgamblingplusmod/advancement/recipes/ruby_from_blasting_raw_ruby.json b/src/main/resources/data/ikgamblingplusmod/advancement/recipes/ruby_from_blasting_raw_ruby.json new file mode 100644 index 0000000..d886639 --- /dev/null +++ b/src/main/resources/data/ikgamblingplusmod/advancement/recipes/ruby_from_blasting_raw_ruby.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_raw_ruby": { + "conditions": { + "items": [ + { + "items": "ikgamblingplusmod:raw_ruby" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "ikgamblingplusmod:ruby_from_blasting_raw_ruby" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_raw_ruby" + ] + ], + "rewards": { + "recipes": [ + "ikgamblingplusmod:ruby_from_blasting_raw_ruby" + ] + } +} \ No newline at end of file diff --git a/src/main/resources/data/ikgamblingplusmod/advancement/recipes/ruby_from_smelting_raw_ruby.json b/src/main/resources/data/ikgamblingplusmod/advancement/recipes/ruby_from_smelting_raw_ruby.json new file mode 100644 index 0000000..dcd93f8 --- /dev/null +++ b/src/main/resources/data/ikgamblingplusmod/advancement/recipes/ruby_from_smelting_raw_ruby.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_raw_ruby": { + "conditions": { + "items": [ + { + "items": "ikgamblingplusmod:raw_ruby" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "ikgamblingplusmod:ruby_from_smelting_raw_ruby" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_raw_ruby" + ] + ], + "rewards": { + "recipes": [ + "ikgamblingplusmod:ruby_from_smelting_raw_ruby" + ] + } +} \ No newline at end of file diff --git a/src/main/resources/data/ikgamblingplusmod/forge/biome_modifier/ruby_ore.json b/src/main/resources/data/ikgamblingplusmod/forge/biome_modifier/ruby_ore.json new file mode 100644 index 0000000..40e3147 --- /dev/null +++ b/src/main/resources/data/ikgamblingplusmod/forge/biome_modifier/ruby_ore.json @@ -0,0 +1,8 @@ +{ + "type": "forge:add_features", + "biomes": "#minecraft:is_overworld", + "features": [ + "ikgamblingplusmod:ruby_ore_placed" + ], + "step": "underground_ores" +} diff --git a/src/main/resources/data/ikgamblingplusmod/loot_table/blocks/ruby_deepslate_ore.json b/src/main/resources/data/ikgamblingplusmod/loot_table/blocks/ruby_deepslate_ore.json index a8416d4..d4593f5 100644 --- a/src/main/resources/data/ikgamblingplusmod/loot_table/blocks/ruby_deepslate_ore.json +++ b/src/main/resources/data/ikgamblingplusmod/loot_table/blocks/ruby_deepslate_ore.json @@ -35,7 +35,7 @@ "add": false, "count": { "type": "minecraft:uniform", - "max": 5.0, + "max": 4.0, "min": 2.0 }, "function": "minecraft:set_count" diff --git a/src/main/resources/data/ikgamblingplusmod/loot_table/blocks/ruby_ore.json b/src/main/resources/data/ikgamblingplusmod/loot_table/blocks/ruby_ore.json index 6ebee24..f4c7237 100644 --- a/src/main/resources/data/ikgamblingplusmod/loot_table/blocks/ruby_ore.json +++ b/src/main/resources/data/ikgamblingplusmod/loot_table/blocks/ruby_ore.json @@ -31,6 +31,15 @@ { "type": "minecraft:item", "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 3.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + }, { "enchantment": "minecraft:fortune", "formula": "minecraft:ore_drops", diff --git a/src/main/resources/data/ikgamblingplusmod/recipe/raw_ruby.json b/src/main/resources/data/ikgamblingplusmod/recipe/raw_ruby.json new file mode 100644 index 0000000..42c57f3 --- /dev/null +++ b/src/main/resources/data/ikgamblingplusmod/recipe/raw_ruby.json @@ -0,0 +1,11 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + "ikgamblingplusmod:raw_ruby_block" + ], + "result": { + "id": "ikgamblingplusmod:raw_ruby", + "count": 9 + } +} diff --git a/src/main/resources/data/ikgamblingplusmod/recipe/raw_ruby_block.json b/src/main/resources/data/ikgamblingplusmod/recipe/raw_ruby_block.json new file mode 100644 index 0000000..c60942e --- /dev/null +++ b/src/main/resources/data/ikgamblingplusmod/recipe/raw_ruby_block.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "mics", + "key": { + "A": "ikgamblingplusmod:raw_ruby" + }, + "pattern": [ + "AAA", + "AAA", + "AAA" + ], + "result": { + "count": 1, + "id": "ikgamblingplusmod:raw_ruby_block" + } +} \ No newline at end of file diff --git a/src/main/resources/data/ikgamblingplusmod/recipe/ruby_from_blasting_raw_ruby.json b/src/main/resources/data/ikgamblingplusmod/recipe/ruby_from_blasting_raw_ruby.json index 55e5c63..b61e000 100644 --- a/src/main/resources/data/ikgamblingplusmod/recipe/ruby_from_blasting_raw_ruby.json +++ b/src/main/resources/data/ikgamblingplusmod/recipe/ruby_from_blasting_raw_ruby.json @@ -1,8 +1,8 @@ { "type": "minecraft:blasting", "category": "misc", - "cookingtime": 100, - "experience": 0.25, + "cookingtime": 50, + "experience": 0.5, "group": "ruby", "ingredient": "ikgamblingplusmod:raw_ruby", "result": { diff --git a/src/main/resources/data/ikgamblingplusmod/worldgen/_tmo/ruby_ore_middle.json b/src/main/resources/data/ikgamblingplusmod/worldgen/_tmo/ruby_ore_middle.json new file mode 100644 index 0000000..1faaf83 --- /dev/null +++ b/src/main/resources/data/ikgamblingplusmod/worldgen/_tmo/ruby_ore_middle.json @@ -0,0 +1,27 @@ +{ + "feature": "ikgamblingplusmod:ruby_ore", + "placement": [ + { + "type": "minecraft:count", + "count": 10 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:trapezoid", + "max_inclusive": { + "absolute": 56 + }, + "min_inclusive": { + "absolute": -24 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/ikgamblingplusmod/worldgen/_tmo/ruby_ore_small.json b/src/main/resources/data/ikgamblingplusmod/worldgen/_tmo/ruby_ore_small.json new file mode 100644 index 0000000..a564ab9 --- /dev/null +++ b/src/main/resources/data/ikgamblingplusmod/worldgen/_tmo/ruby_ore_small.json @@ -0,0 +1,27 @@ +{ + "feature": "ikgamblingplusmod:ruby_ore", + "placement": [ + { + "type": "minecraft:count", + "count": 10 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 72 + }, + "min_inclusive": { + "above_bottom": 0 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/ikgamblingplusmod/worldgen/_tmo/ruby_ore_upper.json b/src/main/resources/data/ikgamblingplusmod/worldgen/_tmo/ruby_ore_upper.json new file mode 100644 index 0000000..ae2a8b7 --- /dev/null +++ b/src/main/resources/data/ikgamblingplusmod/worldgen/_tmo/ruby_ore_upper.json @@ -0,0 +1,27 @@ +{ + "feature": "ikgamblingplusmod:ruby_ore", + "placement": [ + { + "type": "minecraft:count", + "count": 90 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:trapezoid", + "max_inclusive": { + "absolute": 384 + }, + "min_inclusive": { + "absolute": 80 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/ikgamblingplusmod/worldgen/configured_feature/ruby_ore.json b/src/main/resources/data/ikgamblingplusmod/worldgen/configured_feature/ruby_ore.json new file mode 100644 index 0000000..c4b58d7 --- /dev/null +++ b/src/main/resources/data/ikgamblingplusmod/worldgen/configured_feature/ruby_ore.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "size": 9, + "targets": [ + { + "state": { + "Name": "ikgamblingplusmod:ruby_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "ikgamblingplusmod:ruby_deepslate_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + } +} \ No newline at end of file diff --git a/src/main/resources/data/ikgamblingplusmod/worldgen/placed_feature/ruby_ore_placed.json b/src/main/resources/data/ikgamblingplusmod/worldgen/placed_feature/ruby_ore_placed.json new file mode 100644 index 0000000..d76f4c8 --- /dev/null +++ b/src/main/resources/data/ikgamblingplusmod/worldgen/placed_feature/ruby_ore_placed.json @@ -0,0 +1,27 @@ +{ + "feature": "ikgamblingplusmod:ruby_ore", + "placement": [ + { + "type": "minecraft:count", + "count": 90 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:trapezoid", + "max_inclusive": { + "absolute": 90 + }, + "min_inclusive": { + "absolute": -50 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/advancements/recipes/ikgamblingplusmod/ruby_from_smelting_raw_ruby.json b/src/main/resources/data/minecraft/advancements/recipes/ikgamblingplusmod/ruby_from_smelting_raw_ruby.json new file mode 100644 index 0000000..dcd93f8 --- /dev/null +++ b/src/main/resources/data/minecraft/advancements/recipes/ikgamblingplusmod/ruby_from_smelting_raw_ruby.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_raw_ruby": { + "conditions": { + "items": [ + { + "items": "ikgamblingplusmod:raw_ruby" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "ikgamblingplusmod:ruby_from_smelting_raw_ruby" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_raw_ruby" + ] + ], + "rewards": { + "recipes": [ + "ikgamblingplusmod:ruby_from_smelting_raw_ruby" + ] + } +} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/block/needs_diamond_tool.json b/src/main/resources/data/minecraft/tags/block/needs_diamond_tool.json deleted file mode 100644 index c224032..0000000 --- a/src/main/resources/data/minecraft/tags/block/needs_diamond_tool.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "ikgamblingplusmod:ruby_deepslate_ore" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/block/needs_iron_tool.json b/src/main/resources/data/minecraft/tags/block/needs_iron_tool.json index 46b9c80..e33f614 100644 --- a/src/main/resources/data/minecraft/tags/block/needs_iron_tool.json +++ b/src/main/resources/data/minecraft/tags/block/needs_iron_tool.json @@ -1,6 +1,7 @@ { "replace": false, "values": [ + "ikgamblingplusmod:ruby_deepslate_ore", "ikgamblingplusmod:ruby_block", "ikgamblingplusmod:raw_ruby_block", "ikgamblingplusmod:ruby_ore"