So you're interested in creating your own custom rules, and you know Java? You've found the right place. From here you'll be able to find the particular interface you'd like to implement to create a rule, and how to test that rule.
Considerations for Creating all types of Jao Rules
There are several considerations when creating rules. For one, since all rules during their lifetime will become a part of one or more java.util.Hashtables, all internal classes one writes must be serializable. In fact, it is a good idea not to write internal classes at all, due to size and time constraints on the Internet. Also, it is implausible to create dependant classes because of name conflictions. Custom rules are given a custom name based on which other rules have been created, so custom dependant classes may conflict with each other once loaded on the server. If one must create other classes, then one must use internal serializable classes.
Types of Jao Rules
There are 8 different types of Jao rules. Card rules, action rules, property rules, suit change rules, order rules, discard rules, penalty card rules, and additional penalty card rules. Additional penalty card rules are only allowed in base rule sets, since it would be unfair to give people more penalty cards than they deserve.
Jao Card Rules are rules which allow or deny certain cards to be played. For example, one may rightly decide that it would be unfair for someone else to play a card less than 6 after a king was played. However, another person may rightly decide that the playing of any prime should be played after a card less than 8. There are many combinations that could be put together here...but always remember the Jao Complexity Credo.
Note that the links below may not all work due to the fact that this page is still under contstruction.
Jao Action Rules are rules which obligate a player to perform an action. The obligation may be an actual action, like petting a particular dog, having breakfast at Milliways (The Restaurant at the End of the Universe), temporarily phase shifting to another astral plane, or merely the speaking of a phrase. The speaking of said phrase or performing of said action may cause a sound clip or animation to be played.
Jao Property Rules are the most stupefyingly complex Jao rules in existence. It is for this reason that the Jao Complexity Credo must be adhered to very strictly. For such rules could quite possibly turn all spades into the nine of diamonds, and although the nine of diamonds is a rather interesting card in certain circles of Mao, having thirteen more cards also suddenly being the nine of diamonds is rather odd.
Jao Suit Change Rules are precisely what they are. No more text here is really required.
Jao Order Rules are a varied bunch, the second most varied. For with an order rule, one could quite conceivably reverse the order of play, have some people miss their turns, have the same player play again, or even have a few players play again. In order, of course.
Jao Discard Rules are the most simple of all. They state whether or not a particular card can be discarded after a particular bunch of cards have just been played. Thus, one would not have to comply, and merely decide to miss the chance if one were to need that particular card later.
Jao Penalty Card Rules, named because they cause the exact opposite of what one would think would happen, decrease the number of penalty cards one would normally get. For example, after a long string of penalty card creation cards, one may not have to endure the pain of picking up penalty cards. With a rule like this in effect, it may be possible to instead spare oneself that pain.
Jao Additional Penalty Card Rules are only allowed in base rule sets so to alleviate players from taking more penalty cards than they deserve. With a rule of this nature in effect, the number of penalty cards that one must pick up is increased.