fix issues 648 677
Support Team Toggle in Tower & Refactor MonsterTide
Change target perm from target.perm to x.perm.others
Use as `pauseTask(taskName)`. They return boolean values to tell the developer if a timed task can be paused/resumed/cancelled properly. A little bit of testing shows that pausing and then resuming may execute the task multiple times.
by separately handling immediate one-time cost and cost over time.
PluginManager: Use the same class loader and add getPlugin method
fix #635
Development