Commit graph

4819 commits

Author SHA1 Message Date
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
d480ae5380 Merge pull request #2378 from blay09/bugfix/slotdrop
Fix items being dropped through slots outside GUI boundaries
2016-01-21 13:49:32 -08:00
LexManos
bce7c6d61f Merge pull request #2399 from asiekierka/fix-2388
Fixed ItemStack.splitStack not preserving capabilities, Closes #2388
2016-01-21 13:42:13 -08: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
LexManos
be6577b9ce Fix invalid ServerHangWatchdog patch causing it to not apply. 2016-01-21 13:40:00 -08:00
asiekierka
568061864f Fix #2388 2016-01-21 22:09:23 +01:00
LexManos
c7dafeed5f Merge pull request #2396 from Minecrell/patch-3
Strip console formatting codes for Vanilla log file
2016-01-21 13:02:34 -08:00
LexManos
be8eb484d1 Merge pull request #2394 from iLexiconn/master
Fixed makeItemStack ignoring stackSize
2016-01-21 13:00:34 -08:00
Minecrell
66340a7ec9 Strip console formatting codes for Vanilla log file 2016-01-21 20:00:41 +01: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
447a87c0c7 Fix forge logging not working correctly in ForgeDev. 2016-01-19 02:14:40 -08: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
812e69cee3 Call deserialze on capabilities in ItemStack.setItem. Closes #2384 2016-01-17 14:19:59 -08:00
LexManos
3c5103acfb Fix ItemStacks not getting the parent capability provider from items. Closes #2383 2016-01-17 13:37:57 -08:00
cpw
b8238e7f22 Merge pull request #2367 from kashike/feature/quiet-watchdog
Skip hang detection on first run of the server hang watchdog
2016-01-16 19:16:23 -05:00
cpw
7574b32b47 Merge pull request #2358 from boq/bedless
Allow sleeping without bed block under player
2016-01-16 19:10:59 -05: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
90d1abebd4 Fix spruce not growing properly 2016-01-16 17:04:16 -05: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
cpw
66895a520a Fix shouldRefresh not to be so over-eager about modded TEs. Should fix Packet21 causing a TE reset. 2016-01-16 16:11:34 -05:00
Blay09
30ac80f978 Fix items being dropped out of a GuiContainer when dealing with a slot outside of the xSize/ySize boundaries. 2016-01-16 06:34:07 +01:00
LexManos
7b92a27908 Clone FML packet indexes if channel is not open. Fixes potential threading issue. 2016-01-14 13:35:19 -08:00
Fry
dad870ea0b Merge pull request #2375 from bonii-xx/dynbucket
Default bucket model is empty, allow bucket model without fluid.
2016-01-15 00:16:26 +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
LexManos
38531a5ba8 Merge pull request #2370 from mezz/screenBackground
Add DrawScreenBackgroundEvent
2016-01-13 14:26:56 -08: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
kashike
2ba595b207 Skip hang detection on first run of the server hang watchdog 2016-01-12 04:15:11 -08: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
4672f7bab0 Fixed banners not droping the correct item when harvested using modded mechanics. Closes #2258 2016-01-10 21:34:52 -08:00
LexManos
aff6b0004c Fix jline server console not showing colored text. Closes #2334 2016-01-10 20:39: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
4dbf1965df Catch GROUND item transform type with the forge hook too. 2016-01-10 13:07:07 +03:00
RainWarrior
f42137907e Implemented face culling for item models, improves performance slightly. Closes #2326 2016-01-09 19:05:18 +03:00
LexManos
0921473f53 Merge pull request #2355 from williewillus/fixentityitemdupe
Fix bug with /give command and items with larger than default lifespans
2016-01-08 19:13:52 -08:00
Vincent Lee
591cd5c1b0 Fix visual effect entity persisting longer than it should
Fix derp
2016-01-08 18:51:08 -06:00
LexManos
c78a7ce41e Fixed issue with WorldServer.getTileEntities when being called with ranges that overlap chunks oddly. Closes #2350 2016-01-08 14:42:29 -08: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
d8440de49b Changed default implementation of Block.getExtendedState. Closes #2309. 2016-01-04 15:31:03 +03:00