VoteRight - Sponge's First Votifier Listener [Discontinued]

#Copy of post explaining discontinuation: [

#It’s Been A Good Run
I started school yesterday, and it is awesome! I have all the classes I wanted and more, but that introduces a problem. The classes I wanted were AP classes, and each one comes with its own massive work load. I am currently take AP Language and Composition, AP World History, AP Statistics, AP Biology and AP Computer Science Principles. Furthermore, I am taking the AP CompSci course independently, on my own time. One major component of the CompSci course is creating a product of some sort in computing, and I have something I’m very passionate about to work on, and that’s all awesome. Now for the bad news, after beginning school I realised just how much time I would be spending working on school work and home work and the major project for the CompSci course, and that led to a hard decision. I am no longer supporting Star or VoteRight. I simply have too many other things to do. I want to stress that I enjoyed creating VoteRight, and that I don’t want to just give up on it, but in my reality VoteRight really is fairly low on my list of priorities. However, the VoteRight and Star code will stay available on GitHub for as long as possible. They are licensed under the MIT open source license, so anyway can fork and modify the project. In fact, I’d really like to have someone with more time take over VoteRight and/or Star, but I’m not sure who that candidate may be. One thing I can say is I am not leaving the Sponge community, but I will probably not be publishing any plugins any time soon. Again, thanks to everyone who’s complimented my work, thanks to everyone who’s submit bug reports or feature requests and thanks to everyone who’s made all of Sponge possible in general.

Edit:
I’m cleaning out my old GitHub repositories, so I’ve transferred the VoteRight and Star source to dropbox…

#]

#VoteRight - Sponge’s First Votifier Listener

##Introduction
###Features

  • Advanced vote configuration
  • Definable “schemas” or vote actions
  • Define what schemas run when
  • Offline
  • Online
  • Voting Milestones
  • Advanced command system to create, delete, and edit schemas
  • Simple /vote command
  • Economy rewards
  • Offline votes

###Planned Features:

  • None at the moment
  • If you have any features you’d like to see in VoteRight, please suggest them in the comments!

###Credits

  • Thanks to tux for developing NuVotifier
  • Thanks to Darktilldawn for requesting this plugin
  • Thanks to the Sponge Team and all their contributors

###Downloads/Dependencies

VoteRight cannot start if StarAPI is not present. VoteRight can start if NuVotifier is not present, but will not do anything. Currently, VoteRight only supports NuVotifier. If you need support for other plugins, post it in the comments and I’ll see if it can be done. VoteRight can also start without an economy plugin, but not having one will disable money schemas.

###Source


##Schemas

###What is a VoteSchema?
A VoteSchema is a configuration section that defines a specific behavior on a vote. It does this by holding a list of values which could be commands, items, announcements, transactions, or even other schemas. Each VoteSchema can only hold one type of element, but they can be combined into CollectionSchemas to allow for advanced voting configuration. Schemas are defined in a separate “schemas” file.

###Defining A VoteSchema
Note: All keys and literal values are case sensitive.

Every VoteSchema has a “Type” tag that defines its type, for example:

Type= "ANNOUNCE"

A VoteSchema can also have. a percent chance. This percent chance dictates whether or not the schema will be applied. This defaults to 100 if not specified. For example:

Type= "ANNOUNCE"
Chance= 50

Finally, every schema is made up of a list of entries, in the form of an array under the “Entries” tag:

Type= "ANNOUNCE"
Chance= 50
Entries= [
    "%player% Voted!"
]

###Default Schema Types
VoteRight is designed so that developers can add their own Schemas if they wish, but the following is a list of schemas already included in VoteRight. Each Schema below specifies what its type is, and what its entries can look like. Be sure to remember that the entry is not the entire Schema, but goes in a comma/newline separated list under the “Entries” key.

Announcement Schema

Type="ANNOUNCE"

Entries:
Each entry can be one of two things, either a single String, or a configuration section. If it is a configuration section, it must contain the key “Message,” which specifies the message, and it can optionally contain the key “Type,” which can be either “GLOBAL” or “PLAYER.” If the type is GLOBAL, every player will see the message, if the type is PLAYER only the voter will see the message. Both a single String, and a configuration section, will by default use GLOBAL. In any message, “%player%” will be replaced with the voter’s name.

Example:

Type= "ANNOUNCE"
Entries= [
    "%player% voted and received rewards!",
    {
        Message= "Thanks for voting %player%!"
        Type= "PLAYER"
    }
]

Command Schema

Type= "COMMAND"

Entries:
Each entry can be one of two things, either a single String or a configuration section. If it is a configuration section, it must contain the key “Command,” which specifies the command, and it can optionally contain the key “Type,” which can be either “CONSOLE” or “PLAYER.” If the type is CONSOLE the command will be executed by the console. if the type is PLAYER, the command will be executed by the player. Both a single String, and a configuration section, will by default use CONSOLE. In any command, “%player%” will be replaced with the voter’s name.

Example:

Type= "COMMAND"
Entries= [
    "tp %player% 0 256 0",
    {
        Command= "say testing... testing... 1, 2, 3"
        Target= "PLAYER"
    }
]

Money Schema

Type= "MONEY"

Entries:
Each entry must be a configuration section. That section must contain the key “Ammount,” which specifies the amount of money to operate with. The section can optionally contain the key “Currency,” which specifies the id of the currency to modify, and the key “Type,” which specifies the operation to carry out. Currency will default to the currently registered default currency. Type can be:

  • ADD : adds the given amount to the player’s balance
  • SUBTRACT : subtracts the given amount from the player’s balance
  • MULTIPLY : multiplies the player’s balance by the given amount
  • DIVIDE : divides the player’s balance by the given amount

“Type” will default to ADD.

Example:

Type= "MONEY"
Entries= [
    {
        Amount= 5
    },
    {
        Amount= 2
        Type= "MULTIPLY"
        Currency= "com.example.multiplying_currency"
    }
]

Item Schema

Type= "ITEM"

Entries:
Each entry must be a configuration section. The only required key is “Type,” which specifies the id of the item to give. There are also many optional keys:

  • “Meta” : the metadata of the item (as in, wool color, wood type, etc.), defaults to 0
  • “Amount” : the number of items to give, defaults to 1
  • “Name” : the custom name of the item, defaults to no custom name
  • “Lore” : the lore of the item. Must be an array of strings, defaults to no lore
  • “Enchantments” : the enchantments to apply to the item. Must be an array of configuration sections, defaults to no enchantments

Example:

Type= "ITEM"
Entries= [
    {
        Type= "minecraft:diamond"
    },
    {
        Type= "minecraft:stone_sword"
        Meta= 1
        Amount = 2
        Name= "Stone Sword of the All Powerful Average"
        Lore= [
            "This sword",
            "is really awesome."
        ]
        Enchantments= [
            {
                Type= "minecraft:sharpness"
                Level= 5
            },
            {
                //Level defaults to 1
                Type= "minecraft:unbreaking"
            }
        ]
    }
]

Collection Schema

Type= "COLLECTION"

Entries:
Each entry can either be a string value or a configuration section. The string value must be the name of a schema. Configuration sections must have the key “Schema,” which specifies the name of a schema, sections can optionally have the key “Chance,” which specifies the chance to run the schema when the collection mode is set to “CONSIDER_EACH.” Chance defaults to 100.

Collection Modes:
Each collection schema has one collection mode, which can be either “CONSIDER_EACH” or “SELECT_ONE” (I’m not sure what other modes to add, but I’m open to suggestions). If the mode is “CONSIDER_EACH,” every entry in the CollectionSchema will be considered individually. If the mode is “SELECT_ONE,” a single randomly-selected schema will be run from the CollectionSchema.

Example:

Type= "COLLECTION"
Selection= "CONSIDER_EACH"
//Assuming "items" and "announcements" are names of schemas that actually exist
Entries= [
    "announcements",
    {
        Schema= "items"
        Chance= 75
    }
]

####Example Schema File:

items= {
    Type= "ITEM"
    Chance= 99.0
    Entries= [
        {
            Type= "minecraft:stone_sword"
            Meta= 1
            Amount= 2
            Name= "Stone Sword of The All Powerful Average"
            Lore= [
                "This sword",
                "is really awesome."
            ]
            Enchantments= [
                {
                    Type= "minecraft:sharpness"
                    Level= 5
                }
            ]
        },
        {
            Type= "minecraft:diamond"
            Amount= 2
        },
        {
            Type= "minecraft:sign"
            Amount= 17
            Meta= 0
            Lore= [
            ]
            Enchantments= [
            ]
        }
    ]
}
announcements= {
    Type= "ANNOUNCE"
    Entries= [
        {
            Message= "&b%player% voted and received rewards!"
            Target= "GLOBAL"
        }
    ]
}
commands= {
    Type= "COMMAND"
    Entries= [
        {
            Command= "tp %player% 0 0 0"
            Type= "CONSOLE"
        }
    ]
}


##Counting
VoteRight counts and records every vote sent to it. A log of all votes is stored in the config directory for the server owner, and counts for every player, as well as the total server count, are stored in a data file. VoteCounts can be viewed with commands, are used when displaying the top voters, and are used in triggers. VoteTriggers are defined in the config file.

###VoteTriggers
VoteTriggers are configuration sections that define vote milestones, and what schemas should be called when that milestone is reached. Every VoteTrigger is defined the exact same way. There are no optional arguments for a VoteTrigger. VoteTrigger configuration sections must have a “Type” key, which specifies its behavior, a “Count” key, which specifies the target vote count, and a “Schemas” key, which defines what schemas to run when the trigger is
called. An example trigger is:

Type= "PLAYER_TOTAL"
Count= 100
//Assuming special_items and special_announcements are actual schemas
Schemas= [
    "special_items",
    "special_announcements"
]

All types:

  • TOTAL_ONLINE : called when the given count equals the online server count

  • TOTAL_OFFLINE : called when the given count equals the offline server count

  • TOTAL_ALL : called when the given count equals the total server count

  • PLAYER_ONLINE : called when the given count equals the voter’s online count

  • PLAYER_OFFLINE : called when the given count equals the voter’s offline count

  • PLAYER_ALL : called when the given count equals the voter’s total count

  • TOTAL_ONLINE_INCREMENT : called when the online server count is a multiple of the given count

  • TOTAL_OFFLINE_INCREMENT : called when the offline server count is a multiple of the given count

  • TOTAL_ALL_INCREMENT : called when the total server count is a multiple of the given count

  • PLAYER_ONLINE_INCREMENT : called when the voter’s online count is a multiple of the given count

  • PLAYER_OFFLINE_INCREMENT : called when the voter’s offline count is a multiple of the given count

  • PLAYER_ALL_INCREMENT : called when the voter’s total count is a multiple of the given count

  • TOTAL_ONLINE_RANDOM : called when the given count equals the online server count, schemas are applied to a randomly chosen player who is currently online

  • TOTAL_OFFLINE_RANDOM : called when the given count equals the offline server count, schemas are applied to a randomly chosen player who is currently online

  • TOTAL_ALL_RANDOM : called when the given count equals the total server count, schemas are applied to a randomly chosen player who is currently online

  • PLAYER_ONLINE_RANDOM : called when the given count equals the voter’s online count, schemas are applied to a randomly chosen player who is currently online

  • PLAYER_OFFLINE_RANDOM : called when the given count equals the voter’s offline count, schemas are applied to a randomly chosen player who is currently online

  • PLAYER_ALL_RANDOM : called when the given count equals the voter’s total count, schemas are applied to a randomly chosen player who is currently online

  • TOTAL_ONLINE_INCREMENT_RANDOM : called when the online server count is a multiple of the given count, schemas are applied to a randomly chosen player who is currently online

  • TOTAL_OFFLINE_INCREMENT_RANDOM : called when the offline server count is a multiple of the given count, schemas are applied to a randomly chosen player who is currently online

  • TOTAL_ALL_INCREMENT_RANDOM : called when the total server count is a multiple of the given count, schemas are applied to a randomly chosen player who is currently online

  • PLAYER_ONLINE_INCREMENT_RANDOM : called when the voter’s online count is a multiple of the given count, schemas are applied to a randomly chosen player who is currently online

  • PLAYER_OFFLINE_INCREMENT_RANDOM : called when the voter’s offline count is a multiple of the given count, schemas are applied to a randomly chosen player who is currently online

  • PLAYER_ALL_INCREMENT_RANDOM : called when the voter’s total count is a multiple of the given count, schemas are applied to a randomly chosen player who is currently online


##Configuration
The configuration is in the JLSC format, a project of mine. JLSC has an incredibly versatile syntax which allows it to accept most HOCON files, and all JSON files, as input. For more information, and the default syntax, see the user guide. If you’re having trouble writing the configuration, just write it in JSON, and check it here.

Example configuration:

Note: the arrows (//<--) are not part of the configuration syntax, and are just meant for describing specific values

VoteMessage= [ //<-- The vote message is an array of strings or arrays.
    ["Vote at ", "http://example.com", "!"], //<-- Separate a single line message if it has a link in it. The link will be clickable. Links must start with https:// or http:// to work.
    "Another line of text!", //<-- Each entry is another line
    "&bColors are supported" //<-- Colors are supported in the messages
]
Voting= { //<-- The main configuration section for voting
    Schemas= [ //<-- The list of schemas to be run on an online vote
        "items"
    ]
}
OfflineVoting= { //<-- The main configuration section for offline voting
    Enabled= true //<-- If this is false, offline votes will not considered for schemas. Counts and triggers will still be run normally
    Schemas= [ //<-- The list of schemas to be run on an offline vote
        "items",
        "announcements" //<-- Warning! Since offline votes are checked on every player login, if a player votes offline for a while, and then logs in, chat may be spammed with messages if you include an announcement schema in the offline votes
    ]
}
Counting= { //<-- The main configuration section for counting and triggers
    Enabled= true //<-- If this is false, no triggers will be run. Votes will still be recorded and counted
    Triggers= [ //<-- A list of triggers
        {
            Count= 10
            Type= "PLAYER_ONLINE_INCREMENT"
            Schemas= [
                "items",
                "announcements"
            ]
        }
    ]
}


##Commands

####Conversations
Conversations are a simple way to enter complex commands. A conversation allows the player to enter each argument in a command separately. To start a conversation, use the command “/conversation ,” or more specifically, to start a conversation for a voteright command, type “/conversation voteright.” Furthermore, you can start a conversation with a command directly in the in-game help menu. Just click the “/conversation” button.

####Commands
Every command uses “modular” permissions, meaning that every permission starting with “voteright.trigger” is given if just the permission “voteright.trigger” is given. So a player would have the permission to use any voteright command if they have the permission “voteright.”

All command help can be accessed in game via “/voteright help.” Below is the markdown form of that help menu. The below list was generated by StarAPI, so it may be repetitive or over-specified in parts.

  • votetop:
    • Aliases:
      • votetop
    • Permission: voteright.votetop
    • Description: Displays the top voters, as well as the total server vote count.
    • Help: Lists top votes.
    • Usage: /votetop <?amount> <?comparison>
  • vote:
    • Aliases:
      • vote
    • Permission: voteright.vote
    • Description: Displays the predefined vote message from the config.
    • Help: Displays vote message.
    • Usage: /vote
  • voteright:
    • Aliases:
      • voteright
      • vr
    • Permission: none
    • Description: Main VoteRight command
    • Help: Main VoteRight command
    • Usage: /voteright <sub_command> <?args…>
    • Sub Commands:
      • reload:
        • Aliases:
          • reload
          • r
        • Permission: voteright.reload
        • Description: Reloads VoteRight configurations from disk.
        • Help: Reloads VoteRight
        • Usage: /voteright reload
      • edit:
        • Aliases:
          • edit
        • Permission: none
        • Description: Allows adding and deleting of entries from schemas.
        • Help: Schema edit command
        • Usage: /voteright edit <sub_command> <?args…>
        • Sub Commands:
          • item:
            • Aliases:
              • item
            • Permission: none
            • Description: The main command for editing schemas of the type “ITEM”
            • Help: Schema edit command
            • Usage: /voteright edit item <?args…>
            • Sub Commands:
              • add:
                • Aliases:
                  • add
                • Permission: voteright.schema.edit.item
                • Description: Adds an entry to the specified schema of type “ITEM”
                • Help: Adds an entry to a schema
                • Usage: /voteright edit item add <schema_name> <?amount> <?meta> <?name> <?lore> <?enchantments> <?save>
              • remove:
                • Aliases:
                  • remove
                • Permission: voteright.schema.edit.item
                • Description: Removes an entry from the specified schema of type “ITEM”
                • Help: Removes an entry to a schema
                • Usage: /voteright edit item remove <schema_name> <?save>
          • money:
            • Aliases:
              • money
            • Permission: none
            • Description: The main command for editing schemas of the type “MONEY”
            • Help: Schema edit command
            • Usage: /voteright edit money <?args…>
            • Sub Commands:
              • add:
                • Aliases:
                  • add
                • Permission: voteright.schema.edit.money
                • Description: Adds an entry to the specified schema of type “MONEY”
                • Help: Adds an entry to a schema
                • Usage: /voteright edit money add <schema_name> <?type> <?currency> <?save>
              • remove:
                • Aliases:
                  • remove
                • Permission: voteright.schema.edit.money
                • Description: Removes an entry from the specified schema of type “MONEY”
                • Help: Removes an entry to a schema
                • Usage: /voteright edit money remove <schema_name> <?save>
          • collection:
            • Aliases:
              • collection
            • Permission: none
            • Description: The main command for editing schemas of the type “COLLECTION”
            • Help: Schema edit command
            • Usage: /voteright edit collection <?args…>
            • Sub Commands:
              • add:
                • Aliases:
                  • add
                • Permission: voteright.schema.edit.collection
                • Description: Adds an entry to the specified schema of type “COLLECTION”
                • Help: Adds an entry to a schema
                • Usage: /voteright edit collection add <schema_name> <?chance> <?save>
              • remove:
                • Aliases:
                  • remove
                • Permission: voteright.schema.edit.collection
                • Description: Removes an entry from the specified schema of type “COLLECTION”
                • Help: Removes an entry to a schema
                • Usage: /voteright edit collection remove <schema_name> <?save>
          • command:
            • Aliases:
              • command
            • Permission: none
            • Description: The main command for editing schemas of the type “COMMAND”
            • Help: Schema edit command
            • Usage: /voteright edit command <?args…>
            • Sub Commands:
              • add:
                • Aliases:
                  • add
                • Permission: voteright.schema.edit.command
                • Description: Adds an entry to the specified schema of type “COMMAND”
                • Help: Adds an entry to a schema
                • Usage: /voteright edit command add <schema_name> <?type> <?save>
              • remove:
                • Aliases:
                  • remove
                • Permission: voteright.schema.edit.command
                • Description: Removes an entry from the specified schema of type “COMMAND”
                • Help: Removes an entry to a schema
                • Usage: /voteright edit command remove <schema_name> <?save>
          • announce:
            • Aliases:
              • announce
            • Permission: none
            • Description: The main command for editing schemas of the type “ANNOUNCE”
            • Help: Schema edit command
            • Usage: /voteright edit announce <?args…>
            • Sub Commands:
              • add:
                • Aliases:
                  • add
                • Permission: voteright.schema.edit.announce
                • Description: Adds an entry to the specified schema of type “ANNOUNCE”
                • Help: Adds an entry to a schema
                • Usage: /voteright edit announce add <schema_name> <?type> <?save>
              • remove:
                • Aliases:
                  • remove
                • Permission: voteright.schema.edit.announce
                • Description: Removes an entry from the specified schema of type “ANNOUNCE”
                • Help: Removes an entry to a schema
                • Usage: /voteright edit announce remove <schema_name> <?save>
      • save:
        • Aliases:
          • save
          • s
        • Permission: voteright.save
        • Description: Saves all VoteRight files to disk.
        • Help: Saves VoteRight files.
        • Usage: /voteright save
      • count:
        • Aliases:
          • count
        • Permission: none
        • Description: Allows viewing and setting of player VoteCounts, and viewing of the server VoteCount.
        • Help: Main VoteCount command
        • Usage: /voteright count <?args…>
        • Sub Commands:
          • view:
            • Aliases:
              • view
            • Permission: voteright.count.view
            • Description: Displays a VoteCount given the specified owner. Use “$server” to view the total count.
            • Help: Displays a VoteCount.
            • Usage: /voteright count view <count_owner>
          • set:
            • Aliases:
              • set
            • Permission: voteright.count.set
            • Description: Sets a VoteCount given the specified owner. You cannot set the server VoteCount, as it is calculated by adding up all the other VoteCounts.
            • Help: Sets a VoteCount.
            • Usage: /voteright count set <count_owner> <?online> <?offline> <?save>
      • create:
        • Aliases:
          • create
          • cre
        • Permission: voteright.schemas.create
        • Description: Creates a new, empty schema of the given type and name.
        • Help: Creates a new schema.
        • Usage: /voteright create <schema_name> <schema_type> <?save>
      • trigger:
        • Aliases:
          • trigger
        • Permission: none
        • Description: Allows adding and deleting of VoteTriggers from the config.
        • Help: Main VoteTrigger command
        • Usage: /voteright trigger <sub_command> <?args…>
        • Sub Commands:
          • add:
            • Aliases:
              • add
            • Permission: voteright.trigger.add
            • Description: Adds a VoteTrigger using the given type, count, and schema(s)
            • Help: Adds a trigger
            • Usage: /voteright trigger add <?save>
          • delete:
            • Aliases:
              • delete
            • Permission: voteright.trigger.add
            • Description: Deletes a VoteTrigger at the specified index.
            • Help: Deletes a VoteTrigger.
            • Usage: /voteright trigger delete <?save>
      • simulate:
        • Aliases:
          • simulate
          • sim
        • Permission: voteright.simulate
        • Description: Creates a Votifier vote and invokes the VoteEvent. In theory, any plugins listening to the right event will be triggered.
        • Help: Simulates a vote.
        • Usage: /voteright simulate <?player> <?times>
      • delete:
        • Aliases:
          • delete
          • del
        • Permission: voteright.schemas.delete
        • Description: Deletes a schema.
        • Help: Deletes a schema.
        • Usage: /voteright delete <schema_name> <?save>
      • migrate:
        • Aliases:
          • migrate
          • m
        • Permission: voteright.migrate
        • Description: Migrates the previous VoteRight version to the current one.
        • Help: Migrates VoteRight.
        • Usage: /voteright migrate
7 Likes

@HassanS6000 hsyyid is you, right? :slight_smile:

Yes it is on GitHub

Not my name lol.

@HassanS6000
fixed :wink:

After finally getting a working version of Votifier… This plugin works perfectly! I love the command function you added so I can pretty much let it do anything it really needs to for rewards.You did a really great job with it. Would it be possible to add accumulation voting rewards? Like, they voted a total of 100 times so it will run a special schema instead of the regular?

@Darktilldawn
Sure! I’ll look into that when I get home.

###The VoteTriggers update (0.0.2)

Changelog:

  • Added VoteTriggers
  • Added /vr trigger command
  • Added voteright.trigger permission

Notes:

  • Updated the SpongeVotifier download in the Full Download link to the most recent version
  • Tutorials to be added to the main post about VoteTriggers Tutorials have been added
  • Skipped a version because 0.0.1 was bug fixes

Instructions To Update:

  1. Download VoteRight 0.0.2
  2. Copy & paste your config into another location
  3. Delete the original config
  4. Allow VoteRight 0.0.2 to generate a new config
  5. Take the values from your old config and add them to the new one

###Bug Fixes Update #2

Changelog:

  • Made TOTAL VoteTriggers apply themselves to all offline players as well

Notes:

  • Their our know rules in the English language
  • No relevant notes

Instructions To Update:

  1. Delete VoteRight 0.0.2
  2. Download VoteRight 0.0.3
  3. No weird config stuff this time!

###Vote Count Commands Update (0.0.4)

Changelog

  • Added “/vr count” command, see the ‘commands’ section in the main thread.

Notes:

  • I know I fixed a bug in this version, but I don’t remember what

Instructions To Update:

  1. Delete VoteRight 0.0.3
  2. Download VoteRight 0.0.4
  3. Sucess! No weird config deleting…

Updating Note:
I plan to at some point write an auto-updater… maybe this summer… eventually…

Think you might be able to add in chance rewards? Meaning, you have a 25% change to get this schema, a 10% chance to get a different schema, and say a 65% change to get a different schema?

@Darktilldawn
Sure, I’m a little busy right now, but I should get to it by the end of the weekend.

Awesome sounds great :smile:

What exactly is your plans for the StarAPI? it says minigame lobbies and Npc customization/interactions. I’m very interested in both of those so I’m wondering exactly what you’ll be doing with it in time?

@Darktilldawn
StarAPI is just were I’m throwing any code I think might be useful. Right now it doesn’t do a huge amount. The only NPCs it has are basically named frozen entities, and the lobby just takes a world and disallows any interaction with anything within it. I plan to make a minigame API, but I’m not sure how far that will get. The NPCs will definitely be updated when sponge comes out with its AI interface.

Edit: Also, it has some command utilities, for example it allows that separate-argument-entering behavior for commands

###Updates: Bug fixes (0.0.5) and Schema Chances (0.0.6)
Changelog

  • Added the “chance” key to schemas (See main thread tutorials)
  • Added “chance” argument to “vr create” command (See main thread tutorials)

Instructions To Update:
same as 0.0.4, just new versions

Notes:

  • I know I fixed a few bugs, but not sure exactly what
  • The plugin requires the new StarAPI (0.0.13) from the Full downloads / StarAPI downloads
  • The plugin now generates an example config, that is simply a copy of the original config, except comments are persistent
  • The “data.cif” file is no longer needed, and can be deleted. StarAPI 0.0.13 introduces “data.cjlsc” (compressed JLSC).

Got it updated properly but can’t create a chacnce schema >.< lol

@Darktilldawn
really? that’s odd, what are you typing?
(I probably did something stupid)

Well ingame command is what I need, I type /vr cre chance chance

@Darktilldawn
oh. sorry for not explaing better,
its /vr create [ITEM/ANNOUNCE/COMMAND] [chance], where chance is a number between 0 and 100, so for example"
/vr create item 50 for a 50% chance item schema… xD

Edit: o wait, its /vr create [name] [item/announce/command] [chance] silly me…
so it would be /vr test item 50 for a 50% chance item schema named “test”