Commit Graph

1077 Commits

Author SHA1 Message Date
sk89q
e7d5cc8603 Added Mask2D and AbstractMask2D. 2014-03-28 16:12:39 -07:00
sk89q
fd8ad9b988 Removed messages from EditSession not-null preconditions. 2014-03-28 00:41:00 -07:00
sk89q
f509a3128e Switched //faces and //walls to use visitors. 2014-03-28 00:40:04 -07:00
sk89q
6c1ff02df5 Add getFaces() and addWalls() to CuboidRegion. 2014-03-28 00:39:39 -07:00
sk89q
dd244bfe04 Add getFaces() and addWalls() to CuboidRegion. 2014-03-28 00:39:34 -07:00
sk89q
09ca5c3131 Cleaned up Javadocs for CuboidRegion; added preconditions. 2014-03-28 00:16:24 -07:00
sk89q
9cd164ae98 Removed mask support from BlockCount.
RegionMaskFilter handles it.
2014-03-27 21:11:02 -07:00
sk89q
a6e979ec6c Moved visitors to com.sk89q.worldedit.visitor. 2014-03-27 21:07:38 -07:00
sk89q
e022804c27 Changed //center to use visitors. 2014-03-27 21:04:07 -07:00
sk89q
570b4ebd93 Made CuboidRegions in EditSession clamp Y to world. 2014-03-27 20:57:20 -07:00
sk89q
d9ad0014f0 Made CuboidRegion(world, ...) constructor clamp to world. 2014-03-27 20:54:35 -07:00
sk89q
5cfc05c616 Converted /removenear, //replace to visitors. 2014-03-27 20:48:36 -07:00
sk89q
2311964b82 Added RegionMaskFilter to filter a RegionFunction. 2014-03-27 20:47:25 -07:00
sk89q
8c3912b5e7 Added FuzzyBlockMask(BaseBlock... block) constructor. 2014-03-27 20:47:01 -07:00
sk89q
b21f944570 Changed /remove[above|below], //set to use visitors. 2014-03-27 19:57:24 -07:00
sk89q
dbb7b085f0 Changed //count, //fill, //fillr to use visitors. 2014-03-27 08:22:18 +01:00
sk89q
2562a2f577 Added OperationHelper.completeBlindly(). 2014-03-27 08:22:18 +01:00
sk89q
45c2868d4c Added various visitors (BFS, Downward, Recursive, Region). 2014-03-27 08:22:18 +01:00
sk89q
a7300cf9ef Aded BlockReplace, which replaces blocks with a pattern. 2014-03-27 08:22:18 +01:00
sk89q
79643790cc Added BlockCount, which counts the number of blocks matching a mask. 2014-03-27 08:22:17 +01:00
sk89q
c7fcbb299d Added FuzzyBlockMask, which uses BaseBlock.containsFuzzy. 2014-03-27 08:22:17 +01:00
sk89q
0cafe4abb8 Added BoundedYMask that requires that Y is in a range. 2014-03-27 08:22:17 +01:00
sk89q
52bbbb1797 Added CombinedMask(Mask ...mask) constructor. 2014-03-27 08:22:17 +01:00
sk89q
7c4a67d32b FlatRegionApplicator -> FlatRegionVisitor. 2014-03-27 08:22:17 +01:00
TomyLobo
d18a20dafa Clarified some comments. 2014-03-27 08:21:06 +01:00
TomyLobo
6262fe35bd Fixed some javadocs. 2014-03-23 22:26:08 +01:00
sk89q
b3e03f59ac Don't grow pumpkin patches on non-grass blocks. 2014-03-01 16:57:14 -08:00
sk89q
c5fdfa7a0d Made GroundScatterFunction use a NoiseGenerator. 2014-03-01 16:52:36 -08:00
sk89q
d2e93dfe23 Added GardenPatchGenerator, GroundScatterFunction.
/pumpkins now uses the new classes.
2014-03-01 15:46:00 -08:00
sk89q
fb634ef95b Delegate flora creation to new FloraGenerator.
Sadly, no biome-specific flowers because the biome API in WorldEdit apparently needs some improvement.
2014-03-01 14:37:08 -08:00
sk89q
0402faa839 Added GroundFindingFunction.shouldPassThrough(). 2014-03-01 14:08:17 -08:00
sk89q
31060e1e0c Moved FlatRegion cast code to FlatRegionApplicator's constructor. 2014-03-01 13:54:44 -08:00
sk89q
c87b1acbad Added FlatRegionApplicator for FlatRegionFunctions. 2014-03-01 12:37:18 -08:00
sk89q
504c7a5ff1 Have upperY and lowerY on GroundFindingFunction be set via mutators. 2014-03-01 12:03:10 -08:00
sk89q
6f116cd564 Added FloraPlacer FlatRegionFunction and //flora. 2014-03-01 10:41:32 -08:00
sk89q
bc711d9036 Implemented ForestGenerator that performs the "forestgen" or "//forest" commands. 2014-03-01 02:51:50 -08:00
sk89q
c9d93d12a1 Added FlatRegionFunction and GroundFindingFunction.
FlatRegionFunction takes apply(Vector2D) and GroundFindingFunction is an implementation of FlatRegionFunction that searches for the first ground block.
2014-03-01 02:51:50 -08:00
sk89q
086533e6bc Fixed incorrect arg shifting on //forest. 2014-03-01 02:51:50 -08:00
sk89q
7cf093ad40 Fixed pattern "X%Y" with no Y defined throwing an exception.
Fixes WORLDEDIT-2897.
2014-02-28 16:20:54 -08:00
sk89q
513940a80b Fixed /we help to always check the lowercase command name.
Fixes WORLDEDIT-2876.
2014-02-28 16:18:07 -08:00
sk89q
0e615e5bf7 Added //forest that generates a forest in a selection.
Fixes WORLDEDIT-2958.
2014-02-28 16:15:51 -08:00
sk89q
9627d830d7 Added CuboidRegion.makeCuboid(Region). 2014-02-28 16:15:14 -08:00
sk89q
6bfcaca6d3 Added EditSession.forestGen() that takes Iterable<Vector2D>. 2014-02-28 16:14:44 -08:00
sk89q
2e2d432d11 Removed the /fill command as an alias of /material.
Fixes WORLDEDIT-3016.
2014-02-28 15:42:28 -08:00
TomyLobo
743a5ea869 Renamed a parameter in BukkitUtil. 2014-01-28 08:33:46 +01:00
wizjany
ab0d170d9a Added -s flag to //paste to select the pasted area.
Also undeprecated a method that shouldn't have been.
2014-01-12 15:57:19 -05:00
wizjany
ca44ee073a Added new log/leaves to floating tree remover tool. 2014-01-07 18:34:15 -05:00
TomyLobo
c25b9a53f2 Added config option to set the default for the /up and /ceil commands.
The config option defaults to glass as that is consistent across gamemodes.
Use -f to force flight (if available).
Use -g to force glass.
2013-12-31 19:04:19 +01:00
wizjany
99fae3e716 Revert /up and /ceil command to use glass block by default. Flight can be done via -f flag now. 2013-12-29 13:28:22 -05:00
TomyLobo
61905527f8 The /green command no longer affects permadirt and podzol.
This behaviour can be overridden with -f.
2013-12-29 18:28:42 +01:00
wizjany
85035a2a24 Allow forest generator to make trees under snow tiles. 2013-12-24 18:53:03 -05:00
wizjany
611cb81cf8 Added rotate/flip/cycle data for 1.7.2 blocks. 2013-12-24 18:31:48 -05:00
wizjany
d5831ea37b Added 1.7.2 biomes and trees. 2013-12-24 18:31:45 -05:00
TomyLobo
b3f2c10f79 Fixed some javadocs and deprecated isNaturalTerrainBlock(int). 2013-12-10 07:13:41 +01:00
wizjany
7b539dade6 Added 1.7 blocks and items. 2013-12-09 23:21:47 -05:00
TomyLobo
68b8218bea Moved containsFuzzy from EditSession to BaseBlock. 2013-12-03 23:53:44 +01:00
TomyLobo
d467bf1386 Added data value mappings for certain blocks and made all other block types wildcard matches. 2013-12-03 23:53:33 +01:00
TomyLobo
ef43e141ee Typo fix. 2013-12-02 10:35:01 +01:00
TomyLobo
da37f5424c Improved the readability of BaseBlock.equals. 2013-12-02 10:35:00 +01:00
wizjany
9a000de7cf Added nmsblock classes for MCPC 1.6.x. Untested 2013-12-01 18:22:32 -05:00
wizjany
8574f7bb36 Update NMS access to 1.7.2. 2013-12-01 15:29:05 -05:00
TomyLobo
1b9445b6f2 Added a "pos1" pseudo block type, which uses the block type from the "primary position". 2013-11-30 17:21:38 +01:00
TomyLobo
768adee389 Added a "hand" pseudo block type that uses the currently selected block. 2013-11-30 17:21:37 +01:00
TomyLobo
8319eb6d91 Added an item->block mapping for LocalPlayer.getBlockInHand(). 2013-11-30 17:21:36 +01:00
TomyLobo
66253ff891 Added BlockType.getBlockForItem. 2013-11-30 17:21:36 +01:00
TomyLobo
1a96847f88 Added LocalPlayer.getBlockInHand().
Also added an appropriate overload to BukkitPlayer.
2013-11-30 17:21:35 +01:00
TomyLobo
cd0bc62931 WorldEdit.getBlock (and its callers) can now throw any WorldEditException. 2013-11-30 17:21:34 +01:00
TomyLobo
79bcfd815b Fixed //deform not doing anything at all. 2013-11-30 17:18:53 +01:00
TomyLobo
8dbabe344d Reduced indentation level in some methods in WorldEdit.java and made WorldEdit.getBlock less confusing. 2013-11-30 00:00:02 +01:00
wizjany
3acc82e97b Removed the allow-extra-data-values option.
This reverts parts of e477141.
Data values could never go past 15 anyway,
making the option pointless and misleading.
2013-11-26 10:53:23 -05:00
TomyLobo
3fa9a4e309 Attached ascending rails to the block they're ascending towards, in addition to the block below them. 2013-11-17 23:43:38 +01:00
TomyLobo
b6ab34f23b Attachments for the 21st century! 2013-11-17 21:21:36 +01:00
TomyLobo
728dd52b0d Fixed a javadoc. 2013-11-17 18:31:12 +01:00
TomyLobo
bef5c8e3e7 Removed flower pots from canPassThrough. 2013-11-14 18:40:36 +01:00
TomyLobo
b299632d00 Fixed some warnings. 2013-11-10 13:52:56 +01:00
TomyLobo
164601644a //walls on non-cuboid regions no longer introduces gaps in walls beyond 45 degrees (aka slanted roofs :)).
This is a better way to solve #273.
2013-11-03 10:20:49 +01:00
orthoplex64
22d6c51976 Added /curve. 2013-11-01 20:24:09 +01:00
orthoplex64
f4277c126d Hollow lines; modified line-drawing; EditSession utility methods
Made hypot() and getHollowed() static
2013-11-01 20:24:08 +01:00
orthoplex64
f38b6c484c Line thickness support 2013-11-01 20:24:08 +01:00
orthoplex64
91c6c69551 Add //line command and EditSession method
The EditSession method comes with javadoc.
2013-11-01 20:24:07 +01:00
Albert Pham
9930fb7338 Merge pull request #269 from sk89q/generatebiome
Added a //generatebiome command, which uses formulae to generate free-form biomes.
2013-11-01 12:23:27 -07:00
TomyLobo
f7c7292f79 Added a //generatebiome command, which uses formulae to generate free-form biomes.
Shorthands: //genbiome, //gb
2013-11-01 20:09:30 +01:00
TomyLobo
1746dd2e1a Snapshot restore now obeys masks again. 2013-11-01 20:09:28 +01:00
TomyLobo
803b4df72e Masks are now checked in setBlock instead of rawSetBlock.
Untested!!!
2013-11-01 20:09:27 +01:00
Albert Pham
69bcaa7133 Merge pull request #272 from sk89q/solidmask
Added a #solid mask
2013-11-01 12:08:29 -07:00
TomyLobo
961773ce5d Added non-cuboid support for //walls and //outline. 2013-11-01 19:05:49 +01:00
TomyLobo
627e029fbb Added a SolidBlockMask (#solid). 2013-10-30 08:49:14 +01:00
TomyLobo
02de320980 Introduced AbstractMask as a superclass to all implementors of the Mask interface. 2013-10-30 08:48:40 +01:00
TomyLobo
6e3d8395df Fixed UnderOverlayMask. 2013-10-30 08:48:13 +01:00
TomyLobo
ae6e59e8d0 Removed references to the deprecated BlockTypeMask class from UnderOverlayMask. 2013-10-30 08:48:12 +01:00
TomyLobo
f27d7e585d Moved ArbitraryShape and WorldEditExpressionEnvironment to a new "shape" package. 2013-10-26 12:33:24 +02:00
TomyLobo
dcd1c7cee8 Made /up and /ceil benefit from fly mode.
This avoids littering the world with floating glass blocks when possible.
2013-10-25 18:22:11 +02:00
TomyLobo
90e1788781 Refactored up-with-glass code into a helper function. 2013-10-24 22:07:31 +02:00
TomyLobo
a1fa32153c Code quality improvements. 2013-10-24 22:07:30 +02:00
TomyLobo
661484f858 Code quality improvements. 2013-10-23 18:54:45 +02:00
TomyLobo
7dca4d15ef Made hay blocks rotate like logs.
They're textured like them, too, so it fits.
Also, they no longer violate the "flip twice equals rotate twice" conditions.
2013-10-20 16:31:50 +02:00
TomyLobo
696a2819a7 Fixed head rotation. 2013-10-20 16:31:50 +02:00
TomyLobo
6c4d2e2d8e Fixed lever rotation. 2013-10-20 16:31:49 +02:00
TomyLobo
c750cc6871 Fixed bed rotation. 2013-10-20 16:31:48 +02:00
TomyLobo
9220831ea4 Fixed door rotation and disabled door y flipping.
Mojang radically changd the way doors work, so y flipping on a per-block
basis is now impossible.
2013-10-20 16:31:48 +02:00
TomyLobo
06ef568bdd Code formatting. 2013-10-20 16:31:47 +02:00
TomyLobo
73bf2bd215 Fixed not flipping the center plane blocks.
Added regression test so we'll never have to deal with it again.
2013-10-20 16:31:46 +02:00
TomyLobo
54dca39b07 Removed the .java file from the resources folder. 2013-10-20 16:31:46 +02:00
TomyLobo
9e708b70a9 Fixed some warnings. 2013-10-20 16:30:22 +02:00
TomyLobo
2fdc76a3f9 Added centralTopLimit property for hoppers. 2013-10-20 00:24:55 +02:00
TomyLobo
43f9e517e7 BlockType adjustments
- Flagged all snow layers except single layers (data values 0 and 8) as "cannot be passed through".
- Fixed centralTopLimit for trap doors and fence gates and cake blocks with data values 6..15.
2013-10-17 11:03:56 +02:00
TomyLobo
1ec17b5a44 Made /ascend and /descend use centralTopLimit. 2013-10-17 11:03:55 +02:00
TomyLobo
921c354db7 Made everything that uses canPassThrough use data values. 2013-10-17 11:03:55 +02:00
TomyLobo
b612de3429 Added Block and id/data overloads to canPassThrough, centralTopLimit and isNaturalTerrainBlock. 2013-10-17 11:03:54 +02:00
TomyLobo
d2f51b27b5 Gave the function containing the code for the //gmask command a better name. 2013-10-17 11:03:27 +02:00
TomyLobo
aebaa921fd Fixed some general silliness. 2013-10-17 11:03:26 +02:00
wizjany
cb8df85cc7 Allow colors for stained clay and carpet data values. 2013-10-02 21:55:51 -04:00
zml
4daef4aff2 Check both superperms and PEX directly to support older versions of PEX with inGroup
Older versions didn't set the group nodes correctly, so they were only
accessible through getEffectivePermissions()
2013-09-25 19:35:27 -07:00
TomyLobo
e2f1abd7e4 Fixed the query functions not comparing data values at all for their return values.
Also made them accept RValue as well and added some test cases for them
and for the overloader bug i fixed last time.
2013-09-25 00:37:54 +02:00
TomyLobo
8badb09399 Added query{,Abs,Rel}(x,y,z,typevar,datavar) to the expression parser. 2013-09-21 19:44:56 +02:00
TomyLobo
eba1114b39 IntelliJ demanded attention. 2013-09-21 19:44:56 +02:00
TomyLobo
57bb5470eb Allowed usage of non-existant variables in all LValue expressions. 2013-09-21 19:44:55 +02:00
TomyLobo
4fa5daf974 Moved megabuf to the Functions class 2013-09-21 19:24:54 +02:00
TomyLobo
aef3b0024a Fixed the overloader 2013-09-21 19:24:53 +02:00
TomyLobo
cabced11a7 Removed some "final" qualifiers from static methods.
Also fixed some other warnings IntelliJ annoyed me with
2013-09-21 10:09:49 -04:00
wizjany
84598e220f Updated Craftbukkit package version for 1.6.4 2013-09-19 21:30:55 -04:00
zml
43b8c2cd9b Update PEX WEPIF resolver to use superperms where possible 2013-08-31 23:00:49 -07:00
TomyLobo
89e9829f28 Removed nonexistant parameter from javadoc. 2013-08-27 11:49:27 -04:00
TomyLobo
8ce14dc982 Made //copy and //cut copy only the blocks contained in the selection. 2013-08-27 08:03:14 +02:00
TomyLobo
77219a8b3e The Sphere selector can now also shrink the region.
The radius is set to ceil(distanceToCenter).
2013-08-24 10:59:23 +02:00
TomyLobo
878c26a8f0 Control flow improvements. 2013-08-24 10:59:22 +02:00
TomyLobo
eacd147694 Optimized EditSession.countBlocks.
Also fixed the questionable semantics for that anonymous class' "contains" method.
2013-08-16 08:18:37 +02:00
TomyLobo
28047894c4 BlockType adjustments
- Flagged heads as "cannot be passed through".
- Adjusted shouldPlaceLast (Added anvils, removed heads).
- Fixed portal frame height and added a few new blocks to centralTopLimit
- Made cobblestone wall 1.5 high.
2013-08-16 08:18:37 +02:00
TomyLobo
2a4e6ac93a Added a separate point maximum for polyhedral selections. 2013-08-16 08:18:36 +02:00
wizjany
eb669ff834 Moved properties.yml to spout profile and directory. 2013-08-12 22:21:28 -04:00
TomyLobo
60f44be298 Minor polyhedron changes. 2013-08-08 08:28:26 +02:00
wizjany
a669ef95c6 Tabs. 2013-08-06 23:50:02 -04:00
zml
bf2c8ebed4 Only show nested commands in the Bukkit help if the player has permission to use at least one of the children 2013-08-06 20:09:47 -07:00
Wizjany
63f2f96a8c Add convex to the @Command usage info for //sel. 2013-08-06 11:50:42 -04:00
TomyLobo
d4a7f7b48a ConvexPolyhedralRegions now preserve the order of their vertices. 2013-08-06 11:50:41 -04:00
TomyLobo
d7d8930cd4 Made BlockWorldVector.equals accept all kinds of Vectors, not just WorldVectors.
This should make all those compareTo==0 things unnecessary.
2013-08-06 11:50:40 -04:00
TomyLobo
b28fdbfe4e Used vector constants in all appropriate placed. 2013-08-06 11:50:39 -04:00
TomyLobo
4c496bfaac Added constants to Vector2D, BlockVector and BlockVector2D and made the ones in Vector final. 2013-08-06 11:50:38 -04:00
TomyLobo
37373976f5 Added the polyhedral selector to //sel. 2013-08-06 11:50:36 -04:00
TomyLobo
731c8a0ce7 Added a ConvexPolyhedralRegion and selector 2013-08-06 11:50:35 -04:00
TomyLobo
22798f49c8 Reduced some code duplication in the regions. 2013-08-06 11:50:34 -04:00
TomyLobo
c838ef7b25 Moved the polygonization code to the specific regions that are being polygonized.
Also, maxPoints no longer has confusing semantics.
2013-08-06 11:50:33 -04:00
TomyLobo
34093884bc Replaced an if-else tree in /rement by an equivalent switch. 2013-08-04 10:12:16 +02:00
TomyLobo
b710f919d5 Added static ZERO, UNIT_X, UNIT_Y, UNIT_Z, and ONE fields to Vector. 2013-08-04 10:12:15 +02:00
TomyLobo
e787013bad Fixed a typo. 2013-08-04 10:12:15 +02:00
TomyLobo
9f4d470f7d Made //move operate on the actual region instead of its bounding box. 2013-08-04 01:34:55 +02:00
TomyLobo
c1396a2468 Added EditSession.moveRegion. 2013-08-04 01:34:54 +02:00
wizjany
cd5f832adf Added methods to CommandContext to get slices excluding flags et al. 2013-08-03 09:46:17 -04:00
TomyLobo
98e466d371 Fixed a typo. 2013-08-03 15:29:33 +02:00
TomyLobo
9b37fb98ac Fixed some warnings. 2013-08-03 14:46:37 +02:00