751 Commits

Author SHA1 Message Date
David Vierra
7e1c7b7a82 Add Item IDs from FML tag 2015-05-05 05:51:47 -10:00
David Vierra
722f7ad507 Make chests look like door-boxes for now. Chest graphics are kept as an entity model with the texture as a model sheet... 2015-05-05 05:51:31 -10:00
David Vierra
366aba874d Inspector now has editor-widget classes registered for different tile entities
Add editors for Chest, Dispenser, Hopper
Add TileEntityRefs for above
Change InventoryEditor to accept a slotLayout
Move player slotLayout to player panel
Remove 'slotCount' from InventoryItemModel, which is no longer a ListModel because it freaks out when rowCount is 0
xxx move slotLayout to InventoryItemModel
2015-05-05 05:50:58 -10:00
David Vierra
460a6f1dde BlockTypeButton is now able to respond to the editorSession's signal configuredBlocksChanged
Changed textureAtlas back to editorSession
2015-05-02 06:04:41 -10:00
David Vierra
c1b59f5365 Failure to load a item's block texture is no longer fatal 2015-05-02 05:58:21 -10:00
David Vierra
d694afbcf1 Show both single-player and multiplayer entries for a player, if present. 2015-05-02 05:55:52 -10:00
David Vierra
77f2e33e0e Add explicit "return None" to getItemInSlot 2015-05-02 05:52:49 -10:00
David Vierra
948e1dab1b Players panel now embeds an InventoryEditor for the player's inventory. 2015-05-02 05:52:28 -10:00
David Vierra
222b49c612 Rough draft of inventory editor 2015-05-02 05:50:25 -10:00
David Vierra
a6483440ad BlockTypePixmap now accepts a size arg 2015-05-02 05:49:53 -10:00
David Vierra
4e06ac9f62 AnvilPlayerRef's Inventory is now a SlottedInventoryAttr 2015-05-02 05:49:31 -10:00
David Vierra
610225b423 AnvilPlayerRef's blockTypes aliases the adapter's 2015-05-02 05:49:04 -10:00
David Vierra
468b7fbaa4 ItemTypeSet: handle "texture" being a list, fix __str__ after copying it from BlockType, add __len__ 2015-05-02 05:48:43 -10:00
David Vierra
65bc6ab9a0 Players panel now stays on top of main window 2015-05-02 05:47:04 -10:00
David Vierra
f62bca54b8 Corrections to item jsons 2015-05-02 05:46:37 -10:00
David Vierra
9a4aa12bf6 Display version info in world list 2015-04-29 09:09:24 -10:00
David Vierra
95d0d638b3 AnvilWorldAdapter auto-converts item stacks to the detected world format.
May be a bad idea, but I checked all of the item stacks in a well-played, heavily modded world and found nothing that this would wreck.
2015-04-29 09:06:44 -10:00
David Vierra
11ae0d61df Make refClass mandatory for EntityListProxy 2015-04-29 09:05:21 -10:00
David Vierra
62f4855b10 Add ItemStackRef class and supporting elements to PC[Tile]EntityRef
EntityRefs now try to know their blockTypes. This mainly allows 1.7 worlds to return an item's internalName for its ID when accessed. With the caveat that an item created outside of a world and assigned a 1.7 ID will return a 1.7 ID until it is parented to a world. I can live with that.
2015-04-29 09:05:09 -10:00
David Vierra
66d68529ce AnvilWorldAdapter now detects from the level.dat whether the world is in 1.7 format or 1.8 2015-04-29 03:52:05 -10:00
David Vierra
0ad4111c24 AnvilChunkData's Entities, TileEntities, and TileTicks now alias the corresponding tags in its rootTag 2015-04-29 03:51:30 -10:00
David Vierra
b5c8f7fd20 BlockTypeSet now remembers the item stack version for its world. 2015-04-29 03:49:19 -10:00
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