David Quintana
5e9380ab85
Fix forge blockstates and custom model loading ( #6154 )
...
* Reimplement forge blockstates variant through the use of a pseudo-model that handles the model loading, retexturing, custom data, etc. on behalf of the blockstates loader. This model gets injected into the model registry with an autogenerated unique name, to not collide with other model locations.
* Fix model loaders not being properly initialized by calling the reload method from the loader register function. In 1.12, registering a reload listener caused the listener to be called right away from the register method. This is not true anymore.
2019-10-08 00:18:29 +02:00
tterrag
6fda1e968d
Make FlowerPotBlock extensible and reusable for mods
...
- Change static lookup map to an instance variable
- Add an instance variable for the "empty pot" for the current block
- Keep one instance of the lookup map between the empty pot and all its full versions
- Convert everything to use delegates
2019-09-17 19:57:58 -04:00
mcenderdragon
3f089e3add
Added gravity as attribute to Entities ( #5630 )
2019-09-03 13:20:44 -07:00
David Quintana
b7e1cc5f6b
Fluid API rework ( #5983 )
...
- Moved forge fluids into FluidAttributes companion object to the vanilla Fluid. By gigaherz
- Redesigned the Fluid API to be closer to the Items API. By King Lemming
Co-authored-by: King Lemming <kinglemming@gmail.com>
2019-08-29 03:18:41 +02:00
LexManos
e784a7f606
Recipe system cleanup. ( #6014 )
2019-08-29 03:18:41 +02:00
cpw
c90b1732e9
Fix objloader registering at wrong time. Closes #5847 . Added test
...
class as suggested in the issue.
Note: most tests are commented out at the present time, pending
rework. Tests that work, work.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-07-20 21:04:00 -04:00
tterrag
8c3e511538
Make sure test mods load, fix BlockstateRetextureTest
2019-06-21 19:35:32 -04:00
LexManos
f01b87fac7
Fix some compile errors in test classes.
2019-06-19 18:07:58 -07:00
tterrag
892fea3df9
Add forge registry for container types, expose ScreenManager.registerFactory
2019-06-09 00:19:17 -04:00
LexManos
b74b72e44c
Fix NamespacedWrapper not delegating a new getter. Fixing data loading spam at world start.
...
Update red/yellow/green tags with new vanilla item names.
Reenabled test source directory in project and made ModelDataTest compile.
2019-06-07 19:34:16 -07:00
tterrag
9e39570d49
Add ModelDataTest to test mods.toml
2019-05-11 23:22:24 -04:00
tterrag
01a0674490
Finish model loader debug mod
2019-05-11 18:58:45 -04:00
tterrag
e482793f69
Comment out test Mod/EventBusSubscriber annotations, fix up ModelLoaderRegistryTest
2019-05-11 18:58:45 -04:00
tterrag
416bf9e3bf
Allow loading json constants outside of _constants
2019-04-25 19:22:43 -04:00
ichttt
a67cce2f91
Add a hook for farmland watering ( #4891 )
2019-04-12 20:16:34 -04:00
m00nl1ght-dev
8084ca43b9
Port CommandEvent and custom entity selectors to 1.13 ( #5411 )
2019-02-08 17:41:50 -08:00
Justin
d2a3b5bed8
Fix RuntimeEnumExtender creating new enums with incorrect ordinal value ( #5402 )
2019-01-30 12:51:14 -08:00
cpw
f942eb184a
WOW 😲 such broken. Many brokes.
2018-09-05 11:40:47 -07:00
cpw
c1f0e1b68f
Holy Moly, it's a big fat commit of broken code!
2018-09-05 11:16:33 -07:00
Ben Staddon
a749861cb2
Change item model loading priority to fix model conflicts ( #4898 )
2018-06-27 11:08:38 -07:00
mezz
cfe3867a70
Fix issues with the test mods
2018-03-29 22:33:40 -07:00
Vincent Lee
47a72f12f6
Expose CriteriaTriggers.register, closes #4109 ( #4634 )
2018-01-18 13:21:17 -08:00
Daomephsta
adf3c7164a
[1.12.x] Implement hooks allowing mods to add horse armor. Partially addresses #3975 . ( #3994 )
2018-01-18 12:04:37 -08:00
Wasinthorn Suksri
02855f7d74
Added Custom Slime Block hook for Piston. ( #4520 )
2017-12-16 18:38:53 -08:00
Daomephsta
4ab9929593
Add some extra context to Advancements/Minecart/Fishing/TileEntity loot handlers.( #4443 )
2017-12-16 18:38:03 -08:00
jabelar
07c4da8f36
Added color as field with setter to Fluid class. ( #4460 )
2017-12-08 02:18:45 -08:00
LexManos
44d0e9f05d
Fix more bad shapeless recipe matching. Closes #4557
2017-11-26 14:50:57 -08:00
LexManos
89db87dbfc
Create custom shapeless recipe matching system. Should solve #4516 damageable items in shapeless recipes.
2017-11-22 13:26:02 -08:00
LexManos
fc87d83d73
Make Ingredient explode wildcard values like OreIngredient.
...
Fixes some issues related to Grums order fix for Shapeless recipes.
Other more advanced usages need to be documented and tested.
2017-11-14 00:10:33 -08:00
Ben Staddon
6192bf48ae
Fix more test mod warnings ( #4477 )
2017-11-02 23:29:31 -07:00
AEnterprise
22ea5a23ad
Improve performance of World.collidesWithAnyBlock ( #4286 )
2017-10-31 11:20:59 -07:00
Ben Staddon
43749d3fd1
Further reduce quad count of generated item models ( #4448 )
2017-10-31 11:02:09 -07:00
jabelar
61dea7f4c0
Changed BlockFluidBase "fog" color use color from Fluid getColor() method ( #4462 )
2017-10-31 10:46:40 -07:00
Ben Staddon
5733cd364e
Fix some more test mod warnings ( #4469 )
2017-10-20 22:28:26 -07:00
Matthew Mirvish
e283d51e28
[1.12.x] [Animation API] Add rotation origin variable ( #4466 )
2017-10-20 22:27:35 -07:00
Samuel-Harbord
21e4803947
Fix test mod shield JSON incorrect bottom face UV's ( #4295 )
2017-09-23 14:27:11 -07:00
LexManos
036191cd52
Fixed ShapedOre recipes not laying out correctly with the guidebook.
2017-09-14 14:32:03 -07:00
Thanh-Phuong
ee449e427c
Add support for oredict item predicates in advancements, and add a registry for item predicates ( #4188 )
2017-08-09 15:20:45 -05:00
Choonster TheMage
611cb0d99c
Continue loading mod recipes and advancements after encountering an error ( #4277 )
2017-08-09 15:17:48 -05:00
Xalcon
173e929173
Added pages to the advancements GUI to allow for unlimited root advancements. ( #4183 )
2017-08-01 13:43:24 -05:00
malte0811
a6b9fbfa9f
[1.12] Allow the server to handle item-block interaction if onItemUse doesn not return PASS ( #3967 )
2017-07-20 17:11:50 -05:00
Madsthunder
ad15209f8d
Allow support for custom Shields and Shield disabling weapons.
2017-07-20 16:44:37 -05:00
mezz
ab4ac4db5a
Fix errors in test mods
2017-07-11 22:04:25 -07:00
mezz
c1ae2cdbf2
Improve furnace fuel handling ( #4083 )
2017-07-03 12:54:01 -07:00
covers1624
9e413de6c9
Added Block::getFogColor to allow custom blocks to control fog colors while inside them. ( #4090 )
2017-06-28 17:23:32 -05:00
Choonster TheMage
cb02f24cf2
Fix uncaught ClassCastException from invalid recipe file ( #4043 )
...
A JsonSyntaxException will now be thrown, caught and logged when the conditions property of a recipe isn't an array
2017-06-24 01:24:54 -07:00
Shadowfacts
f009435fa4
Allow condition factories to be registered from JSON ( #4015 )
2017-06-16 20:24:58 -07:00
LexManos
a8659a1613
In-progress Registry system enhancement.
...
Needs cpw to take a look at enabling removing/overriding in the registry stuff.
But in theory it loads json recipes for mods now.
2017-06-14 10:14:56 -07:00
mezz
286777b824
Fix getShareTag replacing data on the server ( #3776 ) Closes #3682
2017-06-04 18:38:16 -07:00
Madsthunder
93a4e13837
[1.11.2] Fixed Zombie Villagers not setting and getting professions correctly ( #3678 )
2017-04-30 21:59:57 -07:00
Paulo "JCranky" Siqueira
be2d814155
Add LootTableManager to the LootTableLoadEvent ( #3717 )
2017-04-07 16:22:49 -07:00
sinus
25497d310b
Adding config GUIs to the @Config based configuration System ( #3735 )
...
Lots of internal API that modders should not touch. See test mods for example usages.
2017-04-01 14:24:50 -07:00
James Mitchell
5f6bf3b063
Stop rotation of extended pistons, beds, and double chests Fixes #3634
...
Fix rotation of repeaters and comparators
2017-02-19 10:48:43 -08:00
mezz
8eea766288
[1.11.x] Refine fluid placement utilities ( #3509 )
2016-12-05 20:17:47 -08:00
liach
2337b0a6ae
Moved TextureStitchEvent.Pre to allow custom sprites for blocks ( #3436 )
2016-12-01 20:49:23 -08:00
LexManos
c459b87ec9
Initial 1.11 release update.
2016-11-15 19:26:10 -08:00
RainWarrior
5445f96327
Extended Animation State Machine format to allow multiple transitions from one state.
2016-05-13 12:46:34 +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
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
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
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
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
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
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
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
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
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
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
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
7c7547227c
Perspective awareness for vanilla and multi models, fixes #2148 .
...
Improved error handling in MultiModel.
2015-10-27 17:40:05 +03:00
shadekiller666
d1b220f6a3
Added OBJ loader for the ModelLoaderRegistry system.
2015-10-26 19:38:49 +03:00
RainWarrior
b175d265b9
Much requested temporary hack for items and TESRs. Context: #1582 , #1597 , #1713 , #2058 and others.
2015-09-02 07:35:24 +03:00
shadekiller666
87bbbfafcc
Fixed a bug with ExtendedBlockStates containing at least one IProperty and one IUnlistedProperty not allowing blocks to be placed.
2015-07-25 14:55:42 -07:00
RainWarrior
c4f370a7e6
Custom transformations in forge blockstate json.
2015-06-30 21:37:11 +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
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
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
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
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