From fa2b869bea88ce6205b96f2a34ecae3e1f8b5852 Mon Sep 17 00:00:00 2001 From: Misode Date: Mon, 24 Jun 2019 16:42:03 +0200 Subject: [PATCH] Add item enchantments field --- index.html | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++--- model.js | 18 +++++++++----- view.js | 17 +++++++++++++ 3 files changed, 97 insertions(+), 9 deletions(-) diff --git a/index.html b/index.html index 7fa074b5..f3f98684 100644 --- a/index.html +++ b/index.html @@ -407,10 +407,8 @@
-
- -
+
Attribute @@ -792,6 +790,9 @@
+
+ +
@@ -916,6 +917,70 @@
+
+
+ +
+
+ Enchantment +
+ +
+
+
+ Level + + +
+ + Min + + Max + +
+
+
diff --git a/model.js b/model.js index 612432f2..a6192fe4 100644 --- a/model.js +++ b/model.js @@ -343,12 +343,6 @@ function addModifier(el) { invalidated(); } -function removeModifier(el) { - let index = parseInt($(el).closest('.modifier').attr('data-index')); - getSuperParent(el).modifiers.splice(index, 1); - invalidated(); -} - function addModifierSlot(el) { let modifier = getParent(el); if (!modifier.slot) { @@ -586,3 +580,15 @@ function updateChancesField(el) { } invalidated(); } + +function addConditionEnchantment(el) { + let condition = getParent(el); + if (!condition.enchantments) { + condition.enchantments = []; + } + condition.enchantments.push({ + enchantment: 'minecraft:silk_touch', + level: 1 + }); + invalidated(); +} diff --git a/view.js b/view.js index a9c9f3c6..c149de20 100644 --- a/view.js +++ b/view.js @@ -752,6 +752,13 @@ function generateItem(item) { delete item.nbt; } + if (item.enchantments) { + for (let j = 0; j < item.enchantments.length; j += 1) { + let $enchantment = generateEnchantment(item.enchantments[j], j); + $item.children('.card-body').append($enchantment); + } + } + return $item; } @@ -796,3 +803,13 @@ function generateDamage(damage) { return $damage; } + +function generateEnchantment(enchantment, i) { + let $enchantment = $('#enchantmentTemplate').clone(); + $enchantment.removeAttr('id').attr('data-index', i); + + $enchantment.find('.enchantment-id').val(enchantment.enchantment); + generateRange($enchantment.find('.enchantment-level'), enchantment.level); + + return $enchantment; +}