779 Commits

Author SHA1 Message Date
David Vierra
72e1f6c765 WorldEditor uses a proxy list to avoid creating Tile/EntityRefs for each entity up front.
The Ref existing needs to by definition keep the chunk alive, so the chunk can't reference them.
2015-04-29 03:48:45 -10:00
David Vierra
1cdc4381f5 Remove named and global blocktypes. Only create a new one with each new world adapter.
Caching the .json files offers most of the benefits of a global. Now you are forced to get the WorldEditor's blocktypes, as you should.

And comment out InvEditChest and ZipSchematic until they are redone...
2015-04-29 03:39:31 -10:00
David Vierra
a8a91cdbb9 lru_cache_object.should_decache now takes the cache key as input, for a very marginal speed gain 2015-04-29 03:34:27 -10:00
David Vierra
4e2ef9745e Chunks that don't unload during a cache miss are treated as hits so they won't immediately be tried next time. 2015-04-29 03:34:22 -10:00
David Vierra
b0c26c1fde Messed around with time_loadsave until I found out (duh) that the [Tile]EntityRefs are keeping the chunk alive indefinitely. 2015-04-29 03:31:13 -10:00
David Vierra
f0af0efb1f NBTListProxy now wraps its elements in a proxy class that allows direct access to tag values, rather than to the tags themselves.
NBTCompoundListAttr also uses this proxy, wrapping the elements in a specified NBTCompoundRef subclass.

These allow NBTAttrs to be defined hierarchically.
2015-04-29 03:30:10 -10:00
David Vierra
664ea46639 Catch exception when loading missing/damaged resource pack
catch-all, eww
2015-04-29 03:26:42 -10:00
David Vierra
1023d56c85 Pin versions of pyside and numpy.
PySide 1.2 changed to new-style signal mechanics
NumPy 1.9.0 heavily optimized array indexing
2015-04-29 03:26:13 -10:00
David Vierra
b122cc93cc lazyprop.py -> mceditlib/util 2015-04-29 03:02:04 -10:00
David Vierra
5608db1094 Ignore any exception while getting world info for the world list. 2015-04-27 09:36:49 -10:00
David Vierra
2fd2dd7e09 Go back to fixed far plane for camera perspective to show more of the loadable chunks area 2015-04-27 08:33:15 -10:00
David Vierra
c173671ed1 Fix "File Not Found" when listing contents of nonexistent resourcepacks dir 2015-04-27 08:32:47 -10:00
David Vierra
bf47a41385 raycast: Add bounds check to fix FPS drop when casting out of bounds
Remove currentChunk since WorldEditor finally has recentChunks
2015-04-25 01:38:54 -10:00
David Vierra
10eec0ea41 Add tagClass property to TAG_List
Returns the TAG_Value subclass appropriate for this list.
2015-04-25 01:37:47 -10:00
David Vierra
f630bfff50 Add ItemTypeSet class, add itemTypes attr to BlockTypeSet, add item jsons stolen from Unified.
Move json loading stuff for block/itemtypes to its own file
2015-04-25 01:30:30 -10:00
David Vierra
8ddfe260b9 Cleanup 2015-04-25 01:29:16 -10:00
David Vierra
5a37172e6b WorldList: Tweak font size of Edit button, remove questionable properties 2015-04-25 01:29:09 -10:00
David Vierra
10747080b0 Allow find/replace to locate all entities and/or tile entities in the selection, if the searchName and searchValue checkboxes are unchecked and the target IDs fields are empty. 2015-04-25 01:28:35 -10:00
David Vierra
5ff44bf0a1 Add traces to MCEditApp startup to diagnose startup errors 2015-04-24 18:50:02 -10:00
David Vierra
21dab1ef40 Zooming to found entities from NBT results works now.
Zooming to tile entities worked, but entities were never tested!
2015-04-20 07:08:39 -10:00
David Vierra
6e5952b172 Fix errors when getting repr for array types.
Change tags to repr names using %r
2015-04-20 07:02:44 -10:00
David Vierra
e47592a898 Biome brush cursor now uses the selected biome for its grass color! 2015-04-19 23:35:12 -10:00
David Vierra
1a0a7fb938 ShapedSelections can now return its positions as an iterator of tuples
Allows non-optimized algorithms to use `selection.positions`
2015-04-19 23:31:24 -10:00
David Vierra
f625d1f16b Fix infinite loop when updateHeightmap calls setBlocks, which calls updateLights...
setBlocks won't update lights if not asked to change blocks (duh)
2015-04-19 22:27:00 -10:00
David Vierra
1673b7f48c Add Biome brush
BrushModes create their options widgets
BrushModes return additional options that are added to brushTool's common options
BrushModes return their own bounding boxes instead of BrushTool
BrushModes create the level to be used for the brush cursor
Current BrushMode is saved in settings
2015-04-19 19:42:14 -10:00
David Vierra
de6a39c865 BlockTypeButton sets its new blocks before emitting blocksChanged 2015-04-19 19:39:28 -10:00
David Vierra
824553b1f1 Move getSelectedResourceLoader to MCEditApp and have it use settings options in minecraftinstall
Add settings options for current install, version, and resource pack.
Connect the combo boxes on WorldListWidget to these options
Fix a dumb bug that caused the default install to never be found.
2015-04-19 03:28:27 -10:00
David Vierra
215dffd69d Several fixes to minecraft installs
WorldList doesn't crash if no vanilla installs are present
WorldList asks EditorApp for a resource loader when previewing worlds (move this somewhere else?)
MCInstallGroup only checks if a valid 1.8 install is present and doesn't require a vanilla install
MCInstallGroup can return a default ResourceLoader for the 1.8 install
Removed all traces of the bad-smelling "IVP" thing, replacing it with ResourceLoaders
2015-04-18 15:53:38 -10:00
David Vierra
deede41b12 Fix stupid bug when putting biome name in status bar 2015-04-18 15:08:48 -10:00
David Vierra
0ffaeb06a3 Remove biome loggers from modelmesh 2015-04-18 15:07:45 -10:00
David Vierra
eac18e6969 ModelMesh now renders blocks with biome coloring
Blocks need to be marked with biomeTintType in minecraft.json to use this.
2015-04-18 00:51:37 -10:00
David Vierra
26a07a8917 Don't try to save changes when loading level.dat_old - fails when opened read-only 2015-04-18 00:51:37 -10:00
David Vierra
51c0abc84f FakeBrushChunk now has a fake Biomes.
Maybe someday we'll proxy the world's Biomes here and update them as the cursor moves?  Naaaah, too much mesh rebuilding.
2015-04-18 00:51:36 -10:00
David Vierra
4bdd1eeb1b Editor status bar now shows Biome name and ID 2015-04-18 00:51:30 -10:00
David Vierra
db9fc62a5e Add some new biome IDs from an NEI dump 2015-04-17 23:43:26 -10:00
David Vierra
1830a1c7c9 Add get/setBiomeID to WorldEditor, fix dumb typo in setBlockID 2015-04-17 23:43:07 -10:00
David Vierra
22abaed92a Need to catch NBTFormatError when loading level.dat 2015-04-17 04:10:51 -10:00
David Vierra
e16ae102c2 Add a zip/mod/jarfile chooser to texture picker. Add a filter proxy to the texture picker and connect the search box. 2015-04-17 03:09:15 -10:00
David Vierra
4533ce5f3d Add a "Remove" button to Configure Blocks 2015-04-17 03:06:16 -10:00
David Vierra
8833815a01 Return a stupid value from AnvilPlayerRef.dimName instead of raising ValueError, need to fix this... 2015-04-17 03:05:27 -10:00
David Vierra
3c5448fd50 Fix a dumb bug in listing chunk positions that should have come up sooner 2015-04-17 03:04:58 -10:00
David Vierra
7d7de076e9 Fix changed TextureAtlas/BlockModels not being propagated to renderers 2015-04-17 03:04:35 -10:00
David Vierra
515e0748fa For some reason 'pos' can be a string here... need to figure that out 2015-04-17 03:03:54 -10:00
David Vierra
caa5e91f90 ConfigureBlocksDialog: All fields in the main block list (meta, opacity...) are now editable. 2015-04-16 21:34:02 -10:00
David Vierra
d951970c3a EditorSession now recreates the BlockModels and TextureAtlas whenever configured blocks are changed.
Emit a configuredBlocks signal and connect it to EditorTab to update the world views.
BlockModels and TextureAtlas are created in setConfiguredBlocks now.
2015-04-16 21:33:32 -10:00
David Vierra
26bf820495 Configured blocks are skipped when the internalName isn't mapped to an ID.
Configured blocks are added to blocktypes using a fakeState made from the meta value
2015-04-16 21:32:13 -10:00
David Vierra
056a859844 FML loaded blocks are allowed to override and replace Vanilla blocks.
This allows 1.8 blocks to be overridden. Still not allowed to remap Vanilla blocks to another ID.
2015-04-16 21:30:35 -10:00
David Vierra
9ac8354cec Fix variant rotations rotating in the wrong direction 2015-04-16 21:29:39 -10:00
David Vierra
41cbbccb27 Fix blocks with no defined model using the wrong model 2015-04-16 21:29:23 -10:00
David Vierra
c54a40c04b EditorSession reads the configured blocks from ConfigureBlocksDialog on loading
Changing configured blocks after loading still doesn't work - need to reload TextureAtlas, blocktypes, BlockModels for all views and emit a signal
2015-04-16 17:30:41 -10:00