| ForceOne Essentials MineCraft Plugin Documentation |
|
| Author: |
William Pantoja |
| Illustrations: |
William Pantoja |
| Version: |
1.2.0 |
| Date: |
January 2, 2012 |
| Copyright: |
Copyright (c) 2011-2012 ForceOne Technologies |
|
|
| |
|
Contents
1. Overview
1.1. Features
1.1.1. Abilities
1.1.2. Mine Carts
1.1.3. Misc.
1.1.4. Integrated Circuits
1.1.5. Portals
1.1.6. Programs
1.1.7. Regions
1.1.8. Signs
1.1.9. Permissions
1.1.10. Economy
1.2. Installation
1.2.1. End User License Agreement (EULA)
1.2.2. Prerequisites
1.2.3. Download
1.2.4. Instructions
1.3. Known Issues
1.3.1. Plugin Conflicts
1.4. Future Features
1.5. Version History
1.5.1. Version 1.2.0 (2012-1-2)
1.5.2. Version 1.1.0 (2011-12-30)
1.5.3. Version 1.0.1 (2011-12-24)
1.5.4. Version 1.0.0 (2011-12-22)
1.5.5. Version 0.1.0 (2011-5-23)
1.6. Support
2. Abilities
2.1. Drop Chests
2.2. Fire Resistance
2.3. Flying
2.4. Insta-Break
2.5. Insta-Kill
2.6. No Starvation
2.7. Unlimited Items
2.8. Water Breathing
2.9. Commands
2.9.1. /foe fireresistance
2.9.2. /foe flying
2.9.3. /foe instabreak
2.9.4. /foe instakill
2.9.5. /foe nostarvation
2.9.6. /foe unlimiteditems
2.9.7. /foe waterbreathing
2.10. Permissions
2.10.1. foe.fireresistance
2.10.2. foe.flying
2.10.3. foe.instabreak
2.10.4. foe.instakill
2.10.5. foe.nostarvation
2.10.6. foe.unlimiteditems
2.10.7. foe.waterbreathing
3. Mine Carts
3.1. Tracks
3.1.1. Booster Track
3.1.2. Destroy Mine Cart Track
3.1.3. Eject Track
3.1.4. Reverse Track
3.1.5. Slow Track
3.1.6. Stop Track
3.2. Ride Signs
3.3. Permissions
3.3.1. foe.signs.create.ride
3.3.2. foe.signs.ride.create
3.3.3. foe.signs.ride.use
3.3.4. foe.signs.use.ride
4. Misc.
4.1. Commands
4.1.1. /foe debug
4.1.2. /foe getinfo
4.1.3. /foe help
4.1.4. /foe permissions
4.1.5. /foe status
4.2. Permissions
4.2.1. foe.debug
4.2.2. foe.status
5. Integrated Cicuits
5.1. Construction
5.1.1. Body
5.1.2. Inputs
5.1.3. Outputs
5.2. Modification
5.3. Input and Output Numbers
5.4. Permissions
5.4.1. foe.signs.create.ic
5.4.2. foe.signs.ic.create
6. Portals
6.1. Creating
6.2. Commands
6.2.1. /foe portal create
6.2.2. /foe portal delete
6.2.3. /foe portal destination
6.2.4. /foe portal help
6.2.5. /foe portal list
6.2.6. /foe portal orientation
6.2.7. /foe portal owner
6.2.8. /foe portal rename
6.3. Permissions
6.3.1. foe.portal.create
6.3.2. foe.portal.delete
6.3.3. foe.portal.list
6.3.4. foe.portal.modify
7. Programs
7.1. Structure
7.2. Inputs
7.3. Outputs
7.4. Registers
7.5. The Stack
7.6. Operands
7.6.1. Ix
7.6.2. Ox
7.6.3. Rx
7.6.4. IFSTATE
7.6.5. LABEL
7.6.6. BOOLEAN
7.6.7. INTEGER
7.6.8. STRING
7.7. Opcodes
7.7.1. Assignment Opcodes
7.7.1.1. SET
7.7.1.2. SET
7.7.2. Boolean Opcodes
7.7.2.1. AND
7.7.2.2. NAND
7.7.2.3. NOR
7.7.2.4. NOT
7.7.2.5. OR
7.7.2.6. XOR
7.7.2.7. XNOR
7.7.3. Bitwise Opcodes
7.7.3.1. BAND
7.7.3.2. BNAND
7.7.3.3. BNOR
7.7.3.4. BNOT
7.7.3.5. BOR
7.7.3.6. BXOR
7.7.3.7. BXNOR
7.7.3.8. SHL
7.7.3.9. SHR
7.7.4. Conversion Opcodes
7.7.4.1. BIT
7.7.4.2. INT
7.7.5. Comparision Opcodes
7.7.5.1. EQ
7.7.5.2. GT
7.7.5.3. GTE
7.7.5.4. ISBOOL
7.7.5.5. ISINT
7.7.5.6. LT
7.7.5.7. LTE
7.7.5.8. NEQ
7.7.6. Debug Opcodes
7.7.6.1. PRINT
7.7.6.2. REM
7.7.7. Flow Control Opcodes
7.7.7.1. CALL
7.7.7.2. GOTO
7.7.7.3. IF
7.7.7.4. LABEL
7.7.7.5. STOP
7.7.7.6. WAIT
7.7.8. Math Opcodes
7.7.8.1. ADD
7.7.8.2. DEC
7.7.8.3. DIV
7.7.8.4. INC
7.7.8.5. MOD
7.7.8.6. MUL
7.7.8.7. SUB
7.7.9. Stack Opcodes
7.7.9.1. PEEK
7.7.9.2. POP
7.7.9.3. PUSH
7.8. Commands
7.8.1. /foe program add
7.8.2. /foe program clear
7.8.3. /foe program create
7.8.4. /foe program delete
7.8.5. /foe program help
7.8.6. /foe program insert
7.8.7. /foe program list
7.8.8. /foe program owner
7.8.9. /foe program remove
7.8.10. /foe program rename
7.8.11. /foe program run
7.9. Permissions
7.9.1. foe.program.changeowner
7.9.2. foe.program.write
8. Regions
8.1. Creating Regions
8.1.1. Creating a Region Using Coordinates
8.1.2. Creating a Region Using Selection
8.2. Modifying Regions
8.2.1. Modifying a Region Using Coordinates
8.2.2. Modifying a Region Using Selection
8.3. Protection
8.4. Locking
8.5. Z-Order
8.6. Buy Region Signs
8.7. Commands
8.7.1. /foe region allow
8.7.2. /foe region create
8.7.3. /foe region currentregion
8.7.4. /foe region delete
8.7.5. /foe region deny
8.7.6. /foe region entermessage
8.7.7. /foe region expand
8.7.8. /foe region help
8.7.9. /foe region info
8.7.10. /foe region invulnerability
8.7.11. /foe region leavemessage
8.7.12. /foe region list
8.7.13. /foe region lock
8.7.14. /foe region modify
8.7.15. /foe region owner
8.7.16. /foe region protect
8.7.17. /foe region pvp
8.7.18. /foe region rename
8.7.19. /foe region zorder
8.8. Permissions
8.8.1. foe.region.bypass.lock
8.8.2. foe.region.bypass.protection
8.8.3. foe.region.bypass.size
8.8.4. foe.region.create
8.8.5. foe.region.delete
8.8.6. foe.region.info
8.8.7. foe.region.list
8.8.8. foe.region.modify
8.8.9. foe.signs.buyregion.create
8.8.10. foe.signs.buyregion.use
8.8.11. foe.signs.create.buyregion
8.8.12. foe.signs.use.buyregion
9. Signs
9.1. Colored Signs
9.2. Repair Signs
9.3. Time Signs
9.4. Weather Signs
9.5. Wireless Signs
9.5.1. Transmit Sign
9.5.2. Receive Sign
9.6. Wool Color Signs
9.7. Commands
9.7.1. /foe colors
9.8. Permissions
9.8.1. foe.signs.create.colored
9.8.2. foe.signs.create.time
9.8.3. foe.signs.create.repair
9.8.4. foe.signs.create.weather
9.8.5. foe.signs.create.wireless
9.8.6. foe.signs.create.woolcolor
9.8.7. foe.signs.colored.create
9.8.8. foe.signs.repair.create
9.8.9. foe.signs.repair.use
9.8.10. foe.signs.time.create
9.8.11. foe.signs.time.use
9.8.12. foe.signs.use.repair
9.8.13. foe.signs.use.time
9.8.14. foe.signs.use.weather
9.8.15. foe.signs.weather.create
9.8.16. foe.signs.weather.use
9.8.17. foe.signs.wireless.create
9.8.18. foe.signs.woolcolor.create
Appendix A: Glossary
Appendix B: Commands
Appendix C: Permissions
Appendix D: Color Codes
Appendix E: Sample Configuration File
1. OVERVIEW
ForceOne Essentials MineCraft Plugin is a collection of enhancements to MineCraft including portals, regions, mine cart updates, integrated circuits, abilities (flying, fire resistance, insta-break, insta-kill, water breathing, unlimited items), etc.
1.1. FEATURES
1.1.1. ABILITIES
Abilities give players the ability to do non-standard actions.
• Drop chest upon death. • Fire resistance. • Flying with gold boots. • Insta-break. • Insta-kill. • No starvation. • Unlimited items. • Water breathing.
1.1.2. MINE CARTS
Mine cart behavior modifications.
• Booster track. • Destroy mine cart track. • Eject track. • Reverse track. • Slow track. • Stop track. • Ride signs. • Spawns mine cart when used. • Mine cart automatically destroyed when player exits. • Optionally charge player to user.
1.1.3. MISC.
Miscellaneous commands that do not fit under any other category.
• "Get Info" mode. • Help information. • Permission list. • Player status.
1.1.4. INTEGRATED CIRCUITS
Integrated circuits perform complex logic in a small package replacing large areas of redstone circuitry.
• Build integrated circuits in any shape. • Add/remove blocks to/from the integrated circuit dynamically. • "Get Info" mode integration. • Ownership.
1.1.5. PORTALS
Portals teleport a play to another portal.
• North/south/east/west/up/down facing portals. • Automatic portal construction/destruction. • Change orientation of portal. • Change destination of portal. • Multi-world support. • Portal ownership.
1.1.6. PROGRAMS
Programs are used by integrated circuits to perform actions.
• Full-featured programming language. • Assignment operators. • Boolean operators. • Bitwise operators. • Conversion operators. • Comparison operators. • Debug commands. • Flow control statements. • Math operators. • Stack support. • Call other programs. • Test programs. • Ownership.
1.1.7. REGIONS
A region defines an area.
• Toggle block placement/destruction protection. • Toggle PVP within region. • Toggle mob spawning within region. • Lock region for private access. • Region ownership. • Buy region signs. • Buying a region transfers ownership to player. • Requires economy. • Overlapped regions support. • Toggle invulnerability within region. • Region size limitation. • Protection bypass. • Region size bypass. • Region lock bypass.
1.1.8. SIGNS
Signs perform an action when right-clicked or powered.
• Colored signs. • Add colors to the text of your sign. • Repair signs. • Repair any item or certain types of items. • Optionally charge player to repair an item. • Time signs. • Change time to day or night. • Optionally charge player to change the time. • Weather signs. • Change the weather to sunny or stormy. • Optionally charge player to change the weather. • Wireless signs. • Send/receive the redstone power wirelessly. • Unlimited channels supported. • Each player has their own set of channels. • Wool color signs. • Change the color of wool when powered/unpowered.
1.1.9. PERMISSIONS
Permissions control who can use certains features in ForceOne Essentials.
• Full permission support through PermissionsBukkit. • Permission support for users and ops in configuration file (ignored if permissions plugin is found). • Feature toggle in configuration file.
1.1.10. ECONOMY
Some features support charging a player per use. The following enconomy plugins are supported:
• iConomy 4 • iConomy 5 • iConomy 6+ • BOSEconomy 6 • BOSEconomy 7 • Essentials Economy 2.2.17+ • MultiCurrency
1.2. INSTALLATION
By downloading or installing the ForceOne Essentials MineCraft Plugin you agree to the terms set forth in the End User License Agreement (EULA).
1.2.1. END USER LICENSE AGREEMENT (EULA)
END-USER LICENSE AGREEMENT FOR FORCEONE ESSENTIALS MINECRAFT PLUGIN. PLEASE READ THE TERMS AND CONDITIONS OF THIS LICENSE AGREEMENT CAREFULLY BEFORE CONTINUING WITH THIS PROGRAM INSTALL.
ForceOne Technologies' End-User License Agreement ("EULA") is a legal agreement between you (either an individual or a single entity) and ForceOne Technologies for the ForceOne Technologies software product(s) identified above which may include associated software components; media; printed materials; and "online" or electronic documentation ("SOFTWARE PRODUCT"). By installing, copying, or otherwise using the SOFTWARE PRODUCT you agree to be bound by the terms of this EULA. This license agreement represents the entire agreement concerning the program between you and ForceOne Technologies (referred to as "licenser") and it supersedes any prior proposal, representation, or understanding between the parties. If you do not agree to the terms of this EULA, do not install or use the SOFTWARE PRODUCT.
The SOFTWARE PRODUCT is protected by copyright laws and international copyright treaties as well as other intellectual property laws and treaties. The SOFTWARE PRODUCT is licensed, not sold.
1. GRANT OF LICENSE.
The SOFTWARE PRODUCT is licensed as follows:
(a) Installation and Use.
ForceOne Technologies grants you the right to install and use copies of the SOFTWARE PRODUCT on your computer running a validly licensed copy of the operating system for which the SOFTWARE PRODUCT was designed (e.g., Microsoft Windows Vista, Microsoft Windows 7, Microsoft Windows Server 2008, Linux, and OS-X).
(b) Backup Copies.
You may make copies of the SOFTWARE PRODUCT as may be necessary for backup and archival purposes.
2. DESCRIPTION OF OTHER RIGHTS AND LIMITATIONS.
(a) Maintenance of Copyright Notices.
You must not remove or alter any copyright notices on any and all copies of the SOFTWARE PRODUCT.
(b) Distribution.
You may not distribute copies of the SOFTWARE PRODUCT to third parties. Evaluation versions available for download from ForceOne Technologies's websites may be freely distributed.
(c) Prohibition on Reverse Engineering, Decompilation, and Disassembly.
You may not reverse engineer, decompile, or disassemble the SOFTWARE PRODUCT except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation.
(d) Rental.
You may not rent, lease, or lend the SOFTWARE PRODUCT.
(e) Support Services.
ForceOne Technologies may provide you with support services related to the SOFTWARE PRODUCT ("Support Services"). Any supplemental software code provided to you as part of the Support Services shall be considered part of the SOFTWARE PRODUCT and subject to the terms and conditions of this EULA.
(f) Compliance with Applicable Laws.
You must comply with all applicable laws regarding use of the SOFTWARE PRODUCT.
3. TERMINATION
Without prejudice to any other rights, ForceOne Technologies may terminate this EULA if you fail to comply with the terms and conditions of this EULA. In such event, you must destroy all copies of the SOFTWARE PRODUCT in your possession.
4. COPYRIGHT
All title, including but not limited to copyrights, in and to the SOFTWARE PRODUCT and any copies thereof are owned by ForceOne Technologies or its suppliers. All title and intellectual property rights in and to the content which may be accessed through use of the SOFTWARE PRODUCT is the property of the respective content owner and may be protected by applicable copyright or other intellectual property laws and treaties. This EULA grants you no rights to use such content. All rights not expressly granted are reserved by ForceOne Technologies.
5. NO WARRANTIES
ForceOne Technologies expressly disclaims any warranty for the SOFTWARE PRODUCT. The SOFTWARE PRODUCT is provided "AS IS" without any express or implied warranty of any kind, including but not limited to any warranties of merchantability, noninfringement, or fitness of a particular purpose. ForceOne Technologies does not warrant or assume responsibility for the accuracy or completeness of any information, text, graphics, links or other items contained within the SOFTWARE PRODUCT. ForceOne Technologies makes no warranties respecting any harm that may be caused by the transmission of a computer virus, worm, time bomb, logic bomb, or other such computer program. ForceOne Technologies further expressly disclaims any warranty or representation to Authorized Users or to any third party.
6. LIMITATION OF LIABILITY
In no event shall ForceOne Technologies be liable for any damages (including, without limitation, lost profits, business interruption, or lost information) rising out of use of or inability to use the SOFTWARE PRODUCT even if ForceOne Technologies has been advised of the possibility of such damages. In no event will ForceOne Technologies be liable for loss of data or for indirect, special, incidental, consequential (including lost profit), or other damages based in contract, tort, or otherwise. ForceOne Technologies shall have no liability with respect to the content of the SOFTWARE PRODUCT or any part thereof including but not limited to errors or omissions contained therein; libel; infringements of rights of publicity; privacy; trademark rights; business interruption; personal injury; loss of privacy; moral rights; or the disclosure of confidential information.
1.2.2. PREREQUISITES
ForceOne Essentials has the following prerequisites:
• MineCraft 1.0.0 (http://www.MineCraft.net) • CraftBukkit 1.0.1-R1 (http://www.bukkit.org) • (optional) iConomy 4, 5, and 6+; BOSEconomy 6 and 7; Essentials Economy 2.2.17+; and MultiCurrency economy plugins
1.2.3. DOWNLOAD
Download the ForceOne Essentials package (MD5: 9e3ab7c5b42b809b96a13c50ec0ee193). By downloading the ForceOne Essentials MineCraft Plugin you agree to the terms set forth in the End User License Agreement (EULA).
1.2.4. INSTRUCTIONS
1. Download the ForceOne Essentials package. 2. Unzip the ForceOne Essentials package into your plugins folder. 3. Modify the "ForceOneEssentials\config.yml" file. 4. Restart your MineCraft server.
1.3. KNOWN ISSUES
1.3.1. PLUGIN CONFLICTS
MineCraft Essentials:
• Time and weather signs: Disabling the ability to create time and weather signs in Mincraft Essentials or ForceOne Essentials should resolve this problem.
1.4. FUTURE FEATURES
1.5. VERSION HISTORY
1.5.1. VERSION 1.2.0 (2012-1-2)
• ADDED: Drop chests ability. • ADDED: Repair signs. • FIXED: Unlimited items. • FIXED: Register.jar error messages. • FIXED: ForceOne Essentials using itself for economy.
1.5.2. VERSION 1.1.0 (2011-12-30)
• ADDED: Portal support. • FIXED: Help text.
1.5.3. VERSION 1.0.1 (2011-12-24)
• FIXED: Bedrock at lowest point of map can be broken using insta-break allowing player to fall through. • FIXED: Insta-kill sometimes requires two strikes.
1.5.4. VERSION 1.0.0 (2011-12-22)
• ADDED: No starvation ability. • ADDED: Ability to disable features in config file. • FIXED: Resetting world cause ICs to throw exceptions. • MISC: Code clean up.
1.5.5. VERSION 0.1.0 (2011-5-23)
1.6. SUPPORT
If you have questions, suggestions, or issues with ForceOne Essentials you may contact us by e-mail by selecting "Contact Us" from the main menu.
2. ABILITIES
2.1. DROP CHESTS
The drop chests ability makes a player drop a chest containing their inventory when the player dies. The chest is accessible by any player that uses it.
2.2. FIRE RESISTANCE
The fire resistance ability makes a player immune to damage from both fire and lava. A player with the foe.fireresistance permission is granted this ability.
2.3. FLYING
The flying ability allows a player fly by wearing a pair of gold boots and holding down the sneak button. A player with the foe.flying permission is granted this ability.
2.4. INSTA-BREAK
The insta-break ability allows a player to break any block with a single strike. A player with the foe.instabreak permission is granted this ability.
2.5. INSTA-KILL
The insta-kill ability allows a player to kill any mob with a single strike. A player with the foe.instakill permission is granted this ability.
2.6. NO STARVATION
The no starvation ability prevents a player from starving to death. A player with the foe.nostarvation permission is granted this ability.
2.7. UNLIMITED ITEMS
The unlimited items ability allows a player to place an unlimited number of blocks regardless of the number contained in their inventory. If a player picks up an block or item that is already in their inventory that inventory item will not be incremented. A player with the foe.unlimiteditems permission is granted this ability.
2.8. WATER BREATHING
The water breathing ability prevents a player from drowning when the player runs out of air. A player with the foe.waterbreathing permission is granted this ability.
2.9. COMMANDS
The following commands are used with abilities:
2.9.1. /FOE FIRERESISTANCE
The fireresistance command toggles the player's fire resistance ability off and on.
Syntax:
/foe fireresistance
Parameters:
None.
Permissions Required:
foe.fireresistance
2.9.2. /FOE FLYING
The flying command toggles the player's flying ability off and on.
Syntax:
/foe flying
Parameters:
None.
Permissions Required:
foe.flying
2.9.3. /FOE INSTABREAK
The instabreak command toggles the player's insta-break ability off and on.
Syntax:
/foe instabreak
Parameters:
None.
Permissions Required:
foe.instabreak
2.9.4. /FOE INSTAKILL
The instakill command toggles the player's insta-kill ability off and on.
Syntax:
/foe instakill
Parameters:
None.
Permissions Required:
foe.instakill
2.9.5. /FOE NOSTARVATION
The nostarvation command toggles the player's no starvation ability off and on.
Syntax:
/foe nostarvation
Parameters:
None.
Permissions Required:
foe.nostarvation
2.9.6. /FOE UNLIMITEDITEMS
The unlimiteditems command toggles the player's unlimited items ability off and on.
Syntax:
/foe unlimiteditems
Parameters:
None.
Permissions Required:
foe.unlimiteditems
2.9.7. /FOE WATERBREATHING
The waterbreathing command toggles the player's water breathing ability off and on.
Syntax:
/foe waterbreathing
Parameters:
None.
Permissions Required:
foe.waterbreathing
2.10. PERMISSIONS
2.10.1. FOE.FIRERESISTANCE
Grants a player fire resistance and allows them to toggle fire resistance off and on.
2.10.2. FOE.FLYING
Grants a player the flying ability and allows them to toggle flying off and on.
2.10.3. FOE.INSTABREAK
Grants a player the insta-break ability and allows them to toggle insta-break off and on.
2.10.4. FOE.INSTAKILL
Grants a player the insta-kill ability and allows them to toggle insta-kill off and on.
2.10.5. FOE.NOSTARVATION
Grants a player no starvation and allows them to toggle starvation off and on.
2.10.6. FOE.UNLIMITEDITEMS
Grants a player unlimited items and allows them to toggle unlimited items off and on.
2.10.7. FOE.WATERBREATHING
Grants a player water breathing and allows them to toggle water breathing off and on.
3. MINE CARTS
3.1. TRACKS
3.1.1. BOOSTER TRACK
A booster track speeds up the mine cart to its top speed when it rolls over the booster track. Booster tracks are created by placing a rail block on top of a red wool block.

3.1.2. DESTROY MINE CART TRACK
A destroy mine cart track destroys the mine cart when it rolls over the destroy mine cart track. Destroy mine cart tracks are created by placing a rail block on top of a black wool block.

3.1.3. EJECT TRACK
An eject track ejects the rider when the mine cart rolls over the eject track. Eject tracks are created by placing a rail block on top of a gray wool block.

3.1.4. REVERSE TRACK
A reverse track reverses the direction of the mine cart when it rolls over the reverse track. Reverse tracks are created by placing a rail block on top of a dark green wool block.

3.1.5. SLOW TRACK
A slow track slows the mine cart down when it rolls over the slow track. Slow tracks are created by placing a rail block on top of an orange wool block.

3.1.6. STOP TRACK
A stop track stops the mine cart when it rolls over the stop track. Stop tracks are created by placing a rail block on top of a light gray wool block.

3.2. RIDE SIGNS
The ride sign spawns a mine cart when used. The player using the sign is placed in the mine cart when it is spawned. A ride sign is created by placing a sign adjacent to a rail block or as a wall sign above a rail block. The first line of the sign must be "[Ride]". The next line, which is optional, may be the cost to ride. The third line, also optional, is the direction the spawned mine cart should travel when it is created. If no direction is specified, the sign must be placed at the terminus of the track. The first line of the sign will turn blue if it has been created successfully; otherwise it will turn red.
Mine carts spawned by a ride side will automatically disappear when it no longer contains riders.
The foe.signs.create.ride or foe.signs.ride.create permission is required to be able to create a ride sign. The foe.signs.use.ride or foe.signs.ride.use permission is required to be able to use a ride sign.
Example:
| [Ride] |
| north |
| |
| |
 |
3.3. PERMISSIONS
The following permissions are used with mine carts:
3.3.1. FOE.SIGNS.CREATE.RIDE
Allows a player to create a "Ride" sign.
3.3.2. FOE.SIGNS.RIDE.CREATE
Allows a player to create a "Ride" sign.
3.3.3. FOE.SIGNS.RIDE.USE
Allows a player to use a "Ride" sign.
3.3.4. FOE.SIGNS.USE.RIDE
Allows a player to use a "Ride" sign.
4. MISC.
4.1. COMMANDS
4.1.1. /FOE DEBUG
The debug command toggles "Debug" mode on and off.
Syntax:
/foe debug
Parameters:
None.
Permissions Required:
foe.debug
4.1.2. /FOE GETINFO
The getinfo command toggles "GetInfo" mode on and off. When "GetInfo" mode is on, a player may right-click on a block with a bone to see the block's coordinates, redstone power, input number (if the block is an input of an integrated circuit), and output number (if the block is an output of an integrated circuit). By default "GetInfo" mode is off.
Syntax:
/foe getinfo
Parameters:
None.
Permissions Required:
None.
4.1.3. /FOE HELP
The help command displays the specified page of the list of available commands or the first page if no page is specified.
Syntax:
/foe help [page]
Parameters:
page -- The help page to display.
Permissions Required:
None.
4.1.4. /FOE PERMISSIONS
The permissions command displays the specified page of the list of permissions or the first page if no page is specified.
Syntax:
/foe permissions [page]
Parameters:
page -- The permissions page to display.
Permissions Required:
None.
4.1.5. /FOE STATUS
The status command displays the specified page of the player's status or the first page if no page is specified.
Syntax:
/foe status [page]
Parameters:
page -- The status page to display.
Permissions Required:
foe.status
4.2. PERMISSIONS
4.2.1. FOE.DEBUG
Allows a player to toggle additional debug information on or off.
4.2.2. FOE.STATUS
Grants a player the ability to view their status.
5. INTEGRATED CICUITS
Integrated circuits run a program whenever one of its inputs changes and changes the state of its outputs to reflect the output of the program. The following is an example of an integrated circuit with two inputs and one output.
5.1. CONSTRUCTION
Integrated circuits consist of three parts: the body, the inputs, and the outputs.

5.1.1. BODY
The body of the integrated circuit is created using iron blocks. The blocks must be adjacent to, on top of, or below each other. There is no limit to the size and configuration of the iron blocks that make up the body.
On one of the iron blocks a wall sign is placed. This sign has two lines. The first line is always "[IC]". This denotes that the sign represents an integrated circuit. The second line is the name of the program that is run when any of the inputs for the integrated circuit changes state. The first line of the sign will turn blue if it has been created successfully; otherwise it will turn red.
The foe.signs.create.ic or foe.signs.ic.create permission is required to be able to create an IC sign.
Example:
| [IC] |
| DoorOpener |
| |
| |
 |
5.1.2. INPUTS
The inputs of an integrated circuit are created using gold blocks. A single gold block represents a single input. A gold block must be adjacent to, on top of, or below one of the iron blocks that make up the body of the integrated circuit. An input's state will change when the state of a redstone wire, button, lever, or pressure plate that is adjacent to it changes.
5.1.3. OUTPUTS
The outputs of an integrated circuit are created using levers. A single lever represents a single output. A lever must be mounted on one of the iron blocks that make up the body of the integrated circuit.
5.2. MODIFICATION
You may modify the integrated circuit at any time. When you add or remove blocks, the integrated circuit will automatically reconfigure itself.
5.3. INPUT AND OUTPUT NUMBERS
You may use the /foe getinfo command to get the information related to an input or an output. The input number or output number the cooresponds to the selected input or output will be displayed.
5.4. PERMISSIONS
The following permissions are used with integrated circuits:
5.4.1. FOE.SIGNS.CREATE.IC
Allows a player to create an "IC" sign.
5.4.2. FOE.SIGNS.IC.CREATE
Allows a player to create an "IC" sign.
6. PORTALS
A portal allows you to instantly teleport from one portal to another.
6.1. CREATING
To create a portal use the /foe portal create command. The blocks for the portal will automatically be placed for you; any existing blocks will be destroyed. The opening of the portal will be facing in the direction specified. A portal's location is determined by the position of the player when the command is initiated.
6.2. COMMANDS
The following commands are used with portals:
6.2.1. /FOE PORTAL CREATE
The create command creates a new portal at the current player location.
Syntax:
/foe portal create <name> <NORTH|SOUTH|EAST|WEST|UP|DOWN> [destination|NONE]
Parameters:
name -- The name of the portal.
NORTH -- Create the portal with the opening facing north.
SOUTH -- Create the portal with the opening facing south.
EAST -- Create the portal with the opening facing east.
WEST -- Create the portal with the opening facing west.
UP -- Create the portal with the opening facing up.
DOWN -- Create the portal with the opening facing down.
destination -- The name of the destination portal.
NONE -- Set the destination to nothing.
Permissions Required:
foe.portal.create
Example:
/foe portal create MyPortal EAST YourPortal
Creates a new portal named "MyPortal" facing east.
6.2.2. /FOE PORTAL DELETE
The delete command deletes an existing portal.
Syntax:
/foe portal delete <name>
Parameters:
name -- The name of the portal.
Permissions Required:
foe.portal.delete or ownership
Example:
/foe portal delete MyPortal
Deletes the portal named "MyPortal".
6.2.3. /FOE PORTAL DESTINATION
The destination command changes the destination of an existing portal.
Syntax:
/foe portal destination <name> <destination|NONE>
Parameters:
name -- The name of the portal.
destination -- The name of the destination portal.
NONE -- Set the destination to nothing.
Permissions Required:
foe.portal.modify or ownership
Example:
/foe portal destination MyPortal YourPortal
Sets the portal "MyPortal" to the destination "YourPortal".
6.2.4. /FOE PORTAL HELP
The help command displays the specified page of the list of available commands or the first page if no page is specified.
Syntax:
/foe portal help [page]
Parameters:
page -- The help page to display.
Permissions Required:
None.
Example:
/foe portal help 3
6.2.5. /FOE PORTAL LIST
The list command displays a list of all the portals.
Syntax:
/foe portal list
Parameters:
None.
Permissions Required:
foe.portal.list or ownership
Example:
/foe portal list
6.2.6. /FOE PORTAL ORIENTATION
The orientation command changes the orientation of an existing portal.
Syntax:
/foe portal orientation <name> <NORTH|SOUTH|EAST|WEST|UP|DOWN>
Parameters:
name -- The name of the portal.
NORTH -- Create the portal with the opening facing north.
SOUTH -- Create the portal with the opening facing south.
EAST -- Create the portal with the opening facing east.
WEST -- Create the portal with the opening facing west.
UP -- Create the portal with the opening facing up.
DOWN -- Create the portal with the opening facing down.
Permissions Required:
foe.portal.modify or ownership
Example:
/foe portal orientation MyPortal WEST
Sets the orientation of the portal "MyPortal" to open to the west.
6.2.7. /FOE PORTAL OWNER
The owner command sets the owner of the specified portal.
Syntax:
/foe portal owner <name> <player>
Parameters:
name -- The name of the portal.
player -- The name of the player.
Permissions Required:
foe.portal.modify or ownership
Example:
/foe portal owner MyRegion JohnDoe
6.2.8. /FOE PORTAL RENAME
The rename command renames the specified portal.
Syntax:
/foe portal zorder <name> <newname>
Parameters:
name -- The name of the portal.
newname -- The new name of the portal.
Permissions Required:
foe.portal.modify or ownership
Example:
/foe portal rename MyRegion YourRegion
6.3. PERMISSIONS
The following permissions are used with portals:
6.3.1. FOE.PORTAL.CREATE
Allows a player to create a portal.
6.3.2. FOE.PORTAL.DELETE
Allows a player to delete a portal.
6.3.3. FOE.PORTAL.LIST
Allows a player to list a portal.
6.3.4. FOE.PORTAL.MODIFY
Allows a player to modify a portal.
7. PROGRAMS
Programs execute a series of instructions using a set of supplied inputs generating a series of outputs.
7.1. STRUCTURE
A program is structured as a series of lines of code. Each line contains one opcode. Lines are numbered starting at 0.
7.2. INPUTS
Programs support 256 inputs. Each input contains a Boolean value that indicates the current state of the input. Inputs are numbered starting at 0. Inputs are shared when a program calls another program.
7.3. OUTPUTS
Programs support 256 outputs. Each output contains a Boolean value that indicates the current state of the output. Outputs are numbered starting at 0. Outputs are shared when a program calls another program.
7.4. REGISTERS
Each program has 256 general purpose registers available. Each register may contain either a Boolean or Integer value. Registers are numbered starting at 0. Registers are not shared when a program calls another program.
In addition to the general purpose registers, each program has an IFSTATE register. This register holds the result of the last boolean operation. Other operators may also read or modify the IFSTATE register directly. The IF operator reads the value IFSTATE register to determine whether or not to transfer control to the specified label. The IFSTATE register is not shared when a program calls another program.
7.5. THE STACK
Each program has a stack available to it. The stack may hold both Boolean and Integer values. The stack is shared when a program calls another program.
7.6. OPERANDS
The operands are used in the syntax of the operators and indicate what operands may be used for a given operator. The syntax of an operand is expressed using regular expressions.
7.6.1. IX
The Ix operand specifies an input.
Data Type:
Boolean
Syntax:
I[0-9]+
The number specified must be a value between 0 and 255 inclusive.
7.6.2. OX
The Ox operand specifies an output.
Data Type:
Boolean
Syntax:
O[0-9]+
The number specified must be a value between 0 and 255 inclusive.
7.6.3. RX
The Rx operand specifies a register.
Data Type:
Boolean or Integer
Syntax:
R[0-9]+
The number specified must be a value between 0 and 255 inclusive.
7.6.4. IFSTATE
The IFSTATE operand specifies the IFSTATE register.
Data Type:
Boolean
Syntax:
IFSTATE
7.6.5. LABEL
The LABEL operand specifies a label.
Data Type:
String
Syntax:
[A-Za-z_][A-Za-z0-9_]{0,49}
7.6.6. BOOLEAN
The BOOLEAN operand specifies a literal Boolean value.
Data Type:
Boolean
Syntax:
TRUE|FALSE|T|F
7.6.7. INTEGER
The INTEGER operand specifies a literal Integer value.
Data Type:
Integer
Syntax:
-?[0-9]+
The value specified must be between -2,147,483,648 to 2,147,483,647 inclusive.
7.6.8. STRING
The STRING operand specifies a literal String value.
Data Type:
String
Syntax:
.*
7.7. OPCODES
An opcode is a single instruction that performs a task within a program. The following opcodes may be used in a program:
7.7.1. ASSIGNMENT OPCODES
7.7.1.1. SET
The SET operator assigns the value specified by the second operand to the first operand. If the data type of second operand does not agree with the data type of the first operand an error will be thrown.
Syntax:
SET Rx|Ox|IFSTATE Ix|Rx|IFSTATE|BOOLEAN
7.7.1.2. SET
The SET operator assigns the value specified by the second operand to the first operand. If the data type of second operand does not agree with the data type of the first operand an error will be thrown.
Syntax:
SET Rx Rx|INTEGER
7.7.2. BOOLEAN OPCODES
7.7.2.1. AND
The AND operator computes the conjunction of the first and second operands and stores the result in the third operand. If the third operand is not specified, the result is stored in the IFSTATE register. Its output is shown by the following truth table:
| INPUT |
OUTPUT |
| A |
B |
|
| 0 |
0 |
0 |
| 0 |
1 |
0 |
| 1 |
0 |
0 |
| 1 |
1 |
1 |
Syntax:
AND Ix|Rx|IFSTATE|BOOLEAN Ix|Rx|IFSTATE|BOOLEAN (Rx|Ox|IFSTATE)?
7.7.2.2. NAND
The NAND operator computes the negation of the conjunction of the first and second operands and stores the result in the third operand. If the third operand is not specified, the result is stored in the IFSTATE register. Its output is shown by the following truth table:
| INPUT |
OUTPUT |
| A |
B |
|
| 0 |
0 |
1 |
| 0 |
1 |
1 |
| 1 |
0 |
1 |
| 1 |
1 |
0 |
Syntax:
NAND Ix|Rx|IFSTATE|BOOLEAN Ix|Rx|IFSTATE|BOOLEAN (Rx|Ox|IFSTATE)?
7.7.2.3. NOR
The NOR operator computes the negation of the disjunction of the first and second operands and stores the result in the third operand. If the third operand is not specified, the result is stored in the IFSTATE register. Its output is shown by the following truth table:
| INPUT |
OUTPUT |
| A |
B |
|
| 0 |
0 |
1 |
| 0 |
1 |
0 |
| 1 |
0 |
0 |
| 1 |
1 |
0 |
Syntax:
NOR Ix|Rx|IFSTATE|BOOLEAN Ix|Rx|IFSTATE|BOOLEAN (Rx|Ox|IFSTATE)?
7.7.2.4. NOT
The NOT operator computes the negation of the first operand and stores the result in the second operand. If the second operand is not specified, the result is stored in the IFSTATE register. Its output is shown by the following truth table:
Syntax:
NOT Ix|Rx|IFSTATE|BOOLEAN (Rx|Ox|IFSTATE)?
7.7.2.5. OR
The OR operator computes the disjunction of the first and second operands and stores the result in the third operand. If the third operand is not specified, the result is stored in the IFSTATE register. Its output is shown by the following truth table:
| INPUT |
OUTPUT |
| A |
B |
|
| 0 |
0 |
0 |
| 0 |
1 |
1 |
| 1 |
0 |
1 |
| 1 |
1 |
1 |
Syntax:
OR Ix|Rx|IFSTATE|BOOLEAN Ix|Rx|IFSTATE|BOOLEAN (Rx|Ox|IFSTATE)?
7.7.2.6. XOR
The XOR operator computes the exclusive disjunction of the first and second operands and stores the result in the third operand. If the third operand is not specified, the result is stored in the IFSTATE register. Its output is shown by the following truth table:
| INPUT |
OUTPUT |
| A |
B |
|
| 0 |
0 |
0 |
| 0 |
1 |
1 |
| 1 |
0 |
1 |
| 1 |
1 |
0 |
Syntax:
XOR Ix|Rx|IFSTATE|BOOLEAN Ix|Rx|IFSTATE|BOOLEAN (Rx|Ox|IFSTATE)?
7.7.2.7. XNOR
The XNOR operator computes the negation of the exclusive disjunction of the first and second operands and stores the result in the third operand. If the third operand is not specified, the result is stored in the IFSTATE register. Its output is shown by the following truth table:
| INPUT |
OUTPUT |
| A |
B |
|
| 0 |
0 |
1 |
| 0 |
1 |
0 |
| 1 |
0 |
0 |
| 1 |
1 |
1 |
Syntax:
XNOR Ix|Rx|IFSTATE|BOOLEAN Ix|Rx|IFSTATE|BOOLEAN (Rx|Ox|IFSTATE)?
7.7.3. BITWISE OPCODES
7.7.3.1. BAND
The BAND operator computes the conjunction of the first and second operands and stores the result in the third operand.
Syntax:
BAND Rx|INTEGER Rx|INTEGER Rx
7.7.3.2. BNAND
The BNAND operator computes the negation of the conjunction of the first and second operands and stores the result in the third.
Syntax:
BNAND Rx|INTEGER Rx|INTEGER Rx
7.7.3.3. BNOR
The BNOR operator computes the negation of the disjunction of the first and second operands and stores the result in the third operand.
Syntax:
BNOR Rx|INTEGER Rx|INTEGER Rx
7.7.3.4. BNOT
The BNOT operator computes the negation of the first operand and stores the result in the second operand.
Syntax:
BNOT Rx|INTEGER Rx
7.7.3.5. BOR
The BOR operator computes the disjunction of the first and second operands and stores the result in the third operand.
Syntax:
BOR Rx|INTEGER Rx|INTEGER Rx
7.7.3.6. BXOR
The BXOR operator computes the exclusive disjunction of the first and second operands and stores the result in the third operand.
Syntax:
BXOR Rx|INTEGER Rx|INTEGER Rx
7.7.3.7. BXNOR
The BXNOR operator computes the negation of the exclusive disjunction of the first and second operands and stores the result in the third operand.
Syntax:
BXNOR Rx|INTEGER Rx|INTEGER Rx
7.7.3.8. SHL
The SHL operator shifts the bits of the INTEGER specified by the first operand to the left by the number of bits specified in the second operand and stores the result in the third operand.
Syntax:
SHL Rx|INTEGER Rx|INTEGER Rx
7.7.3.9. SHR
The SHR operator shifts the bits of the INTEGER specified by the first operand to the right by the number of bits specified in the second operand and stores the result in the third operand.
Syntax:
SHR Rx|INTEGER Rx|INTEGER Rx
7.7.4. CONVERSION OPCODES
7.7.4.1. BIT
The BIT operator sets the third operand to TRUE if the bit specified by the second operand is set to 1 in the INTEGER specified by the first operand; otherwise the third operand is set to FALSE. If the third operand is not specified, the result is stored in the IFSTATE register.
Syntax:
BIT Rx|INTEGER Rx|INTEGER (Rx|Ox|IFSTATE)?
7.7.4.2. INT
The INT operator converts a series of BOOLEAN values into an INTEGER and stores the result in the last operand. The first BOOLEAN operand corresponds to the high-order bit.
Syntax:
INT Ix|Rx|IFSTATE|BOOLEAN( Ix|Rx|IFSTATE|BOOLEAN)* Rx
7.7.5. COMPARISION OPCODES
7.7.5.1. EQ
The EQ operator sets the third operand to TRUE if the first operand is equal to the second operand; otherwise the third operand is set to FALSE. If the third operand is not specified, the IFSTATE register is used instead.
Syntax:
EQ Ix|Rx|IFSTATE|BOOLEAN|INTEGER Ix|Rx|IFSTATE|BOOLEAN|INTEGER (Rx|Ox|IFSTATE)?
7.7.5.2. GT
The GT operator sets the third operand to TRUE if the first operand is greater than to the second operand; otherwise the third operand is set to FALSE. If the third operand is not specified, the IFSTATE register is used instead.
Syntax:
GT Rx|INTEGER Rx|INTEGER (Rx|Ox|IFSTATE)?
7.7.5.3. GTE
The GTE operator sets the third operand to TRUE if the first operand is greater than or equal to the second operand; otherwise the third operand is set to FALSE. If the third operand is not specified, the IFSTATE register is used instead.
Syntax:
GTE Rx|INTEGER Rx|INTEGER (Rx|Ox|IFSTATE)?
7.7.5.4. ISBOOL
The ISBOOL operator sets the second operand to TRUE if the first operand contains a BOOLEAN value; otherwise the second operand is set to FALSE. If the second operand is not specified, the IFSTATE register is used instead.
Syntax:
ISBOOL Rx (Rx|Ox|IFSTATE)?
7.7.5.5. ISINT
The ISINT operator sets the second operand to TRUE if the first operand contains an INTEGER value; otherwise the second operand is set to FALSE. If the second operand is not specified, the IFSTATE register is used instead.
Syntax:
ISINT Rx (Rx|Ox|IFSTATE)?
7.7.5.6. LT
The LT operator sets the third operand to TRUE if the first operand is less than to the second operand; otherwise the third operand is set to FALSE. If the third operand is not specified, the IFSTATE register is used instead.
Syntax:
LT Rx|INTEGER Rx|INTEGER (Rx|Ox|IFSTATE)?
7.7.5.7. LTE
The LTE operator sets the third operand to TRUE if the first operand is less than or equal to the second operand; otherwise the third operand is set to FALSE. If the third operand is not specified, the IFSTATE register is used instead.
Syntax:
LTE Rx|INTEGER Rx|INTEGER (Rx|Ox|IFSTATE)?
7.7.5.8. NEQ
The NEQ operator sets the third operand to TRUE if the first operand is not equal to the second operand; otherwise the third operand is set to FALSE. If the third operand is not specified, the IFSTATE register is used instead.
Syntax:
NEQ Ix|Rx|IFSTATE|BOOLEAN|INTEGER Ix|Rx|IFSTATE|BOOLEAN|INTEGER (Rx|Ox|IFSTATE)?
7.7.6. DEBUG OPCODES
7.7.6.1. PRINT
The PRINT operator displays the value of the specified operand.
Syntax:
PRINT Ix|Rx|Ox|IFSTATE|STRING
7.7.6.2. REM
The REM operator allows you to place a comment in the program. It otherwise does nothing.
Syntax:
REM STRING?
7.7.7. FLOW CONTROL OPCODES
7.7.7.1. CALL
The CALL operator executes the program specified by the first operand. Another player's program may be called by specifing the player name and the program name seperated by two colons. When the program completes, execution continues on the next line. If the specified program does not exist, an error will be thrown.
Called programs use the same inputs, outputs, and stack as the calling program. The registers and IFSTATE register are not shared. If the called program throws and error, execution of the calling program is halted.
Syntax:
CALL STRING
Example:
CALL MyProgram
Calls the program "MyProgram".
CALL JohnDoe::YourProgram
Calls the program "YourProgram" belonging to the player "JohnDoe".
7.7.7.2. GOTO
The GOTO operator transfers execution to the location of the LABEL specified in the first operand.
When searching for a LABEL, the search begins at line 0 of the program. A LABEL is not case-sensitive. If more than one LABEL operator exists with the same LABEL, the first LABEL operator is used. Subsequent LABEL operators are ignored. If a LABEL is not found, an error will be thrown.
Syntax:
GOTO LABEL
7.7.7.3. IF
The IF operator changes the next line in the program that will be executed based on the value of the IFSTATE register. If the IFSTATE register contains TRUE, execution is transferred to the location of the LABEL specified by the first operand. If the second operand is specified and the IFSTATE register contains FALSE, execution is transferred to the location of the LABEL specified by the second operand; otherwise execution continues at the next line.
When searching for a LABEL, the search begins at line 0 of the program. A LABEL is not case-sensitive. If more than one LABEL operator exists with the same LABEL, the first LABEL operator is used. Subsequent LABEL operators are ignored. If a LABEL is not found, an error will be thrown.
Syntax:
IF LABEL( LABEL)?
7.7.7.4. LABEL
The LABEL operator identifies the current location in the program with the LABEL specified by the first operand. A LABEL is not case-sensitive.
Syntax:
LABEL LABEL
7.7.7.5. STOP
The STOP operator halts program execution.
Syntax:
STOP
7.7.7.6. WAIT
The WAIT operator causes the program to be suspended for the number of ticks specified by the first operand. A tick is 1/10th of a second.
Syntax:
WAIT Rx|INTEGER
7.7.8. MATH OPCODES
7.7.8.1. ADD
The ADD operator adds the INTEGER specified by the first operand to the INTEGER specified by the second operand and stores the result in the third operand.
Syntax:
ADD Rx|INTEGER Rx|INTEGER Rx
7.7.8.2. DEC
The DEC operator subtracts 1 from the INTEGER specified by the first operand and stores the result in the first operand.
Syntax:
DEC Rx|INTEGER
7.7.8.3. DIV
The DIV operator divides the INTEGER specified by the first operand by the INTEGER specified by the second operand and stores the result in the third operand.
Syntax:
DIV Rx|INTEGER Rx|INTEGER Rx
7.7.8.4. INC
The INC operator adds 1 to the INTEGER specified by the first operand and stores the result in the first operand.
Syntax:
INC Rx|INTEGER
7.7.8.5. MOD
The MOD operator divides the INTEGER specified by the first operand by the INTEGER specified by the second operand and stores the remainder in the third operand.
Syntax:
MOD Rx|INTEGER Rx|INTEGER Rx
7.7.8.6. MUL
The MUL operator multiplies the INTEGER specified by the first operand by the INTEGER specified by the second operand and stores the result in the third operand.
Syntax:
MUL Rx|INTEGER Rx|INTEGER Rx
7.7.8.7. SUB
The SUB operator subtracts the INTEGER specified by the second operand from the INTEGER specified by the first operand and stores the result in the third operand.
Syntax:
SUB Rx|INTEGER Rx|INTEGER Rx
7.7.9. STACK OPCODES
7.7.9.1. PEEK
The PEEK operator assigns the value on the top of the stack to the specified operand. The value is not removed from the stack. If the data type of value does not agree with the data type of the operand an error will be thrown. If the stack is empty an error will be thrown.
Syntax:
PEEK Rx|Ox|IFSTATE
7.7.9.2. POP
The POP operator assigns the value on the top of the stack to the specified operand. The value is removed from the stack. If the data type of value does not agree with the data type of the operand an error will be thrown. If the stack is empty an error will be thrown.
Syntax:
POP Rx|Ox|IFSTATE
7.7.9.3. PUSH
The PUSH operator puts the specified operand on top of the stack.
Syntax:
PUSH Ix|Rx|BOOLEAN|INTEGER|IFSTATE
7.8. COMMANDS
The following commands are used with programs:
7.8.1. /FOE PROGRAM ADD
The add command adds a new line of code to the specified program. You may add more than one line by separating each opcode with semi-colons.
Syntax:
/foe program add <name> <opcode>[;<opcode>[...]]
Parameters:
name -- The name of the program.
opcode -- The opcode to add to the program.
Permissions Required:
foe.program.write
Example:
/foe program add MyProgram SET O0 I0
Adds one line to the program "MyProgram".
/foe program add MyProgram AND I0 I1 R0;AND I2 I3 R1;AND R0 R1 O0
Adds three lines to the program "MyProgram".
7.8.2. /FOE PROGRAM CLEAR
The clear command removes all code from the specified program.
Syntax:
/foe program clear <name>
Parameters:
name -- The name of the program.
Permissions Required:
foe.program.write
Example:
/foe program clear MyProgram
Removes all code from the program "MyProgram".
7.8.3. /FOE PROGRAM CREATE
The create command creates a new empty program with the specified name.
Syntax:
/foe program create <name>
Parameters:
name -- The name of the program.
Permissions Required:
foe.program.write
Example:
/foe program create MyProgram
Creates a program named "MyProgram".
7.8.4. /FOE PROGRAM DELETE
The delete command deletes the specified program. You must confirm deletion of the program by using the command "/foe program confirm" or reject the deletion of the program by using the command "/foe program reject".
Syntax:
/foe program delete <name|CONFIRM|CANCEL>
Parameters:
name -- The name of the program.
CONFIRM -- Confirm the deletion of a program.
CANCEL -- Reject the deletion of a program.
Permissions Required:
foe.program.write
Example:
/foe program delete MyProgram /foe program delete CONFIRM
Requests that the program "MyProgram" be deleted and then confirms the deletion.
7.8.5. /FOE PROGRAM HELP
The help command displays the specified page of the list of available commands or the first page if no page is specified.
Syntax:
/foe program help [page]
Parameters:
page -- The help page to display.
Permissions Required:
None.
7.8.6. /FOE PROGRAM INSERT
The insert command inserts a new line of code to the specified program at the specified line. You may insert more than one line by separating each opcode with semi-colons.
Syntax:
/foe program insert <name> <line> <opcode>[;<opcode>[...]]
Parameters:
name -- The name of the program.
line -- The line to insert the code at.
opcode -- The opcode to add to the program.
Permissions Required:
foe.program.write
Example:
/foe program insert MyProgram 3 SET O0 I0
Inserts one line at line 3 to the program "MyProgram".
/foe program insert MyProgram 2 AND I0 I1 R0;AND I2 I3 R1;AND R0 R1 O0
Inserts three lines at line 2 to the program "MyProgram".
7.8.7. /FOE PROGRAM LIST
The list command displays a list of all programs or the code within a specified program belonging the specified player starting at an optionally specified line number. If no player is specified, then the current player is assumed. When listing the code within a program, if the end of the program is reached then "EOL" is printed.
Syntax:
/foe program list [[player::]name [line]]
Parameters:
player -- The name of the player.
name -- The name of the program.
line -- The line number to begin listing the code at.
Permissions Required:
foe.program.write
Example:
/foe program list
Displays a list of all programs.
/foe program list MyProgram
Displays the code in the program "MyProgram" starting at line 0.
/foe program list MyProgram 32
Displays the code in the program "MyProgram" starting at line 32.
7.8.8. /FOE PROGRAM OWNER
The owner command changes the owner of the specified program to the specified user.
Syntax:
/foe program owner <name> <player>
Parameters:
name -- The name of the program.
player -- The name of the player.
Permissions Required:
foe.program.changeowner
Example:
/foe program owner MyProgram JohnDoe
Changes the owner of "MyProgram" to "JohnDoe".
7.8.9. /FOE PROGRAM REMOVE
The remove command removes the specified number of lines of code starting at the specified line. If the number of lines of code to remove is not specified, a single line of code is removed.
Syntax:
/foe program remove <name> <line> [lines]
Parameters:
name -- The name of the program.
line -- The line number to start removing code at.
lines -- The number of lines of code to remove.
Permissions Required:
foe.program.write
Example:
/foe program remove MyProgram 4
Removes a line of code from the program "MyProgram" at line 4.
/foe program remove MyProgram 7 2
Removes two lines of code from the program "MyProgram" starting at line 7.
7.8.10. /FOE PROGRAM RENAME
The rename command renames the specified program.
Syntax:
/foe program <name> <newname>
Parameters:
name -- The name of the program.
newname -- The new name of the program.
Permissions Required:
foe.program.write
Example:
/foe program rename MyProgram YourProgram
Renames the program "MyProgram" to "YourProgram".
7.8.11. /FOE PROGRAM RUN
The run command runs the specified program using the specified input belonging the specified player. If no player is specified, then the current player is assumed.
Syntax:
/foe program run <[player::]name> [input[ input[...]]]
Parameters:
name -- The name of the program
input -- A boolean value that indicates the value of the input.
Permissions Required:
foe.program.write
Example:
/foe program run MyProgram 1 0 1 1
Runs the program "MyProgram".
7.9. PERMISSIONS
The following permissions are used with programs:
7.9.1. FOE.PROGRAM.CHANGEOWNER
Allows a player to change the owner of program.
7.9.2. FOE.PROGRAM.WRITE
Allows a player to write programs.
8. REGIONS
8.1. CREATING REGIONS
Regions may be created using two methods. Regions may not be larger than the size defined in the configuration file unless you have the foe.region.bypass.size permission.
The foe.region.create permission is required in order to create regions.
8.1.1. CREATING A REGION USING COORDINATES
A region may be created using a specified set of coordinates. Use the /foe region create command specifing the name of the new region and the coordinates of each corner of the region.
8.1.2. CREATING A REGION USING SELECTION
A region may be created using a selection tool. Use the /foe region create command specifing the name of the new region. The selection tool will be automatically added to your inventory. Right-click to select the first corner of the region. Right-click again to select the second corner of the region to finish creating the region. Use the /foe region create command to exit selection mode without creating the region.
8.2. MODIFYING REGIONS
Regions may be modified using two methods. Regions may not be larger than the size defined in the configuration file unless you have the foe.region.bypass.size permission.
The foe.region.modify permission is required or you must be the owner in order to modify a region.
8.2.1. MODIFYING A REGION USING COORDINATES
A region may be modified using a specified set of coordinates. Use the /foe region modify command specifing the name of the new region and the coordinates of each corner of the region.
8.2.2. MODIFYING A REGION USING SELECTION
A region may be modified using a selection tool. Use the /foe region modify command specifing the name of the new region. The selection tool will be automatically added to your inventory. Right-click to select the first corner of the region. Right-click again to select the second corner of the region to finish modifing the region. Use the /foe region modify command to exit selection mode without modifing the region.
8.3. PROTECTION
When protection is enabled for a region, players that do not own the region or who do not have the foe.region.bypass.protection permission cannot place or destroy blocks within that region.
8.4. LOCKING
When locking is enabled for a region, players that do not own the region, are on the region's allow list, or who do not have the foe.region.bypass.lock permission may not enter the region and will be ejected to the closest border.
8.5. Z-ORDER
Regions are allowed to overlap. When a player is within the overlapped portion of two or more regions, the z-order of the regions controls which region is used when checking for protection and locking. The region with lowest z-order is used. If two regions have the same z-order, then the region that was created first is used.
Example:

Given the two overlapped regions above, if region 2 has a z-order of 0 and region 1 has a z-order of 1, then when a player moves into the blue area region 2 is used to determine protection and locking.
8.6. BUY REGION SIGNS
The buy region sign allows a player to buy a region. A buy region sign is created by placing a sign within a region. The first line of the sign must be "[BuyRegion]". The next line must the cost charged to the player using the sign. The first line of the sign will turn blue if it has been created successfully; otherwise it will turn red. When a player uses the sign, the player will become the owner of the region and the sign will be destroyed.
The foe.signs.create.buyregion or foe.signs.buyregion.create permission is required to be able to create a buy region sign. The foe.signs.use.buyregion or foe.signs.buyregion.use permission is required to be able to use a buy region sign.
Example:
| [BuyRegion] |
| $100000 |
| |
| |
 |
8.7. COMMANDS
The following commands are used with regions:
8.7.1. /FOE REGION ALLOW
The allow command adds a player to the list of allowed players for the specified region.
Syntax:
/foe region allow <name> <player>
Parameters:
name -- The name of the region.
player -- The name of the player.
Permissions Required:
foe.region.modify or ownership
Example:
/foe region allow MyRegion JohnDoe
Allows JohnDoe to enter the region "MyRegion".
8.7.2. /FOE REGION CREATE
The create command creates a new region. If the coordinates are not specified, the corners of the region are defined by right-clicking on a block using a bone. Regions may not be larger than the size defined in the configuration file unless the user has the foe.region.bypass.size permission.
Syntax:
/foe region create <name [x1 y1 z1 x2 y2 z2]|CANCEL>
Parameters:
name -- The name of the region.
x1 -- The first x-coordinate of the region.
y1 -- The first y-coordinate of the region.
z1 -- The first z-coordinate of the region.
x2 -- The second x-coordinate of the region.
y2 -- The second y-coordinate of the region.
z2 -- The second z-coordinate of the region.
CANCEL -- Cancel region creation.
Permissions Required:
foe.region.create
Example:
/foe region create MyRegion
Enters selection mode to create the region "MyRegion".
8.7.3. /FOE REGION CURRENTREGION
The currentregion command displays a list of regions that the player is current located in sorted in the order that regions are evaluated in.
Syntax:
/foe region currentregion
Parameters:
None.
Permissions Required:
foe.region.list
Example:
/foe region currentregion
Displays the regions the player is currently located in.
8.7.4. /FOE REGION DELETE
The delete command deletes the specified region.
Syntax:
/foe region delete <name>
Parameters:
name -- The name of the region.
Permissions Required:
foe.region.delete or ownership
Example:
/foe region delete MyRegion
Deletes the region "MyRegion".
8.7.5. /FOE REGION DENY
The deny command removes a player to the list of allowed players for the specified region.
Syntax:
/foe region deny <name> <player>
Parameters:
name -- The name of the region.
player -- The name of the player.
Permissions Required:
foe.region.modify or ownership
Example:
/foe region deny MyRegion JohnDoe
Prohibits JohnDoe from entering the region "MyRegion".
8.7.6. /FOE REGION ENTERMESSAGE
The entermessage command sets the message displayed when a player enters the specified region. If the message is omitted, no message is displayed to the player. Color codes may be used in the message.
Syntax:
/foe region entermessage <name> [message]
Parameters:
name -- The name of the region.
message -- The message displayed.
Permissions Required:
foe.region.modify or ownership
Example:
/foe region entermessage MyRegion &4Entering MyRegion!
8.7.7. /FOE REGION EXPAND
The expand command expands the specified region up or down.
Syntax:
/foe region expand <name> <UP|DOWN|BOTH> <blocks|MAX>
Parameters:
name -- The name of the region.
UP -- Expand the region up.
DOWN -- Expand the region down.
BoTH -- Expand the region up and down.
blocks -- The number of blocks.
MAX -- Expand the region to the limit.
Permissions Required:
foe.region.modify or ownership
Example:
/foe region expand MyRegion both max
8.7.8. /FOE REGION HELP
The help command displays the specified page of the list of available commands or the first page if no page is specified.
Syntax:
/foe region help [page]
Parameters:
page -- The help page to display.
Permissions Required:
None.
Example:
/foe region help 3
8.7.9. /FOE REGION INFO
The info command displays information about the specified region. If the region is omitted, information about the current region is displayed.
Syntax:
/foe region info [name]
Parameters:
name -- The name of the region.
Permissions Required:
foe.region.info or ownership
Example:
/foe region info MyRegion
8.7.10. /FOE REGION INVULNERABILITY
The invulnerability command turns invulnerability on or off within the specified region.
Syntax:
/foe region invulnerability <name> [on|1|true|yes|off|0|false|no]
Parameters:
name -- The name of the region.
Permissions Required:
foe.region.modify or ownership
Example:
/foe region invulnerability MyRegion off
8.7.11. /FOE REGION LEAVEMESSAGE
The leavemessage command sets the message displayed when a player leaves the specified region. If the message is omitted, no message is displayed to the player. Color codes may be used in the message.
Syntax:
/foe region leavemessage <name> [message]
Parameters:
name -- The name of the region.
message -- The message displayed.
Permissions Required:
foe.region.modify or ownership
Example:
/foe region leavemessage MyRegion &4Leaving MyRegion!
8.7.12. /FOE REGION LIST
The list command displays a list of all the regions.
Syntax:
/foe region list
Parameters:
None.
Permissions Required:
foe.region.list
Example:
/foe region list
8.7.13. /FOE REGION LOCK
The pvp command locks or unlocks the specified region.
Syntax:
/foe region lock <name> [on|1|true|yes|off|0|false|no]
Parameters:
name -- The name of the region.
Permissions Required:
foe.region.modify or ownership
Example:
/foe region lock MyRegion off
8.7.14. /FOE REGION MODIFY
The modify command modifies the specified region. If the coordinates are not specified, the corners of the region are defined by right-clicking on a block using a bone. A region defined this way must be confirmed. Regions may not be larger than the size defined in the configuration file unless the user has the foe.region.bypass.size permission.
Syntax:
/foe region modify <name [x1 y1 z1 x2 y2 z2]|CANCEL>
Parameters:
name -- The name of the region.
x1 -- The first x-coordinate of the region.
y1 -- The first y-coordinate of the region.
z1 -- The first z-coordinate of the region.
x2 -- The second x-coordinate of the region.
y2 -- The second y-coordinate of the region.
z2 -- The second z-coordinate of the region.
CANCEL -- Cancel region modification.
Permissions Required:
foe.region.modify or ownership
Example:
/foe region modify MyRegion
8.7.15. /FOE REGION OWNER
The owner command sets the owner of the specified region.
Syntax:
/foe region owner <name> <player>
Parameters:
name -- The name of the region.
player -- The name of the player.
Permissions Required:
foe.region.modify or ownership
Example:
/foe region owner MyRegion JohnDoe
8.7.16. /FOE REGION PROTECT
The pvp command turns protection on or off within the specified region.
Syntax:
/foe region protect <name> [on|1|true|yes|off|0|false|no]
Parameters:
name -- The name of the region.
Permissions Required:
foe.region.modify or ownership
Example:
/foe region protect MyRegion off
8.7.17. /FOE REGION PVP
The pvp command turns PVP on or off within the specified region.
Syntax:
/foe region pvp <name> [on|1|true|yes|off|0|false|no]
Parameters:
name -- The name of the region.
Permissions Required:
foe.region.modify or ownership
Example:
/foe region pvp MyRegion off
8.7.18. /FOE REGION RENAME
The rename command renames the specified region.
Syntax:
/foe region zorder <name> <newname>
Parameters:
name -- The name of the region.
newname -- The new name of the region.
Permissions Required:
foe.region.modify or ownership
Example:
/foe region rename MyRegion YourRegion
8.7.19. /FOE REGION ZORDER
The zorder command sets the z-order of the specified region.
Syntax:
/foe region zorder <name> <zorder>
Parameters:
name -- The name of the region.
zorder -- The z-order.
Permissions Required:
foe.region.modify or ownership
Example:
/foe region zorder MyRegion 2
8.8. PERMISSIONS
The following permissions are used with regions:
8.8.1. FOE.REGION.BYPASS.LOCK
Allows a player to enter locked regions without explicit permission.
8.8.2. FOE.REGION.BYPASS.PROTECTION
Allows a player to ignore region protection.
8.8.3. FOE.REGION.BYPASS.SIZE
Allows a player to create a region greater than the size restriction.
8.8.4. FOE.REGION.CREATE
Allows a player to create a region.
8.8.5. FOE.REGION.DELETE
Allows a player to delete a region they do not own.
8.8.6. FOE.REGION.INFO
Allows a player to view information about a region.
8.8.7. FOE.REGION.LIST
Allows a player to list regions.
8.8.8. FOE.REGION.MODIFY
Allows a player to modify a region they do not own.
8.8.9. FOE.SIGNS.BUYREGION.CREATE
Allows a player to create a "BuyRegion" sign.
8.8.10. FOE.SIGNS.BUYREGION.USE
Allows a player to use a "BuyRegion" sign.
8.8.11. FOE.SIGNS.CREATE.BUYREGION
Allows a player to create a "BuyRegion" sign.
8.8.12. FOE.SIGNS.USE.BUYREGION
Allows a player to use a "BuyRegion" sign.
9. SIGNS
9.1. COLORED SIGNS
Colored signs allow you to color the content on a sign. Use the following character sequences in the text of the sign to change the color:
| Sequence |
Color |
| &0 |
Black |
| &1 |
Dark Blue |
| &2 |
Dark Green |
| &3 |
Dark Aqua |
| &4 |
Dark Red |
| &5 |
Dark Purple |
| &6 |
Gold |
| &7 |
Gray |
| &8 |
Dark Gray |
| &9 |
Blue |
| &a |
Green |
| &b |
Aqua |
| &c |
Red |
| &d |
Light Purple |
| &e |
Yellow |
| &f |
White |
The foe.signs.create.colored or foe.signs.colored.create permission is required to be able to create a colored sign.
9.2. REPAIR SIGNS
The repair sign repairs an item when used. A repair sign is created by placing a sign. The first line of the sign must be "[Repair]". The next line must be a repair type. The third line, which is optional, is the cost charged to the player using the sign. The first line of the sign will turn blue if it has been created successfully; otherwise it will turn red.
| Repair Type |
Description |
| Wooden Items |
Repairs all wooden items |
| Wooden Tools |
Repairs all wooden tools |
| Wooden Weapons |
Repairs all wooden weapons |
| Leather Items |
Repairs all leather items |
| Leather Armor |
Repairs all leather armor |
| Stone Items |
Repairs all stone items |
| Stone Tools |
Repairs all stone tools |
| Stone Weapons |
Repairs all stone weapons |
| Iron Items |
Repairs all iron items |
| Iron Tools |
Repairs all iron tools |
| Iron Weapons |
Repairs all iron weapons |
| Iron Armor |
Repairs all iron armor |
| Gold Items |
Repairs all gold items |
| Gold Tools |
Repairs all gold tools |
| Gold Weapons |
Repairs all gold weapons |
| Gold Armor |
Repairs all gold armor |
| Diamond Items |
Repairs all diamond items |
| Diamond Tools |
Repairs all diamond tools |
| Diamond Weapons |
Repairs all diamond weapons |
| Diamond Armor |
Repairs all diamond armor |
| Chain Items |
Repairs all chainmail items |
| Chain Armor |
Repairs all chainmail armor |
| All Items |
Repairs all items |
| All Tools |
Repairs all tools |
| All Weapons |
Repairs all weapons |
| All Armor |
Repairs all armor |
The foe.signs.create.repair or foe.signs.repair.create permission is required to be able to create a repair sign. The foe.signs.use.repair or foe.signs.repair.use permission is required to be able to use a repair sign.
Example:
| [Repair] |
| Gold Armor |
| |
| |
 |
9.3. TIME SIGNS
The time sign changes the time when used. A time sign is created by placing a sign. The first line of the sign must be "[Time]". The next line must be either "day" or "night". The third line, which is optional, is the cost charged to the player using the sign. The first line of the sign will turn blue if it has been created successfully; otherwise it will turn red.
The foe.signs.create.time or foe.signs.time.create permission is required to be able to create a time sign. The foe.signs.use.time or foe.signs.time.use permission is required to be able to use a time sign.
Example:
| [Time] |
| day |
| |
| |
 |
9.4. WEATHER SIGNS
The weather sign changes the weather when used. A weather sign is created by placing a sign. The first line of the sign must be "[Weather]". The next line must be either "sunny" or "stormy". The third line, which is optional, is the cost charged to the player using the sign. The first line of the sign will turn blue if it has been created successfully; otherwise it will turn red.
The foe.signs.create.weather or foe.signs.weather.create permission is required to be able to create a weather sign. The foe.signs.use.weather or foe.signs.weather.use permission is required to be able to use a weather sign.
Example:
| [Weather] |
| sunny |
| |
| |
 |
9.5. WIRELESS SIGNS
Redstone current may be transmitted wirelessly through the use of transmit and receive signs. When redstone current powers a transmit sign, that current is sent to all receive signs that have the same channel and owner as the transmit sign.
The foe.signs.create.wireless or foe.signs.wireless.create permission is required to be able to create a wireless signs.
9.5.1. TRANSMIT SIGN
The transmit sign transmits redstone current. A transmit sign is created by placing a sign. The first line of the sign must be "[Transmit]". The next line must be the channel. The first line of the sign will turn blue if it has been created successfully; otherwise it will turn red. The owner of a successfully created transmit sign will appear on the last line.
Example:
| [Transmit] |
| MyChannel |
|
| JohnDoe |
 |
9.5.2. RECEIVE SIGN
The receive sign receives redstone current. A receive sign is created by placing a sign. The first line of the sign must be "[Receive]". The next line must be the channel. The first line of the sign will turn blue if it has been created successfully; otherwise it will turn red. The owner of a successfully created receive sign will appear on the last line.
Example:
| [Receive] |
| MyChannel |
|
| JohnDoe |
 |
9.6. WOOL COLOR SIGNS
The wool color sign changes the color of the block of wool it is mounted on based on redstone current flowing to the sign. A wool color sign is created by placing a sign on a block of wool. The first line of the sign must be "[WoolColor]". The second line must be the color to change the wool to when redstone current is flowing to the sign. The third line, which is optional, must be the color to change the wool to when redstone current is not flowing to the sign. The first line of the sign will turn blue if it has been created successfully; otherwise it will turn red.
If the sign is mounted on the end of a line of wool, the last block of wool (the block furthest from the sign) will change color instead.
The foe.signs.create.woolcolor or foe.signs.woolcolor.create permission is required to be able to create a wool color sign.
Example:
| [WoolColor] |
| green |
| red |
| |
 |
9.7. COMMANDS
9.7.1. /FOE COLORS
The colors command displays a list of colors used by colored signs.
Syntax:
/foe colors [page]
Parameters:
page -- The page to display.
Permissions Required:
foe.signs.create.colored or foe.signs.colored.create
9.8. PERMISSIONS
The following permissions are used with signs:
9.8.1. FOE.SIGNS.CREATE.COLORED
Allows a player to create a colored sign.
9.8.2. FOE.SIGNS.CREATE.TIME
Allows a player to create a "Time" sign.
9.8.3. FOE.SIGNS.CREATE.REPAIR
Allows a player to create a "Repair" sign.
9.8.4. FOE.SIGNS.CREATE.WEATHER
Allows a player to create a "Weather" sign.
9.8.5. FOE.SIGNS.CREATE.WIRELESS
Allows a player to create a "Transmit" or "Receive" sign.
9.8.6. FOE.SIGNS.CREATE.WOOLCOLOR
Allows a player to create a "WoolColor" sign.
9.8.7. FOE.SIGNS.COLORED.CREATE
Allows a player to create a colored sign.
9.8.8. FOE.SIGNS.REPAIR.CREATE
Allows a player to create a "Repair" sign.
9.8.9. FOE.SIGNS.REPAIR.USE
Allows a player to use a "Repair" sign.
9.8.10. FOE.SIGNS.TIME.CREATE
Allows a player to create a "Time" sign.
9.8.11. FOE.SIGNS.TIME.USE
Allows a player to use a "Time" sign.
9.8.12. FOE.SIGNS.USE.REPAIR
Allows a player to use a "Repair" sign.
9.8.13. FOE.SIGNS.USE.TIME
Allows a player to use a "Time" sign.
9.8.14. FOE.SIGNS.USE.WEATHER
Allows a player to use a "Weather" sign.
9.8.15. FOE.SIGNS.WEATHER.CREATE
Allows a player to create a "Weather" sign.
9.8.16. FOE.SIGNS.WEATHER.USE
Allows a player to use a "Weather" sign.
9.8.17. FOE.SIGNS.WIRELESS.CREATE
Allows a player to create a "Transmit" or "Receive" sign.
9.8.18. FOE.SIGNS.WOOLCOLOR.CREATE
Allows a player to create a "WoolColor" sign.
Appendix A: GLOSSARY
Boolean
Boolean is data type that represents the values TRUE or FALSE.
Integer
Integer is a signed integral data type that stores values in the range -2,147,483,648 to 2,147,483,647 inclusive.
label
A label indentifies a location in a program. Labels must start with an upper alpha, lower alpha, or underscore character. The remaining characters may be upper alpha, lower alpha, numeric, or underscore characters. A label may not be more than 50 characters long.
stack
A stack is a last in, first out (LIFO) data structure. The stack can have either Boolean or Integer data types as an element. A stack is characterized by three fundamental operations: push, pop and peek. The push operation adds a new item to the top of the stack. If the stack is full the stack is then considered to be in an overflow state. The pop operation removes an item from the top of the stack. A pop either reveals previously concealed items or results in an empty stack. If the stack is empty when a peek operation is initiated, then it goes into underflow state (It means no items are present in stack to be removed). The peek operation gets the item from the top-most position and returns it to the user without removing it. The same underflow state can also occur in a peek operation if stack is empty.
Appendix B: COMMANDS
/foe colors [page]
Displays a list of colors used by colored signs.
/foe debug
Toggles debug on and off.
/foe fireresistance
Toggles fire resistance off and on.
/foe flying
Toggles flying off and on.
/foe getinfo
Displays information about the selected block.
/foe help [page]
Displays help information.
/foe instabreak
Toggles insta-break off and on.
/foe instakill
Toggles insta-kill off and on.
/foe nostarvation
Toggles starvation off and on.
/foe permissions [page]
Displays the permissions reference.
/foe portal create <name> <NORTH|SOUTH|EAST|WEST|UP|DOWN> [destination|NONE]
Creates a new portal at the current player location.
/foe portal delete <name>
Deletes an existing portal.
/foe portal destination <name> <destination|NONE>
Changes the destination of a portal.
/foe portal help [page]
Displays the specified page of the list of available commands or the first page if no page is specified.
/foe portal list
Displays a list of all the portals.
/foe portal orientation <name> <NORTH|SOUTH|EAST|WEST|UP|DOWN>
Changes the orientation of a portal.
/foe portal owner <name> <player>
Changes the owner of a portal.
/foe portal zorder <name> <newname>
Renames a portal.
/foe program add <name> <opcode>[;<opcode>[...]]
Adds a new line to a program.
/foe program clear <name>
Removes all lines of code from a program.
/foe program create <name>
Creates a new program.
/foe program delete <name|CONFIRM|CANCEL>
Deletes a program.
/foe program help [page]
Displays help information.
/foe program insert <name> <line> <opcode>[;<opcode>[...]]
Inserts a line of code into a program.
/foe program list [[player::]name [line]]
Displays the list of programs or lists the code for a program.
/foe program owner <name> <player>
Changes the owner of a program.
/foe program remove <name> <line> [lines]
Removes a line of code from a program.
/foe program rename <name> <newname>
Renames a program.
/foe program run <[player::]name> [input[ input[...]]]
Runs a program with the specified input.
/foe region allow <name> <player>
Allows a player to enter a region.
/foe region create <name [x1 y1 z1 x2 y2 z2]|CANCEL>
Creates a new region.
/foe region currentregion
Displays the regions the player is currently in.
/foe region delete <name>
Deletes a region.
/foe region deny <name> <player>
Denies access to player from entering a region.
/foe region entermessage <name> [message]
Displays or sets the enter message of a region.
/foe region expand <name> <UP|DOWN|BOTH> <blocks|MAX>
Expands or contracts a region.
/foe region help [page]
Displays help information.
/foe region info
Displays information about a region.
/foe region invulnerability <name> [on|1|true|yes|off|0|false|no]
Sets invulnerability within a region.
/foe region leavemessage <name> [message]
Displays or sets the leave message of a region.
/foe region list
Displays a list of regions.
/foe region lock <name> [on|1|true|yes|off|0|false|no]
Locks or unlocks a region.
/foe region modify <name [x1 y1 z1 x2 y2 z2]|CANCEL>
Modifies a region.
/foe region owner <name> <player>
Sets the owner of a region.
/foe region protect <name> [on|1|true|yes|off|0|false|no]
Protects or unprotects a region.
/foe region pvp <name> [on|1|true|yes|off|0|false|no]
Turns PVP on or off for a region.
/foe region rename <name> <newname>
Renames a region.
/foe region zorder <name> <zorder>
Changes the z-order of a region.
/foe status [page]
Displays status information.
/foe unlimiteditems
Toggles unlimited items off and on.
/foe waterbreathing
Toggles water breathing off and on.
Appendix C: PERMISSIONS
foe.debug
Allows a player to toggle additional debug information on and off.
foe.fireresistance
Grants a player fire resistance and allows them to toggle fire resistance off and on.
foe.flying
Grants a player the flying ability and allows them to toggle flying off and on.
foe.instabreak
Grants a player the insta-break ability and allows them to toggle insta-break off and on.
foe.instakill
Grants a player the insta-kill ability and allows them to toggle insta-kill off and on.
foe.nostarvation
Grants a player no starvation and allows them to toggle starvation off and on.
foe.portal.create
Allows a player to create a portal.
foe.portal.delete
Allows a player to delete a portal.
foe.portal.list
Allows a player to list a portal.
foe.portal.modify
Allows a player to modify a portal.
foe.program.changeowner
Allows a player to change the owner of program.
foe.program.write
Allows a player to write programs.
foe.region.bypass.lock
Allows a player to enter locked regions without explicit permission.
foe.region.bypass.protection
Allows a player to ignore region protection.
foe.region.bypass.size
Allows a player to create a region greater than the size restriction.
foe.region.create
Allows a player to create a region.
foe.region.delete
Allows a player to delete a region they do not own.
foe.region.info
Allows a player to view information about a region.
foe.region.list
Allows a player to list regions.
foe.region.modify
Allows a player to modify a region they do not own.
foe.status
Allows a player to display their status.
foe.signs.buyregion.create
Allows a player to create a "BuyRegion" sign.
foe.signs.buyregion.use
Allows a player to use a "BuyRegion" sign.
foe.signs.colored.create
Allows a player to create a colored sign.
foe.signs.create.buyregion
Allows a player to create a "BuyRegion" sign.
foe.signs.create.colored
Allows a player to create a colored sign.
foe.signs.create.ic
Allows a player to create an "IC" sign.
foe.signs.create.repair
Allows a player to create a "Repair" sign.
foe.signs.create.ride
Allows a player to create a "Ride" sign.
foe.signs.create.time
Allows a player to create a "Time" sign.
foe.signs.create.woolcolor
Allows a player to create a "WoolColor" sign.
foe.signs.create.weather
Allows a player to create a "Weather" sign.
foe.signs.create.wireless
Allows a player to create a "Transmit" or "Receive" sign.
foe.signs.ic.create
Allows a player to create an "IC" sign.
foe.signs.repair.create
Allows a player to create a "Repair" sign.
foe.signs.repair.use
Allows a player to use a "Repair" sign.
foe.signs.ride.create
Allows a player to create a "Ride" sign.
foe.signs.ride.use
Allows a player to use a "Ride" sign.
foe.signs.use.buyregion
Allows a player to use a "BuyRegion" sign.
foe.signs.use.repair
Allows a player to use a "Repair" sign.
foe.signs.use.ride
Allows a player to use a "Ride" sign.
foe.signs.use.time
Allows a player to use a "Time" sign.
foe.signs.use.weather
Allows a player to use a "Weather" sign.
foe.signs.time.create
Allows a player to create a "Time" sign.
foe.signs.time.use
Allows a player to use a "Time" sign.
foe.signs.woolcolor.create
Allows a player to create a "WoolColor" sign.
foe.signs.weather.create
Allows a player to create a "Weather" sign.
foe.signs.weather.use
Allows a player to use a "Weather" sign.
foe.signs.wireless.create
Allows a player to create a "Transmit" or "Receive" sign.
foe.unlimiteditems
Grants a player unlimited items and allows them to toggle unlimited items off and on.
foe.waterbreathing
Grants a player water breathing and allows them to toggle water breathing off and on.
Appendix D: COLOR CODES
&0
Black
&1
Dark Blue
&2
Dark Green
&3
Dark Aqua
&4
Dark Red
&5
Dark Purple
&6
Gold
&7
Gray
&8
Dark Gray
&9
Blue
&a
Green
&b
Aqua
&c
Red
&d
Light Purple
&e
Yellow
&f
White
Appendix E: SAMPLE CONFIGURATION FILE
#The following controls the features that are enabled.
features: coloredsigns: true dropchests: true fireresistance: true flying: true instabreak: true instakill: true integratedcircuits: true minecarts: true nostarvation: true portals: true regions: true repairsigns: true timesigns: true unlimiteditems: true waterbreathing: true weathersigns: true wireless: true woolcolor: true
# The following settings apply to regions.
regions: selectiontool: 352 maximumarea: 900 maximumx: 30 maximumz: 30
# The following are used only if permissions are not used.
permissions: users: colors: false debug: false fireresistance: false flying: false instabreak: false instakill: false nostarvation: false portals: create: false delete: false list: false modify: false program: changeowner: false write: false regions: bypass: lock: false protection: false size: false create: false delete: false info: false list: false modify: false signs: create: buyregion: false colored: false ic: false repair: false ride: false time: false weather: false wireless: false woolcolor: false use: buyregion: false repair: false ride: false time: false weather: false status: false unlimiteditems: false waterbreathing: false ops: colors: false debug: false fireresistance: false flying: false instabreak: false instakill: false nostarvation: false portals: create: false delete: false list: false modify: false program: changeowner: false write: false regions: bypass: lock: false protection: false size: false create: false delete: false info: false list: false modify: false signs: create: buyregion: false colored: false ic: false repair: false ride: false time: false weather: false wireless: false woolcolor: false use: buyregion: false repair: false ride: false time: false weather: false status: false unlimiteditems: false waterbreathing: false
|