David Vierra
effde4d394
Remove duplicate exceptions
2015-03-21 16:17:14 -10:00
David Vierra
048bc03d96
Fix worldlist editing the wrong world because its selection index is cleared when it closes
2015-03-19 20:31:01 -10:00
David Vierra
c3dbb9817a
levelbase.py -> fakechunklevel.py
2015-03-19 20:25:45 -10:00
David Vierra
30ad14e172
Remove dead code
2015-03-19 20:24:34 -10:00
David Vierra
5477bd51a5
Re-add blocktype conversion. Store block IDs in schematic files.
...
This allows proper transfer of mod-added blocks (not items) between worlds saved by MinecraftForge 1.7. Items require (intricate) special handling, since they can be literally anywhere. As an added bonus, when items are handled correctly, items can be transferred between Minecraft 1.7 and 1.8, since 1.7 uses numeric item IDs while 1.8 uses textual ones.
Only block IDs are converted. In the past, block meta conversion was needed for Pocket Edition worlds (wool specifically) but since block IDs in MCPE are converging on PC edition IDs this may not be needed. In any case, we'll burn the MCPE bridge when we come to it.
2015-03-19 19:39:15 -10:00
David Vierra
34285d3dc9
Fix [Tile]Entities not getting exported to schematics
...
Because nobody was really sure where they were being stored.
2015-03-19 17:03:18 -10:00
David Vierra
31dc9d49bb
Fix asterisk error when passing positions to BoundingBox constructor.
...
Why did this go undetected for so long!?
2015-03-19 17:01:52 -10:00
David Vierra
63951189e9
Catch rendering errors per-meshclass instead of aborting the entire chunk.
2015-03-19 17:00:54 -10:00
David Vierra
d9236e697c
Add Import/Export menu and commands, start to get them working (finally)
2015-03-19 17:00:32 -10:00
David Vierra
3ce14fd504
Add Library to Windows menu
2015-03-19 14:09:06 -10:00
David Vierra
8d800bf098
Show first 8 elements of array types in NBT trees.
...
Maybe later we'll add a hex editor...
2015-03-19 14:08:47 -10:00
David Vierra
f2df2ebfcc
Adjust starting point up to player's eye-level (again...)
2015-03-19 12:24:11 -10:00
David Vierra
cf97caced3
NBT Replace converts string input to the appropriate type, and marks the [tile]entity ref dirty.
2015-03-18 23:46:32 -10:00
David Vierra
ad5fe0205b
Add UUID field to PCEntityRef, add dirty() to PCEntityRef and PCTileEntityRef
...
Ugh... still need to decide whether a PC[Tile]EntityRef (and ItemRef and so on) refers to an entity in any revision (and can sometimes be invalid), or only a single revison (and can be read-only most of the time)
2015-03-18 23:45:34 -10:00
David Vierra
6f0deec967
Clear tileEntity inspector when no tile entity, use correct type for entity UUID label
2015-03-18 23:44:16 -10:00
David Vierra
09b2884086
Skip players with unparseable UUIDs
2015-03-18 23:42:25 -10:00
David Vierra
087f6e153b
THIS LINE apparently causes a crash when an EditorSession with any commands in its QUndoStack is garbage-collected.
...
Probably related to Qt's object ownership rules. The QUndoStack owns any commands put into it.
2015-03-18 23:41:43 -10:00
David Vierra
f9a00d9961
Add "Collect Garbage" to debug menu
2015-03-18 23:40:34 -10:00
David Vierra
e0878cee26
Fix recent files menu only opening the last world in the menu (oops)
2015-03-18 17:07:18 -10:00
David Vierra
c28f8b9e75
NBTEditor uses its sorting proxy model again. Now to find out what was so wrong with it that it was removed.
2015-03-18 16:56:32 -10:00
David Vierra
d753361dbf
Clicking a result in the NBT find results will zoom to that entity or tileEntity
2015-03-18 16:20:19 -10:00
David Vierra
ec5d6584d1
When loading a world, start from the single-player's viewpoint like in MCEdit 1
2015-03-18 16:19:49 -10:00
David Vierra
5abd935862
After changing tag names, update the results view. Really ugly, need to do it through the model and not the results
2015-03-18 16:02:32 -10:00
David Vierra
83826f7179
Implement "Replace All" function for NBT search
...
Add replacement inputs to results widget and synchronize them
Add default value to MCESettingsOption
2015-03-18 15:51:33 -10:00
David Vierra
891649d9d3
Started work on InspectorWidget
...
(doot-do-doot-do-doot doot doot, woo woo)
2015-03-18 12:27:39 -10:00
David Vierra
9d3ba92c76
Add "Find again..." button to NBT results
2015-03-18 10:37:24 -10:00
David Vierra
8d295eb2ce
Begin separating the Select Block and Select Entity tools apart
2015-03-18 10:37:17 -10:00
David Vierra
f2131a3e86
PlayersPanel doesn't error when a player doesn't have a UUID (for older worlds)
2015-03-17 22:42:15 -10:00
David Vierra
e483424e17
More work on NBT find/replace
...
Find/replace settings are saved and loaded
Checkboxes are sync'd with field contents
Find results are shown in a separate dock widget
Result entries unambiguously point to an entity or tile entity
2015-03-17 22:41:47 -10:00
David Vierra
ae0e1bed1f
Create a settings namespace object to group related settings
2015-03-17 22:40:04 -10:00
David Vierra
f4b620dbff
xxx BlockPicker changed to need textureAtlas and not editorSession
2015-03-17 18:13:35 -10:00
David Vierra
402bdb508a
Move several selection-related commands from SelectionTool's options panel to the Select menu in EditorSession
2015-03-17 18:13:12 -10:00
David Vierra
5bacc8bf4a
Ensure that the map view gets cleaned up when the WorldListWidget is closed/hidden/rejected
...
Seems a bit redundant.
2015-03-17 16:08:56 -10:00
David Vierra
864907a689
EditorTab weakly references EditorSession
2015-03-17 15:46:16 -10:00
David Vierra
1c50a305d9
Don't try to read Forge 1.6 "ID" mapping. These store Java class names and not textual block IDs. Worry about this much later, if at all.
2015-03-17 15:42:28 -10:00
David Vierra
d1fd57347d
In FML for MC 1.6, 'ordinal' is not the block/item's "meta" - I still don't know what it's for.
2015-03-17 15:37:18 -10:00
David Vierra
a6448022a2
Remove the session's undoStack from the app's undoGroup when the session is closed.
2015-03-17 15:36:58 -10:00
David Vierra
e9de29b9d6
Core ViewActions no longer reference the EditorSession, and weakly reference its EditorTab
2015-03-17 15:36:50 -10:00
David Vierra
74f4c27339
NBTEditorWidget weakly references EditorSession
2015-03-17 14:18:15 -10:00
David Vierra
9de48d2d3f
PlayersPanel weakly references EditorSession
2015-03-17 14:16:17 -10:00
David Vierra
33b166931f
Update recent files on startup
2015-03-17 14:15:45 -10:00
David Vierra
c11fa41b52
Only add actual block IDs from FML mapping (worry about items later)
...
For some reason this required adding two new ID->name mappings to BlockTypeSet
2015-03-17 13:01:40 -10:00
David Vierra
53099af2c6
EditorTool is now responsible for creating its toolbar action and providing a signal for EditorSession to connect.
...
EditorTool weakly references EditorSession.
EditorSession does not connect loader.allChunksDone to a lambda any more
2015-03-17 11:19:50 -10:00
David Vierra
27c1fadbdd
ChunkLoader weakly references its clients, so as not to keep them alive and not require them to be unregistered on destruction
2015-03-17 11:17:39 -10:00
David Vierra
cd4a8aacbf
Don't set mainWindow as parent of PlayerPanel
...
Doing so keeps the editorSession alive as a side effect.
2015-03-16 22:09:41 -10:00
David Vierra
9390d9ecfb
sessionDidChange now handles switching to a None session (no sessions open, etc)
...
Clears panels and tools toolbars and removes session dockwidgets.
2015-03-16 22:07:35 -10:00
David Vierra
53ab8b12bf
objgraphwidget: filter common primitive types out, change showBackrefs to have more useful output
2015-03-16 21:04:29 -10:00
David Vierra
dec908d20d
Block button/picker no longer needs an EditorSession, just a TextureAtlas
2015-03-16 20:02:39 -10:00
David Vierra
11a5f19f1e
Destroy WorldView's renderGraph to ensure GL resources are released
2015-03-16 18:18:34 -10:00
David Vierra
b8a3512768
WorldView.viewportMoved does pass the view as its only argument, so don't pretend it doesn't.
2015-03-16 18:18:04 -10:00