Commit Graph

210 Commits

Author SHA1 Message Date
cpw 5c88164211 And handle the null case in the constructor itself. Closes #1794 (again) 2015-04-11 17:38:15 -04:00
cpw 230d757a89 Fix NPE - Closes #1794 2015-04-11 17:27:14 -04:00
cpw 9671179453 Fluids are now tracked internally by mod. This allows for the server and the world to specify a "default"
in the case of a possible alternative fluid implementation. If you always called registerFluid, things
should work pretty seamlessly, but if you didn't (gating with an isFluidRegistered check for example)
you should change to register anyway. This way, even if you're not default in the overall instance, you may
become default if you're the only mod present on a server, for example, or in a world save.

This should radically decrease the mixups caused by mod load ordering problems, and other issues around fluid
tracking.
2015-04-11 17:18:53 -04:00
King Lemming 37d63b3fe9 Adds a warning to the FluidContainerRegistry when a mod does something stupid! Also denies the registration.
Signed-off-by: King Lemming <kinglemming@gmail.com>
2015-04-10 20:09:58 -04:00
King Lemming 186f92479d Fixes FluidContainerRegistry properly - no more corner case where client/server mods disagree.
Also clarifies the 2x Fluid registration error message somewhat.

Signed-off-by: King Lemming <kinglemming@gmail.com>
2015-04-10 16:38:45 -04:00
King Lemming 433b7ca589 Fixes #1782
Signed-off-by: King Lemming <kinglemming@gmail.com>
2015-04-09 17:28:20 -04:00
Sergey Shatunov a42cf1ae37 Fix FluidRegsitry.registerFluid
FluidRegistry:
```java
    static BiMap<String, Fluid> fluids = HashBiMap.create();
    static BiMap<Fluid, Integer> fluidIDs = HashBiMap.create();
...
    public static boolean registerFluid(Fluid fluid)
    {
        if (fluidIDs.containsKey(fluid.getName()))
            ^^^^^^^
```
There is definitely should be fluids instead fluidIDs. This mistake broke many mods.
2015-04-08 17:26:40 +06:00
Lex Manos 02ebc9ca21 Restore binary compatibility issues in FluidRegistry caused by recent changes. 2015-04-07 20:06:55 -07:00
cpw 4f0e2fb9c4 You shouldn't be creating FluidStacks from unregistered Fluids. Warn clearly on failed registrations, and make a useful log message for failed fluidstack
creations. Should help a lot with tracking down broken mods that are doing this wrongly.
2015-04-05 22:48:09 -04:00
King Lemming f7395f517b Allow for duplicate Fluid Blocks. It's annoying to be sure but just as with the OreDictionary, we'll have to handle it.
Signed-off-by: King Lemming <kinglemming@gmail.com>
2015-04-05 22:30:39 -04:00
cpw defaddecec Fix formatting 2015-04-05 22:30:39 -04:00
cpw 7506a5b7ad Add in a fluidid transformer 2015-04-05 22:30:39 -04:00
King Lemming 3fc40b955a Removed fluidID from ItemStack.
This fixes a rather huge issue where FluidStacks on the client could be desynced if a modder was unaware of it.

This is a breaking change but can be mitigated with a transformer to the getter getFluidID().

Signed-off-by: King Lemming <kinglemming@gmail.com>
2015-04-05 22:30:39 -04:00
cpw 38b9febfe5 Forge really should have always supported the concept of an "exact spawn". Individual world providers can still
change this behaviour of course, but for default maps it makes sense to support it as a config option.
2015-04-03 10:31:25 -04:00
Lex Manos 9e7e9e5cbf MinecraftForge/FML@24cb4a42c4 Enhance output of common FML errors in crash reports and server GUI.
Force load anonymous minecraft classes used in crash reports. This prevents some crashes being hiddedn behind class definiton exceptions.
2015-03-27 02:54:55 -07:00
Ivorius e629774753 Fix fluid tanks incorrectly reading NBT when empty
If the Empty flag was set, the tank would not correctly read the data, keeping the outdated FluidStack instead. This is especially relevant with updatable TileFluidHandler TEs.
2015-01-17 00:36:42 +01:00
Lumien 404e8fa89e Fix versionCheck config option 2015-01-01 17:52:44 +01:00
LexManos d5d312b452 Merge pull request #1491 from killjoy1221/master
Fix MC-30864 (sending web links in chat)
2014-12-23 14:33:10 -08:00
LexManos 93445248e6 Merge pull request #1503 from Kittychanley/master
Removed exclusion of white stained glass recipes in ore dictionary.
2014-12-23 12:13:17 -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 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 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 c9fe5ded9b Add LivingHealEvent called from EntityLivingBase.heal() Closes #1282 2014-12-07 02:35:07 -08:00
Lex Manos 877ba864e7 Added CreateSpawnPosition event Closes #1053 2014-12-07 01:52:17 -08:00
Lex Manos 9cf9d6a8e8 Add "sand" to the OreDictionary Closes #1487 2014-12-07 00:44:20 -08:00
Lex Manos 861c00fdfc Added Explosion Start and Detonate events to control explosion. Closes #1469 2014-12-07 00:27:51 -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
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