mirror of
https://github.com/damp11113-software/ccIDE.git
synced 2025-04-27 22:48:13 +00:00
update 1.2.2
Added 4 module - CCPeripheral - CCPeripheral_generic_energy_storage - CCPeripheral_generic_fluid_storage - CCPeripheral_generic_inventory
This commit is contained in:
parent
fa69cff4da
commit
a3cbd59f8a
@ -7,7 +7,7 @@
|
||||
"keyword": "Colors",
|
||||
"license": "GPL-3.0-or-later",
|
||||
"peripherals": false,
|
||||
"library": true,
|
||||
"library": false,
|
||||
"require_network": false,
|
||||
"dependencies": {},
|
||||
"design_for_computer": {
|
||||
|
@ -7,7 +7,7 @@
|
||||
"keyword": "disk, operations, ccIDE",
|
||||
"license": "GPL-3.0-or-later",
|
||||
"peripherals": true,
|
||||
"library": true,
|
||||
"library": false,
|
||||
"require_network": false,
|
||||
"dependencies": {},
|
||||
"design_for_computer": {
|
||||
|
@ -7,7 +7,7 @@
|
||||
"keyword": "Keyboard",
|
||||
"license": "GPL-3.0-or-later",
|
||||
"peripherals": false,
|
||||
"library": true,
|
||||
"library": false,
|
||||
"require_network": false,
|
||||
"dependencies": {},
|
||||
"design_for_computer": {
|
||||
|
129
blocks/CCPeripheral/block_design.json
Normal file
129
blocks/CCPeripheral/block_design.json
Normal file
@ -0,0 +1,129 @@
|
||||
{
|
||||
"peripheral_get_names": {
|
||||
"message0": "Get all peripheral",
|
||||
"output": "Array",
|
||||
"colour": 240,
|
||||
"tooltip": "Provides a list of all peripherals available."
|
||||
},
|
||||
"peripheral_is_present": {
|
||||
"message0": "Peripheral %1 is present",
|
||||
"args0": [
|
||||
{
|
||||
"type": "input_value",
|
||||
"name": "NAME"
|
||||
}
|
||||
],
|
||||
"output": "Boolean",
|
||||
"colour": 240,
|
||||
"tooltip": "Determines if a peripheral is present with the given name."
|
||||
},
|
||||
"peripheral_get_type": {
|
||||
"message0": "Get type of peripheral %1",
|
||||
"args0": [
|
||||
{
|
||||
"type": "input_value",
|
||||
"name": "DEVICE",
|
||||
"check": ["Peripheral", "String"]
|
||||
}
|
||||
],
|
||||
"output": "String",
|
||||
"colour": 240,
|
||||
"tooltip": "Get the types of a named or wrapped peripheral."
|
||||
},
|
||||
"peripheral_has_type": {
|
||||
"message0": "Peripheral %1 has type %2",
|
||||
"args0": [
|
||||
{
|
||||
"type": "input_value",
|
||||
"name": "DEVICE",
|
||||
"check": ["Peripheral", "String"]
|
||||
},
|
||||
{
|
||||
"type": "input_value",
|
||||
"name": "TYPE",
|
||||
"check": "String"
|
||||
}
|
||||
],
|
||||
"output": "Boolean",
|
||||
"colour": 240,
|
||||
"tooltip": "Check if a peripheral is of a particular type."
|
||||
},
|
||||
"peripheral_get_methods": {
|
||||
"message0": "Get methods of peripheral %1",
|
||||
"args0": [
|
||||
{
|
||||
"type": "input_value",
|
||||
"name": "NAME",
|
||||
"check": "String"
|
||||
}
|
||||
],
|
||||
"output": "Array",
|
||||
"colour": 240,
|
||||
"tooltip": "Get all available methods for the peripheral with the given name."
|
||||
},
|
||||
"peripheral_get_name": {
|
||||
"message0": "Get name of peripheral %1",
|
||||
"args0": [
|
||||
{
|
||||
"type": "input_value",
|
||||
"name": "DEVICE",
|
||||
"check": "Peripheral"
|
||||
}
|
||||
],
|
||||
"output": "String",
|
||||
"colour": 240,
|
||||
"tooltip": "Get the name of a peripheral wrapped with peripheral.wrap."
|
||||
},
|
||||
"peripheral_call": {
|
||||
"message0": "Call peripheral %1 with method %2\nand args %3",
|
||||
"args0": [
|
||||
{
|
||||
"type": "input_value",
|
||||
"name": "NAME",
|
||||
"check": "String"
|
||||
},
|
||||
{
|
||||
"type": "input_value",
|
||||
"name": "METHOD",
|
||||
"check": "String"
|
||||
},
|
||||
{
|
||||
"type": "input_value",
|
||||
"name": "ARGS",
|
||||
"check": "Multiple"
|
||||
}
|
||||
],
|
||||
"previousStatement": null,
|
||||
"nextStatement": null,
|
||||
"output": null,
|
||||
"colour": 240,
|
||||
"tooltip": "Call a method on the peripheral with the given name."
|
||||
},
|
||||
"peripheral_wrap": {
|
||||
"message0": "Open peripheral %1",
|
||||
"args0": [
|
||||
{
|
||||
"type": "input_value",
|
||||
"name": "NAME",
|
||||
"check": "String"
|
||||
}
|
||||
],
|
||||
"output": "Peripheral",
|
||||
"colour": 240,
|
||||
"tooltip": "Get a table containing all functions available on a peripheral. These can then be called instead of using peripheral.call every time."
|
||||
},
|
||||
"peripheral_find": {
|
||||
"message0": "Find peripheral %1",
|
||||
"args0": [
|
||||
{
|
||||
"type": "input_value",
|
||||
"name": "NAME",
|
||||
"check": "String"
|
||||
}
|
||||
],
|
||||
"output": "Peripheral",
|
||||
"colour": 240,
|
||||
"tooltip": "Find all peripherals of a specific type, and return the wrapped peripherals."
|
||||
}
|
||||
}
|
||||
|
63
blocks/CCPeripheral/generator.js
Normal file
63
blocks/CCPeripheral/generator.js
Normal file
@ -0,0 +1,63 @@
|
||||
// this file not for generator only
|
||||
|
||||
const { luaGenerator } = require('blockly/lua');
|
||||
|
||||
// Check if luaGenerator.forBlock is defined and initialize if necessary
|
||||
if (!luaGenerator.forBlock) {
|
||||
luaGenerator.forBlock = {};
|
||||
}
|
||||
|
||||
luaGenerator.forBlock['peripheral_get_names'] = function(block, generator) {
|
||||
return ["peripheral.getNames()", luaGenerator.ORDER_NONE];
|
||||
};
|
||||
|
||||
luaGenerator.forBlock['peripheral_is_present'] = function(block, generator) {
|
||||
var name = generator.valueToCode(block, 'NAME', generator.ORDER_ATOMIC);
|
||||
|
||||
return [`peripheral.isPresent(${name})`, luaGenerator.ORDER_NONE];
|
||||
};
|
||||
|
||||
luaGenerator.forBlock['peripheral_get_type'] = function(block, generator) {
|
||||
var device = generator.valueToCode(block, 'DEVICE', generator.ORDER_ATOMIC);
|
||||
|
||||
return [`peripheral.getType(${device})`, luaGenerator.ORDER_NONE];
|
||||
};
|
||||
|
||||
luaGenerator.forBlock['peripheral_has_type'] = function(block, generator) {
|
||||
var device = generator.valueToCode(block, 'DEVICE', generator.ORDER_ATOMIC);
|
||||
var type = generator.valueToCode(block, 'TYPE', generator.ORDER_ATOMIC);
|
||||
|
||||
return [`peripheral.hasType(${device}, ${type})`, luaGenerator.ORDER_NONE];
|
||||
};
|
||||
|
||||
luaGenerator.forBlock['peripheral_get_methods'] = function(block, generator) {
|
||||
var name = generator.valueToCode(block, 'NAME', generator.ORDER_ATOMIC);
|
||||
|
||||
return [`peripheral.getMethods(${name})`, luaGenerator.ORDER_NONE];
|
||||
};
|
||||
|
||||
luaGenerator.forBlock['peripheral_get_name'] = function(block, generator) {
|
||||
var device = generator.valueToCode(block, 'DEVICE', generator.ORDER_ATOMIC);
|
||||
|
||||
return [`peripheral.getName(${device})`, luaGenerator.ORDER_NONE];
|
||||
};
|
||||
|
||||
luaGenerator.forBlock['peripheral_call'] = function(block, generator) {
|
||||
var name = generator.valueToCode(block, 'NAME', generator.ORDER_ATOMIC);
|
||||
var method = generator.valueToCode(block, 'METHOD', generator.ORDER_ATOMIC);
|
||||
var args = generator.valueToCode(block, 'ARGS', generator.ORDER_ATOMIC);
|
||||
|
||||
return [`peripheral.call(${name}, ${method}, ${args})`, luaGenerator.ORDER_NONE];
|
||||
};
|
||||
|
||||
luaGenerator.forBlock['peripheral_wrap'] = function(block, generator) {
|
||||
var name = generator.valueToCode(block, 'NAME', generator.ORDER_ATOMIC);
|
||||
|
||||
return [`peripheral.wrap(${name})`, luaGenerator.ORDER_NONE];
|
||||
};
|
||||
|
||||
luaGenerator.forBlock['peripheral_find'] = function(block, generator) {
|
||||
var name = generator.valueToCode(block, 'NAME', generator.ORDER_ATOMIC);
|
||||
|
||||
return [`peripheral.find(${name})`, luaGenerator.ORDER_NONE];
|
||||
};
|
22
blocks/CCPeripheral/index.json
Normal file
22
blocks/CCPeripheral/index.json
Normal file
@ -0,0 +1,22 @@
|
||||
{
|
||||
"name": "CC: Peripheral",
|
||||
"author": "DPSoftware Foundation",
|
||||
"description": "Peripherals are blocks (or turtle and pocket computer upgrades) which can be controlled by a computer.",
|
||||
"version": "1.0.0",
|
||||
"category": "Peripheral",
|
||||
"keyword": "peripheral",
|
||||
"license": "GPL-3.0-or-later",
|
||||
"peripherals": true,
|
||||
"library": false,
|
||||
"require_network": false,
|
||||
"dependencies": {},
|
||||
"design_for_computer": {
|
||||
"basic": true,
|
||||
"adv": true,
|
||||
"command": true,
|
||||
"pocket": false,
|
||||
"advpocket": false,
|
||||
"turtle": true,
|
||||
"advturtle": true
|
||||
}
|
||||
}
|
13
blocks/CCPeripheral/toolbox.xml
Normal file
13
blocks/CCPeripheral/toolbox.xml
Normal file
@ -0,0 +1,13 @@
|
||||
<xml id="toolbox" style="display: none;">
|
||||
<category name="Peripheral" colour="240">
|
||||
<block type="peripheral_get_names"></block>
|
||||
<block type="peripheral_is_present"></block>
|
||||
<block type="peripheral_get_type"></block>
|
||||
<block type="peripheral_has_type"></block>
|
||||
<block type="peripheral_get_methods"></block>
|
||||
<block type="peripheral_get_name"></block>
|
||||
<block type="peripheral_call"></block>
|
||||
<block type="peripheral_wrap"></block>
|
||||
<block type="peripheral_find"></block>
|
||||
</category>
|
||||
</xml>
|
28
blocks/CCPeripheral_generic_energy_storage/block_design.json
Normal file
28
blocks/CCPeripheral_generic_energy_storage/block_design.json
Normal file
@ -0,0 +1,28 @@
|
||||
{
|
||||
"periph_gen_energy_get": {
|
||||
"message0": "Get current energy from %1",
|
||||
"args0": [
|
||||
{
|
||||
"type": "input_value",
|
||||
"name": "ENERGY",
|
||||
"check": "Peripheral"
|
||||
}
|
||||
],
|
||||
"output": "Number",
|
||||
"colour": 25,
|
||||
"tooltip": "Get the energy of this block."
|
||||
},
|
||||
"periph_gen_energy_get_capacity": {
|
||||
"message0": "Get max energy capacity from %1",
|
||||
"args0": [
|
||||
{
|
||||
"type": "input_value",
|
||||
"name": "ENERGY",
|
||||
"check": "Peripheral"
|
||||
}
|
||||
],
|
||||
"output": "Number",
|
||||
"colour": 25,
|
||||
"tooltip": "Get the maximum amount of energy this block can store."
|
||||
}
|
||||
}
|
20
blocks/CCPeripheral_generic_energy_storage/generator.js
Normal file
20
blocks/CCPeripheral_generic_energy_storage/generator.js
Normal file
@ -0,0 +1,20 @@
|
||||
// this file not for generator only
|
||||
|
||||
const { luaGenerator } = require('blockly/lua');
|
||||
|
||||
// Check if luaGenerator.forBlock is defined and initialize if necessary
|
||||
if (!luaGenerator.forBlock) {
|
||||
luaGenerator.forBlock = {};
|
||||
}
|
||||
|
||||
luaGenerator.forBlock['periph_gen_energy_get'] = function(block, generator) {
|
||||
var energy = generator.valueToCode(block, 'ENERGY', generator.ORDER_NONE);
|
||||
|
||||
return [`${energy}.getEnergy()`, luaGenerator.ORDER_NONE];
|
||||
};
|
||||
|
||||
luaGenerator.forBlock['periph_gen_energy_get_capacity'] = function(block, generator) {
|
||||
var energy = generator.valueToCode(block, 'ENERGY', generator.ORDER_NONE);
|
||||
|
||||
return [`${energy}.getEnergyCapacity()`, luaGenerator.ORDER_NONE];
|
||||
};
|
22
blocks/CCPeripheral_generic_energy_storage/index.json
Normal file
22
blocks/CCPeripheral_generic_energy_storage/index.json
Normal file
@ -0,0 +1,22 @@
|
||||
{
|
||||
"name": "CC: Generic Energy Storage",
|
||||
"author": "DPSoftware Foundation",
|
||||
"description": "Methods for interacting with blocks which store energy.",
|
||||
"version": "1.0.0",
|
||||
"category": "Peripheral",
|
||||
"keyword": "generic peripheral storage power",
|
||||
"license": "GPL-3.0-or-later",
|
||||
"peripherals": true,
|
||||
"library": false,
|
||||
"require_network": false,
|
||||
"dependencies": {},
|
||||
"design_for_computer": {
|
||||
"basic": true,
|
||||
"adv": true,
|
||||
"command": true,
|
||||
"pocket": false,
|
||||
"advpocket": false,
|
||||
"turtle": true,
|
||||
"advturtle": true
|
||||
}
|
||||
}
|
6
blocks/CCPeripheral_generic_energy_storage/toolbox.xml
Normal file
6
blocks/CCPeripheral_generic_energy_storage/toolbox.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<xml id="toolbox" style="display: none;">
|
||||
<category name="FluidTanks" colour="25">
|
||||
<block type="periph_gen_energy_get"></block>
|
||||
<block type="periph_gen_energy_get_capacity"></block>
|
||||
</category>
|
||||
</xml>
|
52
blocks/CCPeripheral_generic_fluid_storage/block_design.json
Normal file
52
blocks/CCPeripheral_generic_fluid_storage/block_design.json
Normal file
@ -0,0 +1,52 @@
|
||||
{
|
||||
"periph_gen_fluid_tanks": {
|
||||
"message0": "Get fluid in tanks %1",
|
||||
"args0": [
|
||||
{
|
||||
"type": "input_value",
|
||||
"name": "TANKS",
|
||||
"check": "Peripheral"
|
||||
}
|
||||
],
|
||||
"output": "Array",
|
||||
"colour": 240,
|
||||
"tooltip": "Get all \"tanks\" in this fluid storage."
|
||||
},
|
||||
"periph_gen_fluid_transfer": {
|
||||
"message0": "Fluid name %1 in tanks %2 %3 tanks %4\nWith limit %5 mb",
|
||||
"args0": [
|
||||
{
|
||||
"type": "input_value",
|
||||
"name": "FLUIDNAME",
|
||||
"check": "String"
|
||||
},
|
||||
{
|
||||
"type": "input_value",
|
||||
"name": "TANKS1",
|
||||
"check": "Peripheral"
|
||||
},
|
||||
{
|
||||
"type": "field_dropdown",
|
||||
"name": "MODE",
|
||||
"options": [
|
||||
["Push to", "PUSH"],
|
||||
["Pull from", "PULL"]
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "input_value",
|
||||
"name": "TANKS2",
|
||||
"check": "Peripheral"
|
||||
},
|
||||
{
|
||||
"type": "input_value",
|
||||
"name": "LIMIT",
|
||||
"check": "Number"
|
||||
}
|
||||
],
|
||||
"previousStatement": null,
|
||||
"nextStatement": null,
|
||||
"colour": 240,
|
||||
"tooltip": "Transfer a fluid from one fluid container to another connected one."
|
||||
}
|
||||
}
|
28
blocks/CCPeripheral_generic_fluid_storage/generator.js
Normal file
28
blocks/CCPeripheral_generic_fluid_storage/generator.js
Normal file
@ -0,0 +1,28 @@
|
||||
// this file not for generator only
|
||||
|
||||
const { luaGenerator } = require('blockly/lua');
|
||||
|
||||
// Check if luaGenerator.forBlock is defined and initialize if necessary
|
||||
if (!luaGenerator.forBlock) {
|
||||
luaGenerator.forBlock = {};
|
||||
}
|
||||
|
||||
luaGenerator.forBlock['periph_gen_fluid_tanks'] = function(block, generator) {
|
||||
var tanks = generator.valueToCode(block, 'TANKS', generator.ORDER_NONE);
|
||||
|
||||
return [`${tanks}.tanks()`, luaGenerator.ORDER_NONE];
|
||||
};
|
||||
|
||||
luaGenerator.forBlock['periph_gen_fluid_transfer'] = function(block, generator) {
|
||||
var fluidname = generator.valueToCode(block, 'FLUIDNAME', generator.ORDER_ATOMIC);
|
||||
var tanks1 = generator.valueToCode(block, 'TANKS1', generator.ORDER_ATOMIC);
|
||||
var mode = block.getFieldValue('MODE');
|
||||
var tanks2 = generator.valueToCode(block, 'TANKS2', generator.ORDER_ATOMIC);
|
||||
var limit = generator.valueToCode(block, 'LIMIT', generator.ORDER_ATOMIC);
|
||||
|
||||
if (mode == "PUSH") {
|
||||
return `${tanks1}.pushFluid(peripheral.getName(${tanks2}), ${limit}, ${fluidname})\n`
|
||||
} else {
|
||||
return `${tanks1}.pullFluid(peripheral.getName(${tanks2}), ${limit}, ${fluidname})\n`
|
||||
}
|
||||
};
|
22
blocks/CCPeripheral_generic_fluid_storage/index.json
Normal file
22
blocks/CCPeripheral_generic_fluid_storage/index.json
Normal file
@ -0,0 +1,22 @@
|
||||
{
|
||||
"name": "CC: Generic Fluid Storage",
|
||||
"author": "DPSoftware Foundation",
|
||||
"description": "Methods for interacting with tanks and other fluid storage blocks.",
|
||||
"version": "1.0.0",
|
||||
"category": "Peripheral",
|
||||
"keyword": "generic peripheral storage",
|
||||
"license": "GPL-3.0-or-later",
|
||||
"peripherals": true,
|
||||
"library": false,
|
||||
"require_network": false,
|
||||
"dependencies": {},
|
||||
"design_for_computer": {
|
||||
"basic": true,
|
||||
"adv": true,
|
||||
"command": true,
|
||||
"pocket": false,
|
||||
"advpocket": false,
|
||||
"turtle": true,
|
||||
"advturtle": true
|
||||
}
|
||||
}
|
12
blocks/CCPeripheral_generic_fluid_storage/toolbox.xml
Normal file
12
blocks/CCPeripheral_generic_fluid_storage/toolbox.xml
Normal file
@ -0,0 +1,12 @@
|
||||
<xml id="toolbox" style="display: none;">
|
||||
<category name="FluidTanks" colour="240">
|
||||
<block type="periph_gen_fluid_tanks"></block>
|
||||
<block type="periph_gen_fluid_transfer">
|
||||
<value name="LIMIT">
|
||||
<shadow type="math_number">
|
||||
<field name="NUM">1000</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
</category>
|
||||
</xml>
|
107
blocks/CCPeripheral_generic_inventory/block_design.json
Normal file
107
blocks/CCPeripheral_generic_inventory/block_design.json
Normal file
@ -0,0 +1,107 @@
|
||||
{
|
||||
"periph_gen_inv_size": {
|
||||
"message0": "Size of Inventory %1",
|
||||
"args0": [
|
||||
{
|
||||
"type": "input_value",
|
||||
"name": "INV",
|
||||
"check": "Peripheral"
|
||||
}
|
||||
],
|
||||
"output": "Number",
|
||||
"colour": 130,
|
||||
"tooltip": "Get the size of this inventory."
|
||||
},
|
||||
"periph_gen_inv_list": {
|
||||
"message0": "List all item in Inventory %1",
|
||||
"args0": [
|
||||
{
|
||||
"type": "input_value",
|
||||
"name": "INV",
|
||||
"check": "Peripheral"
|
||||
}
|
||||
],
|
||||
"output": "Array",
|
||||
"colour": 130,
|
||||
"tooltip": "List all items in this inventory. This returns a table, with an entry for each slot."
|
||||
},
|
||||
"periph_gen_inv_get_item_detail": {
|
||||
"message0": "Get item detail from inventory %1 in slot %2",
|
||||
"args0": [
|
||||
{
|
||||
"type": "input_value",
|
||||
"name": "INV",
|
||||
"check": "Peripheral"
|
||||
},
|
||||
{
|
||||
"type": "input_value",
|
||||
"name": "SLOT",
|
||||
"check": "Number"
|
||||
}
|
||||
],
|
||||
"output": "Array",
|
||||
"colour": 130,
|
||||
"tooltip": "Get detailed information about an item.",
|
||||
"helpUrl": "https://tweaked.cc/generic_peripheral/inventory.html#v:getItemDetail"
|
||||
},
|
||||
"periph_gen_inv_get_item_limit": {
|
||||
"message0": "Get item limit from inventory %1 in slot %2",
|
||||
"args0": [
|
||||
{
|
||||
"type": "input_value",
|
||||
"name": "INV",
|
||||
"check": "Peripheral"
|
||||
},
|
||||
{
|
||||
"type": "input_value",
|
||||
"name": "SLOT",
|
||||
"check": "Number"
|
||||
}
|
||||
],
|
||||
"output": "Number",
|
||||
"colour": 130,
|
||||
"tooltip": "Get the maximum number of items which can be stored in this slot."
|
||||
},
|
||||
"periph_gen_inv_transfer_items": {
|
||||
"message0": "Inventory %1 in slot %2 %3 inventory %4 in slot %5\nWith limit %6 items",
|
||||
"args0": [
|
||||
{
|
||||
"type": "input_value",
|
||||
"name": "INV1",
|
||||
"check": "Peripheral"
|
||||
},
|
||||
{
|
||||
"type": "input_value",
|
||||
"name": "INV1SLOT",
|
||||
"check": "Number"
|
||||
},
|
||||
{
|
||||
"type": "field_dropdown",
|
||||
"name": "MODE",
|
||||
"options": [
|
||||
["Push to", "PUSH"],
|
||||
["Pull from", "PULL"]
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "input_value",
|
||||
"name": "INV2",
|
||||
"check": "Peripheral"
|
||||
},
|
||||
{
|
||||
"type": "input_value",
|
||||
"name": "INV2SLOT",
|
||||
"check": "Number"
|
||||
},
|
||||
{
|
||||
"type": "input_value",
|
||||
"name": "LIMIT",
|
||||
"check": "Number"
|
||||
}
|
||||
],
|
||||
"previousStatement": null,
|
||||
"nextStatement": null,
|
||||
"colour": 130,
|
||||
"tooltip": "Transfer items from one inventory to another connected one."
|
||||
}
|
||||
}
|
49
blocks/CCPeripheral_generic_inventory/generator.js
Normal file
49
blocks/CCPeripheral_generic_inventory/generator.js
Normal file
@ -0,0 +1,49 @@
|
||||
// this file not for generator only
|
||||
|
||||
const { luaGenerator } = require('blockly/lua');
|
||||
|
||||
// Check if luaGenerator.forBlock is defined and initialize if necessary
|
||||
if (!luaGenerator.forBlock) {
|
||||
luaGenerator.forBlock = {};
|
||||
}
|
||||
|
||||
luaGenerator.forBlock['periph_gen_inv_size'] = function(block, generator) {
|
||||
var inv = generator.valueToCode(block, 'INV', generator.ORDER_NONE);
|
||||
|
||||
return [`${inv}.size()`, luaGenerator.ORDER_NONE];
|
||||
};
|
||||
|
||||
luaGenerator.forBlock['periph_gen_inv_list'] = function(block, generator) {
|
||||
var inv = generator.valueToCode(block, 'INV', generator.ORDER_NONE);
|
||||
|
||||
return [`${inv}.list()`, luaGenerator.ORDER_NONE];
|
||||
};
|
||||
|
||||
luaGenerator.forBlock['periph_gen_inv_get_item_detail'] = function(block, generator) {
|
||||
var inv = generator.valueToCode(block, 'INV', generator.ORDER_NONE);
|
||||
var slot = generator.valueToCode(block, 'SLOT', generator.ORDER_NONE);
|
||||
|
||||
return [`${inv}.getItemDetail(${slot})`, luaGenerator.ORDER_NONE];
|
||||
};
|
||||
|
||||
luaGenerator.forBlock['periph_gen_inv_get_item_limit'] = function(block, generator) {
|
||||
var inv = generator.valueToCode(block, 'INV', generator.ORDER_NONE);
|
||||
var slot = generator.valueToCode(block, 'SLOT', generator.ORDER_NONE);
|
||||
|
||||
return [`${inv}.getItemLimit(${slot})`, luaGenerator.ORDER_NONE];
|
||||
};
|
||||
|
||||
luaGenerator.forBlock['periph_gen_inv_transfer_items'] = function(block, generator) {
|
||||
var inv1 = generator.valueToCode(block, 'INV1', generator.ORDER_ATOMIC);
|
||||
var inv1slot = generator.valueToCode(block, 'INV1SLOT', generator.ORDER_ATOMIC);
|
||||
var mode = block.getFieldValue('MODE');
|
||||
var inv2 = generator.valueToCode(block, 'INV2', generator.ORDER_ATOMIC);
|
||||
var inv2slot = generator.valueToCode(block, 'INV2SLOT', generator.ORDER_ATOMIC);
|
||||
var limit = generator.valueToCode(block, 'LIMIT', generator.ORDER_ATOMIC);
|
||||
|
||||
if (mode == "PUSH") {
|
||||
return `${inv1}.pushItems(peripheral.getName(${inv2}), ${inv1slot}, ${limit}, ${inv2slot})\n`
|
||||
} else {
|
||||
return `${inv1}.pullItems(peripheral.getName(${inv2}), ${inv2slot}, ${limit}, ${inv1slot})\n`
|
||||
}
|
||||
};
|
22
blocks/CCPeripheral_generic_inventory/index.json
Normal file
22
blocks/CCPeripheral_generic_inventory/index.json
Normal file
@ -0,0 +1,22 @@
|
||||
{
|
||||
"name": "CC: Generic Inventory",
|
||||
"author": "DPSoftware Foundation",
|
||||
"description": "Methods for interacting with inventories.",
|
||||
"version": "1.0.0",
|
||||
"category": "Peripheral",
|
||||
"keyword": "generic peripheral",
|
||||
"license": "GPL-3.0-or-later",
|
||||
"peripherals": true,
|
||||
"library": false,
|
||||
"require_network": false,
|
||||
"dependencies": {},
|
||||
"design_for_computer": {
|
||||
"basic": true,
|
||||
"adv": true,
|
||||
"command": true,
|
||||
"pocket": false,
|
||||
"advpocket": false,
|
||||
"turtle": true,
|
||||
"advturtle": true
|
||||
}
|
||||
}
|
37
blocks/CCPeripheral_generic_inventory/toolbox.xml
Normal file
37
blocks/CCPeripheral_generic_inventory/toolbox.xml
Normal file
@ -0,0 +1,37 @@
|
||||
<xml id="toolbox" style="display: none;">
|
||||
<category name="Inventory" colour="130">
|
||||
<block type="periph_gen_inv_size"></block>
|
||||
<block type="periph_gen_inv_list"></block>
|
||||
<block type="periph_gen_inv_get_item_detail">
|
||||
<value name="NUM1">
|
||||
<shadow type="math_number">
|
||||
<field name="NUM">1</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="periph_gen_inv_get_item_limit">
|
||||
<value name="SLOT">
|
||||
<shadow type="math_number">
|
||||
<field name="NUM">1</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="periph_gen_inv_transfer_items">
|
||||
<value name="INV1SLOT">
|
||||
<shadow type="math_number">
|
||||
<field name="NUM">1</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="INV2SLOT">
|
||||
<shadow type="math_number">
|
||||
<field name="NUM">1</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="LIMIT">
|
||||
<shadow type="math_number">
|
||||
<field name="NUM">64</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
</category>
|
||||
</xml>
|
@ -7,7 +7,7 @@
|
||||
"keyword": "Rednet",
|
||||
"license": "GPL-3.0-or-later",
|
||||
"peripherals": true,
|
||||
"library": true,
|
||||
"library": false,
|
||||
"require_network": false,
|
||||
"dependencies": {},
|
||||
"design_for_computer": {
|
||||
|
@ -7,7 +7,7 @@
|
||||
"keyword": "Redstone",
|
||||
"license": "GPL-3.0-or-later",
|
||||
"peripherals": false,
|
||||
"library": true,
|
||||
"library": false,
|
||||
"require_network": false,
|
||||
"dependencies": {},
|
||||
"design_for_computer": {
|
||||
|
@ -7,7 +7,7 @@
|
||||
"keyword": "Env",
|
||||
"license": "GPL-3.0-or-later",
|
||||
"peripherals": false,
|
||||
"library": true,
|
||||
"library": false,
|
||||
"require_network": false,
|
||||
"dependencies": {},
|
||||
"design_for_computer": {
|
||||
|
@ -7,7 +7,7 @@
|
||||
"keyword": "System, OS",
|
||||
"license": "GPL-3.0-or-later",
|
||||
"peripherals": false,
|
||||
"library": true,
|
||||
"library": false,
|
||||
"require_network": false,
|
||||
"dependencies": {},
|
||||
"design_for_computer": {
|
||||
|
@ -7,7 +7,7 @@
|
||||
"keyword": "utils",
|
||||
"license": "GPL-3.0-or-later",
|
||||
"peripherals": false,
|
||||
"library": true,
|
||||
"library": false,
|
||||
"require_network": false,
|
||||
"dependencies": {},
|
||||
"design_for_computer": {
|
||||
|
@ -7,7 +7,7 @@
|
||||
"keyword": "turtle",
|
||||
"license": "GPL-3.0-or-later",
|
||||
"peripherals": false,
|
||||
"library": true,
|
||||
"library": false,
|
||||
"require_network": false,
|
||||
"dependencies": {},
|
||||
"design_for_computer": {
|
||||
|
@ -7,7 +7,7 @@
|
||||
"keyword": "Native, Lua, IO",
|
||||
"license": "GPL-3.0-or-later",
|
||||
"peripherals": false,
|
||||
"library": true,
|
||||
"library": false,
|
||||
"require_network": false,
|
||||
"dependencies": {},
|
||||
"design_for_computer": {
|
||||
|
Binary file not shown.
15
readme.md
15
readme.md
@ -47,9 +47,13 @@ If error "Domain not permitted" try [this solution](https://github.com/cc-tweake
|
||||
| [Keys](https://tweaked.cc/module/keys.html) | 🟩 Supported all
|
||||
| [OS](https://tweaked.cc/module/os.html) (System) | 🟩 Supported all
|
||||
| [RedNet](https://tweaked.cc/module/rednet.html) | 🟩 Supported all
|
||||
| [Redstone](https://tweaked.cc/module/redstone.html) | 🟩 Supported all
|
||||
| [Settings](https://tweaked.cc/module/settings.html) | 🟩 Supported all
|
||||
| [TextUtils](https://tweaked.cc/module/textutils.html) | 🟩 Supported all
|
||||
| [Peripheral](https://tweaked.cc/module/peripheral.html) | 🟩 Supported all
|
||||
| [Energy Storage Peripheral](https://tweaked.cc/generic_peripheral/energy_storage.html) | 🟩 Supported all
|
||||
| [Fluid Storage Peripheral](https://tweaked.cc/generic_peripheral/fluid_storage.html) | 🟩 Supported all
|
||||
| [Inventory](https://tweaked.cc/generic_peripheral/inventory.html) | 🟩 Supported all
|
||||
| [Redstone](https://tweaked.cc/module/redstone.html) | 🟨 Partially Supported
|
||||
| [Colors](https://tweaked.cc/module/colors.html) | 🟨 Partially Supported
|
||||
| [Commands](https://tweaked.cc/module/commands.html) | 🟥 Unsupport
|
||||
| [FS](https://tweaked.cc/module/fs.html) | 🟥 Unsupport
|
||||
@ -59,7 +63,6 @@ If error "Domain not permitted" try [this solution](https://github.com/cc-tweake
|
||||
| [Multishell](https://tweaked.cc/module/multishell.html) | 🟥 Unsupport
|
||||
| [PaintUtils](https://tweaked.cc/module/paintutils.html) | 🟥 Unsupport
|
||||
| [Parallel](https://tweaked.cc/module/parallel.html) | 🟥 Unsupport
|
||||
| [Peripheral](https://tweaked.cc/module/peripheral.html) | 🟥 Unsupport
|
||||
| [Pocket](https://tweaked.cc/module/pocket.html) | 🟥 Unsupport
|
||||
| [Shell](https://tweaked.cc/module/shell.html) | 🟥 Unsupport
|
||||
| [Term](https://tweaked.cc/module/term.html) | 🟥 Unsupport
|
||||
@ -81,17 +84,17 @@ If error "Domain not permitted" try [this solution](https://github.com/cc-tweake
|
||||
| [Monitor Peripheral](https://tweaked.cc/peripheral/monitor.html) | 🟥 Unsupport
|
||||
| [Printer Peripheral](https://tweaked.cc/peripheral/printer.html) | 🟥 Unsupport
|
||||
| [Speaker Peripheral](https://tweaked.cc/peripheral/speaker.html) | 🟥 Unsupport
|
||||
| [Energy Storage Peripheral](https://tweaked.cc/generic_peripheral/energy_storage.html) | 🟥 Unsupport
|
||||
| [Fluid Storage Peripheral](https://tweaked.cc/generic_peripheral/fluid_storage.html) | 🟥 Unsupport
|
||||
| [Inventory](https://tweaked.cc/generic_peripheral/inventory.html) | 🟥 Unsupport
|
||||
|
||||
Event: https://tweaked.cc/event/alarm.html
|
||||
|
||||
### Peripheral mods
|
||||
| Mod | Status
|
||||
|------------|--------
|
||||
|[Advanced Peripherals](https://www.curseforge.com/minecraft/mc-mods/advanced-peripherals) | 🟨 First support
|
||||
|[Create Additions](https://www.curseforge.com/minecraft/mc-mods/createaddition) | 🟨 First support
|
||||
|[Advanced Peripherals](https://www.curseforge.com/minecraft/mc-mods/advanced-peripherals) | 🟨 Second support
|
||||
|[Create](https://www.curseforge.com/minecraft/mc-mods/create) | 🟨 Third support
|
||||
|[CC:C Bridge](https://www.curseforge.com/minecraft/mc-mods/cccbridge) | 🟥 Unsupport
|
||||
|[Extreme Reactors](https://www.curseforge.com/minecraft/mc-mods/extreme-reactors) ([Command](https://ftbwiki.org/Reactor_Computer_Port)) | 🟥 Unsupport
|
||||
|[CC:Destroy Bridge](https://www.curseforge.com/minecraft/mc-mods/ccdbridge) | 🟥 Unsupport
|
||||
|[More Red x CC:Tweaked Compat](https://www.curseforge.com/minecraft/mc-mods/more-red-x-cc-tweaked-compat) | 🟥 Unsupport
|
||||
|[More Peripherals](https://www.curseforge.com/minecraft/mc-mods/more-peripherals) | 🟥 Unsupport
|
||||
|
Loading…
x
Reference in New Issue
Block a user