LexManos
ac7c4d2f6c
Some import renames and compile error fixes, killed ~800.
2016-03-01 04:58:03 -08:00
RainWarrior
e495b7599c
ModelLoader: added verbose error logging showing items/blockstates associated with model locations; removed redundant cast leftover from ungenerified code; fixed up a couple of warnings.
2016-02-22 03:53:26 +03:00
Fry
34382745ab
Merge pull request #2488 from bonii-xx/universal_bucket
...
Fix universal bucket logging an exception
2016-02-19 13:27:59 +03:00
Bernhard Bonigl
9b128aaed2
Fix universal bucket logging an exception
2016-02-19 11:17:23 +01:00
RainWarrior
e8915b6a55
Added default levels for fluid extended properties in fluid model.
2016-02-16 14:13:19 +03:00
Bernhard Bonigl
1055206ba8
Add universal bucket
2016-02-16 00:49:01 +01:00
RainWarrior
ed9517a8b4
Fix custom model loader reload hook not firing during registration.
2016-02-10 10:20:13 +03:00
RainWarrior
7e7b855ddf
Fix multiple registrations of reloading hooks in custom model loaders.
2016-02-09 16:09:55 +03:00
RainWarrior
12c924751a
Fix TRSRTransformation.toItemTransform. Closes #2425 .
2016-02-07 17:49:06 +03:00
RainWarrior
085b28ba35
Revert binary-incompatible changes in models.
2016-02-04 13:34:40 +03:00
RainWarrior
bfa17d2f0d
One day I will learn to include all required classes in the commit.
2016-02-02 12:42:41 +03:00
RainWarrior
3bdc75ad49
Added "gui3d" and "smooth_lighting" options to the forge blockstate. Implemented them for vanilla and B3D models. Added generic types to IModel subinterfaces, to simplify chaining.
2016-02-02 12:23:26 +03:00
RainWarrior
a0bf0155ac
Fix NoSuchElementException in ModelBlockAnimation caused by empty event list.
2016-01-26 01:22:21 +03:00
RainWarrior
960717eb0c
Fixed minor race condition between mouse clicks and TESR in the animation example.
2016-01-25 17:39:43 +03:00
RainWarrior
e929199758
Sometimes I forget how much trivial things are missing from Java 6.
2016-01-24 10:10:21 +03:00
RainWarrior
0710bdf3f5
Model animation system.
...
Main things of interest:
* IAnimationStateMachine - state machine for animations; can load
from json.
* AnimationTESR - automatic TESR for animated models.
* AnimationModelBase - same for entities.
* ITimeValue - time-varying value, used to control animation
parameters from code.
* TESRs can now be batched - look at TESR.renderTileEntityFast +
TE.hasFastRenderer.
* RegionRenderCache is not accessible to TESRs and other client-side
logic - MinecraftForgeClient.getRegionRenderCache.
2016-01-24 09:59:38 +03:00
RainWarrior
17e8de8a3a
Fixed error detection login in ModelLoader, reduced the maximum number of printed stack traces to 5 per domain.
2016-01-20 01:20:26 +03:00
RainWarrior
968b7cae40
Correctly handle error caused by missing/malformed bucket model definition file.
2016-01-18 21:35:23 +03:00
RainWarrior
accf6cf218
Fixed missing model error reporting, made block and item variants sort before loading, to make the splash screen info more useful.
2016-01-17 01:57:06 +03:00
Bernhard Bonigl
2857b710f8
Default bucket model is empty, allow bucket model without fluid.
...
This allows capsules, cans, bottles,... to use the same item model for their item variant. Also it's makes much more sense.
2016-01-14 22:13:31 +01:00
RainWarrior
f42137907e
Implemented face culling for item models, improves performance slightly. Closes #2326
2016-01-09 19:05:18 +03:00
RainWarrior
5c5d946ff5
Made block model loading bar more robust, and fixed the count.
2016-01-07 02:09:29 +03:00
RainWarrior
95615cb4bf
Added progress bar for the ModelLoader.
2016-01-06 22:53:34 +03:00
RainWarrior
68339f51cf
Derp.
2016-01-06 22:06:36 +03:00
RainWarrior
949e77b46a
Model loader improvements: adding custom data/textures to models that don't need them doesn't cause a error now, since it's common to put those in the defaults section of the blockstate json; you can get IModel associated with the variant now - using ModelLoaderRegistry.getModel; MultiLayerModel should now respect transformations applied to it, and respect part transformations.
2016-01-06 22:00:43 +03:00
RainWarrior
4732acc1c4
Java6 + Eclipse + Gradle strike again.
2016-01-04 15:18:36 +03:00
RainWarrior
b8dd4c54e1
Fixed implementation if IRetexturableModel in ItemLayerModel. Closes #2244 .
2016-01-04 14:21:31 +03:00
RainWarrior
f562579054
Don't crash on exception during loading of item variants from blockstate jsons.
2016-01-04 14:08:52 +03:00
RainWarrior
856a9c3cdd
Fixed perspective transformation handling for fluid models, changed inventory fluid model to use unrotated still texture.
2016-01-04 13:54:45 +03:00
RainWarrior
826b1d20f8
Fixed invalid flow vector caching of still fluids.
2016-01-04 12:48:10 +03:00
RainWarrior
686b32bfd0
Fixed random offset not working properly for flatly-lit models.
2016-01-04 12:04:30 +03:00
LexManos
e0f0273c5e
Fix J6 compile issue with ModelFluid.
2015-12-31 14:40:32 -08:00
RainWarrior
23a2316157
Fixed wrong import.
2015-12-30 16:14:27 +03:00
RainWarrior
10658f682e
Fixed broken leaky caching of OBJ models.
2015-12-30 16:08:08 +03:00
RainWarrior
33b1f8f30f
Caching of fluid models. Fixes #2145 .
2015-12-30 13:31:36 +03:00
RainWarrior
09e9a181ee
Fixed color disabling not working for forge pipeline. Closes #2286 .
2015-12-30 11:22:22 +03:00
RainWarrior
56eba05237
1.8.9 update
2015-12-30 07:15:03 +03:00
Bernhard Bonigl
509cc79112
Fix bucket replacement not loading the bucket model by itself if replacing buckets.
...
This happens when no other mod that uses the bucket model is present.
Also added a simple method for registering the bucket model, should give
modders an idea on how to use the general model.
2015-12-29 13:31:35 +01:00
RainWarrior
1cd0bf9ee4
Fixed random block position offset not applying correctly.
2015-12-25 09:31:32 +03:00
RainWarrior
097c0c6130
Added an ability to register custom item variants, not ending with "#inventory". Should allow grouping multiple item models into 1 blockstate json.
2015-12-24 06:06:38 +03:00
Fry
c7790f7b35
Merge pull request #2282 from bonii-xx/dynbucket
...
Add a dynamic bucket model that displays the animated liquid contained
2015-12-22 00:26:25 +03:00
Bernhard Bonigl
4f6784b733
Add a dynamic bucket model that displays the animated liquid contained
...
Has a config option (default off) that replaces the vanilla buckets with the forge bucket model
New original bucket textures from mr_hazard
2015-12-21 22:22:40 +01:00
RainWarrior
56f35f4401
Fixed NPE caused by accessing undefined layer in MultiLayerModel.
2015-12-20 22:16:17 +03:00
RainWarrior
1dcc9abab2
Fix dependency resolution for models with custom data/textures.
2015-12-17 04:41:54 +03:00
RainWarrior
80ba13be89
LightUtil.pack and .unpack now work correctly with unpacked arrays of size <4.
2015-12-15 23:31:09 +03:00
RainWarrior
d67c57827a
Delayed quad list resolution in MultiModel, fixes NPE in MultiLayerModel.
2015-12-15 23:03:09 +03:00
RainWarrior
f0ae51bb34
Forge pipeline will now take original model lightmap into account, if present.
2015-12-15 22:27:01 +03:00
RainWarrior
7c4d643de2
Fixed java6 errors in previous commit.
2015-12-15 22:27:01 +03:00
RainWarrior
86c09722a0
IModel can now depend on a variant definition (ModelResourceLocation); added MultiLayerModel - simple model that'll render correctly in multiple layers + example of using it.
2015-12-15 21:49:19 +03:00
RainWarrior
d6ee373e87
Preparations for the Animation system.
...
Changes to the Model API - IModelState now works with Optional. Handling of parts of the model is not optional, and coordinate space/result interpretation is up to the caller. IModel doesn't extend IModelPart by default anymore; MapModelState uses composition to achieve previous functionality, IModelPart implementations are disjoint now. Updated perspective handing to the new API, removed IPerspectiveState (MapModelState is now the same thing). Perspective transforms for the default fluid model.
2015-12-14 23:27:27 +03:00
RainWarrior
724405d6d8
Workaround for https://github.com/google/guava/issues/738
2015-12-09 14:56:01 +03:00
RainWarrior
3254e2acc6
Fixed orientations of generated item faces. Fixes #2215 .
2015-12-08 12:26:02 +03:00
LexManos
5549b06f96
Compiler warnings pass, undeprecated SplashProgress related stuff.
2015-11-26 19:38:21 -08:00
cpw
68dfcccd57
Update mappings to 20151122.
2015-11-23 23:18:52 -05:00
cpw
231ec7eaea
Merge remote-tracking branch 'origin/noci-1.8.8' into 1.8.8
2015-11-23 22:08:42 -05:00
RainWarrior
9815d729b5
Fixed NPE is B3D loader caused by the missing vertex normal; updated the example chest model - it's now has 2 meshes; Updated ModelAnimationDebug - it now uses the new chest model, renders the base with the static world renderer, and only the lid with the TESR.
2015-11-23 10:12:01 +03:00
RainWarrior
82d83feab1
Fixed forge lighting working incorrectly outside 0x1000000 coordinates.
2015-11-22 02:11:08 +03:00
RainWarrior
c4742aadbc
Removed face doubles from item models.
2015-11-21 08:09:38 +03:00
RainWarrior
62d0f01236
Fix holes in generated item models.
2015-11-21 07:45:56 +03:00
RainWarrior
07ccf667e4
B3D loader: removed 2 redundand null checks, changed constructor args to final to fix (java6?) inner arg error.
2015-11-19 23:40:44 +03:00
RainWarrior
13d7530e43
Implemented interpolation of TRSR transformations; B3D: added interpolation capabilities to B3DState, animated TESR example in ModelAnimationTest (pure TESR right now, no separation inside the example model between the static and dynamic parts right now).
2015-11-16 06:51:39 +03:00
RainWarrior
c5ee4e6451
Model stuff: updated to generics, fixed various warnings, added handling of new perspective types.
2015-11-13 17:23:37 +03:00
RainWarrior
e833ee81fb
Updated various rendering-related patches and classes to 1.8.8; forge still uses vecmath.
2015-11-10 00:03:39 +03:00
RainWarrior
b6664c76c5
Fixed anaglyph transformation not being applied in the forge lighting fully.
2015-11-08 15:11:22 +03:00
RainWarrior
cbe2766c0a
Provide ItemCameraTransforms for vanilla models when possible.
2015-11-08 09:37:33 +03:00
RainWarrior
8a11ad7a7a
OBJ loader: reworked texture resolution: keys now have to start with #, like every other model loader; models without explicit library now work, remapping is possible by using the key "#OBJModel.Default.Texture.Name"; in addition to remapping by material name, remapping by texture name works too, like in other model formats.
2015-11-07 20:36:57 +03:00
RainWarrior
3d03461a52
Performace fix for item rendering.
2015-11-07 12:58:23 +03:00
RainWarrior
c3141b6ed6
Fixed block color multiplier not being cached properly in the forge renderer, performance improvement.
2015-11-03 16:00:44 +03:00
RainWarrior
cf8972262a
OBJ model: use original vertex material when defining face.
2015-11-03 01:53:58 +03:00
RainWarrior
51653fb9b7
Obj loader: fix vertices shared between faces having the same attributed (uvs/normals).
2015-10-31 21:19:35 +03:00
RainWarrior
12e6fe9db7
OBJ loader: fixed another whitespace-related issue; removed unused "modifyUVs" property for now; added the "flip-v" property to switch between OpenGL-style and DirextX-style model UVs; fixed normals - they are now correct in-world, still a bit strange for the items; fixed normals a little bit for B3D models too.
2015-10-29 22:50:45 +03:00
RainWarrior
c3b15e3f6c
Fix color multiplier applied incorrectly for items.
2015-10-29 20:27:26 +03:00
Fry
887f3bf31d
Merge pull request #2154 from shadekiller666/OBJ_Loader
...
OBJLoader Update: Fix for normal generation, whitespace handling, and UVs outside 0-1 range
2015-10-29 13:53:09 +03:00
RainWarrior
a9d5d0097d
Fix for the previous commit - transparent blocks were handled improperly.
2015-10-29 13:32:43 +03:00
RainWarrior
3d972a11a8
Changed how the forge lighting system handles holey models for opaque blocks; it now mimics vanilla behaviour, which allows light to pass through them.
2015-10-29 13:14:35 +03:00
shadekiller666
7a20543d5f
OBJLoader: Quick bandages to support/fix the new way that face/vertex normals are calculated, a very quick bandage to patch TextureCoordinates for the time being, and the Parser now uses a Pattern to split strings on whitespace instead of only splitting on " ".
2015-10-29 02:21:28 -07:00
RainWarrior
6fc96ef94e
More lighting fixes, flat lighting now works correctly for grass and torches.
2015-10-28 00:58:44 +03:00
RainWarrior
6b10b41b02
Fixed piston rendering (WorldRenderer offset wasn't applied); fixed TESR being registered too early in one of the debug mods.
2015-10-27 19:02:22 +03:00
RainWarrior
ef2bcb056d
Fixed another generic issue in MultiModel.
2015-10-27 18:52:49 +03:00
RainWarrior
da19eda51e
Provide a IModel for "builtin/generated", fixes #2147
2015-10-27 18:36:57 +03:00
RainWarrior
b75593b0c6
Fixed AO being applied to OBJ model transparency, and OBJ loader trying to force the loading of the builtin white texture.
2015-10-27 18:36:57 +03:00
RainWarrior
a96ba1b7f7
Fixed generic bug in MultiModel
2015-10-27 18:36:57 +03:00
RainWarrior
7c7547227c
Perspective awareness for vanilla and multi models, fixes #2148 .
...
Improved error handling in MultiModel.
2015-10-27 17:40:05 +03:00
Fry
cf568ae85f
Merge pull request #2091 from shadekiller666/ItemModelLoadingFix
...
Fixed a bug with item model loading
2015-10-27 09:59:50 +03:00
RainWarrior
8c82b0296a
Small fix for reworked classic lighting
2015-10-27 00:19:04 +03:00
shadekiller666
33e2e0b028
Fixed a bug with item model loading that would occur if ModelBakery.addVariantName() was called with the same string location parameter for 2 different items, and the string pointed to a location that didn't exist, where ModelLoader.loadAnyModel() would substitute the blockdefinition in for the item model, but wouldn't remove the original input location from the loadingModels list, which would cause the location from the second call to throw an IllegalStateException even though that location now has a model.
2015-10-26 10:15:13 -07:00
shadekiller666
d1b220f6a3
Added OBJ loader for the ModelLoaderRegistry system.
2015-10-26 19:38:49 +03:00
RainWarrior
d5a658b5ea
Added back in the lost class
2015-10-26 19:32:19 +03:00
RainWarrior
dd365d7220
Model pipeline system.
...
Should replace all ad-hoc quad generation methods in forge, and make IBakedModel -> WorldRenderer data transfer faster. Added IVertexConsumer + helper classes; lighting that works correctly for non-axis-aligned faces using the new infrastructure. Changed smooth lighting algorithm, now it should work correctly for everything.
New block lighter can be disabled in the forge config options.
2015-10-26 19:25:48 +03:00
RainWarrior
e280f72cfb
'#' is now added automatically to the beginning of the texture names in B3D models, and the remapping is expected via the blockstate JSON, since it's more reasonable than adding it to the file name in the modelling program or matching the resource location with the filename.
2015-10-03 04:42:35 +03:00
RainWarrior
d71384bc33
Fixes Attributes.transform affecting only 1 vertex.
2015-09-29 02:29:16 +03:00
Zaggy1024
e580d3b6b6
Fixed a Forge blockstates json removing models causing an NPE in the loader.
...
Fixed the deep clone of a V1 Variant not cloning the submodels properly.
2015-07-24 13:20:10 -05:00
RainWarrior
c4f370a7e6
Custom transformations in forge blockstate json.
2015-06-30 21:37:11 +03:00
Fry
37b4936e9d
Fix particle texture of the generated item models.
2015-06-27 01:26:59 +03:00
RainWarrior
74501f509f
There's no Map.getOrDefault in java6.
2015-06-23 17:03:19 +03:00
RainWarrior
8f65678b99
Vanilla models can now use custom textures. Fixes #1962
2015-06-23 16:52:42 +03:00
RainWarrior
510b5523d5
Fixed perspective transformations for item models.
2015-06-23 15:56:18 +03:00
RainWarrior
1582e401ed
Added ItemLayerModel - less awkward, simpler and faster version of ItemModelGenerator.
2015-06-23 04:43:48 +03:00
RainWarrior
07038f8342
Added fluid renderer.
2015-06-18 14:26:53 +03:00
xxmicloxx
b45c90ceb8
Bugfix for B3DLoader
2015-06-17 19:48:51 +02:00
Lex Manos
e94288bbb1
Fixup model loading errors not being printed by making ICustomModelLoader.loadModel propogate IOExceptions as needed.
2015-06-16 16:03:10 -07:00
Lex Manos
db7d82a889
Copy over parent's modelSet value in variants as well.
2015-06-09 17:17:23 -07:00
Lex Manos
fef959d1e9
Redefine removal value in IRetextureableModel from null to empty string {""} due to ImmutibleMap not allowing null Values. Closes #1927
2015-06-09 12:36:36 -07:00
RainWarrior
d6bc936ffa
B3D Improvements
...
- fixed keyframe transformation application
- textures are now resolved the same way as in vanilla models
- added the ability to use forge blockstate texture information
- removed unused code from the B3D example
2015-06-04 18:58:42 +03:00
RainWarrior
685a97fd93
Fixed missing variant logging; added the possibility to specify the item variant in the blockstate json.
2015-06-04 18:07:03 +03:00
RainWarrior
897d41fa77
Fixed partial variant detection in the forge blockstate loader.
2015-06-04 16:59:18 +03:00
Lex Manos
267e1ee62f
Hook BlockState's Json loading to add support for simplified Forge format.
...
See https://github.com/MinecraftForge/MinecraftForge/pull/1885 for more details.
2015-06-02 16:49:56 -07:00
RainWarrior
46b1b82f13
Fixed mipmapping not being enabled by expanding 1x1 texture
2015-04-01 16:06:03 +03:00
RainWarrior
638af63f4d
Hopefully fix NPE during baking of empty vanilla item models
2015-02-23 16:02:10 +03:00
RainWarrior
0e34510032
Removed event bus call from the ModelLoader
2015-02-17 21:20:19 +03:00
RainWarrior
b14cfa45e5
RenderItem can now use baked quad color
2015-02-17 05:02:16 +03:00
RainWarrior
93cd9722b0
Added a default white texture; Fixed B3DLoader crashing when the brush has empty texture specified
2015-02-17 05:02:16 +03:00
RainWarrior
d741b1bafc
Attributes.put (de)normalization now works as intended
2015-02-16 03:53:33 +03:00
RainWarrior
5616d0c1b0
ModelRotation.getMatrix() now returns the correct matrix; fixed the application of custom transformations to vanilla models; fixed application of transformations to B3D models; fixed the culling of rotated vanilla models
2015-02-14 04:44:41 +03:00
RainWarrior
87ef833d32
Alternative models work once again
2015-02-14 00:23:03 +03:00
RainWarrior
dfc2e04255
fix ModelLoader.setCustomModelResourceLocation not storing same item with different metadata values
2015-02-09 17:19:10 +03:00
RainWarrior
9a6fb600ec
Reworked vanilla texture resolution, hopefully fixes NPE bug in FaceBakery
2015-02-08 15:51:41 +03:00
RainWarrior
9e90febd37
fixed NPE during loading of B3D models without textures/brushes.
...
changed default B3D color to have full opacity.
2015-02-08 15:50:35 +03:00
RainWarrior
b8add23d9b
ModelBakeEvent now has ModelLoader as an argument instead of ModelBakery; Added various static hooks to ModelLoader to allow registering model-related information before it's needed (prevents file-not-found errors on first baking pass); ModelLoader waits until ModelBakeEvent is done before showing any missing model exceptions; It's now possible to define models completely in-code (as illustrated by ModelBakeEventDebug).
2015-02-04 09:45:23 +03:00
RainWarrior
3a0de2edca
Fixed tracking of UV locking state. Closes #1679
2015-02-03 10:40:30 +03:00
Lex Manos
79356d7023
Fixed ItemFrames not having a model. Closes #1678
2015-02-02 13:06:57 -08:00
RainWarrior
ab39b7e4e0
Removed leftover debug messages
2015-01-30 03:14:12 +03:00
RainWarrior
6eba0ebb93
Added model loader registry
...
Entry point: ModelLoaderRegistry
loader interface: ICustomModelLoader
custom model: IModel
ModelLoader is responsible for splicing into vanilla model system.
(you probably don't need to use it directly)
Interop with vanilla models isn't great yet
(vanilla models can't refer to custom ones as parents), will improve in
the future.
Includes loader for B3D models, with animation support
(net.minecraftforge.client.model.b3d).
Blender export plugin with compatible coordinate system:
https://github.com/RainWarrior/B3DExport
OBJ loader is being written, will be included at some point in the
future. For now you can convert OBJ to B3D via blender, or wait.
2015-01-29 11:33:52 +03:00
RainWarrior
134fbaa1ff
Added model bake event (allows mods to insert custom baked models, much like TextureStitchEvent allows to load custom textures), ISmartBlock/ItemModel (ability form models to react to block/item states), Block.getExtendedState, support for unlisted properties in block states. Includes example implementation of http://imgur.com/a/FyyJX
2014-12-04 14:16:30 +03:00
Lex Manos
53659fca06
Initial update to 1.8, Super beta. Most rendering related hooks are out due to major changes in 1.8.
...
Some notes:
Almost all int x, int y, int z parameters have been changed to BlockPos class
ForgeDirection has been removed, replaced by net.minecraft.util.EnumFacing.
All FML classes have moved from packet cpw.mods.fml to net.minecraftforge.fml
Fluid Rendering has been disabled for the time being, to be re-evaulated and a test mod created for it.
Minecraft now uses a Model based system for rendering blocks and Items. The intention is to expand the model format to better suit modder's needed once it is evaulated.
As such, The model loaders from Forge have been removed, to be replaced by expanding vanilla's model format.
Metadata has been extracted out in Minecraft to IBlockState, which holds a list of properties instead of magic number metadata. DO NOT listen to the fearmongering, you can do EVERYTHING with block states you could previously with metadata.
Stencil Bits are disabled entirely by for the main Display, Modders must enable and recreate the FrameBuffer if they wish to use Stencil Bits.
2014-11-26 00:00:54 -08:00
Oliver Kahrmann
da39ed066c
Modify WavefrontObject to allow '.' in group object names
...
Blender names objects with .001 ir .002 when separating vertices or duplicating objects and the importer would crash on them. This fixes the regex to allow dots in the name.
2014-09-01 22:43:53 +02:00
Lex Manos
aa0c902d22
Advanced Model Loader available server-side for data driven models. To be cleanuped and re-evaluated in 1.8. Closes #773
2014-04-01 15:02:06 -07:00
Lex Manos
e68577ffd3
Updated FML:
...
MinecraftForge/FML@03fb1879d7 Fix obf error when right clicking a Empty Map.
MinecraftForge/FML@6bb9b8b953 Clean up FMLEventChannel. Closes #367 .
MinecraftForge/FML@b7b3450dcd Update MCP mapping snapshot to latest crowdsourced names.
MinecraftForge/FML@8c9e8b5270 Fix isRemote, this is integral to so many parts of the code, everyone knows it by this name, People should not change it.
2014-02-05 01:14:24 -08:00
Lex Manos
28f7f523ee
Add support in Techne models for the TextureSize tag. Closes #856
2014-01-18 13:53:54 -08:00
Lex Manos
baf95e747a
Fix warnings in Forge codebase.
2014-01-17 21:55:48 -08:00
Lex Manos
b149ccbc17
Models now load from resource packs
...
Models must now be loaded from resource packs using the standard resource pack reference. For example, to load a model named "assets/mymod/models/mymodel.obj", you would call AdvancedModelLoader.loadModel("mymod:models/mymodel.obj");
Closes #670
2014-01-03 17:10:15 -08:00
AbrarSyed
797399ff7f
Step 2: The Reformation
2013-11-09 15:57:08 -06:00