made blocks a module rather than a plugin
This commit is contained in:
parent
d44a43e598
commit
b92e9e4a07
9 changed files with 302 additions and 21 deletions
|
@ -764,6 +764,20 @@ Example
|
|||
|
||||
<p style="color:gold;font-weight:bold">Hello World</p>
|
||||
|
||||
Blocks Module
|
||||
=============
|
||||
You hate having to lookup [Data Values][dv] when you use ScriptCraft's Drone() functions. So do I.
|
||||
So I created this blocks object which is a helper object for use in construction.
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
box( blocks.oak ); // creates a single oak wood block
|
||||
box( blocks.sand, 3, 2, 1 ); // creates a block of sand 3 wide x 2 high x 1 long
|
||||
box( blocks.wool.green, 2 ); // creates a block of green wool 2 blocks wide
|
||||
|
||||
Color aliased properties that were a direct descendant of the blocks object are no longer used to avoid confusion with carpet and stained clay blocks. In addition, there's a convenience array `blocks.rainbow` which is an array of the 7 colors of the rainbow (or closest approximations).
|
||||
|
||||
Fireworks Module
|
||||
================
|
||||
The fireworks module makes it easy to create fireworks using
|
||||
|
@ -1516,20 +1530,6 @@ To create a 2-line high message using glowstone...
|
|||
|
||||
[imgbt1]: img/blocktype1.png
|
||||
|
||||
Blocks Module
|
||||
=============
|
||||
You hate having to lookup [Data Values][dv] when you use ScriptCraft's Drone() functions. So do I.
|
||||
So I created this blocks object which is a helper object for use in construction.
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
box( blocks.oak ); // creates a single oak wood block
|
||||
box( blocks.sand, 3, 2, 1 ); // creates a block of sand 3 wide x 2 high x 1 long
|
||||
box( blocks.wool.green, 2 ); // creates a block of green wool 2 blocks wide
|
||||
|
||||
Color aliased properties that were a direct descendant of the blocks object are no longer used to avoid confusion with carpet and stained clay blocks. In addition, there's a convenience array `blocks.rainbow` which is an array of the 7 colors of the rainbow (or closest approximations).
|
||||
|
||||
Drone.sphere() method
|
||||
=====================
|
||||
Creates a sphere.
|
||||
|
|
275
src/main/javascript/modules/blocks.js
Normal file
275
src/main/javascript/modules/blocks.js
Normal file
|
@ -0,0 +1,275 @@
|
|||
/************************************************************************
|
||||
Blocks Module
|
||||
=============
|
||||
You hate having to lookup [Data Values][dv] when you use ScriptCraft's Drone() functions. So do I.
|
||||
So I created this blocks object which is a helper object for use in construction.
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
box( blocks.oak ); // creates a single oak wood block
|
||||
box( blocks.sand, 3, 2, 1 ); // creates a block of sand 3 wide x 2 high x 1 long
|
||||
box( blocks.wool.green, 2 ); // creates a block of green wool 2 blocks wide
|
||||
|
||||
Color aliased properties that were a direct descendant of the blocks object are no longer used to avoid confusion with carpet and stained clay blocks. In addition, there's a convenience array `blocks.rainbow` which is an array of the 7 colors of the rainbow (or closest approximations).
|
||||
|
||||
***/
|
||||
var blocks = {
|
||||
air: 0,
|
||||
stone: 1,
|
||||
grass: 2,
|
||||
dirt: 3,
|
||||
cobblestone: 4,
|
||||
oak: 5,
|
||||
spruce: '5:1',
|
||||
birch: '5:2',
|
||||
jungle: '5:3',
|
||||
sapling: {
|
||||
oak: 6,
|
||||
spruce: '6:1',
|
||||
birch: '62:2',
|
||||
jungle: '6:3'
|
||||
},
|
||||
bedrock: 7,
|
||||
water: 8,
|
||||
water_still: 9,
|
||||
lava: 10,
|
||||
lava_still: 11,
|
||||
sand: 12,
|
||||
gravel: 13,
|
||||
gold_ore: 14,
|
||||
iron_ore: 15,
|
||||
coal_ore: 16,
|
||||
wood: 17,
|
||||
leaves: 18,
|
||||
sponge: 19,
|
||||
glass: 20,
|
||||
lapis_lazuli_ore: 21,
|
||||
lapis_lazuli_block: 22,
|
||||
dispenser: 23,
|
||||
sandstone: 24,
|
||||
note: 25,
|
||||
bed: 26,
|
||||
powered_rail: 27,
|
||||
detector_rail: 28,
|
||||
sticky_piston: 29,
|
||||
cobweb: 30,
|
||||
grass_tall: 31,
|
||||
dead_bush: 32,
|
||||
piston: 33,
|
||||
piston_extn: 34,
|
||||
wool: {
|
||||
white: 35 // All other colors added below
|
||||
},
|
||||
dandelion: 37,
|
||||
flower_yellow: 37,
|
||||
rose: 38,
|
||||
flower_red: 38,
|
||||
mushroom_brown: 39,
|
||||
mushroom_red: 40,
|
||||
gold: 41,
|
||||
iron: 42,
|
||||
tnt: 46,
|
||||
bookshelf: 47,
|
||||
moss_stone: 48,
|
||||
obsidian: 49,
|
||||
torch: 50,
|
||||
fire: 51,
|
||||
monster_spawner: 52,
|
||||
stairs: {
|
||||
oak: 53,
|
||||
cobblestone: 67,
|
||||
brick: 108,
|
||||
stone: 109,
|
||||
nether: 114,
|
||||
sandstone: 128,
|
||||
spruce: 134,
|
||||
birch: 135,
|
||||
jungle: 136,
|
||||
quartz: 156
|
||||
},
|
||||
chest: 54,
|
||||
redstone_wire: 55,
|
||||
diamond_ore: 56,
|
||||
diamond: 57,
|
||||
crafting_table: 58,
|
||||
wheat_seeds: 59,
|
||||
farmland: 60,
|
||||
furnace: 61,
|
||||
furnace_burning: 62,
|
||||
sign_post: 63,
|
||||
door_wood: 64,
|
||||
ladder: 65,
|
||||
rail: 66,
|
||||
sign: 68,
|
||||
lever: 69,
|
||||
pressure_plate_stone: 70,
|
||||
door_iron: 71,
|
||||
pressure_plate_wood: 72,
|
||||
redstone_ore: 73,
|
||||
redstone_ore_glowing: 74,
|
||||
torch_redstone: 75,
|
||||
torch_redstone_active: 76,
|
||||
stone_button: 77,
|
||||
ice: 79,
|
||||
snow: 80,
|
||||
cactus: 81,
|
||||
clay: 82,
|
||||
sugar_cane: 83,
|
||||
jukebox: 84,
|
||||
fence: 85,
|
||||
pumpkin: 86,
|
||||
netherrack: 87,
|
||||
soulsand: 88,
|
||||
glowstone: 89,
|
||||
netherportal: 90,
|
||||
jackolantern: 91,
|
||||
cake: 92,
|
||||
redstone_repeater: 93,
|
||||
redeston_repeater_active: 94,
|
||||
chest_locked: 95,
|
||||
trapdoor: 96,
|
||||
monster_egg: 97,
|
||||
brick: {
|
||||
stone: 98,
|
||||
mossy: '98:1',
|
||||
cracked: '98:2',
|
||||
chiseled: '98:3',
|
||||
red: 45
|
||||
},
|
||||
mushroom_brown_huge: 99,
|
||||
mushroom_red_huge: 100,
|
||||
iron_bars: 101,
|
||||
glass_pane: 102,
|
||||
melon: 103,
|
||||
pumpkin_stem: 104,
|
||||
melon_stem: 105,
|
||||
vines: 106,
|
||||
fence_gate: 107,
|
||||
mycelium: 110,
|
||||
lily_pad: 111,
|
||||
nether: 112,
|
||||
nether_fence: 113,
|
||||
netherwart: 115,
|
||||
table_enchantment: 116,
|
||||
brewing_stand: 117,
|
||||
cauldron: 118,
|
||||
endportal: 119,
|
||||
endportal_frame: 120,
|
||||
endstone: 121,
|
||||
dragon_egg: 122,
|
||||
redstone_lamp: 123,
|
||||
redstone_lamp_active: 124,
|
||||
slab: {
|
||||
snow: 78,
|
||||
stone: 44,
|
||||
sandstone: '44:1',
|
||||
wooden: '44:2',
|
||||
cobblestone: '44:3',
|
||||
brick: '44:4',
|
||||
stonebrick: '44:5',
|
||||
netherbrick:'44:6',
|
||||
quartz: '44:7',
|
||||
oak: 126,
|
||||
spruce: '126:1',
|
||||
birch: '126:2',
|
||||
jungle: '126:3',
|
||||
upper: {
|
||||
stone: '44:8',
|
||||
sandstone: '44:9',
|
||||
wooden: '44:10',
|
||||
cobblestone: '44:11',
|
||||
brick: '44:12',
|
||||
stonebrick: '44:13',
|
||||
netherbrick:'44:14',
|
||||
quartz: '44:15',
|
||||
oak: '126:8',
|
||||
spruce: '126:9',
|
||||
birch: '126:10',
|
||||
jungle: '126:11',
|
||||
}
|
||||
},
|
||||
cocoa: 127,
|
||||
emerald_ore: 129,
|
||||
enderchest: 130,
|
||||
tripwire_hook: 131,
|
||||
tripwire: 132,
|
||||
emerald: 133,
|
||||
command: 137,
|
||||
beacon: 138,
|
||||
cobblestone_wall: 139,
|
||||
flowerpot: 140,
|
||||
carrots: 141,
|
||||
potatoes: 142,
|
||||
button_wood: 143,
|
||||
mobhead: 144,
|
||||
anvil: 145,
|
||||
chest_trapped: 146,
|
||||
pressure_plate_weighted_light: 147,
|
||||
pressure_plate_weighted_heavy: 148,
|
||||
redstone_comparator: 149,
|
||||
redstone_comparator_active: 150,
|
||||
daylight_sensor: 151,
|
||||
redstone: 152,
|
||||
netherquartzore: 153,
|
||||
hopper: 154,
|
||||
quartz: 155,
|
||||
rail_activator: 157,
|
||||
dropper: 158,
|
||||
stained_clay: {
|
||||
white: 159 // All other colors added below
|
||||
},
|
||||
hay: 170,
|
||||
carpet: {
|
||||
white: 171 // All other colors added below
|
||||
},
|
||||
hardened_clay: 172,
|
||||
coal_block: 173
|
||||
};
|
||||
|
||||
// Add all available colors to colorized block collections
|
||||
|
||||
var colors = {
|
||||
orange: ':1',
|
||||
magenta: ':2',
|
||||
lightblue: ':3',
|
||||
yellow: ':4',
|
||||
lime: ':5',
|
||||
pink: ':6',
|
||||
gray: ':7',
|
||||
lightgray: ':8',
|
||||
cyan: ':9',
|
||||
purple: ':10',
|
||||
blue: ':11',
|
||||
brown: ':12',
|
||||
green: ':13',
|
||||
red: ':14',
|
||||
black: ':15'
|
||||
};
|
||||
var colorized_blocks = ["wool", "stained_clay", "carpet"];
|
||||
|
||||
for (var i = 0, len = colorized_blocks.length; i < len; i++) {
|
||||
var block = colorized_blocks[i],
|
||||
data_value = blocks[block].white;
|
||||
|
||||
for (var color in colors) {
|
||||
blocks[block][color] = data_value + colors[color];
|
||||
}
|
||||
};
|
||||
|
||||
/*
|
||||
rainbow colors - a convenience
|
||||
Color aliased properties that were a direct descendant of the blocks
|
||||
object are no longer used to avoid confusion with carpet and stained
|
||||
clay blocks.
|
||||
*/
|
||||
blocks.rainbow = [blocks.wool.red,
|
||||
blocks.wool.orange,
|
||||
blocks.wool.yellow,
|
||||
blocks.wool.lime,
|
||||
blocks.wool.lightblue,
|
||||
blocks.wool.blue,
|
||||
blocks.wool.purple];
|
||||
|
||||
|
||||
module.exports = blocks;
|
|
@ -1,5 +1,5 @@
|
|||
var Drone = require('./drone').Drone;
|
||||
var blocks = require('./blocks').blocks;
|
||||
var blocks = require('blocks');
|
||||
|
||||
/************************************************************************
|
||||
Drone.blocktype() method
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
var Drone = require('../drone').Drone;
|
||||
var blocks = require('../blocks').blocks;
|
||||
var blocks = require('blocks');
|
||||
|
||||
/**
|
||||
* Creates a tile pattern of given block types and size
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
var Drone = require('../drone').Drone;
|
||||
var blocks = require('../blocks').blocks;
|
||||
var blocks = require('blocks');
|
||||
|
||||
/************************************************************************
|
||||
Drone.rainbow() method
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
var Drone = require('../drone').Drone;
|
||||
var blocks = require('../blocks').blocks;
|
||||
var blocks = require('blocks');
|
||||
|
||||
//
|
||||
// usage:
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
var Drone = require('../drone').Drone;
|
||||
var blocks = require('../blocks').blocks;
|
||||
var blocks = require('blocks');
|
||||
|
||||
Drone.extend('skyscraper',function(floors){
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
var Drone = require('../drone').Drone;
|
||||
var blocks = require('../blocks').blocks;
|
||||
var blocks = require('blocks');
|
||||
|
||||
/************************************************************************
|
||||
Drone.spiral_stairs() method
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
var _utils = require('utils');
|
||||
var blocks = require('./blocks').blocks;
|
||||
var blocks = require('blocks');
|
||||
|
||||
/*********************************************************************
|
||||
Drone Module
|
||||
|
@ -733,6 +733,12 @@ Drone = function(x,y,z,dir,world)
|
|||
};
|
||||
|
||||
exports.Drone = Drone;
|
||||
/*
|
||||
because this is a plugin, any of its exports will be exported globally.
|
||||
Since 'blocks' is a module not a plugin it is convenient to export it via
|
||||
the Drone module.
|
||||
*/
|
||||
exports.blocks = blocks;
|
||||
|
||||
//
|
||||
// add custom methods to the Drone object using this function
|
||||
|
|
Reference in a new issue