958 Commits

Author SHA1 Message Date
David Vierra
4db059fde9 Change docs to alabaster theme, skip Qt staticMetaObjects
Add github user/repo for theme purposes
More mceditlib->mcedit2
2015-07-17 04:10:57 -10:00
David Vierra
5b25e95cab Change NBTAttrs a bit so sphinx documents them quietly
Both of these changes make them more like the builtin property()
NBTAttr access on classes returns self, so sphinx can document the class
NBTAttr constructors take a docstring argument and replace the instance's doc so sphinx doesn't repeat NBTAttr's doc everywhere
2015-07-17 04:10:07 -10:00
David Vierra
c7a19c4a4a Add getActualBlockState rules for doors and redstone 2015-07-17 01:59:44 -10:00
David Vierra
697fa78fca Add target to doc/Makefile for running sphinx-apidoc
Replace 'mceditlib' with 'mcedit2' in doc info
2015-07-17 01:59:00 -10:00
David Vierra
1649dcf28b Allow blockStatesByResourcePathVariant to have multiple entries for a path,variant pair as intended 2015-07-17 01:57:55 -10:00
David Vierra
cd2d6b7ea9 Add a special case to preserve the color of stained glass when rendering 2015-07-16 14:53:50 -10:00
David Vierra
6203847d77 Fix all issues related to improperly rotated, lit, and culled models that use variant rotation
Buttons, levers, quartz pillars and others are now oriented, lit, and culled correctly
2015-07-16 02:00:57 -10:00
David Vierra
e018234e6e Removed variantZrot, which never appears in the variant files.
I feel dumb.
2015-07-16 02:00:03 -10:00
David Vierra
559555ca56 Set default blockstate of unknowns to '' 2015-07-16 01:26:04 -10:00
David Vierra
09879c1af5 Fix zero-length arrays appearing in setBlocks 2015-07-16 01:25:40 -10:00
David Vierra
c827444e0f time_getsetblocks is working again and produces fairer results 2015-07-16 01:25:18 -10:00
David Vierra
12f93e8c62 Add getActualBlockState rules for fences and panes/bars.
This method is done with Python and is very slow.
2015-07-15 21:32:34 -10:00
David Vierra
47ee219528 blockmodels.pyx: cookedModelsByBlockState keys are now split into components
Splitting the blockState into properties and sorting them makes property order no longer matter.
Also, all models are added into cookedModelsByBlockState and not just those for hidden states. Soon, I should be able to remove resourcePath and resourceVariant from the base block data dump and only keep them in the states dump.

blockStatesByResourcePathVariant value elements are also split into internalName and blockState
2015-07-15 21:31:56 -10:00
David Vierra
e5982651c1 Update raw data dump: Remove unused material* fields, add materialName field, remove duplicate renderType field 2015-07-15 21:27:36 -10:00
David Vierra
9ce23e8d7b Don't duplicate code from blocktypes and also don't get it completely wrong 2015-07-15 18:01:46 -10:00
David Vierra
5037655787 Hidden block states are stashed in cookedModelsByBlockState
getActualBlockState rule written for grass with snow on top.
2015-07-15 17:38:45 -10:00
David Vierra
4263b184fa Load "hidden" blockstates from a json file.
These new models are cooked and then thrown away as there is nowhere to put them! :(
2015-07-15 17:33:39 -10:00
David Vierra
e65817bb60 Store uncooked models with model variants separate from blockstates
Uncooked models are stored in quadsByResourcePathVariant {(path, variant): quads}
blockState mapping is stored in blockStatesByResourcePathVariant {(path, variant): [nameAndState]}

This allows us to skip cooking models twice when one model (path, variant) is used for more than one blockState
2015-07-15 14:57:22 -10:00
David Vierra
79963a55a9 Create dataDir on Mac and Linux 2015-07-15 13:25:52 -10:00
David Vierra
68cfbc4c98 Add special cases for face culling for Slabs and other blocks
Also includes leaves with fancyGraphics=True, which is just asserted to be True for now...
2015-07-15 12:34:51 -10:00
David Vierra
7443e6ad74 Remove unused layers from AllLayers
SceneUpdateTask doesn't know if a layer isn't provided by any chunk meshes...
2015-07-15 12:33:48 -10:00
David Vierra
7c05881a8e Incredibly brutal fix for blocks (e.g. slabs, stairs) with useNeighborBrightness
What this flag does is make the block report its brightest neighbor's light as its own for rendering purposes, since these blocks are technically opaque but still expose that face of their neighbors.

Next, fix up face culling
2015-07-15 12:33:12 -10:00
David Vierra
79354dd690 Add /setblock and /testforblock commands
Refactor some parts of SummonCommand into functions
Someday I'll want a parse language or something...
2015-07-14 20:28:57 -10:00
David Vierra
03175326bd Rearrange color hash functions, add comments 2015-07-14 19:26:30 -10:00
David Vierra
f5ddfa7117 Add color coding to command blocks, split locations from colors 2015-07-14 13:38:04 -10:00
David Vierra
379ffea897 Add LineWidthNode 2015-07-14 12:28:11 -10:00
David Vierra
628c2a808c Start work on a command parser 2015-07-13 21:05:58 -10:00
David Vierra
d03d8c9912 Add command block tile inspector 2015-07-13 21:03:56 -10:00
David Vierra
6aca9d8457 Add Command block entity ref 2015-07-13 21:03:43 -10:00
David Vierra
dce11f83a3 registerBlockInspectorWidget expects a tileEntityID attribute instead of an ID argument 2015-07-13 21:03:13 -10:00
David Vierra
912f1058a8 Add demjson.py with modifications for compact command block output 2015-07-13 21:01:13 -10:00
David Vierra
1cae9b60bb Add Villager entity model 2015-07-13 16:34:02 -10:00
David Vierra
ee730eda2e BindTextureRenderNode is allowed to have texture == None 2015-07-13 16:33:37 -10:00
David Vierra
cb90fcbd26 Set default value for PCPaintingEntityRefBase.Facing 2015-07-13 16:33:21 -10:00
David Vierra
ef7b3d467a Raise ValueError in NBTAttr for missing default value 2015-07-13 16:33:04 -10:00
David Vierra
9d2eb9a821 Refactor: Move tile entity inspector widgets under widgets.inspector.tileentity 2015-07-13 16:32:47 -10:00
David Vierra
77665d26ce Sheep now have wool. Not colored yet. 2015-07-12 22:34:23 -10:00
David Vierra
2310a24468 Properly move an entity model's expected texture size to the models
Allows high res entity textures and also isn't completely disgusting.
2015-07-12 17:37:43 -10:00
David Vierra
32a09b555e Add cow, pig, sheep models 2015-07-12 16:41:45 -10:00
David Vierra
5de1f764fd Scenegraph refactor part 3
Change fully qualified imports to name imports
2015-07-12 13:32:42 -10:00
David Vierra
9f0b337f0e Scenegraph refactor part 2
Move Node types into separate files and keep them with their RenderNodes

Eww, fully qualified imports everywhere
2015-07-12 13:27:33 -10:00
David Vierra
d23f575154 Scenegraph refactor part 1
scenegraph -> scenegraph.scenenode
rendergraph -> scenegraph.rendernode
2015-07-12 13:11:36 -10:00
David Vierra
b2eff71a62 Add a really rough version of an entity renderer.
Has an interface similar to Minecraft's internal renderer.
Renders Zombies, Skeletons, Spiders, Creepers, and Zombie Pigmen.
2015-07-11 22:44:43 -10:00
David Vierra
875a5d5a03 Monster bounding boxes are now visible through walls 2015-07-11 22:44:00 -10:00
David Vierra
0822f87e7f Add scale option to BindTextureNode for scaling the texture matrix 2015-07-11 22:43:32 -10:00
David Vierra
421ae4f389 Add scenegraph nodes for matrix rotate and depth test function. 2015-07-11 22:43:09 -10:00
David Vierra
514b3155d1 Add method to SceneUpdateTask to get a model texture.
Uses the ResourceLoader from the texture atlas.
Puts the texture size on the texture where the entity model renderer can find it. Which is wrong.
Kinda gross.
2015-07-11 22:42:39 -10:00
David Vierra
eee4b5bf77 Fix face culling for glass/stained glass blocks.
18 more blocks to go!
2015-07-11 22:41:34 -10:00
David Vierra
725ee72b8f Display red boxes for entities as wireframes
Added PolygonModeNode
2015-07-11 11:38:03 -10:00
David Vierra
fd76076689 WorldView now accepts dropped map items dragged from Library panel
Map items are placed immediately with no "movable" intermediate.

xxx still need placement preview!
and xxx should allow URLs/schematic files/etc to be dropped from Library's Schematic panel, file explorer, etc!
2015-07-11 11:36:20 -10:00