2020-09-22 15:11:20 +02:00
|
|
|
package com.minelittlepony.unicopia.item;
|
|
|
|
|
2023-09-29 00:41:56 +02:00
|
|
|
import com.google.common.collect.ImmutableMultimap;
|
2022-08-27 15:14:00 +02:00
|
|
|
import com.minelittlepony.unicopia.*;
|
2023-11-02 19:24:35 +01:00
|
|
|
import com.minelittlepony.unicopia.block.FancyBedBlock.SheetPattern;
|
2021-09-02 19:11:51 +02:00
|
|
|
import com.minelittlepony.unicopia.block.UBlocks;
|
2023-08-14 21:31:33 +02:00
|
|
|
import com.minelittlepony.unicopia.block.UWoodTypes;
|
2023-10-31 21:38:28 +01:00
|
|
|
import com.minelittlepony.unicopia.block.cloud.CloudBedBlock;
|
2023-09-02 19:34:57 +02:00
|
|
|
import com.minelittlepony.unicopia.entity.mob.AirBalloonEntity;
|
|
|
|
import com.minelittlepony.unicopia.entity.mob.UEntities;
|
2023-10-20 21:12:13 +02:00
|
|
|
import com.minelittlepony.unicopia.item.cloud.CloudBedItem;
|
2021-02-16 12:39:39 +01:00
|
|
|
import com.minelittlepony.unicopia.item.enchantment.UEnchantments;
|
2022-12-19 00:12:49 +01:00
|
|
|
import com.minelittlepony.unicopia.item.group.ItemGroupRegistry;
|
2022-12-19 01:47:00 +01:00
|
|
|
import com.minelittlepony.unicopia.item.group.UItemGroups;
|
2024-04-05 19:33:24 +02:00
|
|
|
import com.minelittlepony.unicopia.recipe.URecipes;
|
2023-08-16 18:56:34 +02:00
|
|
|
import com.terraformersmc.terraform.boat.api.TerraformBoatType;
|
|
|
|
import com.terraformersmc.terraform.boat.api.TerraformBoatTypeRegistry;
|
2023-08-14 21:31:33 +02:00
|
|
|
import com.terraformersmc.terraform.boat.api.item.TerraformBoatItemHelper;
|
2020-09-22 15:11:20 +02:00
|
|
|
|
2024-03-27 20:23:16 +01:00
|
|
|
import net.minecraft.block.Blocks;
|
2023-09-29 00:41:56 +02:00
|
|
|
import net.minecraft.entity.attribute.EntityAttributeModifier;
|
|
|
|
import net.minecraft.entity.attribute.EntityAttributes;
|
2023-08-12 21:43:37 +02:00
|
|
|
import net.minecraft.entity.vehicle.BoatEntity;
|
2022-09-18 21:39:42 +02:00
|
|
|
import net.minecraft.item.*;
|
2020-09-22 15:11:20 +02:00
|
|
|
import net.minecraft.item.Item.Settings;
|
2021-02-03 21:25:42 +01:00
|
|
|
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
|
2022-12-05 00:09:13 +01:00
|
|
|
import net.fabricmc.fabric.api.registry.CompostingChanceRegistry;
|
2022-09-18 21:39:42 +02:00
|
|
|
import net.fabricmc.fabric.api.registry.FuelRegistry;
|
2020-09-22 15:11:20 +02:00
|
|
|
import net.minecraft.sound.SoundEvent;
|
|
|
|
import net.minecraft.util.Rarity;
|
2024-04-05 18:10:39 +02:00
|
|
|
import net.minecraft.util.UseAction;
|
2022-12-18 22:07:24 +01:00
|
|
|
import net.minecraft.registry.Registry;
|
2023-06-03 13:40:54 +02:00
|
|
|
import net.minecraft.registry.RegistryKey;
|
2022-12-18 22:07:24 +01:00
|
|
|
import net.minecraft.registry.Registries;
|
2020-09-22 15:11:20 +02:00
|
|
|
|
|
|
|
public interface UItems {
|
2022-12-19 00:12:49 +01:00
|
|
|
Item GREEN_APPLE = register("green_apple", AppleItem.registerTickCallback(new Item(new Item.Settings().food(FoodComponents.APPLE))), ItemGroups.FOOD_AND_DRINK);
|
|
|
|
Item SWEET_APPLE = register("sweet_apple", AppleItem.registerTickCallback(new Item(new Item.Settings().food(FoodComponents.APPLE))), ItemGroups.FOOD_AND_DRINK);
|
|
|
|
Item SOUR_APPLE = register("sour_apple", AppleItem.registerTickCallback(new Item(new Item.Settings().food(FoodComponents.APPLE))), ItemGroups.FOOD_AND_DRINK);
|
2020-09-22 15:11:20 +02:00
|
|
|
|
2022-12-19 00:12:49 +01:00
|
|
|
ZapAppleItem ZAP_APPLE = register("zap_apple", AppleItem.registerTickCallback(new ZapAppleItem(new Item.Settings().food(UFoodComponents.ZAP_APPLE))), ItemGroups.FOOD_AND_DRINK);
|
|
|
|
Item ZAP_BULB = register("zap_bulb", new Item(new Item.Settings().food(UFoodComponents.ZAP_BULB)), ItemGroups.FOOD_AND_DRINK);
|
2020-09-22 15:11:20 +02:00
|
|
|
|
2022-12-19 00:12:49 +01:00
|
|
|
Item ROTTEN_APPLE = register("rotten_apple", new RottenAppleItem(new Item.Settings().food(FoodComponents.APPLE)), ItemGroups.FOOD_AND_DRINK);
|
|
|
|
Item COOKED_ZAP_APPLE = register("cooked_zap_apple", new Item(new Item.Settings().food(FoodComponents.APPLE)), ItemGroups.FOOD_AND_DRINK);
|
2020-09-22 15:11:20 +02:00
|
|
|
|
2022-08-27 12:33:53 +02:00
|
|
|
Item MUSIC_DISC_CRUSADE = register("music_disc_crusade", USounds.RECORD_CRUSADE, 181);
|
|
|
|
Item MUSIC_DISC_PET = register("music_disc_pet", USounds.RECORD_PET, 221);
|
|
|
|
Item MUSIC_DISC_POPULAR = register("music_disc_popular", USounds.RECORD_POPULAR, 112);
|
|
|
|
Item MUSIC_DISC_FUNK = register("music_disc_funk", USounds.RECORD_FUNK, 91);
|
2020-09-22 15:11:20 +02:00
|
|
|
|
2023-08-14 21:31:33 +02:00
|
|
|
FriendshipBraceletItem FRIENDSHIP_BRACELET = register("friendship_bracelet", new FriendshipBraceletItem(new FabricItemSettings().rarity(Rarity.UNCOMMON)), ItemGroups.TOOLS);
|
2021-02-03 21:25:42 +01:00
|
|
|
|
2024-01-29 20:05:20 +01:00
|
|
|
Item PLUNDER_VINE = register("plunder_vine", new BlockItem(UBlocks.PLUNDER_VINE_BUD, new Item.Settings()));
|
2024-03-30 03:19:54 +01:00
|
|
|
Item EMPTY_JAR = register("empty_jar", new EmptyJarItem(UBlocks.JAR, new Item.Settings().fireproof()), ItemGroups.FUNCTIONAL);
|
2024-03-24 00:17:47 +01:00
|
|
|
FilledJarItem FILLED_JAR = register("filled_jar", new FilledJarItem(new Item.Settings().maxCount(16).fireproof().recipeRemainder(EMPTY_JAR)));
|
2024-03-30 03:19:54 +01:00
|
|
|
Item RAIN_CLOUD_JAR = register("rain_cloud_jar", new WeatherJarItem(UBlocks.CLOUD_JAR, new Item.Settings().maxCount(16).fireproof().recipeRemainder(EMPTY_JAR), WeatherJarItem.Type.RAIN), ItemGroups.FUNCTIONAL);
|
|
|
|
Item STORM_CLOUD_JAR = register("storm_cloud_jar", new WeatherJarItem(UBlocks.STORM_JAR, new Item.Settings().maxCount(16).fireproof().recipeRemainder(EMPTY_JAR), WeatherJarItem.Type.THUNDER), ItemGroups.FUNCTIONAL);
|
|
|
|
Item LIGHTNING_JAR = register("lightning_jar", new WeatherJarItem(UBlocks.LIGHTNING_JAR, new Item.Settings().maxCount(16).fireproof().recipeRemainder(EMPTY_JAR), WeatherJarItem.Type.LIGHTNING), ItemGroups.FUNCTIONAL);
|
|
|
|
Item ZAP_APPLE_JAM_JAR = register("zap_apple_jam_jar", new WeatherJarItem(UBlocks.ZAP_JAR, new Item.Settings().maxCount(16).fireproof().recipeRemainder(EMPTY_JAR), WeatherJarItem.Type.LIGHTNING), ItemGroups.FUNCTIONAL);
|
2022-12-19 00:12:49 +01:00
|
|
|
|
2023-10-23 21:19:05 +02:00
|
|
|
Item TOAST = register("toast", new Item(new Item.Settings().maxCount(16).food(UFoodComponents.TOAST)), ItemGroups.FOOD_AND_DRINK);
|
|
|
|
Item BURNED_TOAST = register("burned_toast", new Item(new Item.Settings().maxCount(16).food(UFoodComponents.BURNED_TOAST)), ItemGroups.FOOD_AND_DRINK);
|
|
|
|
Item JAM_TOAST = register("jam_toast", new Item(new Item.Settings().maxCount(16).food(UFoodComponents.JAM_TOAST)), ItemGroups.FOOD_AND_DRINK);
|
2023-10-23 20:02:39 +02:00
|
|
|
|
2022-12-19 00:12:49 +01:00
|
|
|
Item CRYSTAL_HEART = register("crystal_heart", new CrystalHeartItem(new Item.Settings().maxCount(1)), ItemGroups.TOOLS);
|
|
|
|
Item CRYSTAL_SHARD = register("crystal_shard", new Item(new Item.Settings()), ItemGroups.NATURAL);
|
|
|
|
|
2023-02-28 17:44:14 +01:00
|
|
|
GemstoneItem GEMSTONE = register("gemstone", new GemstoneItem(new Item.Settings()), ItemGroups.NATURAL);
|
2022-12-19 00:12:49 +01:00
|
|
|
Item BOTCHED_GEM = register("botched_gem", new Item(new Item.Settings()), ItemGroups.NATURAL);
|
|
|
|
|
|
|
|
Item PEGASUS_FEATHER = register("pegasus_feather", new Item(new Item.Settings()), ItemGroups.NATURAL);
|
|
|
|
Item GRYPHON_FEATHER = register("gryphon_feather", new Item(new Item.Settings()), ItemGroups.NATURAL);
|
|
|
|
|
|
|
|
Item OAT_SEEDS = register("oat_seeds", new AliasedBlockItem(UBlocks.OATS, new Item.Settings()), ItemGroups.NATURAL);
|
|
|
|
Item OATS = register("oats", new Item(new Item.Settings().food(UFoodComponents.OATS)), ItemGroups.FOOD_AND_DRINK);
|
|
|
|
Item IMPORTED_OATS = register("imported_oats", new Item(new Item.Settings().food(UFoodComponents.IMPORTED_OATS)), ItemGroups.FOOD_AND_DRINK);
|
|
|
|
Item OATMEAL = register("oatmeal", new OatmealItem(new Item.Settings().recipeRemainder(Items.BOWL).maxCount(1).food(UFoodComponents.OATMEAL)), ItemGroups.FOOD_AND_DRINK);
|
|
|
|
|
2024-03-29 21:32:50 +01:00
|
|
|
Item OATMEAL_COOKIE = register("oatmeal_cookie", new Item(new Item.Settings().food(UFoodComponents.OATMEAL_COOKIE)), ItemGroups.FOOD_AND_DRINK);
|
|
|
|
Item CHOCOLATE_OATMEAL_COOKIE = register("chocolate_oatmeal_cookie", new Item(new Item.Settings().food(UFoodComponents.CHOCOLATE_OATMEAL_COOKIE)), ItemGroups.FOOD_AND_DRINK);
|
2024-03-27 20:24:06 +01:00
|
|
|
Item PINECONE_COOKIE = register("pinecone_cookie", new Item(new Item.Settings().food(FoodComponents.COOKIE)), ItemGroups.FOOD_AND_DRINK);
|
2024-03-29 21:32:50 +01:00
|
|
|
Item BOWL_OF_NUTS = register("bowl_of_nuts", new StewItem(new Item.Settings().food(UFoodComponents.NUT_BOWL).recipeRemainder(Items.BOWL)), ItemGroups.FOOD_AND_DRINK);
|
|
|
|
Item SCONE = register("scone", new MuffinItem(new Item.Settings().maxCount(32).food(UFoodComponents.SCONE), 0), ItemGroups.FOOD_AND_DRINK);
|
2024-03-27 20:24:06 +01:00
|
|
|
|
2022-12-19 00:12:49 +01:00
|
|
|
Item DAFFODIL_DAISY_SANDWICH = register("daffodil_daisy_sandwich", new Item(new Item.Settings().food(UFoodComponents.DAFODIL_DAISY_SANDWICH)), ItemGroups.FOOD_AND_DRINK);
|
2024-03-29 21:32:50 +01:00
|
|
|
Item HAY_BURGER = register("hay_burger", new Item(new Item.Settings().maxCount(1).food(UFoodComponents.BURGER)), ItemGroups.FOOD_AND_DRINK);
|
2022-12-19 00:12:49 +01:00
|
|
|
Item HAY_FRIES = register("hay_fries", new Item(new Item.Settings().maxCount(16).food(UFoodComponents.HAY_FRIES)), ItemGroups.FOOD_AND_DRINK);
|
2023-08-16 01:08:05 +02:00
|
|
|
Item CRISPY_HAY_FRIES = register("crispy_hay_fries", new Item(new Item.Settings().maxCount(16).food(UFoodComponents.CRISPY_HAY_FRIES)), ItemGroups.FOOD_AND_DRINK);
|
2023-10-23 20:02:39 +02:00
|
|
|
/**
|
|
|
|
* https://mlp.fandom.com/wiki/Food_and_beverage
|
|
|
|
*/
|
|
|
|
Item HORSE_SHOE_FRIES = register("horse_shoe_fries", new Item(new Item.Settings().maxCount(32).food(UFoodComponents.HAY_FRIES)), ItemGroups.FOOD_AND_DRINK);
|
2023-08-16 01:08:05 +02:00
|
|
|
|
2023-09-11 22:16:25 +02:00
|
|
|
Item WHEAT_WORMS = register("wheat_worms", new Item(new Item.Settings().maxCount(16).food(UFoodComponents.WORMS)), ItemGroups.NATURAL);
|
2024-03-28 15:51:55 +01:00
|
|
|
Item BAITED_FISHING_ROD = register("baited_fishing_rod", new BaitedFishingRodItem(new Item.Settings().maxDamage(64)), ItemGroups.TOOLS);
|
2022-12-19 00:12:49 +01:00
|
|
|
Item MUFFIN = register("muffin", new MuffinItem(new Item.Settings().maxCount(32).food(FoodComponents.BREAD), 0), ItemGroups.FOOD_AND_DRINK);
|
2024-03-27 20:23:16 +01:00
|
|
|
Item PINECONE = register("pinecone", new ForageableItem(new Item.Settings().food(UFoodComponents.PINECONE).maxCount(16), () -> Blocks.SPRUCE_LEAVES), ItemGroups.FOOD_AND_DRINK);
|
|
|
|
Item ACORN = register("acorn", new ForageableItem(new Item.Settings().food(UFoodComponents.ACORN).maxCount(16), () -> Blocks.OAK_LEAVES), ItemGroups.FOOD_AND_DRINK);
|
2023-05-21 18:37:38 +02:00
|
|
|
Item MANGO = register("mango", new Item(new Item.Settings().food(UFoodComponents.MANGO)), ItemGroups.FOOD_AND_DRINK);
|
2023-05-23 10:48:40 +02:00
|
|
|
Item BANANA = register("banana", new Item(new Item.Settings().food(UFoodComponents.BANANA)), ItemGroups.FOOD_AND_DRINK);
|
2024-01-03 21:51:24 +01:00
|
|
|
Item CURING_JOKE = register("curing_joke", new CuringJokeItem(UBlocks.CURING_JOKE, new Item.Settings().food(UFoodComponents.POISON_JOKE)), ItemGroups.NATURAL);
|
2023-05-23 10:48:40 +02:00
|
|
|
Item PINEAPPLE = register("pineapple", new PineappleItem(new Item.Settings().food(UFoodComponents.BANANA).maxDamage(3)), ItemGroups.FOOD_AND_DRINK);
|
2023-09-08 22:26:38 +02:00
|
|
|
Item PINEAPPLE_CROWN = register("pineapple_crown", new AliasedBlockItem(UBlocks.PINEAPPLE, new Item.Settings()), ItemGroups.NATURAL);
|
2022-12-19 00:12:49 +01:00
|
|
|
|
2023-10-18 19:52:59 +02:00
|
|
|
Item PEBBLES = register("pebbles", new AliasedBlockItem(UBlocks.ROCKS, new Item.Settings()), ItemGroups.NATURAL);
|
2022-12-19 00:12:49 +01:00
|
|
|
Item ROCK = register("rock", new HeavyProjectileItem(new Item.Settings(), 3), ItemGroups.NATURAL);
|
2023-09-29 00:41:56 +02:00
|
|
|
Item WEIRD_ROCK = register("weird_rock", new BluntWeaponItem(new Item.Settings(), ImmutableMultimap.of(
|
|
|
|
EntityAttributes.GENERIC_LUCK, new EntityAttributeModifier(BluntWeaponItem.LUCK_MODIFIER_ID, "Weapon modifier", 9, EntityAttributeModifier.Operation.ADDITION)
|
|
|
|
)), ItemGroups.NATURAL);
|
|
|
|
Item TOM = register("tom", new BluntWeaponItem(new Item.Settings(), ImmutableMultimap.of(
|
|
|
|
EntityAttributes.GENERIC_KNOCKBACK_RESISTANCE, new EntityAttributeModifier(BluntWeaponItem.KNOCKBACK_MODIFIER_ID, "Weapon modifier", 0.9, EntityAttributeModifier.Operation.ADDITION)
|
|
|
|
)), ItemGroups.NATURAL);
|
2024-04-06 00:32:14 +02:00
|
|
|
Item ROCK_STEW = register("rock_stew", new StewItem(new Item.Settings().food(FoodComponents.MUSHROOM_STEW).maxCount(1).recipeRemainder(Items.BOWL)), ItemGroups.FOOD_AND_DRINK);
|
2023-10-23 20:02:39 +02:00
|
|
|
Item ROCK_CANDY = register("rock_candy", new Item(new Item.Settings().food(UFoodComponents.CANDY).maxCount(16)), ItemGroups.FOOD_AND_DRINK);
|
|
|
|
Item SALT_CUBE = register("salt_cube", new Item(new Item.Settings().food(UFoodComponents.SALT_CUBE)), ItemGroups.FOOD_AND_DRINK);
|
2022-12-19 00:12:49 +01:00
|
|
|
|
|
|
|
Item GREEN_APPLE_SEEDS = register("green_apple_seeds", new AliasedBlockItem(UBlocks.GREEN_APPLE_SPROUT, new Item.Settings()), ItemGroups.NATURAL);
|
|
|
|
Item SWEET_APPLE_SEEDS = register("sweet_apple_seeds", new AliasedBlockItem(UBlocks.SWEET_APPLE_SPROUT, new Item.Settings()), ItemGroups.NATURAL);
|
|
|
|
Item SOUR_APPLE_SEEDS = register("sour_apple_seeds", new AliasedBlockItem(UBlocks.SOUR_APPLE_SPROUT, new Item.Settings()), ItemGroups.NATURAL);
|
2024-01-18 20:52:59 +01:00
|
|
|
Item GOLDEN_OAK_SEEDS = register("golden_oak_seeds", new AliasedBlockItem(UBlocks.GOLDEN_OAK_SPROUT, new Item.Settings()), ItemGroups.NATURAL);
|
2022-12-19 00:12:49 +01:00
|
|
|
|
2024-03-24 00:17:47 +01:00
|
|
|
Item MUG = register("mug", new Item(new Settings()), ItemGroups.TOOLS);
|
2024-04-05 18:10:39 +02:00
|
|
|
Item CIDER = register("cider", new ConsumableItem(new Item.Settings().food(UFoodComponents.CIDER).maxCount(16).recipeRemainder(MUG), UseAction.DRINK), ItemGroups.FOOD_AND_DRINK);
|
|
|
|
Item JUICE = register("juice", new ConsumableItem(new Item.Settings().recipeRemainder(Items.GLASS_BOTTLE).maxCount(16).food(UFoodComponents.JUICE), UseAction.DRINK), ItemGroups.FOOD_AND_DRINK);
|
|
|
|
Item BURNED_JUICE = register("burned_juice", new ConsumableItem(new Item.Settings().recipeRemainder(Items.GLASS_BOTTLE).maxCount(16).food(UFoodComponents.BURNED_JUICE), UseAction.DRINK), ItemGroups.FOOD_AND_DRINK);
|
2022-12-19 00:12:49 +01:00
|
|
|
Item APPLE_PIE = register("apple_pie", new BlockItem(UBlocks.APPLE_PIE, new Item.Settings().maxCount(1)), ItemGroups.FOOD_AND_DRINK);
|
2023-08-16 18:56:34 +02:00
|
|
|
Item APPLE_PIE_HOOF = register("apple_pie_hoof", new AliasedBlockItem(UBlocks.APPLE_PIE, new Item.Settings().maxCount(1)), ItemGroups.FOOD_AND_DRINK);
|
2022-12-19 00:12:49 +01:00
|
|
|
Item APPLE_PIE_SLICE = register("apple_pie_slice", new Item(new Item.Settings().maxCount(16).food(UFoodComponents.PIE)), ItemGroups.FOOD_AND_DRINK);
|
2023-10-23 20:02:39 +02:00
|
|
|
Item CANDIED_APPLE = register("candied_apple", new StagedFoodItem(new Item.Settings().food(UFoodComponents.CANDY).maxDamage(3), () -> Items.STICK), ItemGroups.FOOD_AND_DRINK);
|
2022-12-19 00:12:49 +01:00
|
|
|
|
2024-04-05 18:10:39 +02:00
|
|
|
Item LOVE_BOTTLE = register("love_bottle", new ConsumableItem(new Item.Settings().food(UFoodComponents.LOVE_BOTTLE).maxCount(1).recipeRemainder(Items.GLASS_BOTTLE), UseAction.DRINK), ItemGroups.FOOD_AND_DRINK);
|
|
|
|
Item LOVE_BUCKET = register("love_bucket", new ConsumableItem(new Item.Settings().food(UFoodComponents.LOVE_BUCKET).recipeRemainder(Items.BUCKET), UseAction.DRINK), ItemGroups.FOOD_AND_DRINK);
|
|
|
|
Item LOVE_MUG = register("love_mug", new ConsumableItem(new Item.Settings().food(UFoodComponents.LOVE_MUG).recipeRemainder(MUG), UseAction.DRINK), ItemGroups.FOOD_AND_DRINK);
|
2022-12-19 00:12:49 +01:00
|
|
|
|
|
|
|
Item GOLDEN_FEATHER = register("golden_feather", new Item(new Item.Settings().rarity(Rarity.UNCOMMON)), ItemGroups.NATURAL);
|
|
|
|
Item GOLDEN_WING = register("golden_wing", new Item(new Item.Settings().rarity(Rarity.UNCOMMON)), ItemGroups.NATURAL);
|
|
|
|
|
|
|
|
Item DRAGON_BREATH_SCROLL = register("dragon_breath_scroll", new DragonBreathScrollItem(new Item.Settings().rarity(Rarity.UNCOMMON)), ItemGroups.TOOLS);
|
2023-03-05 02:28:43 +01:00
|
|
|
Item GROGARS_BELL = register("grogars_bell", new BellItem(new Item.Settings().rarity(Rarity.RARE).maxCount(1)), ItemGroups.TOOLS);
|
2023-02-28 17:44:14 +01:00
|
|
|
Item MEADOWBROOKS_STAFF = register("meadowbrooks_staff", new StaffItem(new Settings().rarity(Rarity.UNCOMMON).maxCount(1).maxDamage(120)), ItemGroups.TOOLS);
|
|
|
|
Item MAGIC_STAFF = register("magic_staff", new EnchantedStaffItem(new Settings().rarity(Rarity.UNCOMMON).maxCount(1).maxDamage(120)), ItemGroups.TOOLS);
|
2022-12-19 00:12:49 +01:00
|
|
|
|
2023-10-24 00:11:13 +02:00
|
|
|
Item IRON_HORSE_SHOE = register("iron_horse_shoe", new HorseShoeItem(new Item.Settings().maxDamage(200), 4, 0.6F, 1), ItemGroups.COMBAT);
|
|
|
|
Item GOLDEN_HORSE_SHOE = register("golden_horse_shoe", new HorseShoeItem(new Item.Settings().maxDamage(100), 5, 0.1F, 0.5F), ItemGroups.COMBAT);
|
|
|
|
Item COPPER_HORSE_SHOE = register("copper_horse_shoe", new HorseShoeItem(new Item.Settings().maxDamage(250), 6, 0.5F, 0.8F), ItemGroups.COMBAT);
|
|
|
|
Item NETHERITE_HORSE_SHOE = register("netherite_horse_shoe", new HorseShoeItem(new Item.Settings().maxDamage(800), 3, 0.7F, 1.2F), ItemGroups.COMBAT);
|
|
|
|
|
2022-12-19 00:12:49 +01:00
|
|
|
Item WOODEN_POLEARM = register("wooden_polearm", new PolearmItem(ToolMaterials.WOOD, 2, -3.6F, 2, new Item.Settings()), ItemGroups.COMBAT);
|
|
|
|
Item STONE_POLEARM = register("stone_polearm", new PolearmItem(ToolMaterials.STONE, 2, -3.6F, 2, new Item.Settings()), ItemGroups.COMBAT);
|
|
|
|
Item IRON_POLEARM = register("iron_polearm", new PolearmItem(ToolMaterials.IRON, 2, -3.6F, 3, new Item.Settings()), ItemGroups.COMBAT);
|
|
|
|
Item GOLDEN_POLEARM = register("golden_polearm", new PolearmItem(ToolMaterials.GOLD, 2, -3.6F, 4, new Item.Settings()), ItemGroups.COMBAT);
|
|
|
|
Item DIAMOND_POLEARM = register("diamond_polearm", new PolearmItem(ToolMaterials.DIAMOND, 2, -3.6F, 5, new Item.Settings()), ItemGroups.COMBAT);
|
|
|
|
Item NETHERITE_POLEARM = register("netherite_polearm", new PolearmItem(ToolMaterials.NETHERITE, 2, -3.6F, 5, new Item.Settings().fireproof()), ItemGroups.COMBAT);
|
|
|
|
|
2023-11-07 19:20:41 +01:00
|
|
|
Item LOOT_BUG_SPAWN_EGG = register("loot_bug_spawn_egg", new SpawnEggItem(UEntities.LOOT_BUG, 0x3C9D14, 0xE66F16, new Item.Settings()), ItemGroups.SPAWN_EGGS);
|
|
|
|
Item BUTTERFLY_SPAWN_EGG = register("butterfly_spawn_egg", new SpawnEggItem(UEntities.BUTTERFLY, 0x222200, 0xAAEEFF, new Item.Settings()), ItemGroups.SPAWN_EGGS);
|
2024-02-27 00:05:30 +01:00
|
|
|
Item BUTTERFLY = register("butterfly", new ButterflyItem(new Item.Settings().food(UFoodComponents.INSECTS)), ItemGroups.FOOD_AND_DRINK);
|
2022-12-19 00:12:49 +01:00
|
|
|
|
2023-08-14 21:31:33 +02:00
|
|
|
Item PALM_BOAT = ItemGroupRegistry.register(TerraformBoatItemHelper.registerBoatItem(Unicopia.id("palm_boat"), UWoodTypes.PALM_BOAT_TYPE, false), ItemGroups.FUNCTIONAL);
|
|
|
|
Item PALM_CHEST_BOAT = ItemGroupRegistry.register(TerraformBoatItemHelper.registerBoatItem(Unicopia.id("palm_chest_boat"), UWoodTypes.PALM_BOAT_TYPE, true), ItemGroups.FUNCTIONAL);
|
|
|
|
|
2022-12-19 00:12:49 +01:00
|
|
|
Item SPELLBOOK = register("spellbook", new SpellbookItem(new Item.Settings().maxCount(1).rarity(Rarity.UNCOMMON)), ItemGroups.TOOLS);
|
2023-08-14 21:31:33 +02:00
|
|
|
|
|
|
|
Item OAK_BASKET = register("oak_basket", new BasketItem(AirBalloonEntity.BasketType.of(BoatEntity.Type.OAK), new Item.Settings().maxCount(1)), ItemGroups.TOOLS);
|
|
|
|
Item SPRUCE_BASKET = register("spruce_basket", new BasketItem(AirBalloonEntity.BasketType.of(BoatEntity.Type.SPRUCE), new Item.Settings().maxCount(1)), ItemGroups.TOOLS);
|
|
|
|
Item BIRCH_BASKET = register("birch_basket", new BasketItem(AirBalloonEntity.BasketType.of(BoatEntity.Type.BIRCH), new Item.Settings().maxCount(1)), ItemGroups.TOOLS);
|
|
|
|
Item JUNGLE_BASKET = register("jungle_basket", new BasketItem(AirBalloonEntity.BasketType.of(BoatEntity.Type.JUNGLE), new Item.Settings().maxCount(1)), ItemGroups.TOOLS);
|
|
|
|
Item ACACIA_BASKET = register("acacia_basket", new BasketItem(AirBalloonEntity.BasketType.of(BoatEntity.Type.ACACIA), new Item.Settings().maxCount(1)), ItemGroups.TOOLS);
|
|
|
|
Item CHERRY_BASKET = register("cherry_basket", new BasketItem(AirBalloonEntity.BasketType.of(BoatEntity.Type.CHERRY), new Item.Settings().maxCount(1)), ItemGroups.TOOLS);
|
|
|
|
Item DARK_OAK_BASKET = register("dark_oak_basket", new BasketItem(AirBalloonEntity.BasketType.of(BoatEntity.Type.DARK_OAK), new Item.Settings().maxCount(1)), ItemGroups.TOOLS);
|
|
|
|
Item MANGROVE_BASKET = register("mangrove_basket", new BasketItem(AirBalloonEntity.BasketType.of(BoatEntity.Type.MANGROVE), new Item.Settings().maxCount(1)), ItemGroups.TOOLS);
|
|
|
|
Item BAMBOO_BASKET = register("bamboo_basket", new BasketItem(AirBalloonEntity.BasketType.of(BoatEntity.Type.BAMBOO), new Item.Settings().maxCount(1)), ItemGroups.TOOLS);
|
|
|
|
Item PALM_BASKET = register("palm_basket", new BasketItem(AirBalloonEntity.BasketType.of(UWoodTypes.PALM_BOAT_TYPE), new Item.Settings().maxCount(1)), ItemGroups.TOOLS);
|
2023-08-13 16:10:49 +02:00
|
|
|
|
|
|
|
Item GIANT_BALLOON = register("giant_balloon", new HotAirBalloonItem(new Item.Settings().maxCount(1)), ItemGroups.TOOLS);
|
2024-02-01 22:47:05 +01:00
|
|
|
Item SPECTRAL_CLOCK = register("spectral_clock", new Item(new Item.Settings()), ItemGroups.TOOLS);
|
2021-11-09 17:29:55 +01:00
|
|
|
|
2024-03-22 01:07:36 +01:00
|
|
|
Item WHITE_BED_SHEETS = register(CloudBedBlock.SheetPattern.WHITE);
|
2023-11-02 19:24:35 +01:00
|
|
|
Item LIGHT_GRAY_BED_SHEETS = register(CloudBedBlock.SheetPattern.LIGHT_GRAY);
|
|
|
|
Item GRAY_BED_SHEETS = register(CloudBedBlock.SheetPattern.GRAY);
|
|
|
|
Item BLACK_BED_SHEETS = register(CloudBedBlock.SheetPattern.BLACK);
|
|
|
|
Item BROWN_BED_SHEETS = register(CloudBedBlock.SheetPattern.BROWN);
|
|
|
|
Item RED_BED_SHEETS = register(CloudBedBlock.SheetPattern.RED);
|
|
|
|
Item ORANGE_BED_SHEETS = register(CloudBedBlock.SheetPattern.ORANGE);
|
|
|
|
Item YELLOW_BED_SHEETS = register(CloudBedBlock.SheetPattern.YELLOW);
|
|
|
|
Item LIME_BED_SHEETS = register(CloudBedBlock.SheetPattern.LIME);
|
|
|
|
Item GREEN_BED_SHEETS = register(CloudBedBlock.SheetPattern.GREEN);
|
|
|
|
Item CYAN_BED_SHEETS = register(CloudBedBlock.SheetPattern.CYAN);
|
|
|
|
Item LIGHT_BLUE_BED_SHEETS = register(CloudBedBlock.SheetPattern.LIGHT_BLUE);
|
2024-03-12 19:54:19 +01:00
|
|
|
Item BLUE_BED_SHEETS = register(CloudBedBlock.SheetPattern.BLUE);
|
2023-11-02 19:24:35 +01:00
|
|
|
Item PURPLE_BED_SHEETS = register(CloudBedBlock.SheetPattern.PURPLE);
|
|
|
|
Item MAGENTA_BED_SHEETS = register(CloudBedBlock.SheetPattern.MAGENTA);
|
|
|
|
Item PINK_BED_SHEETS = register(CloudBedBlock.SheetPattern.PINK);
|
|
|
|
|
|
|
|
Item APPLE_BED_SHEETS = register(CloudBedBlock.SheetPattern.APPLE);
|
2023-10-31 21:38:28 +01:00
|
|
|
Item BARRED_BED_SHEETS = register("barred_bed_sheets", new BedsheetsItem(CloudBedBlock.SheetPattern.BARS, new Item.Settings().maxCount(1)), ItemGroups.FUNCTIONAL);
|
|
|
|
Item CHECKERED_BED_SHEETS = register("checkered_bed_sheets", new BedsheetsItem(CloudBedBlock.SheetPattern.CHECKER, new Item.Settings().maxCount(1)), ItemGroups.FUNCTIONAL);
|
2023-11-11 01:34:06 +01:00
|
|
|
Item KELP_BED_SHEETS = register(CloudBedBlock.SheetPattern.KELP);
|
2023-11-02 19:24:35 +01:00
|
|
|
Item RAINBOW_BED_SHEETS = register(CloudBedBlock.SheetPattern.RAINBOW);
|
2023-11-11 01:34:06 +01:00
|
|
|
Item RAINBOW_BPW_BED_SHEETS = register(CloudBedBlock.SheetPattern.RAINBOW_BPW);
|
|
|
|
Item RAINBOW_BPY_BED_SHEETS = register(CloudBedBlock.SheetPattern.RAINBOW_BPY);
|
|
|
|
Item RAINBOW_PBG_BED_SHEETS = register(CloudBedBlock.SheetPattern.RAINBOW_PBG);
|
|
|
|
Item RAINBOW_PWR_BED_SHEETS = register(CloudBedBlock.SheetPattern.RAINBOW_PWR);
|
2023-10-31 21:38:28 +01:00
|
|
|
|
2022-12-09 14:55:42 +01:00
|
|
|
AmuletItem PEGASUS_AMULET = register("pegasus_amulet", new PegasusAmuletItem(new FabricItemSettings()
|
2021-08-13 15:57:21 +02:00
|
|
|
.maxCount(1)
|
2021-02-27 11:24:09 +01:00
|
|
|
.maxDamage(890)
|
2022-12-19 00:12:49 +01:00
|
|
|
.rarity(Rarity.UNCOMMON), 900), ItemGroups.TOOLS);
|
2021-08-13 15:57:21 +02:00
|
|
|
AlicornAmuletItem ALICORN_AMULET = register("alicorn_amulet", new AlicornAmuletItem(new FabricItemSettings()
|
|
|
|
.maxCount(1)
|
|
|
|
.maxDamage(1000)
|
2022-12-19 00:12:49 +01:00
|
|
|
.rarity(Rarity.RARE)), ItemGroups.TOOLS);
|
2023-08-26 17:16:31 +02:00
|
|
|
Item BROKEN_ALICORN_AMULET = register("broken_alicorn_amulet", new Item(new Item.Settings()), ItemGroups.TOOLS);
|
|
|
|
AmuletItem UNICORN_AMULET = register("unicorn_amulet", new AmuletItem(new FabricItemSettings()
|
|
|
|
.maxCount(1)
|
|
|
|
.maxDamage(890)
|
2023-08-27 15:56:18 +02:00
|
|
|
.rarity(Rarity.UNCOMMON), 0), ItemGroups.TOOLS);
|
2023-11-08 13:58:31 +01:00
|
|
|
AmuletItem PEARL_NECKLACE = register("pearl_necklace", new AmuletItem(new FabricItemSettings()
|
|
|
|
.maxCount(1)
|
|
|
|
.rarity(Rarity.UNCOMMON), 0), ItemGroups.TOOLS);
|
2022-12-19 00:12:49 +01:00
|
|
|
|
|
|
|
GlassesItem SUNGLASSES = register("sunglasses", new GlassesItem(new FabricItemSettings().maxCount(1)), ItemGroups.COMBAT);
|
|
|
|
GlassesItem BROKEN_SUNGLASSES = register("broken_sunglasses", new GlassesItem(new FabricItemSettings().maxCount(1)), ItemGroups.COMBAT);
|
2021-02-18 21:30:43 +01:00
|
|
|
|
2023-11-18 15:18:58 +01:00
|
|
|
Item CLAM_SHELL = register("clam_shell", new Item(new Item.Settings()), ItemGroups.INGREDIENTS);
|
|
|
|
Item SCALLOP_SHELL = register("scallop_shell", new Item(new Item.Settings()), ItemGroups.INGREDIENTS);
|
|
|
|
Item TURRET_SHELL = register("turret_shell", new Item(new Item.Settings()), ItemGroups.INGREDIENTS);
|
|
|
|
Item SHELLY = register("shelly", new Item(new Item.Settings()), ItemGroups.INGREDIENTS);
|
|
|
|
|
2024-04-05 18:10:39 +02:00
|
|
|
Item ROTTEN_COD = register("rotten_cod", new Item(new Item.Settings().food(FoodComponents.ROTTEN_FLESH)), ItemGroups.FOOD_AND_DRINK);
|
|
|
|
Item ROTTEN_SALMON = register("rotten_salmon", new Item(new Item.Settings().food(FoodComponents.ROTTEN_FLESH)), ItemGroups.FOOD_AND_DRINK);
|
|
|
|
Item ROTTEN_TROPICAL_FISH = register("rotten_tropical_fish", new Item(new Item.Settings().food(FoodComponents.ROTTEN_FLESH)), ItemGroups.FOOD_AND_DRINK);
|
2024-04-11 15:47:36 +02:00
|
|
|
Item ROTTEN_PUFFERFISH = register("rotten_pufferfish", new Item(new Item.Settings().food(UFoodComponents.ROTTEN_PUFFERFISH)), ItemGroups.FOOD_AND_DRINK);
|
2024-04-05 18:10:39 +02:00
|
|
|
|
|
|
|
Item COOKED_TROPICAL_FISH = register("cooked_tropical_fish", new Item(new Item.Settings().food(FoodComponents.COOKED_COD)), ItemGroups.FOOD_AND_DRINK);
|
2024-04-11 15:47:36 +02:00
|
|
|
Item COOKED_PUFFERFISH = register("cooked_pufferfish", new Item(new Item.Settings().food(UFoodComponents.COOKED_PUFFERFISH)), ItemGroups.FOOD_AND_DRINK);
|
2024-04-06 00:41:51 +02:00
|
|
|
Item FRIED_AXOLOTL = register("fried_axolotl", new ConsumableItem(new Item.Settings().food(FoodComponents.COOKED_CHICKEN).maxCount(1).recipeRemainder(Items.BUCKET), UseAction.EAT), ItemGroups.FOOD_AND_DRINK);
|
2024-04-05 18:10:39 +02:00
|
|
|
Item GREEN_FRIED_EGG = register("green_fried_egg", new Item(new Item.Settings().food(UFoodComponents.FRIED_EGG)), ItemGroups.FOOD_AND_DRINK);
|
|
|
|
|
2023-10-13 00:57:31 +02:00
|
|
|
Item CARAPACE = register("carapace", new Item(new Item.Settings()), ItemGroups.INGREDIENTS);
|
2023-10-31 21:38:28 +01:00
|
|
|
Item CLOTH_BED = register("cloth_bed", new FancyBedItem(UBlocks.CLOTH_BED, new Item.Settings().maxCount(1)), ItemGroups.FUNCTIONAL);
|
|
|
|
Item CLOUD_BED = register("cloud_bed", new CloudBedItem(UBlocks.CLOUD_BED, new Item.Settings().maxCount(1)), ItemGroups.FUNCTIONAL);
|
2023-11-02 22:41:56 +01:00
|
|
|
Item CLOUD_LUMP = register("cloud_lump", new Item(new Item.Settings()), ItemGroups.NATURAL);
|
2023-10-13 00:57:31 +02:00
|
|
|
|
2023-05-21 00:13:24 +02:00
|
|
|
Item ALICORN_BADGE = register(Race.ALICORN);
|
|
|
|
Item PEGASUS_BADGE = register(Race.PEGASUS);
|
|
|
|
Item UNICORN_BADGE = register(Race.UNICORN);
|
|
|
|
Item EARTH_BADGE = register(Race.EARTH);
|
|
|
|
Item BAT_BADGE = register(Race.BAT);
|
|
|
|
Item CHANGELING_BADGE = register(Race.CHANGELING);
|
2023-10-13 00:57:31 +02:00
|
|
|
Item KIRIN_BADGE = register(Race.KIRIN);
|
2023-11-08 13:58:31 +01:00
|
|
|
Item HIPPOGRIFF_BADGE = register(Race.HIPPOGRIFF);
|
2023-05-21 00:13:24 +02:00
|
|
|
|
2023-08-16 18:56:34 +02:00
|
|
|
private static <T extends Item> T register(String name, T item, RegistryKey<ItemGroup> group) {
|
|
|
|
return ItemGroupRegistry.register(Unicopia.id(name), item, group);
|
2022-12-19 00:12:49 +01:00
|
|
|
}
|
2022-09-25 22:32:38 +02:00
|
|
|
|
2023-08-16 18:56:34 +02:00
|
|
|
private static <T extends Item> T register(String name, T item) {
|
|
|
|
return ItemGroupRegistry.register(Unicopia.id(name), item);
|
2020-09-22 15:11:20 +02:00
|
|
|
}
|
|
|
|
|
2022-08-27 12:33:53 +02:00
|
|
|
static MusicDiscItem register(String name, SoundEvent sound, int seconds) {
|
2020-09-22 15:11:20 +02:00
|
|
|
return register(name, new MusicDiscItem(1, sound, new Settings()
|
|
|
|
.maxCount(1)
|
2022-08-27 12:33:53 +02:00
|
|
|
.rarity(Rarity.RARE), seconds
|
2022-12-19 00:12:49 +01:00
|
|
|
) {}, ItemGroups.TOOLS);
|
2020-09-22 15:11:20 +02:00
|
|
|
}
|
|
|
|
|
2023-05-21 00:13:24 +02:00
|
|
|
static Item register(Race race) {
|
2023-05-25 11:30:13 +02:00
|
|
|
return Registry.register(Registries.ITEM, race.getId().withPath(p -> p + "_badge"), new Item(new Settings()));
|
2023-05-21 00:13:24 +02:00
|
|
|
}
|
|
|
|
|
2023-11-02 19:24:35 +01:00
|
|
|
static Item register(SheetPattern pattern) {
|
|
|
|
return register(pattern.asString() + "_bed_sheets", new BedsheetsItem(pattern, new Item.Settings().maxCount(1)), ItemGroups.FUNCTIONAL);
|
|
|
|
}
|
|
|
|
|
2020-09-22 15:11:20 +02:00
|
|
|
static void bootstrap() {
|
2022-03-26 22:51:34 +01:00
|
|
|
AppleItem.registerTickCallback(Items.APPLE);
|
2022-09-18 21:45:56 +02:00
|
|
|
FuelRegistry.INSTANCE.add(WOODEN_POLEARM, 200);
|
|
|
|
FuelRegistry.INSTANCE.add(MUG, 250);
|
|
|
|
FuelRegistry.INSTANCE.add(DRAGON_BREATH_SCROLL, 20000);
|
|
|
|
FuelRegistry.INSTANCE.add(BUTTERFLY, 2);
|
|
|
|
FuelRegistry.INSTANCE.add(SPELLBOOK, 9000);
|
2023-10-23 21:19:05 +02:00
|
|
|
FuelRegistry.INSTANCE.add(MEADOWBROOKS_STAFF, 800);
|
|
|
|
FuelRegistry.INSTANCE.add(BURNED_TOAST, 1600);
|
2024-03-31 15:35:04 +02:00
|
|
|
FuelRegistry.INSTANCE.add(UTags.Items.BASKETS, 1700);
|
2022-12-05 00:09:13 +01:00
|
|
|
|
|
|
|
CompostingChanceRegistry.INSTANCE.add(GREEN_APPLE, 0.65F);
|
|
|
|
CompostingChanceRegistry.INSTANCE.add(SWEET_APPLE, 0.65F);
|
|
|
|
CompostingChanceRegistry.INSTANCE.add(SOUR_APPLE, 0.65F);
|
|
|
|
CompostingChanceRegistry.INSTANCE.add(ZAP_APPLE, 1F);
|
|
|
|
CompostingChanceRegistry.INSTANCE.add(ZAP_BULB, 1F);
|
|
|
|
CompostingChanceRegistry.INSTANCE.add(ROTTEN_APPLE, 0.8F);
|
|
|
|
CompostingChanceRegistry.INSTANCE.add(OAT_SEEDS, 0.3F);
|
|
|
|
CompostingChanceRegistry.INSTANCE.add(OATS, 0.1F);
|
|
|
|
CompostingChanceRegistry.INSTANCE.add(IMPORTED_OATS, 0.5F);
|
|
|
|
CompostingChanceRegistry.INSTANCE.add(DAFFODIL_DAISY_SANDWICH, 0.5F);
|
|
|
|
CompostingChanceRegistry.INSTANCE.add(HAY_BURGER, 0.5F);
|
|
|
|
CompostingChanceRegistry.INSTANCE.add(HAY_FRIES, 0.5F);
|
|
|
|
CompostingChanceRegistry.INSTANCE.add(WHEAT_WORMS, 0.8F);
|
|
|
|
CompostingChanceRegistry.INSTANCE.add(MUFFIN, 0.3F);
|
|
|
|
CompostingChanceRegistry.INSTANCE.add(PINECONE, 0.3F);
|
|
|
|
CompostingChanceRegistry.INSTANCE.add(ACORN, 0.3F);
|
|
|
|
CompostingChanceRegistry.INSTANCE.add(GREEN_APPLE_SEEDS, 0.3F);
|
|
|
|
CompostingChanceRegistry.INSTANCE.add(SWEET_APPLE_SEEDS, 0.3F);
|
|
|
|
CompostingChanceRegistry.INSTANCE.add(SOUR_APPLE_SEEDS, 0.3F);
|
|
|
|
CompostingChanceRegistry.INSTANCE.add(APPLE_PIE, 0.5F);
|
2023-08-16 19:35:10 +02:00
|
|
|
CompostingChanceRegistry.INSTANCE.add(APPLE_PIE_HOOF, 0.5F);
|
2022-12-05 00:09:13 +01:00
|
|
|
CompostingChanceRegistry.INSTANCE.add(APPLE_PIE_SLICE, 0.1F);
|
|
|
|
CompostingChanceRegistry.INSTANCE.add(BUTTERFLY, 0.1F);
|
|
|
|
|
2021-02-16 12:39:39 +01:00
|
|
|
UEnchantments.bootstrap();
|
2020-10-02 21:09:14 +02:00
|
|
|
URecipes.bootstrap();
|
2021-03-01 11:56:30 +01:00
|
|
|
UItemGroups.bootstrap();
|
2023-08-16 18:56:34 +02:00
|
|
|
|
|
|
|
Registry.register(TerraformBoatTypeRegistry.INSTANCE, Unicopia.id("palm"), new TerraformBoatType.Builder()
|
|
|
|
.planks(UBlocks.PALM_PLANKS.asItem())
|
|
|
|
.item(PALM_BOAT)
|
|
|
|
.build());
|
2020-09-22 15:11:20 +02:00
|
|
|
}
|
|
|
|
}
|