tbmcplugins.github.io/Block Logic continued

104 lines
3.3 KiB
Text
Raw Normal View History

2016-09-08 02:02:01 +00:00
Part Two
USER INTERFACE
how will players interact with Block Logic, defining and naming classes, rearranging their heirarchy of importance, setting limits
on how many actions the plugin will take per-event, or per-class, or per-second/minute?
how will mods and admins set what normal players can and cannot do with this plugin? For example, which blocks can or cannot
perform which block-actions; or, how complex can logic trees be for certain listened events; or, which blocks can listen to which
events; or even, which blocks can store classes at all?
my goal here is once again to keep everything as simple to code as possible, and that includes the user interface. The fewer
moving parts and settings, the better.
Commands:
Lists:
LIST CONTENTS OF LIBRARY (from .yml)
HELP TEXT FOR ENTRY "entry" OF LIBRARY "library" (also from .yml)
examples:
"Condition northBlockHasInventory: Adjacent block to the north has an inventory, return true"
allowed_block_types: (list of block IDs this block can have)
"Event playerStepOnThisBlock: Player has stepped on this block"
event_range: 0
"Action blockSetClass: Reassigns this block's class"
denied_classes: (list of classes blockSetClass cannot assign)
"Public_Class becomesRedstoneOnChatEvent: ayy, like the name says"
author: iie
allowed_block_types:
BLOCK LOGIC:
bleh>bleh
bleh>wat>beebeebee>ooh?>yes Action
boob>tit>microwave?>eh>no Action
>notmicrowave>ok Action
Action
Functions:
ARRANGE PRIORITY
what does the plugin do first, per category?
GET or SET an entry's place in its list
RENAME
SET/REMOVE PARAMETER
MAKE CLASS PUBLIC/PRIVATE
toggles which classes the plebs can see and use
Create Class:
CLASS FROM BOOK
converts text of a player's held book into new block class
CREATE CLASS (generic - chat or command block usage)
Permissions:
CREATE PERMISSION CLASS
example: Permission Class "iieMadeThisForZang"
SCOREBOARD VALUE: 123
allowed_events:
denied_events:
allowed_conditions:
denied_condisions:
allowed_actions:
denied_actions:
private_class:
max_tree_size:
etc...
then set Zang's BlockLogicPermission score to 123
LIST PERMISSION CLASSES
SET/REMOVE PARAMETER
RENAME CLASS
DELETE CLASS
==============
NOTE
==============
I again tried to make everything here ELASTIC
meaning this can start small and grow over time, piece by piece.