1106 Commits

Author SHA1 Message Date
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
David Vierra
037292e1bb ConfigureBlocksDialog correctly selects the configured model name when a block is selected 2015-04-16 17:29:26 -10:00
David Vierra
200c64919d BlockModels uses the forcedModel, forcedModelTextures and forcedModelRotation for configured blocks.
Only warns about missing states files for Vanilla blocks
Handles non-loaded textures and unbound texture vars by substituting UNKNOWN_BLOCK
UNKNOWN_MODEL is now a constant
2015-04-16 17:28:23 -10:00
David Vierra
0ef44587ab Make ResourceLoader.blockTexturePaths only return each path once.
Having a 1.7 and a 1.8 jar in the path returns paths twice, and a resource pack returns them again.
2015-04-16 17:26:08 -10:00
David Vierra
2589b07c77 Add fake blockState with meta value for FML blocks 2015-04-16 17:25:11 -10:00
David Vierra
157e3d0aba Add default values to BlockType used for rendering. Remove special case for resourcePath (it should only point to valid states files or be None) 2015-04-16 17:24:54 -10:00
David Vierra
783909f2c8 Add a weird workaround for parented dialogs not positioning correctly 2015-04-16 01:20:19 -10:00
David Vierra
85e8665042 Use an item model for the texture image list for massive decrease in load times. 2015-04-16 01:19:45 -10:00
David Vierra
ac3bf2afba Don't add "minecraft:" to block names unless they obviously don't have a prefix 2015-04-16 00:46:27 -10:00
David Vierra
47c3be176d Rough draft of configure blocks/items dialog.
Allows adding unknown blocks detected via FML mapping, configuring their vital stats and assigning models and textures.
This data is currently unused by EditorSession, but is loaded from and saved to a config file
2015-04-15 22:23:43 -10:00
David Vierra
4de268eaab Add blockTexturePaths to ResourceLoader
Searches for probable block textures and iterates over them.
2015-04-15 22:21:56 -10:00
David Vierra
a324505f35 blocktype_list: Split TexturePixmap off of BlockTypePixmap
Move this to another file?
2015-04-15 22:20:38 -10:00
David Vierra
0984ff8efc Create a ResourceLoader for an EditorSession using its associated installation or instance
EditorApp creates the ResourceLoader for an EditorSession before creating it.
EditorApp finds the install or instance and calls getResourceLoader on it
MMCInstance now has getResourceLoader
MMCInstance's getResourceLoader returns a loader with all installed mods in its search path. Not sure whether they should go before or after the MC jar(s).  (todo: add installed mods for vanilla installs, for homecooked mod packs/installs?)
MultiMCInstall now has versions.
MCInstallGroup is now responsible for finding a v1.8 jar, and searches all installs and MMC installs for one.
ensureValidInstall checks for v1.8 and displays an appropriate dialog if it isn't found.

All of this will make it easier to hook in a "Minecraft Assets Pack" as a separate download, and makes it possible to load assets from any installed mods
2015-04-15 22:20:00 -10:00
David Vierra
be2db03b8c Don't spam "Could not get blockstates resource" except for Vanilla blocks. 2015-04-15 01:45:08 -10:00
David Vierra
4c86ec59cf Add 'unknown' flag to BlockType attributes and set it to True for FML-loaded types. Add unknownBlocks() to EditorSession 2015-04-15 00:33:04 -10:00
David Vierra
03eb0081a4 Add function to ResourceLoader for listing all block models
xxx only lists Vanilla models. haven't looked at mods with models yet.
2015-04-15 00:31:56 -10:00
David Vierra
c0910ddfd0 Remove missing files from the recent files list when scanning it for world info. xxxx maybe not the right place for this... 2015-04-15 00:31:19 -10:00
David Vierra
3c4336e487 Catch missing texture errors when creating pixmaps for textures (e.g. for blocktype list/picker) 2015-04-15 00:30:39 -10:00
David Vierra
9c9198507c Catch errors while loading the texture atlas for the debug widget that shows the atlas image. 2015-04-15 00:29:56 -10:00
David Vierra
8b0d42646f Make the editor app available as 'self' for the -eval argument 2015-04-15 00:29:24 -10:00
David Vierra
58748189f1 Cook quads after loading atlas textures, not immediately before using block models
xxx get the order of initialization right. TextureAtlas needs a GL context to get the maximum texture size. WorldView wants a texture atlas in its constructor for no apparent reason. We'll need to make WorldView have changeable TextureAtlases so get that out of the constructor.
2015-04-15 00:29:00 -10:00
David Vierra
a1699c53ef Change BlockModels/ModelMesh/TextureAtlas to use full paths to texture files 2015-04-15 00:27:23 -10:00
David Vierra
d12b09a0a9 Change ResourceLoader.openStream to use a full path
Anticipating textures loaded from mods
2015-04-14 23:45:21 -10:00
David Vierra
ee5665a477 Begin working on Configure Blocks/Items dialog 2015-04-14 16:06:34 -10:00