Commit graph

642 commits

Author SHA1 Message Date
LexManos
ecfb9accaa Fixed dummy blocks not being removed from registry on dedicated server correctly. Closes #2487
Also added some more debug logs!
2016-02-24 16:56:20 -08:00
LexManos
0dd796fb16 Merge pull request #2497 from bonii-xx/universal_bucket
Fix WordServer.canCreatureTypeSpawnHere not using Forge Events.
2016-02-23 01:04:09 -08:00
Bernhard Bonigl
17e960c158 Fix WordServer.canCreatureTypeSpawnHere not using Forge Events.
Followup of #2496
2016-02-23 09:53:26 +01:00
LexManos
b009546a94 Merge pull request #2496 from bonii-xx/universal_bucket
Fix WorldEvent.PotentialSpawns Event passing the list instance of the…
2016-02-22 11:16:55 -08:00
Bernhard Bonigl
de1c270644 Fix WorldEvent.PotentialSpawns Event passing the list instance of the ChunkProvider to users 2016-02-22 18:45:31 +01: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
cpw
3e4107a222 Fix race condition when using indexed codec in a LAN server. Fixes spurious crash when LAN server is running. 2016-02-20 16:04:31 -05:00
cpw
c88bc769ef Log when it's likely the indexedcodec is gonna fail, because of LAN server derps likely. Try and give some context for debuggers. 2016-02-19 23:18:46 -05: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
LexManos
f77d50b48c Fix loading of world ID maps for worlds without dummy data. Closes #2477 2016-02-17 12:06:57 -08:00
LexManos
13a25ee0ba Merge pull request #2474 from bonii-xx/universal_bucket
Fix customized bucket names not getting translated correctly
2016-02-17 13:31:12 -06:00
RainWarrior
e8915b6a55 Added default levels for fluid extended properties in fluid model. 2016-02-16 14:13:19 +03:00
Bernhard Bonigl
eb879b3020 Fix customized bucket names not getting translated correctly 2016-02-16 09:39:33 +01:00
LexManos
6b51665c42 Merge pull request #2333 from bonii-xx/universal_bucket
Add an universal bucket.
2016-02-15 17:56:05 -06:00
Bernhard Bonigl
1055206ba8 Add universal bucket 2016-02-16 00:49:01 +01:00
Take Weiland
b875274c4f Fix the entity shader hook 2016-02-14 15:25:11 +01:00
Fry
4d33fe6b26 Merge pull request #2467 from iLexiconn/master
Added hook to add entity spectator shader
2016-02-14 12:26:47 +03:00
Ross Allan
ccf5da2113 Workaround JDK-8087309: Constant folding "static final boolean" in boolean expressions is incomplete 2016-02-13 14:43:37 +00:00
iLexiconn
776f5b91d5 Added hook to add entity spectator shader 2016-02-13 00:09:04 +01:00
LexManos
06130912c5 Protect BlockSnapshot and Chunk.getTileEntity from mutible BlockPos instances. Closes #2438 2016-02-11 16:48:32 -08:00
LexManos
f4b0506515 Add missing classes to CrashReport preloading. Closes #2421 2016-02-11 16:28:25 -08: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
LexManos
8af1624f9e Merge pull request #2423 from Mumfrey/fix/jdt
Fix ASM SignatureReader choking on invalid lambda local var signatures emitted by JDT
2016-02-04 12:34:04 -06:00
RainWarrior
085b28ba35 Revert binary-incompatible changes in models. 2016-02-04 13:34:40 +03:00
RainWarrior
e611162de5 Fix droppers not dropping. 2016-02-03 19:11:33 +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
Mumfrey
63798d6a8f Fix ASM SignatureReader choking on lambda signatures generated by JDT 2016-01-29 00:19:59 +00:00
RainWarrior
7b7d18f676 Provide original armor model in the custom armor model hook. 2016-01-28 07:43:55 +03:00
RainWarrior
be6c2bd588 Fixed small bug in item extraction code. 2016-01-27 13:29:07 +03:00
RainWarrior
a0bf0155ac Fix NoSuchElementException in ModelBlockAnimation caused by empty event list. 2016-01-26 01:22:21 +03:00
LexManos
e45d111685 Bump version in prep for new Recomended Build. 2016-01-25 11:32:41 -08:00
LexManos
7a0a801740 Merge pull request #2336 from VikeStep/master
[1.8.9] Add EntityTravelToDimensionEvent
2016-01-25 11:07:19 -08:00
RainWarrior
960717eb0c Fixed minor race condition between mouse clicks and TESR in the animation example. 2016-01-25 17:39:43 +03:00
VikeStep
026d179c0d Add EntityTravelToDimensionEvent
Resolve Merge Conflict

Move event call inside conditional
2016-01-25 17:57:52 +10:00
RainWarrior
e929199758 Sometimes I forget how much trivial things are missing from Java 6. 2016-01-24 10:10:21 +03:00
Fry
e9be24700e Merge pull request #2331 from RainWarrior/model-animation
Model animation system
2016-01-24 10:01:58 +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
LexManos
01919e4eed Fix J6 compile error in IItemHandler PR. 2016-01-23 22:52:32 -08:00
LexManos
e9a86f27fb Merge pull request #2385 from rwtema/master
Add IItemHandler capability
2016-01-23 22:06:29 -08:00
rwtema
a1e41f5464 Add IItemHandler capability
Add the actual patches that I forgot.

Add simple implementations of IStorage and the factory methods.

Add ItemStackHandler. A simple IItemHandler implementaton.

return nulls, not throw nulls.

Move the vanilla wrappers to a separate class for now.

Minor clean ups of VanillaWrapper code.

Inline static methods.

Add comments.

Minor cleanup of code.

Remove redundant size field and add a validate slot index method.

Minor formatting issues.

Break early If stacksize to insert is 0.

Remove setByte() methods.

Throw exception if IItemHandler can't be modifyed in NBT loading.

Replace event handler with patches

Add capability to mine cart inventory entities.

Change formatting and registration of capability.

Make InventoryPlayer implements IItemHandler because why not. Also added a field to allow mods that add additional player inventory space to publicly expose them.

Reduce patch sizes

Lazy initialization of the item handler for vanilla tiles.

Minor formatting changes.

Create a single vanilla chest item handler that will merge with adjacent chests when detected. Added hooks to reset the cached adjacent value when a block update is detected and when a chunk loads.

Revert "Make InventoryPlayer implements IItemHandler because why not. Also added a field to allow mods that add additional player inventory space to publicly expose them."

This reverts commit 306d4a37fd0e8c8a0754411c013b750dfe8e2c87.

Fix furnace derp

Replace double chest code with a simpler method.

Vanilla wrappers implement IItemHandlerModifiable (since they are modifiable)

Minor code cleanups

Add an onContentsChanged() and onLoad() callback methods.to the default implementation.

Add slot as a parameter in the callback method.

Change IItemHandlerModifiable.setStackInSlot() to void, and added a note about not being intended for cross-mod use.

Improve ItemStackHandler handling of errored NBT.

Make the stacks array protected.

Fix a lot of derps in SlotItemHandler.

Fix derp in ItemStackHandler

Clarify comments on IItemHandler

ItemStackHandler no longer caches the stack array in local variable.

Clean up the Chests code to make intentions clearer

Vanilla hoppers have their cooldown activated when an item is inserted. Made this behavior part of an item handler (rather than the insertion code)

Fix mistake in ItemStackHandler

More documentation of potential edge cases in getStackInSlot()

Make limit checking more resiliant.
2016-01-24 05:20:58 +00:00
LexManos
82647f5b66 Restore OreDictionary.getOres(String, boolean) and doeOreNameExist(String) functions that went MIA in git merge issue.
Original Commit: cd3bbfb02c
2016-01-21 13:41:26 -08:00
iLexiconn
a3d4fe5d25 Fixed makeItemStack ignoring stackSize
Fixes #2376
2016-01-21 15:31:39 +01: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
LexManos
f3c2eb8e9c Fix Deobfusication transformer throwing verification errores in Eclipse development environments. 2016-01-19 02:14:22 -08:00
RainWarrior
968b7cae40 Correctly handle error caused by missing/malformed bucket model definition file. 2016-01-18 21:35:23 +03:00
LexManos
3c5103acfb Fix ItemStacks not getting the parent capability provider from items. Closes #2383 2016-01-17 13:37:57 -08:00
Bartek Bok
fae5ff67ed Allow sleeping without bed 2016-01-17 00:43:29 +01: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
cpw
cc593d4b54 Fixed problem with LAN connections seeing the original ProxyPacket and consuming the first byte. Closes #2373 2016-01-16 16:34:02 -05:00
LexManos
7b92a27908 Clone FML packet indexes if channel is not open. Fixes potential threading issue. 2016-01-14 13:35:19 -08: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
mezz
aee1bd6014 Add GuiScreenEvent.BackgroundDrawnEvent 2016-01-13 13:01:16 -08:00
cpw
9a737b0c90 Fix problem which meant runtime deobf to MCP names wasn't working. SRG named mods located in the mods dir of a dev
environment will now load normally.
2016-01-13 00:26:52 -05:00
LexManos
17db34ae31 New Capability system allowing for more manageable world object features.
When combined with @Optional this should address all issues of soft dependancy on mods/apis.
This also addresses the issue of dynamic functionality in TileEntities/Entities.

Current capability providers: TileEntity, Entity, ItemStack

Also added INBTSerializeable, a generic interface for game objects that can be written to/from NBT tags.

Vanilla capabilities will be coming soon, mostly on request and review.
So start requesting capabiliteis on vanilla/Forge features.
2016-01-11 16:04:22 -08:00
LexManos
2594196c15 Fixed GuiWrongMinecraft having wrong Log file name. Closes #2348 2016-01-10 20:31:55 -08:00
LexManos
afc46fa59a Made WrongMinecraftVersionException and ModSortingException a bit easier to read in log files. Closes: #2345 2016-01-10 11:07:12 -08:00
LexManos
76c40896e4 Remove dead code in JarDiscoverer. Closes #2346 2016-01-10 11:06:37 -08: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
cpw
632d8e553d STFU I know how to code. *shouts* get off my lawn! 2016-01-04 16:18:44 -05:00
cpw
035dd4c245 Make the parent dir tree for the dep extractor 2016-01-04 09:07:28 -05: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
cpw
3c08c104cc Explicitly close the file. 2016-01-03 10:06:25 -05:00
cpw
dc4dc55dcd Add a simple ContainedDep mechanic- mods can contain other mods or libs, and can specify them using a manifest tag: "ContainedDeps".
This is a space separated (manifest standard) list of jar files that are to be extracted into the version specific directory.

There's also a special system property "fml.skipContainedDeps" that will allow for runtime skipping of extraction of contained deps (a comma separated list, based on the file name).
2016-01-02 17:28:35 -05:00
LexManos
1a31ff9f06 Added new get/setRegistryName functions to Item and Block.
And helper functions in GameRegistry to allow for registering using those names automatically.
This is to simplify registration and get rid of the horrible hacks users are doing now with 'unlocalised names'.
2016-01-02 12:58:57 -08:00
cpw
fb54ea94c0 Move substitution activation after id loading. This should fix the problem of null for existing object. 2016-01-02 12:06:53 -05:00
RainWarrior
d105c444ee SidedProxy now has sensible default values - nested ClientProxy and ServerProxy classes. 2016-01-02 09:59:14 +03:00
RainWarrior
104feb2973 Reverted Render registration changes due to them working. 2016-01-01 08:51:56 +03:00
RainWarrior
a4123580b1 Nobody is left behind. 2016-01-01 02:17:10 +03:00
RainWarrior
cf2bbd1353 Fixed RenderingRegistry not working. Closes #2312. 2016-01-01 02:01:03 +03:00
cpw
6e90348dc5 Fix that the dummy registry entries don't allow clients connecting to servers. Also fix that it repeatedly nags about missing stuff in the world. 2015-12-31 17:59:11 -05:00
LexManos
50f235c81b Fix boss health bar rendering when debug overlay is enabled. Closes #2328 2015-12-31 14:48:54 -08:00
LexManos
e0f0273c5e Fix J6 compile issue with ModelFluid. 2015-12-31 14:40:32 -08:00
LexManos
3665d7bf73 Allow for default 1.8.8 mods to be loaded. Should be SRG compatible. 2015-12-31 14:40:17 -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
cpw
a54b939ea3 Try and make sure active substitutions are immediately available in the block to item map. 2015-12-23 16:41:53 -05:00
cpw
95825e5de0 Actually use the delegate for the itemblock 2015-12-23 15:55:45 -05:00
cpw
54e9a36b67 Capture ItemBlock remaps. 2015-12-23 15:07:16 -05:00
cpw
53227982e3 Try and fix registry NPE when substitution is active. 2015-12-23 14:11:17 -05:00
cpw
bcecf59a87 Blocks are no longer erased from the registry if the mod isn't present. This means that modded blocks can potentially retain their IDs
even if they are temporarily not present in the game. Currently TileEntity data associated with the block is erased.
2015-12-23 11:18:54 -05:00
cpw
5562c14c45 Fix up persistent substitution. Should close #2259 2015-12-23 10:37:11 -05:00