Commit Graph

391 Commits

Author SHA1 Message Date
Ben Staddon 533b03300a Catch and log exceptions during model baking (#4609) 2018-01-18 13:14:33 -08:00
mezz d0bdb23300
Minor code and documentation cleanup. (#4664) 2018-01-12 23:54:29 -08:00
Bartek Bok 10b8d47b53 Don't copy state from variant to multi-part model (#4629) 2018-01-06 22:36:43 -08:00
Bartek Bok cfbcfeaf4b Enhance crash message when custom models return null default state (#4615) 2017-12-26 15:16:32 -08:00
Ben Staddon 37e5dc1e66 Adjust light matrix calculations to use per-face logic (#4339) 2017-12-16 18:30:18 -08:00
Ben Staddon 05c88d91d8 Adjust diffuse light calculation to match vanilla facing values (#4305) 2017-12-16 18:26:20 -08:00
Bartek Bok 9fdb79ae7a Fix invalid rendering of single-frame B3D models (Fix #3815) 2017-12-16 18:23:55 -08:00
Bartek Bok 867698eb54 Fix animation of rotated block parts (#4156) 2017-12-16 18:23:15 -08:00
Ben Staddon 23ea237f2c Fix incorrect lighting of item models (#4493) 2017-11-09 14:32:43 -08:00
Ben Staddon 4b3799f460 Change item model alpha tests to match values used for rendering (#4490) 2017-11-09 14:31:39 -08:00
mcenderdragon 4cdb6b6d60 Added tint index of 0 to fluid models (#3938) 2017-11-09 13:59:30 -08:00
mezz b5e88dd07b Improve the Forge Bucket (#4435) 2017-10-31 11:03:44 -07:00
Ben Staddon 43749d3fd1 Further reduce quad count of generated item models (#4448) 2017-10-31 11:02:09 -07:00
Ben Staddon 8d938660e7 Add caching of data for flat lighting (#4358) 2017-10-31 10:09:39 -07:00
Matthew Mirvish e283d51e28 [1.12.x] [Animation API] Add rotation origin variable (#4466) 2017-10-20 22:27:35 -07:00
Ben Staddon 0d34b02f88 Improve performance of vertex format mapping by caching hashcodes (#4370) 2017-10-02 16:45:58 -07:00
Ben Staddon 4073891058 Reduce the number of quads generated by ItemLayerModel (#4332) 2017-10-02 16:43:06 -07:00
tterrag 6956df4ff2 Allow item models to use formats other than ITEM (#4273) 2017-10-02 16:17:35 -07:00
Paul Fulham 4203e7426f Fix lightmap calculation vertex clamping (#4387) 2017-09-17 19:28:11 -07:00
Xander ce49596014 Add an extra error check for OBJ model materials (#4402) 2017-09-16 21:17:12 -07:00
Ben Staddon ef5ffc2c5d Add missing bounds checks to ItemTextureQuadConverter (#4343) 2017-09-06 14:08:19 -07:00
Ben Staddon cd5d7d2bed Adjust float (un)packing functions to be slightly more accurate (#4316) 2017-09-06 13:55:41 -07:00
KnightMiner 82d735e43a Add support for running IModel.retexture() on models from blockstates (#4200) 2017-08-09 15:18:35 -05:00
Ben Staddon 0fde64ac38 Clean up uses of deprecated library functions (#4130)
Avoid catching and rethrowing runtime exceptions
Append error messages to exceptions instead of the log
2017-07-12 21:50:28 -07:00
ichttt ede05a25f1 Fix missing messages of missing models (#4120) 2017-07-03 10:39:42 -07:00
mezz 8581225da8 Use java 8 collection functions 2017-06-28 00:14:10 -07:00
mezz 9675585891 Use lambdas for short anonymous methods 2017-06-27 23:18:09 -07:00
mezz 93025510ae Use multiple catch, try-with-resources, replace system.out and e.printStackTrace 2017-06-27 22:57:10 -07:00
Ben Staddon 9a09ff68aa Remove some deprecated methods and clean up 2017-06-25 22:30:18 -07:00
mezz 7892ca922c Remove the call to client.refreshResources during loading (#4032) 2017-06-25 22:13:58 -07:00
Fry 0f7ec7e7fd Added dependencies and dependency ordering for textures. (#4070) 2017-06-26 07:58:19 +04:00
LexManos 45147ac512 Fix ModelBlockAnimation expsing a private class. 2017-06-25 12:23:56 -07:00
RainWarrior dc043ac79f Cleanup of model system, taking advantage of java 8;
replaced guava Optional and Function with java 8 versions.
2017-06-25 04:08:20 +03:00
LexManos a26d89c876 First pass of registry rewrite.
Tests do not run yet.
Things of note:
Removed the idea of substitutions, just register multiple items with the same name they will override each other like a normal map.
Decoupled Forge registries from vanilla classes. They now use bouncer classes. MODDERS SHOULD NEVER USE THESE
Introduced more stringent registry locking. As it sits things are only allowed to be registered during the RegistryEvent.Registry phases!
This is to force modders to split up their registrations, and pave the way for calling these functions multiple times during a single MC lifecycle.
ObjectHolder, Missing Mappings, etc... *should* now work for all registry types, nothing should be special cased to Blocks/Items anymore.
Added optional generic dummy factory to registries, to allow registry creators the ability to dummy more then just Blocks.
Re-worked the ItemStack transformer and applied it to ItemBlock and ItemBlockSpecial. Allowing us to cleanup reflective hacks in Block callbacks.
Registry onAdd callback is now only fired on the ACTIVE registry, fixing any issues of temp registries overriding active objects.
2017-06-23 16:59:57 -05:00
diesieben07 0e9820c51c Clean up Logging (#3953)
# Conflicts:
#	patches/minecraft/net/minecraft/client/renderer/texture/Stitcher.java.patch
#	patches/minecraft/net/minecraft/client/renderer/texture/TextureMap.java.patch
#	patches/minecraft/net/minecraft/entity/EntityList.java.patch
#	patches/minecraft/net/minecraft/tileentity/TileEntity.java.patch
#	src/main/java/net/minecraftforge/oredict/OreDictionary.java
2017-06-22 23:18:49 -07:00
mezz e3777f4559 Add missing Override annotations 2017-06-17 18:24:17 -07:00
mezz c2845967cc Update MCP mappings to 20170617 2017-06-17 18:06:04 -07:00
mezz 3d322ef925 Update mcp mappings to 20170611 2017-06-17 17:13:44 -07:00
LexManos f1cca475ea Initial patch update to 1.12.
Some things to note:
Netty is screwy so currently can't join single player. @cpw
Crafting has been MAJORY reworked. The current GameRegistry functions are nooped, this is IN THE WORKS.
  Just need to move the recipe list to a full class registry, and then re implement the in-code recipe registration.
  Also, it IS advised that modders move to JSON, because ideally we'll see a S->C recipe syncing system in 1.13
  which would allow servers to have custom recipes.
  OreDictionary currently 1/2 works, need to write a better algorithm for replacing ingredients.
  Please be patient
Rendering:
  A lot of functions got a new float parameter, this is similar to partial ticks, needs more research
2017-06-10 22:22:02 -04:00
Ben Staddon 2814df89b3 Tweak vertex lighter to avoid causing excess array initialisations (#3771) 2017-05-26 13:57:21 -07:00
tterrag d77033b0d0 Fix normals not being generated for formats without normals (#3896)
Fix normals not being generated for formats without normals
2017-05-15 12:39:54 +04:00
Vincent Lee 0b41a0a822 Fix forge pipeline block shifts (#3789) 2017-05-01 17:53:17 -07:00
mezz 15aee5b18a Skip loading models if there is a fatal mod dependency error (#3772) Close #3768 2017-04-07 16:48:00 -07:00
Vincent Lee 1df8d5f8e5 Fix forge:default-item missing case for FIXED transform (#3663) 2017-02-23 15:36:48 -08:00
RainWarrior b2e3233dc1 Added check for quad builder to always have the particle texture set, and fixed where that wasn't true. Fixes #3653 2017-02-19 22:11:31 +03:00
RainWarrior 9888214524 Small bugfix in lighting logic. 2017-01-21 21:10:30 +03:00
Fry bbc107de96 Added the variant name to the missing model. (#3328) 2017-01-19 13:57:37 +04:00
Vincent Lee a41288644d Skip first baking in ModelLoader (#3621) 2017-01-11 18:33:13 -08:00
James Mitchell c545b8ecd4 Clean up null issues, add more annotations (#3590) 2017-01-11 15:17:56 -08:00
RainWarrior da3af92343 Fix super call to ItemOverrideList constructor inside AnimationItemOverrideList, fixes #3264. 2017-01-07 04:27:36 +03:00
RainWarrior cea922432a Added caching for baked vanilla models, fixes #3594. 2017-01-07 02:58:36 +03:00
James Mitchell 5165dc52bf Update MCP mappings to snapshot_nodoc_20161220 (#3551) 2016-12-21 15:52:30 -08:00
James Mitchell 6a125ae0d4 Fix uses of uppercase "Forge" where it fails Loader.isModLoaded(modID) (#3513) 2016-12-17 13:23:39 -08:00
liach 2337b0a6ae Moved TextureStitchEvent.Pre to allow custom sprites for blocks (#3436) 2016-12-01 20:49:23 -08:00
Ben Staddon 86a772ee8c Clean up handling of changes to IVertexConsumer (#3458) 2016-11-27 02:01:26 -08:00
mezz 2bd8b95a3b Cleanup some null checks and remove deprecated methods in Item and Block (#3429) 2016-11-22 15:20:05 -08:00
mezz 6f1a44a405 Remove deprecated Fluid stuff 2016-11-16 16:17:21 -08:00
shartte 7643be8cdc Unlike BakedQuad, UnpackedBakedQuad does not propagate the diffuse lighting flag to Vertex Consumers. Made UnpackedBakedQuad conform to BakedQuad's behavior. (#3181) 2016-08-12 14:33:38 -07:00
LexManos 1c8f22ed43 Set ModelLoader.WHITE's texture size iniatlly instead of defaulting to zero and being set later. 2016-08-12 13:49:46 -07:00
AlgorithmX2 bc6b008364 Fix Vertex Transformer for breaking models (#3132)
* Add setTexture to IVertexConsumer and propagate it.
2016-08-04 16:37:59 -07:00
cpw c8d775c865 In accordance with our stated goal of relicensing Forge to LGPL v2.1, this commit enacts that change. Although it is using the 1.9.4 codebase, it is intended that this branch become public with the 1.10 changes, as such the license will take effect at that time. The three commits from persons who have failed to accept the new license, as documented in #2789, have had their commits reverted. This should complete the license transition. Commits after the commit date of this commit should be considered licensed by LGPLv2.1, as indicated in LICENSE-new.txt. All patches are now considered owned by the Forge project and Forge Development LLC in particular (note that they will not get the license boilerplate, as they are machine generated files). 2016-06-22 23:49:48 -04:00
Vincent Lee a63d92eb60 Fix AnimationItemOverrideList not falling back to super (#2990) 2016-06-16 12:49:00 +04:00
RainWarrior a649cce2ea Modified SimpleModelState to ignore the parts it doesn't know about. Fixes model part hiding always applying to some models when transformations are specified in the blockstate json. 2016-06-05 10:14:44 +03:00
mezz 92914f82ae Add new IFluidHandler for capabilities. (#2942)
Old fluid system is deprecated and slated for removal in the next cleanup cycle.
2016-06-03 18:26:41 -07:00
RainWarrior ce481da1d1 Initial support for model visibility system. Implemented it for OBJ, B3D and normal vanilla models; fixed NPE accessing parent state in B3DModel. Fixes #2801. 2016-05-30 01:20:43 +03:00
LexManos cdc86e9af6 Update mappoings snapshot to 20160518 2016-05-18 05:23:30 -07:00
LexManos b9ac73b0f1 1.9.4 Update.
Major things to note:
Class renames: https://gist.github.com/LexManos/44dd211f90f498ad4015279b103dff86
Tile Entities are now packed in the ChunkData packet.
Forge intends to work around this to better support large moded worlds, but for the time being modders should implement the new function carefully and only send what data they need to!
Minecraft's codebase now has annotations, these are directly from Mojang and should be adheared to!
Added support for package-info.java's containing @Nullable information for all MC code base.
2016-05-18 03:29:10 -07:00
boni 5d5c005aae Fix Bucket rendering and add sound (#2865)
* Adjust generated quads from texture to take texture size into account #2858

*  Fix universal bucket not passing through when rightclicking on a non-block
Add proper sound events when picking up modded fluids #2821

* Have FluidUtil execute properly on both sides and sync as expected. Add default sounds to interacting with tanks

* Save sound for filling/emptying in the fluid
2016-05-16 13:20:31 -07:00
RainWarrior 330812dfa8 Fixed custom fluid sufraces not rendering from the bottom. Closes #2800. 2016-05-03 09:53:55 +03:00
iTitus fa21f2b44c Fix forge:default-block transformation. (#2760)
The first-person left-hand rotation was a little bit of.
2016-04-13 22:53:25 +04:00
RainWarrior db04370830 Made forge fluids use smooth lighting. 2016-04-06 16:13:51 +03:00
LexManos 07a2b67b7f Cleanup OBJLoader parse function and fix issues related to JVM differences.
Also fix support for sopme of the spec that was partially respected.
2016-04-06 01:45:43 -07:00
LexManos fb0bdd1276 Enhance some error logging related to OBJLoader issues, and RegistryEntries. 2016-04-06 01:44:08 -07:00
RainWarrior 2ae47c0903 Made both exceptions occuring during item model loading print in the log; closes #2696. 2016-04-04 18:07:06 +03:00
RainWarrior 879b7b5a61 Added the ability to change the printed model error count; Added printing of actual exceptions causing missing variants related to blockstate loading, closes #2689. 2016-04-04 16:02:21 +03:00
RainWarrior 4c8da35655 Improved UV offset hackery - should fix most visible custom model seams. 2016-04-02 18:49:18 +03:00
cpw 6e04a6c572 Squashed commit of the following:
commit b3b290aec9d3010a134859da6001ea28a96c2fdc
Merge: c6ce6a0 d803f7d
Author: cpw <cpw@weeksfamily.ca>
Date:   Fri Mar 25 13:28:04 2016 -0400

    Merge branch 'RegistryRework' of https://github.com/LexManos/MinecraftForge into LexManos-RegistryRework

    Implement proper registry slaves. Should help with rollback related issues.

    Missing patch

commit d803f7db76f65db9d27302c9804a643bc853dc22
Author: LexManos <LexManos@gmail.com>
Date:   Tue Mar 22 03:36:14 2016 -0700

    Update VillagerRegistry and use it. Should in theory make custom villagers work now. Using string version instead of int id for networking.

commit eb5e5b4b42fdca26d2a104e4dc1e6a3ea3051a7b
Author: LexManos <LexManos@gmail.com>
Date:   Tue Mar 22 02:14:16 2016 -0700

    More cleanup.

commit edbc56b2ff314629d0e402709f3cf29fc79c4a3d
Author: LexManos <LexManos@gmail.com>
Date:   Tue Mar 22 02:05:23 2016 -0700

    More cleanups, removed deprecated UniqueIdentifier {ResourceLocation now}

commit e2df8d1be3c97601508f83dc97b0e8853fa1e271
Author: LexManos <LexManos@gmail.com>
Date:   Tue Mar 22 01:29:19 2016 -0700

    Stupid generics....

commit 46d57dc4677fa5ff3923e64eaccfb33d7e5aad8d
Author: LexManos <LexManos@gmail.com>
Date:   Tue Mar 22 01:00:25 2016 -0700

    Some registry tweaking to provde a non-complicated API modders can use.
2016-04-01 20:56:06 -04:00
RainWarrior 90758f8c96 Fixed StackOverflow caused by the previous commit, closes #2669. 2016-03-29 15:34:45 +03:00
RainWarrior a073b0e386 Prevent missing model from loading multiple times. 2016-03-29 12:07:26 +03:00
RainWarrior 6e68aa4106 Enabled diffuse lighting by default in UnpackedBakedQuad.Builder. 2016-03-26 09:41:05 +03:00
RainWarrior 75032ebf9c Made some more public fields either private or final. 2016-03-24 22:22:21 +03:00
RainWarrior a9d23f5e78 Cleanup: removed IEEP, removed redundant casts, fixed imports, fixed typos. 2016-03-24 22:22:20 +03:00
RainWarrior 884cc690ea Show meaningful error if ModelLoaderRegistry is used before the missing model is initialized. 2016-03-23 08:20:06 +03:00
RainWarrior bebf22c0b0 Added default left hand transforms for forge transform strings. Closes #2615. 2016-03-21 18:55:22 +03:00
RainWarrior 438145995c Ignore blocks/items with null registry name during model loading. Fixes NPE during resource reloading in worlds with removed blocks/items. 2016-03-21 18:29:45 +03:00
RainWarrior 4e6ad80370 Removed blockCenterToCorner from TRSRTransformation constructor. Closes #2461. 2016-03-21 18:23:27 +03:00
RainWarrior c589a3a299 Implemented slightly more generic version of UVLock, re-enabled it for json models. Closes #2607. 2016-03-21 18:06:35 +03:00
RainWarrior 4b53f0716b instance -> INSTANCE 2016-03-21 10:48:52 +03:00
RainWarrior 286c8c05b7 Separated model classes to client and common packages. 2016-03-21 10:48:52 +03:00
RainWarrior 5f62404f8a Switched animation system to capabilities, added animated item example, fixed state passing in MultiModel. 2016-03-21 10:48:52 +03:00
RainWarrior ad03581fbe Fixed sprite not being passed to the quad builder for custom models. 2016-03-19 09:48:46 +03:00
RainWarrior a81dfbc4ef Fixed quads that don't need diffuse lighting getting it anyway. 2016-03-17 14:11:24 +03:00
RainWarrior b8bb8c374c Fixed MultiLayerModel not getting correct submodels; Unified the gui lighting of normal and custom models - diffuse lighting is now done in the pipeline, no need for IColoredBakedQuad anymore. 2016-03-17 07:29:44 +03:00
RainWarrior 6b926f9a06 Javadocs, small cleanup. 2016-03-16 05:17:33 +03:00
RainWarrior 8b4bce37de Fixed progress reporting for model loading. 2016-03-16 05:00:44 +03:00
RainWarrior b81a13d010 Fixed model error reporting, fixed model errors in test mods that shouldn't happen, fixed custom texture loading, made more things private/final. 2016-03-16 01:42:23 +03:00
RainWarrior 5d352bda6c Big model loader refactoring: simplified a lot of things, broke some error reporting. Still generally works. 2016-03-13 16:16:25 +03:00
RainWarrior a799bbad2d First version of updated of ModelLoader, mostly works. 2016-03-13 12:10:50 +03:00
RainWarrior 4650ee2789 Updated to latest mappings. Exc is broken, some anonymous classes didn't map to srg names. 2016-03-13 04:40:03 +03:00
LexManos 873899a62b Fixed position being shifted before being sent to shouldSideBeRendered. 2016-03-09 15:15:52 -08:00
LexManos 7b7156e87f Interaction hooks need to be re-added but compiles {Doesn't run} 2016-03-09 14:11:56 -08:00
cpw 25256c8ddd More fixups, removing chestgenstuff aggressively. Use loot tables. Any missing ones WILL be added by Mojang. 2016-03-08 23:22:54 -05:00
cpw fffbc0f078 Some more forge code fixes 2016-03-08 16:23:54 -05:00
RainWarrior ee82341312 Made OBJModel.java compile. 2016-03-06 03:00:08 +03:00
RainWarrior 3e22a2b90d Model UV lock handling from the state to the model, fixed most compile errors in ModelLoader, disabled it (and ModelBakeEvent) until it's functional, fixed some errors in ForgeHooksClient. 2016-03-06 02:51:39 +03:00
RainWarrior 70670d70ea Removed generics from IModel subinterfaces, add ed ModelProcessingHelper instead. 2016-03-06 01:34:04 +03:00
RainWarrior cb909eeb59 Fixed B3D loader, fixed some obvious errors in ModelLoader. 2016-03-05 05:02:34 +03:00
RainWarrior cff4bf21ae Updated raw types in ExtendedBlockState, fixed some ATs, updated some things that needed updating in model classes. 2016-03-02 20:00:32 +03:00
RainWarrior 728319cbb5 Fixed most errors in the model stuff, except for ModelLoader and b3d and obj getQuads/handleBlockState methods. 2016-03-01 23:19:38 +03:00
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