Commit Graph

15 Commits

Author SHA1 Message Date
wizjany
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
wizjany
31d4daf474 Don't compare null BlockStates. 2019-05-06 19:59:58 -04:00
Kenzie Togami
b8c120e0c4
Finish porting commands 2019-04-26 01:18:02 -07:00
Kenzie Togami
267ccf2298
First attempt at integrating Piston as the only command system 2019-04-15 01:21:15 -07:00
Jesse Boyd
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
wizjany
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
Kenzie Togami
d6804737cf
Switch to SLF4J logging. 2019-03-13 19:51:48 -07:00
Kenzie Togami
2f8bdccf65
Clarify state when asking for caps with no platforms 2018-12-28 22:20:12 -08:00
Kenzie Togami
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
Matthew Miller
6b5f218809 Basically finish the state system. Just 1 more bug that I'm encountering. 2018-08-04 11:43:41 +10:00
Matthew Miller
5f5a1797ad Remove legacy ServerInterface 2018-08-04 11:43:39 +10:00
Matthew Miller
e2608bc0c9 Further modernise and remove legacy item classes 2018-08-04 11:43:39 +10:00
Matthew Miller
aaaf2d5678 More deprecation removal 2018-08-04 11:43:38 +10:00
Matthew Miller
20bf6e079b Continue the great purge 2018-08-04 11:43:38 +10:00
sk89q
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