added DroneInterface peripheral stub #12
This commit is contained in:
parent
a9f6adcd9d
commit
d13831f213
491
src/kernel/peripherals/DroneInterface.hx
Normal file
491
src/kernel/peripherals/DroneInterface.hx
Normal file
@ -0,0 +1,491 @@
|
|||||||
|
package kernel.peripherals;
|
||||||
|
|
||||||
|
import lib.Item;
|
||||||
|
import haxe.exceptions.NotImplementedException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
See https://github.com/MineMaarten/PneumaticCraft/blob/master/resources/assets/pneumaticcraft/wiki/en_US/block/droneInterface.txt
|
||||||
|
**/
|
||||||
|
class DroneInterface implements IPeripheral {
|
||||||
|
public static inline final TYPE_NAME:String = "drone_interface";
|
||||||
|
|
||||||
|
private final addr:String;
|
||||||
|
|
||||||
|
@:allow(kernel.peripherals)
|
||||||
|
private function new(addr:String) {
|
||||||
|
this.addr = addr;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getAddr():String {
|
||||||
|
return this.addr;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getType():String {
|
||||||
|
return DroneInterface.TYPE_NAME;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Returns true if a Drone has connected with this Drone Interface
|
||||||
|
(when the Drone's program has arrived at the ComputerCraft piece and made a connection).
|
||||||
|
**/
|
||||||
|
public function isConnectedToDrone():Bool {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Returns the pressure of the connected Drone.
|
||||||
|
**/
|
||||||
|
public function getDronePressure() {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Returns a table of 3 double values containing the x,y and z position respectively of the Drone.
|
||||||
|
**/
|
||||||
|
public function getDronePosition() {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Stops the ComputerCraft piece in the Drone, and allows the Drone's program to proceed to the next puzzle piece.
|
||||||
|
**/
|
||||||
|
public function exitPiece() {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Returns a table of all the current selectable actions (like 'dig' or 'place').
|
||||||
|
**/
|
||||||
|
public function getAllActions() {
|
||||||
|
/*
|
||||||
|
pneumaticcraft:entity_attack
|
||||||
|
pneumaticcraft:dig
|
||||||
|
pneumaticcraft:harvest
|
||||||
|
pneumaticcraft:place
|
||||||
|
pneumaticcraft:block_right_click
|
||||||
|
pneumaticcraft:entity_right_click
|
||||||
|
pneumaticcraft:pickup_item
|
||||||
|
pneumaticcraft:drop_item
|
||||||
|
pneumaticcraft:void_item
|
||||||
|
pneumaticcraft:void_liquid
|
||||||
|
pneumaticcraft:inventory_export
|
||||||
|
pneumaticcraft:inventory_import
|
||||||
|
pneumaticcraft:liquid_export
|
||||||
|
pneumaticcraft:liquid_import
|
||||||
|
pneumaticcraft:entity_export
|
||||||
|
pneumaticcraft:entity_import
|
||||||
|
pneumaticcraft:rf_import
|
||||||
|
pneumaticcraft:rf_export
|
||||||
|
pneumaticcraft:goto
|
||||||
|
pneumaticcraft:teleport
|
||||||
|
pneumaticcraft:emit_redstone
|
||||||
|
pneumaticcraft:rename
|
||||||
|
pneumaticcraft:suicide
|
||||||
|
pneumaticcraft:crafting
|
||||||
|
pneumaticcraft:standby
|
||||||
|
pneumaticcraft:logistics
|
||||||
|
pneumaticcraft:edit_sign
|
||||||
|
pneumaticcraft:condition_redstone
|
||||||
|
pneumaticcraft:condition_light
|
||||||
|
pneumaticcraft:condition_item_inventory
|
||||||
|
pneumaticcraft:condition_block
|
||||||
|
pneumaticcraft:condition_liquid_inventory
|
||||||
|
pneumaticcraft:condition_pressure
|
||||||
|
pneumaticcraft:drone_condition_item
|
||||||
|
pneumaticcraft:drone_condition_liquid
|
||||||
|
pneumaticcraft:drone_condition_entity
|
||||||
|
pneumaticcraft:drone_condition_pressure
|
||||||
|
pneumaticcraft:drone_condition_upgrades
|
||||||
|
pneumaticcraft:condition_rf
|
||||||
|
pneumaticcraft:drone_condition_rf
|
||||||
|
pneumaticcraft:computer_control
|
||||||
|
*/
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Sets the place/dig order of the Drone.
|
||||||
|
**/
|
||||||
|
public function setBlockOrder(order:String) {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Returns a table of all the possible area types (filled, frame, sphere, ..).
|
||||||
|
**/
|
||||||
|
public function getAreaTypes() {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Adds an area to the current stored area of the Drone. When using the latter method, x1, y1, and z1, represent
|
||||||
|
the first point (which would be the first GPS Tool normally), and x2, y2, and z2 represent the second point.
|
||||||
|
**/
|
||||||
|
public function addArea(x:Int, y:Int, z:Int) {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Removes an area from the current stored area (like blacklisting).
|
||||||
|
**/
|
||||||
|
public function removeArea(x:Int, y:Int, z:Int) {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Clears the current stored area.
|
||||||
|
**/
|
||||||
|
public function clearArea() {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Will show the current stored area using the area renderer you are used to.
|
||||||
|
**/
|
||||||
|
public function showArea() {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Will stop showing the area stored in the Drone.
|
||||||
|
**/
|
||||||
|
public function hideArea() {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Acts as you've put a Item Filter piece on the right of a piece (making it whitelisting).
|
||||||
|
The item/block name is in Minecraft format, i.e. "minecraft:stone", or "pneumaticcraft:pressureTube".
|
||||||
|
The 'useXXX' are all booleans that determine what filters will be used (same functionality as the check boxes in the Item Filter puzzle piece).
|
||||||
|
**/
|
||||||
|
public function addWhitelistItemFilter(item:Item, metadata:String, useMetadata:Bool, useNBT:Bool, useOreDictionary:Bool, useModSimilarity:Bool) {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Like the addWhitelistItemFilter(...), but to blacklist items.
|
||||||
|
**/
|
||||||
|
public function addBlacklistItemFilter(item:Item, metadata:String, useMetadata:Bool, useNBT:Bool, useOreDictionary:Bool, useModSimilarity:Bool) {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Clears all the whitelisted item filters stored.
|
||||||
|
**/
|
||||||
|
public function clearWhitelistItemFilter() {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Clears all the blacklisted item filters stored.
|
||||||
|
**/
|
||||||
|
public function clearBlacklistItemFilter() {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Adds a text to the whitelisted texts. Used to specify a filter for the Entity Attack action for example.
|
||||||
|
**/
|
||||||
|
public function addWhitelistText(text:String) {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Adds a text to the blacklisted texts. Used to specify a filter for the Entity Attack action for example.
|
||||||
|
**/
|
||||||
|
public function addBlacklistText(text:String) {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Clears the stored whitelisted texts.
|
||||||
|
**/
|
||||||
|
public function clearWhitelistText() {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Clears the stored blacklisted texts.
|
||||||
|
**/
|
||||||
|
public function clearBlacklistText() {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Acts as you've put a Liquid Filter piece on the right of a piece (making it whitelisting).
|
||||||
|
You can either give it the 'registry name', or the localized name.
|
||||||
|
**/
|
||||||
|
public function addWhitelistLiquidFilter(liquidName:String) {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Like the addWhitelistLiquidFilter(...), but to blacklist liquids.
|
||||||
|
**/
|
||||||
|
public function addBlacklistLiquidFilter(liquidName:String) {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Clears all the whitelisted liquid filters stored.
|
||||||
|
**/
|
||||||
|
public function clearWhitelistLiquidFilter() {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Clears all the blacklisted liquid filters stored.
|
||||||
|
**/
|
||||||
|
public function clearBlacklistLiquidFilter() {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Sets the strength the redstone will be emitting when the "emitRedstone" action would be set.
|
||||||
|
**/
|
||||||
|
public function setEmittingRedstone(strength:Int) {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Sets the name the Drone will be named to when the "rename" action would be set.
|
||||||
|
**/
|
||||||
|
public function setRenameString(name:String) {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
When the "dropItem" action would be set, this determines whether or not
|
||||||
|
the item will be dropped with a random velocity, or straight down.
|
||||||
|
**/
|
||||||
|
public function setDropStraight(to:Bool) {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
This says whether or not the Drone has a maximum of imported/exported/dropped pieces.
|
||||||
|
If true, also use setCount().
|
||||||
|
**/
|
||||||
|
public function setUseCount(count:Int) {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
This configures the maximum amount of imported/exported/dropped items, and also is the amount that's checked when doing a condition check.
|
||||||
|
**/
|
||||||
|
public function setCount(count:Int) {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Used in conditions only. When true, all checked blocks need to satisfy the condition requirements (>=10 etcetera).
|
||||||
|
**/
|
||||||
|
public function setIsAndFunction(to:Bool) {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Used in conditions only.
|
||||||
|
Says whether or not the condition is checking for an equal amount (=) or equal and higher than amount (>=).
|
||||||
|
The amount can be set using setCount().
|
||||||
|
**/
|
||||||
|
public function setOperator(op:String) {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Returns true/false. Used in conditions only.
|
||||||
|
Will return true/false depending on whether or not the condition is satisfied.
|
||||||
|
Drone Conditions can be checked right after setting 'setAction()'.
|
||||||
|
Note that you need to wait until 'isActionDone' if you're dealing with a non Drone Condition.
|
||||||
|
**/
|
||||||
|
public function evaluateCondition():Bool {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Sets the specific side to be accessible or not.
|
||||||
|
Used in the Inventory Im- and Export actions to set which side of the inventory the Drone can access.
|
||||||
|
It is also used for the Place action to determine how to place the block.
|
||||||
|
**/
|
||||||
|
public function setSide(side:String, accessible:Bool) {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Same as setSide(side: String, accessible: Bool), now in one function to set all sides at once (6x boolean).
|
||||||
|
**/
|
||||||
|
public function setSides(down:Bool, up:Bool, north:Bool, south:Bool, east:Bool, west:Bool) {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
This says whether or not the Drone has a maximum actions performed on a block at a time before the command is considered 'done'.
|
||||||
|
Applies to the Place, Dig and Right-Click block program. If true, also use setMaxActions().
|
||||||
|
**/
|
||||||
|
public function setUseMaxActions(to:Bool) {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
This configures the maximum amount of actions performed on blocks before the command is considered 'done'.
|
||||||
|
This applies to the Place, Dig an Right-Click block program. Be sure to also call setUseMaxActions(true) to enable usage of this.
|
||||||
|
**/
|
||||||
|
public function setMaxActions(max:Int) {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Sets up the crafting grid so when the Crafting instruction is called, this recipe will be used.
|
||||||
|
You need to specify all 9 items making up the recipe.
|
||||||
|
For empty spaces supply nil. The naming format is the same as for supplying item filters.
|
||||||
|
|
||||||
|
TODO: args: <item/block name>, <item/block name>, ...(9x)
|
||||||
|
**/
|
||||||
|
public function setCraftingGrid() {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Only used in the right click command, this will set whether or not the fake player is sneaking while right clicking.
|
||||||
|
**/
|
||||||
|
public function setSneaking(sneaking:Bool) {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Only used in the Liquid Export command, when set to true the Drone will be allowed to place down fluid blocks.
|
||||||
|
**/
|
||||||
|
public function setPlaceFluidBlocks(to:Bool) {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Sets the[link{pneumaticcraft:progwidget/coordinateOperator}] variable[link{}] of this Drone.
|
||||||
|
When passing 'true', the coordinate will be set to (1,0,0).
|
||||||
|
Alternatively, false will be setting it to (0,0,0).
|
||||||
|
It is possible to set global variables (#) as well.
|
||||||
|
|
||||||
|
TODO: args
|
||||||
|
setVariable(<variable name>, <true/false>)
|
||||||
|
setVariable(<variable name>, <x>)
|
||||||
|
setVariable(<variable name>, <x>, <y>, <z>)
|
||||||
|
**/
|
||||||
|
public function setVariable(name:String, to:Dynamic) {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Returns the value of the variable from this Drone (x, y and z).
|
||||||
|
It is possible to get global (#) and special variables ($) as well.
|
||||||
|
**/
|
||||||
|
public function getVariable(name:String):Dynamic {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Sets the text that's going to be set to Signs using the Edit Sign command.
|
||||||
|
|
||||||
|
TODO: args <line1>, <line2>, ..., <lineN>
|
||||||
|
**/
|
||||||
|
public function setSignText(lines:Array<String>) {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
String that represents the action. This should be one of the actions returned by getAllActions().
|
||||||
|
**/
|
||||||
|
public function setAction(action:String) {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Returns a string that represents the last action set by 'setAction'.
|
||||||
|
Will return nil when no action is set.
|
||||||
|
Can be used to make sure to only call 'isActionDone()' when this method does not return nil.
|
||||||
|
**/
|
||||||
|
public function getAction():String {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Stops the current running action.
|
||||||
|
**/
|
||||||
|
public function abortAction() {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Returns true if the current action is done (goto has arrived at the target location,
|
||||||
|
inventory import can't import anymore, dig has dug every possible block, ..).
|
||||||
|
**/
|
||||||
|
public function isActionDone():Bool {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
When the Drone was targeting an Entity (in the Entity Attack program), this will stop attacking that target.
|
||||||
|
**/
|
||||||
|
public function forgetTarget() {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Will get the amount of inserted upgrades of the given type.
|
||||||
|
This type is the index of the upgrade (in creative, or NEI), starting with 0.
|
||||||
|
Or the metadata value when you use NEI.
|
||||||
|
A Speed upgrade for example has an index of 5.
|
||||||
|
**/
|
||||||
|
public function getUpgrades(upgrade:String) {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Unkown. Showed up in the inspect.
|
||||||
|
**/
|
||||||
|
public function setCanSteal(canSteal:Bool) {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Unkown. Showed up in the inspect.
|
||||||
|
**/
|
||||||
|
public function setRequiresTool(requiresTool:Bool) {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Unkown. Showed up in the inspect.
|
||||||
|
**/
|
||||||
|
public function setCheckLineOfSight(check:Bool) {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Unkown. Showed up in the inspect.
|
||||||
|
**/
|
||||||
|
public function setRightClickType(to:String) {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Unkown. Showed up in the inspect.
|
||||||
|
**/
|
||||||
|
public function getDronePositionVec() {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Unkown. Showed up in the inspect.
|
||||||
|
**/
|
||||||
|
public function getOwnerID() {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Unkown. Showed up in the inspect.
|
||||||
|
**/
|
||||||
|
public function getOwnerName():String {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user