mirror of
https://github.com/misode/misode.github.io.git
synced 2026-04-27 16:58:46 +00:00
Add quality and luck-based checkbox
This commit is contained in:
31
script.js
31
script.js
@@ -3,6 +3,7 @@ $("#source").val('');
|
||||
$('#tableType').val("minecraft:generic");
|
||||
$('#indentationSelect').val("2");
|
||||
let indentation = 2;
|
||||
let luck_based = false;
|
||||
let table = {
|
||||
type: "minecraft:generic",
|
||||
pools: []
|
||||
@@ -134,11 +135,26 @@ function updateEntryWeight(el) {
|
||||
invalidated();
|
||||
}
|
||||
|
||||
function updateEntryQuality(el) {
|
||||
let quality = parseInt($(el).val());
|
||||
if (isNaN(quality)) {
|
||||
delete getEntry(el).quality;
|
||||
} else {
|
||||
getEntry(el).quality = quality;
|
||||
}
|
||||
invalidated();
|
||||
}
|
||||
|
||||
function updateTableType() {
|
||||
table.type = $('#tableType').val();
|
||||
invalidated();
|
||||
}
|
||||
|
||||
function updateLuckBased() {
|
||||
luck_based = $('#luckBased').prop('checked');
|
||||
invalidated();
|
||||
}
|
||||
|
||||
function updateSouce() {
|
||||
$('#source').removeClass('invalid');
|
||||
try {
|
||||
@@ -203,6 +219,7 @@ function generateStructure() {
|
||||
// Bonus Rolls
|
||||
let $bonus_rolls = $pool.find('.bonus-rolls');
|
||||
if (pool.bonus_rolls) {
|
||||
luck_based = true;
|
||||
if (typeof pool.bonus_rolls === 'object') {
|
||||
if (pool.bonus_rolls.type && pool.bonus_rolls.type.match(/(minecraft:)?binomial/)) {
|
||||
$bonus_rolls.attr('data-type', 'binomial');
|
||||
@@ -223,6 +240,9 @@ function generateStructure() {
|
||||
} else {
|
||||
$bonus_rolls.find('.exact').removeClass('d-none');
|
||||
}
|
||||
if (!luck_based) {
|
||||
$pool.find('.bonus-rolls').addClass('d-none');
|
||||
}
|
||||
|
||||
// Entries
|
||||
for (let j = 0; j < pool.entries.length; j += 1) {
|
||||
@@ -239,9 +259,18 @@ function generateStructure() {
|
||||
$entry.find('.entry-name input').val(entry.name);
|
||||
}
|
||||
$entry.find('.entry-weight').removeClass('d-none');
|
||||
if (luck_based) {
|
||||
$entry.find('.entry-quality').removeClass('d-none');
|
||||
} else {
|
||||
$entry.find('.entry-quality').addClass('d-none');
|
||||
}
|
||||
if (entry.weight) {
|
||||
$entry.find('.entry-weight input').val(entry.weight);
|
||||
}
|
||||
if (entry.quality) {
|
||||
luck_based = true;
|
||||
$entry.find('.entry-quality input').val(entry.quality);
|
||||
}
|
||||
if (entry.type === 'minecraft:alternatives' || entry.type === 'minecraft:sequence' || entry.type === 'minecraft:group') {
|
||||
delete entry.name;
|
||||
$entry.find('.entry-children').removeClass('d-none');
|
||||
@@ -250,5 +279,7 @@ function generateStructure() {
|
||||
$pool.children('.card-body').append($entry);
|
||||
}
|
||||
$('#structure').append($pool);
|
||||
|
||||
$('#luck-based').attr('checked', luck_based);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user