Fix filtering and translate criteria fields

This commit is contained in:
Misode
2019-12-29 01:01:59 +01:00
parent 1a8f14a529
commit 4aba8f81e2
3 changed files with 57 additions and 7 deletions

View File

@@ -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",

View File

@@ -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"
]
}
]

View File

@@ -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];
}