mirror of
https://github.com/misode/misode.github.io.git
synced 2026-04-28 01:08:47 +00:00
Add item enchantments field
This commit is contained in:
71
index.html
71
index.html
@@ -407,10 +407,8 @@
|
||||
</div>
|
||||
</div>
|
||||
<div id="modifierTemplate" class="card bg-dark mt-3 modifier" data-field="modifiers[]">
|
||||
<div class="card-header pb-1">
|
||||
<button type="button" class="btn btn-danger mb-2 float-right" onclick="removeField(this)">Remove Modifier</button>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<button type="button" class="btn btn-danger mb-3 float-right" onclick="removeField(this)">Remove Modifier</button>
|
||||
<div class="input-group" data-type="enum" data-field="attribute">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">Attribute</span>
|
||||
@@ -792,6 +790,9 @@
|
||||
</div>
|
||||
<textarea type="text" class="form-control nbt code" onchange="updateField(this)" onclick="this.select()"></textarea>
|
||||
</div>
|
||||
<div class="input-group mt-3">
|
||||
<button class="btn btn-dark" type="button" onclick="addConditionEnchantment(this)">Add Enchantment</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="damageTemplate" class="card bg-dark mt-3 damage" data-field="predicate">
|
||||
@@ -916,6 +917,70 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="enchantmentTemplate" class="card bg-dark mt-3 enchantment" data-field="enchantments[]">
|
||||
<div class="card-body">
|
||||
<button type="button" class="btn btn-danger mb-3 float-right" onclick="removeField(this)">Remove Enchantment</button>
|
||||
<div class="input-group" data-type="enum" data-field="enchantment">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">Enchantment</span>
|
||||
</div>
|
||||
<select class="form-control enchantment-id" onchange="updateField(this)">
|
||||
<option value="minecraft:aqua_affinity">Aqua Affinity</option>
|
||||
<option value="minecraft:bane_of_arthropods">Bane of Arthropods</option>
|
||||
<option value="minecraft:blast_protection">Blast Protection</option>
|
||||
<option value="minecraft:channeling">Channeling</option>
|
||||
<option value="minecraft:binding_curse">Curse of Binding</option>
|
||||
<option value="minecraft:vanishing_curse">Curse of Vanishing</option>
|
||||
<option value="minecraft:depth_strider">Depth Strider</option>
|
||||
<option value="minecraft:efficiency">Efficiency</option>
|
||||
<option value="minecraft:feather_falling">Feather Falling</option>
|
||||
<option value="minecraft:fire_aspect">Fire Aspect</option>
|
||||
<option value="minecraft:fire_protection">Fire Protection</option>
|
||||
<option value="minecraft:flame">Flame</option>
|
||||
<option value="minecraft:fortune">Fortune</option>
|
||||
<option value="minecraft:frost_walker">Frost Walker</option>
|
||||
<option value="minecraft:impaling">Impaling</option>
|
||||
<option value="minecraft:infinity">Infinity</option>
|
||||
<option value="minecraft:knockback">Knockback</option>
|
||||
<option value="minecraft:looting">Looting</option>
|
||||
<option value="minecraft:loyalty">Loyalty</option>
|
||||
<option value="minecraft:luck_of_the_sea">Luck of the Sea</option>
|
||||
<option value="minecraft:lure">Lure</option>
|
||||
<option value="minecraft:mending">Mending</option>
|
||||
<option value="minecraft:multishot">Multishot</option>
|
||||
<option value="minecraft:piercing">Piercing</option>
|
||||
<option value="minecraft:power">Power</option>
|
||||
<option value="minecraft:projectile_protection">Projectile Protection</option>
|
||||
<option value="minecraft:protection">Protection</option>
|
||||
<option value="minecraft:punch">Punch</option>
|
||||
<option value="minecraft:quick_charge">Quick Charge</option>
|
||||
<option value="minecraft:respiration">Respiration</option>
|
||||
<option value="minecraft:riptide">Riptide</option>
|
||||
<option value="minecraft:sharpness">Sharpness</option>
|
||||
<option value="minecraft:silk_touch">Silk Touch</option>
|
||||
<option value="minecraft:smite">Smite</option>
|
||||
<option value="minecraft:sweeping">Sweeping Edge</option>
|
||||
<option value="minecraft:thorns">Thorns</option>
|
||||
<option value="minecraft:unbreaking">Unbreaking</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="input-group mt-3 enchantment-level" data-type="range" data-field="level">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">Level</span>
|
||||
<button type="button" class="btn btn-outline-secondary bg-light dropdown-toggle dropdown-toggle-split" data-toggle="dropdown"></button>
|
||||
<div class="dropdown-menu">
|
||||
<a class="dropdown-item" value="exact" onclick="updateRangeType(this)">Exact</a>
|
||||
<a class="dropdown-item" value="range" onclick="updateRangeType(this)">Range</a>
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" class="form-control exact d-none rounded-right" value="1" onchange="updateField(this)" onclick="this.select()">
|
||||
<span class="input-group-text rounded-0 range d-none">Min</span>
|
||||
<input type="text" class="form-control range min d-none" value="1" onchange="updateField(this)" onclick="this.select()">
|
||||
<span class="input-group-text rounded-0 range d-none">Max</span>
|
||||
<input type="text" class="form-control range max d-none rounded-right" value="2" onchange="updateField(this)" onclick="this.select()">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
|
||||
|
||||
18
model.js
18
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();
|
||||
}
|
||||
|
||||
17
view.js
17
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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user