About Us | Contact Us | Sign In
ForceOne Technologies
BackForceOne Essentials - Documentation
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

• None.

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

• Elevators

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)

• Initial release.

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.

Booster Track

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.

Destroy Mine Cart Track

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.

Eject Track

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.

Reverse Track

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.

Slow Track

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.

Stop Track

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.

Integrated Circuit

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:

INPUT OUTPUT
A  
0 1
1 0

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:

Z-Order

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

Copyright (c) 2011 ForceOne Technologies. Web site design copyright (c) 2011 ForceOne Technologies. Logos are copyright and/or trademarked by their respective holders. All rights reserved.
Home | MineCraft | Go | Illusions | References | Contact Us | About Us