Skip to content

Commit a3cbd59

Browse files
committed
update 1.2.2
Added 4 module - CCPeripheral - CCPeripheral_generic_energy_storage - CCPeripheral_generic_fluid_storage - CCPeripheral_generic_inventory
1 parent fa69cff commit a3cbd59

File tree

28 files changed

+651
-16
lines changed

28 files changed

+651
-16
lines changed

blocks/CCColors/index.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"keyword": "Colors",
88
"license": "GPL-3.0-or-later",
99
"peripherals": false,
10-
"library": true,
10+
"library": false,
1111
"require_network": false,
1212
"dependencies": {},
1313
"design_for_computer": {

blocks/CCDisk/index.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"keyword": "disk, operations, ccIDE",
88
"license": "GPL-3.0-or-later",
99
"peripherals": true,
10-
"library": true,
10+
"library": false,
1111
"require_network": false,
1212
"dependencies": {},
1313
"design_for_computer": {

blocks/CCKeys/index.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"keyword": "Keyboard",
88
"license": "GPL-3.0-or-later",
99
"peripherals": false,
10-
"library": true,
10+
"library": false,
1111
"require_network": false,
1212
"dependencies": {},
1313
"design_for_computer": {
Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
{
2+
"peripheral_get_names": {
3+
"message0": "Get all peripheral",
4+
"output": "Array",
5+
"colour": 240,
6+
"tooltip": "Provides a list of all peripherals available."
7+
},
8+
"peripheral_is_present": {
9+
"message0": "Peripheral %1 is present",
10+
"args0": [
11+
{
12+
"type": "input_value",
13+
"name": "NAME"
14+
}
15+
],
16+
"output": "Boolean",
17+
"colour": 240,
18+
"tooltip": "Determines if a peripheral is present with the given name."
19+
},
20+
"peripheral_get_type": {
21+
"message0": "Get type of peripheral %1",
22+
"args0": [
23+
{
24+
"type": "input_value",
25+
"name": "DEVICE",
26+
"check": ["Peripheral", "String"]
27+
}
28+
],
29+
"output": "String",
30+
"colour": 240,
31+
"tooltip": "Get the types of a named or wrapped peripheral."
32+
},
33+
"peripheral_has_type": {
34+
"message0": "Peripheral %1 has type %2",
35+
"args0": [
36+
{
37+
"type": "input_value",
38+
"name": "DEVICE",
39+
"check": ["Peripheral", "String"]
40+
},
41+
{
42+
"type": "input_value",
43+
"name": "TYPE",
44+
"check": "String"
45+
}
46+
],
47+
"output": "Boolean",
48+
"colour": 240,
49+
"tooltip": "Check if a peripheral is of a particular type."
50+
},
51+
"peripheral_get_methods": {
52+
"message0": "Get methods of peripheral %1",
53+
"args0": [
54+
{
55+
"type": "input_value",
56+
"name": "NAME",
57+
"check": "String"
58+
}
59+
],
60+
"output": "Array",
61+
"colour": 240,
62+
"tooltip": "Get all available methods for the peripheral with the given name."
63+
},
64+
"peripheral_get_name": {
65+
"message0": "Get name of peripheral %1",
66+
"args0": [
67+
{
68+
"type": "input_value",
69+
"name": "DEVICE",
70+
"check": "Peripheral"
71+
}
72+
],
73+
"output": "String",
74+
"colour": 240,
75+
"tooltip": "Get the name of a peripheral wrapped with peripheral.wrap."
76+
},
77+
"peripheral_call": {
78+
"message0": "Call peripheral %1 with method %2\nand args %3",
79+
"args0": [
80+
{
81+
"type": "input_value",
82+
"name": "NAME",
83+
"check": "String"
84+
},
85+
{
86+
"type": "input_value",
87+
"name": "METHOD",
88+
"check": "String"
89+
},
90+
{
91+
"type": "input_value",
92+
"name": "ARGS",
93+
"check": "Multiple"
94+
}
95+
],
96+
"previousStatement": null,
97+
"nextStatement": null,
98+
"output": null,
99+
"colour": 240,
100+
"tooltip": "Call a method on the peripheral with the given name."
101+
},
102+
"peripheral_wrap": {
103+
"message0": "Open peripheral %1",
104+
"args0": [
105+
{
106+
"type": "input_value",
107+
"name": "NAME",
108+
"check": "String"
109+
}
110+
],
111+
"output": "Peripheral",
112+
"colour": 240,
113+
"tooltip": "Get a table containing all functions available on a peripheral. These can then be called instead of using peripheral.call every time."
114+
},
115+
"peripheral_find": {
116+
"message0": "Find peripheral %1",
117+
"args0": [
118+
{
119+
"type": "input_value",
120+
"name": "NAME",
121+
"check": "String"
122+
}
123+
],
124+
"output": "Peripheral",
125+
"colour": 240,
126+
"tooltip": "Find all peripherals of a specific type, and return the wrapped peripherals."
127+
}
128+
}
129+

blocks/CCPeripheral/generator.js

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
// this file not for generator only
2+
3+
const { luaGenerator } = require('blockly/lua');
4+
5+
// Check if luaGenerator.forBlock is defined and initialize if necessary
6+
if (!luaGenerator.forBlock) {
7+
luaGenerator.forBlock = {};
8+
}
9+
10+
luaGenerator.forBlock['peripheral_get_names'] = function(block, generator) {
11+
return ["peripheral.getNames()", luaGenerator.ORDER_NONE];
12+
};
13+
14+
luaGenerator.forBlock['peripheral_is_present'] = function(block, generator) {
15+
var name = generator.valueToCode(block, 'NAME', generator.ORDER_ATOMIC);
16+
17+
return [`peripheral.isPresent(${name})`, luaGenerator.ORDER_NONE];
18+
};
19+
20+
luaGenerator.forBlock['peripheral_get_type'] = function(block, generator) {
21+
var device = generator.valueToCode(block, 'DEVICE', generator.ORDER_ATOMIC);
22+
23+
return [`peripheral.getType(${device})`, luaGenerator.ORDER_NONE];
24+
};
25+
26+
luaGenerator.forBlock['peripheral_has_type'] = function(block, generator) {
27+
var device = generator.valueToCode(block, 'DEVICE', generator.ORDER_ATOMIC);
28+
var type = generator.valueToCode(block, 'TYPE', generator.ORDER_ATOMIC);
29+
30+
return [`peripheral.hasType(${device}, ${type})`, luaGenerator.ORDER_NONE];
31+
};
32+
33+
luaGenerator.forBlock['peripheral_get_methods'] = function(block, generator) {
34+
var name = generator.valueToCode(block, 'NAME', generator.ORDER_ATOMIC);
35+
36+
return [`peripheral.getMethods(${name})`, luaGenerator.ORDER_NONE];
37+
};
38+
39+
luaGenerator.forBlock['peripheral_get_name'] = function(block, generator) {
40+
var device = generator.valueToCode(block, 'DEVICE', generator.ORDER_ATOMIC);
41+
42+
return [`peripheral.getName(${device})`, luaGenerator.ORDER_NONE];
43+
};
44+
45+
luaGenerator.forBlock['peripheral_call'] = function(block, generator) {
46+
var name = generator.valueToCode(block, 'NAME', generator.ORDER_ATOMIC);
47+
var method = generator.valueToCode(block, 'METHOD', generator.ORDER_ATOMIC);
48+
var args = generator.valueToCode(block, 'ARGS', generator.ORDER_ATOMIC);
49+
50+
return [`peripheral.call(${name}, ${method}, ${args})`, luaGenerator.ORDER_NONE];
51+
};
52+
53+
luaGenerator.forBlock['peripheral_wrap'] = function(block, generator) {
54+
var name = generator.valueToCode(block, 'NAME', generator.ORDER_ATOMIC);
55+
56+
return [`peripheral.wrap(${name})`, luaGenerator.ORDER_NONE];
57+
};
58+
59+
luaGenerator.forBlock['peripheral_find'] = function(block, generator) {
60+
var name = generator.valueToCode(block, 'NAME', generator.ORDER_ATOMIC);
61+
62+
return [`peripheral.find(${name})`, luaGenerator.ORDER_NONE];
63+
};

blocks/CCPeripheral/index.json

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"name": "CC: Peripheral",
3+
"author": "DPSoftware Foundation",
4+
"description": "Peripherals are blocks (or turtle and pocket computer upgrades) which can be controlled by a computer.",
5+
"version": "1.0.0",
6+
"category": "Peripheral",
7+
"keyword": "peripheral",
8+
"license": "GPL-3.0-or-later",
9+
"peripherals": true,
10+
"library": false,
11+
"require_network": false,
12+
"dependencies": {},
13+
"design_for_computer": {
14+
"basic": true,
15+
"adv": true,
16+
"command": true,
17+
"pocket": false,
18+
"advpocket": false,
19+
"turtle": true,
20+
"advturtle": true
21+
}
22+
}

blocks/CCPeripheral/toolbox.xml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<xml id="toolbox" style="display: none;">
2+
<category name="Peripheral" colour="240">
3+
<block type="peripheral_get_names"></block>
4+
<block type="peripheral_is_present"></block>
5+
<block type="peripheral_get_type"></block>
6+
<block type="peripheral_has_type"></block>
7+
<block type="peripheral_get_methods"></block>
8+
<block type="peripheral_get_name"></block>
9+
<block type="peripheral_call"></block>
10+
<block type="peripheral_wrap"></block>
11+
<block type="peripheral_find"></block>
12+
</category>
13+
</xml>
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
{
2+
"periph_gen_energy_get": {
3+
"message0": "Get current energy from %1",
4+
"args0": [
5+
{
6+
"type": "input_value",
7+
"name": "ENERGY",
8+
"check": "Peripheral"
9+
}
10+
],
11+
"output": "Number",
12+
"colour": 25,
13+
"tooltip": "Get the energy of this block."
14+
},
15+
"periph_gen_energy_get_capacity": {
16+
"message0": "Get max energy capacity from %1",
17+
"args0": [
18+
{
19+
"type": "input_value",
20+
"name": "ENERGY",
21+
"check": "Peripheral"
22+
}
23+
],
24+
"output": "Number",
25+
"colour": 25,
26+
"tooltip": "Get the maximum amount of energy this block can store."
27+
}
28+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// this file not for generator only
2+
3+
const { luaGenerator } = require('blockly/lua');
4+
5+
// Check if luaGenerator.forBlock is defined and initialize if necessary
6+
if (!luaGenerator.forBlock) {
7+
luaGenerator.forBlock = {};
8+
}
9+
10+
luaGenerator.forBlock['periph_gen_energy_get'] = function(block, generator) {
11+
var energy = generator.valueToCode(block, 'ENERGY', generator.ORDER_NONE);
12+
13+
return [`${energy}.getEnergy()`, luaGenerator.ORDER_NONE];
14+
};
15+
16+
luaGenerator.forBlock['periph_gen_energy_get_capacity'] = function(block, generator) {
17+
var energy = generator.valueToCode(block, 'ENERGY', generator.ORDER_NONE);
18+
19+
return [`${energy}.getEnergyCapacity()`, luaGenerator.ORDER_NONE];
20+
};
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"name": "CC: Generic Energy Storage",
3+
"author": "DPSoftware Foundation",
4+
"description": "Methods for interacting with blocks which store energy.",
5+
"version": "1.0.0",
6+
"category": "Peripheral",
7+
"keyword": "generic peripheral storage power",
8+
"license": "GPL-3.0-or-later",
9+
"peripherals": true,
10+
"library": false,
11+
"require_network": false,
12+
"dependencies": {},
13+
"design_for_computer": {
14+
"basic": true,
15+
"adv": true,
16+
"command": true,
17+
"pocket": false,
18+
"advpocket": false,
19+
"turtle": true,
20+
"advturtle": true
21+
}
22+
}

0 commit comments

Comments
 (0)