Commit graph

921 commits

Author SHA1 Message Date
Lex Manos
2a02804379 Fixed vanilla bug where top part of double plants would flicker a tifferent texture before dissapearing. 2014-11-30 23:50:56 -08:00
Lex Manos
c539d5389a Fix BlockPane's connection detection. 2014-11-30 08:36:24 -08:00
Lex Manos
b4779be2f6 Fixed snow layers not being able to stack more then twice. Closes #1534 2014-11-29 23:04:22 -08:00
Lex Manos
cbcdbf56bb Fixed Entities not being able to climb ladders, Closes #1535 2014-11-29 23:03:55 -08:00
Lex Manos
d6d4735a70 Fixed Entity extended properties init order. Closes #1532 2014-11-29 23:03:26 -08:00
Lex Manos
f35a53bad5 Fix not being able to place blocks in liquids, and related issues. 2014-11-28 11:19:30 -08:00
Lex Manos
dcefcc9047 Fix destroy particles not being added. Closes #1528 2014-11-28 08:31:14 -08:00
Lex Manos
aa07fa4443 Fix potential NPE in Block.isToolEffective 2014-11-28 08:19:40 -08:00
Lex Manos
d879b2c70d Fix wrong state being passed to Block.getDrops 2014-11-28 07:43:50 -08:00
Lex Manos
17e5480b6e Fix Entityies not taking damage correctly. Closes #1511 2014-11-28 07:43:10 -08:00
Lex Manos
a059a9a7fb Fix inverted logic preventing blocks from breaking. 2014-11-28 07:10:37 -08:00
Lex Manos
8dc71d5ffa Fixed crash with caomparators due to wrong position. Closes #1512 2014-11-28 06:51:55 -08:00
Lex Manos
b9c2968c0e Fix creative picking a CommandBlock minecart returning wrong item. Closes #1523 2014-11-28 06:09:33 -08:00
Lex Manos
74a57bd9d6 Fix creative picking a CommandBlock minecart returning wrong item. Closes #1523 2014-11-28 06:08:39 -08:00
Lex Manos
0edeb1e04b Fix acedential inversion causing some tress to not have leaves. Closes #1522 2014-11-28 06:02:41 -08:00
Lex Manos
dce17105ea Fix fog colors, Closes #1524 2014-11-28 06:01:03 -08:00
Lex Manos
277fc4ea7d Fix local variable conflict in Forge patch and latest MCP mappings. 2014-11-26 01:12:11 -08: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
XCompWiz
a5358eb916 Fixes client-side fake rain
Changes the updateWeather function in WorldServer to only send the
weather info to players in the correct dimension, rather than all
players on the server. This is what causes the client-side rain, as the
client believes that it has started raining locally, rather than in
another dimension.
2014-11-11 01:39:26 +02:00
Matthew Messinger
21ffd28adb Fix MC-30864 (sending web links in chat) 2014-11-10 15:24:27 -05:00
Lex Manos
47305ff691 Player sensitive version of Block.getPickBlock Closes #1348 2014-11-04 18:27:02 -08:00
Lex Manos
ef0e0d7393 Fix slots being black due to vanilla blending leakage Forge fixes. Closes #1325 & #1242 2014-11-04 18:07:42 -08:00
Lex Manos
2af2795288 Fix logic error in Blodd's Snapshot capture that caused blocks to not be updated to the client. Closes #1451 2014-10-16 20:49:00 -07:00
Azanor
46dfaa6d0c Fix for biome weights under 10
This solves the problem where custom mod biomes with weights under 10
not being generated in the world.

Cleaned up the code and made the patch smaller
2014-10-16 12:28:10 +02:00
LexManos
3aef547046 Merge pull request #1418 from Parker8283/wakeupevent
Added PlayerWakeUpEvent
2014-10-11 11:34:50 -07:00
Parker
ff36d4f1d3 Added PlayerWakeUpEvent 2014-10-11 14:13:25 -04:00
LexManos
38275c8232 Merge pull request #1364 from Adubbz/master
Fixed biome weights not working with non multiples of 10
2014-10-08 17:58:26 -07:00
Lex Manos
b0190bb50d Fix vanilla lighting issue and blending issues in achievements gui. Closes #1445 2014-10-08 17:54:20 -07:00
LexManos
6da8a19094 Merge pull request #1219 from Lunatrius/master
Prevent client only commands from bleeding through to the server.
2014-10-06 14:50:47 -07:00
bloodshot
37f91681d9 Added PlaceEvent and MultiPlaceEvent which fires before placing a block.
Before calling "ItemStack.tryPlaceItemInWorld", a recording flag is turned on for
setBlock to capture a blocksnapshot for each block that attempts to be placed.

If 1 block is captured, a "BlockEvent.PlaceEvent" is fired to notify mods.
If 2 or more blocks are captured, a "BlockEvent.PlaceEvent" is fired first with the first block
captured followed by a "BlockEvent.MultiPlaceEvent" with all captured blocks. This extra event
is required for items that have the ability to place 2 or more blocks such as a BlockBed.

If either event is cancelled, the recorded block snapshot(s), item stacksize, and item meta will
revert back to the captured snapshot(s).
If the events are not cancelled, a notification will be sent to clients and block physics will be updated.

What this means for mods is Forge will be able to capture all player block placement automatically and fire
a PlaceEvent and/or MultiPlaceEvent.
If for whatever reason your mod does not use the standard placement methods then you will need to fire the
appropriate placement events in order to notify mods/servers.

This commit also includes a new utility class called BlockSnapshot which is serializable. This new class is used in conjunction with
both PlaceEvent and MultiPlaceEvent in order to record a snapshot of block space before it is altered. This
allows us to restore the block(s) if an event is cancelled. The class also provides the ability to restore a snapshot
to any location using the restoreToLocation method. This should be helpful to many mods that are looking to be able
to capture block data then restore it to back to any location required.
2014-10-02 11:33:25 -04:00
Lunatrius
7cff6f4c80 Prevent client only commands from bleeding through to the server. 2014-09-17 01:48:44 +02:00
nekosune
f9c68bba81 Fixed Clientside GameProfile UUID being null on offline mode 2014-09-10 00:24:36 +01:00
diesieben07
126d7e3ebe Added Item#isBeaconpayment 2014-09-06 23:39:38 +02:00
cpw
de521cf531 MinecraftForge/FML@4ce3e73bfe Add overloaded version of SimpleNetworkWrapper#registerMessage that takes the MessageHandler instance directly, allowing to specify the same handler for multiple messages.
MinecraftForge/FML@cbe2ccbda4 Add in ModType to the jar manifest. If it's present, and doesn't have value "FML" it will be skipped from the modloading cycle. This should let liteloader mods have a .jar extension.
MinecraftForge/FML@37cf0174fc OK, lets make that a csv list. It'll let you be liteloader and fml in one jar file!
MinecraftForge/FML@0475b15eb1 Change the mods and modListFile argument handling a bit. Other tweakers will get a chance at looking at them now - they're only removed right before launch.
MinecraftForge/FML@abeac06a2e Two new features. ModLists can have a "parent" mod list. Circularity will result in a crash, so be careful. Mods specified in a child will override ones from a parent (using the maven group:name:classifier triple to identify - ignoring the version component)
MinecraftForge/FML@7fcfedcfef Canonicalized file paths in modListFile handling with the minecraftDirectory.
MinecraftForge/FML@633fce19d4 Make Keyevent also fire for key releases
MinecraftForge/FML@57ba2339b6 Merge branch 'keyup-event' of github.com:diesieben07/FML
MinecraftForge/FML@1ff048062c Merge branch 'simple-netw-improve' of github.com:diesieben07/FML
2014-08-31 21:59:47 -04:00
cpw
24989689b3 GIANT FML UPDATE! Bump forge revision number, and fix patches for ItemStack changes. More to come on this branch I expect.
MinecraftForge/FML@7c5cf21904 Implement STDOUT/STDERR redirection.
MinecraftForge/FML@bc78e31cb7 added support for \n in tooltip strings added \n test tooltip localization fixed int/double conversion error in slider entry added test slider scenario that highlighted conversion error
MinecraftForge/FML@a2908e5c59 Clean up a bunch of compiler warnings.
MinecraftForge/FML@7f67523d87 Update realms to 1.3.2
MinecraftForge/FML@73f23c24b8 Merge branch 'std-redir' of github.com:Emberwalker/FML
MinecraftForge/FML@1c6b25df74 If an IO exception comes from the datawatcher, spew it all over the console don't discard it silently. Should stop pixelmon blaming forge for their mistakes.
MinecraftForge/FML@e77da9eb2f And fix the read side too, incase someone is trying to bitbang and failing.
MinecraftForge/FML@305d8950c9 Make LogContext optional. This can be useful for debugging mod issues, but Apache's implementation in log4j2 is responsible for a very significant % of the overall runtime. Quite frankly this is shockingly bad performance from what is supposed to be a high performance logging framework. Anyway, until we can figure out if we can fix it, we're turning it off by default.
MinecraftForge/FML@bdfca1c8ed Make more noise when people screw up mod downloading and put .jar.zip in their mod folders.
MinecraftForge/FML@2108494112 Add a custom version range factory method. Should hush skyboy's complaints. Closes #486
MinecraftForge/FML@7c1e6aaa40 Add a delegate to every item and block. this should help with renaming fun stuffs. Also, fix all the tabs from my previous commits. *sigh*
MinecraftForge/FML@61fcb4df06 Tweak Itemstack patch to always delegate to the method call. Set the field, so it's in sync.
MinecraftForge/FML@eb8c5ab146 Fix nested directory for language resources. Closes MinecraftForge#1264
MinecraftForge/FML@7c05e5f70d Default collections, so that we don't crash if useDependencyInfo is true. Closes #485
MinecraftForge/FML@9729fe2332 Kill net.minecraft.src warning. It hasn't served a purpose in a long time now. Closes #313
MinecraftForge/FML@21e875ef22 AllowPlayerLogins only after the server has completed the core init tasks. Closes #372
MinecraftForge/FML@46cfeade80 Add a constructor to CustomModLoadingDisplayException. Closes #387
MinecraftForge/FML@a6eab2683a Update README.txt
MinecraftForge/FML@f75838461c Last part is the itemstack transformer. Itemstacks should now only be loosely coupled with the items within.
MinecraftForge/FML@51f24e9e6d First draft of add alias. It is probably not properly persistent atm.
MinecraftForge/FML@2a4c642470 Finally fix stupid NPE error caused by FML trying to parse the super of Object in IDEA envs.
MinecraftForge/FML@c1b1417ee1 FML now supports passing a json formatted modlist as an argument, as well as a comma separated argument list. These facilitate modpacks mostly, by meaning you don't need to duplicate mods. The modlist is arranged in the maven style, with mods referenced maven-like.
MinecraftForge/FML@3d42cda2a2 Build.Gradle Patch
MinecraftForge/FML@20c7add845 Merge pull request #484 from bspkrs/master
MinecraftForge/FML@26ed4b992e Clear button list on FML fatal error screens. The hidden cancel button should not be there. Closes #497
MinecraftForge/FML@ebe4f5c5e2 Merge pull request #494 from AntonBoch1244/patch-1
MinecraftForge/FML@ad0da05f5c Fix the ItemStack transformer to find the method and field so it works with srg and mcp naming.
MinecraftForge/FML@65d380181a Extend timeout for client to 5 seconds. Should fix Forge #1322
MinecraftForge/FML@45486a0b6d Fix almost invisible NPE in TerminalTransformer when loading a non-existant class
MinecraftForge/FML@13da3efce0 Allow a clean way to exit the game without big ugly warnings, but with logging information available if needed. Closes #496
MinecraftForge/FML@fda305edfe Some more tidying up of the exit handling
MinecraftForge/FML@b087f60c33 More cleanup of exit handling, also add a couple more noise classes to the list of things ignored.
MinecraftForge/FML@d6358a466b Cleanup override warnings
MinecraftForge/FML@af7a58b9e5 Update to legacylauncher 1.10 and asm 5.0.3
MinecraftForge/FML@e6d00440a6 ItemStack swapping
MinecraftForge/FML@8597e45a0e Fix NPE from a boolean
MinecraftForge/FML@b9b9daa8a9 Fix ups from feedback.
MinecraftForge/FML@d89165021f Mark the promise a success in the outbound handler.
MinecraftForge/FML@2e5ccf7988 Update for launchwrapper 1.11. Fixes java 6 compatibility.
MinecraftForge/FML@641250d853 Fix java 8u20. Closes #501 and a bunch of other bugs too.
MinecraftForge/FML@292be72639 Allow client handshake to be reset by server to support BungeeCord.
MinecraftForge/FML@092873fbe5 Merge branch 'bungeecord' of github.com:bloodmc/FML
MinecraftForge/FML@134f2f8e88 Fix bug with entityspawn - if the entity doesn't extend livingbase, it fails to write a headyaw byte, and everything will be derped for that packet.
MinecraftForge/FML@4852de81e0 Wrap the server description box a little bit shorter. Stops the overlapping. Closes #489
2014-08-30 00:16:46 -04:00
Adubbz
0d93bec5e7 Fixed biome weights not working with non multiples of 10 2014-08-30 10:35:05 +10:00
Clashsoft
3119f700f3 Fix Stained Glass pane rendering issues 2014-08-18 20:28:15 +02:00
cpw
6fafbf3b09 Attempt to properly resolve this daft metadata and TE nonsense. This might be mod impacting, if you maintain a reference to a TE via neighbour update calls - you
might see two TEs for a single setblock where previously you saw one. This is a phantom TE being created by badly written neighbour triggers - I'm looking at you
redstone.

Anyway, with luck, this'll close a slew of bugs across Forge, IC2, MFR, TE, RC. Yeah, fun times. Thanks to LexManos, skyboy and KingLemming for helping figure this
issue out. Quite frankly, from now on, issues with phantom TEs will be mods behaving badly. Modders will need to adapt.
2014-08-13 00:00:29 -04:00
LexManos
016e303379 Fix invalid math in GuiContainerCreative. 2014-08-12 17:32:53 -07:00
SackCastellon
2519822b25 Add ItemStack sensitive version of getItemEnchantability 2014-08-12 16:48:01 +01:00
Lex Manos
6f693206de Add ability for creative tabs that have search bars to customize the text box's width, and prevent the default set of enchanted books from being displayed in those tabs. Closes #1303 Closes #1301 2014-08-11 19:18:38 -07:00
LexManos
948f7145d1 Merge pull request #1187 from Abastro/skylight
Skylight Hooks for Minecraft Forge
2014-08-11 16:00:11 -07:00
Abastro
f590ce8641 Skylight Hooks for Minecraft Forge
Mainly for solar/lunar eclipse.
2014-08-11 15:42:07 +09:00
Lex Manos
5131aed7bd Fix metadata for every permutation -.- Closes #1294 2014-08-05 15:18:02 -07:00
Lex Manos
d2682ab969 Fix patch screwup in Skyboy's Fishing PR -.- 2014-08-05 15:17:10 -07:00
Lizbeth Rika
63140bcf7f Fixed items with more than 2 render passes rendering weird in first person 2014-08-05 21:10:28 +01:00
DemoXin
68fd0049fb * Added AT for ContainerRepair.stackSizeToBeUsedInRepair (Now public)
* Added ability to AnvilUpdateEvent to alter stackSizeToBeUsedInRepair (vanilla behavior is now reproducable)
* Added AnvilRepairEvent, fired when the player removes an ItemStack from the output slot of ContainerRepair, and allows the chance to damage the anvil to be altered.
2014-08-04 16:54:35 -04:00
LexManos
224987aa83 Merge pull request #1128 from skyboy/patch-fishingapi
Add API for fishing results, I'm tired of this, If shit breaks, Blame Skyboy and King_Lemming.
2014-08-03 16:28:32 -07:00
Lex Manos
cd2982f9b1 Closes #1280 2014-08-02 11:32:34 -07:00
Lex Manos
10192959f9 Fixed bug that allowed duplication of Fluids with redstone dust. Closes #1279 2014-08-01 18:37:54 -07:00
Adubbz
2affeae979 Added an event for fog rendering 2014-07-28 17:01:38 +10:00
skyboy
cc169c3ea1 Update FishingHooks 2014-07-25 06:42:17 -04:00
cpw
bbcc515063 Revert old light amortization patch. It seems to be breaking chunk sending pretty badly when more
than a couple of people are online. Tests indicate it is not useful anymore.
2014-07-24 21:40:30 -04:00
skyboy
906dcb999d Add FishingHooks 2014-07-24 04:12:45 -04:00
Lex Manos
c69958e34b Made skulls respect Block.isReplaceable when placing, also prevented them from deleting blocks when placed at certain angels. Closes #1233 2014-07-16 18:37:49 -07:00
Darkhax
08826ed84b Changed exception message for duplicate enchantment ids to contain the
class path for both enchantments along with the enchantmnet id that has
been duplicated.
2014-07-16 07:08:57 -06:00
LexManos
e2fe13bd17 Merge pull request #1226 from williewillus/xporb
Fix experience orbs spawning at 32x coordinates clientside
2014-07-14 14:56:52 -07:00
Vincent Lee
a35457ecb7 Fix comment derp (+1 squashed commits)
Squashed commits:

[52c40bc] Fix experience orbs spawning at 32x coordinates clientside

Add // FORGE comment

Add // FORGE comment to clarify the purpose of the change
2014-07-14 16:43:16 -05:00
Vincent Lee
5c0217d316 Fix chat opacity
Add // FORGE comment

As per convention, add // FORGE comment to clarify the purpose of the change
2014-07-13 23:44:47 -05:00
Lex Manos
52ec4f7c57 Updated FML:
MinecraftForge/FML@ab52901b8b Force preferIPv4Stack to true early in the load chain to combat netty loopback issues.
MinecraftForge/FML@11893fbbb7 Add system property to skip doing world backups when game registry changes. This is SEVERLY ill-advised, if you do this DO NOT ask for any support.
MinecraftForge/FML@fdb6b34b8f Update authlib and realms to latest json data.
MinecraftForge/FML@b3a74882b4 added slider controls for numerics. default control is textbox, but slider can be used as a custom list entry class. fixed constructor javadocs in GuiConfig
MinecraftForge/FML@7c6d1f7568 Merge pull request #468 from bspkrs/master
MinecraftForge/FML@692d955c1a Update tweaker login to use authlib.
MinecraftForge/FML@c2119eb1c1 Update realms library to 1.3.1, and implement network latch when connecting to Realms. Tested and working.
2014-07-11 18:17:50 -07:00
TheCountryGamer
7adaef9aed RenderBlockOverlayEvent patch
Fixes skewed XYZ parameters
2014-07-08 15:49:32 -04:00
Lex Manos
195542c5fb Fixed Enchantment.addToBookList Closes #1160 2014-07-07 21:54:32 -07:00
LexManos
ba6c2c88ed Merge pull request #1194 from diesieben07/potion-icon
Added hook for potion inventory icons
2014-07-07 19:56:52 -07:00
LexManos
a6b7ba06c6 Merge pull request #1163 from TheCountryGamer/master
Added RenderBlockOverlayEvent
2014-07-07 19:50:04 -07:00
Lex Manos
f6471c3c08 Added World to ChunkProviderEvent.ReplaceBiomeBlocks, and exposed metadata to End and Nether generation events. Close #1201 2014-07-07 19:47:50 -07:00
Lex Manos
86ccfb1d68 Made EmeraldOre respect isReplaceableOreGen. Closes #1157 2014-07-07 18:55:24 -07:00
TheCountryGamer
7e7870026e Added RenderBlockOverlayEvent.java
Adds a Forge event which controls whether an overlay is rendered.
Overlays include: First-person fire, Block (when inside a block)
	and water when a player is inside a water block.

Patched for easier manipulation of event

Fixed for Lex

To be squashed

Removed Contructor

Added block XYZ parameters

TODO, the second block overlay event’s XYZ might not be correct
2014-07-07 21:49:51 -04:00
LexManos
53ce6f69e7 Merge pull request #1200 from tterrag1098/master
Add AchievementEvent
2014-07-07 18:37:53 -07:00
LexManos
81a791bac7 STENCIL buffer and DEPTH buffer, attempt a fix for GL errors. 2014-07-06 22:19:13 -07:00
Lex Manos
d35098ab9e Remove the BLEND enable in rendering damage bars. And exclicitly fix blend states in some GUI elements. 2014-07-06 16:25:14 -07:00
tterrag1098
a3c268b577 Add AchievementEvent
Allows modders to react to players receiving achievements, and cancel
them.

Fix indentation

More shortening

Down to one line...

Remove newline
2014-07-02 20:18:53 -04:00
LexManos
a59c5fbd8c Merge pull request #1197 from MrIbby/patch-1
Add RenderItemInFrameEvent
2014-07-01 12:34:41 -07:00
Gerard Bruwn
aca429f17b Add RenderItemInFrameEvent 2014-07-01 09:58:44 -07:00
Lex Manos
6db5d2ed26 Fixed issue where Fire's 'fizz' would not play for the person who extinguished the fire. 2014-06-30 11:08:18 -07:00
iChun
78f68847d2 Fixed inverted params in FogDensity use 2014-06-30 10:56:03 +08:00
Lex Manos
63d3fd2e84 Add config option to specify the default spawn fuzz factor for the overworld. Closes #1190 2014-06-29 18:56:22 -07:00
diesieben07
9662b5a657 Added hook for custom PotionEffect rendering in the inventory 2014-06-30 02:06:39 +02:00
Lex Manos
086d02896f Fix creative inventory tabs not blending base don items rendered. Closes #1179 2014-06-29 16:14:57 -07:00
cpw
ced81b5c93 Clean patch cruft. 2014-06-25 20:09:42 -04:00
cpw
c7f9d5a529 Fix new method with Side.CLIENT when it shouldn't have it. Closes a bunch of reports of problems. 2014-06-25 18:59:14 -04:00
Lex Manos
7ba54ffd48 Fix flower pots not droping the items that are inside them. 2014-06-23 22:06:52 -07:00
Lex Manos
256d865db6 Update to 1.7.10-pre4. 2014-06-23 21:55:16 -07:00
Christian
4778c33902 And fix firing for single player loading. 2014-06-22 14:39:23 -04:00
Christian
f7736e9a0a Fire an event when a player loads or saves from disk. Mods that want to load an additional
player related file from the players dir can now do so in that event.
2014-06-21 17:38:21 -04:00
Christian
ea7c11baf4 Some patch offsets
MinecraftForge/FML@7219061b05 Also patch in warnings for Vec3Pool - similarly removed.
MinecraftForge/FML@dff2204558 FML now sets a security manager (FINALLY!). It's primary purpose at this point is to catch rogue calls to System.exit so that they can cause a proper crash report, rather than silently abandoning the game.
2014-06-21 17:34:52 -04:00
Lumien
a21ad8fa9d Fixes a server crash caused by a player joining that is in a non existent dimension 2014-06-20 11:18:23 +02:00
Lex Manos
bb15efd037 Fixed vines generation for hanging off of trees. 2014-06-15 11:59:11 -07:00
bloodshot
61a6b67d51 Don't call ChunkDataEvent.Load async
ChunkDataEvent.Load must be called after TE's are loaded since this is
what mods expect. The event is handled by ChunkIOProvider during
callStage2.
2014-06-13 00:52:13 -04:00
LexManos
96286b77f9 Merge pull request #938 from bloodmc/chunkasync
Load chunks asynchronously for players.
2014-06-12 17:43:28 -07:00
LexManos
7b6b88b002 Merge pull request #1125 from alucas/addmissingjumpevent
Add missing onLivingJump calls
2014-06-12 16:20:03 -07:00
Travis Watkins
e6bbcf6a3d Load chunks asynchronously for players.
When a player triggers a chunk load via walking around or teleporting
there is no need to stop everything and get this chunk on the main thread.
The client is used to having to wait some time for this chunk and the
server doesn't immediately do anything with it except send it to the
player. At the same time chunk loading is the last major source of file IO
that still runs on the main thread.

These two facts make it possible to offload chunks loaded for this reason
to another thread. However, not all parts of chunk loading can happen off
the main thread. For this we use the new AsynchronousExecutor system to
split chunk loading in to three pieces. The first is loading data from
disk, decompressing it, and parsing it in to an NBT structure.  The second
piece is creating entities and tile entities in the chunk and adding them
to the world, this is still done on the main thread. The third piece is
informing everyone who requested a chunk load that the load is finished.
For this we register callbacks and then run them on the main thread once
the previous two stages are finished.

There are still cases where a chunk is needed immediately and these will
still trigger chunk loading entirely on the main thread. The most obvious
case is plugins using the API to request a chunk load. We also must load
the chunk immediately when something in the world tries to access it. In
these cases we ignore any possibly pending or in progress chunk loading
that is happening asynchronously as we will have the chunk loaded by the
time they are finished.

The hope is that overall this system will result in less CPU time and
pauses due to blocking file IO on the main thread thus giving more
consistent performance. Testing so far has shown that this also speeds up
chunk loading client side although some of this is likely to be because
we are sending less chunks at once for the client to process.

Thanks for ammaraskar for help with the implementation of this feature.

This commit is based off the following :

Bukkit/CraftBukkit@b8fc6ab2c1
Bukkit/CraftBukkit@85f5776df2
Bukkit/CraftBukkit@0714971ca2
Bukkit/CraftBukkit@7f49722f45
Bukkit/CraftBukkit@53ad0cf1ab
2014-06-12 16:51:17 -04:00
Christian
aaccbb8247 Warn when chunks are being self-recursively loaded. This can cause serious issues. Modders should watch out. 2014-06-12 14:45:25 -04:00
Antoine
27d9edac67 Add missing onLivingJump calls 2014-06-11 13:37:36 +02:00
LexManos
a08357a845 Merge pull request #1126 from Cojomax99/fog_customization
World fog color and density can now be controlled through an event
2014-06-11 00:57:33 -07:00
Cojomax99
9a3bc1fff5 World fog color and density can now be controlled through an event 2014-06-11 10:54:54 +03:00
LexManos
4ae1abd7d4 Merge pull request #1134 from diesieben07/ender-teleport
Fix EnderTeleportEvent for Ender Pearls.
2014-06-10 18:49:32 -07:00
Lex Manos
d5a4ee2c10 Fixed inverted player parameters in PlayerEvent.Clone, Closes #1142 Closes #1140 2014-06-10 18:48:00 -07:00
Lex Manos
5849458443 Changed EntityWolf to EntityTameable in EntityLivingBase.attackEntityFrom, to allow for more custom pets. Closes #1141 2014-06-10 18:20:59 -07:00
diesieben07
b0195f31e4 Fix not being able to change target & attackDamage for EnderTeleportEvent. 2014-06-07 13:45:29 +02:00
Lex Manos
03ae909762 Fix inverted parameters in OreDictionary.getOreID Closes #1123
-.- Closes #1120
2014-06-04 23:09:13 -07:00
LexManos
f3cbc6c262 Merge pull request #1034 from Adubbz/master
Greatly simplified the addition of new biomes to the default world. If this breaks things blame Adubbz.
2014-06-02 17:00:47 -07:00
Lex Manos
42fc3c9516 Added Noteblock change and play events. Closes #1027 #1025 2014-06-02 16:57:04 -07:00
Lex Manos
b301b1f70c Add target world to PlayerInteractEvent for potential 'cross dimension' interaction such as LittleBlocks. Closes #1071 2014-06-02 15:49:11 -07:00
Lex Manos
eb1ddab278 Add a couple of localizations to Forge added strings. Closes #1068 2014-06-02 15:28:11 -07:00
LexManos
0456c4d5ae Merge pull request #1095 from rwtema/master
Fixed setBlock not using the location version of getLightOpacity()
2014-06-02 14:28:42 -07:00
Lex Manos
fa3feda0d5 Filter all vanilla blocks that we missed through Forge's getDrops and BlockDrops events. As well as implemented IShearable for DoublePlants and DeadBushes. Mojang really should generic out some of this stuff instead of repeating logic all over the place! 2014-06-02 14:10:49 -07:00
Lex Manos
e7f492a15b Fixed GuiContainer calling button.mouseReleased. Closes #1116 2014-06-02 12:01:34 -07:00
Lex Manos
5fe0a0ea5a Fix patch fuzz 2014-06-02 12:01:10 -07:00
diesieben07
deb5df542e Add PlayerEvent.StartTracking and .StopTracking & make trackedEntityIDs visible
& Update, as discussed on IRC (squash)
2014-05-30 01:59:05 +02:00
LexManos
96ee4caf39 Merge pull request #1089 from RainWarrior/render-events
Added world display list render events
2014-05-25 17:16:08 -07:00
RainWarrior
3980bf79da Added world display list render events 2014-05-26 04:09:21 +04:00
Lex Manos
acf8e468f3 Made WorldGenShrub respect Block.canSustainPlant, Closes #1096 2014-05-24 10:55:57 -07:00
Lex Manos
dc10db1d90 Add new PlayerEvent.Clone called when an EntityPlayer is cloned via dimension travil or respawn. 2014-05-24 10:50:52 -07:00
rwtema
576a1294da Fixed setBlock not using the location-specific version of getLightOpacity() 2014-05-23 22:37:41 +01:00
Clashsoft
e530089639 Update GuiScreen.java.patch 2014-05-22 16:12:52 +02:00
Lex Manos
7b062dd390 Fixed Stems not droping a random number of seeds based on metadata, Closes #1087 2014-05-19 11:11:04 -07:00
XCompWiz
cdad2dc55a Bug Fixes to Biome Decoration and Chunk
Fixes issue with biome decoration crashing on worlds with exposed void
Fixes same issue in JungleBiome decoration
Fixes forge bug in getting lighting from a block in chunk
2014-05-19 01:37:59 +03:00
Lex Manos
9d66c91c86 Added accessible instance to RenderBlocks and RenderItem for modders to use who don't wish to create there own instance. Warning: Other modders may influance the transient state of the instance, BE WEARY MODDERS. 2014-05-14 12:23:22 -07:00
Lex Manos
1c7341b982 Added Farmland to PLAINS type plants as that has changed in 1.7. Also made BlockTallGrass call it's super.canBlockStay to better support custom soils. Closes #1077 2014-05-14 12:21:24 -07:00
Lex Manos
5e6c346c7c In Flower Forest biome a Poppy should spawn instead of Blue Orchid Closes #1078 2014-05-14 12:20:04 -07:00
Lex Manos
f95ca18707 Fixed No Blue Orchids spawn in swamp when using bone meal Closes #1072 2014-05-12 12:36:36 -07:00
Adubbz
4454d3f341 Greatly simplified the addition of new biomes to the default world 2014-05-11 15:06:14 +10:00
bspkrs
e625622b6e Fixed unforeseen NPE 2014-05-08 10:22:48 -04:00
Lex Manos
9e1f038c16 Revert "Implemented hashCode and equals in ItemStack, Closes #986"
This reverts commit 0b01545a03.
2014-05-07 22:08:06 -07:00
Lex Manos
0b01545a03 Implemented hashCode and equals in ItemStack, Closes #986 2014-05-07 15:28:03 -07:00
Lex Manos
c8abc41aa0 Fix extended entity properties being lost when leaving the end, This introduces the concept of calling IExtendedEntityProperties.init when entites/worlds change. Lets see if mods explode. 2014-05-07 14:52:18 -07:00
bspkrs
eb2549c773 New GuiScreen events and a new ElementType DEBUG for RenderGameOverlayEvent 2014-05-07 16:52:10 -04:00
Lex Manos
d881baa581 Added new hook to WeightedRandom.getItem that allows for use of custom rnadom generators, prevents redundant code in mods. 2014-05-07 13:27:05 -07:00
Lex Manos
f81c0cb58f Fixed hard references in WorldGenBigTree and ForgeCommand that caused worlds to leak in the client. 2014-05-07 12:18:56 -07:00
Lex Manos
0fe2584b77 Updated FML:
MinecraftForge/FML@2c56c32c5a Fix saving backups with the raw name. Fix air block not being assigned as the default.
MinecraftForge/FML@d0f8073fa5 Merge pull request #413 from sfPlayer1/master
MinecraftForge/FML@810b1f3075 Clean some generic warnings up. Make a generic list handler. Helpful for others I think too.
MinecraftForge/FML@fff86ee9d3 Fix refreshResources not happening if an error occurs.
MinecraftForge/FML@76d8d0e870 Fix mod version checking
MinecraftForge/FML@b84d0760ae Fix display of mod status at the server
MinecraftForge/FML@251af1d09d Fixed memory leak on the client caused by Netty holding references to the World.
2014-05-07 12:17:52 -07:00
Azanor
2e1033b045 Fix for Block.getExplosionResistance getting passed the wrong parameters
It is being sent the x, x, y coordinates instead of x, y, z
2014-05-07 17:21:58 +02:00
LexManos
80fd60eaff Merge pull request #1051 from Deadrik/ChunkProviderFixes
ReplaceBiomeBlocks Event changes
2014-04-29 17:38:37 -07:00
Bioxx
f848955263 Adds a new ReplaceBiomeBlocks Event constructor that supplies the metadata array if applicable and updates the ChunkProviderGenerate class to pass in the metadata array. 2014-04-29 19:40:32 -04:00
CovertJaguar
5f6e1167f4 Fix issue with flexible rail return value
Between 1.6 and 1.7 the return value to BlockRailBase.isFlexibleRail()
was inverted. While this is not a huge deal and could be worked around
by simply inverting your return value, it does mean its no longer
consistent with the function name and javadocs.
2014-04-29 14:07:59 -07:00
Lex Manos
172ea90c59 Try and fix invalid framebuffer depth/stencil setup, Thanks Ivoforce. Closes #1032 2014-04-15 12:03:31 -07:00
iChun
cc54645bf3 Fixes stencil buffers on platforms not supporting OpenGL 3.0 or higher. 2014-04-08 01:09:17 +08:00
Alexander Behrhof
36298e2bfe Small Fix: Held Items & Multiple Render Passes
Passes beyond 1 now have the correct icon.
2014-04-06 17:29:23 -04:00
Lex Manos
7b19768c4c Fix line offset in Minecraft patch, and mix RenderPlayer looping once to many on multi-pass items. 2014-04-04 14:20:56 -07:00
Lex Manos
621fb050ce Finally do SoundSystem workup for 1.7, Closes #982 2014-04-03 03:12:22 -07:00
Lex Manos
5fbc70173c Add NPE protection to GuiingameMenu.actionPerformed, Closes #961 2014-04-03 02:11:17 -07:00
Lex Manos
72d22c5827 Update access transformer, Closes #951 and #1021 2014-04-03 02:10:43 -07:00
Lex Manos
5f62afb5f2 Add AnvilUpdateEvent which is fired when a user places a item in both input slots of a Anvil and allows modders to control the output. Closes #838 2014-04-02 18:33:13 -07:00
Lex Manos
33bf2c8a69 Add ANIMALS tpe to PopulateChunkEvent.Populate Custom providers should call this function if they spawn animals curing population. Closes #790 2014-04-02 17:40:03 -07:00
Lex Manos
56084b584d ItemStack sensitive version of Item.getAttributeModifiers, Closes #816 2014-04-02 17:24:25 -07:00
Lex Manos
b0bfea4e03 New hook to truely seperate the display of the 'durability' bar from the current / max durability. Allowing modders to control that display easier. 2014-04-02 17:08:22 -07: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
d9a1c718bf Add position to BreakSpeed event. Closes #621 2014-04-01 15:00:25 -07:00
Lex Manos
f436b3e62d Update patches for new Fixed FernFlower used in FG 1.2. 2014-03-31 16:48:21 -07:00
AbrarSyed
1d2d0ea5cd fixed remaining noop patches and exc derp 2014-03-29 01:52:11 -05:00
AbrarSyed
0e1a1202d8 added .exe file.. fixed a bunch of patches 2014-03-29 01:12:45 -05:00
AbrarSyed
2a2e201f4a COnverted patches to SRG names 2014-03-25 10:13:57 -05:00
Eurymachus
05afb0c347 This correctly uses the world height less one block for placement of a
Door.

Required for placing doors inside a littleblocks area.
2014-03-12 13:26:48 +00:00
Lex Manos
185b9f8368 MinecraftForge/FML@ef07de4f65 Fix hard link to DedicatedSerever when opening a LAN connection causing stalls on connecting. 2014-03-11 00:55:57 -07:00
iChun
741a90c6bd Fixes stencil bits not existing in Minecraft's framebuffer causing stencil test to not work. 2014-03-11 06:40:37 +08:00
Timothy Tomkins
d2d2032f93 Small Fix: Held Items & Multiple Render Passes
Passes beyond 1 now have the correct icon.
2014-02-27 23:57:44 -05:00
iChun
bad0639e90 Add cancelable RenderHandEvent. 2014-02-22 01:13:40 +08:00
Lex Manos
6f49bba302 Fix a typo in our tile entity fix causing it to be ineffective. 2014-02-20 12:04:27 -08:00
Lex Manos
b01d87f0c6 Fix items with color rendering incorrectly. 2014-02-19 12:34:21 -08:00
Christian
08a636c34f Update Forge for patch changes
MinecraftForge/FML@064b66af3d Prevent players from logging in until server has finished starting.
MinecraftForge/FML@2aa73afa15 Fix ExampleMod.java for build #1024+
MinecraftForge/FML@c890206268 Try and handle removal of mods a bit better. Currently no way to allow a world which has missing blocks to load - but i have the code in place to allow it i think.
MinecraftForge/FML@995c204338 Fix failing to load a world with missing mod blocks and items. There will be a way to force worlds to load when stuff is missing, but for right now, it will fail as this is "world safe".
MinecraftForge/FML@fa5f4c8842 Some argumentation
MinecraftForge/FML@45409bfa0c Prevent player dat files getting reset during disconnects.
MinecraftForge/FML@33100d6bab Merge pull request #371 from bl4ckscor3/patch-1
MinecraftForge/FML@572d32358a Merge pull request #373 from bloodmc/master
MinecraftForge/FML@d0dd05a15c FML expands S3F to support payloads up to 2 megs in size. Should be transparent
2014-02-18 21:03:44 -05:00
Lex Manos
3322996885 Fixeed a missed -1 in SpawnerAnimals patch. Thanks Blood. 2014-02-12 23:06:11 -08:00
Lex Manos
8462f3b17c Fix AIOOB error with Endermen and blocks >256. Also better support for ID remapping. More to come later. 2014-02-07 19:15:05 -08: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
539ee0ea88 Fixed missed parens causing trapdoors to fall off incorrectly. 2014-01-31 15:12:19 -08:00
Lex Manos
f85ab543ee Fixed issue where enchantment effects caused slight rendeirng issue. 2014-01-31 14:32:32 -08:00
Lex Manos
51b008c391 Attempt a AIOOB error fix in tesselator when there are alot of transparent blocks in the rendering range. 2014-01-29 16:17:31 -08:00
Lex Manos
0d84da021f Fix NPE when breaking ice. 2014-01-29 15:43:13 -08:00
Lex Manos
f8f1b4211b Fix imporerly efficient tools breaking blocks to fast. 2014-01-24 21:43:47 -08:00
Lex Manos
30a390d4bf Adds a WeatherRender in the style of SkyRender, Closes #844 2014-01-24 19:38:33 -08:00
Lex Manos
790030ab05 Fixed potential NPE in SlotCrafting, and added ItemStack sensitive version fo hasContainerItem. Closes #854 2014-01-24 19:30:17 -08:00
Lex Manos
d73f4fb7b3 Move change of metadata to immediatly after change of Block, should prevent any 'invalid' tile entities from breaking created. Reference: #897 2014-01-24 19:21:59 -08:00
Lex Manos
6f7ac27c96 New PlayerUseItemEvents, Start, Stop, Tick and Finish. See PlayerUseItemEvent.java for more details. Closes #924 2014-01-24 19:10:51 -08:00
Lex Manos
6ae2353f41 Don't short circuit item icons for multiple render passes while being used. Closes #929 2014-01-24 17:23:49 -08:00
Lex Manos
c62061728b Add the ability for custom records to have finer control over there sound resource location. Closes #933 2014-01-24 17:16:35 -08:00
Lex Manos
6c6f664c30 Implement PlayerPickupXpEvent, fired when a player aquires XP from a EntityXPOrb. Closes #942 2014-01-24 16:31:38 -08:00
Lex Manos
aaf6dd2b2e Fix Furnace stopping on 63rd Item, Closes #947 2014-01-22 15:35:55 -08:00
Lex Manos
b917d48cff Fixed RenderWorldLastEvent never being called, was missed in 1.7 update. Closes #932 2014-01-18 13:22:09 -08:00
Lex Manos
79ebdfa145 Updated FML: MinecraftForge/FML@444a7d7fa1 Move placement of single player world load hook to fix NPEs. 2014-01-18 13:19:51 -08:00
Lex Manos
612a8a71b0 Fix flexible rails, Closes #944 2014-01-18 04:45:25 -08:00
Christian
c71b7554e0 MinecraftForge/FML@b362e8a273 At the request of AbrarSyed.
MinecraftForge/FML@e344303ec7 Merge pull request #346 from Jezzadabomb338/master
MinecraftForge/FML@a4686b1261 Added basic Mojang account authentication support for development time login.
MinecraftForge/FML@dd17979a2f Fix bukkit connectivity issue.
2014-01-16 15:07:48 -05:00
LexManos
0296803fe3 Merge pull request #926 from iChun/master
Fix erroneous position when getting player position with changed eye height.
2014-01-11 17:32:27 -08:00
iChun
b1f8af7f55 Squash commits so Lex would stop whining. Fix erroneous position when getting player position with changed eye height. 2014-01-12 07:59:39 +08:00
Lex Manos
aab5b04a6d Attempt to prevent a NPE when MC renders a lot of things at once. 2014-01-06 20:25:34 -08:00
Ken 'Minalien' Murray
9e91b0ca81 Fixed MinecraftForgeClient for custom Item Renderer implementations. Removed check for forward-slashes (/) in texture asset locations (but left check for backslash in place). 2014-01-05 21:55:04 -07:00
Lex Manos
0da954cc10 Fix DoublePlant placement, closes #921 2014-01-04 13:07:05 -08:00
Lex Manos
a1b68d938d Deprecate BlockFire.func_149842_a, and throw exception if someone tries to set the burn properties for air. Should prevent 'The Air is on fire!' reports. 2014-01-04 13:06:31 -08:00
Lex Manos
3953eb3f6c Fix panes/iron bars not connecting correctly. Closes #904 2014-01-03 17:26:40 -08:00
Lex Manos
df0b1751e6 Fixing an infinite recursion case, Closes #916 2014-01-03 16:50:02 -08:00
Adubbz
48a9e24630 Made canBeReplacedByLeaves default to whether a block isn't opaque rather than if it is, also uninverted the checks for canBeReplacedByLeaves in WorldGenBigMushroom, WorldGenSwamp, WorldGenTaiga1 and WorldGenTaiga2 2014-01-03 18:00:11 +11:00
Christian
3896a63016 Fix inversion 2014-01-02 22:52:04 -05:00
Adubbz
bd5e7f8118 Fixed sky colour transitions on a render distance of 16, fixed the WorldGen of various things 2014-01-01 18:50:52 +11:00
Lex Manos
32f26561b1 Fix inverted login in BlockPistonBase causing blocks to break incorrectly. Closes #910 #909 2013-12-31 13:07:44 -08:00
Lex Manos
ea0be720a1 Update patches for AT changes. 2013-12-31 13:03:45 -08:00
Adubbz
164fa8f646 Made BlockCrops.getDrops call its super method 2013-12-28 23:15:09 +11:00
Christian
f075264d6f Allow tools to override their material harvest levels. 2013-12-27 23:48:10 -05:00
Christian
cf3447feea Tidier implementation of previous commit. Should fix for subclasses of individual tools too 2013-12-27 21:48:42 -05:00
LexManos
46296328ff Merge pull request #893 from iChun/master
Add render offset to event.
2013-12-25 01:05:45 -08:00
iChun
5f3ece629c Add render offset to event. 2013-12-25 17:03:19 +08:00
Lex Manos
a6827f9820 Fix dig speed on redstone ore and obsidian. 2013-12-25 00:41:21 -08:00
Lex Manos
40d02fe6c3 Add a version check mechanic to startup, it is done in a seperate thread and has a config option to compleetly disable it. This allows us to notify users of new recomended builds. Hopefully stemming the flow of outdated help request. Also adds a warning to the main screen if you are running a 'Beta' Forge. Which means a Forge for a new version of Minecraft that we have not promoted a recomended build for yet. 2013-12-25 00:35:59 -08:00
Lex Manos
572bc48a25 Resize pending tile updates when it goes over the curent length. Fixed AIOOB error. 2013-12-24 19:59:34 -08:00