From 4aba8f81e2bd6d6f5d170ed57441255848c9d058 Mon Sep 17 00:00:00 2001 From: Misode Date: Sun, 29 Dec 2019 01:01:59 +0100 Subject: [PATCH] Fix filtering and translate criteria fields --- locales/en.json | 41 ++++++++++++++++++++++++++++++++++++++++- schemas/1.15.json | 18 +++++++++++++++--- view.js | 5 ++--- 3 files changed, 57 insertions(+), 7 deletions(-) diff --git a/locales/en.json b/locales/en.json index 3d7f21f4..065fa34a 100644 --- a/locales/en.json +++ b/locales/en.json @@ -72,6 +72,45 @@ "copy": "Copy", "credit": "on GitHub", "criteria": "Criteria", + "criteria.trigger": "Trigger", + "criteria.conditions": "Conditions", + "criteria.block": "Block", + "criteria.num_bees_inside": "Number of Bees Inside", + "criteria.child": "Child", + "criteria.parent": "Parent", + "criteria.partner": "Partner", + "criteria.potion": "Potion", + "criteria.from_dimension": "From", + "criteria.to_dimension": "To", + "criteria.beacon_level": "Pyramid Level", + "criteria.villager": "Villager", + "criteria.zombie": "Zombie", + "criteria.effects": "Effects", + "criteria.state": "States", + "criteria.xp_levels": "XP Level", + "criteria.damage": "Damage", + "criteria.source_entity": "Source Entity", + "criteria.victim_entity": "Victim Entity", + "criteria.killing_blow": "Killing Blow", + "criteria.pulled_entity": "Pulled Entity", + "criteria.rod": "Rod", + "criteria.slots": "Slots", + "criteria.slots.empty": "Slots Empty", + "criteria.slots.occupied": "Slots Occupied", + "criteria.slots.full": "Slots Full", + "criteria.items": "Items", + "criteria.delta": "Delta", + "criteria.durability": "Durability", + "criteria.item": "Item", + "criteria.unique_entity_types": "Amount of Unique Entity Types", + "criteria.victims": "Victims", + "criteria.victims_add": "Add Victim", + "criteria.victims_remove": "Remove Victim", + "criteria.distance": "Distance", + "criteria.duration": "Duration", + "criteria.location": "Location", + "criteria.recipe": "Recipe", + "criteria.entity": "Entity", "criteria_add": "Add Criterion", "criteria_remove": "Remove Criterion", "damage_source.bypasses_armor": "Bypass Armor", @@ -399,7 +438,7 @@ "trigger.player_killed_entity": "Player Killed Entity", "trigger.recipe_unlocked": "Recipe Unlocked", "trigger.safely_harvest_honey": "Safely Harvest Honey", - "trigger.shot_crossbow": "Show Crossbow", + "trigger.shot_crossbow": "Shot Crossbow", "trigger.slept_in_bed": "Slept In Bed", "trigger.slide_down_block": "Slide Down Block", "trigger.summoned_entity": "Summoned Entity", diff --git a/schemas/1.15.json b/schemas/1.15.json index 8e64a1b0..69e048ef 100644 --- a/schemas/1.15.json +++ b/schemas/1.15.json @@ -181,6 +181,7 @@ "translate": "entry.type", "translateValue": "entry.type", "help": true, + "filter": true, "default": "minecraft:item", "values": [ "minecraft:empty", @@ -264,6 +265,7 @@ "type": "enum", "translate": "function.type", "translateValue": "function.type", + "filter": true, "default": "minecraft:set_count", "values": [ "minecraft:set_count", @@ -518,6 +520,7 @@ "type": "enum", "translate": "function.formula", "translateValue": "function.formula", + "filter": true, "default": "minecraft:uniform_bonus_count", "values": [ "minecraft:uniform_bonus_count", @@ -602,6 +605,7 @@ "type": "enum", "translate": "condition.type", "translateValue": "condition.type", + "filter": true, "default": "minecraft:random_chance", "values": [ "minecraft:alternative", @@ -1425,7 +1429,7 @@ { "id": "source_entity", "type": "object", - "translate": "damage.source_entity", + "translate": "damage_source.source_entity", "color": "dark", "collapse": true, "value": "entity" @@ -1433,7 +1437,7 @@ { "id": "direct_entity", "type": "object", - "translate": "damage.direct_entity", + "translate": "damage_source.direct_entity", "color": "dark", "collapse": true, "value": "entity" @@ -1557,6 +1561,7 @@ "translate": "criteria.trigger", "translateValue": "trigger", "type": "enum", + "filter": true, "default": "minecraft:inventory_changed", "values": [ "minecraft:bee_nest_destroyed", @@ -1665,6 +1670,7 @@ { "id": "from", "translate": "criteria.from_dimension", + "translateValue": "dimension", "type": "enum", "unset": true, "values": "dimensions", @@ -1675,6 +1681,7 @@ { "id": "to", "translate": "criteria.to_dimension", + "translateValue": "dimension", "type": "enum", "unset": true, "values": "dimensions", @@ -1812,6 +1819,7 @@ "translate": "criteria.slots", "type": "object", "color": "dark", + "card": false, "fields": [ { "id": "empty", @@ -1869,9 +1877,11 @@ "minecraft:bee_nest_destroyed", "minecraft:consume_item", "minecraft:enchanted_item", + "minecraft:filled_bucket", "minecraft:fishing_rod_hooked", "minecraft:item_durability_changed", "minecraft:placed_block", + "minecraft:shot_crossbow", "minecraft:used_totem", "minecraft:villager_trade" ] @@ -1898,6 +1908,7 @@ { "id": "distance", "translate": "criteria.distance", + "type": "object", "collapse": true, "value": "distance", "require": [ @@ -1937,10 +1948,11 @@ "id": "entity", "translate": "criteria.entity", "type": "object", + "collapse": true, "value": "entity", "require": [ "minecraft:summoned_entity", - "minecraft:tame_entity" + "minecraft:tame_animal" ] } ] diff --git a/view.js b/view.js index cee3d98b..cfe5468c 100644 --- a/view.js +++ b/view.js @@ -405,13 +405,12 @@ function generateObject(data, struct, options) { } if (!struct.fields) { let child = components.find(e => e.id === struct.value); - return generateObject(data, child); + return generateObject(data, child, options); } - ; let filter; for (let field of struct.fields) { if (filter === undefined) { - filterField = struct.fields.find(e => e.type === 'enum'); + filterField = struct.fields.find(e => e.type === 'enum' && e.filter === true); if (filterField) { filter = data[filterField.id]; }