2015-01-03 21:57:30 +01:00
|
|
|
/*global module*/
|
2015-01-01 13:47:36 +01:00
|
|
|
'use strict';
|
2014-12-28 16:07:08 +01:00
|
|
|
/*************************************************************************
|
|
|
|
### Drone.door() method
|
|
|
|
|
|
|
|
create a door - if a parameter is supplied an Iron door is created otherwise a wooden door is created.
|
|
|
|
|
|
|
|
#### Parameters
|
|
|
|
|
|
|
|
* doorType (optional - default wood) - If a parameter is provided then the door is Iron.
|
|
|
|
|
|
|
|
#### Example
|
|
|
|
|
|
|
|
To create a wooden door at the crosshairs/drone's location...
|
|
|
|
|
2014-12-30 15:54:38 +01:00
|
|
|
var drone = new Drone(self);
|
2014-12-28 16:07:08 +01:00
|
|
|
drone.door();
|
|
|
|
|
|
|
|
To create an iron door...
|
|
|
|
|
|
|
|
drone.door( blocks.door_iron );
|
|
|
|
|
|
|
|
![iron door](img/doorex1.png)
|
|
|
|
|
|
|
|
### Drone.door_iron() method
|
|
|
|
|
|
|
|
create an Iron door.
|
|
|
|
|
|
|
|
### Drone.door2() method
|
|
|
|
|
|
|
|
Create double doors (left and right side)
|
|
|
|
|
|
|
|
#### Parameters
|
|
|
|
|
|
|
|
* doorType (optional - default wood) - If a parameter is provided then the door is Iron.
|
|
|
|
|
|
|
|
#### Example
|
|
|
|
|
|
|
|
To create double-doors at the cross-hairs/drone's location...
|
|
|
|
|
|
|
|
drone.door2();
|
|
|
|
|
|
|
|
![double doors](img/door2ex1.png)
|
|
|
|
|
|
|
|
### Drone.door2_iron() method
|
|
|
|
|
|
|
|
Create double iron doors
|
|
|
|
|
|
|
|
***/
|
|
|
|
|
2015-01-03 21:57:30 +01:00
|
|
|
var blocks = require('blocks');
|
2015-01-03 13:32:57 +01:00
|
|
|
/*global require, Packages, __plugin*/
|
2014-12-28 16:07:08 +01:00
|
|
|
function door( doorMaterial, hinge) {
|
|
|
|
if ( typeof doorMaterial == 'undefined' ) {
|
2015-01-01 13:47:36 +01:00
|
|
|
doorMaterial = blocks.door_wood; // wood
|
2014-12-28 16:07:08 +01:00
|
|
|
}
|
|
|
|
if (typeof hinge == 'undefined') {
|
|
|
|
hinge = 'left';
|
|
|
|
}
|
2015-01-03 21:57:30 +01:00
|
|
|
var Drone = this.constructor;
|
2014-12-28 16:07:08 +01:00
|
|
|
this.then(function(){
|
2015-01-01 13:47:36 +01:00
|
|
|
var lower = this.setBlock(doorMaterial, this.dir, 0, 0, 0, false);
|
|
|
|
var upper = this.setBlock(doorMaterial, hinge=='left' ? 8 : 9, 0,1,0, false);
|
|
|
|
if (Drone.bountiful){
|
|
|
|
var DoorHalf = Packages.net.minecraft.block.BlockDoor.EnumDoorHalf,
|
|
|
|
HingePosition = Packages.net.minecraft.block.BlockDoor.EnumHingePosition,
|
|
|
|
prop = require('blockhelper').property;
|
|
|
|
prop(lower)
|
|
|
|
.set('facing', this.dir)
|
|
|
|
.set('half', DoorHalf.LOWER );
|
|
|
|
prop(upper)
|
|
|
|
.set('hinge', hinge == 'left' ? HingePosition.LEFT: HingePosition.RIGHT)
|
|
|
|
.set('half', DoorHalf.UPPER);
|
|
|
|
}
|
2015-01-03 13:32:57 +01:00
|
|
|
if (__plugin.canary){
|
|
|
|
lower.update();
|
|
|
|
upper.update();
|
|
|
|
}
|
2014-12-28 16:07:08 +01:00
|
|
|
});
|
|
|
|
}
|
2015-01-03 21:57:30 +01:00
|
|
|
module.exports = function(Drone){
|
|
|
|
Drone.extend( door );
|
|
|
|
|
|
|
|
Drone.extend( function door_iron( ) {
|
|
|
|
this.door(blocks.door_iron);
|
|
|
|
} );
|
|
|
|
|
|
|
|
Drone.extend( function door2( doorMaterial ) {
|
|
|
|
if ( typeof doorMaterial == 'undefined' ) {
|
|
|
|
doorMaterial = blocks.door_wood;
|
|
|
|
}
|
|
|
|
this
|
|
|
|
.door( doorMaterial, 'left')
|
|
|
|
.right()
|
|
|
|
.door( doorMaterial, 'right')
|
|
|
|
.left();
|
|
|
|
} );
|
|
|
|
Drone.extend( function door2_iron( ) {
|
|
|
|
this.door2( blocks.door_iron );
|
|
|
|
} );
|
|
|
|
};
|