Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
f07e07d
Add spear items with durability to item data
joaololpvp Feb 18, 2026
ba30f4c
Add Loot Table Path and Seed inputs
joaololpvp Feb 18, 2026
26faa2e
Enhance createItemElement with damage attributes
joaololpvp Feb 18, 2026
a4b1d8c
Refactor comments and variable names for clarity
joaololpvp Feb 18, 2026
7141402
Update durability values for items in script.js
joaololpvp Feb 18, 2026
13144b5
Updated map
joaololpvp Feb 24, 2026
9932318
The durability system has been migrated.
joaololpvp Feb 24, 2026
227d9a0
Enhance fetchData and tooltip functionality
joaololpvp Feb 24, 2026
01b4219
Fix fetch URL for Minecraft item data
joaololpvp Feb 24, 2026
cd38322
Add tooltip styles for obfuscated text and description
joaololpvp Feb 24, 2026
d2a27d7
Add durability feature to custom items
joaololpvp Feb 24, 2026
7019c6a
Add Max Durability column to index.html
joaololpvp Feb 24, 2026
0252a8e
Refactor item attributes and enhance enchantment handling
joaololpvp Feb 24, 2026
a8190cb
Enhance world settings and manifest handling
joaololpvp Feb 24, 2026
7e10d6d
Translate and clarify comments in script.js
joaololpvp Feb 24, 2026
02c5f0e
Enhance mobile styles for tier editor and elements
joaololpvp Feb 24, 2026
2317fcb
Update HTML structure and button labels
joaololpvp Feb 24, 2026
ea2e5a5
Implement custom biome mode and update biome handling
joaololpvp Feb 24, 2026
e80abc8
Enhance infinite world settings with custom biome options
joaololpvp Feb 24, 2026
2875a76
Update colspan for no uploaded items message
joaololpvp Feb 25, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions item/custom/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ <h1>
<td style="min-width:80px">Icon</td>
<td style="min-width:190px">Identifier</td>
<td style="min-width:230px">Display Name</td>
<td style="min-width:80px">Max Durability</td>
<td style="min-width:64px">Delete</td>
</tr>
</thead>
Expand Down
41 changes: 28 additions & 13 deletions item/custom/script.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,12 @@
var customItemsData = JSON.parse(window.localStorage.customItems);
document.getElementById("displays").innerHTML = "";
for(var i = 0; i < Object.keys(customItemsData).length; i++){
var entry = customItemsData[Object.keys(customItemsData)[i]];
document.getElementById("displays").innerHTML += createRow(entry.texture, Object.keys(customItemsData)[i], entry.readable, i);
}
var key = Object.keys(customItemsData)[i];
var entry = customItemsData[key];
document.getElementById("displays").innerHTML += createRow(entry.texture, key, entry.readable, i, entry.durability);
}
if(Object.keys(customItemsData).length == 0){
document.getElementById("displays").innerHTML = "<tr><td colspan='4' class='app-inner' style='border-radius:10px;'><i>No uploaded items yet.</i></td></tr>";
document.getElementById("displays").innerHTML = "<tr><td colspan='5' class='app-inner' style='border-radius:10px;'><i>No uploaded items yet.</i></td></tr>";
}

var dataurl = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABF0lEQVR4XmMYBSM+BBhJDoEghv949axjIMlMpoGOAhaiHQD1+Y1VL8BaMr7MQtF6/dV9MP8lw3xICBEZEkMgBNB8fvXfY6yB9vLcKbC4eEciJCRuQUPiCv40MYhDgEifowcHPCTWQUMiCH9IDP40AIvzrAfTUDw7TSELhX+AYSWE//ofJA1A0wQDATCEygEcPrn88wGqzPP3EL6oMAMxYMBDYNQBxNcFaBGKEfdo8uJGZpDcwHAVb1IY+rngwN/rEB9eeguhJQUZSAEDHgKEWy+wFlCYNsRj0JKOAZbfYd6F+rwhoQks0mAZCpEZ7LUh8e03AiEhnuAJSfVB84nyOSzghkAaQE/SOgRaxVeGWKuYYRSM+BAAAM/kV0mgX0JmAAAAAElFTkSuQmCC";
Expand All @@ -41,7 +42,8 @@
}
customItemsData[identifier] = {
readable: "My Custom Item",
texture: dataurl
texture: dataurl,
durability: 0
};
window.localStorage.customItems = JSON.stringify(customItemsData);
location.reload();
Expand All @@ -53,18 +55,31 @@
location.reload();
}

function updateItem(index, el){
var entry = customItemsData[Object.keys(customItemsData)[index]];
entry.readable = el.value;
window.localStorage.customItems = JSON.stringify(customItemsData);
function createRow(texture, identifier, namevalue, index, durability){
return '<tr>' +
'<td class="app-inner"><img src="'+ texture +'" class="customimg" onabort="abort(this)"></td>' +
'<td class="app-inner">'+identifier+'</td>' +
'<td class="app-inner"><input value="'+ namevalue +'" class="app-input" oninput="updateItem('+index+', this, \'readable\')"></td>' +
// NEW NUMERICAL FIELD FOR DURABILITY
'<td class="app-inner"><input type="number" value="'+ (durability || 0) +'" class="app-input" style="width:70px" oninput="updateItem('+index+', this, \'durability\')"></td>' +
'<td class="app-inner"><img class="deleteimg" src="/assets/icons/icon_trash.png" ondrag="return false;" onclick="del('+index+')"></td>' +
'</tr>';
}

function createRow(texture, identifier, namevalue, index){
return '<tr><td colspan="1" class="app-inner"><img src="'+ texture +'" class="customimg" onabort="abort(this)"></td><td colspan="1" class="app-inner">'+identifier+'</td><td colspan="1" class="app-inner"><input value="'+ namevalue +'" class="app-input" oninput="updateItem('+index+', this)"></td><td colspan="1" class="app-inner"><img class="deleteimg" src="/assets/icons/icon_trash.png" ondrag="return false;" onclick="del('+index+')"></td></tr>';
//'<tr><td colspan="1" class="app-inner"><img src="'+ texture +'" class="customimg"></td><td colspan="1" class="app-inner"><input value="'+ identifier +'" class="app-input" oninput="updateItem('+index+')"></td><td colspan="1" class="app-inner"><input value="'+ namevalue +'" class="app-input" oninput="updateItem('+index+')"></td><td colspan="1" class="app-inner"><img class="deleteimg" src="/assets/icons/icon_trash.png" ondrag="return false;" onclick="del('+ index +')"></td></tr>';
function updateItem(index, el, field){
var keys = Object.keys(customItemsData);
var entry = customItemsData[keys[index]];

if(field === 'durability') {
entry.durability = parseInt(el.value) || 0;
} else {
entry.readable = el.value;
}

window.localStorage.customItems = JSON.stringify(customItemsData);
}


function abort(el){
el.src = "https://github.com/Mojang/bedrock-samples/raw/main/resource_pack/textures/items/empty_armor_slot_shield.png";
}
}
86 changes: 86 additions & 0 deletions item/data/durabilities.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
{
"minecraft:turtle_helmet": 275,
"minecraft:leather_helmet": 55,
"minecraft:copper_helmet": 121,
"minecraft:golden_helmet": 77,
"minecraft:chainmail_helmet": 165,
"minecraft:iron_helmet": 165,
"minecraft:diamond_helmet": 363,
"minecraft:netherite_helmet": 407,
"minecraft:leather_chestplate": 80,
"minecraft:copper_chestplate": 176,
"minecraft:golden_chestplate": 112,
"minecraft:chainmail_chestplate": 240,
"minecraft:iron_chestplate": 240,
"minecraft:diamond_chestplate": 528,
"minecraft:netherite_chestplate": 592,
"minecraft:leather_leggings": 75,
"minecraft:copper_leggings": 165,
"minecraft:golden_leggings": 105,
"minecraft:chainmail_leggings": 225,
"minecraft:iron_leggings": 225,
"minecraft:diamond_leggings": 495,
"minecraft:netherite_leggings": 555,
"minecraft:leather_boots": 65,
"minecraft:copper_boots": 143,
"minecraft:golden_boots": 91,
"minecraft:chainmail_boots": 195,
"minecraft:iron_boots": 195,
"minecraft:diamond_boots": 429,
"minecraft:netherite_boots": 481,

"minecraft:golden_pickaxe": 32,
"minecraft:wooden_pickaxe": 59,
"minecraft:stone_pickaxe": 131,
"minecraft:copper_pickaxe": 190,
"minecraft:iron_pickaxe": 250,
"minecraft:diamond_pickaxe": 1561,
"minecraft:netherite_pickaxe": 2031,
"minecraft:golden_axe": 32,
"minecraft:wooden_axe": 59,
"minecraft:stone_axe": 131,
"minecraft:copper_axe": 190,
"minecraft:iron_axe": 250,
"minecraft:diamond_axe": 1561,
"minecraft:netherite_axe": 2031,
"minecraft:golden_hoe": 32,
"minecraft:wooden_hoe": 59,
"minecraft:stone_hoe": 131,
"minecraft:copper_hoe": 190,
"minecraft:iron_hoe": 250,
"minecraft:diamond_hoe": 1561,
"minecraft:netherite_hoe": 2031,
"minecraft:golden_shovel": 32,
"minecraft:wooden_shovel": 59,
"minecraft:stone_shovel": 131,
"minecraft:copper_shovel": 190,
"minecraft:iron_shovel": 250,
"minecraft:diamond_shovel": 1561,
"minecraft:netherite_shovel": 2031,
"minecraft:golden_sword": 32,
"minecraft:wooden_sword": 59,
"minecraft:stone_sword": 131,
"minecraft:copper_sword": 190,
"minecraft:iron_sword": 250,
"minecraft:diamond_sword": 1561,
"minecraft:netherite_sword": 2031,
"minecraft:wooden_spear": 59,
"minecraft:stone_spear": 131,
"minecraft:copper_spear": 190,
"minecraft:iron_spear": 250,
"minecraft:diamond_spear": 1561,
"minecraft:netherite_spear": 2031,

"minecraft:flint_and_steel": 64,
"minecraft:brush": 64,
"minecraft:fishing_rod": 384,
"minecraft:carrot_on_a_stick": 25,
"minecraft:warped_fungus_on_a_stick": 100,
"minecraft:shears": 238,
"minecraft:shield": 336,
"minecraft:bow": 384,
"minecraft:trident": 250,
"minecraft:elytra": 432,
"minecraft:crossbow": 465,
"minecraft:mace": 500
}
Loading