Commit Graph

1032 Commits

Author SHA1 Message Date
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
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
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
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
wizjany
65c3614e7b Support for listing in expand, contract, and shift.
Support listing in these commands by replacing a single Vector with a
List<Vector> and then iterating through it in a foreach loop. Region
changes are still performed individually, no extra complicated math
involved.
2013-08-02 22:55:38 -04:00
wizjany
5f47ede05a Made generation commands respect the max-radius config setting. 2013-08-02 22:50:14 -04:00
wizjany
d7324f6b13 Made a checkMaxBrushRadius method for centralized use. 2013-08-02 21:34:20 -04:00
wizjany
bc39a913ea Fix logic error when checking for use-inventory overrides. 2013-07-26 08:33:52 -04:00
wizjany
d61dec2ee7 Removed outdated reference to redmine tracker.
Seriously, why was this here in the first place?
2013-07-25 14:38:05 -04:00
wizjany
4d89b67b25 Update to MC 1.6.2 2013-07-12 02:04:20 -04:00
wizjany
930e2e7107 Update MobType list, even though it's almost never used. 2013-07-02 07:34:42 -04:00
wizjany
7a757ccdb2 Added blocks and items for MC 1.6 2013-07-02 07:34:41 -04:00
wizjany
48bff509dd Bukkit package naming changes for 1.6.1. 2013-07-02 07:34:20 -04:00
TomyLobo
6f3fbdc963 Removed some debug prints. 2013-07-02 07:30:00 -04:00
TomyLobo
d7837f6121 Added cylinder->polygon conversion. 2013-07-02 07:29:59 -04:00
TomyLobo
610fa40e2a Removed some javadocs for nonexistant parameters in Vector2D methods. 2013-07-02 07:29:58 -04:00
TomyLobo
3e875b7936 Fixed some warnings. 2013-07-02 07:29:58 -04:00
TomyLobo
5db504aed2 @Deprecated 2 deprecated constructors. 2013-06-22 05:56:02 +02:00
me4502
70ccac620f Use equalsIgnoreCase to check for perm plugins, and check for GroupManager
Using equalsIgnoreCase fixes a few weird issues with bPerms, and adding GroupManager fixes a metric tonne of issues with GroupManager.. Like it being randomly disabled, it not working, etc.
2013-06-10 17:02:30 -04:00
wizjany
5895b492da Horrible 0-day fix. Super important to upgrade.
Actually just a typo.
2013-06-03 16:54:14 -04:00
wizjany
fb96ced3bf Add coordinate argument to //chunk command. 2013-06-03 15:55:17 -04:00
Albert Pham
10c43a9c9f Made McRegionReader.getChunkInputStream() throw a DataException instead of returning a null when an ungenerated chunk is encountered. 2013-06-02 12:14:56 -07:00
wizjany
ca06489e11 Don't spam chat when a different type of vector is given to the Selector. 2013-05-16 02:02:09 -04:00
wizjany
94dbfa3b85 Be less lazy handling MobSpawnerBlock tags. (Although once again, no one should actually being using this class.) 2013-05-12 13:23:31 -04:00
wizjany
fad30ff23b Update for CraftBukkit 1.5.2 package. 2013-04-30 20:54:59 -04:00
wizjany
f213bb73e8 Added pistons (retracted only) to cycler tool. 2013-04-18 16:56:09 -04:00
wizjany
102a149dbb Fix setbiome issue and tweak a few block names. 2013-04-09 17:17:15 -04:00
wizjany
e7ae3b4ddf Fix setting blocks that used multiple TileEntities on one block id.
Since forge added support for this feature, we need to double-pass
on setting block data values to preserve both TileEntity type and
block orientations.
Users using MCPC may need to remove their old MCPC nmsblock class
before the new one is used correctly. (Although it was only added
in a dev build)
2013-03-30 15:50:21 -04:00
wizjany
2846119f08 Make //setbiome respect global mask, if set to a biome mask 2013-03-28 19:53:42 -04:00
wizjany
51515473bc Allow remove command to be used from console 2013-03-26 00:56:42 -04:00
wizjany
0e8508847e Added hoppers to block data info 2013-03-25 10:24:18 -04:00
wizjany
58a7a2ed4f Prepare for MC 1.5.1 (specifically, Bukkit renames). 2013-03-20 17:40:22 -04:00
wizjany
422cba101d Fix NPE in mob spawner blocks on non-bukkit implementations 2013-03-17 22:11:29 -04:00
wizjany
1af61f827b Fix block setting while not in fast mode 2013-03-17 21:38:13 -04:00
wizjany
83d5e2fd22 Fix block rotations 2013-03-17 11:11:41 -04:00
wizjany
6c35d20306 Use correct method and mask to set blocks. 2013-03-16 17:15:00 -04:00