Assign traits to a lot of items that needed it

This commit is contained in:
Sollace 2024-01-29 16:35:08 +00:00
parent 8af82ade1c
commit 78dbc800ae
No known key found for this signature in database
GPG key ID: E52FACE7B5C773DB
88 changed files with 648 additions and 441 deletions

View file

@ -1,33 +1,35 @@
package com.minelittlepony.unicopia;
import java.util.Set;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;
import com.google.common.collect.Sets;
import com.minelittlepony.unicopia.ability.magic.spell.trait.SpellTraits;
import com.minelittlepony.unicopia.entity.mob.AirBalloonEntity;
import com.minelittlepony.unicopia.entity.mob.UEntities;
import net.minecraft.entity.vehicle.BoatEntity;
import net.minecraft.registry.Registries;
import net.minecraft.registry.tag.TagKey;
import net.minecraft.util.Identifier;
import net.minecraft.world.World;
import net.minecraft.world.dimension.DimensionTypes;
public interface Debug {
boolean SPELLBOOK_CHAPTERS = Boolean.getBoolean("unicopia.debug.spellbookChapters");
boolean CHECK_GAME_VALUES = Boolean.getBoolean("unicopia.debug.checkGameValues");
boolean CHECK_TRAIT_COVERAGE = Boolean.getBoolean("unicopia.debug.checkTraitCoverage");
boolean[] TESTS_COMPLETE = {false};
AtomicReference<World> LAST_TESTED_WORLD = new AtomicReference<>(null);
static void runTests(World world) {
if (!CHECK_GAME_VALUES || TESTS_COMPLETE[0]) {
if (!CHECK_GAME_VALUES || !world.getDimensionKey().getValue().equals(DimensionTypes.OVERWORLD_ID) || (LAST_TESTED_WORLD.getAndSet(world) == world)) {
return;
}
TESTS_COMPLETE[0] = true;
try {
Registries.ITEM.getEntrySet().forEach(entry -> {
if (SpellTraits.of(entry.getValue()).isEmpty()) {
// Unicopia.LOGGER.warn("No traits registered for item {}", entry.getKey());
}
});
} catch (Throwable t) {
throw new IllegalStateException("Tests failed", t);
if (CHECK_TRAIT_COVERAGE) {
testTraitCoverage();
}
try {
@ -40,4 +42,30 @@ public interface Debug {
throw new IllegalStateException("Tests failed", t);
}
}
private static void testTraitCoverage() {
Registries.ITEM.getEntrySet().stream().collect(Collectors.toMap(
entry -> entry.getKey().getValue().getNamespace(),
Set::of,
Sets::union
)).forEach((namespace, entries) -> {
@SuppressWarnings("deprecation")
var unregistered = entries.stream()
.filter(entry -> !entry.getValue().getRegistryEntry().isIn(UTags.HAS_NO_TRAITS) && SpellTraits.of(entry.getValue()).isEmpty())
.map(entry -> {
String id = entry.getKey().getValue().toString();
return id + "(" + Registries.ITEM.streamTags()
.filter(entry.getValue().getRegistryEntry()::isIn)
.map(TagKey::id)
.map(Identifier::toString)
.collect(Collectors.joining(", ")) + ")";
})
.toList();
if (!unregistered.isEmpty()) {
Unicopia.LOGGER.warn("No traits registered for {} items in namepsace {} {}", unregistered.size(), namespace, String.join(",\r\n", unregistered));
}
});
}
}

View file

@ -23,6 +23,7 @@ public interface UTags {
TagKey<Item> SHADES = item("shades");
TagKey<Item> CHANGELING_EDIBLE = item("food_types/changeling_edible");
TagKey<Item> SPOOKED_MOB_DROPS = item("spooked_mob_drops");
TagKey<Item> HAS_NO_TRAITS = item("has_no_traits");
TagKey<Item> IS_DELIVERED_AGGRESSIVELY = item("is_delivered_aggressively");
TagKey<Item> FLOATS_ON_CLOUDS = item("floats_on_clouds");
TagKey<Item> COOLS_OFF_KIRINS = item("cools_off_kirins");

View file

@ -0,0 +1,5 @@
package com.minelittlepony.unicopia.ability.magic.spell.trait;
public interface ItemWithTraits {
SpellTraits getDefaultTraits();
}

View file

@ -27,6 +27,7 @@ import net.fabricmc.api.Environment;
import net.minecraft.block.Block;
import net.minecraft.inventory.Inventory;
import net.minecraft.item.Item;
import net.minecraft.item.SpawnEggItem;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.nbt.NbtElement;
@ -38,6 +39,7 @@ import net.minecraft.registry.Registries;
public final class SpellTraits implements Iterable<Map.Entry<Trait, Float>> {
public static final SpellTraits EMPTY = new SpellTraits(Map.of());
private static final SpellTraits SPAWN_EGG_TRAITS = new SpellTraits(Map.of(Trait.LIFE, 20F));
private static Map<Identifier, SpellTraits> REGISTRY = new HashMap<>();
static final Map<Trait, List<Item>> ITEMS = new HashMap<>();
@ -212,6 +214,12 @@ public final class SpellTraits implements Iterable<Map.Entry<Trait, Float>> {
}
public static SpellTraits of(Item item) {
if (item instanceof ItemWithTraits i) {
return i.getDefaultTraits();
}
if (item instanceof SpawnEggItem) {
return SPAWN_EGG_TRAITS;
}
return REGISTRY.getOrDefault(Registries.ITEM.getId(item), EMPTY);
}

View file

@ -0,0 +1,21 @@
package com.minelittlepony.unicopia.item;
import com.minelittlepony.unicopia.ability.magic.spell.trait.ItemWithTraits;
import com.minelittlepony.unicopia.ability.magic.spell.trait.SpellTraits;
import com.minelittlepony.unicopia.ability.magic.spell.trait.Trait;
import net.minecraft.item.Item;
public class TraitItem extends Item implements ItemWithTraits {
private final SpellTraits traits;
public TraitItem(Trait trait, Settings settings) {
super(settings);
this.traits = new SpellTraits.Builder().with(trait, 1).build();
}
@Override
public SpellTraits getDefaultTraits() {
return traits;
}
}

View file

@ -0,0 +1,15 @@
{
"replace": false,
"values": [
"minecraft:oak_boat",
"minecraft:bamboo_raft",
"minecraft:spruce_boat",
"minecraft:birch_boat",
"minecraft:jungle_boat",
"minecraft:acacia_boat",
"minecraft:dark_oak_boat",
"minecraft:mangrove_boat",
"minecraft:cherry_boat",
"unicopia:palm_boat"
]
}

View file

@ -0,0 +1,21 @@
{
"replace": false,
"values": [
"minecraft:white_concrete",
"minecraft:orange_concrete",
"minecraft:magenta_concrete",
"minecraft:light_blue_concrete",
"minecraft:yellow_concrete",
"minecraft:lime_concrete",
"minecraft:pink_concrete",
"minecraft:gray_concrete",
"minecraft:light_gray_concrete",
"minecraft:cyan_concrete",
"minecraft:purple_concrete",
"minecraft:blue_concrete",
"minecraft:brown_concrete",
"minecraft:green_concrete",
"minecraft:red_concrete",
"minecraft:black_concrete"
]
}

View file

@ -0,0 +1,21 @@
{
"replace": false,
"values": [
"minecraft:white_concrete_powder",
"minecraft:orange_concrete_powder",
"minecraft:magenta_concrete_powder",
"minecraft:light_blue_concrete_powder",
"minecraft:yellow_concrete_powder",
"minecraft:lime_concrete_powder",
"minecraft:pink_concrete_powder",
"minecraft:gray_concrete_powder",
"minecraft:light_gray_concrete_powder",
"minecraft:cyan_concrete_powder",
"minecraft:purple_concrete_powder",
"minecraft:blue_concrete_powder",
"minecraft:brown_concrete_powder",
"minecraft:green_concrete_powder",
"minecraft:red_concrete_powder",
"minecraft:black_concrete_powder"
]
}

View file

@ -0,0 +1,21 @@
{
"replace": false,
"values": [
"minecraft:white_glazed_terracotta",
"minecraft:orange_glazed_terracotta",
"minecraft:magenta_glazed_terracotta",
"minecraft:light_blue_glazed_terracotta",
"minecraft:yellow_glazed_terracotta",
"minecraft:lime_glazed_terracotta",
"minecraft:pink_glazed_terracotta",
"minecraft:gray_glazed_terracotta",
"minecraft:light_gray_glazed_terracotta",
"minecraft:cyan_glazed_terracotta",
"minecraft:purple_glazed_terracotta",
"minecraft:blue_glazed_terracotta",
"minecraft:brown_glazed_terracotta",
"minecraft:green_glazed_terracotta",
"minecraft:red_glazed_terracotta",
"minecraft:black_glazed_terracotta"
]
}

View file

@ -1,6 +1,8 @@
{
"replace": false,
"values": [
"minecraft:pumpkin_seeds",
"minecraft:melon_seeds",
"unicopia:oat_seeds",
"unicopia:green_apple_seeds",
"unicopia:sweet_apple_seeds",

View file

@ -0,0 +1,30 @@
{
"replace": false,
"traits": "earth:2 life:1",
"items": [
"#minecraft:planks",
"#minecraft:logs_that_burn",
"#minecraft:wooden_stairs",
"#minecraft:wooden_slabs",
"#minecraft:wooden_fences",
"minecraft:sponge",
"minecraft:cobweb",
"minecraft:kelp",
"minecraft:cake",
"minecraft:chorus_plant",
"minecraft:moss_carpet",
"minecraft:mossy_cobblestone",
"minecraft:brown_mushroom_block",
"minecraft:red_mushroom_block",
"minecraft:mushroom_stem",
"minecraft:slime_block",
"minecraft:honey_block",
"minecraft:honeycomb_block",
"minecraft:bee_nest",
"minecraft:beehive"
]
}

View file

@ -0,0 +1,8 @@
{
"replace": false,
"traits": "order:1 knowledge:3",
"items": [
"#farmersdelight:canvas_signs",
"#farmersdelight:cabinets"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"unicopia:palm_chest_boat"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"unicopia:palm_hanging_sign"
]
}

View file

@ -0,0 +1,13 @@
{
"replace": false,
"values": [
"unicopia:palm_log",
"unicopia:palm_wood",
"unicopia:stripped_palm_log",
"unicopia:stripped_palm_wood",
"unicopia:zap_log",
"unicopia:zap_wood",
"unicopia:stripped_zap_log",
"unicopia:stripped_zap_wood"
]
}

View file

@ -1,6 +1,11 @@
{
"replace": false,
"values": [
"unicopia:mango_sapling"
"unicopia:mango_sapling",
"unicopia:palm_sapling",
"unicopia:green_apple_sapling",
"unicopia:sour_apple_sapling",
"unicopia:sweet_apple_sapling",
"unicopia:zapling"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"unicopia:chiselled_chitin_slab"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"unicopia:chiselled_chitin_stairs"
]
}

View file

@ -0,0 +1,7 @@
{
"replace": false,
"values": [
"#unicopia:horse_shoes",
"#unicopia:polearms"
]
}

View file

@ -1,6 +1,8 @@
{
"replace": false,
"values": [
"unicopia:palm_door"
"unicopia:palm_door",
"unicopia:dark_oak_stable_door",
"unicopia:stable_door"
]
}

View file

@ -2,23 +2,12 @@
"replace": false,
"traits": "earth:1 chaos:1",
"items": [
"#minecraft:walls",
"#minecraft:slabs",
"#minecraft:stairs",
"minecraft:cobblestone",
"minecraft:cobblestone_stairs",
"minecraft:cobblestone_slab",
"minecraft:cobblestone_wall",
"minecraft:mossy_cobblestone_wall",
"minecraft:mossy_cobblestone_stairs",
"minecraft:mossy_cobblestone_slab",
"minecraft:cobbled_deepslate_wall",
"minecraft:cobbled_deepslate_stairs",
"minecraft:cobbled_deepslate_slab",
"minecraft:sandstone_stairs",
"minecraft:sandstone",
"minecraft:chiseled_sandstone",
"minecraft:cut_sandstone",
"minecraft:sandstone_slab",
"minecraft:cut_sandstone_slab",
"minecraft:sandstone_wall",
"minecraft:smooth_sandstone_slab"
"#c:uncolored_sandstone_blocks",
"#c:uncolored_sandstone_stairs",
"#c:uncolored_sandstone_slabs"
]
}

View file

@ -2,56 +2,8 @@
"replace": false,
"traits": "earth:1 order:1 knowledge:4",
"items": [
"minecraft:white_concrete",
"minecraft:orange_concrete",
"minecraft:magenta_concrete",
"minecraft:light_blue_concrete",
"minecraft:yellow_concrete",
"minecraft:lime_concrete",
"minecraft:pink_concrete",
"minecraft:gray_concrete",
"minecraft:light_gray_concrete",
"minecraft:cyan_concrete",
"minecraft:purple_concrete",
"minecraft:blue_concrete",
"minecraft:brown_concrete",
"minecraft:green_concrete",
"minecraft:red_concrete",
"minecraft:black_concrete",
"minecraft:white_terracotta",
"minecraft:orange_terracotta",
"minecraft:magenta_terracotta",
"minecraft:light_blue_terracotta",
"minecraft:yellow_terracotta",
"minecraft:lime_terracotta",
"minecraft:pink_terracotta",
"minecraft:gray_terracotta",
"minecraft:light_gray_terracotta",
"minecraft:cyan_terracotta",
"minecraft:purple_terracotta",
"minecraft:blue_terracotta",
"minecraft:brown_terracotta",
"minecraft:green_terracotta",
"minecraft:red_terracotta",
"minecraft:black_terracotta",
"minecraft:terracotta",
"minecraft:white_glazed_terracotta",
"minecraft:orange_glazed_terracotta",
"minecraft:magenta_glazed_terracotta",
"minecraft:light_blue_glazed_terracotta",
"minecraft:yellow_glazed_terracotta",
"minecraft:lime_glazed_terracotta",
"minecraft:pink_glazed_terracotta",
"minecraft:gray_glazed_terracotta",
"minecraft:light_gray_glazed_terracotta",
"minecraft:cyan_glazed_terracotta",
"minecraft:purple_glazed_terracotta",
"minecraft:blue_glazed_terracotta",
"minecraft:brown_glazed_terracotta",
"minecraft:green_glazed_terracotta",
"minecraft:red_glazed_terracotta",
"minecraft:black_glazed_terracotta"
"#minecraft:terracotta",
"#c:concrete",
"#c:glazed_terracotta"
]
}

View file

@ -0,0 +1,7 @@
{
"replace": false,
"traits": "earth:6",
"items": [
"#minecraft:dirt"
]
}

View file

@ -0,0 +1,11 @@
{
"replace": false,
"traits": "earth:5 strength:3",
"items": [
"minecraft:packed_mud",
"minecraft:decorated_pot",
"minecraft:reinforced_deepslate",
"minecraft:mud_bricks",
"minecraft:farmland"
]
}

View file

@ -0,0 +1,7 @@
{
"replace": false,
"traits": "power:4",
"items": [
"minecraft:coal_block"
]
}

View file

@ -0,0 +1,13 @@
{
"replace": false,
"traits": "life:2 blood:1 earth:6",
"items": [
"minecraft:infested_cracked_stone_bricks",
"minecraft:infested_stone",
"minecraft:infested_stone_bricks",
"minecraft:infested_chiseled_stone_bricks",
"minecraft:infested_deepslate",
"minecraft:infested_cobblestone",
"minecraft:infested_mossy_stone_bricks"
]
}

View file

@ -0,0 +1,10 @@
{
"replace": false,
"traits": "knowledge:9 life:3 water:9",
"items": [
"minecraft:ochre_froglight",
"minecraft:verdant_froglight",
"minecraft:pearlescent_froglight",
"minecraft:frogspawn"
]
}

View file

@ -0,0 +1,7 @@
{
"replace": false,
"traits": "knowledge:9 order:3 strength:3",
"items": [
"minecraft:chiseled_bookshelf"
]
}

View file

@ -2,37 +2,16 @@
"replace": false,
"traits": "earth:1 life:3",
"items": [
"minecraft:oak_sapling",
"minecraft:spruce_sapling",
"minecraft:birch_sapling",
"minecraft:acacia_sapling",
"minecraft:dark_oak_sapling",
"minecraft:oak_leaves",
"minecraft:spruce_leaves",
"minecraft:birch_leaves",
"minecraft:jungle_leaves",
"minecraft:acacia_leaves",
"minecraft:dark_oak_leaves",
"#minecraft:saplings",
"#minecraft:leaves",
"minecraft:azalea_leaves",
"minecraft:flowering_azalea_leaves",
"#minecraft:flowers",
"minecraft:grass",
"minecraft:fern",
"minecraft:azalea",
"minecraft:flowering_azalea",
"minecraft:seagrass",
"minecraft:sea_pickle",
"minecraft:dandelion",
"minecraft:poppy",
"minecraft:blue_orchid",
"minecraft:allium",
"minecraft:azure_bluet",
"minecraft:red_tulip",
"minecraft:orange_tulip",
"minecraft:white_tulip",
"minecraft:pink_tulip",
"minecraft:oxeye_daisy",
"minecraft:cornflower",
"minecraft:lily_of_the_valley",
"minecraft:wither_rose",
"minecraft:spore_blossom",
"minecraft:brown_mushroom",
@ -53,21 +32,9 @@
"minecraft:glow_berries",
"minecraft:carrot",
"minecraft:potato",
"minecraft:tube_coral_block",
"minecraft:brain_coral_block",
"minecraft:bubble_coral_block",
"minecraft:fire_coral_block",
"minecraft:horn_coral_block",
"minecraft:tube_coral",
"minecraft:brain_coral",
"minecraft:bubble_coral",
"minecraft:fire_coral",
"minecraft:horn_coral",
"minecraft:tube_coral_fan",
"minecraft:brain_coral_fan",
"minecraft:bubble_coral_fan",
"minecraft:fire_coral_fan",
"minecraft:horn_coral_fan",
"#c:corals",
"#c:coral_fans",
"#c:coral_blocks",
"minecraft:dragon_egg",
"minecraft:turtle_egg",
"minecraft:glow_lichen",

View file

@ -2,24 +2,9 @@
"replace": false,
"traits": "earth:1 chaos:2 order:-1",
"items": [
"minecraft:sand",
"#minecraft:sand",
"minecraft:gravel",
"minecraft:white_concrete_powder",
"minecraft:orange_concrete_powder",
"minecraft:magenta_concrete_powder",
"minecraft:light_blue_concrete_powder",
"minecraft:yellow_concrete_powder",
"minecraft:lime_concrete_powder",
"minecraft:pink_concrete_powder",
"minecraft:gray_concrete_powder",
"minecraft:light_gray_concrete_powder",
"minecraft:cyan_concrete_powder",
"minecraft:purple_concrete_powder",
"minecraft:blue_concrete_powder",
"minecraft:brown_concrete_powder",
"minecraft:green_concrete_powder",
"minecraft:red_concrete_powder",
"minecraft:black_concrete_powder"
"minecraft:suspicious_gravel",
"#c:concrete_powders"
]
}

View file

@ -12,7 +12,7 @@
"minecraft:clay",
"minecraft:coal_ore",
"minecraft:coal_ore",
"minecraft:deepslate_coal_ore",
"minecraft:iron_ore",
"minecraft:deepslate_iron_ore",

View file

@ -4,67 +4,22 @@
"items": [
"minecraft:tnt",
"minecraft:trapped_chest",
"minecraft:shulker_box",
"minecraft:white_shulker_box",
"minecraft:orange_shulker_box",
"minecraft:magenta_shulker_box",
"minecraft:light_blue_shulker_box",
"minecraft:yellow_shulker_box",
"minecraft:lime_shulker_box",
"minecraft:pink_shulker_box",
"minecraft:gray_shulker_box",
"minecraft:light_gray_shulker_box",
"minecraft:cyan_shulker_box",
"minecraft:purple_shulker_box",
"minecraft:blue_shulker_box",
"minecraft:brown_shulker_box",
"minecraft:green_shulker_box",
"minecraft:red_shulker_box",
"minecraft:black_shulker_box",
"#c:shulker_boxes",
"minecraft:ladder",
"minecraft:bookshelf",
"minecraft:sculk_sensor",
"minecraft:chest",
"#c:chests",
"minecraft:crafting_table",
"minecraft:hay_block",
"minecraft:carved_pumpkin",
"minecraft:jack_o_lantern",
"minecraft:oak_button",
"minecraft:spruce_button",
"minecraft:birch_button",
"minecraft:jungle_button",
"minecraft:acacia_button",
"minecraft:dark_oak_button",
"minecraft:oak_pressure_plate",
"minecraft:spruce_pressure_plate",
"minecraft:birch_pressure_plate",
"minecraft:jungle_pressure_plate",
"minecraft:acacia_pressure_plate",
"minecraft:dark_oak_pressure_plate",
"minecraft:oak_door",
"minecraft:spruce_door",
"minecraft:birch_door",
"minecraft:jungle_door",
"minecraft:acacia_door",
"minecraft:dark_oak_door",
"minecraft:oak_trapdoor",
"minecraft:spruce_trapdoor",
"minecraft:birch_trapdoor",
"minecraft:jungle_trapdoor",
"minecraft:acacia_trapdoor",
"minecraft:dark_oak_trapdoor",
"minecraft:oak_fence_gate",
"minecraft:spruce_fence_gate",
"minecraft:birch_fence_gate",
"minecraft:jungle_fence_gate",
"minecraft:acacia_fence_gate",
"minecraft:dark_oak_fence_gate",
"#minecraft:wooden_buttons",
"#minecraft:wooden_pressure_plates",
"#minecraft:wooden_doors",
"#minecraft:wooden_trapdoors",
"#minecraft:fence_gates",
"minecraft:composter",
"minecraft:barrel"

View file

@ -19,12 +19,14 @@
"minecraft:dead_fire_coral_fan",
"minecraft:dead_horn_coral_fan",
"minecraft:dried_kelp_block",
"minecraft:bundle",
"minecraft:skeleton_skull",
"minecraft:wither_skeleton_skull",
"minecraft:player_head",
"minecraft:zombie_head",
"minecraft:creeper_head",
"minecraft:dragon_head"
"minecraft:dragon_head",
"minecraft:piglin_head"
]
}

View file

@ -2,78 +2,20 @@
"replace": false,
"traits": "earth:2 life:1",
"items": [
"minecraft:oak_leaves",
"minecraft:oak_planks",
"minecraft:oak_log",
"minecraft:oak_wood",
"minecraft:oak_slab",
"minecraft:oak_fence",
"minecraft:oak_stairs",
"minecraft:spruce_leaves",
"minecraft:spruce_planks",
"minecraft:spruce_log",
"minecraft:spruce_wood",
"minecraft:spruce_slab",
"minecraft:spruce_fence",
"minecraft:spruce_stairs",
"minecraft:birch_leaves",
"minecraft:birch_planks",
"minecraft:birch_log",
"minecraft:birch_wood",
"minecraft:birch_slab",
"minecraft:birch_fence",
"minecraft:birch_stairs",
"minecraft:jungle_leaves",
"minecraft:jungle_planks",
"minecraft:jungle_log",
"minecraft:jungle_wood",
"minecraft:jungle_slab",
"minecraft:jungle_fence",
"minecraft:jungle_stairs",
"minecraft:acacia_leaves",
"minecraft:acacia_planks",
"minecraft:acacia_log",
"minecraft:acacia_wood",
"minecraft:acacia_slab",
"minecraft:acacia_fence",
"minecraft:acacia_stairs",
"minecraft:stripped_oak_log",
"minecraft:stripped_spruce_log",
"minecraft:stripped_birch_log",
"minecraft:stripped_jungle_log",
"minecraft:stripped_acacia_log",
"minecraft:stripped_oak_wood",
"minecraft:stripped_spruce_wood",
"minecraft:stripped_birch_wood",
"minecraft:stripped_jungle_wood",
"minecraft:stripped_acacia_wood",
"#minecraft:planks",
"#minecraft:bamboo_blocks",
"#minecraft:logs_that_burn",
"#minecraft:wooden_stairs",
"#minecraft:wooden_slabs",
"#minecraft:wooden_fences",
"minecraft:bamboo_mosaic",
"minecraft:mangrove_roots",
"minecraft:bowl",
"minecraft:paper",
"minecraft:sponge",
"minecraft:cobweb",
"minecraft:white_wool",
"minecraft:orange_wool",
"minecraft:magenta_wool",
"minecraft:light_blue_wool",
"minecraft:yellow_wool",
"minecraft:lime_wool",
"minecraft:pink_wool",
"minecraft:gray_wool",
"minecraft:light_gray_wool",
"minecraft:cyan_wool",
"minecraft:purple_wool",
"minecraft:blue_wool",
"minecraft:brown_wool",
"minecraft:green_wool",
"minecraft:red_wool",
"minecraft:black_wool",
"minecraft:kelp",
"minecraft:cake",
"minecraft:chorus_plant",
@ -84,40 +26,6 @@
"minecraft:red_mushroom_block",
"minecraft:mushroom_stem",
"minecraft:white_carpet",
"minecraft:orange_carpet",
"minecraft:magenta_carpet",
"minecraft:light_blue_carpet",
"minecraft:yellow_carpet",
"minecraft:lime_carpet",
"minecraft:pink_carpet",
"minecraft:gray_carpet",
"minecraft:light_gray_carpet",
"minecraft:cyan_carpet",
"minecraft:purple_carpet",
"minecraft:blue_carpet",
"minecraft:brown_carpet",
"minecraft:green_carpet",
"minecraft:red_carpet",
"minecraft:black_carpet",
"minecraft:white_bed",
"minecraft:orange_bed",
"minecraft:magenta_bed",
"minecraft:light_blue_bed",
"minecraft:yellow_bed",
"minecraft:lime_bed",
"minecraft:pink_bed",
"minecraft:gray_bed",
"minecraft:light_gray_bed",
"minecraft:cyan_bed",
"minecraft:purple_bed",
"minecraft:blue_bed",
"minecraft:brown_bed",
"minecraft:green_bed",
"minecraft:red_bed",
"minecraft:black_bed",
"minecraft:slime_block",
"minecraft:honey_block",
"minecraft:honeycomb_block",

View file

@ -4,7 +4,7 @@
"items": [
"minecraft:dark_oak_leaves",
"minecraft:dark_oak_planks",
"minecraft:dark_oak_log",
"#minecraft:dark_oak_logs",
"minecraft:dark_oak_stairs",
"minecraft:stripped_dark_oak_log",
"minecraft:stripped_dark_oak_wood",

View file

@ -2,7 +2,7 @@
"replace": false,
"traits": "strength:1 earth:1 knowledge:2",
"items": [
"minecraft:coal_block",
"#c:ores",
"minecraft:emerald_block",
"minecraft:iron_block",
"minecraft:copper_block",

View file

@ -27,6 +27,11 @@
"minecraft:smooth_sandstone",
"minecraft:smooth_stone",
"#minecraft:stone_bricks",
"#minecraft:stone_tool_materials",
"#minecraft:stone_crafting_materials",
"#minecraft:walls",
"minecraft:brick_stairs",
"minecraft:stone_brick_stairs",
"minecraft:brick_wall",

View file

@ -0,0 +1,11 @@
{
"replace": false,
"traits": "darkness:11 blood:1 earth:2",
"items": [
"minecraft:sculk",
"minecraft:sculk_shrieker",
"minecraft:sculk_catalyst",
"minecraft:echo_shard",
"minecraft:sculk_vein"
]
}

View file

@ -0,0 +1,7 @@
{
"replace": false,
"traits": "darkness:11 blood:1 earth:2 focus:18",
"items": [
"minecraft:calibrated_sculk_sensor"
]
}

View file

@ -0,0 +1,9 @@
{
"replace": false,
"traits": "kindness:3",
"items": [
"#minecraft:beds",
"#minecraft:wool",
"#minecraft:wool_carpets"
]
}

View file

@ -0,0 +1,7 @@
{
"replace": false,
"traits": "strength:3 life:1 kindness:-1",
"items": [
"minecraft:goat_horn"
]
}

View file

@ -1,9 +1,7 @@
{
"replace": false,
"traits": "chaos:5",
"traits": "chaos:15",
"items": [
"minecraft:gunpowder",
"minecraft:bow",
"minecraft:tnt_minecart"
"minecraft:string"
]
}

View file

@ -0,0 +1,9 @@
{
"replace": false,
"traits": "chaos:5",
"items": [
"minecraft:gunpowder",
"minecraft:bow",
"minecraft:tnt_minecart"
]
}

View file

@ -7,6 +7,7 @@
"minecraft:leather_chestplate",
"minecraft:leather_leggings",
"minecraft:leather_boots",
"minecraft:leather_horse_armor"
"minecraft:leather_horse_armor",
"minecraft:rabbit_hide"
]
}

View file

@ -2,14 +2,10 @@
"replace": false,
"traits": "famine:-0.5 life:-1 knowledge:2",
"items": [
"minecraft:cooked_chicken",
"minecraft:cooked_beef",
"#c:cooked_meats",
"#c:cooked_fish",
"minecraft:fermented_spider_eye",
"minecraft:cooked_mutton",
"minecraft:cooked_cod",
"minecraft:cooked_salmon",
"minecraft:cooked_porkchop",
"minecraft:cooked_rabbit",
"minecraft:rabbit_stew"
"#unicopia:food_types/cooked_fish",
"#unicopia:food_types/cooked_meat"
]
}

View file

@ -0,0 +1,7 @@
{
"replace": false,
"traits": "kindness:3 happiness:9 water:2",
"items": [
"c:fruits"
]
}

View file

@ -15,6 +15,8 @@
"minecraft:baked_potato": "earth:2",
"minecraft:poisonous_potato": "earth:2 poison:1",
"minecraft:melon_slice": "life:1",
"minecraft:cookie": "happiness:6"
"minecraft:cookie": "happiness:6",
"#c:grain": "life:3 earth:3",
"#unicopia:food_types/raw_sea_vegitable": "life:2 water:10"
}
}

View file

@ -5,6 +5,8 @@
"minecraft:golden_apple",
"minecraft:enchanted_golden_apple",
"minecraft:golden_carrot",
"minecraft:honey_bottle"
"minecraft:honey_bottle",
"#c:crops",
"#unicopia:food_types/forage_edible_filling"
]
}

View file

@ -2,10 +2,6 @@
"replace": false,
"traits": "blood:1 famine:-2",
"items": [
"minecraft:beef",
"minecraft:rabbit",
"minecraft:porkchop",
"minecraft:chicken",
"minecraft:mutton"
"#c:raw_meats"
]
}

View file

@ -2,8 +2,7 @@
"replace": false,
"traits": "life:1 famine:-2 water:5",
"items": [
"minecraft:cod",
"minecraft:salmon",
"minecraft:tropical_fish"
"#c:raw_fish",
"#unicopia:food_types/raw_fish"
]
}

View file

@ -3,6 +3,7 @@
"traits": "blood:1 famine:2 poison:4",
"items": [
"minecraft:spider_eye",
"minecraft:rotten_flesh"
"minecraft:rotten_flesh",
"#unicopia:food_types/forage_nauseating"
]
}

View file

@ -2,14 +2,13 @@
"replace": false,
"traits": "life:10 earth:2",
"items": [
"minecraft:pumpkin_seeds",
"minecraft:beetroot_seeds",
"minecraft:melon_seeds",
"#c:seeds",
"#minecraft:villager_plantable_seeds",
"minecraft:cocoa_beans",
"minecraft:egg",
"minecraft:wheat_seeds",
"minecraft:wheat",
"minecraft:bone_meal",
"minecraft:honeycomb"
"minecraft:honeycomb",
"minecraft:sniffer_egg"
]
}

View file

@ -3,10 +3,6 @@
"traits": "water:5 life:5",
"items": [
"minecraft:milk_bucket",
"minecraft:pufferfish_bucket",
"minecraft:salmon_bucket",
"minecraft:cod_bucket",
"minecraft:tropical_fish_bucket",
"minecraft:axolotl_bucket"
"#c:entity_water_buckets"
]
}

View file

@ -2,6 +2,6 @@
"replace": false,
"traits": "water:7",
"items": [
"minecraft:water_bucket"
"#c:water_buckets"
]
}

View file

@ -4,22 +4,7 @@
"items": [
"minecraft:loom",
"minecraft:lead",
"minecraft:writable_book",
"minecraft:white_dye",
"minecraft:orange_dye",
"minecraft:magenta_dye",
"minecraft:light_blue_dye",
"minecraft:yellow_dye",
"minecraft:lime_dye",
"minecraft:pink_dye",
"minecraft:gray_dye",
"minecraft:light_gray_dye",
"minecraft:cyan_dye",
"minecraft:purple_dye",
"minecraft:blue_dye",
"minecraft:brown_dye",
"minecraft:green_dye",
"minecraft:red_dye",
"minecraft:black_dye"
"#minecraft:bookshelf_books",
"#c:dyes"
]
}

View file

@ -5,6 +5,7 @@
"minecraft:experience_bottle",
"minecraft:firework_rocket",
"minecraft:firework_star",
"minecraft:enchanted_book"
"minecraft:enchanted_book",
"minecraft:recovery_compass"
]
}

View file

@ -4,6 +4,8 @@
"items": [
"minecraft:potion",
"minecraft:glass_bottle",
"minecraft:ender_eye"
"minecraft:ender_eye",
"#minecraft:trim_materials",
"minecraft:brush"
]
}

View file

@ -2,6 +2,10 @@
"replace": false,
"traits": "knowledge:9 order:3",
"items": [
"#minecraft:decorated_pot_sherds",
"#minecraft:trim_templates",
"#minecraft:signs",
"#minecraft:hanging_signs",
"minecraft:flower_banner_pattern",
"minecraft:creeper_banner_pattern",
"minecraft:skull_banner_pattern",

View file

@ -0,0 +1,30 @@
{
"replace": false,
"traits": "earth:2 life:1",
"items": [
"#minecraft:planks",
"#minecraft:logs_that_burn",
"#minecraft:wooden_stairs",
"#minecraft:wooden_slabs",
"#minecraft:wooden_fences",
"minecraft:sponge",
"minecraft:cobweb",
"minecraft:kelp",
"minecraft:cake",
"minecraft:chorus_plant",
"minecraft:moss_carpet",
"minecraft:mossy_cobblestone",
"minecraft:brown_mushroom_block",
"minecraft:red_mushroom_block",
"minecraft:mushroom_stem",
"minecraft:slime_block",
"minecraft:honey_block",
"minecraft:honeycomb_block",
"minecraft:bee_nest",
"minecraft:beehive"
]
}

View file

@ -2,22 +2,7 @@
"replace": false,
"traits": "order:1 knowledge:3",
"items": [
"minecraft:bowl",
"minecraft:string",
"minecraft:paper",
"minecraft:bundle",
"minecraft:oak_sign",
"minecraft:spruce_sign",
"minecraft:birch_sign",
"minecraft:jungle_sign",
"minecraft:acacia_sign",
"minecraft:dark_oak_sign",
"minecraft:oak_boat",
"minecraft:spruce_boat",
"minecraft:birch_boat",
"minecraft:jungle_boat",
"minecraft:acacia_boat",
"minecraft:dark_oak_boat",
"minecraft:rabbit_hide"
"#minecraft:chest_boats",
"#c:boats"
]
}

View file

@ -15,6 +15,7 @@
"minecraft:slime_ball": "rot:2",
"minecraft:ink_sac": "darkness:4",
"minecraft:glow_ink_sac": "focus:1 chaos:3",
"minecraft:nautilus_shell": "water:6 life:3"
"minecraft:nautilus_shell": "water:6 life:3",
"minecraft:disc_fragment_5": "knowledge:1 darkness:1"
}
}

View file

@ -3,30 +3,7 @@
"traits": "order:-2 kindness:1 strength:3",
"items": [
"minecraft:shears",
"minecraft:wooden_shovel",
"minecraft:wooden_pickaxe",
"minecraft:wooden_axe",
"minecraft:wooden_hoe",
"minecraft:stone_shovel",
"minecraft:stone_pickaxe",
"minecraft:stone_axe",
"minecraft:stone_hoe",
"minecraft:golden_shovel",
"minecraft:golden_pickaxe",
"minecraft:golden_axe",
"minecraft:golden_hoe",
"minecraft:iron_shovel",
"minecraft:iron_pickaxe",
"minecraft:iron_axe",
"minecraft:iron_hoe",
"minecraft:diamond_shovel",
"minecraft:diamond_pickaxe",
"minecraft:diamond_axe",
"minecraft:diamond_hoe"
"#minecraft:tools",
"#c:tools"
]
}

View file

@ -2,18 +2,6 @@
"replace": false,
"traits": "happiness:7 focus:2",
"items": [
"minecraft:music_disc_13",
"minecraft:music_disc_cat",
"minecraft:music_disc_blocks",
"minecraft:music_disc_chirp",
"minecraft:music_disc_far",
"minecraft:music_disc_mall",
"minecraft:music_disc_mellohi",
"minecraft:music_disc_stal",
"minecraft:music_disc_strad",
"minecraft:music_disc_ward",
"minecraft:music_disc_11",
"minecraft:music_disc_wait",
"minecraft:music_disc_pigstep"
"#minecraft:music_discs"
]
}

View file

@ -2,6 +2,7 @@
"replace": false,
"traits": "order:-2 kindness:-3 strength:13 darkness:9 blood:4",
"items": [
"minecraft:netherite_sword"
"minecraft:netherite_sword",
"minecraft:netherite_upgrade_smithing_template"
]
}

View file

@ -0,0 +1,13 @@
{
"replace": false,
"values": [
"unicopia:earth_badge",
"unicopia:unicorn_badge",
"unicopia:pegasus_badge",
"unicopia:changeling_badge",
"unicopia:bat_badge",
"unicopia:kirin_badge",
"unicopia:alicorn_badge",
"unicopia:hippogriff_badge"
]
}

View file

@ -0,0 +1,12 @@
{
"replace": false,
"values": [
"unicopia:chitin",
"unicopia:surface_chitin",
"unicopia:chiselled_chitin",
"unicopia:chiselled_chitin_slab",
"unicopia:chiselled_chitin_stairs",
"unicopia:chiselled_chitin_hull",
"unicopia:chitin_spikes"
]
}

View file

@ -3,6 +3,7 @@
"values": [
"unicopia:cloud_slab",
"unicopia:dense_cloud_slab",
"unicopia:cloud_brick_slab",
"unicopia:etched_cloud_slab",
"unicopia:cloud_plank_slab"
]

View file

@ -3,7 +3,9 @@
"values": [
"unicopia:cloud_stairs",
"unicopia:dense_cloud_stairs",
"unicopia:cloud_brick_stairs",
"unicopia:etched_cloud_stairs",
"unicopia:cloud_plank_stairs"
"unicopia:cloud_plank_stairs",
"unicopia:cloud_chest"
]
}

View file

@ -5,6 +5,8 @@
"#unicopia:cloud_slabs",
"#unicopia:cloud_stairs",
"#unicopia:cloud_beds",
"unicopia:cloud_pillar"
"unicopia:cloud_pillar",
"unicopia:carved_cloud",
"unicopia:shaping_bench"
]
}

View file

@ -0,0 +1,20 @@
{
"replace": false,
"values": [
"minecraft:air",
"minecraft:spawner",
"minecraft:structure_void",
"minecraft:structure_block",
"minecraft:command_block",
"minecraft:chain_command_block",
"minecraft:repeating_command_block",
"minecraft:light",
"minecraft:jigsaw",
"minecraft:barrier",
"minecraft:bedrock",
"minecraft:end_portal_frame",
"minecraft:debug_stick",
"minecraft:command_block_minecart",
"#unicopia:badges"
]
}

View file

@ -0,0 +1,9 @@
{
"replace": false,
"traits": "earth:9 darkness:8 kindness:-3",
"items": [
"#unicopia:chitin",
"unicopia:slime_pustule",
"unicopia:carapace"
]
}

View file

@ -1,18 +0,0 @@
{
"replace": false,
"items": {
"unicopia:green_apple": "life:3",
"unicopia:sweet_apple": "life:3",
"unicopia:sour_apple": "life:3",
"unicopia:zap_apple": "chaos:5",
"unicopia:rotten_apple": "rot:2",
"unicopia:cooked_zap_apple": "chaos:10",
"unicopia:daffodil_daisy_sandwich": "life:2 earth:1",
"unicopia:hay_burger": "life:2 earth:1",
"unicopia:hay_fries": "life:1 earth:2",
"unicopia:wheat_worms": "life:4 earth:6",
"unicopia:cider": "chaos:1 darkness:1",
"unicopia:juice": "chaos:-1 darkness:-9",
"unicopia:burned_juice": "chaos:-1 darkness:-19"
}
}

View file

@ -0,0 +1,33 @@
{
"replace": false,
"items": {
"unicopia:green_apple": "life:3",
"unicopia:sweet_apple": "life:3",
"unicopia:sour_apple": "life:3",
"unicopia:zap_apple": "chaos:5",
"unicopia:rotten_apple": "rot:2",
"unicopia:cooked_zap_apple": "chaos:10",
"unicopia:daffodil_daisy_sandwich": "life:2 earth:1",
"unicopia:hay_burger": "life:2 earth:1",
"unicopia:hay_fries": "life:1 earth:2",
"unicopia:crispy_hay_fries": "life:1 earth:2 happiness:2",
"unicopia:wheat_worms": "life:4 earth:6",
"unicopia:cider": "chaos:1 darkness:1",
"unicopia:juice": "chaos:-1 darkness:-9",
"unicopia:burned_juice": "chaos:-1 darkness:-19",
"unicopia:pineapple_crown": "life:6",
"unicopia:banana": "life:5 generosity:3",
"unicopia:mango": "earth:2 life:1",
"unicopia:pineapple": "life4 generosity:10",
"unicopia:pinecone": "life:1 happiness:-1",
"#unicopia:oats": "life:1 happiness:1",
"unicopia:apple_pie_slice": "life4 generosity:10",
"unicopia:oatmeal": "happiness:4",
"unicopia:imported_oats": "life:1 happiness:2",
"#unicopia:food_types/candy": "earth:7 strength:3",
"unicopia:zap_bulb": "life:6 power:10",
"unicopia:muffin": "happiness:11",
"unicopia:horse_shoe_fries": "earth:1 strength:11",
"#unicopia:acorns": "life:1 earth:4 strength:3"
}
}

View file

@ -6,7 +6,11 @@
"unicopia:gemstone": "order:1 power:-1",
"unicopia:pebbles": "earth:3",
"unicopia:rock": "earth:6",
"unicopia:tom": "earth:11",
"unicopia:weird_rock": "earth:16 chaos:9",
"unicopia:rock_stew": "earth:9 chaos:16"
"unicopia:rock_stew": "earth:9 chaos:16",
"unicopia:toast": "earth:3",
"unicopia:burned_toast": "chaos:1 earth:3",
"unicopia:jam_toast": "earth:3 strength:1 power:11"
}
}

View file

@ -0,0 +1,11 @@
{
"replace": false,
"traits": "strength:10 generosity:-3",
"items": [
"unicopia:golden_oak_sapling",
"unicopia:golden_oak_leaves",
"unicopia:golden_oak_log",
"unicopia:golden_wing",
"unicopia:golden_oak_seeds"
]
}

View file

@ -0,0 +1,8 @@
{
"replace": false,
"traits": "knowledge:9 order:9",
"items": [
"unicopia:weather_vane",
"unicopia:giant_balloon"
]
}

View file

@ -0,0 +1,8 @@
{
"replace": false,
"traits": "happiness:10 kindness:10",
"items": [
"#c:love",
"#unicopia:clouds"
]
}

View file

@ -0,0 +1,8 @@
{
"replace": false,
"traits": "happiness:10 kindness:10",
"items": [
"#unicopia:groups/unicorn",
"unicopia:curing_joke"
]
}

View file

@ -0,0 +1,8 @@
{
"replace": false,
"traits": "life:10",
"items": [
"unicopia:mysterious_egg",
"unicopia:tom"
]
}

View file

@ -1,10 +0,0 @@
{
"replace": false,
"traits": "earth:2 life:1",
"items": [
"unicopia:green_apple_leaves",
"unicopia:sweet_apple_leaves",
"unicopia:sour_apple_leaves",
"unicopia:mango"
]
}

View file

@ -0,0 +1,7 @@
{
"replace": false,
"traits": "order:1 knowledge:3",
"items": [
"#unicopia:baskets"
]
}

View file

@ -6,6 +6,7 @@
"unicopia:zap_log",
"unicopia:stripped_zap_log",
"unicopia:zap_wood",
"unicopia:stripped_zap_wood"
"unicopia:stripped_zap_wood",
"unicopia:flowering_zap_leaves"
]
}

View file

@ -0,0 +1,8 @@
{
"replace": false,
"traits": "water:7 earth:1 life:1",
"items": [
"#unicopia:food_types/shells",
"unicopia:shelly"
]
}

View file

@ -0,0 +1,9 @@
{
"replace": false,
"traits": "kindness:3",
"items": [
"#unicopia:bed_sheets",
"#unicopia:floats_on_clouds",
"#unicopia:pies"
]
}

View file

@ -11,6 +11,11 @@
"unicopia:butterfly": "darkness:4 blood:7",
"unicopia:spellbook": "power:18 darkness:7",
"unicopia:pegasus_amulet": "power:18 order:10 power:9",
"unicopia:alicorn_amulet": "strength:23 order:-10 power:11 darkness:22"
"unicopia:alicorn_amulet": "strength:23 order:-10 power:11 darkness:22",
"#unicopia:cools_off_kirins": "water:6",
"unicopia:hive": "earth:9 darkness:8 kindness:-3 life:10",
"#unicopia:shades": "darkness:3",
"unicopia:broken_sunglasses": "darkness:3 chaos:3",
"unicopia:salt_cube": "power:3"
}
}

View file

@ -5,6 +5,8 @@
"unicopia:music_disc_pet": "order:10 kindness:8 focus:9",
"unicopia:music_disc_popular": "order:10 generosity:8 focus:9",
"unicopia:music_disc_funk": "chaos:-10",
"unicopia:friendship_bracelet": "generosity:1 order:2 happiness:1"
"unicopia:friendship_bracelet": "generosity:1 order:2 happiness:1",
"unicopia:pearl_necklace": "chaos:7 knowledge:2",
"unicopia:lightning_jar": "chaos:1 knowledge:2 power:8"
}
}