zml2008
37da1fec40
Added initial SpoutAPI compatibility
2012-01-05 20:58:00 -08:00
TomyLobo
12dbcf6bbc
Added Vector2D.isCollinearWith(Vector2D other).
...
Also added a test for it.
2012-01-05 22:13:21 +01:00
TomyLobo
450feb6630
Added Vector.isCollinearWith(Vector other).
...
Also added a test for it.
2012-01-05 21:27:17 +01:00
TomyLobo
ef3aeda0dc
Added vararg expand and contract overload to Region and AbstractRegion.
2012-01-05 21:06:40 +01:00
TomyLobo
e4d3f70594
Vector changes.
...
- Clarified some javadocs
- Optimized toBlockPoint and made it return a BlockVector instead of a Vector.
- Changed some whitespace
2012-01-05 16:08:53 +01:00
TomyLobo
8c68cdf4a8
Fixed Vector[2D].transform2D not using the aboutX/Z arguments properly.
2012-01-05 15:57:54 +01:00
TomyLobo
a7530b7f89
Added Vector.getMidpoint
2012-01-05 15:35:06 +01:00
TomyLobo
555758288b
Added BlockVector[2D].toBlockVector[2D] overrrides.
...
This returns the current object, for an instant speed boost :)
2012-01-05 15:32:53 +01:00
Yetanotherx
8a24fd9741
Add a cylindrical region selector.
...
- Supports shift
- Supports expand/contract on the y axis
- getArea is slightly inaccurate, but more accuracy would mean more CPU usage.
- Displays as a cuboid in legacy mode.
2012-01-03 23:35:29 +01:00
TomyLobo
0138cd7f1c
EllipsoidRegion's constructor now takes radius, not offset radius.
2012-01-03 17:40:36 +01:00
TomyLobo
3a828c9759
Added Region.shift
...
- Provided a default implementation using expand+contract in AbstractRegion
- Overrid the implementation in the subtypes
2012-01-03 17:40:36 +01:00
TomyLobo
4d708a5003
Extracted an AbstractRegion class with some common functionality of all the region types.
2012-01-03 16:35:19 +01:00
TomyLobo
2cc0087524
Made Polygonal2DRegion(LocalWorld) invoke one of the other constructors.
2012-01-03 16:09:38 +01:00
TomyLobo
082a1995db
Moved EllipsoidRegion's iterator into a separate class called RegionIterator.
2012-01-03 14:26:43 +01:00
TomyLobo
eafde8cc49
Added Vector2D.toVector(double y).
2012-01-03 14:26:43 +01:00
TomyLobo
7c71617dbf
Renamed Polygonal2DRegion.getMin/MaxY to getMinimum/MaximumY.
2012-01-03 04:44:34 +01:00
Yetanotherx
b96ef7b620
Allow conversion from an old region to ellipsoid when using //sel.
2012-01-02 22:15:04 -05:00
TomyLobo
c099ae5eb5
Added floor, ceil and round to Vector and Vector2D.
2012-01-03 03:54:01 +01:00
TomyLobo
e598f8eaa0
Made the fields of Polygonal2DRegionSelector private.
2012-01-03 03:42:39 +01:00
TomyLobo
b05a72fea1
Made the fields in Polygonal2DRegion private.
2012-01-03 03:20:19 +01:00
TomyLobo
978d499282
Added various methods to Vector2D.
...
- Several overloads of add, subtract, multiply and divide
- length, lengthSq, distance, distanceSq, normalize, dot, containedWithin, containedWithinBlock and transform2D
- static methods getMinimum and getMaximum
2012-01-03 01:13:10 +01:00
TomyLobo
9ddbcf0395
Improved Vector.getMinimum and Vector.getMaximum.
2012-01-03 01:13:09 +01:00
TomyLobo
6bbf167cb4
Moved Vector.dot further up in the file and added Vector.cross.
2012-01-03 01:06:15 +01:00
TomyLobo
4500f93a1b
Fixed Vector.containedWithinBlock(min, max) and Vector2D.equals(Vector2D)
2012-01-03 00:58:00 +01:00
TomyLobo
f11415f451
Added Vector.toVector2D and Vector2D.toVector.
2012-01-03 00:41:25 +01:00
TomyLobo
f2e26b07ec
Some region selection fixes
...
- CuboidSelection no longer deals with IncompleteRegionExceptions
- Fixed Polygonal2DSelection not passing its region to the selector
- Fixed Polygonal2DRegion not cloning the list it receives in its constructor
- Gave PolygonalRegionSelector a new constructor where it takes a list of points
2012-01-01 14:50:26 +01:00
Yetanotherx
3b87953da0
Add cuiVersion to LocalSession and set it via incoming CUI event
...
Refactor region selectors to handle legacy versions a bit better.
Because chat doesn't allow the section sign to be sent, I have to send non-color codes. Meh.
closes #158
2011-12-31 22:31:05 -08:00
TomyLobo
616f9a2360
Added support for ellipsoid and sphere selections.
...
//sel ellipsoid, //sel sphere.
2011-12-30 12:02:15 +01:00
TomyLobo
45655e1189
Added a legacy type id system to CUI.
...
Selection types can send fallback typeids and information now, for older WECUI versions to use.
2011-12-30 12:02:15 +01:00
TomyLobo
0b5c8748b5
Fixed some warnings.
2011-12-30 10:46:12 +01:00
zml2008
4fb44ebc1d
Added more flexibility to the Bukkit dynamic command registration system.
2011-12-29 13:59:48 -08:00
zml2008
76f1ea9cf2
Added a gravity brush.
2011-12-28 02:04:27 -08:00
zml2008
754997ca73
Now sending an additional §4§5§3§4 color code for WECUI's handshake, so it knows that it has a version of WorldEdit with protocol version support
2011-12-27 22:20:06 -08:00
TomyLobo
48f529bc7a
Added Vector.lengthSq()
2011-12-27 23:25:37 +01:00
zml2008
0960ce46e2
Updated the min protocol version so people don't get warnings every time they join servers.
2011-12-27 14:23:16 -08:00
zml2008
70207f1370
Added //desel or //deselect as aliases for //sel
2011-12-27 14:21:18 -08:00
zml2008
8cdfd65218
Added WECUI protocol version support. Eventually, this will disable WECUI until the user updates, but not yet.
2011-12-27 14:03:06 -08:00
Rusty Burchfield
72b2c90c19
Improve zip file recognition.
...
Look for world/level.dat because some zip file generators do not include
entries for directories by themselves.
2011-12-27 13:29:50 -08:00
zml2008
2d8a4a9f8a
Allow using custom input and output streams in subclasses of YAMLProcessor.
2011-12-27 13:22:08 -08:00
zml2008
70205bfd11
Removed string.isEmpty() method calls
2011-12-27 13:21:55 -08:00
TomyLobo
370ca96a44
Fixed //sel selection clearing not being dispatched to CUI.
2011-12-27 12:23:09 +01:00
TomyLobo
7d503fdc5c
//sel poly now keeps the previous selection, converting its outline into a polygon if necessary.
...
This loses some blocks, if anyone cares
2011-12-27 12:07:11 +01:00
zml2008
76fd63d64b
Fixed a NPE in WorldEdit.getSafeFile() when extensions is null.
2011-12-26 16:28:51 -08:00
TomyLobo
cc256aa246
Added license blocks to some files that were still missing them.
...
Copied from files from the same directory.
2011-12-26 00:57:26 +01:00
TomyLobo
324a041e38
Split up some external .* imports.
2011-12-26 00:36:23 +01:00
TomyLobo
4b47200f27
Fixed some warnings.
2011-12-26 00:06:50 +01:00
TomyLobo
376d3c8727
Added "and contributors" to all Copyright statements on the com.sk89q.worldedit.expression package.
2011-12-25 23:27:19 +01:00
zml2008
d804144c27
Removed command plugin.ymling from DocumentationPrinter
2011-12-24 22:38:51 -08:00
zml2008
c8c0c69f6d
Added support for dynamic command registration.
2011-12-24 22:34:53 -08:00
zml2008
a1e239d08c
Fixed SIOOBE when entering a blank quoted string
2011-12-24 22:22:37 -08:00
zml2008
9aa8c5f674
Now that WorldEdit has YAML handling classes, YAMLConfiguration is separate from BukkitConfiguration.
2011-12-24 22:22:37 -08:00
zml2008
4a95d03230
No longer using switch statement in WorldEditPlayerListener. <.<
2011-12-24 22:22:36 -08:00
TomyLobo
479253821e
Fixed //help and /we help after zml2008 broke it :)
2011-12-22 11:38:12 +01:00
TomyLobo
050442fac3
Added a -l flag to /butcher, which spawns fake lightning on all killed entities.
2011-12-21 19:03:21 +01:00
TomyLobo
09a92fa76c
Added a block/pattern parameter to //hollow.
...
Also made a few variables final and optimized the thickness algo a bit.
2011-12-20 12:53:26 +01:00
TomyLobo
633f6643a5
Added a thickness parameter to //hollow.
2011-12-19 11:58:38 +01:00
TomyLobo
936aff06b2
Fixed //stack -s (again).
2011-12-18 22:46:09 +01:00
TomyLobo
4b3564a9ac
Fixed a warning.
2011-12-18 09:31:47 +01:00
zml2008
4dc3c035c1
Updated to use simplified method signature for commands. Also improved SimpleInjector.
2011-12-17 23:45:12 -08:00
TomyLobo
a4d82be697
Made /butcher, /searchitem and /worldedit work on the console and added /we help as an alias for //help.
2011-12-15 15:46:32 +01:00
TomyLobo
370ddeb9ff
Added support for console commands to WorldEditPlugin.
2011-12-15 15:45:34 +01:00
TomyLobo
3bec3c169c
Added BukkitCommandSender and WorldEditPlugin.wrapCommandSender.
2011-12-15 15:45:34 +01:00
TomyLobo
6d4b4718db
Added ServerInterface.getWorlds.
2011-12-15 15:45:33 +01:00
TomyLobo
32bb810ce7
Changed all instances of new BukkitWorld to BukkitUtil.getLocalWorld, except for the one in that function.
2011-12-15 15:45:32 +01:00
TomyLobo
88dd420d1f
Removed LocalCommandSender again. Didn't lead to anything.
2011-12-15 11:30:10 +01:00
TomyLobo
af6455ea6b
Made //help sort // commands ignoring prefixed slashes.
2011-12-15 06:28:09 +01:00
TomyLobo
caeab76abb
Fixed a NullPointerException in conjunction with CraftBook.
...
Thanks FearThe1337.
2011-12-14 10:51:02 +01:00
TomyLobo
05404b005d
Added a //help command.
2011-12-13 09:43:39 +01:00
zml2008
c4031c38ba
Added basic tests for the DinnerPermsResolver
2011-12-12 23:21:14 -08:00
TomyLobo
1ce9d39f45
Removed fast lighting completely for the release.
2011-12-13 06:00:08 +01:00
zml2008
914dd647b5
Changed EditSessionBlockDelegate.getHeight's return to match what Bukkit's worldheightheight methods return
2011-12-12 20:05:38 -08:00
zml2008
98216e2762
Added support for non-128 worldheights
2011-12-13 04:50:53 +01:00
TomyLobo
87940c9eae
Added an asPlayer method to LocalCommandSender, which casts the object to LocalPlayer if possible and throws an exception otherwise.
2011-12-13 04:13:48 +01:00
TomyLobo
3960726d7a
Installed a LocalCommandSender class atop LocalPlayer in the hierarchy and moved the relevant methods there.
...
Also changed equals to work on LocalCommandSender instead of LocalPlayer.
2011-12-13 03:43:02 +01:00
TomyLobo
f5c6678da6
Added an extending cuboid selector.
...
It can be used with //sel extend.
Also made //sel carry over some information about the selection into the new selection mode.
Also cleaned up the source of the RegionSelectors and the //sel command a bit.
2011-12-12 05:27:33 +01:00
TomyLobo
3dabcdacd1
Made /green break on liquids.
2011-12-10 12:16:57 +01:00
zml2008
cf69daff78
Fixed inGroup always returning true for ops
2011-12-10 01:25:35 +01:00
TomyLobo
2e1087a49a
Added a //hollow command, which hollows out the object contained in the selection.
2011-12-08 11:54:49 +01:00
TomyLobo
90b062a9d8
Fixed some warnings
2011-12-08 11:54:35 +01:00
zml2008
d0367bfd5c
Small cleanup of chunk reading
2011-12-06 15:07:10 -08:00
zml2008
c2460a6305
PlayerInteract listener should now respect cancelled status.
2011-12-06 15:03:34 -08:00
TomyLobo
d69863db59
Fixed unimportant typos.
2011-12-06 13:59:41 +01:00
TomyLobo
c21c380bba
Added a -a flag to /butcher to kill animals. Its now disabled by default.
2011-12-06 07:10:15 +01:00
TomyLobo
bc3a4377ec
The /butcher command no longer kills NPCs, except when the -n flag is passed.
...
Also:
- Moved some code from BukkitWorld to LocalWorld.
- Replaced the "boolean killPets" argument by an "int flags" to provide extensibility
- Made the radius argument a double
- Basically rewrote the entire function
- Deprecated all old versions of killMobs
2011-12-06 06:50:11 +01:00
TomyLobo
4c9e0a629f
Added help text for most commands that take flags.
...
//generate, //regen, //deform, //[h]cyl, //[h]sphere, //chunk, //outset, //inset, //stack, //move, //smooth, //paste, //flip, /search //distr /butcher, //brush sphere/cyl/clipboard/smooth
Only //replace and /replacenear are still missing.
2011-12-06 06:50:10 +01:00
TomyLobo
6764704c22
Added support for help text to be shown on syntax errors and such.
2011-12-06 06:50:10 +01:00
zml2008
fcb7e62cb0
Formatting.
2011-12-05 20:02:41 -08:00
zml2008
745716426f
Removed some unnecessary checks and fixed compatibility with CraftBook and other plugins that load() before registering the server listener
2011-12-05 19:59:10 -08:00
TomyLobo
258bdc11b0
Fixed //stack -s only shifting by 1 block, regardless of the selection size.
2011-12-05 23:23:52 +01:00
TomyLobo
a5a761a126
Added Vector.dot(Vector).
2011-12-05 23:23:51 +01:00
TomyLobo
274ecaadf2
Changed a usage string.
2011-12-05 23:23:51 +01:00
TomyLobo
3ccb152350
Added support for line breaks to BukkitPlayer.print*
2011-12-05 10:33:13 +01:00
TomyLobo
11dadd7417
Simplified CommandsManager.getUsage.
2011-12-05 10:18:30 +01:00
TomyLobo
259003d030
Corrected a command description.
2011-12-05 08:56:49 +01:00
TomyLobo
50bdb2332a
Removed LegacyPluginPermissionsResolver.
...
Wrapping at the PermissionsProvider level instead, which removes some code duplication and fixes 2 warnings :)
2011-12-05 04:25:56 +01:00
zml2008
deea1f7655
Moved PermissionsResolverServerListener into PermissionsResolverManager and got rid of some unnecessary methods.
2011-12-04 19:06:41 -08:00
TomyLobo
cd2f56918d
Renamed WEPIFRutimeException to WEPIFRuntimeException and gave it a serialVersionUID.
2011-12-05 03:41:24 +01:00
TomyLobo
09589e2a79
Fixed switch treating continue like break.
2011-12-05 03:23:22 +01:00
zml2008
daf1dde701
Moved WEPIF to the com.sk89q.wepif package and made PermissionsResolverManager a singleton
...
Added OfflinePlayer permissions fetching methods to WEPIF
2011-12-04 17:42:46 -08:00
TomyLobo
04a08e7e0c
Improved Switch's optimizer.
2011-12-04 21:00:03 +01:00
TomyLobo
d55376e8a6
Added an optimizer and license/element comments for Switch.
2011-12-04 20:26:14 +01:00
TomyLobo
7a429e9932
Made Node.getPosition final and fixed some whitespace in LocalWorld.
2011-12-04 20:06:23 +01:00
TomyLobo
a8e64fd8bc
Added switch/case to the expression parser.
...
Also added a test case.
2011-12-04 09:25:56 +01:00
TomyLobo
61b2ea4007
Added "switch" and "case" to the list of keywords so they can't be used as variable names.
2011-12-04 06:40:09 +01:00
TomyLobo
4753574bae
Basically rewrote the tree remover tool to use breadth-first search to get rid of deep recursions.
...
Also changed a message to be more precise.
2011-12-03 02:11:10 +01:00
TomyLobo
771d068826
Reduced indentation on a piece of code.
2011-12-01 20:20:49 +01:00
TomyLobo
af9e2da6d3
Simplified the statement parser, fixed a few quirks and adjusted a test case.
2011-11-30 09:18:53 +01:00
TomyLobo
9cdac001e3
Added a megabuf function to the expression parser, which works like gmegabuf, except that there is one buffer per Expression instance.
2011-11-30 05:27:11 +01:00
TomyLobo
c6518a9243
Added a way to retrieve the current expression instance.
2011-11-30 05:20:16 +01:00
TomyLobo
662e597f1a
Moved temporary variable creation from Parser to Expression.
2011-11-30 04:45:48 +01:00
sk89q
11245014c8
Added @Override annotations.
2011-11-29 20:17:50 +01:00
TomyLobo
36e4b99ade
Added particle effects to area and recursive pickaxe.
2011-11-29 09:15:41 +01:00
TomyLobo
6be514cdf9
Added LocalWorld.queueBlockBreakEffect.
2011-11-29 09:15:29 +01:00
TomyLobo
a4ccadacdc
Added ServerInterface.schedule(delay, period, task).
2011-11-29 09:09:04 +01:00
TomyLobo
cc0e39b493
Added particle and sound effects to the single super pickaxe.
2011-11-28 07:36:42 +01:00
TomyLobo
36fbfa409f
Added LocalWorld.playEffect and an implementation for Bukkit.
2011-11-28 07:13:19 +01:00
TomyLobo
a6f0a48f84
Added a swap function to the expression parser.
2011-11-28 00:30:52 +01:00
zml2008
255e342353
Added enchantment support
2011-11-27 15:29:51 -08:00
zml2008
51dd7a0c9c
Improved handling of valid blocks not in BlockType and added dragon egg to BlockType
2011-11-27 15:29:26 -08:00
TomyLobo
5d59dd764e
Changed getSafe*File to accept varargs instead of arrays.
2011-11-27 05:29:49 +01:00
TomyLobo
c8180e641f
Reverting part of a cleanup that made java cry for some obscure reason.
2011-11-25 06:34:10 +01:00
TomyLobo
6aec096709
Fixed a comment.
2011-11-24 21:20:44 +01:00
TomyLobo
77bd86a203
Whitespace police
2011-11-24 21:07:14 +01:00
TomyLobo
5ec6276674
Made ExpressionTest invoke the optimizer every time it evaluates an expression.
...
This way that thing at least gets SOME coverage.
2011-11-24 21:00:09 +01:00
TomyLobo
c1e151ac19
Improved the expression parser's optimizer.
...
Added optimizers for Conditional, For, SimpleFor and While.
Improved the Sequence optimizer.
Removed the optimizer TODOs from Break and Return.
2011-11-24 21:00:09 +01:00
TomyLobo
05b427316d
Changed signature of the optimize() method to return an RValue.
2011-11-24 20:50:07 +01:00
TomyLobo
7cbb7da80b
Added the ternary operator.
2011-11-24 20:04:42 +01:00
TomyLobo
9456c9e58f
Expression parser improvements
...
- Fixed calling nullary functions.
- Improved error reporting for missing functions
- Added random() and randint(max)
- Improved Sequence.optimize() to eliminate statements with no effect
- Adjusted a comment
2011-11-24 11:05:41 +01:00
TomyLobo
adf326e2bf
Renamed some variables and adjusted some comments in ArbitraryShape.
2011-11-24 11:01:24 +01:00
TomyLobo
d69b04caf5
Added some element comments to ArbitraryShape.
2011-11-24 04:06:14 +01:00
TomyLobo
dfb729d5f1
Added license blocks and element comments to all expression parser classes.
...
Also updated some terminology
2011-11-24 03:55:06 +01:00
TomyLobo
71287299b5
Added a simple for loop to the expression parser.
...
Syntax: for (counter = first, last) { body }
Also added a test case.
2011-11-24 02:35:19 +01:00
TomyLobo
7e13b60a51
Cleanup
2011-11-23 04:48:40 +01:00
TomyLobo
1a57f6e95d
Added return, break and continue.
2011-11-22 18:51:19 +01:00
TomyLobo
efc2209c0f
Prevented overwriting built-in constants.
2011-11-22 17:47:44 +01:00
TomyLobo
5ef9df7feb
Made it possible to leave parts of a for statement empty.
2011-11-22 16:56:41 +01:00
TomyLobo
e6e31d0b93
Moved some code around
2011-11-22 16:35:56 +01:00
TomyLobo
effbf9f79c
Added for loops to the expression parser, java style.
...
Also:
- Added a test case for for
- Fixed Identifiable.id() for the runtime Nodes and added missing elements to the list in Identifiable.java.
- Factored keyword and character consumption into a common function.
2011-11-22 16:08:15 +01:00
TomyLobo
f217be0bdf
Added while loops to the expression parser.
...
Also added a test case.
Iterations are currently limited to 256 maximum.
2011-11-22 06:16:23 +01:00
TomyLobo
aa43975e34
Added support for if/else to the expression parser. Basically same syntax as Java.
...
Also added a test case.
2011-11-22 05:12:32 +01:00
TomyLobo
5071885d10
Expression parser: Extended the index range of the megabuf function and renamed it to gmegabuf
2011-11-22 02:33:01 +01:00
TomyLobo
c6fee413dc
Changed BukkitWorld.killMobs, so it compiles with the latest RB again.
...
Also increased forward compatibility as a side-effect.
2011-11-21 06:21:21 +01:00
Wizjany
19194ccb88
Made //butcher apply to enderdragons
2011-11-20 19:31:13 -05:00
TomyLobo
0c9c213e4e
Added support for assignable function results.
...
Also:
- Added megabuf(index) as a first, temporary example
- Introduced a new Node class at the top of the hierarchy for the runtime.
- RValue and LValue are now interfaces
- Narrowed down some exception declarations
- Optimized the optimizer for functions
2011-11-20 17:41:38 +01:00
TomyLobo
7812d8f5f8
Cleanup and refactorings
2011-11-20 06:02:54 +01:00
TomyLobo
feee529095
Improved error reporting for number format errors.
2011-11-20 05:31:18 +01:00
TomyLobo
cf30a63018
Further cleanup of input handlers.
...
Slight deviation from previous behaviour:
Wand and navigation wand can no longer be used as ordinary tool binds.
However, these are already blocked elsewhere anyway, so it is unimportant.
2011-11-20 02:00:12 +01:00
TomyLobo
71d302c893
Removed fix for issue #376 , since the problem appears to have been fixed on the CraftBukkit side now.
...
Also cleaned up the input handlers a bit.
2011-11-20 01:45:25 +01:00
TomyLobo
1194f4448e
Fixed the unused Polygonal2DSelection(List, int, int) constructor.
2011-11-19 15:09:28 +01:00
TomyLobo
13f36757c2
Fixed compass teleporting twice on cliff edges
2011-11-16 16:54:05 +01:00
zml2008
927cab001e
Fixed a few bugs with permissions resolver loading.
2011-11-15 20:38:23 -08:00
TomyLobo
86dfa3dce8
Cleaned up WorldEditPlayerListener.onPlayerInteract.
2011-11-13 15:17:08 +01:00
TomyLobo
a3946dc8c4
Typo fix.
...
Thanks, Moo0
2011-11-13 15:00:41 +01:00
zml2008
c29856f5a8
Added a registration method that returns information about successfully registered commands
2011-11-11 15:47:50 -08:00
zml2008
256897f473
Added seperate permissions for jumpto/thru commands and tools
2011-11-11 15:39:42 -08:00
zml2008
0a4cbd435f
The permissions resolver needs to be loaded!
2011-11-10 19:36:57 -08:00
TomyLobo
ae3adae8a8
Disabled fast lighting until the issues are resolved.
2011-11-09 02:49:24 +01:00
TomyLobo
04b7f40f46
Renamed some local variables in WorldEdit.getblock.
...
Also added a note about a potential concurrency problem i stumbled upon.
2011-11-05 18:09:50 +01:00
TomyLobo
af1c600fc9
Non-leaf blocks should no longer show up as leaves in the inventory when using block bags.
2011-11-05 17:58:51 +01:00
TomyLobo
e72f84f08f
Leaves can now be stored in a block bag.
2011-11-04 19:39:05 +01:00
TomyLobo
3ed5841863
The block bag fetch/place mapping is now taken from BlockType.getBlockBagItem.
2011-11-04 16:56:53 +01:00
TomyLobo
7beac92232
Added a deprecated delegate for storeDroppedBlock.
2011-11-04 16:39:56 +01:00
TomyLobo
2d0880e38d
Piston extension and moving piece now put nothing into the blockbag.
2011-11-04 13:53:21 +01:00
TomyLobo
8e368ceef1
Employed a set of consistent rules for getDroppedBlock(type, data) and renamed it to getBlockBagItem.
2011-11-04 13:27:51 +01:00
TomyLobo
d9b8285a35
Made ItemType.usesDamageValue a bit more sane.
2011-11-03 18:34:20 +01:00
TomyLobo
ff39121fc8
Begun adding support for data/damage values to the blockbag.
2011-11-03 15:51:23 +01:00
TomyLobo
429bfe9faa
Added BlockType.getDroppedBlock(int type, int data)
...
It currently still ignores the data value, but there's a framework in place to add data values.
2011-11-03 15:51:22 +01:00
zml2008
04803de8b1
Fixed some NPE's for block types not in BlockType.
2011-11-02 22:51:48 -07:00
TomyLobo
4c05050d73
Improved /we version output for dev builds.
2011-11-02 17:23:45 +01:00
TomyLobo
a51bc28756
Added true and false constants to the expression parser.
2011-11-02 15:29:55 +01:00
TomyLobo
c2cd587a9b
Added support for functions that take LValues and added rotate(x&,y&,angle)
2011-11-02 03:41:35 +01:00
TomyLobo
ff03d03fd7
Cleanup
2011-11-02 03:41:22 +01:00
TomyLobo
187896c5ed
Made //deform round the results before lookup and fixed some potential issues.
2011-11-02 03:39:02 +01:00
TomyLobo
2edf3559d8
EditSession: Split off a queueFinal, which contains only blocks that can be attached to other attached blocks.
...
This a speed improvement, since the recursive attachment checker turned out to be quite slow.
2011-11-01 21:58:50 +01:00
TomyLobo
2ee36f7484
//generate and //deform no longer behave oddly with selections that are only one block thick in either direction.
2011-11-01 16:32:56 +01:00
TomyLobo
4f1196ce2d
Added a //deform command, which deforms a region given an expression that operates on the x/y/z variables.
2011-11-01 15:27:13 +01:00
TomyLobo
a5e5880064
Moved shape generation to EditSession.
...
Also refactored it to get rid of the 3 different anonymous classes.
2011-11-01 15:27:12 +01:00
TomyLobo
c5c68f481b
Moved all command-implementing methods to the bottom of the file.
2011-11-01 14:54:32 +01:00
TomyLobo
478d6f6e54
Added support for type/data to //generate.
2011-11-01 14:31:33 +01:00
TomyLobo
8a83f7f70e
Added support for custom materials to ArbitraryShape and adjusted //generate accordingly.
2011-11-01 14:28:03 +01:00
TomyLobo
02a70cca4a
Added Pattern.next(int, int, int).
...
This method can be used to avoid creating short-lived vectors in tight loops.
2011-11-01 14:25:41 +01:00
TomyLobo
6b0f237a46
Removed extra fastLighting flag.
...
Fast lighting is now used when available.
2011-10-31 03:28:05 +01:00
TomyLobo
d3822ee345
Fixed postfix operator evaluation order.
2011-10-31 00:42:57 +01:00
zml2008
d5328e34ba
This might fix problems people have been having with dinnerperms.
2011-10-30 15:16:00 -07:00
TomyLobo
8e0539adf1
Parser improvements
...
- After a closing brace or a semicolon, a new expression starts. This fixes "{}-1" and ";-1" returning an error.
- Empty statements and empty block statements are now fully supported
- Renamed PrefixOperator to UnaryOperator
- Added postincrement(x++), postdecrement(x--) and factorial(x!) operators
2011-10-30 06:04:49 +01:00
TomyLobo
77d1317964
Added support for temporary variables
2011-10-29 21:07:31 +02:00
Wizjany
2719308ada
Made //fast display a different message if the argument matches the current mode
2011-10-29 13:32:51 -04:00
Wizjany
2b9f0be8df
Updated to 1.9
2011-10-29 13:32:51 -04:00
Wizjany
699807665d
Cleanup
2011-10-29 11:57:45 -04:00
TomyLobo
8797d8ac3c
Added element comments to all classes of the expression parser.
...
Also fixed some id() implementations.
2011-10-29 17:24:11 +02:00
TomyLobo
e70446e82e
Renamed RValue.invoke() to getValue.
2011-10-29 16:03:55 +02:00
TomyLobo
93f073f264
Renamed Assignable to LValue and Invokable to RValue
2011-10-29 16:01:55 +02:00
TomyLobo
0ba3da2641
Reverted to old manual lighting system that doesn't call notch's block lighting functions directly.
2011-10-29 05:27:17 +02:00
TomyLobo
8ce3f4d77a
Moved some code around in ParserProcessors.java
2011-10-29 04:20:13 +02:00
TomyLobo
f28401aecc
Moved the sub-processors into a new class, ParserProcessors.
2011-10-28 20:34:48 +02:00
TomyLobo
58be9d9be4
Added support for stretched cylinders and brought their profile in line with that of the central layer of a sphere of the same x/z radius.
2011-10-28 20:34:08 +02:00
TomyLobo
318e81886c
Removed -q flag from //[h]sphere and the code to back it.
...
The speed difference between the "flexible" and the "quick" variant is so minor that it doesn't justify the aditional code complexity.
2011-10-28 15:10:14 +02:00
TomyLobo
d9b86025d3
Parser refactorings
...
- Made all sub-processors static
- Made statement (combined) assignment parsing right-associative
- Added a stub for the ternary operator
- Fixed position value on Sequences
2011-10-28 00:37:18 +02:00
TomyLobo
f6f08da620
Cleanup
2011-10-27 19:29:02 +02:00
TomyLobo
ee79abff67
The expression parser can now parse more than a simple expression
...
- Added sequencing (; and {}).
- Added =, +=, -=, *=, /=, %=, ^= to the expression parser. (left-associative for now, will change later)
- Added pre-increment(++) and pre-decrement(--) operators.
- Adjusted/added tests.
2011-10-27 19:16:46 +02:00
TomyLobo
9c070c323f
Added ternary versions of min and max.
2011-10-27 19:06:27 +02:00
TomyLobo
ef5fba0f05
Improved accuracy of Function.getPosition() after optimization.
2011-10-27 19:06:26 +02:00
TomyLobo
0ca66ce350
Moved check for fastLightingAvailable from BukkitWorld.fixAfterFastMode to fixLighting and adjusted the description for //generate.
2011-10-26 23:24:23 +02:00
Wizjany
dbc3053195
Fixed & updated BlockType.usesDamageValue
2011-10-26 16:50:46 -04:00
TomyLobo
906b6dd832
Forgot to save...
2011-10-25 23:26:25 +02:00
TomyLobo
9fa5c4030b
Added a //g[en[erate]] command, which generates a shape according to a mathematical formula.
...
(result > 0) = true = inside
(result <= 0) = false = outside.
2011-10-25 18:46:14 +02:00
TomyLobo
d4c2832437
Added an ArbitraryShape class which can be used to generate hollow and solid shapes based on an in/out condition.
2011-10-25 18:46:12 +02:00
TomyLobo
c2191f4fc7
Generalized the Lexer a bit more and renamed a function in the parser.
2011-10-25 18:45:52 +02:00
TomyLobo
7dfc2a34e5
Improved fast mode.
...
BukkitWorld's fast lighting mode now also does what the old fast mode did.
In addition, both fast lighting mode and the fallback resend all modified chunks when done.
This should prevent display issues.
2011-10-25 18:41:07 +02:00
TomyLobo
3ed867ed53
Added left, right, back and forward directions to all directional commands.
2011-10-25 01:07:08 +02:00
TomyLobo
2d654b59c5
Reduced code duplication in the WorldEdit.get*Direction methods.
2011-10-25 01:06:18 +02:00
TomyLobo
3962e6c9d8
Added LocalPlayer.getCardinalDirection(int yawOffset)
2011-10-25 01:02:50 +02:00
TomyLobo
a1fb1fd4e4
Using Notch's block lighting functions now.
...
Also removed some debug messages
2011-10-24 23:42:04 +02:00
TomyLobo
a0461aeb2c
BukkitWorld.fixLighting now also fixes block light.
2011-10-24 20:49:17 +02:00
TomyLobo
b31d77536a
Added some new functions to BlockType.
...
- emitsLight which returns whether the given block type emits light
- isTranslucent, which returns whether the block lets any light pass
2011-10-24 20:49:17 +02:00
TomyLobo
4f7e1a6b31
Improved speed greatly by deferring lighting until after all blocks are in place.
...
This needs CraftBukkit to work.
2011-10-24 13:44:22 +02:00
TomyLobo
e8dcee1acf
Added LocalWorld.fixLighting(Set<BlockVector2D>)
...
This method redos lighting in the given chunks.
BukkitWorld's current implementation introduces some slight errors and doesn't redo torch light, but it's better than nothing.
2011-10-24 13:35:48 +02:00
TomyLobo
ef88c04550
Gave //fast an on|off parameter and adjusted its message to reflect a future change.
2011-10-24 04:33:19 +02:00
TomyLobo
542aed6ffd
Fixed warnings.
2011-10-24 04:32:02 +02:00
TomyLobo
ffe5f89afc
EditSession.flushQueue(): queueLast is now ordered with attachments in mind.
2011-10-24 04:31:34 +02:00
zml2008
bd5c78bb40
Fixed bug in PermissionsEx resolver when PermissionsEx is not found.
2011-10-23 09:19:29 -07:00
zml2008
52982c7c0f
Moved YAML classes from RegionBook from WorldGuard into WorldEdit and made everything use those.
2011-10-22 23:48:15 -07:00
zml2008
a928349b1a
Fixed bug in NijiPermissionsResolver.isFakePerms()
2011-10-22 08:07:02 -07:00
zml2008
0e6597fb86
Added configurable detection order of permissions resolvers, restored old default order, and updated configurations to the new Configuration
2011-10-22 01:34:24 -07:00
TomyLobo
d93d85cd37
Added an expression parser.
2011-10-18 01:04:04 +02:00
Wizjany
467cc4dd14
Fixed infinite loop. Just because it's unused in worldedit doesn't mean you should break it -.-
2011-10-12 17:47:26 -04:00
zml2008
050eef8dc7
Fixed checkLoadedChunk
2011-10-10 02:01:50 -04:00
Wizjany
b89ede09a6
Bugfix for jumpto
2011-10-09 20:43:21 -04:00
Wizjany
440f3baed1
Changed order of perms resolvers loading so that dinnerperms and ignore-niji-bridges settings were not ignored.
2011-10-09 20:43:21 -04:00
sk89q
09447c5f6c
Fixed CommandContext.matches() always returning true.
2011-10-09 10:31:15 -07:00
Wizjany
68fe0d3438
Cleanup. Cycler uses BaseBlock instead of BlockData directly. Fixed a few BlockType method inaccuracies.
2011-10-04 17:16:20 -04:00
zml2008
9e877740aa
Added negated node support for DinnerPerms lookup.
2011-10-03 22:09:44 -07:00
ZachBora
bb609a47c2
Negative angles will return negative number of rotations thus never looping the rotation.
2011-10-02 22:26:44 -03:00
zml2008
24056df78a
Fixed config generation for Windows users
2011-10-02 01:27:52 -07:00
Meaglin
b17fb7eaa3
Adding /snapshot sel [index] to select a snapshot by list index.
2011-10-02 00:10:27 -04:00
TomyLobo
e2c71e4269
Added cactus to getAttachment.
2011-09-30 08:56:09 +02:00
TomyLobo
7fec065d4a
Apparently the wiki has wrong data values for the stone button.
...
Also added top attachment for vines.
2011-09-29 21:11:51 +02:00
TomyLobo
69367e7762
Added BlockType.getAttachment.
...
See javadoc for details.
2011-09-29 15:54:28 +02:00
TomyLobo
f354ab392f
Refactored BlockData test case to reduce code duplication.
2011-09-29 08:19:02 +02:00
zml2008
ccfabd94b9
Should fix broken config generation some people have been getting
2011-09-28 19:05:47 -07:00
TomyLobo
cbc331da7d
Added some constants com.sk89q.worldedit.blocks.ClothColor.ID.X = ClothColor.X.getID()
2011-09-28 10:57:30 +02:00
TomyLobo
21c6ab894c
Moved BlockData to the blocks package and left a stub with deprecated delegates behind.
2011-09-28 10:45:32 +02:00
TomyLobo
accd841b51
Fixed a few warnings
2011-09-28 08:05:50 +02:00
Wizjany
2d7c462477
Cleanup formatting.
2011-09-27 03:32:46 -04:00
t3hk0d3
4f80e78a7e
WEPIF Improvement: code clean out, hardcoding removal and refactoring. Added Service discovery to PluginPermissionsResolver
2011-09-26 21:20:02 -07:00
Wizjany
102e5f142e
Fix data cycling the right way. Merged TomyLobo's test changes in.
2011-09-26 05:53:04 -04:00
Wizjany
868fef813f
Changed pyramid command usage
2011-09-26 01:43:39 -04:00
Wizjany
23c9a66c80
Fixed gaping huge security flaw.
2011-09-26 01:32:12 -04:00
Wizjany
9e6a2ccf4d
Nicer wiki perms table.
2011-09-26 00:09:21 -04:00
Wizjany
903abc80a4
Cleanup
2011-09-25 22:21:27 -04:00
TomyLobo
c6c55c3b2a
Adjusted some of the cycler code and added a test case for it.
...
- Added range checks for most blocks
- torches: Fixed cycle from 0->1->2->3->0 to 1->2->3->4->1
- mushroom caps: Included data value 10 (stem) in cycle
- vines: Included data value 0 (top attachment only) in the cycle
- furnaces/dispensers: Linearised the cycle. It's now 2->3->4->5->2
- chests/ladders: Added cycle code.
- rails: Linearised the cycle. It's now 6->7->8->9->6
2011-09-25 10:52:29 +02:00
TomyLobo
93f36955ca
Added a test case for BlockData.
...
Fixed some non-breaking inaccuracies to make the test case work.
2011-09-25 06:08:31 +02:00
TomyLobo
63fa72af5e
Added rotate code for brick and stone brick stairs and made powered/detector rails not lose their charge when rotating.
2011-09-25 06:01:01 +02:00
TomyLobo
b06caa9fd3
Cleanup
2011-09-25 05:15:20 +02:00
TomyLobo
50009cc855
Improved hashCode implementations for the Vector classes.
...
Block[World]Vector was ignoring changes of y < 128 (i.e. all of them) and changes of x < 8192.
2011-09-25 04:56:54 +02:00
zml2008
3bbebcd64e
Updated for Bukkit changes.
2011-09-24 15:45:49 -07:00
Wizjany
f90e47da9a
Removed trailing whitespaces.
2011-09-24 15:32:03 -04:00
Wizjany
b5b55a2775
Cleanup and a few bugfixes
2011-09-24 15:24:10 -04:00
lahwran
a2e23fedf7
send poly regions to wecui, take 2
2011-09-24 11:45:03 -06:00
TomyLobo
7c18327fdc
Fixed extended piston rotation.
2011-09-24 11:20:37 +02:00
TomyLobo
bfc877cdb2
Added rotate code for vines, fence gates and mushroom caps.
2011-09-23 16:32:50 +02:00
TomyLobo
a3cd58fda1
Added flip code for vines, fence gates and mushroom caps.
2011-09-23 14:00:49 +02:00
TomyLobo
4b760fd17b
Swapped flipY and flipZ in BlockData.flip and formatted the function more consistently.
2011-09-23 12:50:57 +02:00
Wizjany
2f19edca2a
Fixed case fallthroughs in BlockType.
2011-09-22 01:31:35 -04:00
TomyLobo
fa82482823
Added a new test for get[Padded]Slice and renamed testHangingQuote to testUnmatchedQuote.
2011-09-20 03:41:07 +02:00
TomyLobo
67918f171b
Internal restructuring of CommandContext
...
- getJoinedStrings(n) will now return literally everything after the first space following the (n-1)th argument. Mixing flags in after that is undefined
- What was in args before is now a List named parsedArgs, which also no longer contains the command, which was split off into a separate field.
- get[Padded]Slice now operates on the unparsed args with flags and all, allowing whoever uses it (script commands) to obtain a more low-level input.
- Added a test for the exactness of getJoinedStrings and adjusted an existing test to the new old behaviour.
2011-09-20 03:25:35 +02:00
TomyLobo
2d86b1b40d
Fixed and cleaned up CommandContext.
...
- Removed all the inefficient removePortionOfArray stuff and replaced it by ArrayLists that accumulate content instead.
- Added new tests
- Swapped the arguments to assertEquals everywhere. First argument is "expected".
- Fixed warnings in the test case
- I put my original flag parser back and added support for putting flags anywhere. Looks and works better than that undocumented mindfuck zml put there.
2011-09-19 23:14:49 +02:00
TomyLobo
c78e8a10d7
Made shouldNotStack use a HashSet instead of a bunch of or'ed comparisons.
2011-09-19 09:13:51 +02:00
TomyLobo
a4618fa3c0
It just a test case but meh...
2011-09-19 09:08:10 +02:00
TomyLobo
c1f1e29617
Replace ItemType.X.getID() with ItemID.X everywhere.
2011-09-19 08:38:30 +02:00
TomyLobo
16a4e5ccb3
Added/fixed some copyright notices.
2011-09-19 08:24:21 +02:00
TomyLobo
088001f099
Used ItemID in ItemType
2011-09-19 08:08:05 +02:00
TomyLobo
51d4b572cb
De-craftbooked some copyright notices.
2011-09-19 07:43:49 +02:00
TomyLobo
5b5c25f1ae
Added an ItemID class, containing all the item IDs.
2011-09-19 07:39:28 +02:00
TomyLobo
88b4f4de18
Cleanup.
...
- Fixed a few warnings
- Unified the formatting of the command prologue
- Put down why it was deprecated in the javadoc of a deprecated method.
- Gave //none a better usage line
- Switchcaseified some elseifs
2011-09-19 07:24:49 +02:00
Wizjany
43809a705d
More BlockType cleanup
2011-09-19 00:43:39 -04:00
Wizjany
b413af307a
Updated plugin.yml (not that it needs it).
2011-09-19 00:43:38 -04:00
Wizjany
67a7969cd1
Added a tool that allows a player to place and remove blocks at a distance.
2011-09-18 21:53:29 -04:00
Wizjany
1a6bc6f42c
Fixed AIOOBE and a missing return, removed an unused and ambiguous method from CommandContext.
2011-09-18 19:11:05 -04:00
Wizjany
dd358bc982
Made floating tree remover work on mushrooms
2011-09-18 02:37:38 -04:00
Wizjany
709cae1995
Removed permissions from plugin.yml for compatibility and cleaned up a bit more.
2011-09-18 02:37:37 -04:00
zml2008
3f369f104a
Abstracted type detection of simulateBlockMine into BlockType.
2011-09-17 22:00:14 -07:00
zml2008
a1cf6eb6da
Allow //replace to ignore from block damage values (and force them to not be ignored with the -f flag)
2011-09-17 21:50:06 -07:00
zml2008
56fd654eed
Fixed bug with unclosed quotes
2011-09-17 21:10:55 -07:00
md-5
46ba1c7f5b
Added mob type enum and subsequently removed case sensitivity from //set with mobspawners.
2011-09-17 21:08:15 -04:00
Wizjany
1c4c621500
Cleanup.
2011-09-17 19:32:44 -04:00
Wizjany
f7c5782fa9
Added data support for silverfish blocks.
2011-09-17 14:11:59 -04:00
Wizjany
ece3934994
Abstracted cycler tool methods to BlockData and optimized them slightly, as well as adding support for many new blocks.
2011-09-17 01:44:10 -04:00
Wizjany
b10498b9c7
Added 'xp' as a parameter of the /remove command to remove experience orbs.
2011-09-17 01:44:10 -04:00
TomyLobo
d6ed17dd9d
Made some variables final.
2011-09-16 05:48:09 +02:00
TomyLobo
633145d796
Adjusted some BlockType flags.
...
Beds, glass panes and fence gates should no longer be placed last
Fence gates can no longer be passed through, since they can't, if they're closed.
2011-09-16 05:46:07 +02:00
TomyLobo
7798319896
Optimized all of the public static boolean BlockType.*(int id) functions by using HashSets and put the blockDrops HashMap next to the getDroppedBlock function.
2011-09-16 05:02:39 +02:00
TomyLobo
f0308efdd0
Made the static initializer for BlockType.blockDrops refer to the BlockID constants instead of having the literal IDs.
2011-09-16 03:32:58 +02:00
TomyLobo
19eedecdaf
Re-re-introduced a small optimization in the flag parser.
2011-09-16 02:16:11 +02:00
Wizjany
9371202a12
Cleanup BlockType and added a missing block
2011-09-14 21:27:24 -04:00
Wizjany
afa8e873e9
Reverted block id checking in BukkitWorld to prevent false positives and made LoclWorld use the internal list for easier updates
2011-09-14 21:27:24 -04:00
zml2008
bd52ed5c33
Fixed plugin.yml for dumb people
2011-09-14 18:14:42 -07:00
zml2008
75e843b965
Some small improvements to value flags, and a unit test.
2011-09-14 17:59:18 -07:00
TomyLobo
6cdfd86f0b
CommandContext:
...
- Adjusted comment of CommandContext(String[] args, Set<Character> valueFlags) to reflect the actual semantics
- Optimized several parts of the parser (still not happy with the frequent reallocations inside removePortionOfArray)
- Someone (unintentionally?) forgot to break if a non-flag argument was found. If this was indeed intended behaviour, just change the "break;" in line 83 to "continue;".
- Reduced the number of nested control structures a bit.
2011-09-14 18:56:42 +02:00
TomyLobo
cb927d17e1
Fixed a warning.
2011-09-14 18:33:07 +02:00