Villager and trades added. Textures updated.
@@ -2,6 +2,7 @@ package com.ismailkaygisiz.gamblingplus;
|
||||
|
||||
import com.ismailkaygisiz.gamblingplus.block.ModBlocks;
|
||||
import com.ismailkaygisiz.gamblingplus.util.ModCreativeTabs;
|
||||
import com.ismailkaygisiz.gamblingplus.villager.ModVillagers;
|
||||
import com.mojang.logging.LogUtils;
|
||||
import com.ismailkaygisiz.gamblingplus.item.ModItems;
|
||||
//import com.ismailkaygisiz.gamblingplus.villager.ModVillagers;
|
||||
@@ -31,9 +32,8 @@ public final class GamblingPlusMod {
|
||||
FMLCommonSetupEvent.getBus(modBusGroup).addListener(this::commonSetup);
|
||||
|
||||
ModBlocks.register(modBusGroup);
|
||||
//ModBlocks.registerBlockItems(modBusGroup);
|
||||
ModItems.register(modBusGroup);
|
||||
//ModVillagers.register(modBusGroup);
|
||||
ModVillagers.register(modBusGroup);
|
||||
ModCreativeTabs.register(modBusGroup);
|
||||
|
||||
// Register the item to a creative tab
|
||||
@@ -55,6 +55,10 @@ 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);
|
||||
event.accept(ModItems.CATCHING_EGG);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,11 +5,13 @@ import com.ismailkaygisiz.gamblingplus.item.ModItems;
|
||||
import net.minecraft.core.registries.Registries;
|
||||
import net.minecraft.resources.ResourceKey;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.util.valueproviders.UniformInt;
|
||||
import net.minecraft.world.item.BlockItem;
|
||||
import net.minecraft.world.item.CreativeModeTabs;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
import net.minecraft.world.level.block.DropExperienceBlock;
|
||||
import net.minecraft.world.level.block.SoundType;
|
||||
import net.minecraft.world.level.block.state.BlockBehaviour;
|
||||
import net.minecraft.world.level.material.MapColor;
|
||||
@@ -23,13 +25,31 @@ import java.util.function.Supplier;
|
||||
public class ModBlocks {
|
||||
public static final DeferredRegister<Block> BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, GamblingPlusMod.MOD_ID);
|
||||
|
||||
public static final RegistryObject<Block> RUBY_BLOCK = registerBlock("ruby_block", ()-> new Block(BlockBehaviour.Properties.of()
|
||||
.setId((ResourceKey.create(Registries.BLOCK, ResourceLocation.parse(String.format("%s:%s", GamblingPlusMod.MOD_ID, "ruby_block")))))
|
||||
.strength(.1f).requiresCorrectToolForDrops().sound(SoundType.IRON)));
|
||||
public static final RegistryObject<Block> RUBY_BLOCK = registerBlock("ruby_block",
|
||||
()-> new Block(BlockBehaviour.Properties.of()
|
||||
.setId((ResourceKey.create(Registries.BLOCK, ResourceLocation.parse(String.format("%s:%s", GamblingPlusMod.MOD_ID, "ruby_block")))))
|
||||
.strength(.1f)
|
||||
.requiresCorrectToolForDrops()
|
||||
.sound(SoundType.IRON)));
|
||||
|
||||
public static final RegistryObject<Block> RAW_RUBY_BLOCK = registerBlock("raw_ruby_block", ()-> new Block(BlockBehaviour.Properties.of()
|
||||
.setId((ResourceKey.create(Registries.BLOCK, ResourceLocation.parse(String.format("%s:%s", GamblingPlusMod.MOD_ID, "raw_ruby_block")))))
|
||||
.strength(.1f).requiresCorrectToolForDrops()));
|
||||
public static final RegistryObject<Block> RAW_RUBY_BLOCK = registerBlock("raw_ruby_block",
|
||||
()-> new Block(BlockBehaviour.Properties.of()
|
||||
.setId((ResourceKey.create(Registries.BLOCK, ResourceLocation.parse(String.format("%s:%s", GamblingPlusMod.MOD_ID, "raw_ruby_block")))))
|
||||
.strength(.1f)
|
||||
.requiresCorrectToolForDrops()));
|
||||
|
||||
public static final RegistryObject<Block> RUBY_ORE = registerBlock("ruby_ore",
|
||||
()-> new DropExperienceBlock(UniformInt.of(2,4),BlockBehaviour.Properties.of()
|
||||
.setId((ResourceKey.create(Registries.BLOCK, ResourceLocation.parse(String.format("%s:%s", GamblingPlusMod.MOD_ID, "ruby_ore")))))
|
||||
.strength(.4f)
|
||||
.requiresCorrectToolForDrops()));
|
||||
|
||||
public static final RegistryObject<Block> RAW_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)
|
||||
.requiresCorrectToolForDrops()
|
||||
.sound(SoundType.DEEPSLATE)));
|
||||
|
||||
public static <T extends Block> void registerBlockItem(String name, RegistryObject<T> block){
|
||||
ModItems.ITEMS.register(name,()-> new BlockItem(block.get(), new Item.Properties()
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
package com.ismailkaygisiz.gamblingplus.datagen;
|
||||
|
||||
public class DataGenerators {
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package com.ismailkaygisiz.gamblingplus.datagen;
|
||||
|
||||
public class ModBlockLootTableProvider {
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package com.ismailkaygisiz.gamblingplus.datagen;
|
||||
|
||||
public class ModBlockStateProvider {
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package com.ismailkaygisiz.gamblingplus.datagen;
|
||||
|
||||
public class ModBlockTagProvider {
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package com.ismailkaygisiz.gamblingplus.datagen;
|
||||
|
||||
public class ModItemModelProvider {
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package com.ismailkaygisiz.gamblingplus.datagen;
|
||||
|
||||
public class ModRecipeProvider {
|
||||
}
|
||||
@@ -0,0 +1,142 @@
|
||||
package com.ismailkaygisiz.gamblingplus.event;
|
||||
|
||||
|
||||
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.world.entity.npc.VillagerTrades;
|
||||
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.enchantment.EnchantedItemInUse;
|
||||
import net.minecraft.world.item.enchantment.Enchantment;
|
||||
import net.minecraft.world.item.enchantment.EnchantmentInstance;
|
||||
import net.minecraft.world.item.enchantment.Enchantments;
|
||||
import net.minecraft.world.item.trading.ItemCost;
|
||||
import net.minecraft.world.item.trading.MerchantOffer;
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.minecraftforge.event.village.VillagerTradesEvent;
|
||||
import net.minecraftforge.event.village.WandererTradesEvent;
|
||||
import net.minecraftforge.eventbus.api.listener.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.registries.ForgeRegistries;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
import static net.minecraft.core.component.predicates.DataComponentPredicates.ENCHANTMENTS;
|
||||
|
||||
@Mod.EventBusSubscriber(modid = GamblingPlusMod.MOD_ID, bus = Mod.EventBusSubscriber.Bus.FORGE)
|
||||
public class ModEvents {
|
||||
|
||||
|
||||
@SubscribeEvent
|
||||
public static void addCustomTrades(VillagerTradesEvent event) {
|
||||
if(event.getType() == ModVillagers.RUBY_WORKER.getKey()) {
|
||||
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));
|
||||
|
||||
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));
|
||||
|
||||
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));
|
||||
|
||||
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));
|
||||
|
||||
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));
|
||||
|
||||
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));
|
||||
|
||||
trades.get(4).add((pTrader, pRandom) -> {
|
||||
List<Holder<Enchantment>> valuableEnchantments = List.of(
|
||||
Enchantments.FORTUNE.getOrThrow(pTrader),
|
||||
Enchantments.EFFICIENCY.getOrThrow(pTrader),
|
||||
Enchantments.POWER.getOrThrow(pTrader),
|
||||
Enchantments.SHARPNESS.getOrThrow(pTrader),
|
||||
Enchantments.UNBREAKING.getOrThrow(pTrader),
|
||||
Enchantments.MENDING.getOrThrow(pTrader),
|
||||
Enchantments.LOOTING.getOrThrow(pTrader),
|
||||
Enchantments.PROTECTION.getOrThrow(pTrader),
|
||||
Enchantments.THORNS.getOrThrow(pTrader),
|
||||
Enchantments.RESPIRATION.getOrThrow(pTrader),
|
||||
Enchantments.FLAME.getOrThrow(pTrader),
|
||||
Enchantments.SMITE.getOrThrow(pTrader),
|
||||
Enchantments.INFINITY.getOrThrow(pTrader)
|
||||
);
|
||||
|
||||
Holder<Enchantment> selected = valuableEnchantments.get(pRandom.nextInt(valuableEnchantments.size()));
|
||||
|
||||
ItemStack book = Items.BOOK.getDefaultInstance();
|
||||
book.enchant(selected,
|
||||
selected.get().getMaxLevel() >= 4 ?
|
||||
pRandom.nextInt(selected.get().getMaxLevel()-1, selected.get().getMaxLevel()+1):
|
||||
selected.get().getMaxLevel());
|
||||
|
||||
return new MerchantOffer(
|
||||
new ItemCost(Items.EMERALD, pRandom.nextInt(40, 65)),
|
||||
Optional.of(new ItemCost(Items.BOOK, 1)),
|
||||
book,
|
||||
6, 32, 0.05f
|
||||
);
|
||||
});
|
||||
|
||||
trades.get(5).add((pTrader, pRandom) -> new MerchantOffer(
|
||||
new ItemCost(Items.EMERALD, pRandom.nextInt(45,65)),
|
||||
Optional.of(new ItemCost(Items.EGG, pRandom.nextInt(5,11))),
|
||||
new ItemStack(ModItems.CATCHING_EGG.get(), 1), 6, 32, 0.05f));
|
||||
|
||||
trades.get(5).add((pTrader, pRandom) -> new MerchantOffer(
|
||||
new ItemCost(Items.EMERALD_BLOCK, pRandom.nextInt(12,21)),
|
||||
Optional.of(new ItemCost(ModItems.RUBY.get(), 64)),
|
||||
new ItemStack(Items.ELYTRA),
|
||||
1, 256, 0.05f
|
||||
));
|
||||
}
|
||||
/*
|
||||
if(event.getType() == VillagerProfession.TOOLSMITH) {
|
||||
var trades = event.getTrades();
|
||||
|
||||
trades.get(1).add((pTrader, pRandom) -> new MerchantOffer(
|
||||
new ItemCost(Items.EMERALD, 12),
|
||||
new ItemStack(ModItems.CHISEL.get(), 1), 6, 4, 0.05f));
|
||||
|
||||
trades.get(1).add((pTrader, pRandom) -> new MerchantOffer(
|
||||
new ItemCost(Items.DIAMOND, 19),
|
||||
new ItemStack(ModItems.TOMAHAWK.get(), 1), 6, 4, 0.05f));
|
||||
|
||||
trades.get(2).add((pTrader, pRandom) -> new MerchantOffer(
|
||||
new ItemCost(Items.EMERALD, 1),
|
||||
new ItemStack(ModItems.RADIATION_STAFF.get(), 1), 1, 12, 0.05f));
|
||||
}*/
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void addWanderingTrades(WandererTradesEvent event) {
|
||||
/*
|
||||
List<VillagerTrades.ItemListing> genericTrades = event.getGenericTrades();
|
||||
List<VillagerTrades.ItemListing> rareTrades = event.getRareTrades();
|
||||
|
||||
genericTrades.add((pTrader, pRandom) -> new MerchantOffer(
|
||||
new ItemCost(Items.EMERALD, 12),
|
||||
new ItemStack(ModItems.RADIATION_STAFF.get(), 1), 1, 10, 0.2f
|
||||
));
|
||||
|
||||
rareTrades.add((pTrader, pRandom) -> new MerchantOffer(
|
||||
new ItemCost(Items.NETHERITE_INGOT, 8),
|
||||
new ItemStack(ModItems.BAR_BRAWL_MUSIC_DISC.get(), 1), 1, 10, 0.2f
|
||||
));*/
|
||||
}
|
||||
}
|
||||
@@ -2,11 +2,13 @@ package com.ismailkaygisiz.gamblingplus.item;
|
||||
|
||||
import com.ismailkaygisiz.gamblingplus.GamblingPlusMod;
|
||||
//import com.ismailkaygisiz.gamblingplus.item.SpecialEggItem;
|
||||
import com.ismailkaygisiz.gamblingplus.item.custom.CatchingEggItem;
|
||||
import net.minecraft.core.registries.Registries;
|
||||
import net.minecraft.resources.ResourceKey;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.world.item.CreativeModeTabs;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.Rarity;
|
||||
import net.minecraft.world.item.SpawnEggItem;
|
||||
import net.minecraft.world.item.Item.Properties;
|
||||
//import net.minecraftforge.event.CreativeModeTabEvent;
|
||||
@@ -30,6 +32,14 @@ public class ModItems {
|
||||
String.format("%s:%s", GamblingPlusMod.MOD_ID, "raw_ruby")
|
||||
)))));
|
||||
|
||||
public static final RegistryObject<Item> CATCHING_EGG = ITEMS.register("catching_egg", () ->
|
||||
new CatchingEggItem(new Item.Properties()
|
||||
.setId(ResourceKey.create(Registries.ITEM, ResourceLocation.parse(String.format("%s:%s", GamblingPlusMod.MOD_ID, "catching_egg"))))
|
||||
.stacksTo(16)
|
||||
.rarity(Rarity.UNCOMMON)));
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*public static final RegistryObject<Item> SPECIAL_EGG = ITEMS.register("special_egg", () -> new SpecialEggItem(new Properties().stacksTo(1)));
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
package com.ismailkaygisiz.gamblingplus.item.custom;
|
||||
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.server.level.ServerLevel;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import net.minecraft.world.InteractionHand;
|
||||
import net.minecraft.world.InteractionResult;
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
import net.minecraft.world.entity.EquipmentSlot;
|
||||
import net.minecraft.world.entity.LivingEntity;
|
||||
import net.minecraft.world.entity.npc.Villager;
|
||||
import net.minecraft.world.entity.npc.VillagerProfession;
|
||||
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.item.context.UseOnContext;
|
||||
import net.minecraft.world.level.Level;
|
||||
|
||||
public class CatchingEggItem extends Item {
|
||||
public CatchingEggItem(Properties pProperties) {
|
||||
super(pProperties);
|
||||
}
|
||||
@Override
|
||||
public InteractionResult interactLivingEntity(ItemStack pStack, Player pPlayer, LivingEntity pInteractionTarget, InteractionHand pUsedHand) {
|
||||
if (pPlayer.level().isClientSide) {
|
||||
return InteractionResult.PASS;
|
||||
}
|
||||
|
||||
EntityType<?> type = pInteractionTarget.getType();
|
||||
Item spawnEgg = SpawnEggItem.byId(type);
|
||||
|
||||
if (spawnEgg != null) {
|
||||
pPlayer.addItem(new ItemStack(spawnEgg));
|
||||
|
||||
pInteractionTarget.discard();
|
||||
|
||||
if (!pPlayer.getAbilities().instabuild) {
|
||||
pStack.shrink(1);
|
||||
}
|
||||
return InteractionResult.SUCCESS;
|
||||
}
|
||||
|
||||
return InteractionResult.PASS;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -1,25 +1,41 @@
|
||||
/*package com.ismailkaygisiz.gamblingplus.villager;
|
||||
package com.ismailkaygisiz.gamblingplus.villager;
|
||||
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.ismailkaygisiz.gamblingplus.GamblingPlusMod;
|
||||
import com.ismailkaygisiz.gamblingplus.block.ModBlocks;
|
||||
import net.minecraft.core.registries.Registries;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.resources.ResourceKey;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.world.entity.ai.village.poi.PoiType;
|
||||
import net.minecraft.world.entity.npc.Villager;
|
||||
import net.minecraft.world.entity.npc.VillagerProfession;
|
||||
import net.minecraft.world.entity.npc.VillagerType;
|
||||
import net.minecraft.world.level.block.SoundType;
|
||||
import net.minecraftforge.eventbus.api.bus.BusGroup;
|
||||
import net.minecraftforge.registries.DeferredRegister;
|
||||
import net.minecraftforge.registries.ForgeRegistries;
|
||||
import net.minecraftforge.registries.RegistryObject;
|
||||
|
||||
|
||||
|
||||
public class ModVillagers {
|
||||
public static final DeferredRegister<VillagerProfession> PROFESSIONS = DeferredRegister.create(ForgeRegistries.VILLAGER_PROFESSIONS, GamblingPlusMod.MOD_ID);
|
||||
public static final DeferredRegister<VillagerType> TYPES = DeferredRegister.create(ForgeRegistries.VILLAGER_TYPES, GamblingPlusMod.MOD_ID);
|
||||
public static final RegistryObject<VillagerProfession> RUBY_WORKER = PROFESSIONS.register("ruby_worker",
|
||||
() -> new VillagerProfession("ruby_worker", holder -> holder.is(ModBlocks.RUBY_SMITHING_TABLE.get().asItem().builtInRegistryHolder()),
|
||||
holder -> holder.is(ModBlocks.RUBY_SMITHING_TABLE.get().asItem().builtInRegistryHolder())));
|
||||
public static final RegistryObject<VillagerProfession> GAMBLER = PROFESSIONS.register("gambler",
|
||||
() -> new VillagerProfession("gambler", holder -> holder.is(ModBlocks.GAMBLING_TABLE.get().asItem().builtInRegistryHolder()),
|
||||
holder -> holder.is(ModBlocks.GAMBLING_TABLE.get().asItem().builtInRegistryHolder())));
|
||||
public static final DeferredRegister<PoiType> POI_TYPES = DeferredRegister.create(ForgeRegistries.POI_TYPES, GamblingPlusMod.MOD_ID);
|
||||
|
||||
public static final DeferredRegister<VillagerProfession> VILLAGER_PROFESSIONS
|
||||
= DeferredRegister.create(ForgeRegistries.VILLAGER_PROFESSIONS, GamblingPlusMod.MOD_ID);
|
||||
|
||||
public static final RegistryObject<PoiType> RUBY_POI = POI_TYPES.register("ruby_poi",
|
||||
() -> new PoiType(ImmutableSet.copyOf(ModBlocks.RUBY_BLOCK.get().getStateDefinition().getPossibleStates()),1,1));
|
||||
|
||||
public static final RegistryObject<VillagerProfession> RUBY_WORKER = VILLAGER_PROFESSIONS.register("ruby_worker",
|
||||
() -> new VillagerProfession(Component.translatable("profession.ikgamblingplusmod.ruby_worker"),
|
||||
poiTypeHolder -> poiTypeHolder.value() == RUBY_POI.get(),
|
||||
poiTypeHolder -> poiTypeHolder.value()==RUBY_POI.get(), ImmutableSet.of(),ImmutableSet.of(),
|
||||
SoundType.DEEPSLATE.getBreakSound()));
|
||||
|
||||
public static void register(BusGroup eventBus) {
|
||||
PROFESSIONS.register(eventBus);
|
||||
TYPES.register(eventBus);
|
||||
POI_TYPES.register(eventBus);
|
||||
VILLAGER_PROFESSIONS.register(eventBus);
|
||||
}
|
||||
} */
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"variants": {
|
||||
"": {
|
||||
"model": "ikgamblingplusmod:block/ruby_deepslate_ore"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"variants": {
|
||||
"": {
|
||||
"model": "ikgamblingplusmod:block/ruby_ore"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"model": {
|
||||
"type": "minecraft:model",
|
||||
"model": "ikgamblingplusmod:item/catching_egg"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"model": {
|
||||
"type": "minecraft:model",
|
||||
"model": "ikgamblingplusmod:item/ruby_deepslate_ore"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"model": {
|
||||
"type": "minecraft:model",
|
||||
"model": "ikgamblingplusmod:item/ruby_ore"
|
||||
}
|
||||
}
|
||||
@@ -3,5 +3,13 @@
|
||||
"item.ikgamblingplusmod.raw_ruby": "Raw Ruby",
|
||||
"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.catching_egg": "Catching Egg",
|
||||
|
||||
"profession.ikgamblingplusmod.ruby_worker": "Ruby Worker",
|
||||
|
||||
|
||||
|
||||
"creativetab.ikgamblingplusmod.gambling_tab": "Gambling Plus"
|
||||
}
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"parent": "minecraft:block/cube_all",
|
||||
"textures": {
|
||||
"all": "ikgamblingplusmod:block/ruby_deepslate_ore"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"parent": "minecraft:block/cube_all",
|
||||
"textures": {
|
||||
"all": "ikgamblingplusmod:block/ruby_ore"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "ikgamblingplusmod:item/catching_egg"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"parent": "ikgamblingplusmod:block/ruby_deepslate_ore"
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"parent": "ikgamblingplusmod:block/ruby_ore"
|
||||
}
|
||||
|
Before Width: | Height: | Size: 811 B After Width: | Height: | Size: 293 B |
|
Before Width: | Height: | Size: 528 B After Width: | Height: | Size: 216 B |
|
After Width: | Height: | Size: 665 B |
|
After Width: | Height: | Size: 600 B |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 285 B |
|
Before Width: | Height: | Size: 544 B After Width: | Height: | Size: 239 B |
|
Before Width: | Height: | Size: 397 B After Width: | Height: | Size: 256 B |
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"bonus_rolls": 0,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "ikgamblingplusmod:raw_ruby_block"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:survives_explosion"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "ikgamblingplusmod:blocks/raw_ruby_block"
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"bonus_rolls": 0,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "ikgamblingplusmod:ruby_block"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:survives_explosion"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "ikgamblingplusmod:blocks/ruby_block"
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"bonus_rolls": 0.0,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:alternatives",
|
||||
"children": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:match_tool",
|
||||
"predicate": {
|
||||
"predicates": {
|
||||
"minecraft:enchantments": [
|
||||
{
|
||||
"enchantments": "minecraft:silk_touch",
|
||||
"levels": {
|
||||
"min": 1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"name": "ikgamblingplusmod:ruby_deepslate_ore"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"add": false,
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 5.0,
|
||||
"min": 2.0
|
||||
},
|
||||
"function": "minecraft:set_count"
|
||||
},
|
||||
{
|
||||
"enchantment": "minecraft:fortune",
|
||||
"formula": "minecraft:ore_drops",
|
||||
"function": "minecraft:apply_bonus"
|
||||
},
|
||||
{
|
||||
"function": "minecraft:explosion_decay"
|
||||
}
|
||||
],
|
||||
"name": "ikgamblingplusmod:raw_ruby"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"rolls": 1.0
|
||||
}
|
||||
],
|
||||
"random_sequence": "ikgamblingplusmod:blocks/ruby_deepslate_ore"
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"bonus_rolls": 0.0,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:alternatives",
|
||||
"children": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:match_tool",
|
||||
"predicate": {
|
||||
"predicates": {
|
||||
"minecraft:enchantments": [
|
||||
{
|
||||
"enchantments": "minecraft:silk_touch",
|
||||
"levels": {
|
||||
"min": 1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"name": "ikgamblingplusmod:ruby_ore"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"enchantment": "minecraft:fortune",
|
||||
"formula": "minecraft:ore_drops",
|
||||
"function": "minecraft:apply_bonus"
|
||||
},
|
||||
{
|
||||
"function": "minecraft:explosion_decay"
|
||||
}
|
||||
],
|
||||
"name": "ikgamblingplusmod:raw_ruby"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"rolls": 1.0
|
||||
}
|
||||
],
|
||||
"random_sequence": "ikgamblingplusmod:blocks/ruby_ore"
|
||||
}
|
||||
11
src/main/resources/data/ikgamblingplusmod/recipe/ruby.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"type": "minecraft:crafting_shapeless",
|
||||
"category": "misc",
|
||||
"ingredients": [
|
||||
"ikgamblingplusmod:ruby_block"
|
||||
],
|
||||
"result": {
|
||||
"id": "ikgamblingplusmod:ruby",
|
||||
"count": 9
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"category": "mics",
|
||||
"key": {
|
||||
"A": "ikgamblingplusmod:ruby"
|
||||
},
|
||||
"pattern": [
|
||||
"AAA",
|
||||
"AAA",
|
||||
"AAA"
|
||||
],
|
||||
"result": {
|
||||
"count": 1,
|
||||
"id": "ikgamblingplusmod:ruby_block"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"type": "minecraft:blasting",
|
||||
"category": "misc",
|
||||
"cookingtime": 100,
|
||||
"experience": 0.25,
|
||||
"group": "ruby",
|
||||
"ingredient": "ikgamblingplusmod:raw_ruby",
|
||||
"result": {
|
||||
"id": "ikgamblingplusmod:ruby"
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"type": "minecraft:smelting",
|
||||
"category": "misc",
|
||||
"cookingtime": 100,
|
||||
"experience": 0.25,
|
||||
"group": "ruby",
|
||||
"ingredient": "ikgamblingplusmod:raw_ruby",
|
||||
"result": {
|
||||
"id": "ikgamblingplusmod:ruby"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"ikgamblingplusmod:ruby_block",
|
||||
"ikgamblingplusmod:raw_ruby_block",
|
||||
"ikgamblingplusmod:ruby_ore",
|
||||
"ikgamblingplusmod:ruby_deepslate_ore"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"ikgamblingplusmod:ruby_deepslate_ore"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"ikgamblingplusmod:ruby_block",
|
||||
"ikgamblingplusmod:raw_ruby_block",
|
||||
"ikgamblingplusmod:ruby_ore"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
{
|
||||
"id": "ikgamblingplusmod:ruby_poi",
|
||||
"required": false
|
||||
}
|
||||
]
|
||||
}
|
||||