103 lines
3.3 KiB
Text
103 lines
3.3 KiB
Text
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.
|