109 Commits

Author SHA1 Message Date
David Vierra
e718755dd4 More hacky changes to texture coordinates, to allow 1024-slot texture sheets. 2014-01-02 18:47:44 -10:00
David Vierra
1e516291c2 Expand terrain-pocket.png and terrain.png to 1024 textures (32x32) 2013-11-28 18:38:35 -10:00
David Vierra
17bf193e30 Fixed: "Copy Air" and "Copy Water" settings when disabled will no longer interfere with copying blocks with ID > 255
Fixes #348
2013-04-20 13:13:09 -10:00
David Vierra
c3bc76ba19 Added: ALT+Mouseover shows full NBT tags for TileEntities.
Without ALT, shows tags minus the "Items" tag.
2013-04-11 11:58:52 -10:00
David Vierra
963d2a728c Added: "Record Undo" option.
"Record Undo" is reset when loading or saving a level.
Long undo operations can be canceled.
2013-03-13 23:13:54 -10:00
David Vierra
1e350f62db Fixed: Error when filling with block with id > 255 2013-01-26 22:47:22 -10:00
David Vierra
ae1455633f Added: Clone and Import tools have "Copy Biomes" option.
Biomes are always exported into schematic files when possible.
2013-01-11 17:44:52 -10:00
David Vierra
660ce2d3c7 Fixed: Random huge selection boxes after changing levels.
Selection tool wasn't clearing the starting point after finishing a selection.
2013-01-09 00:24:10 -10:00
David Vierra
16a47fc6e1 Change Analyze command, renderer, and block picker to accept block IDs up to 4096 2013-01-08 11:28:36 -10:00
David Vierra
0f5d154a10 Fixed: Clone , paste, and import work again with Pocket Edition levels.
extractUndoChunks computes a larger bounding box and calls extractUndoSchematic for non-Anvil levels.
2012-12-08 23:07:03 -10:00
David Vierra
eb902b9eb5 Filter list is now sorted. Fixes #205. 2012-12-07 23:14:50 -10:00
David Vierra
753afc9317 Catch read, file, and session errors when checking for valid spawn blocks. 2012-12-04 23:08:53 -10:00
David Vierra
25dc17389d Fixed: Paste brush now refreshes the correct area. 2012-12-01 15:50:14 -10:00
David Vierra
83a08cb84f Worlds in the world select screen and levels being imported are now opened read-only.
Submodule pymclevel:
    > ce70e8b - Fixed: Dimensions check the parent world's session instead of creating their own. (xxx)
    > 1540076 - Added: Infinite worlds can now be opened read-only. This doesn't acquire the session lock.
    > 4d1d968 - Catch struct errors when checking session lock.
    > e0f1ca1 - Fixed: Session lock is checked before all chunk writes.
2012-12-01 15:49:54 -10:00
David Vierra
b19c64dca0 Catch errors while importing filters and show an alert. 2012-11-30 22:57:43 -10:00
David Vierra
80a8459c1e Catch and ignore EnvironmentErrors when drawing chunks and tool reticles and getting reticle positions. 2012-11-30 16:50:54 -10:00
David Vierra
8bdc3266ae Fixed: Check blockFaceUnderCursor isn't None when drawing selection reticle. 2012-11-30 16:50:53 -10:00
David Vierra
3744b040d6 Fixed: Undo folders are now process-specific. 2012-11-28 19:00:59 -10:00
David Vierra
636b1b46e7 Fixed: Shift-clicking with Brush tool draws straight lines again 2012-11-27 00:19:11 -10:00
David Vierra
66fcc0b199 Fixed: Change a print to a logging call to suppress an encoding error. 2012-11-26 14:00:01 -10:00
KaboPC
8bf1695154 Update filter.py for wrapped text and keyworded string input
Updated filter.py to used the new TextFieldWrapped class; added keywords for defining TextFieldWrapped line, width, and default value attributes to replace strValSize, strVal, and strSize optionTypes.

String input fields can now defined with:

("optionName", "string")
OR
("optionName", ("string", "lines=", "width=", "value="))
Conflicts:
	editortools/filter.py
2012-11-26 01:51:14 -10:00
David Vierra
32a179967b Fixed: Undo works again when editing Classic, Indev, and Schematic formats. 2012-11-25 19:28:01 -10:00
David Vierra
85e80e8287 Merge pull request #153 2012-11-25 13:56:40 -10:00
David Vierra
73b835f685 Debug: Disallow importing a level into itself to avoid overwriting its temporary folder. 2012-11-24 13:14:41 -10:00
David Vierra
81b682d728 Undo records are stored in a dedicated temp directory which is deleted on exit. 2012-11-21 21:39:28 -10:00
David Vierra
63cf7e32bb Fixed: Error when importing objects taller than the world. 2012-11-20 11:14:18 -10:00
David Vierra
ac9ef891db Only show progress bars when undoing more than 25 chunks. 2012-11-13 15:26:54 -10:00
David Vierra
75588b4cfe Clone tool now copies undo chunks in a non-overlapping way.
Also fixes an error when cloning since recordUndo() was removed.
2012-11-13 15:26:53 -10:00
David Vierra
ead87c03ff Refactor: Remove toolbasics.py.
All wildcard imports under editortools are gone.
2012-11-13 15:26:53 -10:00
David Vierra
b00f708aa2 Refactor: Move EditorTool to its own file. 2012-11-13 15:26:53 -10:00
David Vierra
1c1857b17c Refactor: Move ToolOptions to its own file. 2012-11-13 15:26:52 -10:00
David Vierra
b3c6a7b84d Refactor: Move BlockView and BlockButton to their own file. 2012-11-13 15:26:52 -10:00
David Vierra
cd56c8f0e6 Refactor: Move BlockPicker to its own file. 2012-11-13 15:26:51 -10:00
David Vierra
ba43599728 Refactor: Move BlockThumbView and Thumbview to their own file. 2012-11-13 15:26:51 -10:00
David Vierra
229a0ccd7a Refactor: Move NudgeButton to its own file 2012-11-13 15:26:50 -10:00
David Vierra
a4e8a632fc Refactor: Move Operation to its own file 2012-11-13 15:26:50 -10:00
David Vierra
dfab4a7af7 Fix comment in maxBlocks 2012-11-13 15:26:50 -10:00
David Vierra
9bda172a35 Fixed: ValueError when undoing the first selection operation after having no selection.
Don't try to make a Vector out of None in setSelectionPoints
2012-11-13 15:26:49 -10:00
David Vierra
4985791551 Added: Use copyChunkFrom to record undo information.
Operation now has `editor` and `level` as required arguments to init. Operation has a default `undo` implementation that copies all chunks from `undoLevel`. `undoSchematic` renamed to `undoLevel`
2012-11-13 15:26:45 -10:00
David Vierra
24e0c8a9b2 Fixed: AttributeError while using flatland chunk generator.
todo: honor world's flatland generator setting.
2012-11-13 10:10:29 -10:00
David Vierra
c06945e0df Fixed: Error while handling error thrown by MCServerChunkGenerator 2012-11-13 10:09:56 -10:00
David Vierra
18f1006214 Selection tool cursor only highlights exposed faces. 2012-11-10 12:32:03 -10:00
David Vierra
91acdbafa8 Fixed: Shift-nudge to move faster. 2012-11-10 12:32:00 -10:00
David Vierra
dc1ca09910 Fixed: Incorrect imports from pymclevel. (Fix the damn source roots already.) 2012-11-04 00:25:42 -10:00
David Vierra
a84ab25539 Fixed: Don't mutate a BoundingBox while drawing clone tool outlines. 2012-11-04 00:25:41 -10:00
David Vierra
8e67b57b2b Fixed: Erosion brush had a misaligned destination point, causing results to be badly skewed in one direction. 2012-11-01 19:00:31 -10:00
David Vierra
dd2bf7f2ae BoundingBox is now immutable, and use the new Vector for adding, subtracting, and rescaling positions.
Submodule pymclevel updated.

Submodule pymclevel:
    > 07c8024 - BoundingBox: Made BoundingBox immutable and added immutable Vector class
    > f5e4fd1 - FakeChunk now uses TAG_List for its fake Entities and TileEntities instead of lists.
    > 3e4a9b8 - NBT: TAG_List now accepts item assignment using slices.
    > 30cfb1d - Test: testFillBlocks calls fillBlocks with a blocksToReplace argument
    > 3fb1b0c - Fixed: Scan the unsaved work folder and _loadedChunkData in addition to the world folder when listing chunks.
    > fae5e61 - Fixed: Scan the unsaved work folder in addition to the world folder when listing chunks.
2012-11-01 00:30:18 -10:00
David Vierra
c8921b7d9d Refactor: Recent changes in pymclevel require some changes.
Use getChunkSlicesForBox to compute slices.
blockReplaceTable is moved to block_fill.py
adjustCopyParameters is moved to block_copy
info() was accidentally imported from some unknown module (wat? stop using wildcard imports!)

Submodule pymclevel:
    > 35bbbdc - Refactor: Change log statements to use `log.info()` instead of `info=log.info; info()`
    > ecac4fa - Refactor: Move fillBlocks into its own file and remove "fillBlocksFinite" implementation.
    > a7fd3ed - Refactor: Move copyEntitiesFrom logic into copyBlocksFrom and remove "copyEntitiesFromFinite" implementation.
    > b0ef494 - Test: copyBlocksFrom no longer fails if the requested box is partially out of the source level's bounds.
    > 459b208 - Indev: Now separates LocalPlayer from Entities on load and reinserts it on save.
    > 14f5343 - Test: Improve copyConvertBlocks to count entities copied
    > ea585d7 - Test: test_mcr no longer re-runs TestAnvilLevel.
    > cf51ef4 - Refactor: infiniteworld.py: Change log statements to use `log.info()` instead of `info=log.info; info()`
    > f36634b - Refactor: Move copyBlocksFrom and supporting methods to its own file and simplify them.
    > ded3b8f - Refactor: Remove redundant code for setting an anvil world's Height.
    > 93ccf9d - Refactor: Change a chunk's Height to reference the Height of its containing world.
    > fe03b70 - Entities: Fixed Tile positions when copying and rotating ItemFrames
2012-10-31 02:04:42 -10:00
David Vierra
e5707fcd9e Fixed: Import from pymclevel.minecraft_server and not minecraft_server
My Pycharm project has mclevel/pymclevel marked as a source root, so automatic imports are relative to that folder. xxx fix it.
2012-10-30 04:39:45 -10:00
David Vierra
b384768f7e Fixed: BrushOperation._perform correctly skips over absent chunks. 2012-10-30 04:39:44 -10:00