998 lines
		
	
	
		
			No EOL
		
	
	
		
			36 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			998 lines
		
	
	
		
			No EOL
		
	
	
		
			36 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
function addStr(str, index, stringToAdd){
 | 
						|
	return str.substring(0, index) + stringToAdd + str.substring(index, str.length);
 | 
						|
}
 | 
						|
 | 
						|
var isTimerOn = false;
 | 
						|
var lastTime;
 | 
						|
var categories = [];
 | 
						|
var selectedCategory = "general_cat";
 | 
						|
var craft2;
 | 
						|
var job2;
 | 
						|
var gang;
 | 
						|
var craftData;
 | 
						|
var sideCraftMenu;
 | 
						|
var itemClaiming = 0;
 | 
						|
var CraftQueue = [];
 | 
						|
var maxCraft = 10;
 | 
						|
var canCraftItem = true;
 | 
						|
var showAllCrafts = false;
 | 
						|
var canClaimAll = true;
 | 
						|
 | 
						|
var canClaimItem = true;
 | 
						|
var canOpenSideCraft = true;
 | 
						|
 | 
						|
let Inventory = '';
 | 
						|
 | 
						|
window.addEventListener('message', function(event) {
 | 
						|
	switch (event.data.action) {
 | 
						|
		case 'openCraft':
 | 
						|
			selectedCategory = "general_cat";
 | 
						|
			canOpenSideCraft = true;
 | 
						|
			canClaimItem = true;
 | 
						|
			itemClaiming = 0;
 | 
						|
			showAllCrafts = event.data.showAllCrafts;
 | 
						|
			Inventory = event.data.inventory;
 | 
						|
			var queue = event.data.queue;
 | 
						|
			craftData = event.data;
 | 
						|
			categories = event.data.categories;
 | 
						|
			var craft = event.data.craft;
 | 
						|
			craft2 = craft;
 | 
						|
			var num = craft.length;
 | 
						|
			var paragraph = '';
 | 
						|
			var row = '<div class="row">';
 | 
						|
			var lastRowNum = 0;
 | 
						|
			var job = event.data.job;
 | 
						|
			job2 = event.data.job;
 | 
						|
			gang = event.data.gang;
 | 
						|
			var added = 0;
 | 
						|
			var useCategories = event.data.useCategories;
 | 
						|
			var categoriesButtonsHTML = `
 | 
						|
				<input type="radio" class="btn-check cat_tab" name="category" value="general_cat" id="general_cat" checked>
 | 
						|
				<label class="btn btn-category first-category" for="general_cat">General</label>
 | 
						|
			`;
 | 
						|
			document.querySelector('#claimall-button').disabled = false;
 | 
						|
			if(useCategories){
 | 
						|
				for(let i = 0; i < categories.length; i++){
 | 
						|
					categoriesButtonsHTML += `
 | 
						|
						<input type="radio" class="btn-check cat_tab" name="category" value="${categories[i]}" id="${categories[i]}">
 | 
						|
						<label class="btn btn-category last-category" for="${categories[i]}">${categories[i]}</label>
 | 
						|
					`;
 | 
						|
				}
 | 
						|
				$('#categories_btns').html(categoriesButtonsHTML);
 | 
						|
				$('#categories_box').show();
 | 
						|
			} else {
 | 
						|
				$('#categories_box').hide();
 | 
						|
			}
 | 
						|
 | 
						|
			if(num >= 13){
 | 
						|
				$('.itemslist_window').css('padding', '0.3125rem 0.55rem 0.3125rem 0.625rem');
 | 
						|
			} else {
 | 
						|
				$('.itemslist_window').css('padding', '0.3125rem 1.05rem 0.3125rem 0.625rem');
 | 
						|
			}
 | 
						|
 | 
						|
			for(var i = 0; i < num; i++) {
 | 
						|
				for(var i1 = 0; i1 < craft[i].job.length; i1++){
 | 
						|
					if(selectedCategory == "general_cat" || craft[i].category == selectedCategory){
 | 
						|
						if(craft[i].job[i1] == job || craft[i].job[i1] == gang || craft[i].job[i1] == ''){
 | 
						|
							if(!event.data.UseXP){
 | 
						|
								var itemName = event.data.itemNames;
 | 
						|
								var itemId = craft[i].item;
 | 
						|
								var index = i;
 | 
						|
								added++
 | 
						|
								row += `
 | 
						|
									<div class="col-md-3">
 | 
						|
										<div class="card item_card" id="${itemId}wb_${event.data.wb}wb_${index}">
 | 
						|
											<div class="card-body item_card-body d-flex justify-content-center align-items-center" style="background-color: rgba(220, 220, 220, 0.20)" id="selected${itemId}wb_${event.data.wb}wb_${index}">
 | 
						|
												<span class="item-title text-center">${itemName[itemId]}</span>
 | 
						|
												<img src="nui://${Inventory}/${itemId}.png" class="image">
 | 
						|
											</div>
 | 
						|
										</div>
 | 
						|
									</div>
 | 
						|
								`;
 | 
						|
								var myEle = document.getElementById(itemId+"wb_"+event.data.wb+"wb_"+index);
 | 
						|
								if(!myEle) {
 | 
						|
									$(document).on('click', "#"+itemId+"wb_"+event.data.wb+"wb_"+index, function() {
 | 
						|
										if(canOpenSideCraft) {
 | 
						|
											canOpenSideCraft = false;
 | 
						|
											allID = this.id;
 | 
						|
											id = allID.substring(0, allID.indexOf('wb_'));
 | 
						|
											index2 = allID.split("wb_");
 | 
						|
											$('.item_card-body').css('background-color', 'rgba(220, 220, 220, 0.20)');
 | 
						|
											$('#selected'+this.id).css('background-color', 'rgba(31, 94, 255, 1)');
 | 
						|
											var sound = new Audio('click.mp3');
 | 
						|
											sound.volume = 0.3;
 | 
						|
											sound.play();
 | 
						|
											$.post('https://okokCrafting/action', JSON.stringify({
 | 
						|
												action: "craft",
 | 
						|
												item: id,
 | 
						|
												crafts: craft,
 | 
						|
												itemName: itemName,
 | 
						|
												index: index2[2],
 | 
						|
											}));
 | 
						|
										}
 | 
						|
									});
 | 
						|
								}
 | 
						|
 | 
						|
								if ((added) % 4 === 0) {
 | 
						|
									row = addStr(row, row.length, `</div><div class="row itemslist_row-h">`);
 | 
						|
									lastRowNum = row.length+6;
 | 
						|
								}
 | 
						|
							} else {
 | 
						|
								if(craft[i].levelNeeded <= event.data.level || showAllCrafts){
 | 
						|
									var itemName = event.data.itemNames;
 | 
						|
									var itemId = craft[i].item;
 | 
						|
									var index = i;
 | 
						|
									added++
 | 
						|
									row += `
 | 
						|
										<div class="col-md-3">
 | 
						|
											<div class="card item_card" id="${itemId}wb_${event.data.wb}wb_${index}">
 | 
						|
												<div class="card-body item_card-body d-flex justify-content-center align-items-center" style="background-color: rgba(220, 220, 220, 0.20)" id="selected${itemId}wb_${event.data.wb}wb_${index}">
 | 
						|
													<span class="item-title text-center">${itemName[itemId]}</span>
 | 
						|
													<img src="nui://${Inventory}/${itemId}.png" class="image">
 | 
						|
												</div>
 | 
						|
											</div>
 | 
						|
										</div>
 | 
						|
									`;
 | 
						|
									var myEle = document.getElementById(itemId+"wb_"+event.data.wb+"wb_"+index);
 | 
						|
									if(!myEle) {
 | 
						|
										$(document).on('click', "#"+itemId+"wb_"+event.data.wb+"wb_"+index, function() {
 | 
						|
											if(canOpenSideCraft) {
 | 
						|
												canOpenSideCraft = false;
 | 
						|
												allID = this.id;
 | 
						|
												id = allID.substring(0, allID.indexOf('wb_'));
 | 
						|
												index2 = allID.split("wb_");
 | 
						|
												$('.item_card-body').css('background-color', 'rgba(220, 220, 220, 0.20)');
 | 
						|
												$('#selected'+this.id).css('background-color', 'rgba(31, 94, 255, 1)');
 | 
						|
												var sound = new Audio('click.mp3');
 | 
						|
												sound.volume = 0.3;
 | 
						|
												sound.play();
 | 
						|
												$.post('https://okokCrafting/action', JSON.stringify({
 | 
						|
													action: "craft",
 | 
						|
													item: id,
 | 
						|
													crafts: craft,
 | 
						|
													itemName: itemName,
 | 
						|
													index: index2[2],
 | 
						|
													level: event.data.level,
 | 
						|
												}));
 | 
						|
											}
 | 
						|
										});
 | 
						|
									}
 | 
						|
 | 
						|
									if ((added) % 4 === 0) {
 | 
						|
										row = addStr(row, row.length, `</div><div class="row itemslist_row-h">`);
 | 
						|
										lastRowNum = row.length+6;
 | 
						|
									}
 | 
						|
								}
 | 
						|
							}
 | 
						|
						}
 | 
						|
					}
 | 
						|
				}
 | 
						|
			}
 | 
						|
			row += `</div>`;
 | 
						|
			
 | 
						|
			if(event.data.UseXP) {
 | 
						|
				$('#currentlevel').html(event.data.level);
 | 
						|
				document.documentElement.style.setProperty('--percentage-width', event.data.percentage+"%");
 | 
						|
				$('.xpbar-col').css('margin-top', '-1.8rem');
 | 
						|
			} else {
 | 
						|
				$('.xpbar').hide();
 | 
						|
				$('.xpbar-col').css('margin-top', '5.05rem');
 | 
						|
			}
 | 
						|
 | 
						|
			var queueRow = '';
 | 
						|
			CraftQueue = queue;
 | 
						|
			if(queue.length > 0){
 | 
						|
				if(queue.length >= 6){
 | 
						|
					$('.craftingq_window').css('padding-right', '0.35rem');
 | 
						|
				} else {
 | 
						|
					$('.craftingq_window').css('padding-right', '0rem');
 | 
						|
				}
 | 
						|
				for (var i = 0; i < queue.length; i++) {
 | 
						|
					if(queue[i].isDone == true) {
 | 
						|
						if(queue[i].suc){
 | 
						|
							if(queue[i].isDis){
 | 
						|
								queueRow += `
 | 
						|
									<div class="d-flex justify-content-between w-100 queue-item-concluded mt-2">
 | 
						|
										<div class="d-flex align-items-center">
 | 
						|
											<img src="nui://${Inventory}/${queue[i].item}.png" class="image_components">
 | 
						|
											<div class="ms-2">
 | 
						|
												<div class="queue-itemname">${queue[i].itemName} x${queue[i].amount}</div>
 | 
						|
												<div class="queue-itemstate">Concluded</div>
 | 
						|
											</div>
 | 
						|
										</div>
 | 
						|
										<div class="d-flex align-items-center queue-item-mr">
 | 
						|
											<span class="queue-claimbutton"><div class="d-flex justify-content-center align-items-center queue-claimbutton-bg" data-id="${i}" onclick="cancel(this)"><i class="fas fa-check"></i></div></span>
 | 
						|
										</div>
 | 
						|
									</div>
 | 
						|
								`;
 | 
						|
							} else {
 | 
						|
								queueRow += `
 | 
						|
									<div class="d-flex justify-content-between w-100 queue-item-concluded mt-2">
 | 
						|
										<div class="d-flex align-items-center">
 | 
						|
											<img src="nui://${Inventory}/${queue[i].item}.png" class="image_components">
 | 
						|
											<div class="ms-2">
 | 
						|
												<div class="queue-itemname">${queue[i].itemName} x${queue[i].amount}</div>
 | 
						|
												<div class="queue-itemstate">Concluded</div>
 | 
						|
											</div>
 | 
						|
										</div>
 | 
						|
										<div class="d-flex align-items-center queue-item-mr">
 | 
						|
											<span class="queue-claimbutton"><div class="d-flex justify-content-center align-items-center queue-claimbutton-bg" data-id="${i}" onclick="claim(this)"><i class="fas fa-check"></i></div></span>
 | 
						|
										</div>
 | 
						|
									</div>
 | 
						|
								`;
 | 
						|
							}
 | 
						|
						} else {
 | 
						|
							queueRow += `
 | 
						|
								<div class="d-flex justify-content-between w-100 queue-item-failed mt-2">
 | 
						|
									<div class="d-flex align-items-center">
 | 
						|
										<img src="nui://${Inventory}/${queue[i].item}.png" class="image_components">
 | 
						|
										<div class="ms-2">
 | 
						|
											<div class="queue-itemname">${queue[i].itemName} x${queue[i].amount}</div>
 | 
						|
											<div class="queue-itemstate">Failed to craft</div>
 | 
						|
										</div>
 | 
						|
									</div>
 | 
						|
									<div class="d-flex align-items-center queue-item-mr">
 | 
						|
										<span class="queue-claimbutton"><div class="d-flex justify-content-center align-items-center queue-failbutton-bg" data-id="${i}" onclick="claimFail(this)"><i class="fas fa-check"></i></div></span>
 | 
						|
									</div>
 | 
						|
								</div>
 | 
						|
							`;
 | 
						|
						}
 | 
						|
					} else {
 | 
						|
						if(queue[i].isPending){
 | 
						|
							if(queue[i].isDis){
 | 
						|
								queueRow += `
 | 
						|
									<div class="d-flex justify-content-between w-100 queue-item mt-2">
 | 
						|
										<div class="d-flex align-items-center">
 | 
						|
											<img src="nui://${Inventory}/${queue[i].item}.png" class="image_components">
 | 
						|
											<div class="ms-2">
 | 
						|
												<div class="queue-itemname">${queue[i].itemName} x${queue[i].amount}</div>
 | 
						|
												<div class="queue-itemstate">Pending</div>
 | 
						|
											</div>
 | 
						|
										</div>
 | 
						|
										<div class="d-flex align-items-center queue-item-mr">
 | 
						|
											<span class="queue-cancelbutton"><div class="d-flex justify-content-center align-items-center queue-cancelbutton-bg" data-id="${i}" onclick="claim(this)"><i class="fas fa-times"></i></div></span>
 | 
						|
										</div>
 | 
						|
									</div>
 | 
						|
								`;
 | 
						|
							} else {
 | 
						|
								queueRow += `
 | 
						|
									<div class="d-flex justify-content-between w-100 queue-item mt-2">
 | 
						|
										<div class="d-flex align-items-center">
 | 
						|
											<img src="nui://${Inventory}/${queue[i].item}.png" class="image_components">
 | 
						|
											<div class="ms-2">
 | 
						|
												<div class="queue-itemname">${queue[i].itemName} x${queue[i].amount}</div>
 | 
						|
												<div class="queue-itemstate">Pending</div>
 | 
						|
											</div>
 | 
						|
										</div>
 | 
						|
										<div class="d-flex align-items-center queue-item-mr">
 | 
						|
											<span class="queue-cancelbutton"><div class="d-flex justify-content-center align-items-center queue-cancelbutton-bg" data-id="${i}" onclick="cancel(this)"><i class="fas fa-times"></i></div></span>
 | 
						|
										</div>
 | 
						|
									</div>
 | 
						|
								`;
 | 
						|
							}
 | 
						|
						} else {
 | 
						|
							if(queue[i].isDis){
 | 
						|
								queueRow += `
 | 
						|
									<div class="d-flex justify-content-between w-100 queue-item mt-2">
 | 
						|
										<div class="d-flex align-items-center">
 | 
						|
											<img src="nui://${Inventory}/${queue[i].item}.png" class="image_components">
 | 
						|
											<div class="ms-2">
 | 
						|
												<div class="queue-itemname">${queue[i].itemName} x${queue[i].amount}</div>
 | 
						|
												<div class="queue-itemstate">Time left: ${queue[i].time}s</div>
 | 
						|
											</div>
 | 
						|
										</div>
 | 
						|
										<div class="d-flex align-items-center queue-item-mr">
 | 
						|
											<span class="queue-cancelbutton"><div class="d-flex justify-content-center align-items-center queue-cancelbutton-bg" data-id="${i}" onclick="claim(this)"><i class="fas fa-times"></i></div></span>
 | 
						|
										</div>
 | 
						|
									</div>
 | 
						|
								`;
 | 
						|
							} else {
 | 
						|
								queueRow += `
 | 
						|
									<div class="d-flex justify-content-between w-100 queue-item mt-2">
 | 
						|
										<div class="d-flex align-items-center">
 | 
						|
											<img src="nui://${Inventory}/${queue[i].item}.png" class="image_components">
 | 
						|
											<div class="ms-2">
 | 
						|
												<div class="queue-itemname">${queue[i].itemName} x${queue[i].amount}</div>
 | 
						|
												<div class="queue-itemstate">Time left: ${queue[i].time}s</div>
 | 
						|
											</div>
 | 
						|
										</div>
 | 
						|
										<div class="d-flex align-items-center queue-item-mr">
 | 
						|
											<span class="queue-cancelbutton"><div class="d-flex justify-content-center align-items-center queue-cancelbutton-bg" data-id="${i}" onclick="cancel(this)"><i class="fas fa-times"></i></div></span>
 | 
						|
										</div>
 | 
						|
									</div>
 | 
						|
								`;
 | 
						|
							}
 | 
						|
						}
 | 
						|
					}
 | 
						|
				}
 | 
						|
			} else {
 | 
						|
				queueRow = `<div class="d-flex justify-content-center noitq">The crafting queue is empty</div>`
 | 
						|
			}
 | 
						|
 | 
						|
			$('.craftingq_window').html(queueRow);
 | 
						|
			$('#craft-table').html(row);
 | 
						|
			$('.title-name').html(event.data.name);
 | 
						|
 | 
						|
			$('.title').fadeIn();
 | 
						|
			$('.itemslist').fadeIn();
 | 
						|
			$('.crafting-body').fadeIn();
 | 
						|
		break
 | 
						|
	case 'openSideCraft':
 | 
						|
		sideCraftMenu = event.data;
 | 
						|
		canOpenSideCraft = true;
 | 
						|
		var useLevels = false;
 | 
						|
		if(sideCraftMenu.level != undefined){
 | 
						|
			var levelNeeded = sideCraftMenu.crafts[sideCraftMenu.index].levelNeeded;
 | 
						|
			var level = sideCraftMenu.level;
 | 
						|
			useLevels = true;
 | 
						|
		}
 | 
						|
		
 | 
						|
		var isLevel = false;
 | 
						|
		$('#quantity').val(1); 
 | 
						|
		maxCraft = sideCraftMenu.maxCraft;
 | 
						|
		if(canCraftItem == false){
 | 
						|
			canCraftItem = true;
 | 
						|
			document.querySelector('#craft-button').disabled = false;
 | 
						|
		}
 | 
						|
 | 
						|
		var canCraft = true;
 | 
						|
		var isAvailable = false;
 | 
						|
		var num = event.data.recipe.length;
 | 
						|
		var recipe = ``;
 | 
						|
		var img = `
 | 
						|
			<img src="nui://${Inventory}/${event.data.itemNameID}.png" class="image_itemselected">
 | 
						|
			<span style="color: #fff; font-weight: 600; font-size: 20px;" class="ms-2">${event.data.itemName} x${event.data.itemAmount}</span>
 | 
						|
		`;
 | 
						|
 | 
						|
		if(sideCraftMenu.isDis){
 | 
						|
			$('#top_text').html(`Requirements`);
 | 
						|
			$('#bot_text').html(`You will receive`);
 | 
						|
			img = `
 | 
						|
				<img src="nui://${Inventory}/${event.data.itemNameID}.png" class="image_itemselected">
 | 
						|
				<span style="color: #fff; font-weight: 600; font-size: 20px;" class="ms-2">${event.data.itemName} x${event.data.itemAmount} (${event.data.isDisItemAmt})</span>
 | 
						|
			`;
 | 
						|
		} else {
 | 
						|
			$('#top_text').html(`You will receive`);
 | 
						|
			$('#bot_text').html(`Requirements`);
 | 
						|
		}
 | 
						|
 | 
						|
		$('#side-image').html(img);
 | 
						|
		$('#craft-time').html(event.data.time);
 | 
						|
 | 
						|
		if(useLevels){
 | 
						|
			if(level >= levelNeeded){
 | 
						|
				canCraft = true;
 | 
						|
				isAvailable = true;
 | 
						|
				isLevel = true;
 | 
						|
			} else {
 | 
						|
				isAvailable = false;
 | 
						|
				canCraft = false;
 | 
						|
				isLevel = true;
 | 
						|
			}
 | 
						|
		}
 | 
						|
 | 
						|
		for(var i = 0; i < num; i++){
 | 
						|
			var idName = event.data.recipe[i][0];
 | 
						|
			if(sideCraftMenu.isDis){
 | 
						|
				recipe += `
 | 
						|
					<div class="d-flex align-items-center mx-1">
 | 
						|
						<img src="nui://${Inventory}/${event.data.recipe[i][0]}.png" class="image_components">
 | 
						|
						<span style="color: #fff; font-weight: 600; font-size: 20px;" class="ms-2">${event.data.itemNames[idName]} x${event.data.recipe[i][1]}</span>
 | 
						|
					</div>
 | 
						|
				`;
 | 
						|
				if(event.data.itemAmount > event.data.isDisItemAmt){
 | 
						|
					canCraft = false
 | 
						|
				}
 | 
						|
			} else {
 | 
						|
				recipe += `
 | 
						|
					<div class="d-flex align-items-center mx-1">
 | 
						|
						<img src="nui://${Inventory}/${event.data.recipe[i][0]}.png" class="image_components">
 | 
						|
						<span style="color: #fff; font-weight: 600; font-size: 20px;" class="ms-2">${event.data.itemNames[idName]} x${event.data.recipe[i][1]} (${event.data.inventory[i].key})</span>
 | 
						|
					</div>
 | 
						|
				`;
 | 
						|
				if(event.data.recipe[i][1] > event.data.inventory[i].key){
 | 
						|
					canCraft = false
 | 
						|
				}
 | 
						|
			}
 | 
						|
		}
 | 
						|
		
 | 
						|
 | 
						|
		$('#craft-button-div').html(`
 | 
						|
			<button type="button" id="craft-button" data-item="${event.data.itemNameID}" data-recipe="${event.data.recipe}" data-amount="${event.data.itemAmount}" data-xp="${event.data.xp}" data-isDis="${event.data.isDis}" data-index="${sideCraftMenu.index}" data-level="${sideCraftMenu.level}" onclick="craft(this)" class="btn btn-blue flex-grow-1">CRAFT</button>
 | 
						|
		`);
 | 
						|
 | 
						|
		if(canCraft) {
 | 
						|
			$('#craft-buttons-info').fadeIn();
 | 
						|
			$('#craft-button-div').fadeIn();
 | 
						|
			$('#craft-buttons-info-level').hide();
 | 
						|
		} else {
 | 
						|
			$('#craft-buttons-info').hide();
 | 
						|
			$('#craft-buttons-info-level').hide();
 | 
						|
		}
 | 
						|
		
 | 
						|
		if(useLevels){
 | 
						|
			if(!isAvailable && isLevel){
 | 
						|
				$('#craft-button-div-level').html(`
 | 
						|
					<span class="btn-blue-level"><i class="fa-solid fa-lock"></i> LEVEL REQUIRED: ${levelNeeded}</span>
 | 
						|
				`);
 | 
						|
				$('#craft-buttons-info-level').fadeIn();
 | 
						|
				$('#craft-button-div-level').fadeIn();
 | 
						|
			}
 | 
						|
		}
 | 
						|
 | 
						|
		$('#craft-percentage').html(event.data.percentage);
 | 
						|
		$('.components_window').html(recipe);
 | 
						|
 | 
						|
		$('.itemrequirements').fadeIn();
 | 
						|
		break
 | 
						|
	case 'ShowCraftCount':
 | 
						|
		var time = event.data.time;
 | 
						|
		var itemName = event.data.name;
 | 
						|
		
 | 
						|
		$('#crafting-text').html(`Crafting`);
 | 
						|
		$('#item-name').html(`${itemName}`);
 | 
						|
		$('#item-timer').html(`${time}s`);
 | 
						|
		if(time == lastTime) {
 | 
						|
			$('#cog').removeClass('fa-spin');
 | 
						|
		} else {
 | 
						|
			$('#cog').addClass('fa-spin');
 | 
						|
		}
 | 
						|
		
 | 
						|
 | 
						|
		if(!isTimerOn){
 | 
						|
			isTimerOn = true;
 | 
						|
			$('.timer').fadeIn();
 | 
						|
		}
 | 
						|
		lastTime = time
 | 
						|
		break
 | 
						|
	case 'CompleteCraftCount':
 | 
						|
		var itemName = event.data.name;
 | 
						|
 | 
						|
		$('.timer_card-body').css('background-color', '#1fa34a');
 | 
						|
		$('#crafting-text').html(`Crafted`);
 | 
						|
		$('#item-name').html(`${itemName}`);
 | 
						|
		$('#item-timer').html(`0s`);
 | 
						|
 | 
						|
		$('#cog').removeClass('fa-spin');
 | 
						|
		$('#cog').removeClass('fa-cog');
 | 
						|
 | 
						|
		$('#cog').addClass('fa-check');
 | 
						|
		
 | 
						|
		break
 | 
						|
	case 'FailedCraftCount':
 | 
						|
		var itemName = event.data.name;
 | 
						|
 | 
						|
		$('.timer_card-body').css('background-color', '#990b0b');
 | 
						|
		$('#crafting-text').html(`Failed to craft`);
 | 
						|
		$('#item-name').html(`${itemName}`);
 | 
						|
		$('#item-timer').html(`0s`);
 | 
						|
 | 
						|
		$('#cog').removeClass('fa-spin');
 | 
						|
		$('#cog').removeClass('fa-cog');
 | 
						|
 | 
						|
		$('#cog').addClass('fa-times');
 | 
						|
		
 | 
						|
		break
 | 
						|
	case 'HideCraftCount':
 | 
						|
		isTimerOn = false;
 | 
						|
		$('.timer').fadeOut();
 | 
						|
		setTimeout(function(){
 | 
						|
			$('#cog').removeClass('fa-times');
 | 
						|
			$('#cog').removeClass('fa-check');
 | 
						|
			$('#cog').addClass('fa-spin');
 | 
						|
			$('#cog').addClass('fa-cog');
 | 
						|
 | 
						|
			$('.timer_card-body').css('background-color', 'rgba(31, 94, 255, 1)');
 | 
						|
		}, 400);
 | 
						|
		break
 | 
						|
	case 'updateCraftingItems':
 | 
						|
		canClaimItem = true;
 | 
						|
		if(selectedCategory != ""){
 | 
						|
			var queue = event.data.queue;
 | 
						|
			var queueRow = '';
 | 
						|
			CraftQueue = queue;
 | 
						|
			if(queue.length > 0){
 | 
						|
				if(queue.length >= 6){
 | 
						|
					$('.craftingq_window').css('padding-right', '0.35rem');
 | 
						|
				} else {
 | 
						|
					$('.craftingq_window').css('padding-right', '0rem');
 | 
						|
				}
 | 
						|
				for (var i = 0; i < queue.length; i++) {
 | 
						|
					if(queue[i].isDone == true) {
 | 
						|
						if(queue[i].suc){
 | 
						|
							if(queue[i].isDis){
 | 
						|
								queueRow += `
 | 
						|
									<div class="d-flex justify-content-between w-100 queue-item-concluded mt-2">
 | 
						|
										<div class="d-flex align-items-center">
 | 
						|
											<img src="nui://${Inventory}/${queue[i].item}.png" class="image_components">
 | 
						|
											<div class="ms-2">
 | 
						|
												<div class="queue-itemname">${queue[i].itemName} x${queue[i].amount}</div>
 | 
						|
												<div class="queue-itemstate">Concluded</div>
 | 
						|
											</div>
 | 
						|
										</div>
 | 
						|
										<div class="d-flex align-items-center queue-item-mr">
 | 
						|
											<span class="queue-claimbutton"><div class="d-flex justify-content-center align-items-center queue-claimbutton-bg" data-id="${i}" onclick="cancel(this)"><i class="fas fa-check"></i></div></span>
 | 
						|
										</div>
 | 
						|
									</div>
 | 
						|
								`;
 | 
						|
							} else {
 | 
						|
								queueRow += `
 | 
						|
									<div class="d-flex justify-content-between w-100 queue-item-concluded mt-2">
 | 
						|
										<div class="d-flex align-items-center">
 | 
						|
											<img src="nui://${Inventory}/${queue[i].item}.png" class="image_components">
 | 
						|
											<div class="ms-2">
 | 
						|
												<div class="queue-itemname">${queue[i].itemName} x${queue[i].amount}</div>
 | 
						|
												<div class="queue-itemstate">Concluded</div>
 | 
						|
											</div>
 | 
						|
										</div>
 | 
						|
										<div class="d-flex align-items-center queue-item-mr">
 | 
						|
											<span class="queue-claimbutton"><div class="d-flex justify-content-center align-items-center queue-claimbutton-bg" data-id="${i}" onclick="claim(this)"><i class="fas fa-check"></i></div></span>
 | 
						|
										</div>
 | 
						|
									</div>
 | 
						|
								`;
 | 
						|
							}
 | 
						|
						} else {
 | 
						|
							queueRow += `
 | 
						|
								<div class="d-flex justify-content-between w-100 queue-item-failed mt-2">
 | 
						|
									<div class="d-flex align-items-center">
 | 
						|
										<img src="nui://${Inventory}/${queue[i].item}.png" class="image_components">
 | 
						|
										<div class="ms-2">
 | 
						|
											<div class="queue-itemname">${queue[i].itemName} x${queue[i].amount}</div>
 | 
						|
											<div class="queue-itemstate">Failed to craft</div>
 | 
						|
										</div>
 | 
						|
									</div>
 | 
						|
									<div class="d-flex align-items-center queue-item-mr">
 | 
						|
										<span class="queue-claimbutton"><div class="d-flex justify-content-center align-items-center queue-failbutton-bg" data-id="${i}" onclick="claimFail(this)"><i class="fas fa-check"></i></div></span>
 | 
						|
									</div>
 | 
						|
								</div>
 | 
						|
							`;
 | 
						|
						}
 | 
						|
					} else {
 | 
						|
						if(queue[i].isPending){
 | 
						|
							if(queue[i].isDis){
 | 
						|
								queueRow += `
 | 
						|
									<div class="d-flex justify-content-between w-100 queue-item mt-2">
 | 
						|
										<div class="d-flex align-items-center">
 | 
						|
											<img src="nui://${Inventory}/${queue[i].item}.png" class="image_components">
 | 
						|
											<div class="ms-2">
 | 
						|
												<div class="queue-itemname">${queue[i].itemName} x${queue[i].amount}</div>
 | 
						|
												<div class="queue-itemstate">Pending</div>
 | 
						|
											</div>
 | 
						|
										</div>
 | 
						|
										<div class="d-flex align-items-center queue-item-mr">
 | 
						|
											<span class="queue-cancelbutton"><div class="d-flex justify-content-center align-items-center queue-cancelbutton-bg" data-id="${i}" onclick="claim(this)"><i class="fas fa-times"></i></div></span>
 | 
						|
										</div>
 | 
						|
									</div>
 | 
						|
								`;
 | 
						|
							} else {
 | 
						|
								queueRow += `
 | 
						|
									<div class="d-flex justify-content-between w-100 queue-item mt-2">
 | 
						|
										<div class="d-flex align-items-center">
 | 
						|
											<img src="nui://${Inventory}/${queue[i].item}.png" class="image_components">
 | 
						|
											<div class="ms-2">
 | 
						|
												<div class="queue-itemname">${queue[i].itemName} x${queue[i].amount}</div>
 | 
						|
												<div class="queue-itemstate">Pending</div>
 | 
						|
											</div>
 | 
						|
										</div>
 | 
						|
										<div class="d-flex align-items-center queue-item-mr">
 | 
						|
											<span class="queue-cancelbutton"><div class="d-flex justify-content-center align-items-center queue-cancelbutton-bg" data-id="${i}" onclick="cancel(this)"><i class="fas fa-times"></i></div></span>
 | 
						|
										</div>
 | 
						|
									</div>
 | 
						|
								`;
 | 
						|
							}
 | 
						|
						} else {
 | 
						|
							if(queue[i].isDis){
 | 
						|
								queueRow += `
 | 
						|
									<div class="d-flex justify-content-between w-100 queue-item mt-2">
 | 
						|
										<div class="d-flex align-items-center">
 | 
						|
											<img src="nui://${Inventory}/${queue[i].item}.png" class="image_components">
 | 
						|
											<div class="ms-2">
 | 
						|
												<div class="queue-itemname">${queue[i].itemName} x${queue[i].amount}</div>
 | 
						|
												<div class="queue-itemstate">Time left: ${queue[i].time}s</div>
 | 
						|
											</div>
 | 
						|
										</div>
 | 
						|
										<div class="d-flex align-items-center queue-item-mr">
 | 
						|
											<span class="queue-cancelbutton"><div class="d-flex justify-content-center align-items-center queue-cancelbutton-bg" data-id="${i}" onclick="claim(this)"><i class="fas fa-times"></i></div></span>
 | 
						|
										</div>
 | 
						|
									</div>
 | 
						|
								`;
 | 
						|
							} else {
 | 
						|
								queueRow += `
 | 
						|
									<div class="d-flex justify-content-between w-100 queue-item mt-2">
 | 
						|
										<div class="d-flex align-items-center">
 | 
						|
											<img src="nui://${Inventory}/${queue[i].item}.png" class="image_components">
 | 
						|
											<div class="ms-2">
 | 
						|
												<div class="queue-itemname">${queue[i].itemName} x${queue[i].amount}</div>
 | 
						|
												<div class="queue-itemstate">Time left: ${queue[i].time}s</div>
 | 
						|
											</div>
 | 
						|
										</div>
 | 
						|
										<div class="d-flex align-items-center queue-item-mr">
 | 
						|
											<span class="queue-cancelbutton"><div class="d-flex justify-content-center align-items-center queue-cancelbutton-bg" data-id="${i}" onclick="cancel(this)"><i class="fas fa-times"></i></div></span>
 | 
						|
										</div>
 | 
						|
									</div>
 | 
						|
								`;
 | 
						|
							}
 | 
						|
						}
 | 
						|
					}
 | 
						|
				}
 | 
						|
			} else {
 | 
						|
				queueRow = `<div class="d-flex justify-content-center noitq">The crafting queue is empty</div>`
 | 
						|
			}
 | 
						|
			$('.craftingq_window').html(queueRow);
 | 
						|
		}
 | 
						|
		break
 | 
						|
	case 'resetItemNumber':
 | 
						|
		itemClaiming = 0;
 | 
						|
		break
 | 
						|
	case 'resetButton':
 | 
						|
		if(canCraftItem == false){
 | 
						|
			canCraftItem = true;
 | 
						|
			document.querySelector('#craft-button').disabled = false;
 | 
						|
		}
 | 
						|
		break
 | 
						|
	case 'canClaimAll':
 | 
						|
		document.querySelector('#claimall-button').disabled = false;
 | 
						|
		break
 | 
						|
	case 'closeMenu':
 | 
						|
		closeMenu();
 | 
						|
		break
 | 
						|
	}
 | 
						|
});
 | 
						|
 | 
						|
$(document).on('click', ".cat_tab", function() {
 | 
						|
	selectedCategory = $("input[name='category']:checked").val();
 | 
						|
	var num = craft2.length;
 | 
						|
	var paragraph = '';
 | 
						|
	var row = '<div class="row">';
 | 
						|
	var lastRowNum = 0;
 | 
						|
	var added = 0
 | 
						|
	for(var i = 0; i < num; i++) {
 | 
						|
		for(var i1 = 0; i1 < craft2[i].job.length; i1++){
 | 
						|
			if(selectedCategory == "general_cat" || craft2[i].category == selectedCategory){
 | 
						|
				if(craft2[i].job[i1] == job2 || craft2[i].job[i1] == gang || craft2[i].job[i1] == ''){
 | 
						|
					if(!craftData.UseXP){
 | 
						|
						var itemName = craftData.itemNames;
 | 
						|
						var itemId = craft2[i].item;
 | 
						|
						var index = i;
 | 
						|
						added++
 | 
						|
						row += `
 | 
						|
							<div class="col-md-3">
 | 
						|
								<div class="card item_card" id="${itemId}wb_${craftData.wb}wb_${index}">
 | 
						|
									<div class="card-body item_card-body d-flex justify-content-center align-items-center" style="background-color: rgba(220, 220, 220, 0.20)" id="selected${itemId}wb_${craftData.wb}wb_${index}">
 | 
						|
										<span class="item-title text-center">${itemName[itemId]}</span>
 | 
						|
										<img src="nui://${Inventory}/${itemId}.png" class="image">
 | 
						|
									</div>
 | 
						|
								</div>
 | 
						|
							</div>
 | 
						|
						`;
 | 
						|
						if ((added) % 4 === 0) {
 | 
						|
							row = addStr(row, row.length, `</div><div class="row itemslist_row-h">`);
 | 
						|
							lastRowNum = row.length+6;
 | 
						|
						}
 | 
						|
					} else {
 | 
						|
						if(craft2[i].levelNeeded <= craftData.level || showAllCrafts){
 | 
						|
							var itemName = craftData.itemNames;
 | 
						|
							var itemId = craft2[i].item;
 | 
						|
							var index = i;
 | 
						|
							added++
 | 
						|
							row += `
 | 
						|
								<div class="col-md-3">
 | 
						|
									<div class="card item_card" id="${itemId}wb_${craftData.wb}wb_${index}">
 | 
						|
										<div class="card-body item_card-body d-flex justify-content-center align-items-center" style="background-color: rgba(220, 220, 220, 0.20)" id="selected${itemId}wb_${craftData.wb}wb_${index}">
 | 
						|
											<span class="item-title text-center">${itemName[itemId]}</span>
 | 
						|
											<img src="nui://${Inventory}/${itemId}.png" class="image">
 | 
						|
										</div>
 | 
						|
									</div>
 | 
						|
								</div>
 | 
						|
							`;
 | 
						|
 | 
						|
							if ((added) % 4 === 0) {
 | 
						|
								row = addStr(row, row.length, `</div><div class="row itemslist_row-h">`);
 | 
						|
								lastRowNum = row.length+6;
 | 
						|
							}
 | 
						|
						}
 | 
						|
					}
 | 
						|
				}
 | 
						|
			}
 | 
						|
		}
 | 
						|
	}
 | 
						|
	row += `</div>`;
 | 
						|
	
 | 
						|
	if(craftData.UseXP) {
 | 
						|
		$('#currentlevel').html(craftData.level);
 | 
						|
		document.documentElement.style.setProperty('--percentage-width', craftData.percentage+"%");
 | 
						|
		$('.xpbar-col').css('margin-top', '-1.8rem');
 | 
						|
	} else {
 | 
						|
		$('.xpbar').hide();
 | 
						|
		$('.xpbar-col').css('margin-top', '5.05rem');
 | 
						|
	}
 | 
						|
 | 
						|
	$('#craft-table').html(row);
 | 
						|
	$('.title-name').html(craftData.name);
 | 
						|
 | 
						|
	$('.title').fadeIn();
 | 
						|
	$('.itemslist').fadeIn();
 | 
						|
	$('.crafting-body').fadeIn();
 | 
						|
});
 | 
						|
 | 
						|
function restartCrafts(){
 | 
						|
	selectedCategory = 'general_cat';
 | 
						|
	var num = craft2.length;
 | 
						|
	var paragraph = '';
 | 
						|
	var row = '<div class="row">';
 | 
						|
	var lastRowNum = 0;
 | 
						|
	var added = 0
 | 
						|
	for(var i = 0; i < num; i++) {
 | 
						|
		for(var i1 = 0; i1 < craft2[i].job.length; i1++){
 | 
						|
			if(selectedCategory == "general_cat" || craft2[i].category == selectedCategory){
 | 
						|
				if(craft2[i].job[i1] == job2 || craft2[i].job[i1] == gang || craft2[i].job[i1] == ''){
 | 
						|
					if(!craftData.UseXP){
 | 
						|
						var itemName = craftData.itemNames;
 | 
						|
						var itemId = craft2[i].item;
 | 
						|
						var index = i;
 | 
						|
						added++
 | 
						|
						row += `
 | 
						|
							<div class="col-md-3">
 | 
						|
								<div class="card item_card" id="${itemId}wb_${craftData.wb}wb_${index}">
 | 
						|
									<div class="card-body item_card-body d-flex justify-content-center align-items-center" style="background-color: rgba(220, 220, 220, 0.20)" id="selected${itemId}wb_${craftData.wb}wb_${index}">
 | 
						|
										<span class="item-title text-center">${itemName[itemId]}</span>
 | 
						|
										<img src="nui://${Inventory}/${itemId}.png" class="image">
 | 
						|
									</div>
 | 
						|
								</div>
 | 
						|
							</div>
 | 
						|
						`;
 | 
						|
						if ((added) % 4 === 0) {
 | 
						|
							row = addStr(row, row.length, `</div><div class="row itemslist_row-h">`);
 | 
						|
							lastRowNum = row.length+6;
 | 
						|
						}
 | 
						|
					} else {
 | 
						|
						if(craft2[i].levelNeeded <= craftData.level || showAllCrafts){
 | 
						|
							var itemName = craftData.itemNames;
 | 
						|
							var itemId = craft2[i].item;
 | 
						|
							var index = i;
 | 
						|
							added++
 | 
						|
							row += `
 | 
						|
								<div class="col-md-3">
 | 
						|
									<div class="card item_card" id="${itemId}wb_${craftData.wb}wb_${index}">
 | 
						|
										<div class="card-body item_card-body d-flex justify-content-center align-items-center" style="background-color: rgba(220, 220, 220, 0.20)" id="selected${itemId}wb_${craftData.wb}wb_${index}">
 | 
						|
											<span class="item-title text-center">${itemName[itemId]}</span>
 | 
						|
											<img src="nui://${Inventory}/${itemId}.png" class="image">
 | 
						|
										</div>
 | 
						|
									</div>
 | 
						|
								</div>
 | 
						|
							`;
 | 
						|
 | 
						|
							if ((added) % 4 === 0) {
 | 
						|
								row = addStr(row, row.length, `</div><div class="row itemslist_row-h">`);
 | 
						|
								lastRowNum = row.length+6;
 | 
						|
							}
 | 
						|
						}
 | 
						|
					}
 | 
						|
				}
 | 
						|
			}
 | 
						|
		}
 | 
						|
	}
 | 
						|
	row += `</div>`;
 | 
						|
	
 | 
						|
	if(craftData.UseXP) {
 | 
						|
		$('#currentlevel').html(craftData.level);
 | 
						|
		document.documentElement.style.setProperty('--percentage-width', craftData.percentage+"%");
 | 
						|
		$('.xpbar-col').css('margin-top', '-1.8rem');
 | 
						|
	} else {
 | 
						|
		$('.xpbar').hide();
 | 
						|
		$('.xpbar-col').css('margin-top', '5.05rem');
 | 
						|
	}
 | 
						|
 | 
						|
	$('#craft-table').html(row);
 | 
						|
	$('.title-name').html(craftData.name);
 | 
						|
}
 | 
						|
 | 
						|
$(document).ready(function() {
 | 
						|
	document.onkeyup = function(data) {
 | 
						|
		if (data.which == 27) {
 | 
						|
			closeMenu();
 | 
						|
		}
 | 
						|
	};
 | 
						|
});
 | 
						|
 | 
						|
$(document).ready(function(){
 | 
						|
	$('#plus').click(function(e) {
 | 
						|
		var quantity = parseInt($('#quantity').val());
 | 
						|
		if(quantity < maxCraft){
 | 
						|
			$('#quantity').val(quantity + 1); 
 | 
						|
			updateSideMenu(quantity + 1);
 | 
						|
		}
 | 
						|
	});
 | 
						|
 | 
						|
	$('#minus').click(function(e) {
 | 
						|
		var quantity = parseInt($('#quantity').val());
 | 
						|
		
 | 
						|
		if(quantity > maxCraft){
 | 
						|
			$('#quantity').val(maxCraft);
 | 
						|
			updateSideMenu(maxCraft);
 | 
						|
		} else {
 | 
						|
			if(quantity > 1) {
 | 
						|
				$('#quantity').val(quantity - 1);
 | 
						|
				updateSideMenu(quantity - 1);
 | 
						|
			}
 | 
						|
		}
 | 
						|
	});
 | 
						|
	$('#max').click(function(e) {
 | 
						|
		var quantity = parseInt($('#quantity').val());
 | 
						|
		
 | 
						|
		if(quantity != maxCraft){
 | 
						|
			$('#quantity').val(maxCraft);
 | 
						|
			updateSideMenu(maxCraft);
 | 
						|
		}
 | 
						|
	});
 | 
						|
});
 | 
						|
 | 
						|
function quantity_change(t) {
 | 
						|
	var quantity = parseInt($('#quantity').val());
 | 
						|
		
 | 
						|
	if(quantity > maxCraft){
 | 
						|
		$('#quantity').val(maxCraft);
 | 
						|
		updateSideMenu(maxCraft);
 | 
						|
	} else if(quantity < 1) {
 | 
						|
		$('#quantity').val(1);
 | 
						|
		updateSideMenu(1);
 | 
						|
	} else {
 | 
						|
		updateSideMenu(quantity);
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
function craft(t) {
 | 
						|
	if(canCraftItem){
 | 
						|
		canCraftItem = false;
 | 
						|
		document.querySelector('#craft-button').disabled = true;
 | 
						|
		var itemId = t.dataset.item;
 | 
						|
		var recipe = t.dataset.recipe;
 | 
						|
		var amount = t.dataset.amount;
 | 
						|
		var xp = t.dataset.xp;
 | 
						|
		var isDis = t.dataset.isDis;
 | 
						|
		var index = t.dataset.index;
 | 
						|
		var level = t.dataset.level;
 | 
						|
		var quantity = document.getElementById("quantity").value;
 | 
						|
		if(quantity > maxCraft){
 | 
						|
			quantity = maxCraft;
 | 
						|
			$('#quantity').val(quantity - 1);
 | 
						|
			updateSideMenu(quantity - 1);
 | 
						|
		}
 | 
						|
		$.post('https://okokCrafting/action', JSON.stringify({
 | 
						|
			action: "craft-button",
 | 
						|
			itemID: itemId,
 | 
						|
			recipe: recipe,
 | 
						|
			amount: amount,
 | 
						|
			xp: xp,
 | 
						|
			quantity: quantity,
 | 
						|
			isDis: isDis,
 | 
						|
			index: index,
 | 
						|
			level: level,
 | 
						|
		}));
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
function claim(t) {
 | 
						|
	var index = parseInt(t.dataset.id)+1;
 | 
						|
	var itemRndID = parseInt(CraftQueue[index-1].randomID);
 | 
						|
	if(itemClaiming != itemRndID && canClaimItem){
 | 
						|
		canClaimItem = false;
 | 
						|
		itemClaiming = itemRndID;
 | 
						|
		$.post('https://okokCrafting/action', JSON.stringify({
 | 
						|
			action: "claim-item",
 | 
						|
			index: index,
 | 
						|
		}));
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
function claimall(t) {
 | 
						|
	if(CraftQueue[0] != undefined && CraftQueue[0].isDone && canClaimItem){
 | 
						|
		canClaimItem = false;
 | 
						|
		document.querySelector('#claimall-button').disabled = true;
 | 
						|
		$.post('https://okokCrafting/action', JSON.stringify({
 | 
						|
			action: "claim-all",
 | 
						|
		}));
 | 
						|
	}
 | 
						|
	
 | 
						|
}
 | 
						|
 | 
						|
function claimFail(t) {
 | 
						|
	var index = parseInt(t.dataset.id)+1;
 | 
						|
	var itemRndID = parseInt(CraftQueue[index-1].randomID);
 | 
						|
	if(itemClaiming != itemRndID && canClaimItem){
 | 
						|
		canClaimItem = false;
 | 
						|
		itemClaiming = itemRndID;
 | 
						|
		$.post('https://okokCrafting/action', JSON.stringify({
 | 
						|
			action: "fail-item",
 | 
						|
			index: index,
 | 
						|
		}));
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
function cancel(t) {
 | 
						|
	var index = parseInt(t.dataset.id)+1;
 | 
						|
	var itemRndID = parseInt(CraftQueue[index-1].randomID);
 | 
						|
	if(itemClaiming != itemRndID && canClaimItem){
 | 
						|
		canClaimItem = false;
 | 
						|
		itemClaiming = itemRndID;
 | 
						|
		$.post('https://okokCrafting/action', JSON.stringify({
 | 
						|
			action: "cancel-item",
 | 
						|
			index: index,
 | 
						|
		}));
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
function updateSideMenu(quantity){
 | 
						|
	var canCraft = true
 | 
						|
	var num = sideCraftMenu.recipe.length;
 | 
						|
	var recipe = ``;
 | 
						|
	var img = `
 | 
						|
		<img src="nui://${Inventory}/${sideCraftMenu.itemNameID}.png" class="image_itemselected">
 | 
						|
		<span style="color: #fff; font-weight: 600; font-size: 20px;" class="ms-2">${sideCraftMenu.itemName} x${sideCraftMenu.itemAmount*quantity}</span>
 | 
						|
	`;
 | 
						|
 | 
						|
	if(sideCraftMenu.isDis){
 | 
						|
		img = `
 | 
						|
			<img src="nui://${Inventory}/${sideCraftMenu.itemNameID}.png" class="image_itemselected">
 | 
						|
			<span style="color: #fff; font-weight: 600; font-size: 20px;" class="ms-2">${sideCraftMenu.itemName} x${sideCraftMenu.itemAmount*quantity} (${sideCraftMenu.isDisItemAmt})</span>
 | 
						|
		`;
 | 
						|
	}
 | 
						|
 | 
						|
	$('#side-image').html(img);
 | 
						|
	$('#craft-time').html(sideCraftMenu.time*quantity);
 | 
						|
 | 
						|
	for(var i = 0; i < num; i++){
 | 
						|
		var idName = sideCraftMenu.recipe[i][0];
 | 
						|
		if(sideCraftMenu.isDis){
 | 
						|
			recipe += `
 | 
						|
				<div class="d-flex align-items-center mx-1">
 | 
						|
					<img src="nui://${Inventory}/${sideCraftMenu.recipe[i][0]}.png" class="image_components">
 | 
						|
					<span style="color: #fff; font-weight: 600; font-size: 20px;" class="ms-2">${sideCraftMenu.itemNames[idName]} x${sideCraftMenu.recipe[i][1]*quantity}</span>
 | 
						|
				</div>
 | 
						|
			`;
 | 
						|
			if(sideCraftMenu.itemAmount > sideCraftMenu.isDisItemAmt){
 | 
						|
				canCraft = false
 | 
						|
			}
 | 
						|
		} else {
 | 
						|
			recipe += `
 | 
						|
				<div class="d-flex align-items-center mx-1">
 | 
						|
					<img src="nui://${Inventory}/${sideCraftMenu.recipe[i][0]}.png" class="image_components">
 | 
						|
					<span style="color: #fff; font-weight: 600; font-size: 20px;" class="ms-2">${sideCraftMenu.itemNames[idName]} x${sideCraftMenu.recipe[i][1]*quantity} (${sideCraftMenu.inventory[i].key})</span>
 | 
						|
				</div>
 | 
						|
			`;
 | 
						|
			if(sideCraftMenu.recipe[i][1] > sideCraftMenu.inventory[i].key){
 | 
						|
				canCraft = false
 | 
						|
			}
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
	$('#craft-button-div').html(`
 | 
						|
		<button type="button" id="craft-button" data-item="${sideCraftMenu.itemNameID}" data-recipe="${sideCraftMenu.recipe}" data-amount="${sideCraftMenu.itemAmount}" data-xp="${sideCraftMenu.xp}" data-isDis="${sideCraftMenu.isDis}" data-index="${sideCraftMenu.index}" data-level="${sideCraftMenu.level}" onclick="craft(this)" class="btn btn-blue flex-grow-1">CRAFT</button>
 | 
						|
	`);
 | 
						|
 | 
						|
	if(canCraft) {
 | 
						|
		$('#craft-button-div').fadeIn();
 | 
						|
	} else {
 | 
						|
		$('#craft-button-div').hide();
 | 
						|
	}
 | 
						|
 | 
						|
	$('#craft-percentage').html(sideCraftMenu.percentage);
 | 
						|
	$('.components_window').html(recipe);
 | 
						|
 | 
						|
	$('.itemrequirements').fadeIn();
 | 
						|
}
 | 
						|
 | 
						|
function closeMenu(){
 | 
						|
	itemClaiming = 0;
 | 
						|
	selectedCategory = "";
 | 
						|
	$('.crafting-body').fadeOut();
 | 
						|
	$('.title').fadeOut();
 | 
						|
	$('.itemslist').fadeOut();
 | 
						|
	$('.itemrequirements').fadeOut();
 | 
						|
	setTimeout(function(){
 | 
						|
		restartCrafts();
 | 
						|
	}, 400);
 | 
						|
	$.post('https://okokCrafting/action', JSON.stringify({
 | 
						|
		action: "close",
 | 
						|
	}));
 | 
						|
} |