Commit Graph

2566 Commits

Author SHA1 Message Date
Lex Manos d8cb28911c Fix userdev for new BlockState change. 2014-12-12 14:42:49 -08:00
LexManos ca2d49b4cd Merge pull request #1518 from RainWarrior/model-event
Added model bake event, ISmartBlock/itemModel, Block.getExtendedState, IExtendedState and IUnlistedProperty
2014-12-12 12:44:05 -08:00
Lex Manos 0b41756125 Untie ItemModelMesher from using Item Ids internally by implementing our own simple mechanics using Trove. 2014-12-12 11:47:27 -08:00
Lex Manos ecd4a259ec Fix EnumHelper for new ArmorTexture argument. 2014-12-11 16:41:27 -08:00
Lex Manos f60f7d9aa6 Fixed NPE thrown when brewing event is fired and not all slots are filled. 2014-12-11 05:25:13 -08:00
Lex Manos 66018bd168 Make daylight sensor recipe use ore dictionary wooden slabs Closes #1565 2014-12-10 05:18:42 -08:00
Lex Manos 924db0ff03 Fixed NPE thrown when brewing event is fired and not all slots are filled. Closes #1564 2014-12-10 05:12:36 -08:00
Lex Manos 08960ffb7b Unbind Shaped/Shapeless Ore Recipies from Array list to normal List. 2014-12-08 05:03:43 -08:00
Lex Manos f9955efb08 Expand PlayerWakupEvent to expose the three parameters passed into EntityPlayer.wakeUp. 2014-12-07 05:48:26 -08:00
Lex Manos 81086375e8 Expand PlayerWakupEvent to expose the three parameters passed into EntityPlayer.wakeUp. Closes #1486 2014-12-07 05:48:02 -08:00
Lex Manos 4e39515d12 Add quartz_ore tool init, more mojang special casing -.- Closes #1333 and Closes #1335 2014-12-07 03:43:02 -08:00
Lex Manos 4cc11b220a Add quartz_ore tool init, more mojang special casing -.- 2014-12-07 03:41:53 -08:00
Lex Manos 24213a8ca7 Added PotionBrewEvent.Pre/Post. To allow for modification and cancelation of Brewing. Closes #1248 2014-12-07 03:30:52 -08:00
Lex Manos 27524a02ae Added PotionBrewEvent.Pre/Post. To allow for modification and cancelation of Brewing. 2014-12-07 03:30:10 -08:00
Lex Manos c9fe5ded9b Add LivingHealEvent called from EntityLivingBase.heal() Closes #1282 2014-12-07 02:35:07 -08:00
Lex Manos 44b21681e2 Add LivingHealEvent called from EntityLivingBase.heal() 2014-12-07 02:34:28 -08:00
Lex Manos f2b1622355 Added CreateSpawnPosition event. 2014-12-07 01:52:29 -08:00
Lex Manos 877ba864e7 Added CreateSpawnPosition event Closes #1053 2014-12-07 01:52:17 -08:00
Lex Manos 0c11a1544f Cleanup deprecated code, and TODOs in OreDictionary. Down-typed things from ArrayList to List. Asking for the ores with a null stack will now throw an Exception. 2014-12-07 01:50:26 -08:00
Lex Manos cf81ad7b15 Add "sand" to the OreDictionary 2014-12-07 00:44:29 -08:00
Lex Manos 9cf9d6a8e8 Add "sand" to the OreDictionary Closes #1487 2014-12-07 00:44:20 -08:00
Lex Manos 42938a1e7f Added Explosion Start and Detonate events to control explosion. 2014-12-07 00:28:41 -08:00
Lex Manos 861c00fdfc Added Explosion Start and Detonate events to control explosion. Closes #1469 2014-12-07 00:27:51 -08:00
mezz 75c7862e78 Add GuiScreenEvents for keyboard and mouse input 2014-12-06 19:06:19 -08:00
Draco18s bf26e639d9 Update RenderBlockFluid.java
Added tessellator calls to render the block's back faces, so that the liquid properly renders when the player is immersed in the fluid.
2014-12-04 16:50:26 -05: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
Lex Manos 59df94bd90 Updated FML:
MinecraftForge/FML@9c8ca4a4e3 Unlink banner block and item id. Mojang should of matched these up but they didn't -.-
MinecraftForge/FML@84a101f344 Update Dev mcp mappings to 11-30 snapshot.
2014-12-01 19:11:17 -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 6bb769268f Fix interacting with entities. 2014-11-28 12:04:09 -08:00
Lex Manos 10efdbc085 Fix debug screen not showing grey background. Closes #1529 2014-11-28 11:18:59 -08:00
Lex Manos d48f4d0a94 Update RecipeSorter for new 1.8 recipies. 2014-11-28 08:20:10 -08:00
Lex Manos 17e5480b6e Fix Entityies not taking damage correctly. Closes #1511 2014-11-28 07:43:10 -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
Kittychanley 4e79117755 Removed exclusion of white stained glass recipes in ore dictionary. Closes #1502 & #1481 2014-11-21 14:13:24 -06:00
Matthew Messinger 21ffd28adb Fix MC-30864 (sending web links in chat) 2014-11-10 15:24:27 -05:00
LexManos 5b82e18afc Merge pull request #1376 from founderio/patch-1
Modify WavefrontObject to allow '.' in group object names
2014-11-04 18:29:12 -08:00
Lex Manos 47305ff691 Player sensitive version of Block.getPickBlock Closes #1348 2014-11-04 18:27:02 -08:00
LexManos bcaf8b7e79 Merge pull request #1450 from Adubbz/master
Fixed desert list initialization. Fixes #1447
2014-10-17 15:56:00 -07:00
Lex Manos 31e330090a Bump version for new RB. 2014-10-16 20:49:33 -07:00
matthewprenger 9c2f0ddfad Add username cache for determining a player's last known username 2014-10-15 16:14:36 -05:00
Lex Manos ae4f979318 Compleetly disable stencil bits unless told not to by using the -Dforge.forceDisplayStencil=true flag. Should solve the 'menu in bottom corner' issue with Intel Integrated graphics cards. 2014-10-12 22:11:40 -07: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
Adubbz de5daadf11 Fixed desert list initialization. Fixes #1447 2014-10-10 21:22:47 +11: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 676ecab52e Disable by default the Display Stencil bits. Keep FBO bits. Acording to Mumfery and ChickenBones, it should not be nessasary and should solve the 1/4 main menu issue. Use -Dforge.forceDisplayStencil=true to enable old behavior. 2014-10-06 15:12:12 -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
Michael Lawrence 71cb9dfe52 check for IFluidBlock (in addition to Material.liquid) when
determining render height so that non-liquids (gases) render correctly
2014-09-08 05:51:34 -07:00
Oliver Kahrmann da39ed066c Modify WavefrontObject to allow '.' in group object names
Blender names objects with .001 ir .002 when separating vertices or duplicating objects and the importer would crash on them. This fixes the regex to allow dots in the name.
2014-09-01 22:43:53 +02: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
Bernhard Bonigl 53294b843b Write the correct default value for StringList comments in the config 2014-08-15 15:57:44 +02:00
Lex Manos ba69a1a6fd Fix AIOOB in BiomeDictionary. Closes #1326 2014-08-14 20:33:23 -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
LexManos 261ba628df Merge pull request #1217 from Glassmaker/patch-1
Adds getLocalizedName and getUnlocalizedName to FluidStack
2014-08-10 01:42:24 -07:00
ShetiPhian 22609b1d54 Legacy Liquid Load Fix
nbt.getString("FluidName") no longer returns null, it returns an empty string.

This patch allows legacy liquids to be resolved once again.
2014-08-05 21:08:53 -04: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
skyboy 5f8d501ed6 Add EntityFishHook AT 2014-08-03 19:52:59 -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
rwtema eeb701cb16 Fixed ItemFluidContainer always draining the maximum amount, regardless of the amount remaining. 2014-07-31 20:52:52 +01:00
zarathul 7a1de8c13d - Added drainFluidContainer() and getContainerCapacity() helper methods. 2014-07-30 13:23:52 +02: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
skyboy 906dcb999d Add FishingHooks 2014-07-24 04:12:45 -04:00
Lex Manos b2dddf545b Fixed NPE that happens sometimes when exiting the game witout fully loading a world {main a dev-time thing} 2014-07-16 18:36:12 -07:00
bspkrs e35755c3e3 Fixed missing assignment of constructor arg (thanks @Lunatrius)
I must have edited this out when I was cleaning up my formatting commit spam.
2014-07-15 09:47:01 -04:00
Glassmaker ff2696dff8 Adds getLocalizedName and getUnlocalizedName to FluidStack 2014-07-10 15:25:53 +03:00
cpw 27d5dc0a25 Add a system property for the stencil, in case config is not available.. 2014-07-09 10:59:33 -04:00
Lex Manos af9229d3bc Add ability for modders to designate custom biome types. And remove note about automatically registering. Closes #1167 2014-07-07 21:29:37 -07:00
LexManos 7d24c2259b Merge pull request #1199 from Adubbz/master
Enhanced the Biome Dictionary
2014-07-07 19:50:56 -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
Adubbz 8d2ebdf25f Enhanced the Biome Dictionary with tags based on temperature, vegetation, moisture, trees and others 2014-07-08 12:09:44 +10: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 7c016d9ee8 Merge pull request #1210 from Ghosrec35/master
Added Javadoc comments for Forge Event documentation.
2014-07-06 17:16:46 -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
Alex c410a2d9fc Added Javadoc comments for Forge Event documentation. 2014-07-06 18:41:11 -04:00
LexManos d889765b10 Merge pull request #1159 from ganymedes01/master
Added FluidStack sensitive version for Fluid's localised name
2014-07-06 12:06:58 -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
Gerard Bruwn aca429f17b Add RenderItemInFrameEvent 2014-07-01 09:58:44 -07: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
Lex Manos 219f5adf61 Add config option to disable attempting to creat screen with Stencil Bits. 2014-06-29 18:42:48 -07:00
bloodshot 2bfda259fa Fixed wrong method call in ChunkIOProvider.
When a chunk fails to load async, we fallback to the original sync method.
In this case, it was calling the async method twice which ended up causing
a stackoverflow.
2014-06-29 14:27:37 -04:00
bspkrs f8be9a237c fixed compounding quotes issue with category names that require quotes when save is called more than once 2014-06-26 16:31:27 -04:00
cpw ebf0e7617a Update to MC 1.7.10, bump to 10.13.0
MinecraftForge/FML@bc420dcb0b Fix Eclipse launching attribute
MinecraftForge/FML@1e0134a1ca Merge pull request #455 from rumickon/feature
MinecraftForge/FML@1c5db211af Update for release 1.7.10
MinecraftForge/FML@79a0c5e559 Merge branch 'mc179'
2014-06-26 15:07:51 -04:00
cpw 32e577d5bf Fix API incompatibilities. Should mean mods will work with new config changes. 2014-06-26 14:45:43 -04:00
luacs1998 23c6d0ef55 Update mc version string
Or was I not supposed to?
2014-06-26 09:03:22 +08:00
cpw fcd13f5e71 Merge branch 'master' into prerelease 2014-06-25 20:18:42 -04:00
cpw 24c05a73ce Merge branch 'master' of github.com:bspkrs/MinecraftForge into bspkrsgui
Conflicts:
	src/main/resources/assets/forge/lang/en_US.lang
2014-06-25 20:13:36 -04:00
Lex Manos 256d865db6 Update to 1.7.10-pre4. 2014-06-23 21:55:16 -07:00
Christian 1275aa732e Null check the Item in the supplied stack as well as the stack itself. 2014-06-22 14:47:24 -04:00
Christian 4778c33902 And fix firing for single player loading. 2014-06-22 14:39:23 -04:00
Christian 127605ec3e Fix derpity derp. 2014-06-22 10:11:32 -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
Thog92 a905fe578b Add missing 1.7 biomes to BiomeDictionary 2014-06-19 19:06:27 +02:00
ganymedes01 85497cbf6e Added FluidStack sensitive version for Fluid's localised name
Would be helpful for determining names for more complex FluidStacks (with tag compounds for example)
2014-06-18 15:26:14 +01:00
Zarathul e68cfa9f72 Fixed ArrayIndexOutOfBoundsException in getOreName
Added sanity check to prevent ArrayIndexOutOfBoundsException in getOreName for negative ids.
2014-06-16 23:00:40 +02: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
Lex Manos 1b7190c50b Pop version for new Recomended build. 2014-06-12 15:16:56 -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
LexManos c45ed6f6d8 Changed dustLapis to gemLapis to make OM SHUT THE HELL UP. 2014-06-11 22:43:15 -07:00
Lex Manos dd5b51aac1 Fixed missed metadata offset, and now cache return values of getOres for speed. 2014-06-11 10:27:28 -07: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
Lex Manos 7a43d2f96a Rework OreDictionary's internals to be a bit more speedy to help combat modders using it inapropriatly. Closes #1022 Closes #1131 2014-06-10 18:05:09 -07:00
Lex Manos 03ae909762 Fix inverted parameters in OreDictionary.getOreID Closes #1123
-.- Closes #1120
2014-06-04 23:09:13 -07:00
bspkrs 04c2ed554d Added support for new FML config GUI classes
refactored lots of stuff based on comments

added Configuration.load() exception handling and logging
2014-06-04 17:39:47 -04: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
Lex Manos f2a33ea9f6 Add comment to RotationHelper telling modders where to actually look, closes #1115 2014-06-02 12:20:28 -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 4a6a49e073 Merge pull request #1109 from Open-Code-Developers/finite-patch
Make finite fluid blocks drainable
2014-05-29 15:18:34 -07:00
Lex Manos 0737601dbf Fix enum helpers for EnumRarity {moved to Commn and changed paramter} and EnumCreatureType {new parameter} and added junit test for them. Closes #1009 2014-05-28 15:28:40 -07:00
Lex Manos 5f90e0788b Change IShearable JavaDoc by one line so Anti would shut up. Closes #1054 2014-05-26 11:26:53 -07: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
ganymedes01 6924fef324 Fix getOreIDs not using the wildcard value correctly
You can see it's not working by requesting the ore IDs from lapis, and you'll see the name "dye" is missing (and that's the one registered using the wildcard).

Fixed it by inverting the order of the item stack parameters.
2014-05-25 19:15:26 -03:00
Lex Manos 25ef7e3469 Prevent duplciates in registered Ores in the OreDictionary and clean up some of the code, add new function to return all ores the specified ItemStack satisfies. Closes #1102 2014-05-25 14:20:02 -07:00
Vilim bc1434ff04 Make finite fluid blocks drainable 2014-05-25 19:59:59 +02:00
Vilim bab2de72bc Fix fluid blocks
For https://github.com/BuildCraft/BuildCraft/issues/1843 .
2014-05-25 18:42:17 +02:00
Lex Manos 243aa60bf9 Add Glass, Colored glass, ore storage blocks, alines, and a few others to ore dicitonary. Closes #1011 2014-05-24 13:01:35 -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
WaDelma a3e8f0cbe4 Fluid events now know how much fluid is moved
Added amount that is being filled/drained to the FluidEvent

Added constructors without amount to ensure backwards compability

Added deprecation to amountless constructors
2014-05-20 01:39:51 +03:00
Lex Manos 711e92a59f Fully clear DimensionManager's DimensionID bitset when world is loaded. Closes #1074 2014-05-12 11:46:03 -07:00
Christian 26c55d89ef Fix forge validating strict versions on remote connections. 2014-05-12 13:49:46 -04:00
Adubbz 4454d3f341 Greatly simplified the addition of new biomes to the default world 2014-05-11 15:06:14 +10: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 f81c0cb58f Fixed hard references in WorldGenBigTree and ForgeCommand that caused worlds to leak in the client. 2014-05-07 12:18:56 -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
bspkrs 3fa0c70f2b get a spelling checker :P 2014-04-18 11:21:40 -04:00
Lex Manos a008339c6e Bump Forge version in prep for release. 2014-04-16 17:30:50 -07:00
planetguy32 fd59ab261f Fix infinite loop in RecipeSorter
If recipe is multiple levels of inheritance from Object and not categorized, cls=cls.getSuperclass(); needs to be repeated more than once. It must therefore be moved to inside the while loop.
2014-04-12 20:04:02 -07:00
ShetiPhian bba42d4230 Update PlaySoundEvent17.java 2014-04-03 22:25:49 -04:00
Lex Manos 621fb050ce Finally do SoundSystem workup for 1.7, Closes #982 2014-04-03 03:12:22 -07:00
Lex Manos 72d22c5827 Update access transformer, Closes #951 and #1021 2014-04-03 02:10:43 -07:00
Lex Manos 12e8d95e9f Fix potential threading issue if FluidRegistry.loopupFluidForBlock is called from two threads at the same time before being setup. Closes #936 2014-04-02 23:53:05 -07:00
Lex Manos 14b9d639a2 Use BiomeGenBase's array size instead of hardcoding it in BiomeDictionary. Closes #871 2014-04-02 23:46:52 -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 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
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
Lex Manos ea2c07c727 -.- Both null combinations. 2014-03-10 23:41:37 -07:00
Lex Manos 1a9e13f880 properly implement equals, sod off Player. 2014-03-10 23:27:30 -07:00
Lex Manos d97ec2763c Implement simple hash based equals in Fluid ContainerKey. 2014-03-10 22:51:31 -07:00
Lex Manos 534b241e9f Make StructureVillagePieces.Village public. 2014-03-10 22:12:46 -07:00
DemoXin 488eb30272 * Fixed Items.glowstone to Items.glowstone_dust 2014-02-28 02:54:50 -05:00
DemoXin 58fde290f8 * Added Ore Dictionary entries and recipe replacements for Diamond, Emerald, Crops, Redstone, and Glowstone 2014-02-27 22:48:33 -05:00
Lex Manos 246152d3c4 Fixed hashcode in FluidContainerRegistry, still needs a redesign. Closes #967 2014-02-23 16:56:29 -08:00
iChun bad0639e90 Add cancelable RenderHandEvent. 2014-02-22 01:13:40 +08:00
Lex Manos b43d63a7ad Cull FakePlayers when worlds are unloaded. 2014-02-11 18:25:33 -08:00
Lex Manos c8e0b4a193 Use correct tag types when reading Forced Chunk data. Fixes ticket loading. Closes #964 2014-02-10 16:16:03 -08:00
Lex Manos c4972b7658 Fixed FluidContainerRegisry.contansFluid closes #845 2014-02-10 15:29:36 -08:00
Lex Manos 1e2c63f486 Add the beginnings of a Constants class, to document/clean some of the magic numbers that are in the MC code base. 2014-02-05 01:14:57 -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
Christian 9d919f8ac9 Fix up the event handler so it knows it's owned by forge 2014-02-02 12:34:34 -05:00
Christian 67d9dac16d Add a discriminator for fluididspacket. remove extraneous channel handler. 2014-02-02 12:19:37 -05:00
Lex Manos 51414375e4 Uncomment aa few FluidRegistry entries. 2014-01-29 21:04:34 -08:00
Lex Manos 2b9a2b5c1a Inital Fluid system update, untested. Still in progress. 2014-01-29 18:34:23 -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 796b53f549 Exclude cobblestone slab recipe from ore dictification, closes #940 2014-01-24 16:44:23 -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 2e47771860 Missing EntityAITasks.tasks and MapgGenStructreIO register ATs, Closes #949 2014-01-24 16:04:41 -08:00
Lex Manos 75a80f2f75 Make ItemBlock.field_150939_a public, closes #945 2014-01-24 16:02:39 -08:00
Lex Manos adf0e3ab7d Add BookCloning to the recipe sorter. 2014-01-20 14:04:34 -08:00
Lex Manos 28f7f523ee Add support in Techne models for the TextureSize tag. Closes #856 2014-01-18 13:53:54 -08:00
Lex Manos baf95e747a Fix warnings in Forge codebase. 2014-01-17 21:55:48 -08:00
Christian eeeb4d37e8 Add exception logging to forge channel handlers as well
MinecraftForge/FML@53557dcd05 Put logging exception handlers on all channel inbounds. Fix problem with failure to login. Closes #350
2014-01-17 17:05:11 -05: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
Anton 9523059d85 Create ru_RU.lang 2014-01-04 09:28:29 +03:00
Christian 95c12b6c20 Updated FML:
MinecraftForge/FML@5317672631 Add a utility method for finding the channel handler name based on type. Should fix naming weirdnesses.
MinecraftForge/FML@9de9a15530 Fix stupid hardcoding derp
2014-01-03 23:07:55 -05:00
Lex Manos b6199c202e Fixed pipeline naming issue in the ForgeNetworkHandler. 2014-01-03 18:54:52 -08:00
LexManos 367c5d1ede Merge pull request #882 from Vexatos/patch-2
Create de_DE.lang
2014-01-03 18:29:55 -08:00
Lex Manos b149ccbc17 Models now load from resource packs
Models must now be loaded from resource packs using the standard resource pack reference. For example, to load a model named "assets/mymod/models/mymodel.obj", you would call AdvancedModelLoader.loadModel("mymod:models/mymodel.obj");
Closes #670
2014-01-03 17:10:15 -08:00
Vexatos e6bfb6b7b3 Update de_DE.lang 2014-01-01 09:06:40 +01: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
LexManos ccee30b15e Merge pull request #908 from jk-5/patch-1
Add constructors to DimensionRegisterMessage
2013-12-31 13:08:56 -08:00
Lex Manos b31fbe528a Update for the FMLEmbeddedChannel change. 2013-12-31 12:48:59 -08:00
jk-5 03c4282ebf Added default constructor for reflection 2013-12-31 08:21:05 +01:00
jk-5 5ff5f1b0d5 Added a constructor and made the fields package-private 2013-12-30 21:58:53 +01:00
jk-5 07fa6615f8 Update ForgeMessage.java 2013-12-30 20:12:15 +01:00
Christian 5c647d4515 Fix the network handler for forge 2013-12-28 17:01:58 -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
Christian 78b1b54e2b Add in harvesting abilities of the items, should fix effectiveness 2013-12-27 21:26: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 08a875c39a Added constructor to WorldType, and delegated the BiomeLayer management to it. Also updated the access transformer for Item/Block classes. 2013-12-23 22:40:54 -08:00
Lex Manos 8ca1179e04 Move Grass {Flower} registry to BiomeGenBase as 1.7 made flowers Biome specifc, this means modders who wish to add global base flowers need to add them to all the biomes indavidually. 2013-12-23 20:34:39 -08:00
Lex Manos 2102965fac Fix debug HUD rendering semi-transparently. 2013-12-23 20:32:37 -08:00
Lex Manos 436f7fc550 Bump version to 10.12.0 to mark 1.7. 2013-12-22 18:48:22 -08:00
Lex Manos 9ee5053b71 Fix:
Block placement/interaction
  Tesselator crash due to wrong mapping
  Missing isreplaceable check in world.canPlaceAt
  Small foratting/logging cleanup
  Temporarly commented out efficancy changes till I implement it.
2013-12-22 18:25:26 -08:00
Lex Manos 21e505c334 Forge uses the FORGE channel for packets. 2013-12-22 18:21:56 -08:00
bloodshot 8654623271 Refactored BiomeManager stronghold add/remove methods to support new
MapGenStronghold dynamic biome changes.
Changed InitNoiseGensEvent to pass a NoiseGenerator array instead of
NoiseGeneratorOctaves due to new NoiseGeneratorPerlin in
ChunkProviderGenerate.
Fixed worldgen crash caused by wrong metadata in Chunk patch.
2013-12-22 18:47:51 -05:00
Lex Manos a6c45a7ade Inital patch update for 1.7.2, Doesn't compile, not done yet. 2013-12-22 03:06:10 -08:00
Christian ae478c92a2 Moved the core event handler parts to FML. Implemented the Forge network handler based on the new
netty strategy.

Updated FML:
MinecraftForge/FML@3b2994a3de Some patching touchups
MinecraftForge/FML@557357fe17 Update for log4j2
MinecraftForge/FML@a2b324beb2 Copy eventhandler from Forge into FML. It is going to replace a lot of the runtime event systems.
MinecraftForge/FML@4071ff38af Patch some GUIs. We're gonna add some basic mod gui config support.
MinecraftForge/FML@0b419ac79c Fire a user event down the channels when a handshake has occured.
2013-12-16 20:19:03 -05:00
Lex Manos 439dbd8bb3 Killed a few hundred compile errors. 2013-12-12 23:32:36 -08:00
Lex Manos 9cf0a5b68b Comment out fluids until King gets his hands on it 2013-12-12 23:32:18 -08:00
Vexatos ca7a404fc8 Create de_DE.lang 2013-12-11 15:17:20 +01:00
Lex Manos 521b8a16c4 Some work on 1.7, waiting for Abrar to fix a few things. 2013-12-09 21:59:12 -08:00
Lex Manos d4e7a5c68e Bump data for 1.7 start. 2013-12-09 18:47:55 -08:00
Lex Manos b474c2ca7a Kill liquids finally. 2013-12-09 18:47:15 -08:00
Lex Manos e9af710cf4 Fix for new FML, and publish to maven local 2013-11-17 12:01:31 -08:00
AbrarSyed 74104fe5d0 Update forge 2013-11-17 12:07:22 -06:00
AbrarSyed 797399ff7f Step 2: The Reformation 2013-11-09 15:57:08 -06:00