update 1.3.1.2

update Advanced Peripherals module 6/13
This commit is contained in:
dharm pimsen 2024-08-22 22:19:37 +07:00
parent f1e2fab141
commit 449432288a
4 changed files with 1072 additions and 0 deletions

View File

@ -593,5 +593,611 @@
"output": "Array",
"colour": 200,
"tooltip": "Returns a table with all entities in the given range Coordinates are relativ and not absolute"
},
"advanced_peripherals_player_detector_get_player_pos": {
"message0": "Get player %1 information from detector %2",
"args0": [
{
"type": "input_value",
"name": "PLAYER",
"check": "String"
},
{
"type": "input_value",
"name": "DETECTOR",
"check": "Peripheral"
}
],
"inputsInline": true,
"output": "Array",
"colour": 200,
"tooltip": "Returns information about the player with the username passed.",
"helpUrl": "https://advancedperipherals.netlify.app/peripherals/player_detector/#getplayerpos-getplayer"
},
"advanced_peripherals_player_detector_get_online_player": {
"message0": "Get current online player from detector %1",
"args0": [
{
"type": "input_value",
"name": "DETECTOR",
"check": "Peripheral"
}
],
"inputsInline": true,
"output": "Array",
"colour": 200,
"tooltip": "Returns a list of all online players."
},
"advanced_peripherals_player_detector_get_player_in_range": {
"message0": "Get player in range %1 from detector %2",
"args0": [
{
"type": "input_value",
"name": "RANGE",
"check": "Number"
},
{
"type": "input_value",
"name": "DETECTOR",
"check": "Peripheral"
}
],
"inputsInline": true,
"output": "Array",
"colour": 200,
"tooltip": "The center of the range is the Player Detector peripheral and not the Computer."
},
"advanced_peripherals_player_detector_get_players_in_coords": {
"message0": "Get all player in area\nFrom X %1 Y %2 Z %3\nTo X %4 Y %5 Z %6\nFrom detector %7",
"args0": [
{
"type": "input_value",
"name": "FX",
"check": "Number"
},
{
"type": "input_value",
"name": "FY",
"check": "Number"
},
{
"type": "input_value",
"name": "FZ",
"check": "Number"
},
{
"type": "input_value",
"name": "TX",
"check": "Number"
},
{
"type": "input_value",
"name": "TY",
"check": "Number"
},
{
"type": "input_value",
"name": "TZ",
"check": "Number"
},
{
"type": "input_value",
"name": "DETECTOR",
"check": "Peripheral"
}
],
"inputsInline": true,
"output": "Array",
"colour": 200,
"tooltip": "Returns a list of players within the 2 positions."
},
"advanced_peripherals_player_detector_get_players_in_cubic": {
"message0": "Get all player in cube\nWidth %1 Height %2 Depth %3\nat detector %4",
"args0": [
{
"type": "input_value",
"name": "WIDTH",
"check": "Number"
},
{
"type": "input_value",
"name": "HEIGHT",
"check": "Number"
},
{
"type": "input_value",
"name": "DEPTH",
"check": "Number"
},
{
"type": "input_value",
"name": "DETECTOR",
"check": "Peripheral"
}
],
"inputsInline": true,
"output": "Array",
"colour": 200,
"tooltip": "Returns a list of players within a cuboid centered at the peripheral."
},
"advanced_peripherals_player_detector_is_player_in_range": {
"message0": "Is player %1 in range %2 from detector %3",
"args0": [
{
"type": "input_value",
"name": "PLAYER",
"check": "String"
},
{
"type": "input_value",
"name": "RANGE",
"check": "Number"
},
{
"type": "input_value",
"name": "DETECTOR",
"check": "Peripheral"
}
],
"inputsInline": true,
"output": "Boolean",
"colour": 200,
"tooltip": "Returns true if the player whose username matches the provided username is within the given range of the peripheral."
},
"advanced_peripherals_player_detector_is_player_in_coords": {
"message0": "Is player %1 in area\nFrom X %2 Y %3 Z %4\nTo X %5 Y %6 Z %7\nFrom detector %8",
"args0": [
{
"type": "input_value",
"name": "PLAYER",
"check": "String"
},
{
"type": "input_value",
"name": "FX",
"check": "Number"
},
{
"type": "input_value",
"name": "FY",
"check": "Number"
},
{
"type": "input_value",
"name": "FZ",
"check": "Number"
},
{
"type": "input_value",
"name": "TX",
"check": "Number"
},
{
"type": "input_value",
"name": "TY",
"check": "Number"
},
{
"type": "input_value",
"name": "TZ",
"check": "Number"
},
{
"type": "input_value",
"name": "DETECTOR",
"check": "Peripheral"
}
],
"inputsInline": true,
"output": "Boolean",
"colour": 200,
"tooltip": "Returns true if the player is within the 2 positions."
},
"advanced_peripherals_player_detector_is_player_in_cubic": {
"message0": "Is player %1 in cube\nWidth %2 Height %3 Depth %4\nat detector %5",
"args0": [
{
"type": "input_value",
"name": "PLAYER",
"check": "String"
},
{
"type": "input_value",
"name": "WIDTH",
"check": "Number"
},
{
"type": "input_value",
"name": "HEIGHT",
"check": "Number"
},
{
"type": "input_value",
"name": "DEPTH",
"check": "Number"
},
{
"type": "input_value",
"name": "DETECTOR",
"check": "Peripheral"
}
],
"inputsInline": true,
"output": "Boolean",
"colour": 200,
"tooltip": "Returns true if any player is within the cuboid centered at the peripheral."
},
"advanced_peripherals_player_detector_is_players_in_range": {
"message0": "Is players in range %1 from detector %2",
"args0": [
{
"type": "input_value",
"name": "RANGE",
"check": "Number"
},
{
"type": "input_value",
"name": "DETECTOR",
"check": "Peripheral"
}
],
"inputsInline": true,
"output": "Boolean",
"colour": 200,
"tooltip": "Returns true if there is any player in the given range."
},
"advanced_peripherals_player_detector_is_players_in_coords": {
"message0": "Is players in area\nFrom X %1 Y %2 Z %3\nTo X %4 Y %5 Z %6\nFrom detector %7",
"args0": [
{
"type": "input_value",
"name": "FX",
"check": "Number"
},
{
"type": "input_value",
"name": "FY",
"check": "Number"
},
{
"type": "input_value",
"name": "FZ",
"check": "Number"
},
{
"type": "input_value",
"name": "TX",
"check": "Number"
},
{
"type": "input_value",
"name": "TY",
"check": "Number"
},
{
"type": "input_value",
"name": "TZ",
"check": "Number"
},
{
"type": "input_value",
"name": "DETECTOR",
"check": "Peripheral"
}
],
"inputsInline": true,
"output": "Boolean",
"colour": 200,
"tooltip": "Returns true if any player is within the 2 positions."
},
"advanced_peripherals_player_detector_is_players_in_cubic": {
"message0": "Is players in cube\nWidth %1 Height %2 Depth %3\nat detector %4",
"args0": [
{
"type": "input_value",
"name": "WIDTH",
"check": "Number"
},
{
"type": "input_value",
"name": "HEIGHT",
"check": "Number"
},
{
"type": "input_value",
"name": "DEPTH",
"check": "Number"
},
{
"type": "input_value",
"name": "DETECTOR",
"check": "Peripheral"
}
],
"inputsInline": true,
"output": "Boolean",
"colour": 200,
"tooltip": "Returns true if any player is within the cuboid centered at the peripheral."
},
"advanced_peripherals_inv_manager_add_item_to_player": {
"message0": "Add item\nName %1 to slot %2 with count %3 items\nTo player from chest side %4 with manager %5",
"args0": [
{
"type": "input_value",
"name": "ITEM",
"check": "String"
},
{
"type": "input_value",
"name": "TOSLOT",
"check": "Number"
},
{
"type": "input_value",
"name": "COUNT",
"check": "Number"
},
{
"type": "field_dropdown",
"name": "SIDE",
"options": [
["Top", "top"],
["Bottom", "bottom"],
["North", "north"],
["East", "east"],
["West", "west"],
["South", "south"]
]
},
{
"type": "input_value",
"name": "MANAGER",
"check": "Peripheral"
}
],
"inputsInline": true,
"previousStatement": null,
"nextStatement": null,
"colour": 200,
"tooltip": "Adds an item to the player's inventory and returns the amount of the item added. The direction is the direction of the container relative to the peripheral.",
"helpUrl": "https://advancedperipherals.netlify.app/peripherals/inventory_manager/#additemtoplayer"
},
"advanced_peripherals_inv_manager_remove_item_from_player": {
"message0": "Remove item\nName %1 from slot %2 with count %3 items\nTo slot %4 in chest side %5 with manager %6",
"args0": [
{
"type": "input_value",
"name": "ITEM",
"check": "String"
},
{
"type": "input_value",
"name": "FROMSLOT",
"check": "Number"
},
{
"type": "input_value",
"name": "COUNT",
"check": "Number"
},
{
"type": "input_value",
"name": "TOSLOT",
"check": "Number"
},
{
"type": "field_dropdown",
"name": "SIDE",
"options": [
["Top", "top"],
["Bottom", "bottom"],
["North", "north"],
["East", "east"],
["West", "west"],
["South", "south"]
]
},
{
"type": "input_value",
"name": "MANAGER",
"check": "Peripheral"
}
],
"inputsInline": true,
"previousStatement": null,
"nextStatement": null,
"colour": 200,
"tooltip": "Removes an item from the player's inventory and returns the amount of the item removed. The direction is the direction of the container relative to the peripheral to put the item into."
},
"advanced_peripherals_inv_manager_get_armor": {
"message0": "Get armor from player with manager %1",
"args0": [
{
"type": "input_value",
"name": "MANAGER",
"check": "Peripheral"
}
],
"output": "Array",
"colour": 200,
"tooltip": "Returns a list of the player's current armor slots.",
"helpUrl": "https://advancedperipherals.netlify.app/peripherals/inventory_manager/#getarmor"
},
"advanced_peripherals_inv_manager_get_items": {
"message0": "Get items from player with manager %1",
"args0": [
{
"type": "input_value",
"name": "MANAGER",
"check": "Peripheral"
}
],
"output": "Array",
"colour": 200,
"tooltip": "Returns the contents of the player's inventory as a list of items.",
"helpUrl": "https://advancedperipherals.netlify.app/peripherals/inventory_manager/#getitems"
},
"advanced_peripherals_inv_manager_get_owner": {
"message0": "Get current player owner from manager %1",
"args0": [
{
"type": "input_value",
"name": "MANAGER",
"check": "Peripheral"
}
],
"output": "String",
"colour": 200,
"tooltip": "Returns the username of the owner of the memory card in the manager or nil if there is no memory card or owner."
},
"advanced_peripherals_inv_manager_is_player_equipped": {
"message0": "Is player equipped from manager %1",
"args0": [
{
"type": "input_value",
"name": "MANAGER",
"check": "Peripheral"
}
],
"output": "Boolean",
"colour": 200,
"tooltip": "Returns true if the player is wearing atleast one piece of armor."
},
"advanced_peripherals_inv_manager_is_wearing": {
"message0": "Is player wearing in slot %1 from manager %2",
"args0": [
{
"type": "input_value",
"name": "SLOT",
"check": "Number"
},
{
"type": "input_value",
"name": "MANAGER",
"check": "Peripheral"
}
],
"output": "Boolean",
"colour": 200,
"tooltip": "Returns true if the player is wearing a armor piece on the given slot."
},
"advanced_peripherals_inv_manager_get_item_in_hand": {
"message0": "Get current item in player hand from manager %1",
"args0": [
{
"type": "input_value",
"name": "MANAGER",
"check": "Peripheral"
}
],
"output": "Array",
"colour": 200,
"tooltip": "Returns the item in the player's main hand.",
"helpUrl": "https://advancedperipherals.netlify.app/peripherals/inventory_manager/#getiteminhand"
},
"advanced_peripherals_inv_manager_get_item_in_offhand": {
"message0": "Get current item in player off hand from manager %1",
"args0": [
{
"type": "input_value",
"name": "MANAGER",
"check": "Peripheral"
}
],
"output": "Array",
"colour": 200,
"tooltip": "Returns the item in the player's off hand.",
"helpUrl": "https://advancedperipherals.netlify.app/peripherals/inventory_manager/#getiteminoffhand"
},
"advanced_peripherals_inv_manager_get_free_slot": {
"message0": "Get free slot in player from manager %1",
"args0": [
{
"type": "input_value",
"name": "MANAGER",
"check": "Peripheral"
}
],
"output": "Number",
"colour": 200,
"tooltip": "Returns the next free slot in the player's inventory. Or -1 if their inventory is full." },
"advanced_peripherals_inv_manager_is_space_available": {
"message0": "Is player space available from manager %1",
"args0": [
{
"type": "input_value",
"name": "MANAGER",
"check": "Peripheral"
}
],
"output": "Number",
"colour": 200,
"tooltip": "Returns true if space is available in the player's inventory."
},
"advanced_peripherals_inv_manager_get_empty_space": {
"message0": "Get empty space in player from manager %1",
"args0": [
{
"type": "input_value",
"name": "MANAGER",
"check": "Peripheral"
}
],
"output": "Number",
"colour": 200,
"tooltip": "Returns the number of empty slots in the player's inventory."
},
"advanced_peripherals_nbt_storage_read": {
"message0": "Read nbt with nbt storage %1",
"args0": [
{
"type": "input_value",
"name": "NBTDEV",
"check": "Peripheral"
}
],
"output": "Array",
"colour": 200,
"tooltip": "Returns the NBT data stored in the block."
},
"advanced_peripherals_nbt_storage_write_json": {
"message0": "Write json %1 To block with nbt storage %2",
"args0": [
{
"type": "input_value",
"name": "NBTJSON",
"check": "String"
},
{
"type": "input_value",
"name": "NBTDEV",
"check": "Peripheral"
}
],
"output": "Array",
"colour": 200,
"tooltip": "Writes the json as NBT data into the block."
},
"advanced_peripherals_nbt_storage_write_table": {
"message0": "Write nbt %1 To block nbt storage %2",
"args0": [
{
"type": "input_value",
"name": "NBT",
"check": "Array"
},
{
"type": "input_value",
"name": "NBTDEV",
"check": "Peripheral"
}
],
"output": "Array",
"colour": 200,
"tooltip": "Writes NBT data into the block.",
"helpUrl": "https://advancedperipherals.netlify.app/peripherals/nbt_storage/#writetable"
}
}

View File

@ -226,3 +226,211 @@ luaGenerator.forBlock['advanced_peripherals_env_detector_scan_entities'] = funct
return [`${detector}.scanEntities(${blockrange})`, luaGenerator.ORDER_NONE];
};
// Generator for Player Detector
luaGenerator.forBlock['advanced_peripherals_player_detector_get_player_pos'] = function(block, generator) {
var player = generator.valueToCode(block, "PLAYER", generator.ORDER_ATOMIC)
var detector = generator.valueToCode(block, 'DETECTOR', generator.ORDER_ATOMIC);
return [`${detector}.getPlayer(${player})`, luaGenerator.ORDER_NONE];
};
luaGenerator.forBlock['advanced_peripherals_player_detector_get_online_player'] = function(block, generator) {
var detector = generator.valueToCode(block, 'DETECTOR', generator.ORDER_ATOMIC);
return [`${detector}.getOnlinePlayers()`, luaGenerator.ORDER_NONE];
};
luaGenerator.forBlock['advanced_peripherals_player_detector_get_player_in_range'] = function(block, generator) {
var range = generator.valueToCode(block, 'RANGE', generator.ORDER_ATOMIC);
var detector = generator.valueToCode(block, 'DETECTOR', generator.ORDER_ATOMIC);
return [`${detector}.getPlayersInRange(${range})`, luaGenerator.ORDER_NONE];
};
luaGenerator.forBlock['advanced_peripherals_player_detector_get_players_in_coords'] = function(block, generator) {
var FX = generator.valueToCode(block, 'FX', generator.ORDER_ATOMIC);
var FY = generator.valueToCode(block, 'FY', generator.ORDER_ATOMIC);
var FZ = generator.valueToCode(block, 'FZ', generator.ORDER_ATOMIC);
var TX = generator.valueToCode(block, 'TX', generator.ORDER_ATOMIC);
var TY = generator.valueToCode(block, 'TY', generator.ORDER_ATOMIC);
var TZ = generator.valueToCode(block, 'TZ', generator.ORDER_ATOMIC);
var detector = generator.valueToCode(block, 'DETECTOR', generator.ORDER_ATOMIC);
return [`${detector}.getPlayersInCoords({x=${FX}, y=${FY}, z=${FZ}}, {x=${TX}, y=${TY}, z=${TZ}})`, luaGenerator.ORDER_NONE];
};
luaGenerator.forBlock['advanced_peripherals_player_detector_get_players_in_cubic'] = function(block, generator) {
var width = generator.valueToCode(block, 'WIDTH', generator.ORDER_ATOMIC);
var height = generator.valueToCode(block, 'HEIGHT', generator.ORDER_ATOMIC);
var depth = generator.valueToCode(block, 'DEPTH', generator.ORDER_ATOMIC);
var detector = generator.valueToCode(block, 'DETECTOR', generator.ORDER_ATOMIC);
return [`${detector}.getPlayersInCubic(${width}, ${height}, ${depth})`, luaGenerator.ORDER_NONE];
};
luaGenerator.forBlock['advanced_peripherals_player_detector_is_player_in_range'] = function(block, generator) {
var player = generator.valueToCode(block, 'PLAYER', generator.ORDER_ATOMIC);
var range = generator.valueToCode(block, 'RANGE', generator.ORDER_ATOMIC);
var detector = generator.valueToCode(block, 'DETECTOR', generator.ORDER_ATOMIC);
return [`${detector}.isPlayerInRange(${range}, ${player})`, luaGenerator.ORDER_NONE];
};
luaGenerator.forBlock['advanced_peripherals_player_detector_is_player_in_coords'] = function(block, generator) {
var player = generator.valueToCode(block, 'PLAYER', generator.ORDER_ATOMIC);
var FX = generator.valueToCode(block, 'FX', generator.ORDER_ATOMIC);
var FY = generator.valueToCode(block, 'FY', generator.ORDER_ATOMIC);
var FZ = generator.valueToCode(block, 'FZ', generator.ORDER_ATOMIC);
var TX = generator.valueToCode(block, 'TX', generator.ORDER_ATOMIC);
var TY = generator.valueToCode(block, 'TY', generator.ORDER_ATOMIC);
var TZ = generator.valueToCode(block, 'TZ', generator.ORDER_ATOMIC);
var detector = generator.valueToCode(block, 'DETECTOR', generator.ORDER_ATOMIC);
return [`${detector}.isPlayerInCoords({x=${FX}, y=${FY}, z=${FZ}}, {x=${TX}, y=${TY}, z=${TZ}}, ${player})`, luaGenerator.ORDER_NONE];
};
luaGenerator.forBlock['advanced_peripherals_player_detector_is_player_in_cubic'] = function(block, generator) {
var player = generator.valueToCode(block, 'PLAYER', generator.ORDER_ATOMIC);
var width = generator.valueToCode(block, 'WIDTH', generator.ORDER_ATOMIC);
var height = generator.valueToCode(block, 'HEIGHT', generator.ORDER_ATOMIC);
var depth = generator.valueToCode(block, 'DEPTH', generator.ORDER_ATOMIC);
var detector = generator.valueToCode(block, 'DETECTOR', generator.ORDER_ATOMIC);
return [`${detector}.isPlayerInCubic(${width}, ${height}, ${depth}, ${player})`, luaGenerator.ORDER_NONE];
};
luaGenerator.forBlock['advanced_peripherals_player_detector_is_players_in_range'] = function(block, generator) {
var range = generator.valueToCode(block, 'RANGE', generator.ORDER_ATOMIC);
var detector = generator.valueToCode(block, 'DETECTOR', generator.ORDER_ATOMIC);
return [`${detector}.isPlayersInRange(${range})`, luaGenerator.ORDER_NONE];
};
luaGenerator.forBlock['advanced_peripherals_player_detector_is_players_in_coords'] = function(block, generator) {
var FX = generator.valueToCode(block, 'FX', generator.ORDER_ATOMIC);
var FY = generator.valueToCode(block, 'FY', generator.ORDER_ATOMIC);
var FZ = generator.valueToCode(block, 'FZ', generator.ORDER_ATOMIC);
var TX = generator.valueToCode(block, 'TX', generator.ORDER_ATOMIC);
var TY = generator.valueToCode(block, 'TY', generator.ORDER_ATOMIC);
var TZ = generator.valueToCode(block, 'TZ', generator.ORDER_ATOMIC);
var detector = generator.valueToCode(block, 'DETECTOR', generator.ORDER_ATOMIC);
return [`${detector}.isPlayersInCoords({x=${FX}, y=${FY}, z=${FZ}}, {x=${TX}, y=${TY}, z=${TZ}})`, luaGenerator.ORDER_NONE];
};
luaGenerator.forBlock['advanced_peripherals_player_detector_is_players_in_cubic'] = function(block, generator) {
var width = generator.valueToCode(block, 'WIDTH', generator.ORDER_ATOMIC);
var height = generator.valueToCode(block, 'HEIGHT', generator.ORDER_ATOMIC);
var depth = generator.valueToCode(block, 'DEPTH', generator.ORDER_ATOMIC);
var detector = generator.valueToCode(block, 'DETECTOR', generator.ORDER_ATOMIC);
return [`${detector}.isPlayersInCubic(${width}, ${height}, ${depth})`, luaGenerator.ORDER_NONE];
};
// Generator for Inventory Manager
luaGenerator.forBlock['advanced_peripherals_inv_manager_add_item_to_player'] = function(block, generator) {
var item = generator.valueToCode(block, 'ITEM', generator.ORDER_ATOMIC);
var toslot = generator.valueToCode(block, 'TOSLOT', generator.ORDER_ATOMIC);
var count = generator.valueToCode(block, 'COUNT', generator.ORDER_ATOMIC);
var side = block.getFieldValue('SIDE');
var manager = generator.valueToCode(block, 'MANAGER', generator.ORDER_ATOMIC);
return `${manager}.addItemToPlayer("${side}", {name=${item}, toSlot=${toslot}, count=${count}})\n`;
};
luaGenerator.forBlock['advanced_peripherals_inv_manager_remove_item_from_player'] = function(block, generator) {
var item = generator.valueToCode(block, 'ITEM', generator.ORDER_ATOMIC);
var fromslot = generator.valueToCode(block, 'FROMSLOT', generator.ORDER_ATOMIC);
var count = generator.valueToCode(block, 'COUNT', generator.ORDER_ATOMIC);
var toslot = generator.valueToCode(block, 'TOSLOT', generator.ORDER_ATOMIC);
var side = block.getFieldValue('SIDE');
var manager = generator.valueToCode(block, 'MANAGER', generator.ORDER_ATOMIC);
return `${manager}.removeItemFromPlayer("${side}", {name=${item}, toSlot=${toslot}, fromSlot=${fromslot}, count=${count}})\n`;
};
luaGenerator.forBlock['advanced_peripherals_inv_manager_get_armor'] = function(block, generator) {
var manager = generator.valueToCode(block, 'MANAGER', generator.ORDER_ATOMIC);
return [`${manager}.getArmor()`, luaGenerator.ORDER_NONE];
};
luaGenerator.forBlock['advanced_peripherals_inv_manager_get_items'] = function(block, generator) {
var manager = generator.valueToCode(block, 'MANAGER', generator.ORDER_ATOMIC);
return [`${manager}.getItems()`, luaGenerator.ORDER_NONE];
};
luaGenerator.forBlock['advanced_peripherals_inv_manager_get_owner'] = function(block, generator) {
var manager = generator.valueToCode(block, 'MANAGER', generator.ORDER_ATOMIC);
return [`${manager}.getOwner()`, luaGenerator.ORDER_NONE];
};
luaGenerator.forBlock['advanced_peripherals_inv_manager_is_player_equipped'] = function(block, generator) {
var manager = generator.valueToCode(block, 'MANAGER', generator.ORDER_ATOMIC);
return [`${manager}.isPlayerEquipped()`, luaGenerator.ORDER_NONE];
};
luaGenerator.forBlock['advanced_peripherals_inv_manager_is_wearing'] = function(block, generator) {
var slot = generator.valueToCode(block, 'SLOT', generator.ORDER_ATOMIC);
var manager = generator.valueToCode(block, 'MANAGER', generator.ORDER_ATOMIC);
return [`${manager}.isWearing(${slot})`, luaGenerator.ORDER_NONE];
};
luaGenerator.forBlock['advanced_peripherals_inv_manager_get_item_in_hand'] = function(block, generator) {
var manager = generator.valueToCode(block, 'MANAGER', generator.ORDER_ATOMIC);
return [`${manager}.getItemInHand()`, luaGenerator.ORDER_NONE];
};
luaGenerator.forBlock['advanced_peripherals_inv_manager_get_item_in_offhand'] = function(block, generator) {
var manager = generator.valueToCode(block, 'MANAGER', generator.ORDER_ATOMIC);
return [`${manager}.getItemInOffHand()`, luaGenerator.ORDER_NONE];
};
luaGenerator.forBlock['advanced_peripherals_inv_manager_get_free_slot'] = function(block, generator) {
var manager = generator.valueToCode(block, 'MANAGER', generator.ORDER_ATOMIC);
return [`${manager}.getFreeSlot()`, luaGenerator.ORDER_NONE];
};
luaGenerator.forBlock['advanced_peripherals_inv_manager_is_space_available'] = function(block, generator) {
var manager = generator.valueToCode(block, 'MANAGER', generator.ORDER_ATOMIC);
return [`${manager}.isSpaceAvailable()`, luaGenerator.ORDER_NONE];
};
luaGenerator.forBlock['advanced_peripherals_inv_manager_get_empty_space'] = function(block, generator) {
var manager = generator.valueToCode(block, 'MANAGER', generator.ORDER_ATOMIC);
return [`${manager}.getEmptySpace()`, luaGenerator.ORDER_NONE];
};
// Generator for NBT Storage
luaGenerator.forBlock['advanced_peripherals_nbt_storage_read'] = function(block, generator) {
var nbtstorage = generator.valueToCode(block, 'NBTDEV', generator.ORDER_ATOMIC);
return [`${nbtstorage}.read()`, luaGenerator.ORDER_NONE];
};
luaGenerator.forBlock['advanced_peripherals_nbt_storage_write_json'] = function(block, generator) {
var nbtjson = generator.valueToCode(block, 'NBTJSON', generator.ORDER_ATOMIC);
var nbtstorage = generator.valueToCode(block, 'NBTDEV', generator.ORDER_ATOMIC);
return `${nbtstorage}.writeJson(${nbtjson})\n`;
};
luaGenerator.forBlock['advanced_peripherals_nbt_storage_write_table'] = function(block, generator) {
var nbt = generator.valueToCode(block, 'NBT', generator.ORDER_ATOMIC);
var nbtstorage = generator.valueToCode(block, 'NBTDEV', generator.ORDER_ATOMIC);
return `${nbtstorage}.writeTable(${nbt})\n`;
};

View File

@ -1,6 +1,7 @@
<xml id="toolbox" style="display: none;">
<category name="Advanced Peripherals" colour="200">
<label text="ChatBox"></label>
<label text="Event: chat"></label>
<block type="advanced_peripherals_chatbox_send_message">
<value name="TEXT">
<shadow type="text">
@ -159,5 +160,262 @@
</block>
<label text="Player Detector"></label>
<label text="Event: playerClick, playerJoin, playerLeave, playerChangedDimension"></label>
<block type="advanced_peripherals_player_detector_get_player_pos">
<value name="PLAYER">
<shadow type="text">
<field name="TEXT">Player</field>
</shadow>
</value>
</block>
<block type="advanced_peripherals_player_detector_get_online_player"></block>
<block type="advanced_peripherals_player_detector_get_player_in_range">
<value name="RANGE">
<shadow type="math_number">
<field name="NUM">10</field>
</shadow>
</value>
</block>
<block type="advanced_peripherals_player_detector_get_players_in_coords">
<value name="FX">
<shadow type="math_number">
<field name="NUM">0</field>
</shadow>
</value>
<value name="FY">
<shadow type="math_number">
<field name="NUM">0</field>
</shadow>
</value>
<value name="FZ">
<shadow type="math_number">
<field name="NUM">0</field>
</shadow>
</value>
<value name="TX">
<shadow type="math_number">
<field name="NUM">0</field>
</shadow>
</value>
<value name="TY">
<shadow type="math_number">
<field name="NUM">0</field>
</shadow>
</value>
<value name="TZ">
<shadow type="math_number">
<field name="NUM">0</field>
</shadow>
</value>
</block>
<block type="advanced_peripherals_player_detector_get_players_in_cubic">
<value name="WIDTH">
<shadow type="math_number">
<field name="NUM">0</field>
</shadow>
</value>
<value name="HEIGHT">
<shadow type="math_number">
<field name="NUM">0</field>
</shadow>
</value>
<value name="DEPTH">
<shadow type="math_number">
<field name="NUM">0</field>
</shadow>
</value>
</block>
<block type="advanced_peripherals_player_detector_is_player_in_range">
<value name="PLAYER">
<shadow type="text">
<field name="TEXT">Player</field>
</shadow>
</value>
<value name="RANGE">
<shadow type="math_number">
<field name="NUM">10</field>
</shadow>
</value>
</block>
<block type="advanced_peripherals_player_detector_is_player_in_coords">
<value name="PLAYER">
<shadow type="text">
<field name="TEXT">Player</field>
</shadow>
</value>
<value name="FX">
<shadow type="math_number">
<field name="NUM">0</field>
</shadow>
</value>
<value name="FY">
<shadow type="math_number">
<field name="NUM">0</field>
</shadow>
</value>
<value name="FZ">
<shadow type="math_number">
<field name="NUM">0</field>
</shadow>
</value>
<value name="TX">
<shadow type="math_number">
<field name="NUM">0</field>
</shadow>
</value>
<value name="TY">
<shadow type="math_number">
<field name="NUM">0</field>
</shadow>
</value>
<value name="TZ">
<shadow type="math_number">
<field name="NUM">0</field>
</shadow>
</value>
</block>
<block type="advanced_peripherals_player_detector_is_player_in_cubic">
<value name="PLAYER">
<shadow type="text">
<field name="TEXT">Player</field>
</shadow>
</value>
<value name="WIDTH">
<shadow type="math_number">
<field name="NUM">0</field>
</shadow>
</value>
<value name="HEIGHT">
<shadow type="math_number">
<field name="NUM">0</field>
</shadow>
</value>
<value name="DEPTH">
<shadow type="math_number">
<field name="NUM">0</field>
</shadow>
</value>
</block>
<block type="advanced_peripherals_player_detector_is_players_in_range">
<value name="RANGE">
<shadow type="math_number">
<field name="NUM">10</field>
</shadow>
</value>
</block>
<block type="advanced_peripherals_player_detector_is_players_in_coords">
<value name="FX">
<shadow type="math_number">
<field name="NUM">0</field>
</shadow>
</value>
<value name="FY">
<shadow type="math_number">
<field name="NUM">0</field>
</shadow>
</value>
<value name="FZ">
<shadow type="math_number">
<field name="NUM">0</field>
</shadow>
</value>
<value name="TX">
<shadow type="math_number">
<field name="NUM">0</field>
</shadow>
</value>
<value name="TY">
<shadow type="math_number">
<field name="NUM">0</field>
</shadow>
</value>
<value name="TZ">
<shadow type="math_number">
<field name="NUM">0</field>
</shadow>
</value>
</block>
<block type="advanced_peripherals_player_detector_is_players_in_cubic">
<value name="WIDTH">
<shadow type="math_number">
<field name="NUM">0</field>
</shadow>
</value>
<value name="HEIGHT">
<shadow type="math_number">
<field name="NUM">0</field>
</shadow>
</value>
<value name="DEPTH">
<shadow type="math_number">
<field name="NUM">0</field>
</shadow>
</value>
</block>
<label text="Inventory Manager"></label>
<block type="advanced_peripherals_inv_manager_add_item_to_player">
<value name="ITEM">
<shadow type="text">
<field name="TEXT">minecraft:grass_block</field>
</shadow>
</value>
<value name="TOSLOT">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
<value name="COUNT">
<shadow type="math_number">
<field name="NUM">64</field>
</shadow>
</value>
</block>
<block type="advanced_peripherals_inv_manager_remove_item_from_player">
<value name="ITEM">
<shadow type="text">
<field name="TEXT">minecraft:grass_block</field>
</shadow>
</value>
<value name="FROMSLOT">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
<value name="COUNT">
<shadow type="math_number">
<field name="NUM">64</field>
</shadow>
</value>
<value name="TOSLOT">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
</block>
<block type="advanced_peripherals_inv_manager_get_armor"></block>
<block type="advanced_peripherals_inv_manager_get_items"></block>
<block type="advanced_peripherals_inv_manager_get_owner"></block>
<block type="advanced_peripherals_inv_manager_is_player_equipped"></block>
<block type="advanced_peripherals_inv_manager_is_wearing">
<value name="SLOT">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
</block>
<block type="advanced_peripherals_inv_manager_get_item_in_hand"></block>
<block type="advanced_peripherals_inv_manager_get_item_in_offhand"></block>
<block type="advanced_peripherals_inv_manager_get_free_slot"></block>
<block type="advanced_peripherals_inv_manager_is_space_available"></block>
<block type="advanced_peripherals_inv_manager_get_empty_space"></block>
<label text="NBT Storage"></label>
<block type="advanced_peripherals_nbt_storage_read"></block>
<block type="advanced_peripherals_nbt_storage_write_json"></block>
<block type="advanced_peripherals_nbt_storage_write_table"></block>
<label text="Block Reader"></label>
</category>
</xml>

Binary file not shown.