Commit Graph

15 Commits

Author SHA1 Message Date
c0f2557f15 Make the selection wand and navigation wand normal tools. (#493)
This means users can bind and unbind them to any item, like other tools.
By default, the items in config will be automatically bound. After
setting a different item via `//selwand` or `//navwand`, that item will
subsequently be used for that user.

Also add -n to //wand to get a navwand.

Also various other tool-related cleanup.
2019-06-28 15:45:16 -04:00
31d4daf474 Don't compare null BlockStates. 2019-05-06 19:59:58 -04:00
b8c120e0c4 Finish porting commands 2019-04-26 01:18:02 -07:00
267ccf2298 First attempt at integrating Piston as the only command system 2019-04-15 01:21:15 -07:00
9ba1121592 swap order of checks
since a boolean check is faster than getting inventory item + string
comparison
2019-04-04 10:45:21 +11:00
1934006d14 Better enforce the Request lifetime.
Previously, the current request would just get a new EditSession when
one was created. Now, a Request is reset before and after:
 - a command is used and
 - an interact is fired with the platform
This means each action taken will get a single, non-reusable Request.

Note that this only applies to actions taken through the platform.
API users will not be using requests anyway, since things like Masks,
etc. will be constructed directly instead of being passed through the
platform's parsers and so on. (e.g. if a plugin loads a schematic into
the world with a mask, they should create the EditSession and mask it
directly, and not use that Mask again for another EditSession in another
World).

Also, get rid of a bunch of (some now-)unnecessary EditSession creation
during command dispatching.

Note that this also fixed the dynamic selection mask, which apparently
has been broken for some unknown amount of time.
2019-03-20 19:13:54 -04:00
d6804737cf Switch to SLF4J logging. 2019-03-13 19:51:48 -07:00
2f8bdccf65 Clarify state when asking for caps with no platforms 2018-12-28 22:20:12 -08:00
399e0ad5fa Refactor vector system to be cleaner
- Move Vector, etc. into `.math` package
- Drop many methods that will be auto-promoted anyways, eg. with
`divide(int)` and `divide(double)` the first is now gone.
- Take Block vectors into their own class hierarchy
- Make it clear throughout the API what takes blockvectors
- many more improvements
2018-11-03 23:00:23 -07:00
6b5f218809 Basically finish the state system. Just 1 more bug that I'm encountering. 2018-08-04 11:43:41 +10:00
5f5a1797ad Remove legacy ServerInterface 2018-08-04 11:43:39 +10:00
e2608bc0c9 Further modernise and remove legacy item classes 2018-08-04 11:43:39 +10:00
aaaf2d5678 More deprecation removal 2018-08-04 11:43:38 +10:00
20bf6e079b Continue the great purge 2018-08-04 11:43:38 +10:00
7192780251 Switch to Gradle. Use git log --follow for history.
This converts the project into a multi-module Gradle build.

By default, Git does not show history past a rename, so use git log
--follow to see further history.
2014-11-14 11:27:39 -08:00