Compare commits

..
2376 Commits
Author SHA1 Message Date
LexManos 1f65388118 Create jenkins file for new jenkins.
Change version scheme to tag based versions.
2018-11-12 19:54:39 -08:00
David Quintana 64c8f67939 Add missing license headers. (#5192) 2018-10-19 20:35:29 -07:00
LexManos 20fea3f49d MDK progress. 2018-10-11 18:54:05 -07:00
tterrag 2997448073 Widen scope of gitignored eclipse files 2018-10-11 19:30:15 -04:00
tterrag f7b35b968b AdvancementRewards 1.13 patch 2018-10-11 19:27:34 -04:00
tterrag 74703e2a60 Fix mod asset loading 2018-10-11 18:06:16 -04:00
tterrag 9d41c173df Fix diffuse lighting being broken on vanilla pipeline (#5185) 2018-10-11 11:21:44 -07:00
cpw 43ed744d46 run textcomponenttranslations through the ForgeI18N message format translator as well. 2018-10-05 22:21:30 -04:00
cpw e199e78a4f load languages on the server as well as the client, and fix up a bunch of data packs. 2018-10-05 21:42:15 -04:00
cpw 1c9b5fae5e Server run profile, also setup logging for client profile. 2018-10-05 01:25:27 -04:00
cpw 2b23eb96fb Tweak library locating code. Works well on vanilla and dev now. 2018-10-04 23:24:02 -04:00
cpw bdcc7d966f Fix the forge version presented to the game (remove MC prefix) 2018-10-04 20:04:03 -04:00
cpw ca765b857b Move the version packages somewhere that is now filtered so it doesn't
load twice.
2018-10-04 19:28:45 -04:00
cpw 978d0ff2e3 Fall colours
🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃
2018-10-04 18:40:34 -04:00
cpw 129870dbe8 Missing language now presents to the UI. 2018-10-04 11:31:08 -04:00
cpw d5e04dbcb5 Better error passing from early to game client launch. 2018-10-04 00:57:08 -04:00
cpw c6e7bbe18b Use the maven artifact code rather than our very outdated copy 2018-10-03 22:47:07 -04:00
LexManos 4630741c7c Add SHAs for post processors to allow the installer to skip if matching.
SpecialSource needs a update to stabilize output before it can be cached.
2018-10-02 13:13:33 -07:00
cpw 0b11b0e6bb Launch in the vanilla launcher now. 2018-10-02 00:32:41 -04:00
LexManos 39307856b5 More installer related tweaks. 2018-10-01 20:27:05 -07:00
LexManos 2b4f7b1a86 Specify version information using Java 8's Package Version system. 2018-10-01 19:19:25 -07:00
LexManos e8329ad2c2 Fix builds without crowdin key, and installer work.
Started moving version out of code.
Include expected vanilla class hashes in universal so we can validate them at runtime.
2018-10-01 16:59:46 -07:00
cpw 486d5afa68 fix up the examplemod for new FML and add a couple of extra bits. 2018-09-30 14:29:14 -04:00
cpw 6485a48d79 Use latest paulscode (removes need for soundfix transformer) and fix gitignore. 2018-09-30 14:29:14 -04:00
cpw fe12687ec1 Branding fixup. 2018-09-30 14:29:14 -04:00
cpw 0024d9d283 Config GUI tweaks, and MCP is now part of the "minecraft" entry. 2018-09-30 14:29:14 -04:00
LexManos b8d305b869 Installer work, universal obfed to srg names, and binpatches against SRG named clients. 2018-09-30 02:54:20 -07:00
cpw 015ac2547e Fixup the config GUI and get things working again. 2018-09-29 01:29:49 -04:00
LexManos b54bd33332 Work on installer json generation. 2018-09-28 20:50:01 -07:00
cpw bb9eca96a8 Basic error display GUI. 2018-09-28 21:07:46 -04:00
LexManos dec65732ce Work on publishing tasks.
Userdev/universal/mdk done.
mdk needs updating once FG3 user side is finished.
Installer waiting on Interaller project re-write to do install time deobf/patching.
2018-09-25 00:29:20 -07:00
cpw 09e2aeaec4 Some tweaks to get the launcher working. 2018-09-24 00:07:33 -04:00
LexManos 94e1a8e0a4 Update mappings to 09/21 snapshots.
Conflict with getMatrix in ITransformation, so renamed to getMatrixVec.
2018-09-22 03:40:22 -07:00
LexManos 5ed03945a0 Disable eclipse compiler and switch to SRG patches. 2018-09-22 00:38:21 -07:00
tterrag d08f8e1a78 Fix remaining issues preventing compilation, launching, and loading worlds (#5156)
Fix duplicate ID for ingredient serializers
Fix KeyBinding compile errors. No GuiKeyBindingList patches yet.
Implement controls GUI and WorldServer patches
2018-09-21 19:07:48 -07:00
LexManos c191851ec0 Fixed all compile errors except the 4 in KeyBinding. 2018-09-21 15:50:37 -07:00
LexManos a0e217b1dc More because git likes to split to many 2018-09-21 02:17:20 -07:00
LexManos e2a17ac31b Ran License checker to fix the headers of files missing them. 2018-09-21 02:15:03 -07:00
LexManos cdfa7caaeb More work on compile errors, New system for ToolClasses, using a ToolType class instead to de-stringify things. 2018-09-21 01:47:12 -07:00
Anthony Anderson 0cd21ebe7e Block patches and event work (#5138) 2018-09-20 13:11:02 -07:00
LexManos b25f92b0c0 Add concept of pushing/poping levels to ForgeConfigSpec as well as comments on those levels. 2018-09-18 12:19:19 -07:00
tterrag 86d10d355f Fix borked Item patch 2018-09-18 00:14:27 -04:00
tterrag c4cf950863 Fix the rest of the "easy" compile errors (#5151)
* Add Entity.changeDimension patch and transitively required patches

* Fix throws declaration on CommandSetDimension#execute

* Fix rest of errors in fluid package

* Add PLAYER_REACH attribute

* Fix compile errors in fml.client.config and add GuiButton patch

* Delete unnecessary client.config classes, fix all config errors

* Comment some fluid errors in models

* Fix all errors in common package root, except ForgeHooks

* Mass comment network package

* Experimental conversion of extended states to generic base class

* Fix errors in common.util

* Remove config annotation stuff cuz lex said so

* Make extended state stuff compile fully
2018-09-18 00:04:02 -04:00
LexManos 6814cbf0df Beginning work on redesigning Config API. 2018-09-17 20:40:42 -07:00
LexManos 02c31cc867 More work on recipes, custom ingredients, recipes, and constants should work now. 2018-09-17 03:41:16 -07:00
cpw 03d19f2e70 Tweak to remove javac compile errors related to generics on registries.
Also remove the recipes registry call - they're gone from registries completely.
2018-09-16 22:27:08 -04:00
cpw abacf8e141 Net handling pass 2. Tidied up login packet sourcing, generate registry packets. 2018-09-16 20:59:25 -04:00
cpw 9f2c7c881c Net Handshake phase 1. Validates pairings on client and server. 2018-09-16 20:56:10 -04:00
LexManos afead63381 Migrate most of the OreDictionary to tags. 2018-09-16 16:28:21 -07:00
tterrag 231dfeee31 Enforce bounds on min/max registry IDs 2018-09-16 16:59:08 -04:00
LexManos c77d00efe4 Recipe work. No longer a registry. OreDictionary related code removed in favor of Tags. Started moving some OreDict items to tags.
Added code to RuntimeEnumExtender to return existing enum values with the same name if they exist instead of creating more.
2018-09-16 04:20:28 -07:00
tterrag e3a931bf96 Fix errors in commands and getDimension->getId 2018-09-15 15:02:38 -04:00
tterrag c59caa4b92 Revert unintentional change to FG version 2018-09-15 14:25:36 -04:00
LexManos b4c23aba8e Command work, and Added TileEntityType as a Forge Registry. 2018-09-15 00:59:19 -07:00
tterrag 3f743887e7 More compile cleanups. (#5139) 2018-09-14 09:30:56 -07:00
LexManos dbf649225a Update MCPConfig to use new ForgeFlower to fix AccessTransformer issues on inner classes. 2018-09-12 04:17:41 -07:00
tterrag 949a62a0da Fix most of the compile errors in the client package (#5137)
* Add KeyBinding#getKey and clean up errors in KeyModifier

* Add dimension IRenderHandler patches

* Fix most of the compile errors in client package.

The rest are missing Block/KeyBinding patches

* Disable selective reloads until configs are finished

* Add OnlyIn on IForgeDimension to match those of Dimension
2018-09-11 21:42:29 -04:00
LexManos a0cef07a0b Pin MCPConfig version
Cleanup and implement BrewingRecipes
Delete client command related things
Cleanup some biome stuff.
2018-09-11 18:25:25 -07:00
cpw f72a7e02e3 Fix vanilla bug with GLFW init error display - actually the error, not the memory address containing the message
Load natives from the environment var, not hardcoding.
2018-09-10 20:31:51 -04:00
LexManos bec9214d0c Fix launching in dev 2018-09-10 13:08:35 -07:00
tterrag f95da817c4 Fix AnvilChunkLoader not having access to chunk cap dispatcher 2018-09-10 02:45:06 -04:00
cpw a4f2802306 Add I18n accessor, fix up some mod log messages, make the EnumExtender work. 2018-09-09 23:35:02 -04:00
tterrag 334d925972 Port capability patches to 1.13 and refactor to new system (#5134)
* resource package and misc leftover rendering stuff

* Port Item and ItemStack patches

* Extract most item patches to interface

* Refactor Item#setNoRepair to be part of Item.Builder

* Adapt AnimationItemOverrideList to new cap system

* Improve null contract of OptionalCapabilityInstance

* Remove Capability.cast

* Update CapabilityAnimation to new cap system

* Remove OptionalCapabilityInstance#flatMap and add NonNullConsumer

* Add capability patch to Entity, not everything yet

* Fix Entity patch and add missing methods to IForgeEntity

* Fix null contract of CapabilityDispatcher

* Add TileEntity caps

* Adapt FluidUtil to new cap system

* Add world caps

* Add chunk caps

* Clean up cap patches

* Replace all tabs with spaces

* Move builder methods on Item to Item.Builder

Whitepsace fix

* Sided stuff take 2

* Prevent OptionalCapabilityInstance creating additional empty instances

* Cache getCapability result in AnimationTESR

* Fix imports in TileEntity patch

* Pull out cap code to base class, add village caps
2018-09-09 17:27:15 -04:00
mezz f851b37aa0 Initial blind port of the mod error screens 2018-09-09 12:46:56 -07:00
tterrag dde7dccef1 Porting Forge rendering code to 1.13 (#5132) 2018-09-08 13:34:59 -07:00
LexManos eac693e785 Introduce rework of Capability provider. And reduce errors to <2000 2018-09-06 06:27:24 -07:00
LexManos 12869710de Remove old paulscode libraries.
Re-work EnumHelper and ObjectHolder systems to bypass JITer of final fields.
Other cleanups.
2018-09-06 04:39:01 -07:00
LexManos 2798080f60 More error cleanup, reinstanted IForgeReigstryEntry.
The abstract class will be used as the default, and to enable delegates but we should keep it api simple by keeping the interface.
Removed some patches that didnt get removed in the rebase.
2018-09-05 20:06:18 -07:00
LexManos ff6fa2cfaf Add some missing libraries and work on GuiIngameForge. Down 700 errors. 2018-09-05 18:00:14 -07:00
cpw f818cc8f71 Tweak 2018-09-05 13:14:16 -07:00
cpw d7e9217695 Network init 2018-09-05 13:14:16 -07:00
cpw b50b768852 Server starts 2018-09-05 13:13:53 -07:00
cpw 330db1a54d Patches deleted 2018-09-05 12:58:49 -07:00
cpw 77c3310711 Zeroth pass on 1.13 2018-09-05 12:56:01 -07:00
cpw 6e99f84e91 Moving some stuff around, network and server events. 2018-09-05 12:37:20 -07:00
cpw 689ebd8036 Dediserver runs and talks to clients. 2018-09-05 12:35:31 -07:00
cpw 506b51f189 A much more straightforward networking system. 2018-09-05 12:33:38 -07:00
cpw 4636365e30 Some beginnings of a network again. 2018-09-05 12:31:47 -07:00
cpw d0ab0e166c Well, it works, for a game, now. 2018-09-05 12:30:02 -07:00
cpw 06b16aaa19 Some more stuffs. ObjectHolder's replacement? 2018-09-05 11:58:31 -07:00
cpw baa9dfe55a Things. they work. Obviously still WAY more to do. 2018-09-05 11:53:54 -07:00
cpw 1b1ee6f0b8 more things. Moving ModContainer around. 2018-09-05 11:49:48 -07:00
cpw f279a07586 metadata is dead 2018-09-05 11:40:48 -07:00
cpw 3b78e97ad8 Fidgeting while the world burns 🔥🔥🔥🔥🔥🔥 2018-09-05 11:40:48 -07:00
cpw f942eb184a WOW 😲 such broken. Many brokes. 2018-09-05 11:40:47 -07:00
cpw c1f0e1b68f Holy Moly, it's a big fat commit of broken code! 2018-09-05 11:16:33 -07:00
cpw 5b05e103f4 Starting to put the launch itself together 2018-09-05 10:56:03 -07:00
cpw 7e5bd4ecdb Access Transformer. Starting to try and launch things. 2018-09-05 10:56:03 -07:00
cpw c38d2e48cd Early signs of modloading 2018-09-05 10:55:15 -07:00
cpw 66b6150027 Coremod 2018-09-05 10:55:15 -07:00
cpw 9f8a9196d8 Update NewFML.md 2018-09-05 10:54:20 -07:00
cpw ceabad3253 Add documentation explaining changes. 2018-09-05 10:54:20 -07:00
cpw 14ac77e444 Goodbye @Mod, it was lovely knowing you! 2018-09-05 10:54:20 -07:00
cpw d23850ff98 Goodbye @Mod, it was lovely knowing you! 2018-09-05 10:49:33 -07:00
cpw 3e4f3ff142 Delete MarkerTransformer. I don't think this has been used in years. 2018-09-05 10:47:56 -07:00
LexManos 8ace535995 Fix --mods and --modListFile arguments not making it past LaunchWrapper. 2018-09-03 21:20:23 -07:00
Ben Staddon f2da4be93e Remove BlamingTransformer (#5115) 2018-08-26 18:57:44 -07:00
LexManos 4aaa0370ab Fix more apache exclusions. 2018-08-22 11:56:35 -07:00
LexManos c6abcf5b84 Change org.apache to org.apache.maven. class loader exclusion. 2018-08-21 23:50:25 -07:00
mezz d0e40ca726 Increase time it takes for Github Pull Requests to go stale 2018-08-18 11:21:53 -07:00
Ben Staddon 69233f1bbf Add variant alias for item models not loaded via blockstate (#5025) 2018-08-16 13:21:21 -07:00
mcenderdragon f6b3893a05 Added getter for children of CompoundIngredient (#5082) 2018-08-16 13:19:45 -07:00
Ben Staddon f1dfb80931 Allow network leak detection level to be specified (#5067) 2018-08-16 13:18:25 -07:00
Ben Staddon 222a110eb1 Fix saved toolbars not working with non-vanilla items (#5063) 2018-08-16 13:17:27 -07:00
Ben Staddon 6ece0ba254 Fix server watchdog thread occasionally crashing on first run (#5019) 2018-08-16 13:16:31 -07:00
TheIllusiveC4 8e7b5be3d4 New SleepingTimeCheckEvent to add yet another way to control sleeping. (#5013) 2018-08-16 13:14:34 -07:00
Ben Staddon 1171668c25 Allow sending packets to client from ServerConnectionFromClientEvent (#4991) 2018-08-16 13:03:32 -07:00
TheCyberBrick 1f58bd71c0 Fixed overworld spawn point reset when respawning in another dimension (#4982) 2018-08-16 12:55:11 -07:00
Pyrofab dd0c251b3d Fix ModList cache never being updated (#5081) 2018-08-16 11:54:56 -07:00
tterrag 21097a4122 Fix loading languages with no underscore in the name (#5105) 2018-08-16 11:02:53 -07:00
Tom E 3b8146a06e Fixed Redstone and RedstoneDiodes placement on modded blocks that use BlockFaceShape.SOLID for Top. (#5100) 2018-08-12 20:00:05 -07:00
DaemonUmbra afd6de3e30 Fix blank Server GUI console log (#5089) 2018-08-09 22:12:42 -07:00
mezz cfa33be24b Fix SlotItemHandler.isItemValid check 2018-08-09 21:18:29 -07:00
mezz 5a48ca99b6 Improve performance of FluidRegistry.getBucketFluids 2018-08-01 22:29:10 -07:00
Ben Staddon 889fa4da7e Fix received data for last vertex format element not being recorded (#5074) 2018-08-01 13:35:56 -07:00
Karthas077 682a867a91 Fix missing lang entry for Swim Speed attribute (#5064) 2018-07-29 14:21:24 -07:00
Karthas077 9e30f4f6f9 Added Swim Speed Attribute to EntityLivingBase (#4990) 2018-07-28 19:24:30 -07:00
Ben Staddon f3f1e585dc Add function to lookup model location for an ItemStack (#5017) 2018-07-28 18:55:33 -07:00
Ben Staddon 14bfeefb4d Allow custom SpawnPlacementType registration (#4973) 2018-07-28 17:51:44 -07:00
gegy1000 a935859b24 Resource type sensitive ResourceManager reloading, Disabled by default, but may increase performance. (#4658) 2018-07-28 17:47:01 -07:00
Brennan Ward 4c3e6ed139 Improve crash report details (#5011) 2018-07-28 17:39:40 -07:00
Ben Staddon c7c2921b2f Fire colour events for mesa and swamp biomes (#5029) 2018-07-28 17:38:47 -07:00
Cody Brittain 4acfca27f8 Add functionality in IItemHandler to test if a slot can accept an item (#5033) 2018-07-28 17:38:18 -07:00
Kitten eb870bc84c Added CreativeTabs#getBackgroundImage (#5034) 2018-07-28 17:34:40 -07:00
Eragonn1490 36f74e955b Add wooden doors to the OreDictionary. (#5036) 2018-07-28 17:32:59 -07:00
Ben Staddon 2786cd279c Update and clean up Forge fluid render model (#4763) 2018-07-17 20:37:20 -07:00
mezz ab228832f2 Allow configuring log levels using system properties. (#5024)
Defaults are:
-Dforge.logging.mojang.level=info (note that setting this to debug or trace will enable extra debug behavior which may slow things down or detect issues and crash)
-Dforge.logging.console.level=info
-Dforge.logging.file.level=info
-Dforge.logging.debugFile.level=trace
2018-07-15 13:22:41 -07:00
mezz f999e87f17 Update README on github to fix the CLA section 2018-07-15 13:09:57 -07:00
Ben Staddon 6ae2287d57 Add support for FluidStack-dependant colouring to Forge bucket (#4952) 2018-07-14 14:52:54 -07:00
MrRiegel cfebf27393 Use itemstack in LivingEntityUseItemEvent.Finish before it was used (#5015) 2018-07-14 14:29:32 -07:00
bloodmc 603f4bd7a3 Check use item result before calling onItemUseFirst. (#5016) 2018-07-14 14:28:42 -07:00
tterrag 97d58aeaa1 Clean up and improve ICapabilityProvider javadocs (#4978) 2018-07-14 14:08:22 -07:00
mezz c6f001bb6c Update license header on ChunkIOThreadPoolExecutor 2018-07-09 21:22:58 -07:00
tterrag a98db5bef2 Fix potential deadlock when chunkload raises non-IO exception (#4861) 2018-07-09 13:45:50 -07:00
LexManos da888df463 Fix MDK not having license texts. 2018-07-08 16:43:45 -07:00
Ben Staddon 5624afbc32 Change some client hooks to use GlStateManager functions (#5010) 2018-07-04 19:59:12 -07:00
Marvin Rösch c3aa99677a Move some test mods into appropriate packages (#5006) 2018-07-04 19:58:55 -07:00
Weissmoon 1902363eac Write full class name in undefined packet error messages. (#4970) 2018-07-04 19:58:36 -07:00
Ben Staddon 58d570a6f1 Fix ItemHandlerHelper.giveItemToPlayer creating item entities with incorrect contents (#5007) 2018-07-02 22:41:18 -07:00
LexManos 0cf5ef221c Run licenseFormat to apply license header to all files. 2018-07-01 14:17:31 -07:00
Minecrell eb94dc5c48 Restore original license headers in Maven versioning package 2018-07-01 14:01:38 -07:00
Minecrell 97627e7fb9 Restore original license headers of delta package 2018-07-01 20:30:52 +02:00
Minecrell 60e8359324 Setup configuration for licenser Gradle plugin 2018-07-01 12:33:51 +02:00
Ben Staddon 9121b1f0c0 Fix player movement status not syncing across dimension change (MC-10657) (#4974) 2018-06-27 13:10:47 -07:00
Ben Staddon 80724a52d3 Fix some ClassCastExceptions incorrectly being logged in FML handshake. (#4972) 2018-06-27 12:56:46 -07:00
KingLemming 19de6cf97e Fix ISpecialArmor to allow for "Unblockable" damage to be handled if the armor opts in. (#4964) 2018-06-27 12:53:45 -07:00
LexManos 74c3aab720 Fix FML entity network spawning not using EntityBuilder's facctory. Closes #4845 and #4846 2018-06-27 12:51:06 -07:00
LexManos 464cccaa3e Fix NPE when sleeping in some custom beds. Closes #4956 2018-06-27 12:23:00 -07:00
LexManos 1007d3e9c5 Added Fluid Place Block Event for when fluid changes blocks in world. (#4627) 2018-06-27 12:06:55 -07:00
LexManos 0e4d73230b Cleanup licenses 2018-06-27 11:45:00 -07:00
UnRealDinnerbone c001d2dbf6 Add Farmland Trample Event (#4895) 2018-06-27 11:31:38 -07:00
Ben Staddon 539626727c Switch from trove to fastutil collections (#4933) 2018-06-27 11:29:09 -07:00
Kristiāns Micītis 6367c15d32 Added Item#readNBTShareTag(ItemStack, NBTTagCompound) (#4932) 2018-06-27 11:27:24 -07:00
tterrag 4e4ff66bd3 Fix MC-234: Z-fighting when viewing break animation side-on (#4928) 2018-06-27 11:25:03 -07:00
Ben Staddon 4d6fbd9d2f Clean up some dimension manager code and add a command to list dimensions (#4902) 2018-06-27 11:23:23 -07:00
Ben Staddon a749861cb2 Change item model loading priority to fix model conflicts (#4898) 2018-06-27 11:08:38 -07:00
mezz 1db28d072a Improve server console implementation (#4821) 2018-06-27 10:58:07 -07:00
Ben Staddon 43895d773e Add validation to recipe registry (#4957) 2018-06-26 22:00:53 -07:00
mezz d09a8d98d7 Fix flickering leaves when mods break the blurMipmap settings (#4997) 2018-06-25 22:09:17 -07:00
Ben Staddon f2d7a19702 Clear out stored errors after model loading finishes (#4938) 2018-06-24 00:18:13 -07:00
Paul Fulham 61666ed6aa Fix AutomaticEventSubscriber error message (#4986) 2018-06-23 23:38:57 -07:00
mezz 59c3e1baaf Always wrap mod creation errors in LoaderException
to make error message more clear
2018-06-23 12:33:42 -07:00
Ben Staddon 7258beeede Fix vertex lighter using stale normal data (#4917) 2018-06-20 12:36:10 -07:00
Ben Staddon fa50d98357 Fix structure template processors causing cascading world generation (#4979) 2018-06-12 22:58:45 -07:00
LexManos 9cda586ebd Fix scala mods crashing with the json annotation cache. 2018-06-01 00:07:17 -07:00
Ben Staddon d9a042c775 Fix black flickering on animated models by clamping max diffuse lighting multiplier to 1.0 (#4962) 2018-05-31 22:35:02 -07:00
Ben Staddon bea02348e2 Fix crash from search tree processing invalid recipes (#4942) 2018-05-26 19:56:46 -07:00
LexManos b30540f20c Fix names in JSON annotation data not matching expected format. Closes #4953 2018-05-26 16:42:58 -07:00
LexManos 32438d2e00 Bump version in prep for new RB. 2018-05-24 18:38:01 -07:00
LexManos b654b84393 Add potential support for models defining 'vanilla like' rotations in Forge's Modified Blockstate format. 2018-05-24 18:37:05 -07:00
LexManos f492e25bc9 Copy the Dedicated server's EULA checking to main() function so it can exit earlier. Closes #3659, #3661 2018-05-20 11:21:05 -07:00
Ben Staddon 0139a7baf2 Fix Forge bucket not declaring all texture dependencies (#4930) 2018-05-19 21:25:08 -07:00
Ben Staddon 189df85b5a Reuse multipart model instances across variants (#4791) 2018-05-19 20:50:57 -07:00
mezz f9b8c992ee Fix language parsing for creating the java locale 2018-05-19 20:28:10 -07:00
sinus 3c4efa1ae7 Fixes parameter inconsistency in IFieldWrapper (Fixes #4325) (#4766) 2018-05-17 04:15:57 -07:00
Kristiāns Micītis fc1877dd96 Added formatting support for status messages (#4925) 2018-05-17 00:41:21 -07:00
Ben Staddon 330a9c4fd3 Fix server-side data not being released (#4882) 2018-05-16 23:13:27 -07:00
Ben Staddon 8fdc6eff07 Fix memory leaks in EnchantmentHelper (MC-128547) (#4880) 2018-05-16 23:12:18 -07:00
Ben Staddon e742a3f598 Change composite models to fetch quads from submodels using full context (#4809) 2018-05-16 23:06:50 -07:00
temp1011 fd201fb690 Expand Villager Farmer AI to generic crops. (#4745) 2018-05-16 22:54:34 -07:00
Ben Staddon 1d863cdefc Check name prefix used for tile entity registrations (#4681) 2018-05-16 22:52:32 -07:00
Ben Staddon 40b567e962 Add an event to control nether portal formation (#4735) 2018-05-16 22:48:14 -07:00
Ben Staddon 36f94fd20e Allow custom models to have per-state lighting (#4732) 2018-05-16 22:44:34 -07:00
Ben Staddon 8d994d074c Fix some light-emitting blocks letting light through (MC-119932) (#4642) 2018-05-16 22:29:03 -07:00
temp1011 e7cd3d4df6 Preserve original ChunkPos for decoration events. (#4767) 2018-05-14 20:20:50 -07:00
LexManos 215157f5cd Fix library folder detection on various JVMs. 2018-05-14 11:32:25 -07:00
Take Weiland 38c5cb6b94 Add supports for redirects when doing mod version checks (#4826) 2018-05-13 11:39:13 -07:00
mezz c5d95cb3a9 Fix imports 2018-05-12 23:59:22 -07:00
mezz 979797a2a6 Give immediate and complete error messages when there is a crash during startup (#4869) 2018-05-12 23:54:10 -07:00
mezz ad099a4bfe Revert "Give immediate and complete error messages when there is a crash during startup (#4869)"
This reverts commit a38f5fd6a2.
2018-05-12 22:36:45 -07:00
mezz dae7bcee4b Remove invalid optimization in ItemStackHandler#setStackInSlot #3465 2018-05-12 21:07:25 -07:00
mezz a38f5fd6a2 Give immediate and complete error messages when there is a crash during startup (#4869) 2018-05-12 16:56:57 -07:00
Ben Staddon e65bd4a62b Clean up mod dependency checking code (#4922) 2018-05-12 12:58:51 -07:00
mezz 33f4acb6b9 Fix version range check for required mods #4918 2018-05-11 17:58:21 -07:00
mezz b6f8be6718 Add javadoc note about minimum required Forge versions for old Forge. Close #4918 2018-05-09 22:45:22 -07:00
mezz 789d9437b2 Fix possible NPE when calling Loader.getIndexedModList #4919 2018-05-09 22:40:14 -07:00
tterrag 4f294da799 Fix MC-12269 Various Particles glitchy movement (#4914) 2018-05-08 20:25:06 -07:00
Ben Staddon e1968e73b9 Fix deobfuscator not regenerating super maps (#4856) 2018-05-07 14:19:11 -07:00
cpw 9e9cb021ab Clean up broken aliases caused by registry bug #4894. (#4909) 2018-04-30 21:05:37 -07:00
LexManos f2fa21e6e2 Move registry snapshot read/write code to Snapshot class. Cleaner code. 2018-04-29 17:58:02 -07:00
LexManos 4df55f3bd3 Only revert to frozen data on server shutdown on client. Should fix race condition exposed by #4904 2018-04-29 17:57:33 -07:00
LexManos 412c2ae53f Potentially fix issue with BungeeCord or other servers resetting the registry mappings on the client while the game is running.
Errors may still occure if the client knows about world data beyond vanilla. Servers should NEVER send world/registry invocations before they have sent registry mappings.
Closes #4901
2018-04-28 04:28:40 -07:00
sfPlayer1 50014c7ca4 Reduce range requirement for World.checkLightFor from 17 to 16 (#4729) 2018-04-27 11:53:04 -07:00
Ben Staddon 2353800d61 Fix typo in validation of vanilla registry wrappers (#4899) 2018-04-26 21:18:39 -07:00
Joseph C. Sible c9f035cf03 Fix #4772: add an "isActivator" boolean to powered rails (#4774) 2018-04-22 18:58:21 -07:00
Ben Staddon fc799564ed Add checks for undefined packet discriminators when sending messages (#4890) 2018-04-22 14:42:05 -07:00
Ben Staddon 90bf8dd95d Fix some code holding client world references longer than needed (#4881) 2018-04-22 14:40:38 -07:00
Ben Staddon bc545450e5 Don't try to render removed tile entities. Fixes MC-123363 (#4811) 2018-04-22 14:32:09 -07:00
LexManos a99fe41667 Fix overrides typo in saving registry data. Closes #4894 2018-04-21 21:40:40 -07:00
LexManos 34f4381e0c Fix library path and soft fail when repository root is not found. 2018-04-17 19:24:43 -07:00
LexManos 68ce80dad4 Fix libraries not being added to the modlist when using external metadata. Closes #4879 2018-04-15 17:44:01 -07:00
Ben Staddon d9dbec0546 Fix dragon fight not initialising correctly under some circumstances (#4868) 2018-04-14 19:43:44 -07:00
LexManos 32237f57ef Cleanup some issues with the mod extraction to the memory modlist. Closes #4874 #4875 2018-04-14 19:32:45 -07:00
mezz a794f1daff Improve missing mod dependency error screen (#4762) 2018-04-14 18:17:06 -07:00
Ben Staddon fab45a32a8 Fix biome dictionary's biome type detection (#4878) 2018-04-14 17:05:08 -07:00
Ben Staddon 97a2143fc2 Clean up Reader/Writer handling to use a specified charset (#4872) 2018-04-14 17:00:38 -07:00
Ben Staddon d0566ebadc Suppress firing events at load time if an error has already occurred (#4801) 2018-04-12 17:18:43 -07:00
AlexIIL 76591f7245 Fix FluidUtil.getFluidHandler skipping some fluid tile entities (#4854) 2018-04-12 17:17:39 -07:00
Erlend Åmdal 0fca21fbc5 Parse contained dependency Timestamp as long instead of int (#4866) 2018-04-11 16:26:53 -07:00
LexManos 9442a48e93 Fix Forge's metadata not being loaded. Closes #4865 2018-04-11 13:10:27 -07:00
LexManos b71caeb813 Fix mods without ModSide meta value. 2018-04-10 19:17:27 -07:00
LexManos 9d0771b3d7 Rewrite dependency extraction to use mod list system (#4841) 2018-04-10 16:01:35 -07:00
LexManos 3f4dfbb367 Bump Forge version for new dev chunk. 2018-04-10 15:40:42 -07:00
LexManos bad83a303e Fix vanilla duplication bug. 2018-04-03 15:29:25 -07:00
LexManos 34706c7cd7 Slow down Forge chunk gen worker when save queue is to high.
Prevents task from completing while tons of chunks are pending save.
And add minimum notification every 60 seconds.
2018-04-03 15:26:28 -07:00
LexManos 501e030f3e Add support for World Workers skipping ticks without being removed from the worker list. 2018-04-03 15:23:35 -07:00
Vincent Lee 272b337aa3 Fix MC-88179 in a better way that avoids and closes #4824 (#4830) 2018-04-02 12:58:15 -07:00
Ben Staddon 60e0f05b0d Improve the warning logged for cascading world generation (#4725) 2018-04-01 19:01:22 -07:00
Ben Staddon fe3478f233 New ITeleporter interface making dimensional teleportation easier. (#4602) 2018-04-01 01:55:45 -07:00
Vincent Lee 1d7c04daeb Add a FML outbound target for all players tracking a point or entity in the world. Closes #3677 (#4631) 2018-04-01 01:42:55 -07:00
coolsquid f5c0b894bf Prevent EntityPlayer.attackEntityFrom from firing LivingAttackEvent twice (#4661) 2018-04-01 01:12:46 -07:00
Mackenzie McClane e099aa32d4 Add a way to get a list of registered biome types (#4685) 2018-04-01 01:03:27 -07:00
Ben Staddon fff660918a Improve performance of some ExtendedBlockState methods (#4698) 2018-04-01 01:01:40 -07:00
Ben Staddon dda7bd5d42 Optimise adding normal element to vertex formats (#4699) 2018-04-01 00:59:34 -07:00
Ben Staddon 4c1167c96d Check for empty dimensions outside of chunk unloading loop, culling worlds without needing chunk unloads to trigger it. (#4704) 2018-04-01 00:54:22 -07:00
Judge40 b8e411674b Create event for overriding mob griefing flag based on entity. (#4710) 2018-04-01 00:48:25 -07:00
Joseph C. Sible 247d4cb5a8 Add description to Error raised by the server hang watchdog. (#4714) 2018-04-01 00:45:21 -07:00
Parker Young db3b2549e2 Update ItemHandlerHelper.giveItemToPlayer to allow player who picked up the item to hear the sound as well (#4720) 2018-04-01 00:43:39 -07:00
CreativeMD 6f642ba6ce Fixed Spectator mode particles and sounds computed from where you have been before (MC-46445) (#4728) 2018-04-01 00:40:26 -07:00
Matti Ruohonen e82a7605dc Add a WorldProvider#canSleepHere() method to allow providers to control sleeping in beds separately from re-spawning. (#4741) 2018-04-01 00:27:58 -07:00
malte0811 7c098462fe Fix FMLCommonHandler#exitJava printing useless/wrong calling info (#4742) 2018-04-01 00:25:38 -07:00
Ben Staddon 0b5a6a3b03 Reduce memory usage of model transforms (#4753) 2018-04-01 00:24:37 -07:00
Ben Staddon fb61505d35 Fix some block connection logic not matching vanilla (#4781) 2018-04-01 00:18:14 -07:00
Mordenkainen 14a8e099ca Fix for the player inadvertently being removed from the Entity Tracker when the chunk they were in unloads after they teleport out of it. (#4784) 2018-04-01 00:15:37 -07:00
Brennan Ward 557b41056f Small performance improvement to ItemStack, by using Items.AIR directly instead of getting it from the Block map. (#4786) 2018-04-01 00:08:55 -07:00
TheCyberBrick 11e623bf4d Added chunk instance to ChunkWatchEvent (#4805) 2018-04-01 00:07:01 -07:00
temp1011 1fcff02b67 Add fences and fence gates to ore dictionary (#4807) 2018-04-01 00:06:10 -07:00
Ben Staddon 483bf26aa4 Fix entities sometimes not rendering when out-of-world (#4823) 2018-04-01 00:02:57 -07:00
mezz cfe3867a70 Fix issues with the test mods 2018-03-29 22:33:40 -07:00
Marvin Rösch 297a1eb766 Reorganise test mods into packages (#4706) 2018-03-27 22:09:10 -07:00
Take Weiland cfa3337884 Fix servers crashing due to initializer on @SideOnly field (#4825) 2018-03-27 13:59:52 -07:00
Brennan Ward ed314864f0 Cleaner TileEntityItemStackRenderers, now stored on the Item. Modders should be careful and cache their renderers. (#4700) 2018-03-27 04:26:58 -07:00
mezz a6bbc2761e Add support for creator mod ID for modded enchanted books, potions, arrows, and spawn eggs (#4810) 2018-03-26 23:25:27 -07:00
LexManos 41f1921558 Remove Mercurius from optional mods. 2018-03-26 19:41:07 -07:00
CreativeMD 12de748af0 Fixed sound engine crash when stopping streaming sounds (#4765) 2018-03-24 22:56:24 -07:00
LexManos f908c2e449 Merge vanilla pre-decompile annotations with Forge's post-patching. Fixes #4769 Crash detail classes causing class not found errors. 2018-03-23 20:42:33 -07:00
malte0811 9d8bf87e93 Fix NBT data loss when shift-clicking stacked items in the enchantment table (MC-17431) (#4817) 2018-03-23 17:32:59 -07:00
mezz f9a2695662 Update docs for ItemTooltipEvent 2018-03-21 20:11:17 -07:00
ichttt cf43250584 Fix some IResources being leaked (#4806) 2018-03-19 22:58:54 -07:00
mezz 881aa67be7 Fix server console logging issues
Closes #4808
2018-03-19 22:44:05 -07:00
mezz ae654edfc2 Fix up logging and log4j configuration (#4802) 2018-03-17 18:41:16 -07:00
Joseph C. Sible 5ace86da12 Make lookupFluidForBlock work for flowing water and lava (#4675) 2018-03-16 22:54:23 -07:00
Wyn Price 4242f89c75 Patched BlockInfo#updateLightMatrix to use IBlockState#doesSideBlockRendering instead of Block#doesSideBlockRendering (#4798) 2018-03-13 16:35:04 -07:00
Ben Staddon 6ed2879842 Fix integrated server crash not stopping client (#4796) 2018-03-13 16:29:12 -07:00
mezz 752be6b526 Fix #4792 TextComponentHelper handling for FakePlayers 2018-03-11 14:58:58 -07:00
ichttt dc459d6b86 Fix serverside startup failure when checking for vanilla acceptance (#4783) 2018-03-01 11:00:48 -08:00
Ben Staddon 29fe38f723 Improve how smooth lighting code handles translucency (#4711) 2018-02-26 22:13:17 -08:00
mezz 4e8b7803c5 Prevent various vanilla blocks from loading unloaded chunks (#4689) 2018-02-26 22:13:01 -08:00
mezz bdb65e9ed7 Improve the "Mod rejections" error message when connecting to a server (#4761) 2018-02-26 22:05:08 -08:00
cpw 18144b7a0a Fix the ForgeChunkManager to use the writebehind FileIO thread for writing (#4777)
the chunk file. Closes #4775

This is a performance tweak - doing File IO on the server thread during
world saves causes significant lag spikes. This is one of many.
2018-02-26 19:49:56 -08:00
LexManos e299489493 Fix vanilla crash classes not being preloaded. Closes #4769
Fix classes not being aggregated for mods using the new annotation cache.
2018-02-26 15:36:39 -08:00
Ben Staddon 49be9b273e Fix incorrect dimension ID being used for maps (#4690) 2018-02-21 21:20:27 -08:00
Ben Staddon c01165f313 Don't cull generated item models with non-default transforms (#4749) 2018-02-16 21:04:21 -08:00
Ben Staddon 6cbc277de7 Maintain deterministic order in deserialised Forge blockstates (#4748) 2018-02-15 22:11:52 -08:00
mcenderdragon bf50f8bc30 Add function to BufferBuilder to directly insert byte data. Closes #4722 2018-02-13 22:00:25 -08:00
Ben Staddon d18c03968e Clean up some GUI code and change magic numbers to GL constants (#4734) 2018-02-11 11:48:02 -08:00
mezz d650e454b1 Minor cleanup for TestAnnotationParser 2018-02-11 11:47:28 -08:00
LexManos 816d33de28 Initial implementation of JSON based annotation scanning.
Disabled by default for now, until proven to be fully function.
Enable using -Dfml.enableJsonAnnotations=true
2018-02-07 00:43:32 -08:00
LexManos 274f4cd440 Remove Mercurius from release JSON, Sadly it's dead we may address it at a later date. 2018-02-07 00:42:33 -08:00
mezz c7b6a3a1bc Update Github Stale bot message to better explain how to un-stale issues 2018-02-05 22:42:17 -08:00
LexManos 931ce0aa3b Bump version for RB. 2018-02-02 19:56:31 -08:00
Ben Staddon 572b71d82e Change chunk gen command to only keep the target dimension loaded (#4705) 2018-02-02 10:43:23 -08:00
Managarmr719 35d9cd94e8 Fix inconsistency between vanilla and modded glass. Closes #4679 (#4680) 2018-02-02 10:42:41 -08:00
Ben Staddon a47eadb9b0 New hook in WorldProvider to control client lighting re-checks (#4645) 2018-02-02 10:35:47 -08:00
CreativeMD 094245fe06 New hook to delegate some liquid related physics to the blocks themselves. (#4604) 2018-02-02 10:32:37 -08:00
Bartek Bok e1f691617f Remove texture loads from SimpleModelFontRenderer (#4721) 2018-01-31 21:08:29 -08:00
Ben Staddon 9d102a76d4 Fix some shapeless recipes using damageable items not working (#4713) 2018-01-29 15:57:49 -08:00
Ben Staddon 0e3f46c74b Use relative time offset, rather than absolute value, for animations (#4635) 2018-01-28 23:19:16 -08:00
malte0811 c12df92170 Fixed UV contraction for the texture in the top-left corner of the texture map (0, 0), see sp614x/optifine#1024 (#4703) 2018-01-28 16:09:05 -08:00
Daomephsta 3b580f643e Fix some test mods preventing Forge server-Vanilla client connections (#4616) 2018-01-23 21:28:56 -08:00
mezz 603903db50 Fix errors in preInit being lost when followed by a crash in fireRegistryEvents or objectHolder 2018-01-22 23:03:44 -08:00
SirWindfield ca7a5eadc0 Added @Ignore to the annotation based Config system. (#4696) 2018-01-22 12:35:33 -08:00
mezz 4ae6e4a295 Improve error message on server when a vanilla client connects (#4691) 2018-01-21 16:07:54 -08:00
malte0811 6e731ca3e4 Fixed pumpkins passing the wrong position to isSideSolid on placement (#4686) 2018-01-20 09:30:34 -08:00
Vincent Lee 9c5177282e Fix MusicType enumhelper not working (#4682) 2018-01-19 01:22:41 -08:00
mezz adbc374c11 Make FluidUtil sounds server-side, add simulate option for tryFill/EmptyContainerAndStow (#4623) 2018-01-18 13:23:30 -08:00
Vincent Lee 47a72f12f6 Expose CriteriaTriggers.register, closes #4109 (#4634) 2018-01-18 13:21:17 -08:00
Ben Staddon 533b03300a Catch and log exceptions during model baking (#4609) 2018-01-18 13:14:33 -08:00
ichttt 196e03c921 Fix forge fluids being treated as solid blocks (#4606) 2018-01-18 13:14:00 -08:00
alexbobp 1d48e06798 Add MobSpawnerBaseLogic reference to SpecialSpawn and CheckSpawn events (#4600) 2018-01-18 13:06:53 -08:00
Justin ff8ba90da3 Fix default GUIConfig displaying child categories twice (#4599) 2018-01-18 13:03:37 -08:00
Tyler Hancock 01f573dbaa Added a tooltip color event. (#4595) 2018-01-18 12:54:35 -08:00
MineMaarten dbf2beb6fa Moved firing the MinecartInteractEvent from individual subclasses up to EntityMinecart, which as a result automatically supports EntityMinecartMobSpawner and EntityMinecartTNT. (#4583) 2018-01-18 12:52:46 -08:00
Ben Staddon 94d4cb3396 Add missing check for allowed values to recolorBlock() (#4579) 2018-01-18 12:51:02 -08:00
mezz bc3bbe3d84 Avoid copying Forge Registry keys, values, and entries (#4545) 2018-01-18 12:46:05 -08:00
Ben Staddon 6962678804 Make async chunk loading a config option (#4544) 2018-01-18 12:44:14 -08:00
Vincent Lee 3a3883589f Allow WorldProviders to specify in-game music (#4539) 2018-01-18 12:39:14 -08:00
covers1624 2d424ed2e1 Block::addRunningEffects (#4248) 2018-01-18 12:38:00 -08:00
Daomephsta adf3c7164a [1.12.x] Implement hooks allowing mods to add horse armor. Partially addresses #3975. (#3994) 2018-01-18 12:04:37 -08:00
LexManos 61a16066e5 Fix debug flags for ClassPatchManager not working. Closes #3674 2018-01-18 11:57:30 -08:00
mezz 4b65807bfa Fix FML error logging for mods that crash during FMLLoadCompleteEvent 2018-01-15 21:18:38 -08:00
mezz d0bdb23300 Minor code and documentation cleanup. (#4664) 2018-01-12 23:54:29 -08:00
Ben Staddon 0c0cb2b11a Fix dormant chunk cache allowing entity data to be overwritten (#4528) 2018-01-09 10:48:56 -08:00
Ben Staddon 4b1b0d83e9 Fix dimension data not being saved (#4667) 2018-01-07 23:16:33 -08:00
Bartek Bok 10b8d47b53 Don't copy state from variant to multi-part model (#4629) 2018-01-06 22:36:43 -08:00
Joseph C. Sible d4ade990e3 Fix vanilla giant jungle trees causing cascading generation (#4652) 2018-01-04 20:30:41 -08:00
KnightMiner 9a2ebd45d7 Fix Beetroot crops don't break/drop when trampled (#4644) 2018-01-01 19:18:18 -08:00
Bartek Bok cfbcfeaf4b Enhance crash message when custom models return null default state (#4615) 2017-12-26 15:16:32 -08:00
mezz b15269fde5 Update Github StaleBot config to run on old Issues as well as PRs 2017-12-21 13:22:57 -08:00
LexManos 3c5e082541 Downgrade RegistryEntry's dangerous alternative prefix message to info instead of BigWarning.
This is still most likely a broken mod, but nobody ever actually fixes themselves, and i'm tired of being blamed for 'spamming' the logs.
2017-12-21 01:36:23 -08:00
LexManos 18609f57ac Fix missing call to release() in the event channel handler (#4513)
(reverted from commit cd99957627)
2017-12-18 16:04:34 -08:00
Wasinthorn Suksri 02855f7d74 Added Custom Slime Block hook for Piston. (#4520) 2017-12-16 18:38:53 -08:00
Daomephsta 4ab9929593 Add some extra context to Advancements/Minecart/Fishing/TileEntity loot handlers.(#4443) 2017-12-16 18:38:03 -08:00
Ben Staddon 37e5dc1e66 Adjust light matrix calculations to use per-face logic (#4339) 2017-12-16 18:30:18 -08:00
Ben Staddon dc6fa09066 Fix applyUVLock not preserving input order (#4336) 2017-12-16 18:27:33 -08:00
Ben Staddon 05c88d91d8 Adjust diffuse light calculation to match vanilla facing values (#4305) 2017-12-16 18:26:20 -08:00
Bartek Bok 9fdb79ae7a Fix invalid rendering of single-frame B3D models (Fix #3815) 2017-12-16 18:23:55 -08:00
Bartek Bok 867698eb54 Fix animation of rotated block parts (#4156) 2017-12-16 18:23:15 -08:00
tterrag 49d072cef8 Fix BakedQuadRetextured not overriding getSprite (#4137) 2017-12-16 18:22:45 -08:00
Melonslise bbf1bef7d3 Added LivingKnockBackEvent event to allow better control over knock back effects. (#4503) 2017-12-16 18:03:45 -08:00
kashike 441ece67bd Delay egg creation to avoid null statistics (#4508) 2017-12-16 18:01:58 -08:00
Ben Staddon cd99957627 Fix missing call to release() in the event channel handler (#4513) 2017-12-16 18:00:35 -08:00
mrkirby153 7438ef466e Reimplemented TileEntity and Entity Update Profiling in the /forge track command (#4521) 2017-12-16 17:48:48 -08:00
Justin ae790c2345 [macOS] Fix missing text on loading error screens (#4532) 2017-12-16 17:42:17 -08:00
Ben Staddon 41766c9830 Don't enforce IPv4 for clients connecting to IPv6-only servers (#4563) 2017-12-16 17:39:27 -08:00
Ben Staddon 98997061f0 Add an event for registering block/item colour handlers (#4565) 2017-12-16 17:34:00 -08:00
AlgorithmX2 e3c630ecb8 Fix: Anvil Bug with Custom Damage Items. (#4570) 2017-12-16 17:10:07 -08:00
AlgorithmX2 1f0e0803f0 BlockFlowerPot now checks solid top side instead of old method. (#4571) 2017-12-16 17:09:33 -08:00
Matthew Prenger c0625f71e7 Fix startIndex for /forge generate position parsing (#4572) 2017-12-16 17:02:24 -08:00
Joseph C. Sible 937b29e49d Make vanilla powered rails receive power from mods' custom powered rail subclasses (#4573) 2017-12-16 17:01:56 -08:00
Joseph C. Sible 14a7d66024 Deprecate passing a class to CapabilityManager::register (#4574) 2017-12-16 17:01:04 -08:00
Ben Staddon 622c17ff04 Add missing nullability annotations to some Forge-added methods (#4578) 2017-12-16 16:59:54 -08:00
mezz f36158dae7 Change how chests check if they're blocked. (#4584)
Readd Vanilla Bug: https://bugs.mojang.com/browse/MC-378
2017-12-16 16:57:24 -08:00
BillyGalbreath 5cb01b7142 Allow EntityFishHook to spawn water particles in all liquids that use Material.WATER (#4585) 2017-12-16 16:49:21 -08:00
gegy1000 a38411be70 Add Sound loading progress bar (#4593) 2017-12-16 16:39:14 -08:00
Ben Staddon eda4fb231b Clean up capability checking for entities (#4591) 2017-12-13 22:56:01 -08:00
Ben Staddon 88b49f4a36 Fix sometimes being unable to extract items from double chests (#4590) 2017-12-13 12:02:02 -08:00
Joseph C. Sible 83b7010ddf Fix item handler documentation that says returning ItemStack.EMPTY is required (#4587) 2017-12-12 21:18:42 -08:00
jabelar 07c4da8f36 Added color as field with setter to Fluid class. (#4460) 2017-12-08 02:18:45 -08:00
mezz 49596910fc Prevent tooltips from going off the top of the screen. 2017-12-06 21:10:51 -08:00
Anthony Lomeli bd494af7ee [1.12] Add Advancement Event (#4467) 2017-12-05 14:05:05 -08:00
mezz bbd4d8d6ef Update java docs for IItemHandler. Fix #4553 2017-12-01 22:45:10 -08:00
LexManos 846a70f97f Restore binary compatibility in EntityItemPickupEvent 2017-12-01 13:22:41 -08:00
LexManos 239b9d36a4 Re-enable Vanilla's Shapeless recipe matching. 2017-12-01 13:17:22 -08:00
Draco18s ccc44956fd Fix for the EntityItemPickupEvent having 0 count item when event is fired. (#4549) 2017-11-30 21:46:54 -08:00
Ben Staddon b215d90589 Don't force IPv4 network stack if IPv6 is specifically requested (#4547) 2017-11-26 19:20:01 -08:00
LexManos 44d0e9f05d Fix more bad shapeless recipe matching. Closes #4557 2017-11-26 14:50:57 -08:00
LexManos 01b9110ada Version bump for Recommended Build. 2017-11-24 18:58:28 -08:00
Vincent Lee 2081cdac60 Add TAG_LONG_ARRAY to Constants.NBT (#4552) 2017-11-24 18:57:22 -08:00
LexManos 89db87dbfc Create custom shapeless recipe matching system. Should solve #4516 damageable items in shapeless recipes. 2017-11-22 13:26:02 -08:00
mezz ad16f15365 Clean up old code for detecting BaseMods. Close #4530 (#4540) 2017-11-21 22:27:41 -08:00
covers1624 c16906f8d8 Fix BufferBuilder not expanding under some conditions. (#4538) 2017-11-20 11:31:56 -08:00
mezz b1da6cdc8d Add support.yml for support bot on github. 2017-11-19 14:21:05 -08:00
Ben Staddon aaf47afff2 Fix errors caused by multi-target messages sent from LAN host (#4536) 2017-11-19 11:47:51 -08:00
Ben Staddon a2fb242814 Fix server icon response leaking buffer (MC-122085) (#4534) 2017-11-19 11:35:59 -08:00
LexManos 836be2e3a0 Fix CompoundIngredents not working properly in shapeless recipes. 2017-11-18 13:01:22 -08:00
mcenderdragon f97c535fa4 [1.12.x] Added BucketUse event to ForgeUniversal Bucket (#4454) 2017-11-17 13:10:23 -08:00
Vincent Lee 7a31b10364 Non-player entities now respect WorldProvider.getMovementFactor, closes #4470 (#4471) 2017-11-15 13:32:41 -08:00
Ben Staddon e616990397 Fix entity spawn messages not handling buffer correctly (#4524) 2017-11-15 13:05:17 -08:00
LexManos fc87d83d73 Make Ingredient explode wildcard values like OreIngredient.
Fixes some issues related to Grums order fix for Shapeless recipes.
Other more advanced usages need to be documented and tested.
2017-11-14 00:10:33 -08:00
Stanislav Kupryakhin 7d21b324ec Fix server incorrectly marked as stopped before forge's handleServerStopped() (#4517) 2017-11-13 11:07:15 -08:00
Ben Staddon 9a36814364 Fix network buffer leak with multi-part messages (#4511) 2017-11-12 10:39:41 -08:00
Ben Staddon baaa6c6505 Fix buffer leak in vanilla custom payload packet handling (#4512) 2017-11-12 10:38:10 -08:00
Ben Staddon ad202e2e83 Fix network buffers not being released in some places (#4510) 2017-11-11 15:19:00 -08:00
Justin a59d20fc02 Fix resource loading on some mac systems when SplashProgress is enabled (#4082) 2017-11-09 22:32:01 -08:00
BillyGalbreath 5a6f19f1c2 Fix MC-51150 (#4495) 2017-11-09 14:33:42 -08:00
Ben Staddon 23ea237f2c Fix incorrect lighting of item models (#4493) 2017-11-09 14:32:43 -08:00
Ben Staddon 4b3799f460 Change item model alpha tests to match values used for rendering (#4490) 2017-11-09 14:31:39 -08:00
Bartek Bok d060747fad Fix NPE when player tries to sleep without bed (#4487) 2017-11-09 14:30:36 -08:00
mcenderdragon 4cdb6b6d60 Added tint index of 0 to fluid models (#3938) 2017-11-09 13:59:30 -08:00
Bartek Bok e102943a2d Fix FastTESR quad sort (#4298) 2017-11-09 13:52:57 -08:00
Yanbing Zhao c8efe29d61 Fix the incorrect matching algorithm in ShapelessRecipes and ShapelessOreRecipe (#4472) 2017-11-07 21:33:04 -08:00
Ben Staddon 8eb6ec9cdd Fix BlockDynamicLiquid using mismatched state/position pair (#4501) 2017-11-06 10:30:43 -08:00
Ben Staddon 6192bf48ae Fix more test mod warnings (#4477) 2017-11-02 23:29:31 -07:00
Bartek Bok dd69f0623c Add LivingDamageEvent (#4349) 2017-10-31 15:29:19 -07:00
Wire Segal ba71017001 Create IRecipeContainer interface and implementation to allow RecipeBook to work on custom GUIs (#4480) 2017-10-31 11:48:55 -07:00
Bartek Bok 6f49568c98 Add InputUpdateEvent (#4356) 2017-10-31 11:47:47 -07:00
Zaggy1024 9c7538db8d Added a cloud renderer that uploads geometry to the GPU. (#4143) 2017-10-31 11:45:46 -07:00
Ben Staddon 31655b3a7d [1.12] Replace ThrowableImpactEvent with a more generic version (#4040) 2017-10-31 11:34:48 -07:00
Ben Staddon 19b7347db9 Clean up BlockSnapshot code (#3737) 2017-10-31 11:32:02 -07:00
joeflatt 7d333eb100 Fixed property losing state after rename. (#4123) 2017-10-31 11:30:39 -07:00
rguy96 274dfc23ef Fix GameData#revert ignoring RegistryManager parameter (#4232) 2017-10-31 11:29:35 -07:00
Philipp Provenzano aa2480c7a1 Allow custom selector types to be defined (#4259) 2017-10-31 11:28:11 -07:00
Ben Staddon 2a546955a4 Clean up more deprecated library functions (#4283) 2017-10-31 11:22:55 -07:00
AEnterprise 22ea5a23ad Improve performance of World.collidesWithAnyBlock (#4286) 2017-10-31 11:20:59 -07:00
Vincent Lee 6d946fa088 Move reach distance to an attribute (#4331) 2017-10-31 11:16:22 -07:00
Brennan Ward 94c8534a83 Resolve a crash relating to plantFlower when biome has no flowers (#4381) 2017-10-31 11:04:42 -07:00
mezz b5e88dd07b Improve the Forge Bucket (#4435) 2017-10-31 11:03:44 -07:00
Ben Staddon 48320b315f Prevent fake players from making advancements (#4438) 2017-10-31 11:02:47 -07:00
Ben Staddon 43749d3fd1 Further reduce quad count of generated item models (#4448) 2017-10-31 11:02:09 -07:00
Ben Staddon f8e375279d Fix killing blow causing combat tracker to lose data (MC-121048) (#4452) 2017-10-31 10:59:04 -07:00
Ben Staddon 0bf82697bb Recalculate chunk height map minimum on load (#4453) 2017-10-31 10:57:48 -07:00
jabelar 61dea7f4c0 Changed BlockFluidBase "fog" color use color from Fluid getColor() method (#4462) 2017-10-31 10:46:40 -07:00
Ben Staddon 7b4040b70b Improve performance of inserting into inventory wrappers (#4468) 2017-10-31 10:41:33 -07:00
LexManos 57e6559fa4 Fix some locations where State Sensitive Materials were not used. Closes #4474 2017-10-31 10:40:38 -07:00
Ben Staddon 8d938660e7 Add caching of data for flat lighting (#4358) 2017-10-31 10:09:39 -07:00
Ben Staddon ac634a2049 Fix spider/chicken jockeys being unable to spawn naturally (MC-103516) (#4429) 2017-10-31 10:06:16 -07:00
mezz 0960b60d9c Clean up Forge commands. Add HelpCommand. Fix #4444 (#4451) 2017-10-27 20:28:00 -07:00
Ben Staddon 5733cd364e Fix some more test mod warnings (#4469) 2017-10-20 22:28:26 -07:00
Matthew Mirvish e283d51e28 [1.12.x] [Animation API] Add rotation origin variable (#4466) 2017-10-20 22:27:35 -07:00
Ben Staddon f2adf0100c Fix some warnings produced by test mods (#4456) 2017-10-08 17:31:10 -07:00
mezz e1dd7cc9ae Fix performance regression in FastTESR rendering 2017-10-07 17:05:34 -07:00
mezz 00d882ab61 Fix outdated VersionParser javadoc link 2017-10-06 22:16:10 -07:00
mezz cc058c68af Add configuration for probot-stale for github 2017-10-03 23:21:05 -07:00
mezz 083daeb5ed Update mcp mappings to 20171003 2017-10-03 22:08:36 -07:00
mezz f494117453 [1.12] Add support for client & server dependencies for mods (#4403) 2017-10-02 22:13:30 -07:00
mezz cf39ff18e1 Add Item.getModId to show which mod is associated with a subitem (#4330) 2017-10-02 22:08:16 -07:00
Erlend Åmdal 8a285e0fed Add Chunk capabilities (#4228) 2017-10-02 20:24:11 -07:00
Ben Staddon 267cd19291 Fix some chunk data packets being created unnecessarily (#4414) 2017-10-02 16:49:07 -07:00
Ben Staddon 0d34b02f88 Improve performance of vertex format mapping by caching hashcodes (#4370) 2017-10-02 16:45:58 -07:00
Ben Staddon 4073891058 Reduce the number of quads generated by ItemLayerModel (#4332) 2017-10-02 16:43:06 -07:00
Erlend Åmdal 025495f98b [1.12] Check both hands for sneak interaction bypass (#4256) 2017-10-02 16:28:34 -07:00
tterrag 6956df4ff2 Allow item models to use formats other than ITEM (#4273) 2017-10-02 16:17:35 -07:00
Ben Staddon 071664d95f Fix being unable to see with night vision under some conditions (#4383) 2017-10-02 16:02:31 -07:00
Ben Staddon 5cddcc0280 Fix block and torch placement logic not matching vanilla (#4210) 2017-10-02 15:58:30 -07:00
Landmaster b4676f5a0b Add hook to configure EntityEquipmentSlot for item. 2017-10-02 15:54:01 -07:00
Ben Staddon f3273ca0c9 Store entity data for dormant chunks using NBT (#4162) 2017-10-02 15:17:37 -07:00
Vincent Lee 3511e9ef2e Allow for MapDecoration to use alternate rendering, for example a custom spritesheet (#4027) 2017-10-02 15:15:17 -07:00
LexManos b361b72515 Remove limitation of Shaped crafting recipes not being used on grids larger than 3x3 2017-10-01 16:05:15 -07:00
Joseph C. Sible a93f3ab61e Fix not being able to write in a blank, renamed Book and Quill (#4433)
https://bugs.mojang.com/browse/MC-1685
2017-09-30 12:44:43 -07:00
LexManos 303a775fc3 Add new /forge entity list command for displaying a list of all entities in world.
As well as tracking down chunks with large amounts of entities.
2017-09-25 12:56:09 -07:00
Samuel-Harbord 21e4803947 Fix test mod shield JSON incorrect bottom face UV's (#4295) 2017-09-23 14:27:11 -07:00
kashike 78630a6bf1 Prevent a mutable BlockPos leak in World#setBlockState (#4388) 2017-09-23 14:26:38 -07:00
ichttt 22d2d7825f Fix IngredientNBT comparing stackSize when checking if ingredient is valid (#4418) 2017-09-23 14:25:45 -07:00
kashike dc2014cdf1 Auto-detect registry namespace when using a legacy string id in EntityEntryBuilder fixes #4410 (#4411) 2017-09-21 05:31:53 -07:00
kashike f2b07e8db1 Introduce entity entry builder, useful in the Register<EntityEntry> event replacing needed calls to EntityRegistry. (#4408) 2017-09-20 13:03:03 -07:00
LexManos 50265786b2 MC 1.12.2 update. 2017-09-18 14:35:45 -07:00
Paul Fulham 4203e7426f Fix lightmap calculation vertex clamping (#4387) 2017-09-17 19:28:11 -07:00
Tyler Hancock ceaa9ba52f Fix chunk gen mobs not firing the CheckSpawn event. Closes #4394 (#4396) 2017-09-16 21:30:38 -07:00
Xander ce49596014 Add an extra error check for OBJ model materials (#4402) 2017-09-16 21:17:12 -07:00
Ben Staddon 9717882563 Fix up test mods (#4399) 2017-09-16 20:08:25 -07:00
LexManos 0ad4218bc2 Add new /forge gen command to generate large amounts of chunks.
Usage: /forge gen <position> <count> [dimension] [notifications]
Position is in Block Coords, and can be relative to the player. These will be converted to chunk coords for you.
Count is the number of chunks to load. This is not a radius, actual total number of chunks.
Dimension is optional, you can use this to pregen other worlds.
Notifications is the chunk interval to inform you of the generating progress. This is optional and will be 5% or 100 whichever is higher.

Added new config option to modify vanilla world gen to fix various cascading issues. MC-117810 MC-114332 and more.
This WILL change block placement from vanilla world gen. So this is a opt-in value. Do not report differences in worlds with this flag enabled.
2017-09-15 19:01:59 -07:00
LexManos 036191cd52 Fixed ShapedOre recipes not laying out correctly with the guidebook. 2017-09-14 14:32:03 -07:00
Tyler Hancock 883109182d Fixed search tabs using wrong contents. (#4393) 2017-09-12 11:57:12 -07:00
LexManos 334626aedb Bump version for RB. 2017-09-11 16:58:45 -07:00
mezz 638a54b04a Fix #4386 Race condition when unloading chunks causes dead tile entities 2017-09-09 13:30:14 -07:00
Ben Staddon bcea480d36 Patch block model renderer to use location-aware light value (#4303) 2017-09-06 14:32:08 -07:00
Ben Staddon 0dd386b74c Improve generation of normals for vanilla models (#4313) 2017-09-06 14:31:46 -07:00
Marvin Rösch cb8cace92d Fire RenderGameOverlayEvent for vignette (#4360) 2017-09-06 14:19:56 -07:00
Ben Staddon fe3ba2b40e Fix light sources rendering wrongly with night vision (MC-58177) (#4365) 2017-09-06 14:18:25 -07:00
Benjamin K 45c2ff5329 Fix CustomModLoadingErrorDisplayScreen not being handled during init or preinit. (#4320) 2017-09-06 14:14:50 -07:00
Daniel Naylor dadc715e7d Insert FML handler before Vanilla connection handshake completes (#4380) 2017-09-06 14:11:21 -07:00
Ben Staddon ef5ffc2c5d Add missing bounds checks to ItemTextureQuadConverter (#4343) 2017-09-06 14:08:19 -07:00
BlayTheNinth da85dcadf5 Allow custom GuiEditArrayEntries without having to recreate the object in several places (#4329) 2017-09-06 14:03:13 -07:00
Marvin Rösch 5db4505fdb Add support instructions to be displayed when creating an issue on Github (#4323) 2017-09-06 14:02:50 -07:00
Ben Staddon cd5d7d2bed Adjust float (un)packing functions to be slightly more accurate (#4316) 2017-09-06 13:55:41 -07:00
Vincent Lee 44f35fa8b1 Fix vanilla map pixel data being used in various places (#4068) 2017-09-06 13:54:00 -07:00
Ben Staddon 71d81cbd8d [1.12] Remove patches adding chunkExists() function, switch to vanilla code (#4054) 2017-09-06 13:52:43 -07:00
Tyler Hancock 523b4f85c2 Added missing MapGen types to the InitMapGenEvent (#4322) 2017-09-03 16:26:29 -07:00
Joseph C. Sible a171220aba Fix nether wart, pumpkins, and melons passing the new state as the original state to CropGrowEvent.Post (#4377) 2017-09-03 15:03:22 -07:00
Choonster TheMage d85fcb26c2 Fix FieldWrapper.MapWrapper initialising wrong category (#4335) 2017-08-30 20:57:17 -07:00
Choonster TheMage cb051f7893 Don't parse category names as regular expressions in FieldWrapper.MapWrapper (#4334) 2017-08-30 20:56:15 -07:00
LexManos 52702e5cc9 Fix issue saving observers using different metadata then vanilla. 2017-08-30 13:20:51 -07:00
Bartosz Skrzypczak 8803bf9a29 Fix netty warning spam when sending >1MB packets (#4363) 2017-08-29 17:20:03 -05:00
Bartosz Skrzypczak 161b47ee75 Fix FML handshake crash, fixes #4285 and #3974 (#4304) 2017-08-27 13:58:55 -07:00
LexManos 7930adec70 Fix recipe book auto-fill not working for OreDictionary ingredients. 2017-08-24 15:21:47 -07:00
Phylogeny 0e789f3543 Fix KeyBindings reset buttons being inverted. 2017-08-24 04:53:19 -05:00
LexManos 45dfce0013 Fix for dummied server side registry entries while client has read entries. 2017-08-22 02:08:34 -07:00
Marvin Rösch 43e24c3eb4 Tabulate crash report mod list and add signature information (#4251) 2017-08-18 17:28:58 -05:00
Nedelosk a40df67004 [1.12] Fix wood plank ore dictionary recipes (#4310) 2017-08-18 17:04:23 -05:00
David Vierra 7273065132 Fix UnknownFormatConversionException during erroring TE/Entity removal (#4312) 2017-08-17 21:06:34 -07:00
LexManos 28e341002f Add support for server side only recipes, as well as detection of vanilla client recipe book filter to prevent errors. 2017-08-15 05:10:07 -07:00
mezz ee27276ba2 Fix typo in CapabiltyFluidHandler (#4306) 2017-08-14 21:32:52 -07:00
Bartosz Skrzypczak 68a10b3037 Fix splitting big packets skipping one byte per additional part (#4301) 2017-08-13 15:23:22 -05:00
LexManos 1e85c6b2e8 Fix tests 2017-08-09 13:43:56 -07:00
iChun 29b717faa7 Add PlayerSPPushOutOfBlocksEvent. (#4091) 2017-08-09 15:26:51 -05:00
Samuel-Harbord ffb71dce8c Add Ability to Override PotionEffect Default Sort Order (#4172) 2017-08-09 15:22:09 -05:00
Thanh-Phuong ee449e427c Add support for oredict item predicates in advancements, and add a registry for item predicates (#4188) 2017-08-09 15:20:45 -05:00
KnightMiner 82d735e43a Add support for running IModel.retexture() on models from blockstates (#4200) 2017-08-09 15:18:35 -05:00
Bartek Bok d14a8724b0 Fix invalid FastTESR quad ordering (#4267) 2017-08-09 15:18:17 -05:00
Choonster TheMage 611cb0d99c Continue loading mod recipes and advancements after encountering an error (#4277) 2017-08-09 15:17:48 -05:00
Ben Staddon 9d7f6bf6e4 Add a hook to allow world providers to change the lightmap colours (#4279) 2017-08-09 15:16:44 -05:00
mezz 31b46e9e77 Fix MC-117075 lag spike when unloading many tile entities (#4281) 2017-08-09 15:15:32 -05:00
tterrag ce168d556d Better descriptions on dependency version range error screen (#4284) 2017-08-09 15:10:54 -05:00
LexManos b918d3551e Filter out scala libraries in forge dev workspace. 2017-08-09 12:59:57 -07:00
LexManos 9ec954a3de Fix IOUtils import error caused by server/client libraries desync. 2017-08-09 12:28:34 -07:00
LexManos c6d0c93a50 Fix odd NPE with list files for empty directories. 2017-08-08 23:27:34 -07:00
LexManos cdc8763fb0 Fixed missing line in logger. 2017-08-08 20:38:11 -07:00
LexManos ee6805397f Cleanup some output and move the Jar-In-Jar extractor to before any coremods/mods are loaded so.
The intention is to rework this entire thing to use maven style storage, IF we can get Mojang to pass in the Libraries folder.
2017-08-08 20:13:05 -07:00
cpw cc30c679e4 Lex doesn't like this.
Revert "Fix up MC version compatibility checking to be a little less verbose."

This reverts commit 1927fd76e2.
2017-08-06 20:30:16 -02:30
cpw 1927fd76e2 Fix up MC version compatibility checking to be a little less verbose.
If people use properly formatted version compatibility strings, or the
default compiled in one, this will work exactly as before, but has
less dependence on specific formats for the mcversion string. So a mod
declaring [1.11, 1.12] will now be 1.12.1 compatible by default, for
example.
2017-08-06 15:42:37 -02:30
LexManos f73c7cb764 1.12.1 Update, Not much modder facing changes, 1.12 mods should load and run fine on this version. 2017-08-03 17:30:43 -07:00
howtonotwin 639589703d Add smarter getter for block slipperiness (#4116)
Fixed MC-119811, Boats rubber banding when dismounted.
2017-08-01 16:25:28 -05:00
covers1624 099bbd479a Add GuiContainer Foreground render event. (#4127) 2017-08-01 16:23:08 -05:00
Ben Staddon 2f7f2e7bc1 Use ClassValue to store tileentity names for profiler in lazy cache. (#4021) 2017-08-01 14:42:18 -05:00
ichttt 2d97f05796 Move client-only config options to client config (#4084) 2017-08-01 14:22:21 -05:00
mcenderdragon c8379da83b Added CriticalHitEvent to allow more control over whether a attack is a critical or not, and what damage it does. 2017-08-01 14:13:37 -05:00
Bartek Bok eee8b7ff38 Fix stacked entity item rendering using the wrong transform for the extra items. (#4158) 2017-08-01 13:57:12 -05:00
Benjamin K 783b48b395 Fix lopsided 'V' in FML icons. (#4179) 2017-08-01 13:47:22 -05:00
Xalcon 173e929173 Added pages to the advancements GUI to allow for unlimited root advancements. (#4183) 2017-08-01 13:43:24 -05:00
diesieben07 b7e56a61b9 Ignore neighbor changes for comparators on the client (Vanilla behavior) (#4186) 2017-08-01 13:38:57 -05:00
diesieben07 7df003c3e7 Fixed bug where config categories errored if they contained regex special characters. (#4187) 2017-08-01 13:38:14 -05:00
P3pp3rF1y d3fa82c18a Allow sneaking to bypass villager interaction GUI. (#4193) 2017-08-01 13:29:19 -05:00
PhiPro95 4a31e86bd3 Clean up Block.getLightValue(IBlockState, IBlockAccess, BlockPos) (#4203) 2017-08-01 13:28:27 -05:00
InfinityRaider 2158198295 Make LivingEntityUseItemEvent not abstract (#4208) 2017-08-01 13:26:59 -05:00
Ben Staddon 817bd72a76 Replace hardcoded block check with isTopSolid method call for placing button/lever (#4212) 2017-08-01 13:25:59 -05:00
Thanh-Phuong f9bb29c240 Added support for oredict dyes to Fireworks, Armors, and Shulker recipes. (#4223) 2017-08-01 13:03:01 -05:00
P3pp3rF1y 8aa78da4de Limit some server to client update packets for Item Capabilities (#4252) 2017-08-01 12:46:04 -05:00
Vincent Lee 32e811bd7a Fixed Armor bar disappear after changing dimension. MC-88179 (#4265) 2017-08-01 12:35:03 -05:00
mezz 00f82331e4 Fix the firing location of InputEvent.MouseInputEvent (#4270) 2017-07-31 23:16:55 -07:00
Ben Staddon 78828246f5 Fix some broken test mods (#4245) 2017-07-29 23:04:02 -07:00
rslink 4d327df383 Fixed swapping of finite fluids with negative densities. (#4237) 2017-07-29 22:24:24 -07:00
Marvin Rösch 434f95c66e Fix overrides not being read from the server registry snapshot (#4224) 2017-07-26 18:47:55 -05:00
Marvin Rösch e59b979e1b Fix some test mods crashing server caused by model loading (#4225) 2017-07-24 19:08:00 -05:00
diesieben07 7d0a8524aa Fix FML handshake race condition, fixes #4219 (#4220) 2017-07-23 17:24:43 -05:00
mezz 32dc726df1 Prevent player from dying infinitely due to zero max health (MC-119183) 2017-07-20 21:54:46 -07:00
malte0811 a6b9fbfa9f [1.12] Allow the server to handle item-block interaction if onItemUse doesn not return PASS (#3967) 2017-07-20 17:11:50 -05:00
Madsthunder ad15209f8d Allow support for custom Shields and Shield disabling weapons. 2017-07-20 16:44:37 -05:00
Thanh-Phuong df6b628140 Make Optional.Interface repeatable (#4138) 2017-07-20 16:36:05 -05:00
ichttt cc25a58760 Log a warning if a coremod does not follow best practices (#4146) 2017-07-20 16:32:53 -05:00
diesieben07 fb10d7cbd4 Ignore fortune for anything but seeds in crops (#4160) 2017-07-20 16:31:16 -05:00
Xalcon d63ceb33cb Added support for vanilla "nbt strings" in json recipes (#4113) 2017-07-20 16:28:39 -05:00
LexManos afea45dccc Fix tripwire statemap not being complete when mappings change. Closes #3924 2017-07-18 12:53:55 -07:00
LexManos 6d35b1b913 Fixed invalid erroring case during loading Advancements form mods that don't have advancements. 2017-07-14 16:10:36 -07:00
LexManos 6167bbfea9 Fixed issue where rendered held items wouldn't properly update when the reequip animations isnt shown. Closes #4175 2017-07-13 15:21:57 -07:00
LexManos 872d721e77 Send remap event when data is frozen to notify modders to bake things.
Fixes search not working when connecting to vanilla servers.
2017-07-13 14:45:51 -07:00
LexManos f8c5d7c2b6 Fire recipe registry event after json recipes are loaded. 2017-07-13 14:45:13 -07:00
Ben Staddon 0fde64ac38 Clean up uses of deprecated library functions (#4130)
Avoid catching and rethrowing runtime exceptions
Append error messages to exceptions instead of the log
2017-07-12 21:50:28 -07:00
Ben Staddon ead0e81025 Remove unneeded block patches (#4167) 2017-07-12 21:49:21 -07:00
mezz 75433345ba Improve javadocs for Mod dependencies (#4168) 2017-07-12 21:12:53 -07:00
mezz 11338d0fde Stop "Binary patch set is missing" error log in dev environment 2017-07-11 22:50:12 -07:00
mezz 96fadbcc35 Add basic Github issue template 2017-07-11 22:37:34 -07:00
mezz ab4ac4db5a Fix errors in test mods 2017-07-11 22:04:25 -07:00
Kina bf014b1060 Remove unnecessary maxStackSize restrictions on brewing potions. (#4155) 2017-07-09 13:12:20 -05:00
mezz cd4d701b5f Fix game freeze when resizing the window too small on the mods gui (#4148) 2017-07-08 22:55:45 -07:00
Max Becker 7517f56d5f Adjust EnumHelper#addCreatureType to EnumType (#4089) 2017-07-08 15:15:00 -05:00
Vincent Lee 4df20daf41 Allow advancement icons to have nbt (#4114) 2017-07-08 15:14:29 -05:00
LexManos 80da39d4e3 Attempt fix, or at least better debugging for RecipeBook accessing unknown recipes. 2017-07-08 13:08:44 -07:00
LexManos 0215e2e128 Fix MC-68754, Screen is not resizeable after exiting fullscreen due to LWJGL bug 2017-07-08 13:08:06 -07:00
mezz d3c11c2b4f Use Item's custom FontRenderer for tooltips in the Creative Gui (#4101) 2017-07-08 00:19:49 -07:00
mezz 02ef4155c8 Fix Recipe Toast crash when granted more than 5000 recipes (#4124) 2017-07-07 23:47:58 -07:00
mezz 3847a2cf5d Throw packet encoding exceptions instead of suppressing them, to prevent corrupt packets (#4144) 2017-07-07 04:39:27 -05:00
LexManos a886dbde49 Quiet down warning for missing translation files. 2017-07-06 21:28:48 -07:00
LexManos 4d378c38d1 Update JOpt version on the dedicated server to match client. 2017-07-06 21:13:13 -07:00
LexManos b0edb23dba Fix getting missing models for overridden Item registry entires 2017-07-05 14:52:29 -07:00
LexManos fdfaa5036d Fix override duplication caused by bad comparison. 2017-07-05 14:41:24 -07:00
LexManos 7b0a005167 Fix log spam when creating dummy blocks. 2017-07-05 14:40:43 -07:00
mezz 5fc380665e Include location of the call when a mod uses System.out or System.err (Fix #4135) 2017-07-04 23:20:04 -07:00
talandar 03b7885aa6 Fix unblockable damage being blocked by armor. (#3933) (#4106) 2017-07-03 12:56:23 -07:00
mezz c1ae2cdbf2 Improve furnace fuel handling (#4083) 2017-07-03 12:54:01 -07:00
Xalcon e1a2bcf902 Add isSpawner parameter to the CheckSpawn event (#4075) 2017-07-03 12:45:57 -07:00
E2 43be1f46a5 RenderLivingEvent now stores partialTick
2
2017-07-03 12:20:45 -07:00
ichttt ede05a25f1 Fix missing messages of missing models (#4120) 2017-07-03 10:39:42 -07:00
Kina 81584d4215 Correct the default resource location of potion registry (#4117) 2017-07-02 13:13:46 -05:00
LexManos 16bfd8cef1 Version bump for RB 2017-06-28 21:34:43 -07:00
covers1624 9e413de6c9 Added Block::getFogColor to allow custom blocks to control fog colors while inside them. (#4090) 2017-06-28 17:23:32 -05:00
LexManos 0b969ef495 Optimize ExtendedBlockState.getClean, cache the return value instead of calculating it. Closes #3936 2017-06-28 14:26:25 -07:00
LexManos ec318f8504 Squelch spam in EventBus register, Closes #4102 2017-06-28 13:18:44 -07:00
LexManos c3e5b4bb2e Add @ObjectHolder scanning to vanilla MobEffects, Biomes, Enchantments, SoundEvents, and PotionTypes constants. Closes #4104 2017-06-28 13:17:59 -07:00
mezz 8581225da8 Use java 8 collection functions 2017-06-28 00:14:10 -07:00
mezz 9675585891 Use lambdas for short anonymous methods 2017-06-27 23:18:09 -07:00
mezz 93025510ae Use multiple catch, try-with-resources, replace system.out and e.printStackTrace 2017-06-27 22:57:10 -07:00
LexManos 10ca404e9e Fix the creative menu search function. Closes #4100 2017-06-27 21:34:03 -07:00
LexManos d0b24313d3 Fix MissingMapping REMAP action. Closes #4069 2017-06-27 16:56:42 -07:00
LexManos 7281708df6 Repopulate client SearchTreeManager when registries are refreshed. Closes #4094 2017-06-27 16:28:08 -07:00
LexManos b90d7a838e Fix Biome unit test 2017-06-27 16:27:29 -07:00
LexManos a4fb33d945 Add support for loading mod advancements from the mod jar files. 2017-06-27 15:18:52 -07:00
LexManos cab4f783e9 Fix error when using RegistryBuilder and not specifying a max id number. 2017-06-27 15:18:03 -07:00
LexManos c565984822 Allow the recipe registry to be modified. 2017-06-27 15:17:26 -07:00
LexManos 86b231ea77 Fix BiomeDictionary not collecting correctly. 2017-06-27 14:04:51 -07:00
BlayTheNinth 5aac07b5b1 Remove incorrect call to .toString() when instantiating custom config array entries. (#4078) 2017-06-27 00:54:49 -05:00
Vincent Lee a480fa0821 Remove outdated patch to BlockDoublePlant 2017-06-26 22:37:17 -07:00
LexManos c5ffe46f48 Fix substitution tests 2017-06-26 01:01:23 -07:00
Ben Staddon 9a09ff68aa Remove some deprecated methods and clean up 2017-06-25 22:30:18 -07:00
mezz 7892ca922c Remove the call to client.refreshResources during loading (#4032) 2017-06-25 22:13:58 -07:00
Fry 0f7ec7e7fd Added dependencies and dependency ordering for textures. (#4070) 2017-06-26 07:58:19 +04:00
LexManos 3ae30478db More work on registry override ability. Closes #4079 2017-06-25 20:45:48 -07:00
LexManos 460abf1554 Fix ItemStack/Block/BlockSpecial not applying at runtime. 2017-06-25 20:45:07 -07:00
Ben Staddon 51aa029bb1 Add a FluidUtil method to interact with an arbitrary IFluidHandler (#4080) 2017-06-25 18:22:52 -07:00
ichttt 690c9bb76a Further Java 8 cleanup (#4077) 2017-06-25 14:25:57 -07:00
LexManos 3738a2e42b Fix missed side only on BlockFlower 2017-06-25 12:24:07 -07:00
LexManos 45147ac512 Fix ModelBlockAnimation expsing a private class. 2017-06-25 12:23:56 -07:00
LexManos 368d206cc6 Make Block.getSubBlocks not client side only. 2017-06-25 11:17:31 -07:00
RainWarrior dc043ac79f Cleanup of model system, taking advantage of java 8;
replaced guava Optional and Function with java 8 versions.
2017-06-25 04:08:20 +03:00
LexManos 1c24600bbb Reload client recipe book after loading modded recipes. 2017-06-24 15:34:09 -07:00
LexManos b542179242 Make Dummy block an Air block. 2017-06-24 15:06:28 -07:00
LexManos 87054b01fb Fix NPE in MissingMappings event. Closes #4067 2017-06-24 14:51:46 -07:00
LexManos efd8b38be9 Make getSubItems non-client only. Use it for Ingredient iteration. 2017-06-24 14:47:48 -07:00
LexManos 478a84e748 Fix Emerald generation causing chunk loading. 2017-06-24 14:47:11 -07:00
LexManos 405a16aea1 Fix minecraft:item_nbt ingredient type. 2017-06-24 14:46:51 -07:00
mezz 72f037b0fa Add Block.getDrops that uses NonNullList, deprecate the old method. Fix #3567 (#3778) 2017-06-24 03:05:42 -07:00
mezz a8734e368d Remove arrival/departure message methods from WorldProvider (#2733) 2017-06-24 02:02:56 -07:00
mezz 27321efb1f Clean up logging 2017-06-24 01:46:05 -07:00
KingLemming c0188d3228 Use instanceof ItemFishingRod instead of item equality (#4060) 2017-06-24 01:26:36 -07:00
Ben Staddon 1b5da5d4fe [1.12] Cleanup of files with old licence headers, Add missing LGPL 2.1 licence headers (#4051) 2017-06-24 01:25:23 -07:00
Choonster TheMage cb02f24cf2 Fix uncaught ClassCastException from invalid recipe file (#4043)
A JsonSyntaxException will now be thrown, caught and logged when the conditions property of a recipe isn't an array
2017-06-24 01:24:54 -07:00
TechnicianLP f670ec4f0b Fix onBlockClicked handler firing twice and Item.onArmorTick in the wrong place (#4037) 2017-06-24 01:01:28 -07:00
mezz d769d83224 Update MCP to 20170624 2017-06-24 00:56:21 -07:00
Ben Staddon b0dfaa2b81 Remove Java 8 warnings now that Minecraft requires it 2017-06-23 23:31:50 -07:00
Ben Staddon 286f6a910b Fire AnimalTameEvent for parrots (#4003) 2017-06-23 23:11:47 -07:00
tterrag b71ab7e444 Make ForgeRegistry iterator sorted. Closes #4058 (#4059) 2017-06-23 23:52:27 -05:00
LexManos dd42f84a47 Loosen up registry locks until data freeze. 2017-06-23 17:52:59 -07:00
LexManos d032a34aaa Fix conflicts 2017-06-23 16:59:57 -05:00
LexManos f4afb6f56c Implement override tracking and syncing.
Overrides MUST be registered within a tracked event so we know what mod it came from.
This will allow servers/saves to select which mod 'wins' and becomes to active entry.
This should also mean that when connecting to a vanilla server things will revert.
2017-06-23 16:59:57 -05:00
LexManos 4b45eb8b68 Disable substitution test, substitutions are not managed the way they used to be.
We do not care about substitutions, People who replace entries should make them compatible with the existing item.
2017-06-23 16:59:57 -05:00
LexManos e805b12df8 Fixup some registry tests, dummies are now persisted across syncing. 2017-06-23 16:59:57 -05:00
LexManos dee84dc1e4 More work, game loads and runs now.
Moved Registry events to directly AFTER PreInit instead of before.
This allows modders to register handlers for it without @EventBusSubscriber.
It also allows you to register custom things needed before the construction of blocks or items such as Fluids.
TODO: Move Fluids to a real registry.
@ObjectHolder can now be used on private fields.
Reworked FMLModIdMappingEvent to include data for all registries.
Tile Entities are now registrable.
2017-06-23 16:59:57 -05:00
LexManos a26d89c876 First pass of registry rewrite.
Tests do not run yet.
Things of note:
Removed the idea of substitutions, just register multiple items with the same name they will override each other like a normal map.
Decoupled Forge registries from vanilla classes. They now use bouncer classes. MODDERS SHOULD NEVER USE THESE
Introduced more stringent registry locking. As it sits things are only allowed to be registered during the RegistryEvent.Registry phases!
This is to force modders to split up their registrations, and pave the way for calling these functions multiple times during a single MC lifecycle.
ObjectHolder, Missing Mappings, etc... *should* now work for all registry types, nothing should be special cased to Blocks/Items anymore.
Added optional generic dummy factory to registries, to allow registry creators the ability to dummy more then just Blocks.
Re-worked the ItemStack transformer and applied it to ItemBlock and ItemBlockSpecial. Allowing us to cleanup reflective hacks in Block callbacks.
Registry onAdd callback is now only fired on the ACTIVE registry, fixing any issues of temp registries overriding active objects.
2017-06-23 16:59:57 -05:00
mezz 423f9fc04b Fix Universal bucket handling for Fluids with NBT (Fix #3757) 2017-06-22 23:40:49 -07:00
diesieben07 0e9820c51c Clean up Logging (#3953)
# Conflicts:
#	patches/minecraft/net/minecraft/client/renderer/texture/Stitcher.java.patch
#	patches/minecraft/net/minecraft/client/renderer/texture/TextureMap.java.patch
#	patches/minecraft/net/minecraft/entity/EntityList.java.patch
#	patches/minecraft/net/minecraft/tileentity/TileEntity.java.patch
#	src/main/java/net/minecraftforge/oredict/OreDictionary.java
2017-06-22 23:18:49 -07:00
mezz 68c6e7862e Fix ShapedOreRecipe matching. #4038 2017-06-21 22:10:55 -07:00
LexManos f1881453be Fix recipe names in packaged jars. Closes #4039 2017-06-21 01:46:52 -07:00
Ben Staddon a30316e6a1 Update NoteBlockEvent with new instruments. Resolves #4018. (#4019) 2017-06-20 23:50:32 -07:00
mezz 98f464ad43 Fix Chunk patch (#4036) 2017-06-20 20:40:45 -07:00
TechnicianLP e056c79ec7 IRecipeConditions forge:and and forge:false (#4017) 2017-06-20 02:19:14 -07:00
mezz 17a714f7fd Fix patches in Chunk and Explosion (#4036) 2017-06-19 23:27:52 -07:00
mezz c6d7c7c11f Fix itemstack comparison with null 2017-06-19 23:27:52 -07:00
LexManos a2749e4507 Fix loading recipe jsons from jar files. 2017-06-19 17:18:53 -07:00
Vincent Lee f7831fbe99 Fix shapeless recipes not being able to use NBT on output, and fixed issue with null groups. 2017-06-19 16:49:21 -07:00
Lumien 303578b2f2 [1.12] Fixes Exception when getting modlist for a vanilla client (#4028) 2017-06-19 16:47:34 -07:00
Ben Staddon 80d9beedc9 Remove unused patch to ItemRecord. Closes #2686. (#4035) 2017-06-19 16:47:01 -07:00
mezz fcb596ea1e Log info on Travis tests 2017-06-18 22:52:12 -07:00
mezz b39ade30c3 Disable TestNetworkHandshake to make Travis work again 2017-06-18 22:51:09 -07:00
mezz 3e6c15168b Add timeout to TestNetworkHandshake setup 2017-06-18 22:50:47 -07:00
mezz e3777f4559 Add missing Override annotations 2017-06-17 18:24:17 -07:00
mezz c2845967cc Update MCP mappings to 20170617 2017-06-17 18:06:04 -07:00
mezz 3d322ef925 Update mcp mappings to 20170611 2017-06-17 17:13:44 -07:00
mezz 864b05074e Clean up ShapedOreRecipe and ShapelessOreRecipe 2017-06-17 17:13:44 -07:00
Shadowfacts f009435fa4 Allow condition factories to be registered from JSON (#4015) 2017-06-16 20:24:58 -07:00
cpw 4a4c38b4e0 Patch a small bug in SPacketLoginSuccess that lets us emulate the network
handshake. This will be very useful as I rebuild the networking.
2017-06-16 22:00:54 -04:00
LexManos b5260a386d Filter any recipe starting with _, Such names are reserved for metadata.
Actually implement conditions for recipes.
2017-06-15 19:30:05 -07:00
LexManos 65ec1f5d54 Fix NBT ItemStack support in json loader. Closes #4002 2017-06-15 16:07:55 -07:00
LexManos e16f70f95e Fix OreIngredient comparing items in reverse. Closes #3999 2017-06-15 13:13:44 -07:00
Marvin Rösch 50e268bdf5 Make registries persist by default, fixes #3989 (#3998) 2017-06-15 13:00:46 -07:00
tterrag 8833386ada Fix exception in ShapedOreRecipe.checkMatch for recipes that don't fill entire crafting grid (#3995) 2017-06-15 01:12:54 -07:00
LexManos dbc0a4e0fd Fix parseShaped missing Empty slot item. Closes #3990 2017-06-14 20:25:22 -07:00
LexManos 5e70ee45be Fix CraftingHelper.parseShapred error. Closes #3979 2017-06-14 15:59:59 -07:00
LexManos 22d243e70d Fix NPE in config menu with custom keybinds. Closes #3985 2017-06-14 10:23:49 -07:00
LexManos a8659a1613 In-progress Registry system enhancement.
Needs cpw to take a look at enabling removing/overriding in the registry stuff.
But in theory it loads json recipes for mods now.
2017-06-14 10:14:56 -07:00
LexManos 54d26cb4cc Update ASM for 5.2, and host it on Forge's maven now. 2017-06-11 11:35:22 -07:00
mezz cd3905502e Update VanillaRegistryTests 2017-06-10 19:47:04 -07:00
cpw 3fee319bc0 Try a different way of doing the callback, it removes the derpitude, but at
one point, I thought the way it was was necessary. Is this a race condition?
Dunno, but it's a lot simpler and doesn't rely on a netty hack.
2017-06-10 22:22:16 -04:00
cpw d90637f8b5 Fix the netty bug introduced by netty commit https://github.com/netty/netty/commit/29fdb160f33776c76f0b46aada48a9c9f3babcbf
that means we don't get activated until after handlerAdded is complete.
In effect, our handler can't handle anything until handlerAdded has
completed.
2017-06-10 22:22:16 -04:00
LexManos f1cca475ea Initial patch update to 1.12.
Some things to note:
Netty is screwy so currently can't join single player. @cpw
Crafting has been MAJORY reworked. The current GameRegistry functions are nooped, this is IN THE WORKS.
  Just need to move the recipe list to a full class registry, and then re implement the in-code recipe registration.
  Also, it IS advised that modders move to JSON, because ideally we'll see a S->C recipe syncing system in 1.13
  which would allow servers to have custom recipes.
  OreDictionary currently 1/2 works, need to write a better algorithm for replacing ingredients.
  Please be patient
Rendering:
  A lot of functions got a new float parameter, this is similar to partial ticks, needs more research
2017-06-10 22:22:02 -04:00
mezz 286777b824 Fix getShareTag replacing data on the server (#3776) Closes #3682 2017-06-04 18:38:16 -07:00
LexManos e67bde9e9e Fix crashed caused by bad mods reflectively breaking the grass drop list. Closes #3943 2017-06-02 16:22:16 -07:00
LexManos c544f06880 Fix shaders not loading from mod domains Closes #3921 2017-06-01 15:47:49 -07:00
Ben Staddon d867bd299f Clean up MapData patch (#3905) 2017-06-01 14:38:12 -07:00
TechnicianLP ca298ef6aa NBTTagList implements Iterable<NBTBase> (#3884) 2017-06-01 14:37:22 -07:00
Vincent Lee df52accf76 Fix canRiderInteract being called on the wrong entity (#3934) 2017-06-01 14:35:05 -07:00
RlonRyan 8ddbf3b0a8 Changed Event.setCanceled To throw UnsupportedOperationException instead of IllegalArgumetnException when called on a non-cancelable object (#3926) 2017-06-01 14:34:24 -07:00
Ben Staddon 3b22b6cb67 Make Teleporter fields accessible to subclasses (#3930) 2017-06-01 14:32:49 -07:00
Erlend Åmdal e2f60c1aaf Deprecate vanilla getExplosionResistance and properly annotate the forge replacement (#3929) 2017-06-01 14:32:37 -07:00
Bartosz Skrzypczak 369008fe1d Make World.isValid and World.isOutsideBuildHeight public (#3919) 2017-06-01 14:32:05 -07:00
mezz e6dcfde214 Clean up formatting of Forge Test mods and disable noisy ones (#3908) 2017-05-29 02:10:40 -07:00
Kitten 4ea73399de Fix broken milk bucket model (#3925) 2017-05-27 09:53:46 -07:00
Mathe172 9c148b56f8 Fix patches of GuiScreen(#3704) and ItemDye(#3736) (#3878) 2017-05-26 14:19:58 -07:00
LexManos 4da5832290 Make hopper update accessible to subclasses. Closes #3849 2017-05-26 14:16:40 -07:00
Flaxbeard e1ddc4315c Update EntityPlayer armor calculations and ISpecialArmor (#3838) 2017-05-26 14:11:52 -07:00
Ben Staddon 2814df89b3 Tweak vertex lighter to avoid causing excess array initialisations (#3771) 2017-05-26 13:57:21 -07:00
Ben Staddon c6f181dcb2 Fixes for PlayerDestroyItemEvent being called with empty itemstacks. (#3728) 2017-05-26 13:54:13 -07:00
Madsthunder 7976ac4a2b [1.11.2] Added support for Village capabilities (#3648) 2017-05-26 13:51:18 -07:00
Luke Gilfoyle 5198b4d690 Fixes BlockLiquidWrapper placing a Static fluid where it should place a Flowing one (#3893) 2017-05-21 22:10:44 -07:00
diesieben07 03e922fa05 Disable frost walker enchantment on anything but vanilla water (#3906) 2017-05-21 13:52:25 -07:00
Matthew Messinger 81d61218b6 Fix head being angled badly when riding mobs. Fixes MC-1207 (#3901) 2017-05-21 12:37:28 -07:00
mezz 1c0b53f3bf Print system details on startup without printing a full crash report (#3909) 2017-05-21 12:30:57 -07:00
mezz 14d8151b02 Reduce memory pressure from new objects during loading screen (#3907) 2017-05-20 14:21:32 -07:00
diesieben07 acdfe97bd6 Add methods to write IForgeRegistryEntry to ByteBuf (#3806) 2017-05-18 13:47:13 -07:00
tterrag d77033b0d0 Fix normals not being generated for formats without normals (#3896)
Fix normals not being generated for formats without normals
2017-05-15 12:39:54 +04:00
mezz 61d00dd05f Fix MC-117087, prevent calling Class.getSimpleName on TEs unnecessarily (#3873) 2017-05-06 12:19:51 -07:00
ichttt 2df36137c2 Add a configurable delay when unloading dimensions, fixes #3455 (#3679) 2017-05-06 12:19:01 -07:00
Max Becker 34463690c5 Changed custom entity selectors from event based to factory based. (#3579) 2017-05-01 18:36:24 -07:00
ichttt 6ffd94a08e Create ItemFishedEvent, the event is cancelable, but items are not mutable. Use LootTables to control that. (#3705) 2017-05-01 18:10:47 -07:00
Vincent Lee 0b41a0a822 Fix forge pipeline block shifts (#3789) 2017-05-01 17:53:17 -07:00
Max Shen 27a5b60c89 Add pack.mcmeta to examplemod (#3813) 2017-05-01 17:52:36 -07:00
Ben Staddon 003d0c601d Relocate TileEntity#onLoad call to after it's added to the world instead of the chunk so as to have a valid world reference (#3836) 2017-05-01 17:41:37 -07:00
mezz 56ed8fec1e Improvements to FluidUtil (#3839) 2017-05-01 17:25:45 -07:00
diesieben07 b2e3f353df Allow client commands to control whether they can be invoked without prefix. (#3847) 2017-05-01 17:22:53 -07:00
mezz e4d04afd95 When the window is closed during loading, exit the game quickly (#3858) 2017-05-01 17:14:55 -07:00
mezz 91cc592a3a Remove splash.properties option for Mojang logo (has been disabled) (#3859)
Fix backgound color being applied to the Forge logo
2017-05-01 17:13:43 -07:00
ichttt cbf6cb9744 Fix GuiMultipleModsErrored ignoring scrolling with mouse wheel. (#3861) 2017-05-01 17:12:33 -07:00
Madsthunder 93a4e13837 [1.11.2] Fixed Zombie Villagers not setting and getting professions correctly (#3678) 2017-04-30 21:59:57 -07:00
Justin 460a2189d6 Prevent NPE in ConfigManager and fix config gui being enabled for all mods. Fixes #3856. (#3860) 2017-04-27 19:02:50 -07:00
LexManos af2ca8e250 Fix return value of ItemHandlerHelper.insertItem being incorrect when destination was null. Closes #3840 2017-04-25 12:06:23 -07:00
LexManos c0eea379a4 Fix vanilla inventory wrappers not properly calling markDirty. Closes #3854 and #3810
Also updated IItemHandler javadocs to reflect returning EMPTY instead of NULL.
2017-04-25 11:55:31 -07:00
cpw cec90d7f48 Add in a check to the splash screen. If the Display.update call takes
too long on average (over first 200 frames) we'll use a sleep based
timer to allow mods doing splash screen work some time on the
LWJGL global lock.

(cherry picked from commit 03d7eaa)
2017-04-10 08:33:01 -04:00
LexManos 69b72201ac Cleanup AccessTransformer debug output 2017-04-09 23:13:45 -07:00
LexManos d84ee35245 Fix NumberFormatException being thrown for empty ItemStack deserialization
Thanks @gabizou, 1.11.2 version of #3830
2017-04-09 23:13:13 -07:00
bogger33 3eb7b59cf4 Fix Fluid models rendering with gaps (#3747) Closes #2993 2017-04-07 17:57:00 -07:00
mezz 582f33fc85 Fix mutable blockpos leak MC-114281 (#3742) 2017-04-07 17:36:36 -07:00
Daomephsta f92425cf71 Fix typo in LootEntry.Serialiser causing incorrect serialisation. Closes #2757, Fixes MC-115407 (#3823) 2017-04-07 17:09:56 -07:00
PhiPro95 5f4cd69167 Fix invulnerable items becoming invisible client side MC-53850 (#3807) 2017-04-07 17:03:43 -07:00
John Protsen dbc6baf2f7 Add Item.canDestroyBlocksInCreative() allowing more items to not break blocks in creative (#3805) 2017-04-07 16:59:21 -07:00
diesieben07 646a8977d6 Ignore calls to sendMessage for fake players. Fixes #3796. (#3798) 2017-04-07 16:52:52 -07:00
Kina 2c7c538c73 Fixed HarvestDropsEvent issue by fixed-length lists on getDrops (#3778) 2017-04-07 16:51:21 -07:00
mezz 2234039b96 Add GenerateMinable event for mesa gold (#3774) Closes #3738 2017-04-07 16:48:28 -07:00
mezz 15aee5b18a Skip loading models if there is a fatal mod dependency error (#3772) Close #3768 2017-04-07 16:48:00 -07:00
Ben Staddon 901df8345c Add AnimalTameEvent for handling animal taming (#3763) 2017-04-07 16:47:28 -07:00
Ben Staddon f22874d3be Added missing bounds check to ChunkCache.getBiome (#3752) 2017-04-07 16:43:09 -07:00
Vincent Lee 72dd06ca85 Allow result of PlayerInteractEvent to be changed when it's cancelled (#3744) 2017-04-07 16:38:56 -07:00
Choonster TheMage 5ffbbd3b9f Add EnumHand and ItemStack to BonemealEvent (#3736) 2017-04-07 16:31:51 -07:00
Da-Technomancer fd0dabd60c Added a boolean flag for disabling Entity onUpdate (#3731)
The flag is false by default, and if true the Entity will not update. It is saved and loaded from NBT, and is called updateBlocked. Modders are responsible for managing this flag for entities they with to 'freeze' or 'unfreeze'.
2017-04-07 16:28:53 -07:00
Ben Staddon f7f46be8ff Revert block snapshots in reverse order. Fixes #3608. 2017-04-07 16:24:59 -07:00
Paulo "JCranky" Siqueira be2d814155 Add LootTableManager to the LootTableLoadEvent (#3717) 2017-04-07 16:22:49 -07:00
TheMasterGabriel b99aa9bca4 Fix EntityFallingBlock check for ITileEntityProvider (#3711) 2017-04-07 16:18:45 -07:00
Lance 671d462645 Added ClientChatEvent. Closes #1442 (#3704) 2017-04-07 16:09:46 -07:00
BlayTheNinth 52409e15cf Fix custom array entry class for config GUI being ignored when adding new entries (#3697) 2017-04-07 16:05:50 -07:00
kashike 9619be4a17 Use thread groups to detect the effective side (#3644) 2017-04-07 15:35:58 -07:00
Silly511 f0eb941abc New LivingDestroyBlockEvent for controlling if some entities can destroy blocks (#3628) 2017-04-07 15:34:26 -07:00
LexManos f2425b7486 Fix breaking particles on dedicated server. Closes #3825 2017-04-06 13:16:01 -07:00
LexManos ae96fd08db Fix arrays in map values for config system 2017-04-06 13:15:26 -07:00
LexManos d850ca890f [MC-2518] Fixed missing break sound and particles. Closes #3821 2017-04-05 14:28:28 -07:00
Justin 4d23ce1314 Fix java 6/7 compatibility in GuiConfig (#3824) 2017-04-04 17:19:13 -07:00
Kirill Kuznetsov b6194b0cca [1.11.x] Fix blank tab in creative inventory when additional tabs evenly divisible by 10 (#3817) 2017-04-02 19:50:10 -07:00
sinus 25497d310b Adding config GUIs to the @Config based configuration System (#3735)
Lots of internal API that modders should not touch. See test mods for example usages.
2017-04-01 14:24:50 -07:00
LexManos 72937c90be Fix vanilla bug where player reputations villages were reset on read.
Deprecated Username based API in favor of UUID based API.
2017-03-31 02:33:39 -07:00
LexManos 006b8cc8bd Add setter for default key in RegistryBuilder. Closes #3804 2017-03-23 11:23:54 -07:00
LexManos c1a38c541a Fix error when reading world info for old saves with missing dimensions. Closes #3786 #3331 2017-03-15 02:51:52 -07:00
mezz 4fbc847736 Detect and log cascading chunk generation issues during terrain population (#3756) 2017-03-14 21:19:47 -05:00
Earthcomputer 43375ded29 Fix duplicate achievements getting added to the achievement list (#3770) (#3779) 2017-03-14 21:04:09 -05:00
mezz 67247fba29 Fix #3733 Splash Screen memory bar background matches screen background (#3775) 2017-03-14 21:03:37 -05:00
Mattia Malonni ef94421dc6 Add additional constructors to EnergyStorage to set values at load time. 2017-03-14 21:00:13 -05:00
diesieben07 55587fca08 Fix parameter-names for WorldProvider.shouldMapSpin (#3767) 2017-03-07 15:29:09 -08:00
Paul Fulham 45e0738f43 Fix MC-112730 TE global renderer duplicate render (#3651)
* Fix TE global renderer duplicate render
2017-02-26 12:21:30 +04:00
Bartek Bok 724ffe1d70 Fix entity write catch block (#3726) 2017-02-24 16:03:19 -08:00
Bartosz Skrzypczak c49ff259b5 Fixed TESR items not rendering correctly before entering world (MC-112292) (#3666)
Fixed crash when rendering text in TESR items before entering world
2017-02-23 18:41:57 -08:00
Joseph C. Sible f4ce57cd21 Fixed 'reset to defaults' button not working on some Forge config fields. 2017-02-23 18:23:50 -08:00
sjx233 2003dee17f Add DifficultyChangeEvent (#3525) 2017-02-23 18:12:27 -08:00
David Quintana a6284e6053 Allow mods to set other default "home dimensions" for respawning. (#3528) 2017-02-23 18:08:58 -08:00
Vincent Lee a15dee61d6 Persist PotionEffect curative items and initialize defaults from Potion (#3573) 2017-02-23 18:04:06 -08:00
Guichaguri 384567c4a5 Added Forge slot methods to creative container (#3581) 2017-02-23 18:01:09 -08:00
Vincent Lee d3e4fde2b2 Restore missing Biome GetWaterColor event. Closes #3164. (#3625) 2017-02-23 17:47:21 -08:00
CoderAtParadise da5b2201fa Fixed Missing Furnace Fuels (#3627) 2017-02-23 17:46:37 -08:00
LexManos 9d71b667b6 Fix @Config.Comment not working on subcategory Objects. Closes #3593 2017-02-23 17:25:09 -08:00
Ben Staddon 64cb9cdafd Prevent concurrent modification of ClassInheritanceMultiMap (#3632) 2017-02-23 17:20:25 -08:00
ichttt bd4fe54753 Improve exception messages during initialization. 2017-02-23 17:15:11 -08:00
Ben Staddon 64c9aae0c4 Fixed ChunkCache.getTileEntity creating tile entities off world thread. 2017-02-23 17:12:37 -08:00
diesieben07 bf154730bd Start firing AttachCapabilitiesEvent<ItemStack> (#3645) 2017-02-23 17:09:02 -08:00
LexManos 5cce054548 Add @Name annotation to config system allowing you to use custom key for value.
Also added category option to root config to allow customization. See examples/docs for information.
2017-02-23 17:06:06 -08:00
LexManos a4a6d5fa6c Fixed Flower Forests not having proper flowers. Closes #3652 2017-02-23 15:51:36 -08:00
LexManos 7cdbe5d518 Fix Poppy to Dandelion ratio 2017-02-23 15:50:30 -08:00
Vincent Lee 1df8d5f8e5 Fix forge:default-item missing case for FIXED transform (#3663) 2017-02-23 15:36:48 -08:00
CreativeMD 3c3fcc0ffd Add implementation for Living Attack event on client-side for players (#3667)
* Fixed unused import
2017-02-23 15:35:44 -08:00
Ben Staddon ab4c4db0d5 Fix bug caused by ItemMinecart patch (#3672) 2017-02-23 15:27:02 -08:00
Vincent Lee e5eb2e795b Make getRGBDurabilityForDisplay use getDurailityForDisplay by default. Closes #3670 (#3673) 2017-02-23 15:25:43 -08:00
Aaron Hill 219e1d418b Add a null check for the throwable message in NetWorkDispatcher#exceptionCaught (#3688)
(cherry picked from commit 1be1bb59c5)
2017-02-23 15:20:32 -08:00
Ben Staddon d3c6130f88 Use Forge setting to determine baby zombie chance. Fixes #3690. 2017-02-23 15:18:59 -08:00
LexManos 403eda184a Properly fix IShearable implementation. Fixes shears taking damage twice, mooshroom particles, and blocks dropping incorrect loot. 2017-02-23 15:15:48 -08:00
LexManos 7c9b67b574 Fix English injection for some mods on dedicated server. 2017-02-22 11:42:44 -08:00
LexManos 6ae39ac027 Fix hoppers being able to insert shulker boxes into shulker boxes. 2017-02-21 14:22:28 -08:00
LexManos 7550f4b05e Override Mojang's new logging config to re-enable our logging to text file.
The new launcher's GUI for logs WILL NOT WORK until they add support on their end.
2017-02-21 14:21:54 -08:00
Kevin G 7aa1e00f31 Fix for bad decompile process on Particle.java that causes onGround flag to not get set properly as well as motionX and motionZ not being set to 0 when their axis has collision happening (#3716) 2017-02-19 21:39:27 -08:00
Vincent Lee a605c64c49 Fix ClientTickEvent Post firing inside another profiler section (#3715) 2017-02-19 21:21:48 -08:00
Vincent Lee 1d6cd35a09 Fix Item.doesSneakBypassUse being applied incorrectly. 2017-02-19 21:19:43 -08:00
RainWarrior b2e3233dc1 Added check for quad builder to always have the particle texture set, and fixed where that wasn't true. Fixes #3653 2017-02-19 22:11:31 +03:00
James Mitchell 5f6bf3b063 Stop rotation of extended pistons, beds, and double chests Fixes #3634
Fix rotation of repeaters and comparators
2017-02-19 10:48:43 -08:00
Florian "Sangar" Nücke caa85b33bf Fixed TileEntity#getRenderBoundingBox not offsetting correctly causing more TEs to render then needed (#3709) 2017-02-19 09:07:12 -08:00
Kevin G 59a3b3cc79 [1.11.2] Make AbstractSkeleton implementable by fixing limited access on getStepSound (#3702) 2017-02-17 09:47:49 -08:00
Choonster TheMage 6a15ab6ead Fix extracted mods crash report file name for Windows (#3701) 2017-02-16 23:01:11 -08:00
James Mitchell 8fbf4cf115 Remove dynamic lambda methods when inside of SideOnly methods
Clean signatures of ReflectionHelper methods.
2017-02-12 16:43:30 -08:00
diesieben07 6745022d46 Fix spawn-fuzz formula (#3695) 2017-02-12 13:28:27 -08:00
LexManos 4a6b3ef6e3 Fix world spawn fuzz. (reverted from commit 450c3a80c1)
Protip Don't code while groggy.
2017-02-12 12:18:21 -08:00
LexManos 450c3a80c1 Fix world spawn fuzz. 2017-02-12 12:11:40 -08:00
diesieben07 0e9d741163 Fix some cases where world time is not passed through the WorldProvider. (#3685) 2017-02-11 11:22:25 -08:00
Ivorius 3379ee7df2 Fix addTypes not adding in the base types. (#3681) 2017-02-05 09:47:07 -08:00
Ivorius 3e568b864e Replace listSubtypes with listSupertypes to match the intended behavior. (#3564) 2017-02-04 09:29:42 -08:00
mcenderdragon dcc76ccb58 this finaly fixes #2866 (#3656) 2017-01-24 10:30:31 -08:00
Vincent Lee ba875418fd Fix MC-111753 (#3655) 2017-01-24 10:29:43 -08:00
RainWarrior 7598d18a50 Fix default missing model zoom text not being set to false on all places. 2017-01-21 21:11:35 +03:00
RainWarrior 9888214524 Small bugfix in lighting logic. 2017-01-21 21:10:30 +03:00
Fry bbc107de96 Added the variant name to the missing model. (#3328) 2017-01-19 13:57:37 +04:00
James Mitchell 1e7eb6fb09 Fix #3635 MC-103403 fix ingredient count for ingot block recipes (#3640) 2017-01-17 15:40:09 -08:00
LexManos 7da6c2d0e1 New client config option to force all chunk rendering off the main thread.
This may help FPS issues, but may also result in world holes/rendering issues.
Also fix Forge configs not saving properly.
2017-01-17 13:34:03 -08:00
LexManos 50bf03b82b Cache entity constructors for a small performance optimization 2017-01-17 13:07:22 -08:00
cpw 926472b359 Bypass forge chunk cache if it's configuratively disabled
(cherry picked from commit 9fe6385)
2017-01-14 17:46:00 -05:00
Vincent Lee 71efbf8132 Fix category comments not working. Closes #3593 2017-01-13 22:20:43 -06:00
Choonster TheMage d53397111b Fix Biome#getSpawnableList returning an empty list for non-vanilla EnumCreatureTypes (#3611) 2017-01-11 22:19:29 -08:00
Vincent Lee a41288644d Skip first baking in ModelLoader (#3621) 2017-01-11 18:33:13 -08:00
diesieben07 df0f1c4e75 Allow block to specify their type for AI pathfinding (#3546) 2017-01-11 16:43:41 -08:00
Ben Staddon 9835e3705c Fix vanilla bug MC-98707 (#3565) 2017-01-11 16:32:28 -08:00
James Mitchell bc381b92ea Improve performance of inserting into inventory wrappers (#3622) 2017-01-11 16:29:49 -08:00
Justin aed00b5dce Add missing patch to ItemStack isItemStackEqual (#3577) 2017-01-11 16:27:11 -08:00
Modmuss50 04885b3150 Add Iron Nugget to OreDictionary (#3571) 2017-01-11 16:19:08 -08:00
Ben Staddon a718077a2e Fix ContainerRepair patch to prevent NPE (#3553) 2017-01-11 16:14:38 -08:00
Ben Staddon d72888b6ab Fix DungeonHooks method to use correct type (#3587) 2017-01-11 16:13:32 -08:00
liach d672584b8d Removed an unsafe usage of EntityMinecart.getType() (#3592) 2017-01-11 16:13:14 -08:00
ichttt 3d12ef56b5 Fix #3576 Unnecessary warning about totem being renamed (#3614) 2017-01-11 16:12:08 -08:00
Vincent Lee a824214333 Fix milk not working on anything at all (#3574) 2017-01-11 15:19:20 -08:00
James Mitchell 941c3eff02 Fix #3596 Close jar sources safely in Java 6 (#3597) 2017-01-11 15:18:33 -08:00
James Mitchell c545b8ecd4 Clean up null issues, add more annotations (#3590) 2017-01-11 15:17:56 -08:00
Ben Staddon 43efa3cfc4 Small cleanup for PlayerInteractEvent (#3563) 2017-01-11 15:17:08 -08:00
Ben Staddon 60211e6cd6 Fix and clean up ItemBow.onPlayerStoppedUsing() patch (#3555) 2017-01-11 15:16:37 -08:00
Vincent Lee b020ea06ae Fix IItemHandler's IStorage using nulls (#3580) 2017-01-11 15:16:07 -08:00
Phylogeny 4b627a3672 Fix null check in BrewingRecipeRegistry (#3584) 2017-01-11 15:15:57 -08:00
Ben Staddon c4dea9fc66 Fix a couple more ItemStack null checks (#3586) 2017-01-11 15:15:47 -08:00
James Mitchell 43f3b3ec65 Use travis_wait to extend the timeout on gradlew build (#3610) 2017-01-11 15:15:00 -08:00
RainWarrior da3af92343 Fix super call to ItemOverrideList constructor inside AnimationItemOverrideList, fixes #3264. 2017-01-07 04:27:36 +03:00
RainWarrior cea922432a Added caching for baked vanilla models, fixes #3594. 2017-01-07 02:58:36 +03:00
Vincent Lee d2872ec7a2 Fix horse cap patch being reapplied in the wrong place (#3609) 2017-01-05 22:28:08 -08:00
James Mitchell 9ce6f8e03b Add .travis.yml (#3598)
* Add .travis.yml

* fix --refresh-dependencies

* try java 8

* add build with stracktrace

* Fix running test

* try building with java 6

* try using simplified init.gradle

* Revert "try using simplified init.gradle"

This reverts commit e56041e794.

* Revert "try building with java 6"

This reverts commit 51795385f4.

* Fix running tests

* skip createExe task

* Test with broken debug mod

* Revert "Test with broken debug mod"

This reverts commit 3b26700582.
2017-01-04 14:57:59 -05:00
LexManos 042c8ec739 Fix tests... 2016-12-26 21:52:15 -08:00
LexManos 966c6263c3 Inital 1.11 update. 2016-12-26 21:34:18 -08:00
James Mitchell a561f4c41c Fix #3561 import io.IOUtils instead of compress.utils.IOUtils (#3562) 2016-12-23 15:23:31 -08:00
James Mitchell 5165dc52bf Update MCP mappings to snapshot_nodoc_20161220 (#3551) 2016-12-21 15:52:30 -08:00
James Mitchell 1f4007e5d8 Properly deobfuscate lambda expressions (#3552) 2016-12-21 11:15:13 -08:00
James Mitchell 08a4f5f314 Add nullable annotations to IGuiHandler (#3550) 2016-12-21 11:14:52 -08:00
James Mitchell 9010f1d7e7 Add hook to allow any block to respond to filtered block updates like the Observer block (#3547) 2016-12-21 11:14:36 -08:00
James Mitchell e9143859c0 Fix some resources that are never closed, close in a finally block (#3544) 2016-12-21 11:13:27 -08:00
Ben Staddon e32cc2a607 [1.11] Fixes for Chunk.getBlockLightOpacity implementation (#3537) 2016-12-21 11:12:48 -08:00
Justin 95e523f943 [1.11] Fix ItemHandlerHelper canStack and ItemStack areTagsEqual methods not checking capabilities (#3500) 2016-12-21 11:11:25 -08:00
James Mitchell b9ebc44790 Make NBSP character display as a space. MC-2595 (#3522)
Add easy getter for the Locale: MinecraftForgeClient.getLocale()
2016-12-17 13:27:45 -08:00
CoderAtParadise bdcfefeb42 Added Oak door to Ore Dictionary Exclusion list to fix able to craft it with any wood type (#3519) 2016-12-17 13:26:30 -08:00
James Mitchell 4908f58b00 Fix setting the world in TileEntity.addTileEntity (#2863) (#3517) 2016-12-17 13:26:07 -08:00
Max Becker 7c72e5168f [1.11] Made WalkNodeProcessor consider burning blocks (#3515) 2016-12-17 13:24:10 -08:00
James Mitchell 6a125ae0d4 Fix uses of uppercase "Forge" where it fails Loader.isModLoaded(modID) (#3513) 2016-12-17 13:23:39 -08:00
Ben Staddon 4530967009 Patch EntityPlayerSP to use location-aware version of isNormalCube (#3494) 2016-12-17 13:23:04 -08:00
James Mitchell 20e026e601 [1.11] Add memory display to loading screen (#3447) 2016-12-17 13:16:24 -08:00
Hasun a997222aca reset repo to upstream and reapplied patches (#3434) 2016-12-17 13:10:17 -08:00
Rock Hymas 8dc4b5f9b5 [1.11] Added EnchantmentLevelSetEvent (#3433) 2016-12-17 13:06:51 -08:00
Minecrell 22db1965c7 Register Minecraft mod container in FML loader (#3414) 2016-12-17 12:56:10 -08:00
LexManos b203468cde Small memory optimization in Registries. 2016-12-16 13:01:39 -08:00
LexManos 1e6ae7d1f7 Fix modid field name for ProjectInjector. 2016-12-16 13:01:23 -08:00
LexManos 7fe8c48983 Enable Enforcement of modid formatting. Must be lowercase and <= 64 characters 2016-12-09 14:36:15 -08:00
LexManos babe0c2d53 Bump version for RB. 2016-12-05 20:54:35 -08:00
mezz 8eea766288 [1.11.x] Refine fluid placement utilities (#3509) 2016-12-05 20:17:47 -08:00
LexManos 160427b12c Properly filter out annotations that are for multiple mods in the same mod source.
This prevents disabled mods from getting their proxies injected.
Also prevents mods from getting their proxies injected multiple times.
Effects the @EventBusSubscriber, @Instance, @Metadata, @SidedProxy annotations.
If the target modid is not in the annotation data, and there are multiple mods in the source, it will attempt to find it by matching the annotations's class names.
This is a potentially breaking change. Review your logs for "skipping" messages.
2016-12-05 17:19:15 -08:00
LexManos aee9d8c9b4 Prevent a crash when scheduling block updates for non-existing blocks #3485 2016-12-05 15:12:13 -08:00
LexManos daf21e4dcf Fix issue reading chunks from the network when client and server do not agree on block count. Closes #34925 2016-12-05 13:53:38 -08:00
LexManos b270839e91 Restore missed patch in World.updateComparatorOutputLevel. Closes #3495 2016-12-05 13:07:41 -08:00
LexManos c6bc4ec5a9 Make SlotItemHandler override Slot.getSlotStackLimit. Closes #3497
Make Container.mergeItemStack respect target slot's max size when slot is non-empty. Closes #3498
Fix Shift clicking in Beacons with stacked items when fuel slot is empty.
2016-12-05 12:56:05 -08:00
LexManos c82d3af550 Added gradle.properties to MDK (#3361)
The file sets the default max heap size to 3 GiB so that the decompilation doesn't fail as often.

(cherry picked from commit 49ec3d1b93)
2016-12-05 12:16:30 -08:00
LexManos 3ef3b46ebb Add ItemBlockSpecial#getBlock (#3343)
(cherry picked from commit cf26f4acbe)
2016-12-05 12:15:56 -08:00
LexManos 621d67d36a Add null check and informative error message when client receives an invalid update packet (#3266)
(cherry picked from commit 882e0e3bf2)
2016-12-05 12:13:39 -08:00
LexManos 4b7219c07f Fix for showing config default values twice in tooltip (#2257) (#3338)
(cherry picked from commit be73ec3d5e)
2016-12-05 12:07:44 -08:00
LexManos f9c74cfc77 Added isItemValidForSlot check to hopper extraction (#3444)
(cherry picked from commit 0348760a77)
2016-12-05 12:06:16 -08:00
LexManos c1e832bff0 Fix NPE when rendering missing mod screen with version bound requirements. #3501 2016-12-05 12:03:23 -08:00
LexManos 61fc4a70a3 Make sure to log kick messages in NetworkDispatcher. Closes #3507 2016-12-05 12:01:53 -08:00
Ben Staddon 6921ee54f5 [1.11] Fix null checks in shouldCauseReequipAnimation (#3482) 2016-12-03 10:47:57 -08:00
mezz a913a8a0f9 [1.11] Add biome dictionary types for newer biomes (#3475) 2016-12-03 10:46:36 -08:00
BlayTheNinth 2009b3ec5e [1.11] Add canApplyAtEnchantmentTable to Item (#3463)
Allowing increased control of which enchantments can be put on an item over Vanilla's hard-coded item type checks.
Render enchantment buttons disabled when the item is enchantable but the enchantability requirement is not met on lower levels.
2016-12-03 10:43:29 -08:00
mezz e09e6c0f24 Add a way for modded GuiScreens to cancel mouse and keyboard events (#3438) 2016-12-03 10:32:09 -08:00
diesieben07 1f26b3c3f2 Add missing pooled BlockPos retain in World patch (#3486) 2016-12-03 10:22:48 -08:00
liach 2337b0a6ae Moved TextureStitchEvent.Pre to allow custom sprites for blocks (#3436) 2016-12-01 20:49:23 -08:00
Ben Staddon 14f3120eed Fix sky colour blending not working for render distances >16 (#3476) 2016-12-01 18:49:34 -08:00
LogicTechCorp 0b9988bf45 Allow connectable blocks to choose what they can connect to (#3437) 2016-11-30 17:51:36 -08:00
CoderAtParadise 249c468a75 Changed Armor Material to use an ItemStack aware version (#3469) 2016-11-30 17:08:30 -08:00
Ben Staddon ef1efaffec Fix Redstone Torch memory leak (#3474) 2016-11-30 16:26:38 -08:00
diesieben07 96f88538d5 BiomeDictionary code cleanup (#3466) 2016-11-30 15:48:44 -08:00
TechnicianLP dac8e49f50 Added EquipmentChangeEvent (#3411) 2016-11-30 15:15:14 -08:00
Marvin Rösch 5da0ac73b9 Update assets to new Forge brand (#3464) 2016-11-30 14:56:31 -08:00
LexManos 8d20258f3c First pass at exposing data fixers to modders.
Each mod gets its own version number, mods SHOULD NOT rely on other
mod's fixers, just care about yourself.
Walkers can use IDataFixerData to retrieve their version.
2016-11-28 16:05:41 -08:00
Vincent Lee c17b40790b Add getSlotLimit(slot) to IItemHandler (#3445) 2016-11-28 16:03:47 -08:00
cpw b048c1a4b5 Pass along if the respawn event was the result of the end being conquered or not (end respawning is really FUNKY code and uses death instead of 'change dimension') 2016-11-27 23:58:41 -05:00
kashike 12733656eb Add method to check if an Entity can trample a Block. Fixes #2510 (#2730) 2016-11-27 02:40:23 -08:00
mezz 4b51536592 Provide access to GuiContainer location and dimensions (#3440) 2016-11-27 02:24:32 -08:00
Ben Staddon 86a772ee8c Clean up handling of changes to IVertexConsumer (#3458) 2016-11-27 02:01:26 -08:00
mezz daee86d14d Provide access to ShapedOreRecipe width and height (#3439) 2016-11-27 01:49:13 -08:00
Ben Staddon 059605e352 Quick fix for another ItemStack null check (#3426) 2016-11-27 01:49:06 -08:00
cpw 45aa74454b Fix problem with the server hanging around after forcing the client to exit, leaving behind stale processes. 2016-11-25 02:08:52 -05:00
mezz c22382d12e Fix using the wrong Pair implementation (#3449) 2016-11-24 20:15:32 -08:00
mezz 969a75154f Fix #3432 Hopper and Dropper item moving does not exactly match vanilla (#3442) 2016-11-23 12:45:07 -08:00
mezz 95ecd2a8f4 Fix #3424 ItemCraftedEvent returns air when shift-clicking (#3441) 2016-11-22 22:47:53 -08:00
mezz 2bd8b95a3b Cleanup some null checks and remove deprecated methods in Item and Block (#3429) 2016-11-22 15:20:05 -08:00
LexManos 2823447b6e Fix max CustomPayload size, 1MB not 16MB. 2016-11-22 12:13:30 -08:00
LexManos e03d5915e5 Insert FML packet handler into Vanilla pipelines in case modders send FMLPacket to vanilla. Fixes #3422 2016-11-22 12:13:07 -08:00
LexManos 8719fa0263 Make all tests one side only, so we can test vanilla clients in dev env. 2016-11-22 12:12:13 -08:00
LexManos 8f03658f1f Fix AbstractMethodException in FML Registries. Closes #3427 2016-11-20 16:15:15 -08:00
LexManos b039e2172b Fix ItemStack null check in PlayerInteractionManager 2016-11-18 15:29:55 -08:00
Shadowfacts b4881195b3 Move EntityHorse capability patches to AbstractHorse (#3417)
Fixes #3409
2016-11-18 15:29:18 -08:00
LexManos f12a4b5c1e Fix Item transfers related to Hoppers. 2016-11-18 14:42:22 -08:00
TechnicianLP 668bf47337 Remove Block.addInformation exists in vanilla (#3413) 2016-11-18 13:24:49 -08:00
Shadowfacts 9cf74914e7 Initial annotations/nullability changes (#3392) 2016-11-18 13:24:03 -08:00
iChun 1fa0c0c548 Add GetCollisionBoxesEvent. Allows manipulation of the collision boxes of blocks for entities. MC1.11 edition. (#3405) 2016-11-18 12:24:55 -08:00
LexManos 97ea0c4713 First draft of Entity Registry re-write. 2016-11-17 19:06:42 -08:00
LexManos 5ac6d374ed Make Wither Skulls respect Block.canEntityDestroy. Closes #3404
(cherry picked from commit 6b52023a5c)
2016-11-17 12:49:18 -08:00
Bartosz Skrzypczak 658769ea45 Added EnumHand parameter to Block.getStateForPlacement (#3402) 2016-11-17 12:22:14 -08:00
LexManos 96ef9b564b Fix client side placement issue on blocks with GUIs. Closes #3399 2016-11-17 12:15:28 -08:00
LexManos 85a2a2e661 Fix issues with ZombieVillagers Closes #3398
1.11 doesn't intertwine zombie types anymore so our edits to split them out for custom professions are not needed.
2016-11-17 12:14:23 -08:00
Terrence Ezrol f028ba88f5 Fix Villagers for 1.11 (#3401)
- Add cartographer registry entry
- Fix textures for the nitwit
2016-11-17 10:59:13 -08:00
mezz 150566d9a3 [1.11] Fix nullability issues around ForgeHooks and Capabilities (#3395) 2016-11-17 10:44:31 -08:00
Larsg310 bf090cb4c2 Change OreDictionary over from "null" to the new ItemStack system. (#3400) 2016-11-17 10:43:22 -08:00
LexManos df32442a64 Do not install mod_list.json for optional mods.
Classpath scanning is in so they will still be detected
2016-11-16 21:32:49 -08:00
LexManos 5fd5f78bb9 Include Mercurius in installer. See Forge Forums for more info. 2016-11-16 19:21:48 -08:00
LexManos 6dcd276de1 Restore the ability to register modded TileEntities. 2016-11-16 16:54:34 -08:00
mezz eb6b3ea228 Implement fluid item capabilities without item swapping 2016-11-16 16:17:21 -08:00
mezz 6f1a44a405 Remove deprecated Fluid stuff 2016-11-16 16:17:21 -08:00
Shadowfacts bf8fa5d286 Fix crafting causing crash (#3388) Closes #3387 2016-11-16 16:15:24 -08:00
LexManos 42a7036393 Fix ItemStackHandler's constructor ignoring size. Closes #3386 2016-11-16 16:06:52 -08:00
LexManos 3ea027c3bd Fixed damage bar color. Closes #3389 2016-11-16 16:06:12 -08:00
LexManos 6741967608 Make EntityShulker fire EnderTeleportEvent. Closes #3383
(cherry picked from commit d48985fafa)
2016-11-16 16:05:41 -08:00
LexManos f0d9bf7886 Added event to allow modification of player visibility to mobs/AI (#3382)
(cherry picked from commit 0a5ef64d6e)
2016-11-16 15:10:14 -08:00
LexManos def75dc092 Restore another missing patch in WorldProvider. 2016-11-16 14:27:06 -08:00
LexManos b067435fa3 Disable capabilities for empty ItemStacks. 2016-11-16 14:26:47 -08:00
mezz e498dc7532 [1.11] Fix initCapabilities for ItemStacks (#3379) 2016-11-16 14:15:02 -08:00
LexManos cc48280a8b Apply missed patch to WorldProvider. 2016-11-16 13:57:01 -08:00
LexManos 843d3022f8 Fix build.gradle problems:
Installer missing url.png
UploadArchives erroring on local systems due to missing changelog
Adding branch name improperly.
2016-11-15 23:38:23 -08:00
LexManos f8cba13b5b Fix localizations not loading correctly in legacy resource packs. 2016-11-15 22:59:31 -08:00
LexManos 41916ae39a Fix FurnaceRecipy registration. 2016-11-15 22:34:48 -08:00
LexManos 648067efc2 Fixed test cases for 1.11 changes. 2016-11-15 20:28:12 -08:00
LexManos c459b87ec9 Initial 1.11 release update. 2016-11-15 19:26:10 -08:00
cpw 4e6a774075 Initial 1.11-pre1 update 2016-11-13 17:09:55 -05:00
cpw c177219ff3 regenerate entitylivingbase patch 2016-11-12 10:16:10 -05:00
cpw 9ab96fbda6 Update to 20161111 mcp names 2016-11-12 10:05:32 -05:00
mezz 7a4aa5a1c4 Improve error message from crashes during loading (#3362) 2016-11-10 20:00:11 -06:00
Draco18s 998a78c3c1 Added events for crop growth (#3320) 2016-11-07 14:40:44 -08:00
Max Becker 42e0fbbb02 Add support for custom entity selectors in commands (#3356) 2016-11-05 13:12:05 -07:00
LatvianModder 27ebd0e9b9 Added PermissionAPI (#3155) 2016-11-04 13:36:30 -07:00
Choonster TheMage 9a9c02fa25 Add hand argument to BlockEvent.PlaceEvent (#3221) (#3270) 2016-11-03 11:53:12 -07:00
Jezza 5802a3b0b6 Fixes #3237 and #2752. (#3347)
* Fix #3237 by correctly utilising the keepLooking argument.

* Explain within SimpleNetworkWrapper's javadoc that the execute of the handler isn't on the main Minecraft thread.
2016-11-03 03:34:25 -07:00
Draco18s dc871ea273 Made default slot implementation respect inventory stack size limit. 2016-11-01 13:41:14 -07:00
Aaron Hill 5c78361b27 Fixed Block.setBedOccupied ignoring 'occupied' parameter 2016-10-31 17:45:43 -07:00
Raoul 56e347d05a Add Item#getNBTShareTag (#3342)
* Add Item#getNBTShareTag

* Update comment
2016-10-30 12:24:14 -05:00
boni 5f9034d95b Call Looting Event on player death and loot table drops (#3275)
* Call Looting Event on player death and loot table drops

* Simplify patches

* More code cleanup: Replace old usage with compact forgehooks implementation
2016-10-30 10:53:50 -05:00
LexManos 858056c089 Fix POTENTIAL issue with Texture Stitcher exceeding max size. 2016-10-25 00:34:45 -07:00
CoderAtParadise bd62cf81fd Fixed Ore Dictionary replacing the oak boat recipe (#3329)
Fixes the oak boat recipe being able to be crafted with any wood
2016-10-24 13:44:18 -07:00
RWTema a1bbcf8a0b Improve the default isItemValid() and getItemStackLimit() implementations in SlotItemHandler. You can now properly swap the player's held itemstack with the slot's itemstack. (#3273) 2016-10-24 12:44:56 -07:00
LexManos 1eee6cd382 Fixed texture stitcher not using full texture height before expanding width. 2016-10-23 19:57:49 -07:00
LexManos 129f58c02f Update readme to be a little more clear. 2016-10-23 14:07:48 -07:00
LexManos 159ca09c54 Special case not drooping snowballs for water and snow layers. Closes #3326 2016-10-23 14:07:24 -07:00
Ben Staddon 9ecb005e98 Fix MC-105406 (OpenGL leak in View Frustum) (#3308) 2016-10-23 12:32:44 -07:00
mezz b0558c63de Fix very laggy mipmap slider MC-64581 (#3305) 2016-10-23 12:30:44 -07:00
Shadowfacts 80f0e0bb93 Add Block#getStateForPlacement (#3129) 2016-10-15 11:09:23 -07:00
mezz bea5d44273 Add better key modifier behavior for GUI contexts (#3307) 2016-10-14 13:14:27 -07:00
tterrag 7bbd3954f5 Make item repair recipe respect itemstack's getMaxDamage (#3295) 2016-10-11 16:40:59 -07:00
LexManos cfa63792bc Fix infinite loop in dragon fight when the dragon is over the void. 2016-10-11 12:35:18 -07:00
LexManos 490573a71f Fix Tabbing issues with config classes. 2016-10-11 12:21:14 -07:00
LexManos 9c7d20b3a1 Initial pass a re-working the configuration system.
Work in progress.
2016-10-10 22:15:35 -07:00
cpw d7b241c224 Add in missing test runner for a test. Fixes failing tests on jenkins, hopefully. 2016-10-10 15:20:51 -04:00
cpw d7dda9e960 Fix substitutions being broken after freezing - actually store the original state in registry copies, not the computed state, which is wrong because it only sees the sub, not the original. 2016-10-10 15:04:45 -04:00
cpw 5f06c95cfa Revert "Another fix for registry substitutions. Closes #3212"
This reverts commit ec2977afc9.
2016-10-10 15:04:45 -04:00
LexManos 6e8c05343c @ObjectHolder will now inject null for dummied objects. Closes #3301 2016-10-09 15:57:18 -07:00
Steven Blom d3da111c08 Allow all Forge Registries to work with ObjectHolder (#3220) 2016-10-09 13:34:38 -07:00
LexManos 7a63e67e9d Revert commits related to filtering proxy and Automatic Subscriber annotations.
Broke some existing setups, will require a annotation definition change in 1.11.
2016-10-09 12:36:21 -07:00
mezz d159f5f4e2 Fix proxy injector filtering. (#3300) 2016-10-09 01:22:28 -07:00
LexManos 92eb71ae9c Bump version for new Recommended Build. 2016-10-08 16:33:27 -07:00
LexManos bc303074f6 Introduce IContextSetter for events.
This will set the active mod container for events using the normal EventBus.
Fixes improper warnings from initializing mods using the new Registry events.
Modders, you should not use this as it has many performance implementations
and if abused will slow down the event bus A LOT. ActiveModContainer is not
thread safe.
2016-10-08 16:30:53 -07:00
LexManos c0db34796b Filter out proxy injectors for incorrect mods.
Prevents mod classes being initialized early when multiple mods are in the same source.
2016-10-08 16:27:49 -07:00
LexManos ad1324d478 Small Cleanup in example build.gradle. 2016-10-08 16:26:24 -07:00
mezz 3a3c436e3f Fix unbound keybindings are activated by unknown keyboard keys (#3288) 2016-10-02 11:02:48 -07:00
mmehnert 4feb1dff50 caseSensitiveCustomCategories must be set before loading the configuration file. (#3269)
Otherwise one set with categories in lowercase letters and on case sensitive
set is generated.
2016-09-22 17:03:35 -07:00
tterrag d3ad8aed76 Fix typo in sky rendering causing tons of BlockPos allocations (#3267) 2016-09-21 12:50:24 -07:00
cpw 7a84376044 Add in registry registration events, new subscription events you can use to make sure you're registering things at the "best" time. 2016-09-17 21:13:15 -04:00
LexManos 1107088acb Add support for generic filtering of events.
Please DO NOT use this in performance sensitive environments where you will have tons of things added to the listener list.
If that's the case define sub-classes as they have completely separate lists and will thus be more efficient when firing the event.
2016-09-17 15:08:23 -07:00
Ivorius c58a66a816 Fix roofed forests posting decoration events for small mushrooms rather than big (#3259) 2016-09-17 10:51:35 -07:00
Matthew Messinger 2aaa4f424d Add support for offhand bow aiming animation (#3085)
Vanilla allows you to use a bow in your offhand, but it's not visible to others or in third person.
Fixes MC-88356
2016-09-16 18:53:17 -07:00
James Mitchell 89eb8f067d Remove oredict for Bone Block recipe, stop white dye to bonemeal exploit (#3255) 2016-09-15 01:03:52 -07:00
LexManos f08f3c1105 Fixed Biome.platFlower not being called when bonemealing grass. Closes #3254 2016-09-14 12:57:56 -07:00
LatvianModder 3b5ada083e Added getCommandMap() & getSortedCommandList() in CommandTreeBase (#3251) 2016-09-13 12:46:23 -07:00
Steven Blom 8dca9f2694 New event to allow mutating a baby entity based on it's parents (#3227) 2016-09-13 09:32:27 -07:00
LatvianModder 4e3b6b0f15 Added CommandTreeBase (#3193) 2016-09-13 00:36:51 -07:00
Paul Fulham cac55abec2 Fix debug command creating empty file (MC-103399) (#3218) 2016-09-13 00:31:43 -07:00
Marvin Rösch bf6437c12a Fix universal bucket not being returned in crafting recipes (#3234) 2016-09-13 00:02:01 -07:00
cpw 853667c084 Create EnergySystems.md 2016-09-12 20:45:52 -04:00
LexManos b879cc9b73 Fix potential shading issue in GuiEditArrayEntries. Closes #3247 2016-09-12 14:48:55 -07:00
LexManos 45097fed0c Introducing a new standardized energy capability system.
Heavily inspired by the old RedstoneFlux API developed by King Lemming and Team CoFH.
2016-09-12 14:47:59 -07:00
LexManos 5964bf8cb2 Fixed ItemStacks having ForgeCaps tag when no caps are serialized. 2016-09-11 11:05:48 -07:00
LexManos 24cccab718 Fix Cactus being able top be planted on incorrect soil. 2016-09-11 10:42:06 -07:00
bloodmc ca1f704e2f Fix wrong var being used during getMaxSpawnPackSize check. (#3240) 2016-09-09 11:27:10 -07:00
LexManos f9c7caaf0c Move dismount version of EntityMountEvent to Entity class. Should fix canceling dismounting. Closes #3226 2016-08-29 15:49:59 -07:00
LexManos a05d4234f0 Yet another fix for stupid stairs. Closes #3224 2016-08-26 22:01:01 -07:00
LexManos c3fe6ecf7c Make StructureBlock TESRs always render. Closes #3222 2016-08-26 15:26:29 -07:00
Paul Fulham 0c8f51bc95 Fix item use stats (#3216) 2016-08-22 21:29:48 -07:00
LexManos 12769dbaae Fixed decorate event being called with SHROOM type for both convered trees and large mushrooms. Closes #3215 2016-08-22 16:40:24 -07:00
LexManos ec2977afc9 Another fix for registry substitutions. Closes #3212 2016-08-21 15:54:57 -07:00
LexManos a01bfc260a Update gradle wrapper to 2.14, reference MC json, and add java6 compat lines to default MDK build.gradle. 2016-08-20 17:11:17 -07:00
LexManos d6d9a45100 Add legacy support for signature change of AddCallback. 2016-08-20 17:11:17 -07:00
boni 3222a9a771 Revert changes to ItemTool for binary compatibility (#3211) 2016-08-20 13:53:04 -07:00
boni 8dbfe1baad Expand getHarvestLevel to include player and blockstate (#3192) 2016-08-19 15:54:37 -07:00
LexManos 7f40d90b75 Make enchantment tables spawn particles for any custom energy provider. Closes #3208 2016-08-19 15:11:43 -07:00
Vincent Lee b25a9256d3 Allow blocks to affect the beacon color (#3205) 2016-08-17 16:06:35 -07:00
LexManos f3d0d99404 Fix armors rendering badly. Closes #3196 2016-08-15 15:19:52 -07:00
Abastro dd41990db4 Fixed NPE from missing Capabilities (#3191) 2016-08-14 13:58:54 -07:00
LexManos 0e286f880e Fix World Capabilities NPE when there are no attached capabilities. 2016-08-14 01:48:41 -07:00
Abastro bfddcfb4fc Introduced Capabilities for World (#3069) 2016-08-13 20:42:00 -07:00
LexManos b5db198f8b Fix vanilla bug in BlockFalling that caused blocks to loose state info during world gen. Closes #3183 2016-08-13 14:52:58 -07:00
MrIbby d17c025557 Added PlayerBrewedPotionEvent (#3187) 2016-08-13 13:38:45 -07:00
cpw 03c8852961 Don't crash if you select a fake player 2016-08-13 16:37:58 -04:00
LexManos 3a48a9cd73 Skip searching for mods in the JAVA_HOME directory. Closes #2249 and #2250 2016-08-13 13:28:21 -07:00
LexManos 20c662c1d0 Fix leather armor overlay not rendering when armor is pure white. Closes #3184 2016-08-13 13:02:59 -07:00
Joseph C. Sible 8195c36434 Fix test mod IDs, names, and versions (#3122)
Most of our test mods have bad IDs (uppercase) and are missing names or
versions. Forge produces a bunch of warnings in the console about this, which
makes it more likely that an important message will be missed.
2016-08-12 15:10:47 -07:00
Florian "Sangar" Nücke 180692ae5d Make InventoryHelper#spawnItemStack use ItemStack#splitStack to avoid losing capability data. (#3163) 2016-08-12 14:38:24 -07:00
shartte 7643be8cdc Unlike BakedQuad, UnpackedBakedQuad does not propagate the diffuse lighting flag to Vertex Consumers. Made UnpackedBakedQuad conform to BakedQuad's behavior. (#3181) 2016-08-12 14:33:38 -07:00
LexManos 4cd0f88a69 Add RenderTooltipEvent (#3034) 2016-08-12 13:57:07 -07:00
LexManos 1c8f22ed43 Set ModelLoader.WHITE's texture size iniatlly instead of defaulting to zero and being set later. 2016-08-12 13:49:46 -07:00
James Mitchell f20d728ed7 Fix #3165 Dispensers with buckets can destroy fluid handler blocks (#3180) 2016-08-12 01:36:18 -07:00
LexManos 704b683e27 Fix Fire not using getFireSpreadSpeed. Closes #3175 2016-08-09 17:04:55 -07:00
LexManos 1c11a3622e Fix issue with stairs. 2016-08-09 02:34:17 -07:00
LexManos fe2243df9f Removed unintentional functionality when using the Splash Screen. 2016-08-08 17:54:12 -07:00
LexManos fdea60f89a Disable DecorateEventDebug by default.
Prevents me thinking that decoration is broken >.<
2016-08-08 17:35:48 -07:00
LexManos 62ec59103a Compleetly skip FML handshake for Vanilla connections. Should fix race condition. Closes #3084 2016-08-08 17:35:15 -07:00
LexManos 69af6a9b8c Fix name in legacy support in registry changes. 2016-08-08 17:32:49 -07:00
LexManos ef28edb526 Make stair culling use actual state, and be more robust. Closes #3170 2016-08-08 17:32:32 -07:00
AlgorithmX2 bc6b008364 Fix Vertex Transformer for breaking models (#3132)
* Add setTexture to IVertexConsumer and propagate it.
2016-08-04 16:37:59 -07:00
LexManos 7c4ffde39c Fix Forge fluids not serializing properly. Closes #3152 2016-08-02 15:55:46 -07:00
LexManos f4e8804c8a Restone binary compatibility with registry substitution rework.
Modders please switch to using the provided RegistryBuilder to ensure more forward compatbility. Closes #3144
2016-08-02 15:55:18 -07:00
LexManos f088e3df6b Second pass at fixing 'Dissapearing Doors' This now more robustly fixes ALL uses of get and has slight performance improvements for itterable states. Closes #3139 2016-07-31 14:30:05 -07:00
LexManos 0f6b16cada Added config option to disable Forge's fix of Stair/Slab face culling.
Some vanilla resource packs exploit this issue in their custom models causing unintended rendering issues.
2016-07-30 10:31:46 -07:00
LexManos 4694152124 Fixed 'Dissapearing Doors', An issue where the world would try to save blockstates that are not serializeable. 2016-07-29 16:54:25 -07:00
cpw 0cba2ed4eb Allow CommandEvent to change the parameter set. Closes #1762 2016-07-29 17:15:19 -04:00
cpw 4dcee246d5 Another pass at substitutions - now capable of fixing up ItemBlock to point at the right block when a block is substituted, should also handle substituting itemblocks. There's some hackery in the way we have to change the value of ItemBlock.block, but it's not too egregious in my opinion. 2016-07-29 17:08:52 -04:00
cpw 53b43a6e1f Clean up AT file 2016-07-28 23:15:44 -04:00
cpw 1473334f61 Merge remote-tracking branch 'origin/pr/3120' into 1.10.x 2016-07-28 23:15:32 -04:00
cpw 7e15ab7da1 Fix anvil output slots being wrong by adding new ones. Closes #3121 without breaking existing mod workarounds for the badly ordered slots. 2016-07-28 22:17:35 -04:00
Vincent Lee 40f335ba66 Expose vanilla brewing recipe registration
(cherry picked from commit 24bf163)
2016-07-28 22:00:28 -04:00
cpw de80d4c4af Clean up some legacy settings, making sure there's translation strings. Closes #2965 Thanks for the prompt Zaggy! 2016-07-28 21:47:36 -04:00
cpw 2aa7260bbb Refresh patch after cherry pick (cherry picked from commit 71f75bf) 2016-07-28 21:12:17 -04:00
Vincent Lee 2eb3b72618 Fix MC-91728
(cherry picked from commit 71f75bf)
2016-07-28 21:10:02 -04:00
Vincent Lee 36d7148c5f Remove sideonly on all other SoundType methods
(cherry picked from commit 46c7cac)
2016-07-28 21:03:08 -04:00
Me4502 579f028294 Fixed NeighborNotifyEvent not containing the piston facing direction.
(cherry picked from commit 5637c41)
2016-07-28 20:51:06 -04:00
AlgorithmX2 a3d8664028 Use extended state for breaking models (#3086) 2016-07-28 16:00:36 -07:00
cpw b380ba717f Clean up block patch. Also push json update. 2016-07-28 18:51:40 -04:00
cpw 9f9554f7e2 Merge remote-tracking branch 'origin/pr/3116' into 1.10.x 2016-07-28 18:48:51 -04:00
cpw 46cfaae3db Merge remote-tracking branch 'origin/pr/3089' into 1.10.x 2016-07-28 18:43:40 -04:00
cpw 5d9169db0f Merge remote-tracking branch 'origin/pr/3125' into 1.10.x 2016-07-28 18:25:45 -04:00
cpw bc82f2ae5a Fix #3126 - duplicate stat id error - don't use the "universal iterators" in statbuilding, use the one without the duplicate entries. (The duplicate entry one is for rendering setup) 2016-07-28 15:56:30 -04:00
Alexandre DUPONCHEL b0fd97557e FIX : IndexOutOfBoundException 2016-07-28 17:59:59 +02:00
cpw 543156a008 Tidy up some more todos 2016-07-27 10:52:48 -04:00
cpw 056ff67a81 Mark it for actual removal in 1.11 2016-07-27 10:41:20 -04:00
cpw ab64d1a166 Fix a vanilla bug with the blockstate ID map not being properly symmetric with respect to block.getStateFromMeta - closes #3012 properly but probably has a random MCJIRA ticket somewhere too. 2016-07-26 17:16:42 -04:00
Dakota Pierone 0cf2cdfdb3 Update decorate for biomes to support Decorate event 2016-07-24 10:40:14 -07:00
Vincent Lee f8ec3602f2 No-nonsense getSoundType 2016-07-24 11:44:21 -05:00
cpw 5a3047fbc2 Merge remote-tracking branch 'origin/pr/3072' into 1.10.x 2016-07-24 11:09:54 -04:00
cpw fe96792506 Merge remote-tracking branch 'origin/pr/3087' into 1.10.x 2016-07-24 10:57:47 -04:00
cpw cfba330459 Rename the event to RenderSpecificHandEvent 2016-07-24 10:56:05 -04:00
cpw 31b3825069 Merge remote-tracking branch 'origin/pr/3115' into 1.10.x 2016-07-24 10:38:20 -04:00
cpw cace1f00b2 Merge remote-tracking branch 'origin/pr/3110' into 1.10.x 2016-07-24 10:08:46 -04:00
cpw f96a31c945 Merge remote-tracking branch 'origin/pr/3112' into 1.10.x 2016-07-24 09:57:08 -04:00
Bernhard Bonigl bc27f0e204 Add shouldCauseBlockBreakReset callback to Item. This allows to keep breaking blocks if the NBT or similar changes. 2016-07-24 13:52:27 +02:00
Joseph C. Sible fc43ebbd7e Use CreateFluidSourceEvent for mod fluids as well 2016-07-23 22:39:54 -04:00
Joseph C. Sible 5ebf77bfd9 Add a test for CreateFluidSourceEvent 2016-07-23 22:39:54 -04:00
Joseph C. Sible b95d443f22 Add CreateFluidSourceEvent to control infinite fluid sources 2016-07-23 22:39:54 -04:00
cpw d7245c5ffe Merge remote-tracking branch 'origin/pr/3055' into 1.10.x - closes #3055 and #3043 hopefully. Complex solution, but it seems legit. Needs testing. 2016-07-23 20:14:51 -04:00
cpw 45b299ce06 Something that needs to happen: warn people about bad modids- if they're not lowercased, or if they're too long. 2016-07-23 20:01:54 -04:00
Vincent Lee 7ed5fc7e00 Add missing cancelable 2016-07-23 12:33:14 -05:00
Vincent Lee 94a41e1fcc Add hand-specific render event 2016-07-23 12:29:58 -05:00
mezz a963c9854d Fix hotkey with default modifier loading wrong when modifier set to NONE 2016-07-23 03:10:29 -07:00
Terrence Ezrol cc0e6a1825 Fix async race condition on new chunks (closes #3020) (#3090)
This patch fixes a race condition that sometimes caused a just generated chunk
to be generated a second time.  In some this caused generated structures to
appear incomplete such as in Issue #3020 when the second generated version
effectively overwrote the original version of the chunk.

This patch ensures when ProvideChunk calls LoadChunk synchronously we always
attempt to load the chunk (if not cached) thus avoid the race condition without
changing the logic for async loading for chunks already saved to disk.

Thus this should retain the async functionality from PR #2946 while preventing
generation issues caused by the race condition.
2016-07-21 18:51:45 -04:00
cpw b7739ffc71 Some tweaks to ContainedDeps - it should extract to a file in versionedMods directly, even if the tag in the jar has a subpath element. It'll also skip if there is a matching filename in the main mods dir. 2016-07-21 13:59:02 -04:00
cpw 8f74d05d02 Add the new tests into the suite 2016-07-20 21:29:13 -04:00
cpw 80621de9ea Some dummy block replacement tests - it seems they work correctly. 2016-07-20 21:27:03 -04:00
cpw a156d5e0fe Some more substitution tests. It seems like it's working as it should. 2016-07-20 20:39:36 -04:00
cpw 7d4bf619fe More tests. Substitutions now work, and a fix is included. *sigh* Closes too many bugs to count. 2016-07-20 16:03:56 -04:00
cpw 22394f87d5 Some test harness stuffs. Time to get the registry manager properly tested. 2016-07-19 19:21:52 -04:00
mezz 93a7ac3d89 Add TextureDump forge test mod 2016-07-13 17:04:47 -07:00
LexManos 5f234fdcf8 Added support for using static methods as event listeners, Register the .class instead of an instance.
And added an improvement to calltime listener rebuilding.
2016-07-13 12:08:13 -07:00
CreativeMD db2f5ab416 Fixed sound paused/resume issue 2016-07-13 20:10:38 +02:00
mezz ae0c02159f Force mipmap even if textures are the wrong size 2016-07-13 05:23:01 -07:00
cpw 57ed697cab Lets make a half-decent readme. Thanks to Rorax for the install video! 2016-07-12 21:24:13 -04:00
cpw 565cfb155f Merge remote-tracking branch 'origin/pr/3036' into 1.10.x Closes #3036 Thanks Mezz! 2016-07-12 18:05:13 -04:00
LexManos b76b223d62 Bump version for a RB 2016-07-11 12:38:15 -07:00
cpw 7e36205ba7 Merge #3060 into 1.10.x 2016-07-09 11:58:09 -04:00
Vincent Lee 17858ef497 Remove event stuff 2016-07-09 08:54:38 -05:00
Vincent Lee 591ecdd7c9 Move to a hook in EntityMinecart 2016-07-09 08:53:07 -05:00
Vincent Lee f76af6103e Add throwable impact event (#3071) 2016-07-08 21:12:45 -07:00
Vincent Lee 7b5a5fbcbe Add ability for custom detector rail output 2016-07-08 21:14:55 -05:00
LexManos 5eeda79234 Update build.gradle to not append the branch name if it matches the minecraft version. 2016-07-07 14:23:06 -07:00
LexManos 3e6099055e Fix hopper extract behavior being broken on edge cases due to IItemHandler capability. Closes #3062 2016-07-03 13:45:26 -07:00
Bernhard Bonigl 432e3ab08a Add an event that allows to modify the looting level based on damage source 2016-07-03 15:19:31 +02:00
LexManos f58d1cae1a Fixed FPS graph and new debug lines not being rendered in Debug screen. Closes #3054 2016-07-01 13:53:26 -07:00
diesieben07 03b54774aa Restore (buggy?) behavior of vanilla BlockPistonMoving and ignore drop chance (#3052) 2016-06-30 12:50:04 -07:00
LexManos cb2b0febeb Fix villages generating to high when using a cusom sea level. Closes #3050 2016-06-30 01:11:35 -07:00
LexManos a9e4516068 Update build.gradle to have single line for specifying minecraft version, and will update ForgeVersion.java as needed. 2016-06-30 00:17:17 -07:00
LexManos 72f7c0be1f Forge will now load extra mods from mods/mod_list.json and mods/mc_version/mod_list.json.
As defined by the same json spec as --modListFile.
And now if repositoryRoot is prefixed with absolute: the path will NOT be relative to the MC directory.
2016-06-30 00:16:40 -07:00
Mumfrey 32459b01b6 Store member field mappings in the mapping table, possible fix for #3043 2016-06-29 15:33:27 +01:00
LexManos 6ad65f4e64 Fixed MC version number...
I could of SWORN we removed this in favor of a automated system...
2016-06-28 22:27:47 -07:00
LexManos 373fa8f7a3 1.10.2 Update 2016-06-28 21:25:04 -07:00
diesieben07 4b9bf30fed Fix mob-spawners crashing for non-living entities and simply the patch in the process (#3042) 2016-06-26 16:35:59 -07:00
mezz 18b2eeef90 Fix milk bucket is fillable with water or lava when milk is unregistered (#3039) 2016-06-26 12:19:04 -07:00
mezz 1a8ad6bbee Fix legacy handling for ItemBucket subclasses and non-universal buckets (#3038) 2016-06-26 12:18:26 -07:00
mezz 1871cf1b02 Fix FluidContainerRegistry handling potions as water bottles (#3037) 2016-06-26 12:18:11 -07:00
mezz 99616a503f Remove duplicated universal buckets from the creative list (#3035) 2016-06-26 12:18:02 -07:00
cpw 0b1e94babd Big warning for recipe types found without being registered, it turns out this is pretty severe, modders need to fix it. 2016-06-26 12:52:14 -04:00
mezz 0fc08e383a Add Forge fluid handler test 2016-06-26 02:46:19 -07:00
mezz fde90973c3 Fix comparison stability of the Recipe Sorter with unknown recipes #2962 (#3030) 2016-06-25 17:13:24 -04:00
LexManos dd3c3a249e Fixed Husks rendering as standard zombies. Closes #3028 2016-06-25 11:05:46 -07:00
LexManos 7f30e76dad Fixed chests being replaced when trees grew. 2016-06-25 10:36:59 -07:00
luacs1998 8e3bc83c3b Simple implementation of a Open/Close container event (#3017) 2016-06-25 12:34:42 -04:00
LexManos 174394d6df Provide 'cleaner' version of TextureMap.setTextureEntry. Closes #1385 2016-06-25 01:27:40 -07:00
LexManos d8166f5d6b Fix incorrect logic in ChunkCache.isSideSolid. Closes #3026 2016-06-25 01:19:15 -07:00
LexManos 84366be869 Fixed incorrect variable being sent to doSpecialSpawn. Closes #2986 2016-06-25 01:18:09 -07:00
LexManos eefbcaaffc Fixed shifted patch in GameSettings causing settings to not load properly. Closes #3025 #3022 2016-06-25 01:17:31 -07:00
cpw 553a34690d Fix doors popping off solid sides. 2016-06-25 01:18:19 -04:00
cpw efbd21e3eb Fix that the Missing blocks/items/registries prompt often got stuck. 2016-06-25 01:07:45 -04:00
cpw 006509a834 Fix Realms button text to be shorter again. Closes #3019 2016-06-23 17:57:31 -04:00
cpw db9e75a273 Fix item pickup dupe bugs. Closes #3015 2016-06-23 17:49:50 -04:00
BlayTheNinth 90d6bad7f7 [1.10] Fix keys with KeyModifier failing to load (#3018)
Fix key options with KeyModifier failing to load due to NumberFormatException
2016-06-23 12:28:43 -07:00
cpw cc593f3939 Accept more 1.9.4 version strings. Fix NPE for custom villager types and their associated zombie spawns. Still needs review. 2016-06-23 09:29:03 -04:00
mezz 254cf8bb23 Fix all guis closing as soon as they are opened (#3013) 2016-06-23 07:25:24 -04:00
LexManos 09e109cac0 Fix version number. 2016-06-22 23:46:02 -07:00
cpw 260be68723 Update to 1.10 2016-06-23 02:39:55 -04:00
cpw 3fbf8c9960 Fix the MDK - it gets the license too! 2016-06-23 00:07:24 -04:00
cpw 01bf6f59eb Update the build.gradle script to ship the new license and stop shipping the old licenses. 2016-06-23 00:02:42 -04:00
cpw c8d775c865 In accordance with our stated goal of relicensing Forge to LGPL v2.1, this commit enacts that change. Although it is using the 1.9.4 codebase, it is intended that this branch become public with the 1.10 changes, as such the license will take effect at that time. The three commits from persons who have failed to accept the new license, as documented in #2789, have had their commits reverted. This should complete the license transition. Commits after the commit date of this commit should be considered licensed by LGPLv2.1, as indicated in LICENSE-new.txt. All patches are now considered owned by the Forge project and Forge Development LLC in particular (note that they will not get the license boilerplate, as they are machine generated files). 2016-06-22 23:49:48 -04:00
cpw d1f4d71d93 Revert "Added PlayerOpenContainerEvent and added ForgeHooks.canInteractWith"
This reverts commit 8d0b58ee6f.

# Conflicts:
#	common/net/minecraftforge/common/ForgeHooks.java
#	patches/minecraft/net/minecraft/entity/player/EntityPlayer.java.patch
#	patches/minecraft/net/minecraft/entity/player/EntityPlayerMP.java.patch
2016-06-22 23:43:41 -04:00
cpw 1a97d74939 Revert "Added tab completion"
This reverts commit fe327fbd76.

# Conflicts:
#	src/main/java/net/minecraftforge/server/command/ForgeCommand.java
2016-06-22 23:35:13 -04:00
cpw 9c003fcb15 Revert "Changed forge command tab completion to use getListOfStringsMatchingLastWord()"
This reverts commit 6a299a483a.

# Conflicts:
#	src/main/java/net/minecraftforge/server/command/ForgeCommand.java
2016-06-22 23:31:48 -04:00
Girafi dd384a91af Made forge-type spawn eggs spawn childs, when right clicking EntityAgeable again. (#2982) 2016-06-22 23:19:36 -04:00
cpw ee2772b26a Merge remote-tracking branch 'origin/pr/2994'
# Conflicts:
#	patches/minecraft/net/minecraft/item/ItemStack.java.patch
2016-06-22 22:56:26 -04:00
diesieben07 5604e3f380 Make ASMDataTable more useful: (#2911)
- EnumHolder now has getters for it's data
- enum arrays work now
- nested annotations work now outside of being in arrays
(cherry picked from commit f10f750)
2016-06-22 22:52:57 -04:00
mezz ba9ec61648 Fix incorrect FluidUtil doc (#2996) 2016-06-22 22:20:50 -04:00
mezz 86d5b5a872 Improve the "missing mods" on-screen error message (#2997) 2016-06-22 22:18:34 -04:00
mezz aaf1cba776 Fix ItemStack deserialization can't clear nbt (#3005) 2016-06-22 22:16:48 -04:00
cpw 683d9b5284 Update CONTRIBUTING.md 2016-06-22 17:06:56 -04:00
cpw 0628e86444 Update CONTRIBUTING.md 2016-06-21 23:21:45 -04:00
mezz eca97de272 Fix #2918 Make dispensers with buckets work with modded fluids (#2947) 2016-06-18 16:29:28 -07:00
LexManos 3f15c7b05b Fixed brewing stand returning incorrect solts for side inventories. 2016-06-18 15:49:21 -07:00
LexManos 5c15dd714e Fixed villager career display names being off by one. 2016-06-18 11:54:46 -07:00
Shadowfacts 7bbd1a6606 Fix broken EntityItem merging for Items with capabilities 2016-06-17 10:40:58 -04:00
diesieben07 aacb319594 Fix DataParameter mixup when vanilla clients are connected causing CCE in zombie renderer (#2992) 2016-06-16 12:23:30 -07:00
Vincent Lee a63d92eb60 Fix AnimationItemOverrideList not falling back to super (#2990) 2016-06-16 12:49:00 +04:00
mezz 9cd2c697e5 Fix #2961 Capability data is not preserved by fluid handler interactions (#2976) 2016-06-13 20:01:28 -07:00
cpw dd09da27b5 Slight tweak to early loading, to accommodate FMP 2016-06-13 09:33:26 -04:00
LexManos 1164ace8df Fixed Fernflower decompile issue in AnvilChunkLoader.saveExtraData() Closes #2985 2016-06-12 23:47:34 -07:00
cpw f7feec029e Mute the connection reset by peer exception - it's spamilicious for the most part. 2016-06-12 12:15:10 -04:00
cpw ee7c965fe0 Fix missing IMC message query. 2016-06-11 21:08:54 -04:00
Man of J 6da3250583 Read a Update JSON in UTF-8 (#2978) 2016-06-11 13:06:38 -07:00
Vincent Lee 6a3b734801 Add getter for the world to LootContext (#2954) 2016-06-09 03:37:11 -07:00
Gustaf Järgren ca6d1c9e3d Fixed arrows not showing in non default AchievementPages (#2968) 2016-06-09 03:26:34 -07:00
mezz c776d97691 Add methods to Fluid to allow custom vaporization overrides (#2959) 2016-06-09 02:30:06 -07:00
RainWarrior 883bfe57ab Fixes #1984. 2016-06-05 11:15:05 +03:00
RainWarrior a649cce2ea Modified SimpleModelState to ignore the parts it doesn't know about. Fixes model part hiding always applying to some models when transformations are specified in the blockstate json. 2016-06-05 10:14:44 +03:00
RainWarrior ac194dc378 Pass the GL context back from the splash screen during the EntityRenderer init. 2016-06-05 09:29:56 +03:00
cpw 18e60a1235 Fire ChunkWatchEvent.Watch event, closes #2767. Based on @sfPlayer1 patch suggestion. It looks like this logic has shifted relative to 1.8, so there may be differences in event behaviour now. 2016-06-04 11:13:44 -04:00
Minecrell 279380b4f1 Fix asynchronous chunk loading (#2946)
Since the update to Minecraft 1.9.4 chunks were actually never loaded
asynchronously because a sync request was always made from the
PlayerChunkMap shortly after the chunk had been queued.

- PlayerChunkMapEntry now only loads chunks synchronously *after* the
  chunk failed to load asynchronously.
- Fixed some minor bugs that caused "Attempted to dequeue chunk" messages
- Simplified ChunkProviderServer patch. loadChunk no longer generates chunks,
  so there is no need to handle that.
- Moved loader and provider to ChunkIOProvider so there is no need for
  "hashCode abuse"
2016-06-04 02:51:27 -07:00
mezz 14ee316d06 Make it easier to use FluidTanks that have input/output restrictions (#2945)
These internal function should NOT be used by anything except the owner of the tank.
2016-06-04 01:29:44 -07:00
LexManos 13b820fde2 Fixed BiomeProvider.getModdedBiomeGenerators method name. Closes #2937 2016-06-03 19:00:02 -07:00
Vincent Lee 35cd9fe212 Several bugfixes for PlayerInteractEvent (#2943)
* Don't change Result if setCanceled(false) called

* Fix RightClickEmpty firing even when targeting a block or entity

* Add a left click empty event

* Move hook point for EntityInteractSpecific to the right place

* Fix LeftClickBlock not firing clientside in creative, and clarify docs about creative
2016-06-03 18:52:01 -07:00
mezz 92914f82ae Add new IFluidHandler for capabilities. (#2942)
Old fluid system is deprecated and slated for removal in the next cleanup cycle.
2016-06-03 18:26:41 -07:00
Matti Ruohonen 13ed510fcf Add a Slot#isSameInventory() method (#2884)
This fixes shift + double clicking items in Containers that use
SlotItemHandler slots.
2016-06-03 17:26:51 -07:00
LexManos 6ca018c2b5 Fixed POTENTIAL issue where mods would query world infrom from TEs before they are set. Closes #2863 2016-06-03 17:11:12 -07:00
LexManos 9a23cf76d2 Expanded custom villagers to Zombies and world gen.
Fixed edge cases where custom professiosn wernt being used correctly. Closes #2862
2016-06-03 16:49:30 -07:00
LexManos 0a5daa194b Fixed client side ticking TileEntites after they are unloaded. Closes #2852 2016-06-03 15:29:14 -07:00
LexManos 596ecfb891 Fixed position sent to sanSustainPlant from cactus. Closes #2941 2016-06-03 14:56:58 -07:00
LexManos 06d7a9e39c Forge will now warn the user and ask permission to load a world with unknown registries. Closes #2934 2016-06-01 19:40:59 -07:00
LexManos 8432f95223 Fix BlockFluidBase having collision. Closes #2932 2016-06-01 13:58:05 -07:00
cpw caa61e1be9 Merge branch '1.9.4' 2016-05-31 00:34:03 -04:00
RainWarrior ce481da1d1 Initial support for model visibility system. Implemented it for OBJ, B3D and normal vanilla models; fixed NPE accessing parent state in B3DModel. Fixes #2801. 2016-05-30 01:20:43 +03:00
mezz 86baf7462f Improve JavaDoc links, fix some broken JavaDocs (#2833)
Improve JavaDoc links, fix broken JavaDocs
2016-05-29 14:05:07 -07:00
RainWarrior 4008983a5d Reordered transformations during LayerHeldItem rendering, fixes #2827. 2016-05-29 23:36:07 +03:00
LexManos e65218b525 Fixed new ICrashReportDetail loader working with packaged mods by delaying it until the ModContainer's construct event. Closes #2924 2016-05-29 02:37:37 -07:00
LexManos d3e758fce6 Fixed issue with @ObjectHolder and the new registry system. Closes #2640
Only run static initalizers for classes we need to get the names from values.
2016-05-29 00:06:43 -07:00
LexManos 0bb4d9fb89 Fixed village wells not having their biomes set. Closes #2499 2016-05-28 23:46:00 -07:00
LexManos 3bdbe04261 Fixed TileEntityBeacon not using position-aware getLightOpacity. Closes #2530 and #2910 2016-05-28 23:19:27 -07:00
LexManos 39ac710722 Fixed potential issue with Chunk.getLightOpacity being called before the chunk is added to the world map. Closes #2529 2016-05-28 23:16:12 -07:00
LexManos aef721a248 Fixed FluidUtil.tryEmptyFluidContainerItem not checking if the tank can accept fluids first. Closes #2527 2016-05-28 23:06:42 -07:00
LexManos b5f8da794c Make sure tool-classes for vanilla tools are initialized early. Closes #2909 and #2525 2016-05-28 22:58:39 -07:00
LexManos 906b83dee4 Fix tooltip for survival tab in the creative menu not drawing on any but the first page. Closes #2908 and #2504 2016-05-28 22:56:33 -07:00
LexManos 5d2b8438c9 Fix Thorns enchantment bypassing ISpecialArmor.damageArmor function. Closes #2463 2016-05-28 22:49:54 -07:00
LexManos 2f5f9968e4 Reinitalize statistics information on Mapping changes.
Fixes mismatched stats to item/block ids. And auto registers stats for modded items.
Closes #2454
2016-05-28 22:31:48 -07:00
LexManos 772e7da3a3 Fixed NBTTagString.toString not properly escaping \'s. Closes #2393 2016-05-28 22:30:09 -07:00
LexManos 93be22fc8e Add ServerHangWatchdog to TerminalTransformer whitelist. Closes #2203 2016-05-28 21:19:47 -07:00
LexManos 978861b521 Fix setTileEntity causing the world to remove the new and old tile entities. Closes #2164 2016-05-28 21:03:24 -07:00
LexManos b8996b14bc Fixed EntityRegistry.addSpawn adding duplicate spawn entries. Closes #2112 2016-05-28 20:53:19 -07:00
LexManos 0406267d89 Fix javadocs for BiomeColor events. Closes #2093 2016-05-28 20:15:32 -07:00
LexManos debe0ffdf8 Fire LivingSpawnEvents for MobSpawners. Closes #2079 2016-05-28 20:13:03 -07:00
LexManos 357d2f8d86 Fire PopulateChunkEvent Pre and Post in ChunkProviderFlat. Closes #2050 2016-05-28 19:56:35 -07:00
LexManos c0840da355 Move getArmorModel hook up two lines so that the attributes and animation information is set. Closes #1939 2016-05-28 19:21:57 -07:00
LexManos a5ffda5d66 Close player's inventory to prevent potential dupe issues on some modded items. Closes #1431 2016-05-28 18:20:05 -07:00
LexManos 35978b0d96 More uniformly apply Configuration.caseSensitiveCustomCategories. Closes #1353 2016-05-28 18:04:29 -07:00
LexManos 4824d647f4 Set Enchantment table's harvest level. Closes #1349 2016-05-28 17:55:27 -07:00
LexManos a1a67e7654 Capture interfaces when scanning classes and preload implementations of ICrashReportDetail. 2016-05-28 17:50:42 -07:00
LexManos a97b4c4db7 Fix installer downloading vanilla jar when not needed. And filter some more known libraries. 2016-05-28 17:47:12 -07:00
cpw 4c56961b9e Strip Optional from the class signature as well, since that's loaded by the TypeToken registry code and might cause a crash. 2016-05-28 18:05:24 -04:00
Shadowfacts 9bb927dc64 Pass the correct position into isSideSolid in BlockRailBase#canPlaceBlockAt (#2919) 2016-05-27 19:13:20 -07:00
tterrag e00a11be99 Add hook for TE data sync on client (#2893) 2016-05-25 22:19:29 -07:00
The-Fireplace 48cc7582cc Switch new constructor to use floats (#2904) 2016-05-24 19:58:22 -07:00
LexManos df7c7d6dfc Make unit test for EnumHelper more robust and less spammy. Now detects missing accessors as well. 2016-05-24 16:11:12 -07:00
LexManos b65b2991a4 Fix paramters for addArmorMaterial, addOption and addGameType. 2016-05-24 16:10:47 -07:00
LexManos d2989c83a7 Add Unit Test to detect mismatches between EnumHelper and Enum ctor 2016-05-24 16:08:40 -07:00
LexManos 614ba8fa73 Add alternative ItemAxe Constructor 2016-05-24 14:44:35 -07:00
LexManos 1fbadb0ead Fix villagers having farmer skin on vanilla servers. Closes #2894 2016-05-23 17:15:13 -07:00
LexManos 6b8466778e Fire playerDestroyItem event's in some cases where we were not. 2016-05-23 16:35:49 -07:00
LexManos 5415891f11 Fix Container.compouteStackSize not respecting stack version of maxStackSize. Closes #2756 2016-05-23 16:15:00 -07:00
LexManos 8c02a0a4cc Set max enchantment ID to Short.MAX_VALUE. Closes #2799 2016-05-23 16:10:44 -07:00
LexManos 2356f088ee Tipped arrows are now not affected by infinite enchantment but are still effected by creative mode. 2016-05-23 15:53:52 -07:00
LexManos 9df1e4b11e Take capabilities into account when comparing ItemStack NBT's. Closes #2726 2016-05-23 15:30:20 -07:00
tterrag 95bacd7a52 Fix screenshot link paths on Windows (#2886) 2016-05-22 11:11:09 +04:00
cpw f4750ae2bf Tweak build file slightly - allow passing buildNumber using gradle parameters (-PbuildNumber=...) and provide a "resetBuildNumber" function to reset the buildNumber to zero in the ForgeVersion file. Means builds can be reproducible in-IDE. 2016-05-21 09:18:51 -04:00
Steven Blom a4e2d0e304 Add Unit Test to detect mismatches between EnumHelper and Enum ctor 2016-05-20 13:25:04 +09:30
LexManos 7f6f2f0ec1 Update example mod for new mappings. 2016-05-18 18:06:41 -07:00
LexManos 5bd06388c1 Bump version information for 1.9.4. 2016-05-18 17:22:39 -07:00
cpw 68ad1e03cf Fix schizophrenia in version numbers. 2016-05-18 13:10:41 -04:00
LexManos cdc86e9af6 Update mappoings snapshot to 20160518 2016-05-18 05:23:30 -07:00
LexManos b9ac73b0f1 1.9.4 Update.
Major things to note:
Class renames: https://gist.github.com/LexManos/44dd211f90f498ad4015279b103dff86
Tile Entities are now packed in the ChunkData packet.
Forge intends to work around this to better support large moded worlds, but for the time being modders should implement the new function carefully and only send what data they need to!
Minecraft's codebase now has annotations, these are directly from Mojang and should be adheared to!
Added support for package-info.java's containing @Nullable information for all MC code base.
2016-05-18 03:29:10 -07:00
boni 5d5c005aae Fix Bucket rendering and add sound (#2865)
* Adjust generated quads from texture to take texture size into account #2858

*  Fix universal bucket not passing through when rightclicking on a non-block
Add proper sound events when picking up modded fluids #2821

* Have FluidUtil execute properly on both sides and sync as expected. Add default sounds to interacting with tanks

* Save sound for filling/emptying in the fluid
2016-05-16 13:20:31 -07:00
LexManos 87b0f7db99 Lets just simply this. Fixes last commit. 2016-05-14 21:40:31 -07:00
LexManos d5b93bf262 Add modder facing API for Villager Career level trades. Ref: #2854 2016-05-14 20:11:55 -07:00
RainWarrior 5445f96327 Extended Animation State Machine format to allow multiple transitions from one state. 2016-05-13 12:46:34 +03:00
cpw 2e6f4e5b86 Fix up release jsons to clean up extraneous netty references 2016-05-11 11:15:45 -04:00
LexManos 75468e9b0d Make LootPool constructor public again. Closes #2847 2016-05-11 01:25:48 -07:00
LexManos 34d4b0b93f Fix type in LootEntry json name. And rename LootTable.finalize to freeze to avoid overriding Object function. Closes #2846 and #2847 2016-05-10 23:35:02 -07:00
RainWarrior 92800f61d3 Fixed joint animation application correctly. 2016-05-10 10:46:04 +03:00
Shadowfacts 58d26618f6 Add ScreenshotEvent (#2828)
Add ScreenshotEvent
2016-05-09 14:51:30 -07:00
LexManos aaa146c10d New LootTable interaction system and event.
Modders can now modify and reference internal elements of a loot table by name.
Editing can ONLY be done in the event and any external editing will cause a exception to be thrown.
See this gist for more information: https://gist.github.com/LexManos/77c983d67b9ad27010428478b66d50fd
2016-05-09 14:15:59 -07:00
RainWarrior babd54bb87 Fixed joint hierarchy not being used fully in the animation system. 2016-05-09 20:40:53 +03:00
LexManos d30aae862f Fixed issue in ChunkIO that would potentially cause NPEs on chunks. Closes #2837 2016-05-09 02:10:24 -07:00
LexManos a7d5820e99 Fixed map extension recipie. 2016-05-08 16:38:07 -07:00
mezz 363e84b2c5 Fix the rand given to PopulateChunkEvent (#2834) 2016-05-07 11:17:18 -07:00
LexManos 6e46b6e4c1 Fix areas where dimension types are used as dimension IDs. 2016-05-05 12:50:12 -07:00
LexManos 0d13fe245d Add NPE protection to in-hand item rendering. 2016-05-04 22:29:17 -07:00
Matthew Messinger 5f74a75435 Fix url regex (#2815)
Fixed url detection in chat messages. Stops false positives such as `um.....no`
2016-05-04 10:46:33 -07:00
LexManos aa672ea69a Bump version for new RB. 2016-05-03 23:19:51 -07:00
LexManos 42404c531d Slightly better practice because wait can be randomly interupted. 2016-05-03 23:19:40 -07:00
cpw 4248dbc71d Merge in a fix from 1.8.9 for rails 2016-05-03 23:39:32 -04:00
cpw f5781488d9 Merge branch '1.9' 2016-05-03 23:24:43 -04:00
LexManos 3177d55579 Remove usage of AsynchronousExecutor library in favor or a simpler implementation. 2016-05-03 19:54:04 -07:00
LexManos d8249b7886 Add a java version detection and nag system for users on Java 7 or below.
Added detection of mods that rely on Java 8 and a graceful error screen.
The nag screen will be shown once a day. It can be disabled by editing the forge.cfg.
However it is HIGHLY recomended that user update to Java 8.
2016-05-03 18:26:52 -07:00
LexManos 4d27393c91 Fix withers breaking bedrock. Closes #2813 2016-05-03 16:13:17 -07:00
RainWarrior e98cd386e0 Fixed villager profession not being set correctly on the client, and fixed custom village texture rendering. Closes #2766. 2016-05-03 11:39:14 +03:00
RainWarrior 4538062e70 Fixed cooldown overlay sometimes rendering opaque. Closes #2772. 2016-05-03 11:03:30 +03:00
RainWarrior f3fdf4303a Make ChunkRenderDispatcher.countRenderBuilders configurable. Closes #2775. 2016-05-03 10:28:06 +03:00
RainWarrior 330812dfa8 Fixed custom fluid sufraces not rendering from the bottom. Closes #2800. 2016-05-03 09:53:55 +03:00
AlexIIL 980845b61b Fix TextureMap failing when registering a sprite's resource location twice (#2785) 2016-05-03 10:07:49 +04:00
bloodmc 5a20950902 Call markDirty when restoring blocks with TileEntities. (#2809)
This change makes sure the updated tileentity is saved properly within the
chunk.
2016-05-02 15:21:59 -07:00
bloodmc 23cdcb96a9 Call markDirty when restoring blocks with TileEntities. (#2808)
This change makes sure the updated tileentity is saved properly within the
chunk.
2016-05-02 15:18:26 -07:00
bloodmc b53e53dcb7 Call markDirty when restoring blocks with TileEntities. (#2807)
This change makes sure the updated tileentity is saved properly within the
chunk.
2016-05-02 15:01:49 -07:00
Vincent Lee 9f28c90365 Add Potion.renderHUDEffect (#2798) 2016-05-02 14:44:14 -07:00
bloodmc 7c6372202e Fix wrong blockstate being passed to notifyNeighborsRespectDebug. (#2806) 2016-05-02 14:33:35 -07:00
bloodmc b5bda7117a Only run block physics for TileEntities while capturing block placement. (#2805)
Currently, all blocks placed by players that are not TE's run physics
twice. Blocks that contain a TileEntity are not affected due to a check in
'ForgeHooks.onPlaceItemIntoWorld'.

In order to fix the problem, 'Chunk.setBlockState' will now verify if
blocks are being captured before running onBlockAdded and if so, only run
physics if the block has a tileentity. This check also prevents blocks
such as TNT's from running its physics (explosion) when placement event is
cancelled.
2016-05-02 14:23:24 -07:00
bloodmc d9bdaef468 Only run block physics for TileEntities while capturing block placement. (#2803)
Currently, all blocks placed by players that are not TE's run physics
twice. Blocks that contain a TileEntity are not affected due to a check in
'ForgeHooks.onPlaceItemIntoWorld'.

In order to fix the problem, 'Chunk.setBlockState' will now verify if
blocks are being captured before running onBlockAdded and if so, only run
physics if the block has a tileentity. This check also prevents blocks such
as TNT's from running its physics (explosion) when event is cancelled.
2016-05-02 14:21:37 -07:00
LexManos 26b5059396 Fix sluggish scrolling on GuiScrollList's and fix small rendering issue with scroll bar on certian screen sizes. 2016-05-02 14:13:33 -07:00
boni 8fdd76bae1 Fix SidedInvWrapper accessing wrong slots for setStackInSlot. (#2797)
Fix DoubleChestItemHandler not implementing IItemHandlerModifiable
2016-05-02 12:19:54 -07:00
mezz 9c9107c434 Close #2780 add CMD localization for Mac key bindings (#2792) 2016-04-29 12:04:48 -07:00
cpw 84bfeddc1c Update LICENSE-new.txt
Better words
2016-04-28 15:24:34 -04:00
cpw d9e0a653e0 Update LICENSE-new.txt
Words
2016-04-28 15:23:03 -04:00
cpw c519812ea1 Update LICENSE-new.txt
Clarification on infectivity
2016-04-28 15:22:24 -04:00
cpw e8098133ea Add the new license text. Not yet applicable to forge. 2016-04-28 15:15:50 -04:00
LexManos d090c2834b Fix NPE on shield break. Closes #2786 2016-04-27 18:37:54 -07:00
Vincent Lee 35999f9a20 Boss bar render event (#2701)
Allow control over increment height
2016-04-14 22:34:45 -07:00
iTitus fa21f2b44c Fix forge:default-block transformation. (#2760)
The first-person left-hand rotation was a little bit of.
2016-04-13 22:53:25 +04:00
LexManos 205f5c13c8 Expose a central place to access all of Vanilla and Forge's registries using the new registry API. 2016-04-09 22:33:39 -07:00
mezz c560af69a5 Fix log spam from invalid key modifiers (#2746) 2016-04-09 17:02:03 -07:00
Kina 68cd48287b make WorldSavedData implement NBTSerializable (#2745) 2016-04-09 16:09:06 -07:00
Matthew Prenger 2a3774def3 Don't use import static with net.minecraft classes. Using the latest MCP snapshots this causes an import conflict. (#2742) 2016-04-09 16:03:46 -07:00
mezz a018e14939 Add cancelable event for Potions shifting the gui position (#2667)
Add cancelable event for Potions shifting the gui position
2016-04-08 20:18:17 -07:00
Matti Ruohonen 03584ec411 Fix ForgeChunkManager world unloading check (#2736) 2016-04-07 15:39:55 -07:00
LexManos 2a4067a539 Fix being kicked from server when climbing ladders. 2016-04-07 13:12:10 -07:00
LexManos 8fefac110e Fix potential desync between Forge's Villager profession and vanilla's int based system. 2016-04-07 12:29:00 -07:00
Craig Burton d31cf8ddbc Update ore dictionary (#2721)
Updated the Ore Dictionary with more vanilla items:
  -Prismarine Shard ( "gemPrismarine" )
  -Prismarine Crystals ( "dustPrismarine" )
  -Prismarine Block ( "blockPrismarine" )
  -Prismarine Brick ( "blockPrismarineBrick" )
  -Dark Prismarine ( "blockDarkPrismarine" )
  -Nether Wart ( "cropNetherWart" )
  -Sugarcane ( "sugarcane" )
  -Paper ( "paper" )
  -Ender Pearl ( "enderpearl" )
  -Bone ( "bone)
  -Gunpowder ( "gunpowder)
  -String ( "string" )
  -Nether Star ( "netherStar" )
  -Leather ( "leather" )
  -Feather ( "feather" )
  -Egg ( "egg" )
  -End Stone ( "endstone" )
  -Torch ( "torch" )
  -Vine ( "vine" )
  -Cactus ( "blockCactus" )
  -Grass ( "grass")
  -Obsidian ( "obsidian" )
  -Red Sandstone ( added to "sandstone" )
  -Crafting Table ( "workbench" )
  -Slime Block ( "blockSlime" )
  -Granite ( "stoneGranite" )
  -Polished Granite ( "stoneGranitePolished" )
  -Diorite ( "stoneDiorite" )
  -Polished Diorite ( "stoneDioritePolished" )
  -Andesite ( "stoneAndesite" )
  -Polished Andesite ( "stoneAndesitePolished" )
2016-04-07 11:49:31 -07:00
LexManos fbe628d058 Merge pull request #2729 from kashike/feature/bossinfo
Remove @SideOnly(Side.CLIENT) from BossInfo/BossInfoServer methods
2016-04-06 16:19:18 -07:00
kashike 72edc41a7c Remove @SideOnly(Side.CLIENT) from BossInfo/BossInfoServer methods
These methods can also be used by the server (see BossInfoServer, it sends packets to the client but the methods are @SideOnly(Side.CLIENT))
2016-04-06 15:57:54 -07:00
RainWarrior db04370830 Made forge fluids use smooth lighting. 2016-04-06 16:13:51 +03:00
LexManos 7973984227 Fixed NPE in dedicated server languages. And fixed logger for main FML event bus. 2016-04-06 02:11:27 -07:00
LexManos 07a2b67b7f Cleanup OBJLoader parse function and fix issues related to JVM differences.
Also fix support for sopme of the spec that was partially respected.
2016-04-06 01:45:43 -07:00
LexManos fb0bdd1276 Enhance some error logging related to OBJLoader issues, and RegistryEntries. 2016-04-06 01:44:08 -07:00
Fry a48fd56fdc Merge pull request #2723 from mezz/pick-fix
Fix some plain keybinds not working when a modifier is active
2016-04-06 10:11:07 +04:00
mezz e68908e9d5 Fix some plain keybinds not working when a modifier is active 2016-04-05 23:01:26 -07:00
LexManos 045e8bf806 Merge pull request #2719 from mezz/pick-fix
Fix #2717 Pick block hotkey not working in inventories
2016-04-05 18:30:39 -07:00
mezz 7587ca7c71 Fix #2717 Pick block hotkey not working in inventories 2016-04-05 18:25:25 -07:00
LexManos b9d18a263c Merge pull request #2718 from nekosune/patch-1
Corrected CapabilityItemHandler.readNBT ignoring anything in slot 0 in 1.9
2016-04-05 17:49:48 -07:00
Katrina Swales 8d50c9e988 Corrected CapabilityItemHandler.readNBT ignoring anything in slot 0 in 1.9 2016-04-06 01:43:23 +01:00
LexManos ce4d31529d Merge pull request #2714 from nekosune/patch-1
Corrected CapabilityItemHandler.readNBT ignoring anything in slot 0
2016-04-05 13:32:55 -07:00
Katrina Swales f4ca1f61b9 Corrected readNBT ignoring anything in slot 0 2016-04-05 19:44:20 +01:00
RainWarrior cb7685a3b0 Fixed forge fluid having a collision box. 2016-04-05 18:55:42 +03:00
RainWarrior bf16d0066b Fixed zip being closed too early in the server language loading. 2016-04-05 18:53:19 +03:00
Fry 628613d27f Merge pull request #2709 from iTitus/bucketModel
Fix dynbucket item transformation.
2016-04-05 13:44:44 +04:00
iTitus 63a6a2e50b Fix dynbucket item transformation. 2016-04-05 10:49:51 +02:00
RainWarrior ab2b07f149 Fixed some test mods not being marked as client-only. 2016-04-05 11:46:05 +03:00
RainWarrior d44c9082fa Fixed mod languages not being loaded on the server. 2016-04-05 10:41:42 +03:00
LexManos 25d7b80119 Merge pull request #2708 from Zaggy1024/1.9
Fix PlaySoundEvent replacing a sound with PositionedSound causing an NPE.
2016-04-04 20:55:12 -07:00
Zaggy1024 68023ce40b Fixed using PlaySoundEvent to replace a sound with a PositionedSound causing an NPE due to the Sound field not being set by a call to ISound.createAccessor(SoundHandler). 2016-04-04 22:18:34 -05:00
LexManos 8180bed027 Merge pull request #2707 from mezz/keyBinding19-4
Add modifier support to vanilla keybindings.
2016-04-04 18:06:29 -07:00
LexManos 034efaff3d Merge pull request #2604 from williewillus/pie
New PlayerInteractEvent for 1.9
2016-04-04 18:06:11 -07:00
Vincent Lee e8ea52558b Player Interact Event 2016-04-04 19:58:46 -05:00
mezz 8f49ea7c5f Add modifier support to vanilla keybindings.
Add Orange conflict color for modifier/key conflicts
(like Ctrl and Ctrl-Z conflicting)
Related to #2692
2016-04-04 16:52:16 -07:00
LexManos 8fd0817c81 Merge pull request #2704 from AEnterprise/1.9
onBlockHarvested is no longer called twice
2016-04-04 15:49:49 -07:00
LexManos ce4bb8fe93 Fix improper logic in ItemHandlerHelper.giveItemToPlayer causing some items to not be added. Closes #2705 2016-04-04 15:44:03 -07:00
LexManos 9f1505dd53 Fixed EntityJoinWorldEvent not being fired for some entitites on Server Worlds. Closes #2685 2016-04-04 15:33:45 -07:00
LexManos 6342bfea3e Fix issue caused by setting spawnRadius to 0. Closes #2624 2016-04-04 15:22:17 -07:00
RainWarrior 2ae47c0903 Made both exceptions occuring during item model loading print in the log; closes #2696. 2016-04-04 18:07:06 +03:00
RainWarrior 879b7b5a61 Added the ability to change the printed model error count; Added printing of actual exceptions causing missing variants related to blockstate loading, closes #2689. 2016-04-04 16:02:21 +03:00
AEnterprise dbe9053d50 onBlockHarvested is no longer called twice 2016-04-04 11:37:40 +02:00
LexManos 1e3df55689 Merge pull request #2702 from McJty/1.9
Added DimensionManager.createProviderFor() to WorldClient constructor…
2016-04-03 22:49:11 -07:00
McJty 9c3def9cb0 Added DimensionManager.createProviderFor() to WorldClient constructor similar to what is done
in WorldServer to make sure the correct provider is created client-side too.
2016-04-04 06:26:46 +02:00
LexManos 1811d88266 Merge pull request #2616 from iTitus/updateNotificationIcon
Add update notification icon made by @gigaherz, closes #2582
2016-04-03 18:22:27 -07:00
Fry 132e0d8f93 Merge pull request #2697 from mezz/keyBinding19-3
Fix inability to attack while holding modifier keys
2016-04-04 00:19:52 +04:00
mezz bc2b5ad517 Fix inability to attack while holding modifier keys 2016-04-03 13:15:18 -07:00
Fry df1adb577c Merge pull request #2695 from mezz/keyBinding19-2
Re-Add key binding modifiers and contexts.
2016-04-03 12:50:08 +04:00
mezz 21d39f6558 Re-Add key binding modifiers and contexts. 2016-04-03 01:46:29 -07:00
RainWarrior 9baabf9249 Revert "Add key binding modifiers and contexts.", until it's fixed.
This reverts commit 34c3af7e85.
2016-04-03 11:01:09 +03:00
RainWarrior 77772ac3f5 Changed generic signature of GameRegistry.register methods to work around the type inference bug; updated all example mods to the new block/item registration method. 2016-04-03 10:14:16 +03:00
LexManos fc57d5e6c6 Merge pull request #2693 from Adubbz/1.9
Fixed mismatched registry names and mod ids
2016-04-02 23:04:15 -07:00
LexManos d13449b1b3 Merge pull request #2692 from mezz/keyBinding19
[1.9] Add key binding modifiers and contexts.
2016-04-02 23:02:59 -07:00
LexManos 087a7d8c59 Properly deprecate and link the replacement methods in GameRegistry. Add helper method for registering a block with default ItemBlock because people keep complaining -.- 2016-04-02 22:16:22 -07:00
Adubbz 8374a80283 Fixed mismatch registry names and mod ids 2016-04-03 15:13:25 +10:00
mezz 34c3af7e85 Add key binding modifiers and contexts.
Same as #2674, but for Minecraft 1.9
2016-04-02 21:25:44 -07:00
LexManos 8058c675ab Fixed compile error in registry code with Eclipse. 2016-04-02 12:01:40 -07:00
cpw 404995122a Capture a vanilla freeze - will be used when FML connects to vanilla servers, soon 2016-04-02 14:16:17 -04:00
cpw efcb9ee570 Support ResLocations for IMC 2016-04-02 12:19:36 -04:00
RainWarrior 4c8da35655 Improved UV offset hackery - should fix most visible custom model seams. 2016-04-02 18:49:18 +03:00
cpw c74216bdf2 MinecraftForge-2684 [1.9] New Registry ignores keys 2016-04-02 11:38:03 -04:00
cpw c44ed8fbde MinecraftForge-2683 InvocationTargetException for Forge 1820 for 1.9 2016-04-02 07:50:02 -04:00
cpw e72c224294 Add registries for soundevents, enchantments and potiontypes
MinecraftForge-2576 [1.9] SoundEvents (and Enchantments and PotionTypes) need a FML registry
2016-04-02 00:00:38 -04:00
cpw acf8220414 Reconcile Block.patch 2016-04-01 21:28:28 -04:00
cpw 6e04a6c572 Squashed commit of the following:
commit b3b290aec9d3010a134859da6001ea28a96c2fdc
Merge: c6ce6a0 d803f7d
Author: cpw <[email protected]>
Date:   Fri Mar 25 13:28:04 2016 -0400

    Merge branch 'RegistryRework' of https://github.com/LexManos/MinecraftForge into LexManos-RegistryRework

    Implement proper registry slaves. Should help with rollback related issues.

    Missing patch

commit d803f7db76
Author: LexManos <[email protected]>
Date:   Tue Mar 22 03:36:14 2016 -0700

    Update VillagerRegistry and use it. Should in theory make custom villagers work now. Using string version instead of int id for networking.

commit eb5e5b4b42
Author: LexManos <[email protected]>
Date:   Tue Mar 22 02:14:16 2016 -0700

    More cleanup.

commit edbc56b2ff
Author: LexManos <[email protected]>
Date:   Tue Mar 22 02:05:23 2016 -0700

    More cleanups, removed deprecated UniqueIdentifier {ResourceLocation now}

commit e2df8d1be3
Author: LexManos <[email protected]>
Date:   Tue Mar 22 01:29:19 2016 -0700

    Stupid generics....

commit 46d57dc467
Author: LexManos <[email protected]>
Date:   Tue Mar 22 01:00:25 2016 -0700

    Some registry tweaking to provde a non-complicated API modders can use.
2016-04-01 20:56:06 -04:00
Hea3veN b427b26583 Fix remapped blocks being overriden with dummy air blocks. Closes #2491 2016-04-01 20:55:19 -04:00
Fry 7668472c26 Merge pull request #2679 from tterrag1098/render_in_layer_state
Add state param to Block.canRenderInLayer
2016-04-01 11:13:28 +04:00
tterrag1098 5862aaf3a0 Add state param to canRenderInLayer 2016-04-01 03:12:01 -04:00
LexManos 74a0709356 Merge pull request #2678 from shadowfacts/BlockAddInfo-19
Forward ItemBlock#addInformation to Block#addInformation
2016-03-31 19:04:58 -07:00
Shadowfacts b7327e6a35 Forward ItemBlock#addInformation to Block#addInformation 2016-03-31 21:12:17 -04:00
LexManos 42e4d1fa77 Merge pull request #2659 from kashike/feature/immutable-blockpos
Replace Forge's getImmutable method with the vanilla method
2016-03-30 16:20:43 -07:00
LexManos 82f964c00d Merge pull request #2664 from gigaherz/capability-storage
Make access to the Capability IStorage less annoying
2016-03-30 16:00:47 -07:00
LexManos 7a8475df6e Fix landing particles not showing up. Cloes #2661 2016-03-30 15:59:14 -07:00
LexManos 38c57d9038 Make NoteBlockEvent raw constructor protected to allow subclasses. Closes #2153 2016-03-30 15:26:48 -07:00
LexManos 9b9e48b3db Fix bows not animating properly when picking up ammo while using. Closes #2672 2016-03-30 15:21:00 -07:00
LexManos c662810814 Fix shrubs not generating correctly. Closes #2663 2016-03-30 15:20:18 -07:00
LexManos 746c07fc6c Fix EntityPlayer still running old armor logic. Closes #2670 2016-03-30 14:05:27 -07:00
LexManos 1083984c8a Merge pull request #2634 from mezz/null-pick
Fix Block.getPickBlock returning an ItemStack with a null Item
2016-03-30 13:48:02 -07:00
RainWarrior 90758f8c96 Fixed StackOverflow caused by the previous commit, closes #2669. 2016-03-29 15:34:45 +03:00
RainWarrior a073b0e386 Prevent missing model from loading multiple times. 2016-03-29 12:07:26 +03:00
mezz 0f06365e1f Fix Block.getPickBlock returning an ItemStack with a null Item 2016-03-28 16:21:35 -07:00
gigaherz 70e85b5eec Add wrapper methods for IStorage#readNBT/writeNBT. 2016-03-28 18:22:42 +02:00
kashike 45881d1c90 Replace Forge's BlockPos#getImmutable method with the included BlockPos#toImmutable (func_185334_h), while keeping the override in PooledMutableBlockPos to prevent mutable leaks.
Also prevent a mutable blockpos leak in World#setTileEntity
2016-03-27 09:43:56 -07:00
RainWarrior efa7fd4dfe Fixed crosshair always being white, closes #2653. 2016-03-26 09:45:20 +03:00
RainWarrior 6e68aa4106 Enabled diffuse lighting by default in UnpackedBakedQuad.Builder. 2016-03-26 09:41:05 +03:00
RainWarrior 6385d7cc9f Fixed diffuse lighting not being applied if forge lighting pipeline is disabled, closes #2651 2016-03-26 09:29:28 +03:00
LexManos c6ce6a00a2 Merge pull request #2650 from mezz/1.9
Make tooltips layout in the right direction, wrap if there is no room
2016-03-24 20:43:45 -07:00
mezz da2964fbd3 Make tooltips layout in the right direction, wrap if there is no room
Same as #2649, but for Minecraft 1.9
2016-03-24 20:39:08 -07:00
LexManos c7e54b8ecc Merge pull request #2649 from mezz/tooltips
Make tooltips layout in the right direction, wrap if there is no room
2016-03-24 19:18:26 -07:00
mezz eca3b900e0 Make tooltips layout in the right direction, wrap if there is no room
Fixes #2255
2016-03-24 19:12:46 -07:00
RainWarrior c891d9fe16 Disabled erroring block, fixed DynBucketTest.TestItem model. 2016-03-25 00:49:34 +03:00
LexManos dd201c066e Merge pull request #2645 from diesieben07/populate_event
Fix PopulateChunkEvent.Post not firing.
2016-03-24 14:37:55 -07:00
RainWarrior 75032ebf9c Made some more public fields either private or final. 2016-03-24 22:22:21 +03:00
RainWarrior 756c58d5cb Removed RenderWorldEvent, encapsulated all public event fields. 2016-03-24 22:22:21 +03:00
RainWarrior 08c00662a0 Removed LanguageRegistry and CollectionWrapperFactory. 2016-03-24 22:22:21 +03:00
RainWarrior 1d25d9ff49 Fixed isSideSolid causing infinite loops due to the call to getActualState. 2016-03-24 22:22:21 +03:00
RainWarrior a9d23f5e78 Cleanup: removed IEEP, removed redundant casts, fixed imports, fixed typos. 2016-03-24 22:22:20 +03:00
LexManos 7e4d7077a5 New Builder class in BlockStateContainer. Makes building containers with both listed and unlisted properties cleaner.
Make all methods of BiomeGenBase$BiomeProperties public so that modders can use that class outside subclasses.
2016-03-23 19:10:10 -07:00
Take Weiland bc5313c67b Fix PopulateChunkEvent.Post not firing 2016-03-24 02:24:36 +01:00
LexManos 640670052c Merge pull request #2643 from diesieben07/beetroots
Fix BlockCrops.getDrops not respecting new age methods (for beetroots)
2016-03-23 16:33:03 -07:00
Take Weiland 8a6dafc3bb Fix BlockCrops.getDrops not respecting new age methods (for beetroots) 2016-03-23 19:51:15 +01:00
iTitus ecd6f4c1d2 Add flashing update notification icon made by @gigaherz, closes #2582
It is added to the "Mods" button in the main menu and to out-of-date mods in the mod list (there it replaces the "U").
Also fixes a little typo.
2016-03-23 14:48:29 +01:00
RainWarrior 1d608c6fe4 Register the animation Capability. No idea how it worked before at some point. 2016-03-23 08:20:06 +03:00
RainWarrior 884cc690ea Show meaningful error if ModelLoaderRegistry is used before the missing model is initialized. 2016-03-23 08:20:06 +03:00
LexManos 9edd056f55 Fix typo causing biomes to be generated in wrong chunks. Closes #2632 2016-03-22 18:59:37 -07:00
LexManos 0ce790ca2b Fixed custom entities unique ids. 2016-03-22 15:29:42 -07:00
LexManos 25cd7cc3e1 Update FML Entity Spawn packet for 1.9's location change. Closes #2567 2016-03-22 13:35:45 -07:00
LexManos a596984bfd Merge pull request #2622 from williewillus/dupedropfix2
Actually fix dupe drop
2016-03-22 13:00:28 -07:00
RainWarrior 08663587d4 Added Capability.cast, to allow avoiding unchecked casts in ICapabilityProvider.getCapability 2016-03-22 09:01:00 +03:00
LexManos a4d5760539 Fix swap animations for sure this time. 2016-03-21 20:43:22 -07:00
Vincent Lee b38cfc1769 Actually fix dupe drop 2016-03-21 22:39:48 -05:00
LexManos 3ce53a7ee0 Make OreDictionary.initVanillaEntries() private so that dumb modders will stop calling it. 2016-03-21 19:57:59 -07:00
LexManos d878c866b3 Allow finite fluids to be drained correctly 2016-03-21 19:56:31 -07:00
LexManos 1d21345dfd Merge pull request #2531 from Choonster/finite-fluid-drain-fix
Allow finite fluids to be drained correctly
2016-03-21 19:54:53 -07:00
LexManos 2a1c98048e Merge pull request #2587 from diesieben07/spawn_egg_fix
Fix mod spawn eggs and EntityList.func_188429_b
2016-03-21 19:42:59 -07:00
LexManos ac44fe298a Merge pull request #2592 from matthewprenger/patch-1
Pass exceptions thrown in mod event buses back to FML to handle appropriately
2016-03-21 19:39:09 -07:00
LexManos 81e0f2350d Merge pull request #2593 from williewillus/dupedropfix
[1.9] Fix double dropping of items. Closes #2549
2016-03-21 19:35:58 -07:00
LexManos 76efd93235 Merge pull request #2621 from Thutmose/patch-1
Fix pushing players inside blocks.
2016-03-21 19:34:58 -07:00
Thutmose e349855688 Fix pushing players inside blocks.
same changes made to the 1.9 branch
2016-03-21 22:33:35 -04:00
LexManos 5cb4fe33bc Merge pull request #2614 from williewillus/entitycaps
Expose IItemHandler on vanilla entities
2016-03-21 19:27:25 -07:00
LexManos a365582b58 Added support for custom dyes with Banners. Closes #2596 2016-03-21 19:24:12 -07:00
LexManos caf3d01586 Make RenderLivingBase.add/remvoeLayer, Closes #2573 2016-03-21 19:23:30 -07:00
LexManos f14f77d445 Fix pushing players inside blocks. 2016-03-21 18:42:37 -07:00
Vincent Lee dabb17f869 Update according to suggestions 2016-03-21 20:31:33 -05:00
LexManos c7b8020279 Exclude jna from termal tansformer. 2016-03-21 18:20:30 -07:00
LexManos 08a3b654b9 Add ShieldDecoration and Tipped arrows to recipe sorter. Closes #2613 2016-03-21 18:20:15 -07:00
LexManos cc5dea0df6 Fixed Item.shouldCauseReequipAnimation hook. 2016-03-21 17:56:59 -07:00
LexManos 2ca7cff075 Fix Chests not opening correctly with semi-solid blocks on top. 2016-03-21 17:56:59 -07:00
LexManos 1830d6de89 Merge pull request #2618 from Thutmose/patch-1
Allow players sized smaller than 1 block to walk into small spaces
2016-03-21 17:15:26 -07:00
LexManos b317d5d107 Merge pull request #2605 from Thutmose/playersize
Fixed players smaller than 1 block not being able to walk under overhang
2016-03-21 17:15:11 -07:00
LexManos 6fd9a2c00e Rework DimensionManager for new DimensionType enum, replaces the old provider registry. Also fixed save folder issues with dimensions. Closes #2570 2016-03-21 17:12:34 -07:00
Thutmose ba294d48dc Allow players sized smaller than 1 block to walk into small spaces
Same as #2605 but for 1.9 branch
2016-03-21 18:31:25 -04:00
Thutmose cd81cd0934 Allow players sized smaller than 1 block to walk into small spaces 2016-03-21 17:41:41 -04:00
LexManos 3930f6f8bd Merge pull request #2612 from CovertJaguar/master
Add missing Minecart/Track hook.
2016-03-21 14:08:40 -07:00
RainWarrior bebf22c0b0 Added default left hand transforms for forge transform strings. Closes #2615. 2016-03-21 18:55:22 +03:00
RainWarrior 9eb04ce1ef Made VertexBuffer.sortVertexData cleanup pointers after it's done. Closes #2528. 2016-03-21 18:54:25 +03:00
RainWarrior 438145995c Ignore blocks/items with null registry name during model loading. Fixes NPE during resource reloading in worlds with removed blocks/items. 2016-03-21 18:29:45 +03:00
RainWarrior 4e6ad80370 Removed blockCenterToCorner from TRSRTransformation constructor. Closes #2461. 2016-03-21 18:23:27 +03:00
RainWarrior c589a3a299 Implemented slightly more generic version of UVLock, re-enabled it for json models. Closes #2607. 2016-03-21 18:06:35 +03:00
Vincent Lee 30db41be9a Expose IItemHandler on vanilla entities 2016-03-21 09:24:36 -05:00
CovertJaguar f61605c7af Add missing Minecart/Track hook. 2016-03-21 03:18:25 -07:00
RainWarrior 4b53f0716b instance -> INSTANCE 2016-03-21 10:48:52 +03:00
RainWarrior 286c8c05b7 Separated model classes to client and common packages. 2016-03-21 10:48:52 +03:00
RainWarrior 5f62404f8a Switched animation system to capabilities, added animated item example, fixed state passing in MultiModel. 2016-03-21 10:48:52 +03:00
LexManos 558348125d Merge pull request #2610 from gigaherz/1.9-enchantment
Fix for enchantment table rolling invalid enchants
2016-03-20 21:53:07 -07:00
LexManos 4c5bc9c613 Merge pull request #2590 from blay09/patch-1
[1.9] Fix KeyInputEvent only being fired if Keyboard.getEventKeyState() is false
2016-03-20 21:50:20 -07:00
LexManos b00af6828f Merge pull request #2606 from CovertJaguar/1.9
Fix #2601 Minecart infinite acceleration
2016-03-20 21:27:17 -07:00
gigaherz 449bf3a292 Fix a condition that caused the enchantment table to roll invalid enchantments. 2016-03-21 04:18:16 +01:00
CovertJaguar 17589e61bd Fix #2601 Minecart infinite acceleration 2016-03-20 16:33:49 -07:00
Take Weiland 313d7bbc11 Fix EntityList.func_188429_b not supporting mod-entities, fixes spawn eggs, fixes #2581 2016-03-20 15:10:22 +01:00
LexManos cc2895b793 Merge pull request #2594 from Corosauce/master
Fix for patch targetting the wrong field to change for failed pathfinding penalty
2016-03-20 06:53:53 -07:00
Corosauce c01e98e25f Fix for patch targetting the wrong field to change for failed pathfinding penalty 2016-03-20 02:05:38 -04:00
LexManos 5ad2fc90cb Merge pull request #2589 from diesieben07/player_riding_fix
Fix broken patch in EntityPlayer.updateRidden
2016-03-19 21:23:25 -07:00
LexManos 9e475300f9 Merge pull request #2586 from williewillus/fixcrops
[1.9] Fix BlockCrops looking for wrong AGE property for subclasses. Fix #2555
2016-03-19 21:13:18 -07:00
LexManos d4cb82b019 Merge pull request #2585 from iTitus/patch-1
Fix the EntityPlayer patch
2016-03-19 21:12:23 -07:00
LexManos 3d7a16d32e Merge pull request #2584 from Corosauce/1.9
Fix for patch targetting the wrong field to change for failed pathfinding penalty
2016-03-19 21:10:07 -07:00
cpw 76e93e854a Fix bucket test 2016-03-19 21:36:21 -04:00
cpw ce8a758667 Merge branch 'master' into 1.9 2016-03-19 21:19:19 -04:00
cpw af4b74b079 Ignore classes directory 2016-03-19 21:18:47 -04:00
Vincent Lee c39328993e Fix double dropping of items. Closes #2549 2016-03-19 19:57:11 -05:00
Matthew Prenger ee6c041424 Pass exceptions thrown in mod event buses back to FML to handle apropriately 2016-03-19 19:07:04 -05:00
Blay09 8c38f6c1d3 Fix KeyInputEvent only being fired if Keyboard.getEventKeyState() is false.
It used to be called for both key-up and key-down states prior to 1.9, so I assume Vanilla's changes to F3 behavior broke the patch.
2016-03-20 00:12:08 +01:00
Take Weiland 590f3f610e Fix broken patch in EntityPlayer.updateRidden 2016-03-20 00:11:03 +01:00
Vincent Lee b1a5339b29 Fix #2555 2016-03-19 17:15:26 -05:00
iTitus d5d0374015 Fix the EntityPlayer patch
In 1.8.9 the call goes to getDisplayNameString() so that any changes from the PlayerEvent.NameFormat event are being take into account.
In this patch the call goes to func_70005_c_() which is the getter for the GameProfile name.
I changed it back.

Sorry if you do not want to accept it because it is a one-liner.
2016-03-19 22:37:59 +01:00
Corosauce 8ea90eb39e Fix for patch targetting the wrong field to change for failed pathfinding penalty 2016-03-19 16:55:19 -04:00
RainWarrior ad03581fbe Fixed sprite not being passed to the quad builder for custom models. 2016-03-19 09:48:46 +03:00
RainWarrior 7795570421 Fixed outline shader rendering, closes #2560. 2016-03-19 08:24:59 +03:00
RainWarrior f37a80b302 Fixed Block.doesSideBlockRendering, closes #2564. 2016-03-19 07:20:25 +03:00
RainWarrior 3f3989f6ac Fixed invalid index calculation in BakedQuadRetextured. 2016-03-18 16:55:21 +03:00
LexManos 093646e6f1 Fix AT lines. 2016-03-18 00:29:57 -07:00
RainWarrior a81dfbc4ef Fixed quads that don't need diffuse lighting getting it anyway. 2016-03-17 14:11:24 +03:00
Fry 2c55969ff3 Merge pull request #2559 from Adubbz/master
BlockColors and ItemColors no longer assume non-Vanilla id constancy. Added a getter for ItemColors.
2016-03-17 08:40:58 +04:00
RainWarrior b8bb8c374c Fixed MultiLayerModel not getting correct submodels; Unified the gui lighting of normal and custom models - diffuse lighting is now done in the pipeline, no need for IColoredBakedQuad anymore. 2016-03-17 07:29:44 +03:00
Adubbz 02e228095e BlockColors and ItemColors no longer assume non-Vanilla id constancy. Added a getter for ItemColors. 2016-03-17 14:27:55 +11:00
LexManos 0b0b5097e5 Fixed NPE when sneak using a item. 2016-03-16 18:25:53 -07:00
LexManos 1d2d9ebc83 Fixed Sand not falling. 2016-03-16 18:25:26 -07:00
LexManos c442cd2909 Fixed onUseStop being called twice {Bows firing twice} 2016-03-16 18:25:14 -07:00
LexManos 1591373bf6 Fix vanilla bug where bows consumed tipped arrows in creative. 2016-03-16 18:24:48 -07:00
LexManos f22ed86ad9 Remove our entity position fixer. Vanilla fixed the bug in 1.9. 2016-03-16 18:24:11 -07:00
RainWarrior 6b926f9a06 Javadocs, small cleanup. 2016-03-16 05:17:33 +03:00
RainWarrior 8b4bce37de Fixed progress reporting for model loading. 2016-03-16 05:00:44 +03:00
RainWarrior 87f4351783 Removed imports in patches. 2016-03-16 04:23:40 +03:00
RainWarrior 4189f63905 Fixed EffectRenderer patch, closes #2547. 2016-03-16 04:23:40 +03:00
RainWarrior 12c051d52b Fixed incorrect culling of mod TESRs. 2016-03-16 04:23:40 +03:00
RainWarrior 78a397bc69 Fixed incorrect rotations for items in the left hand. Closes #2548. 2016-03-16 04:23:28 +03:00
RainWarrior b81a13d010 Fixed model error reporting, fixed model errors in test mods that shouldn't happen, fixed custom texture loading, made more things private/final. 2016-03-16 01:42:23 +03:00
LexManos 2bdb614fda Merge pull request #2544 from Vazkii/patch-1
1.9: Fixed registering armor materials through EnumHelper exploding
2016-03-15 12:41:27 -07:00
Vasco Lavos 05801a74af 1.9: Fixed registering armor materials through EnumHelper exploding
1.9 ArmorMaterial now requires a SoundEvent for the equip sound.
2016-03-15 17:52:58 +00:00
LexManos ae72fa7ceb Fixed breaking of tall grass. It now uses fortune. Expanded grass seed hooks to allow Fortune. Potentially removing in future in favor of LootTables. 2016-03-15 01:17:38 -07:00
LexManos 7b0d8f09e9 Fix digging blocks in survival. 2016-03-14 23:44:10 -07:00
LexManos 28ae283b96 PlayerManager updated. 2016-03-14 22:58:01 -07:00
LexManos 3839d33770 Delete mcp patches. 2016-03-14 21:07:05 -07:00
LexManos 9e74f9e7c0 We are based on 1.9 not 1.8.9 :D 2016-03-13 18:51:31 -07:00
LexManos c27b13c705 Update patches for fixed inner class suffeling in srg files. 2016-03-13 18:32:53 -07:00
RainWarrior 5d352bda6c Big model loader refactoring: simplified a lot of things, broke some error reporting. Still generally works. 2016-03-13 16:16:25 +03:00
RainWarrior a799bbad2d First version of updated of ModelLoader, mostly works. 2016-03-13 12:10:50 +03:00
RainWarrior bda688b9b5 Fixed some errors in forge.exc 2016-03-13 09:59:30 +03:00
RainWarrior 4650ee2789 Updated to latest mappings. Exc is broken, some anonymous classes didn't map to srg names. 2016-03-13 04:40:03 +03:00
LexManos ba80ead005 Merge pull request #2539 from bonii-xx/bugfix
Fix CombinedInvWrapper accessing incorrect slots
2016-03-12 16:33:06 -08:00
Bernhard Bonigl bcab92daf6 Fix CombinedInvWrapper accessing incorrect slots
Closes #2533
2016-03-12 22:17:57 +01:00
cpw 52e877bdd0 Switch to srg patches 2016-03-11 19:59:24 -05:00
RainWarrior 93c1c737e1 Fixed armor rendering 2016-03-11 01:26:04 +03:00
RainWarrior 018c67d969 Fixed incorrect rendering state caused by transparent rendering pass for entities. 2016-03-11 00:57:05 +03:00
RainWarrior 5c9808ada8 Fixed emply hand not rendering in first person. 2016-03-11 00:43:18 +03:00
cpw cdf8a820a6 Capture Biome Registry within FML 2016-03-09 23:01:04 -05:00
RainWarrior 8e9b403fbf Fixed (hopefully) perspective transformations for custom models too. 2016-03-10 04:48:13 +03:00
RainWarrior cf93859095 Fix items rendering too low in first person. 2016-03-10 04:19:54 +03:00
cpw 98f606d4d2 Move the patch into the fml override handler, for less patch 2016-03-09 20:08:24 -05:00
cpw 301d4b9fa0 Fix race condition between server ticks and the netlogin code handshaking for FML 2016-03-09 20:00:10 -05:00
RainWarrior 173cec4149 Fix perspective transformations for left-handed items, disable ModelAnimationDebug until model loading is fixed. 2016-03-10 03:38:58 +03:00
LexManos 873899a62b Fixed position being shifted before being sent to shouldSideBeRendered. 2016-03-09 15:15:52 -08:00
LexManos e4da09df2a Bump version info. Rather important. 2016-03-09 14:52:32 -08:00
LexManos 90b2c86a9f Added bypass functions to Defaulted registry, DO NOT USE THIS MODDERS FORGE INTERNAL ONLY.
And some other fixups for running.
2016-03-09 14:41:13 -08:00
LexManos 7b7156e87f Interaction hooks need to be re-added but compiles {Doesn't run} 2016-03-09 14:11:56 -08:00
cpw 846910b8c8 Fix up PlayerSP for the AT 2016-03-09 01:08:42 -05:00
cpw e8a7e28110 Another AT, for the player 2016-03-09 00:59:28 -05:00
cpw aa24916736 Finish world, chunkloading should work again? 2016-03-09 00:48:32 -05:00
cpw c11732fc40 Potion cleanup. Moar fixes! 2016-03-08 23:49:19 -05:00
cpw 56a0d125bd Remove more chestgenhooks stuff. Clean up some more ATs 2016-03-08 23:39:37 -05:00
cpw 25256c8ddd More fixups, removing chestgenstuff aggressively. Use loot tables. Any missing ones WILL be added by Mojang. 2016-03-08 23:22:54 -05:00
cpw a44d76652b Another compilation fix
More patch tweaks for compilation errors. onItemUseTick takes an entity now, cos skellies use stuff too
2016-03-08 16:36:50 -05:00
cpw fffbc0f078 Some more forge code fixes 2016-03-08 16:23:54 -05:00
RainWarrior befbb45522 Most of ItemInWorldManager reject, various small error fixes. 2016-03-08 23:33:28 +03:00
RainWarrior 4b4146bbed World 2016-03-08 22:43:05 +03:00
LexManos 776eb00ed3 10 more rejects down.
98 errors 6 rejects left.
2016-03-07 23:34:40 -08:00
LexManos 26ca27193c More patch work, client patches. 2016-03-07 21:06:54 -08:00
Choonster TheMage 9ca3ede736 Allow finite fluids to be drained correctly 2016-03-07 21:31:27 +11:00
cpw f0e5baa8e5 Few more compile fixups 2016-03-07 00:23:00 -05:00
cpw ade3bbad14 Command fixups 2016-03-07 00:08:29 -05:00
cpw 020bf5ee98 Remove two patches that aren't needed anymore 2016-03-06 23:46:27 -05:00
cpw 2dcb2187c0 Some client handler cleanup 2016-03-06 23:42:30 -05:00
cpw e49e6a9e09 Fix up import in Potion 2016-03-06 23:20:06 -05:00
cpw 01912a459a Some more FML related fixups 2016-03-06 23:18:36 -05:00
cpw b342bf8481 Some fixups for FML, and use the FML registry for potions 2016-03-06 23:07:25 -05:00
LexManos 2847644368 NetworkDispatcher/FMLProxyPacket 41 more errors cleaned. 2016-03-06 18:45:21 -08:00
LexManos a83fe44d8a Temporary hack to fix MCP mappings for param names we are using that is causing compile errors. 2016-03-06 18:02:44 -08:00
LexManos 09bac53ed6 Fishing is now a loot table no more need for FishingHooks. {LootTables still need to be evaludated if they need extra hooks, but thats later} Goodbye 44 compile errors! 2016-03-06 17:01:52 -08:00
LexManos 206a21d563 Fixed errrors in Fluids package. TODO: Make BlockLiquid implement IFluidBlock and REMOVE FluidContainerRegsitry. Everything *should* be able to use IFluidContainer directly. 2016-03-06 16:54:47 -08:00
RainWarrior ee82341312 Made OBJModel.java compile. 2016-03-06 03:00:08 +03:00
RainWarrior 3e22a2b90d Model UV lock handling from the state to the model, fixed most compile errors in ModelLoader, disabled it (and ModelBakeEvent) until it's functional, fixed some errors in ForgeHooksClient. 2016-03-06 02:51:39 +03:00
RainWarrior 70670d70ea Removed generics from IModel subinterfaces, add ed ModelProcessingHelper instead. 2016-03-06 01:34:04 +03:00
cpw 0f2cead3c8 WorldServer: NOTE - ChestGenHooks has NOT been updated in accordance with plans for removing it
GuiStats
Fixup deletion of egg handling in entity registry?
2016-03-04 22:39:35 -05:00
cpw 3c7bda77e3 ServerPinger
PlayerList
2016-03-04 21:51:53 -05:00
RainWarrior 7735ff7791 ModelBox, PositionTextureVertex, TexturedQuad. Does anyone really use those on the server? 2016-03-05 05:29:55 +03:00
cpw c5e10c8cb8 LanguageManager
NetHandlerPlayClient
2016-03-04 21:26:17 -05:00
RainWarrior cb909eeb59 Fixed B3D loader, fixed some obvious errors in ModelLoader. 2016-03-05 05:02:34 +03:00
RainWarrior ed8a8b415b Fix various errors in text mods. 2016-03-05 04:43:41 +03:00
LexManos 74b2c3dfe6 World Patches work. 2016-03-04 16:40:34 -08:00
LexManos 8a506022d7 More work on misc things. 2016-03-03 02:57:38 -08:00
LexManos f821759c21 Delete reject files i missed 2016-03-02 23:37:05 -08:00
LexManos ec882538c0 Merge pull request #2521 from Adubbz/master
Updated BiomeManager to 1.9
2016-03-02 23:35:36 -08:00
Adubbz c87feabd6e Updated BiomeManager to 1.9 2016-03-03 18:33:26 +11:00
LexManos b096f58a6d Merge pull request #2520 from Adubbz/master
Updated the biome dictionary to support 1.9
2016-03-02 23:24:24 -08:00
LexManos b6bcf7bf4b Enchantments, some world, Biomes, bucks, world/gen/features. 2016-03-02 23:23:40 -08:00
Adubbz 706e894cbb Updated the biome dictionary
Squashed commits:

[4064de6] Updated the biome dictionary
2016-03-03 18:15:30 +11:00
cpw b15667a7e6 DedicatedServer
IntegratedServer
2016-03-02 13:22:04 -05:00
RainWarrior becb0a9e0e Chunk 2016-03-02 20:28:51 +03:00
RainWarrior cff4bf21ae Updated raw types in ExtendedBlockState, fixed some ATs, updated some things that needed updating in model classes. 2016-03-02 20:00:32 +03:00
RainWarrior d44d82e19d removed Item.getModel, functionality is now achieveable via ItemOverrides. 2016-03-02 15:36:32 +03:00
RainWarrior 24b66ff9f3 GuiOverlayDebug, ItemModelMesher, RenderManager, Stitcher fixed + minor fixes in forge gui classes. 2016-03-02 15:32:22 +03:00
RainWarrior 3fd09af1d3 GuiCreateWorld, GuiSlot, GuiUtilRenderComponents, GuiContainerCreative 2016-03-02 15:06:36 +03:00
LexManos 7fadb5aeb8 Small renames before bed. 2016-03-02 01:44:41 -08:00
LexManos 636a89c195 Merge pull request #2514 from CovertJaguar/1.9
Fix broken patches for EntityMinecart
2016-03-02 01:25:01 -08:00
LexManos 8863aab9e5 Items done, <1000 errors whoot! 2016-03-01 23:38:31 -08:00
CovertJaguar 8fe432230d Fix broken patches for EntityMinecart 2016-03-01 23:04:07 -08:00
LexManos ad788880e5 Some entity patches. 2016-03-01 20:42:36 -08:00
RainWarrior 728319cbb5 Fixed most errors in the model stuff, except for ModelLoader and b3d and obj getQuads/handleBlockState methods. 2016-03-01 23:19:38 +03:00
RainWarrior d9b69fda65 FontRenderer 2016-03-01 21:08:51 +03:00
RainWarrior d5c4b1825c tabs -> spaces. 2016-03-01 20:52:36 +03:00
RainWarrior d35c38d261 EntityRenderer, most of RenderGlobal, minor fix to LayerBipedArmor. 2016-03-01 20:52:19 +03:00
RainWarrior 153fb6b30d RendererLivingEntity, RenderEntityItem, RenderItem, RenderManager, LayerArmorBase; Item.getModel + ISmartItemModel are now inside ItemOverrideList; fix class rename in TESR patch. 2016-03-01 20:13:37 +03:00
RainWarrior c9a01a439d A bunch of rendering rejects updated. 2016-03-01 19:22:21 +03:00
RainWarrior c1744f00e0 Updated various block model patches. 2016-03-01 17:59:58 +03:00
LexManos ac7c4d2f6c Some import renames and compile error fixes, killed ~800. 2016-03-01 04:58:03 -08:00
LexManos 1f80eb17df util, tileentity, stats, realms. Potions got an overhaul and out registry will need to be adapted. 2016-03-01 04:07:00 -08:00
LexManos f654157adb net.minecraft.block.* patches 2016-03-01 00:31:58 -08:00
cpw bf7527d3cd First few patches applied 2016-02-29 22:54:48 -05:00
cpw 213abdb561 Add rejects with mcp names for application to main codebase. Let's roll? 2016-02-29 21:45:40 -05:00
cpw d29b9f8752 Add in mcp named patches and use them. Initial 1.9 setup. 2016-02-29 21:37:08 -05:00
cpw 95d1ba5dc5 Don't ignore rejects 2016-02-29 19:43:05 -05:00
LexManos 250a77b359 Merge pull request #2476 from Abastro/fovfixes
Added Event: EntityViewRenderEvent#FOVModifier
2016-02-29 13:20:46 -08:00
LexManos 0e35c3125a Merge pull request #2500 from me4502/master
Added local click position to PlayerInteractEvent. Fixes #2482
2016-02-27 01:21:25 -08:00
Matthew Miller (Me4502) f1ad05dd8e Added local click position to PlayerInteractEvent. 2016-02-27 11:27:21 +10:00
Abastro c4ca8270b9 Added EntityViewRenderEvent#FOVModifier
Enables mods to modify raw FOV directly.
Avoids modifier limit from FOVUpdateEvent.
Aware of blocks which are needed for fov change related with materials.
2016-02-27 09:25:19 +09:00
LexManos ecfb9accaa Fixed dummy blocks not being removed from registry on dedicated server correctly. Closes #2487
Also added some more debug logs!
2016-02-24 16:56:20 -08:00
LexManos 0dd796fb16 Merge pull request #2497 from bonii-xx/universal_bucket
Fix WordServer.canCreatureTypeSpawnHere not using Forge Events.
2016-02-23 01:04:09 -08:00
Bernhard Bonigl 17e960c158 Fix WordServer.canCreatureTypeSpawnHere not using Forge Events.
Followup of #2496
2016-02-23 09:53:26 +01:00
LexManos 76f867561d Merge pull request #2495 from elix-x/master
Increased actual maximum fuel burn time
2016-02-22 11:31:39 -08:00
LexManos b009546a94 Merge pull request #2496 from bonii-xx/universal_bucket
Fix WorldEvent.PotentialSpawns Event passing the list instance of the…
2016-02-22 11:16:55 -08:00
Bernhard Bonigl de1c270644 Fix WorldEvent.PotentialSpawns Event passing the list instance of the ChunkProvider to users 2016-02-22 18:45:31 +01:00
elix-x 0ddd897446 Increased actual maximum fuel burn time
Increased actual maximum fuel burn time from 32767 to 2147483647.
Backwards compatible.
2016-02-22 18:16:45 +01:00
RainWarrior e495b7599c ModelLoader: added verbose error logging showing items/blockstates associated with model locations; removed redundant cast leftover from ungenerified code; fixed up a couple of warnings. 2016-02-22 03:53:26 +03:00
cpw 3e4107a222 Fix race condition when using indexed codec in a LAN server. Fixes spurious crash when LAN server is running. 2016-02-20 16:04:31 -05:00
cpw c88bc769ef Log when it's likely the indexedcodec is gonna fail, because of LAN server derps likely. Try and give some context for debuggers. 2016-02-19 23:18:46 -05:00
Fry 34382745ab Merge pull request #2488 from bonii-xx/universal_bucket
Fix universal bucket logging an exception
2016-02-19 13:27:59 +03:00
Bernhard Bonigl 9b128aaed2 Fix universal bucket logging an exception 2016-02-19 11:17:23 +01:00
LexManos fe340a213f Merge pull request #2485 from AlgorithmX2/world_getLightOpacity
Test getLightOpacity(world,pos) in World as well as the chunk.
2016-02-18 19:11:55 -08:00
AlgorithmX2 9eb22c3154 Test getLightOpacity(world,pos) in World as well as the chunk. 2016-02-18 20:43:24 -06:00
LexManos ad69f0f447 Merge pull request #2443 from AlgorithmX2/cap_pickup_entityitem
Preserve ItemStack Caps when picking Items up.
2016-02-18 14:10:32 -08:00
AlgorithmX2 e6b3c7ba64 Preserve ItemStack Caps when picking Items up. 2016-02-18 16:08:23 -06:00
LexManos c0915526ff Merge pull request #2429 from AlgorithmX2/in_material_hooks
In Material Hooks - For Swimming, Overlays, Boats, and Fishing.
2016-02-18 13:40:41 -08:00
AlgorithmX2 3c4a2b0f42 In material Liquid Hooks. 2016-02-18 14:41:15 -06:00
LexManos 1b3699d90b Merge pull request #2481 from diesieben07/potion-draw-fix
Fix Potion.shouldRenderInvText
2016-02-17 17:50:18 -06:00
Take Weiland 50f77a71ae Fix Potion.shouldRenderInvText 2016-02-18 00:37:57 +01:00
LexManos 6f9e63e3ee Merge pull request #2478 from AlgorithmX2/pre_getLightOpacity
Fix bug with getLightOpacity based on TileEntities,
2016-02-17 14:16:50 -06:00
AlgorithmX2 5c229dd6c7 Fix bug with getLightOpacity based on TileEntities,
Capture getLightOpacity prior to removing the tile entity.
2016-02-17 14:14:18 -06:00
LexManos f77d50b48c Fix loading of world ID maps for worlds without dummy data. Closes #2477 2016-02-17 12:06:57 -08:00
LexManos 13a25ee0ba Merge pull request #2474 from bonii-xx/universal_bucket
Fix customized bucket names not getting translated correctly
2016-02-17 13:31:12 -06:00
RainWarrior e8915b6a55 Added default levels for fluid extended properties in fluid model. 2016-02-16 14:13:19 +03:00
Bernhard Bonigl eb879b3020 Fix customized bucket names not getting translated correctly 2016-02-16 09:39:33 +01:00
LexManos 6b51665c42 Merge pull request #2333 from bonii-xx/universal_bucket
Add an universal bucket.
2016-02-15 17:56:05 -06:00
Bernhard Bonigl 1055206ba8 Add universal bucket 2016-02-16 00:49:01 +01:00
LexManos 74fe690227 Fix chat formatting not surviving line wraps in chat messages. 2016-02-15 14:30:24 -08:00
Fry 9760b3b52f Merge pull request #2470 from diesieben07/shader-fix
Fix the entity shader hook
2016-02-14 17:51:55 +03:00
Take Weiland b875274c4f Fix the entity shader hook 2016-02-14 15:25:11 +01:00
Fry 4d33fe6b26 Merge pull request #2467 from iLexiconn/master
Added hook to add entity spectator shader
2016-02-14 12:26:47 +03:00
LexManos 94f99faf87 Merge pull request #2468 from nallar/master
Workaround JDK-8087309: Constant folding "static final boolean" is incomplete
2016-02-13 15:23:24 -06:00
Ross Allan ccf5da2113 Workaround JDK-8087309: Constant folding "static final boolean" in boolean expressions is incomplete 2016-02-13 14:43:37 +00:00
iLexiconn 776f5b91d5 Added hook to add entity spectator shader 2016-02-13 00:09:04 +01:00
LexManos 06130912c5 Protect BlockSnapshot and Chunk.getTileEntity from mutible BlockPos instances. Closes #2438 2016-02-11 16:48:32 -08:00
LexManos 70fe18c163 Fixed Block.onNeighborChange not being called for all axises. Closes #2428 2016-02-11 16:29:07 -08:00
LexManos f4b0506515 Add missing classes to CrashReport preloading. Closes #2421 2016-02-11 16:28:25 -08:00
LexManos fa6610b3c8 Fixed invalid item being passed to gatherCapabilities when itemstacks changed item. Closes #2445 2016-02-11 16:27:38 -08:00
LexManos bd6af1e49a Fixed implementation of RenderEntityItem.shouldSpreadItems. Closes #2448 2016-02-11 16:26:48 -08:00
LexManos 53301e1aeb Fixed vanilla bug where network clients would see incorrect break progress on blocks. Closes #2462 2016-02-11 16:26:12 -08:00
LexManos a607a48719 Fixed Block/Item.setRegistryName printing a incorrect warning when used. Closes #2398 2016-02-11 16:25:25 -08:00
LexManos a9ea634141 Fixed Entity.shouldRiderSit modifying game logic and not just rendering. Closes #2402 2016-02-11 16:24:38 -08:00
LexManos 124799d633 Fixed invalid parameters being sent to LivingSpawnEvent.CheckSpawn. Closes #2453 2016-02-11 16:23:49 -08:00
LexManos 9070ab56e3 Potential fix for NPE when using an item to open a slotless inventory. Closes #1354 2016-02-10 11:25:41 -08:00
RainWarrior ed9517a8b4 Fix custom model loader reload hook not firing during registration. 2016-02-10 10:20:13 +03:00
RainWarrior a9a022f45e Fix incorrectly updated patch to ChunkCache. Related to #2451. 2016-02-10 10:11:53 +03:00
RainWarrior 7e7b855ddf Fix multiple registrations of reloading hooks in custom model loaders. 2016-02-09 16:09:55 +03:00
LexManos 2c6af18a81 Remove Mojang logger spam in EntityItem. 2016-02-07 15:45:06 -08:00
LexManos 32a2bd1dea Fix jar signer not applying to universal packed in the installer. 2016-02-07 15:44:46 -08:00
RainWarrior 12c924751a Fix TRSRTransformation.toItemTransform. Closes #2425. 2016-02-07 17:49:06 +03:00
Fry 4ae2a1fa35 Merge pull request #2437 from pau101/master
Fix #2321
2016-02-07 15:16:22 +03:00
pau101 cb70f1378c Fix #2321 2016-02-04 22:58:21 -08:00
LexManos 8af1624f9e Merge pull request #2423 from Mumfrey/fix/jdt
Fix ASM SignatureReader choking on invalid lambda local var signatures emitted by JDT
2016-02-04 12:34:04 -06:00
RainWarrior 085b28ba35 Revert binary-incompatible changes in models. 2016-02-04 13:34:40 +03:00
RainWarrior e611162de5 Fix droppers not dropping. 2016-02-03 19:11:33 +03:00
RainWarrior bfa17d2f0d One day I will learn to include all required classes in the commit. 2016-02-02 12:42:41 +03:00
RainWarrior 3bdc75ad49 Added "gui3d" and "smooth_lighting" options to the forge blockstate. Implemented them for vanilla and B3D models. Added generic types to IModel subinterfaces, to simplify chaining. 2016-02-02 12:23:26 +03:00
LexManos 7103862bf9 Merge pull request #2434 from matthewprenger/logcommandexceptions
Log unknown exceptions in commands. Resolves #2433
2016-02-01 18:36:39 -06:00
Matthew Prenger 76f659c02e Log unknown exceptions in commands. Resolves #2433 2016-02-01 18:25:40 -06:00
Mumfrey 63798d6a8f Fix ASM SignatureReader choking on lambda signatures generated by JDT 2016-01-29 00:19:59 +00:00
RainWarrior 741fdd0a85 Fixed incorrect patch to GenLayer, causing large vanilla biomes to not work properly. 2016-01-28 08:00:27 +03:00
RainWarrior 7b7d18f676 Provide original armor model in the custom armor model hook. 2016-01-28 07:43:55 +03:00
RainWarrior be6c2bd588 Fixed small bug in item extraction code. 2016-01-27 13:29:07 +03:00
RainWarrior a0bf0155ac Fix NoSuchElementException in ModelBlockAnimation caused by empty event list. 2016-01-26 01:22:21 +03:00
LexManos e45d111685 Bump version in prep for new Recomended Build. 2016-01-25 11:32:41 -08:00
LexManos b71b963301 Loosen TileEntity's default hasCapability implementation. Modders should specifically opt in. 2016-01-25 11:27:08 -08:00
LexManos 7a0a801740 Merge pull request #2336 from VikeStep/master
[1.8.9] Add EntityTravelToDimensionEvent
2016-01-25 11:07:19 -08:00
RainWarrior 960717eb0c Fixed minor race condition between mouse clicks and TESR in the animation example. 2016-01-25 17:39:43 +03:00
VikeStep 026d179c0d Add EntityTravelToDimensionEvent
Resolve Merge Conflict

Move event call inside conditional
2016-01-25 17:57:52 +10:00
RainWarrior e929199758 Sometimes I forget how much trivial things are missing from Java 6. 2016-01-24 10:10:21 +03:00
Fry e9be24700e Merge pull request #2331 from RainWarrior/model-animation
Model animation system
2016-01-24 10:01:58 +03:00
RainWarrior 0710bdf3f5 Model animation system.
Main things of interest:
  * IAnimationStateMachine - state machine for animations; can load
    from json.
  * AnimationTESR - automatic TESR for animated models.
  * AnimationModelBase - same for entities.
  * ITimeValue - time-varying value, used to control animation
    parameters from code.

  * TESRs can now be batched - look at TESR.renderTileEntityFast +
    TE.hasFastRenderer.
  * RegionRenderCache is not accessible to TESRs and other client-side
    logic - MinecraftForgeClient.getRegionRenderCache.
2016-01-24 09:59:38 +03:00
LexManos 01919e4eed Fix J6 compile error in IItemHandler PR. 2016-01-23 22:52:32 -08:00
LexManos 5257739d06 Merge pull request #2401 from ShetiPhian/Fix-isBeaconBase-BlockPos
Fixed: the BlockPos passed to isBeaconBase
2016-01-23 22:07:31 -08:00
LexManos e9a86f27fb Merge pull request #2385 from rwtema/master
Add IItemHandler capability
2016-01-23 22:06:29 -08:00
rwtema a1e41f5464 Add IItemHandler capability
Add the actual patches that I forgot.

Add simple implementations of IStorage and the factory methods.

Add ItemStackHandler. A simple IItemHandler implementaton.

return nulls, not throw nulls.

Move the vanilla wrappers to a separate class for now.

Minor clean ups of VanillaWrapper code.

Inline static methods.

Add comments.

Minor cleanup of code.

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

Minor formatting issues.

Break early If stacksize to insert is 0.

Remove setByte() methods.

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

Replace event handler with patches

Add capability to mine cart inventory entities.

Change formatting and registration of capability.

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

Reduce patch sizes

Lazy initialization of the item handler for vanilla tiles.

Minor formatting changes.

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

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

This reverts commit 306d4a37fd0e8c8a0754411c013b750dfe8e2c87.

Fix furnace derp

Replace double chest code with a simpler method.

Vanilla wrappers implement IItemHandlerModifiable (since they are modifiable)

Minor code cleanups

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

Add slot as a parameter in the callback method.

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

Improve ItemStackHandler handling of errored NBT.

Make the stacks array protected.

Fix a lot of derps in SlotItemHandler.

Fix derp in ItemStackHandler

Clarify comments on IItemHandler

ItemStackHandler no longer caches the stack array in local variable.

Clean up the Chests code to make intentions clearer

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

Fix mistake in ItemStackHandler

More documentation of potential edge cases in getStackInSlot()

Make limit checking more resiliant.
2016-01-24 05:20:58 +00:00
Timothy Tomkins 3b9741613c Fixed: BlockPos passed to isBeaconBase 2016-01-22 09:25:55 -05:00
LexManos d480ae5380 Merge pull request #2378 from blay09/bugfix/slotdrop
Fix items being dropped through slots outside GUI boundaries
2016-01-21 13:49:32 -08:00
LexManos bce7c6d61f Merge pull request #2399 from asiekierka/fix-2388
Fixed ItemStack.splitStack not preserving capabilities, Closes #2388
2016-01-21 13:42:13 -08:00
LexManos 82647f5b66 Restore OreDictionary.getOres(String, boolean) and doeOreNameExist(String) functions that went MIA in git merge issue.
Original Commit: https://github.com/MinecraftForge/MinecraftForge/commit/cd3bbfb02c9fcd4ce4bbf00f460dfdd6a386d107
2016-01-21 13:41:26 -08:00
LexManos be6577b9ce Fix invalid ServerHangWatchdog patch causing it to not apply. 2016-01-21 13:40:00 -08:00
asiekierka 568061864f Fix #2388 2016-01-21 22:09:23 +01:00
LexManos c7dafeed5f Merge pull request #2396 from Minecrell/patch-3
Strip console formatting codes for Vanilla log file
2016-01-21 13:02:34 -08:00
LexManos be8eb484d1 Merge pull request #2394 from iLexiconn/master
Fixed makeItemStack ignoring stackSize
2016-01-21 13:00:34 -08:00
Minecrell 66340a7ec9 Strip console formatting codes for Vanilla log file 2016-01-21 20:00:41 +01:00
iLexiconn a3d4fe5d25 Fixed makeItemStack ignoring stackSize
Fixes #2376
2016-01-21 15:31:39 +01:00
RainWarrior 17e8de8a3a Fixed error detection login in ModelLoader, reduced the maximum number of printed stack traces to 5 per domain. 2016-01-20 01:20:26 +03:00
LexManos 447a87c0c7 Fix forge logging not working correctly in ForgeDev. 2016-01-19 02:14:40 -08:00
LexManos f3c2eb8e9c Fix Deobfusication transformer throwing verification errores in Eclipse development environments. 2016-01-19 02:14:22 -08:00
RainWarrior 968b7cae40 Correctly handle error caused by missing/malformed bucket model definition file. 2016-01-18 21:35:23 +03:00
LexManos 812e69cee3 Call deserialze on capabilities in ItemStack.setItem. Closes #2384 2016-01-17 14:19:59 -08:00
LexManos 3c5103acfb Fix ItemStacks not getting the parent capability provider from items. Closes #2383 2016-01-17 13:37:57 -08:00
cpw b8238e7f22 Merge pull request #2367 from kashike/feature/quiet-watchdog
Skip hang detection on first run of the server hang watchdog
2016-01-16 19:16:23 -05:00
cpw 7574b32b47 Merge pull request #2358 from boq/bedless
Allow sleeping without bed block under player
2016-01-16 19:10:59 -05:00
Bartek Bok fae5ff67ed Allow sleeping without bed 2016-01-17 00:43:29 +01:00
RainWarrior accf6cf218 Fixed missing model error reporting, made block and item variants sort before loading, to make the splash screen info more useful. 2016-01-17 01:57:06 +03:00
cpw 90d1abebd4 Fix spruce not growing properly 2016-01-16 17:04:16 -05:00
cpw cc593d4b54 Fixed problem with LAN connections seeing the original ProxyPacket and consuming the first byte. Closes #2373 2016-01-16 16:34:02 -05:00
cpw 66895a520a Fix shouldRefresh not to be so over-eager about modded TEs. Should fix Packet21 causing a TE reset. 2016-01-16 16:11:34 -05:00
Blay09 30ac80f978 Fix items being dropped out of a GuiContainer when dealing with a slot outside of the xSize/ySize boundaries. 2016-01-16 06:34:07 +01:00
LexManos 7b92a27908 Clone FML packet indexes if channel is not open. Fixes potential threading issue. 2016-01-14 13:35:19 -08:00
Fry dad870ea0b Merge pull request #2375 from bonii-xx/dynbucket
Default bucket model is empty, allow bucket model without fluid.
2016-01-15 00:16:26 +03:00
Bernhard Bonigl 2857b710f8 Default bucket model is empty, allow bucket model without fluid.
This allows capsules, cans, bottles,... to use the same item model for their item variant. Also it's makes much more sense.
2016-01-14 22:13:31 +01:00
LexManos 38531a5ba8 Merge pull request #2370 from mezz/screenBackground
Add DrawScreenBackgroundEvent
2016-01-13 14:26:56 -08:00
mezz aee1bd6014 Add GuiScreenEvent.BackgroundDrawnEvent 2016-01-13 13:01:16 -08:00
cpw 9a737b0c90 Fix problem which meant runtime deobf to MCP names wasn't working. SRG named mods located in the mods dir of a dev
environment will now load normally.
2016-01-13 00:26:52 -05:00
kashike 2ba595b207 Skip hang detection on first run of the server hang watchdog 2016-01-12 04:15:11 -08:00
LexManos 17db34ae31 New Capability system allowing for more manageable world object features.
When combined with @Optional this should address all issues of soft dependancy on mods/apis.
This also addresses the issue of dynamic functionality in TileEntities/Entities.

Current capability providers: TileEntity, Entity, ItemStack

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

Vanilla capabilities will be coming soon, mostly on request and review.
So start requesting capabiliteis on vanilla/Forge features.
2016-01-11 16:04:22 -08:00
LexManos 4672f7bab0 Fixed banners not droping the correct item when harvested using modded mechanics. Closes #2258 2016-01-10 21:34:52 -08:00
LexManos aff6b0004c Fix jline server console not showing colored text. Closes #2334 2016-01-10 20:39:22 -08:00
LexManos 2594196c15 Fixed GuiWrongMinecraft having wrong Log file name. Closes #2348 2016-01-10 20:31:55 -08:00
LexManos afc46fa59a Made WrongMinecraftVersionException and ModSortingException a bit easier to read in log files. Closes: #2345 2016-01-10 11:07:12 -08:00
LexManos 76c40896e4 Remove dead code in JarDiscoverer. Closes #2346 2016-01-10 11:06:37 -08:00
RainWarrior 4dbf1965df Catch GROUND item transform type with the forge hook too. 2016-01-10 13:07:07 +03:00
RainWarrior f42137907e Implemented face culling for item models, improves performance slightly. Closes #2326 2016-01-09 19:05:18 +03:00
LexManos 0921473f53 Merge pull request #2355 from williewillus/fixentityitemdupe
Fix bug with /give command and items with larger than default lifespans
2016-01-08 19:13:52 -08:00
Vincent Lee 591cd5c1b0 Fix visual effect entity persisting longer than it should
Fix derp
2016-01-08 18:51:08 -06:00
LexManos c78a7ce41e Fixed issue with WorldServer.getTileEntities when being called with ranges that overlap chunks oddly. Closes #2350 2016-01-08 14:42:29 -08:00
RainWarrior 5c5d946ff5 Made block model loading bar more robust, and fixed the count. 2016-01-07 02:09:29 +03:00
RainWarrior 95615cb4bf Added progress bar for the ModelLoader. 2016-01-06 22:53:34 +03:00
RainWarrior 68339f51cf Derp. 2016-01-06 22:06:36 +03:00
RainWarrior 949e77b46a Model loader improvements: adding custom data/textures to models that don't need them doesn't cause a error now, since it's common to put those in the defaults section of the blockstate json; you can get IModel associated with the variant now - using ModelLoaderRegistry.getModel; MultiLayerModel should now respect transformations applied to it, and respect part transformations. 2016-01-06 22:00:43 +03:00
cpw 632d8e553d STFU I know how to code. *shouts* get off my lawn! 2016-01-04 16:18:44 -05:00
cpw 035dd4c245 Make the parent dir tree for the dep extractor 2016-01-04 09:07:28 -05:00
RainWarrior d8440de49b Changed default implementation of Block.getExtendedState. Closes #2309. 2016-01-04 15:31:03 +03:00
RainWarrior 4732acc1c4 Java6 + Eclipse + Gradle strike again. 2016-01-04 15:18:36 +03:00
RainWarrior b8dd4c54e1 Fixed implementation if IRetexturableModel in ItemLayerModel. Closes #2244. 2016-01-04 14:21:31 +03:00
RainWarrior f562579054 Don't crash on exception during loading of item variants from blockstate jsons. 2016-01-04 14:08:52 +03:00
RainWarrior 856a9c3cdd Fixed perspective transformation handling for fluid models, changed inventory fluid model to use unrotated still texture. 2016-01-04 13:54:45 +03:00
RainWarrior 826b1d20f8 Fixed invalid flow vector caching of still fluids. 2016-01-04 12:48:10 +03:00
RainWarrior 686b32bfd0 Fixed random offset not working properly for flatly-lit models. 2016-01-04 12:04:30 +03:00
cpw 3c08c104cc Explicitly close the file. 2016-01-03 10:06:25 -05:00
cpw dc4dc55dcd Add a simple ContainedDep mechanic- mods can contain other mods or libs, and can specify them using a manifest tag: "ContainedDeps".
This is a space separated (manifest standard) list of jar files that are to be extracted into the version specific directory.

There's also a special system property "fml.skipContainedDeps" that will allow for runtime skipping of extraction of contained deps (a comma separated list, based on the file name).
2016-01-02 17:28:35 -05:00
LexManos 1a31ff9f06 Added new get/setRegistryName functions to Item and Block.
And helper functions in GameRegistry to allow for registering using those names automatically.
This is to simplify registration and get rid of the horrible hacks users are doing now with 'unlocalised names'.
2016-01-02 12:58:57 -08:00
cpw fb54ea94c0 Move substitution activation after id loading. This should fix the problem of null for existing object. 2016-01-02 12:06:53 -05:00
RainWarrior d105c444ee SidedProxy now has sensible default values - nested ClientProxy and ServerProxy classes. 2016-01-02 09:59:14 +03:00
LexManos 40a124d571 Merge pull request #2332 from killjoy1221/master
Add links for messages and other commands
2016-01-01 20:00:52 -08:00
Matthew Messinger 577f607b5f Add links for messages and other commands 2016-01-01 21:20:27 -05:00
RainWarrior 104feb2973 Reverted Render registration changes due to them working. 2016-01-01 08:51:56 +03:00
RainWarrior a4123580b1 Nobody is left behind. 2016-01-01 02:17:10 +03:00
RainWarrior cf2bbd1353 Fixed RenderingRegistry not working. Closes #2312. 2016-01-01 02:01:03 +03:00
cpw 6e90348dc5 Fix that the dummy registry entries don't allow clients connecting to servers. Also fix that it repeatedly nags about missing stuff in the world. 2015-12-31 17:59:11 -05:00
LexManos 50f235c81b Fix boss health bar rendering when debug overlay is enabled. Closes #2328 2015-12-31 14:48:54 -08:00
LexManos 755df95c96 Swap Mod and Realms button to fix new realms 'notification' icon. 2015-12-31 14:41:08 -08:00
LexManos e0f0273c5e Fix J6 compile issue with ModelFluid. 2015-12-31 14:40:32 -08:00
LexManos 3665d7bf73 Allow for default 1.8.8 mods to be loaded. Should be SRG compatible. 2015-12-31 14:40:17 -08:00
RainWarrior ea2beba5ca Restored transparency to the Forge logo. 2015-12-30 19:35:32 +03:00
RainWarrior 6c40b15d04 Updated the forge logo to a higher-quality GIF file. Closes #2276. 2015-12-30 19:10:33 +03:00
RainWarrior 23a2316157 Fixed wrong import. 2015-12-30 16:14:27 +03:00
RainWarrior 10658f682e Fixed broken leaky caching of OBJ models. 2015-12-30 16:08:08 +03:00
RainWarrior 33b1f8f30f Caching of fluid models. Fixes #2145. 2015-12-30 13:31:36 +03:00
RainWarrior db3e039b31 TESRs registering in preinit don't break pistons anymore. Fixes #2298. 2015-12-30 11:37:32 +03:00
RainWarrior 09e9a181ee Fixed color disabling not working for forge pipeline. Closes #2286. 2015-12-30 11:22:22 +03:00
RainWarrior 56eba05237 1.8.9 update 2015-12-30 07:15:03 +03:00
LexManos 6644e8c9ed Merge remote-tracking branch 'origin/1.8.8' 2015-12-29 19:25:38 -08:00
Fry ad40f24fb1 Merge pull request #2322 from bonii-xx/dynbucket
Fix bucket replacement not loading the bucket model by itself if repl…
2015-12-29 15:34:59 +03:00
Bernhard Bonigl 509cc79112 Fix bucket replacement not loading the bucket model by itself if replacing buckets.
This happens when no other mod that uses the bucket model is present.
Also added a simple method for registering the bucket model, should give
modders an idea on how to use the general model.
2015-12-29 13:31:35 +01:00
LexManos cce0f7a2ed Merge pull request #2320 from bonii-xx/slime
Add a hook for custom particle spawning for slimes
2015-12-28 13:17:28 -08:00
Bernhard Bonigl 7f52bc6547 Add a hook for custom particle spawning for slimes 2015-12-28 21:01:30 +01:00
LexManos 7298b21cb5 Merge pull request #2318 from diesieben07/entity-egg
Allow forge-type spawn-eggs to spawn child entities when clicking EntityAgeable
2015-12-28 07:12:39 -08:00
Take Weiland af1e769895 Allow forge-type spawn-eggs to spawn child entities when clicking EntityAgeable 2015-12-28 15:58:37 +01:00
LexManos d2248c3774 Fix Button/Torch/Lever placement on stairs and slabs. Closes #2291 2015-12-27 14:39:29 -08:00
RainWarrior 1cd0bf9ee4 Fixed random block position offset not applying correctly. 2015-12-25 09:31:32 +03:00
RainWarrior 097c0c6130 Added an ability to register custom item variants, not ending with "#inventory". Should allow grouping multiple item models into 1 blockstate json. 2015-12-24 06:06:38 +03:00
cpw a54b939ea3 Try and make sure active substitutions are immediately available in the block to item map. 2015-12-23 16:41:53 -05:00
cpw 95825e5de0 Actually use the delegate for the itemblock 2015-12-23 15:55:45 -05:00
cpw 54e9a36b67 Capture ItemBlock remaps. 2015-12-23 15:07:16 -05:00
cpw 53227982e3 Try and fix registry NPE when substitution is active. 2015-12-23 14:11:17 -05:00
cpw bcecf59a87 Blocks are no longer erased from the registry if the mod isn't present. This means that modded blocks can potentially retain their IDs
even if they are temporarily not present in the game. Currently TileEntity data associated with the block is erased.
2015-12-23 11:18:54 -05:00
cpw 5562c14c45 Fix up persistent substitution. Should close #2259 2015-12-23 10:37:11 -05:00
cpw d8ca68b280 Fix the channel handler naming. It now uses the standard netty namer for it, by careful use of cunning reflection. 2015-12-22 18:12:35 -05:00
LexManos 6a8a9b3097 Fixed vanilla bug related to spawning entities on top of fences. Closes #2303 2015-12-22 11:52:36 -08:00
LexManos cb609dbab3 Fixed registry issues that prevented connecting to 1.8 Forge servers.
More precisely: Servers with missing registries default back to frozen version.
Throw descriptive error if we do not have any information.
2015-12-21 13:42:40 -08:00
Fry c7790f7b35 Merge pull request #2282 from bonii-xx/dynbucket
Add a dynamic bucket model that displays the animated liquid contained
2015-12-22 00:26:25 +03:00
Bernhard Bonigl 4f6784b733 Add a dynamic bucket model that displays the animated liquid contained
Has a config option (default off) that replaces the vanilla buckets with the forge bucket model

New original bucket textures from mr_hazard
2015-12-21 22:22:40 +01:00
RainWarrior 56f35f4401 Fixed NPE caused by accessing undefined layer in MultiLayerModel. 2015-12-20 22:16:17 +03:00
LexManos f8473adf6f Merge pull request #2293 from Lunatrius/fix/client-command-autocomplete
Fix client side command auto-complete not working correctly.
2015-12-19 11:31:43 -08:00
Lunatrius b665026378 Fix client side commands adding parts of the color codes on autocomplete (prefix "7" and suffix "r"). 2015-12-19 12:55:26 +01:00
RainWarrior 1dcc9abab2 Fix dependency resolution for models with custom data/textures. 2015-12-17 04:41:54 +03:00
RainWarrior 80ba13be89 LightUtil.pack and .unpack now work correctly with unpacked arrays of size <4. 2015-12-15 23:31:09 +03:00
RainWarrior d67c57827a Delayed quad list resolution in MultiModel, fixes NPE in MultiLayerModel. 2015-12-15 23:03:09 +03:00
RainWarrior f0ae51bb34 Forge pipeline will now take original model lightmap into account, if present. 2015-12-15 22:27:01 +03:00
RainWarrior 7c4d643de2 Fixed java6 errors in previous commit. 2015-12-15 22:27:01 +03:00
RainWarrior 86c09722a0 IModel can now depend on a variant definition (ModelResourceLocation); added MultiLayerModel - simple model that'll render correctly in multiple layers + example of using it. 2015-12-15 21:49:19 +03:00
RainWarrior d6ee373e87 Preparations for the Animation system.
Changes to the Model API - IModelState now works with Optional. Handling of parts of the model is not optional, and coordinate space/result interpretation is up to the caller. IModel doesn't extend IModelPart by default anymore; MapModelState uses composition to achieve previous functionality, IModelPart implementations are disjoint now. Updated perspective handing to the new API, removed IPerspectiveState (MapModelState is now the same thing). Perspective transforms for the default fluid model.
2015-12-14 23:27:27 +03:00
LexManos 9032f7e37e Fix enchanting applying the same enchantment multiple times. Closes #2273 2015-12-14 03:49:58 -08:00
cpw 82537e5763 Merge pull request #2272 from AlgorithmX2/addLandingEffects
Added addLandingEffects allowing mods to override landing particles
2015-12-13 17:09:13 -05:00
cpw bf779e6803 Merge pull request #2270 from AlgorithmX2/getHighlightTip
Add getHighlightTip allowing a item to override its displayed renderToolHightlight
2015-12-13 17:00:02 -05:00
AlgorithmX2 a319adba53 Added addLandingEffects allowing mods to override landing particles, for blocks that require world information to determine textures. 2015-12-13 15:35:15 -06:00
cpw 94eadab9fd A test for issue #1848. Please try this with any mods you can @ 1.8.8, and see if you still get log spam of any kind (not just the
log message from the issue either).
2015-12-13 14:22:53 -05:00
AlgorithmX2 8db720151d Add getHighlightTip allowing a item to override its displayed renderToolHightlight. 2015-12-13 04:47:25 -06:00
LexManos 2ed4f39a13 Merge pull request #2268 from minzmann/master
[1.8.8] Minor Fixes to PotionEffect.java.patch
2015-12-12 19:48:23 -08:00
cpw 0632f2aadf Fix derpage when loading a 1.8 world, with persistent state being entirely ignored in that case. 2015-12-12 18:53:44 -05:00
minzmann bf6c31c879 Update PotionEffect.java.patch 2015-12-12 17:05:14 +01:00
LexManos c6d64cd94a Merge pull request #2239 from bonii-xx/potionhiding
Add shouldRender() to Potions that allows to hide them completely in …
2015-12-12 00:18:18 -08:00
cpw cef50616d8 Merge pull request #2228 from Minecrell/patch-2
Fix some issues with the console command completion
2015-12-11 15:42:06 -05:00
cpw 3631955641 Use ItemStack.hasEffect. closes #2230 2015-12-11 15:30:43 -05:00
cpw 46840fb71a Merge pull request #2233 from liachmodded/mcl-typo
Fix a typo in jar detection
2015-12-11 15:16:24 -05:00
Fry 5fd04595f2 Merge pull request #2248 from AlgorithmX2/isOpaqueFace
Added doesSideBlockRendering to provide finer grain face culling.
2015-12-11 22:57:40 +03:00
AlgorithmX2 ea75a3be69 Added doesSideBlockRendering to provide finer grain face culling.
Implemented for BlockStairs and BlockSlab.
2015-12-11 13:42:04 -06:00
LexManos c356105e6d Fix wrong EventType passed for Emerald ore-gen. 2015-12-10 12:41:48 -08:00
LexManos dcda451a0a Deprecate int IDs in FluidRegistry. Modders should only ever use the String name. Also add a 'friendly' exception when attempting to get an ID for a unregistered fluid. Closes #1374 2015-12-10 02:54:00 -08:00
LexManos 2302963a9f Add EMERALD and SILVERFISH to GenerateMinable event. Closes #1158 2015-12-10 02:16:58 -08:00
LexManos b9d1d92654 Fixed ModList GUI rendering incorrectly. Closes #2254 2015-12-10 01:01:51 -08:00
LexManos 3f163fd41e Merge pull request #2253 from simon-i1-h/patch-1
[1.8.8] Fixed edge case where position dependent light would not update.
2015-12-09 20:07:50 -08:00
simon-i1-h 4c4223a817 Fixed that oldLight is not being used. 2015-12-10 00:40:58 +09:00
RainWarrior 724405d6d8 Workaround for https://github.com/google/guava/issues/738 2015-12-09 14:56:01 +03:00
RainWarrior 3254e2acc6 Fixed orientations of generated item faces. Fixes #2215. 2015-12-08 12:26:02 +03:00
LexManos 12cd28715a Fixed colored leather armor, and custom armor textures. 2015-12-08 00:54:27 -08:00
LexManos 01f4a627be Remove MCP reference patches. 2015-12-08 00:34:42 -08:00
Bernhard Bonigl 2324c2fd20 Add shouldRender() to Potions that allows to hide them completely in the inventory 2015-12-05 10:09:02 +01:00
Minecrell bb3596b31e Improve the console command completer
- Fix space after command getting removed when completing a
  subcommand together with the command prefix
- Add support for completing without input (shows command list)
- Sort command completion results
- Fix console spamming command prefixes after closing the input stream
2015-12-04 16:50:07 +01:00
cpw 30bc2653c5 Add a flag to the modidremapping event. If the remapevent is because the registry is refreezing, it'll be true. 2015-12-03 17:21:04 -05:00
liach ee61baee73 Fix typo in guava 2015-12-01 22:01:21 -08:00
cpw f8447264e6 Clean up chunk patch. 2015-12-01 19:54:40 -05:00
LexManos 4416537776 Merge pull request #2231 from techbrew-mc/patch-1
Initialize sources list
2015-12-01 16:04:56 -08:00
techbrew-mc 606b402c2d Initialize sources list
Fixes crash NPE thrown by addFile()
2015-12-01 16:02:45 -07:00
cpw 31faf63e94 Most requested feature of all time? TileEntity init method called after it's ready to roll. remove all the if (firstTicks) 2015-12-01 15:20:10 -05:00
cpw e6681ada93 Merge branch 'Emberwalker-lang-adapter-fix' into 1.8.8
Closes #1898
2015-12-01 14:43:42 -05:00
Arkan Emberwalker 7a960edb35 Fix language adapter loading.
The language adapter is now properly picked up after the mod is loaded
on the classpath, fixing the ClassNotFoundException occurring before.
Also fixed some minor formatting and made it throw a full
RuntimeException on failure.

Fix up some formatting
2015-12-01 14:43:14 -05:00
cpw a703367553 Be noisy when API is in a coremod. It'll never work and modders should realize that fact. 2015-12-01 13:08:35 -05:00
cpw 8e9feb21fa Merge branch 'mezz-potionIsBadEffect2' into 1.8.8 2015-12-01 09:03:23 -05:00
cpw d967c6d5d4 Merge branch 'potionIsBadEffect2' of https://github.com/mezz/MinecraftForge into mezz-potionIsBadEffect2 2015-12-01 09:02:36 -05:00
cpw 5087f30ca5 Merge branch 'kashike-fix/secman' into 1.8.8 2015-12-01 08:47:52 -05:00
cpw 413f380781 Merge branch 'fix/secman' of https://github.com/kashike/MinecraftForge into kashike-fix/secman 2015-12-01 08:47:26 -05:00
cpw 8187f48ddc Allow entity selectors to select "." in entity names. Closes #2125 2015-12-01 00:14:05 -05:00
cpw a2e06d968e Merge branch 'Minecrell-jline' into 1.8.8 2015-11-30 14:16:18 -05:00
cpw ff42107b92 A few fixes 2015-11-30 14:14:56 -05:00
cpw cf4c0ca001 Fixup Jline integration 2015-11-30 14:14:03 -05:00
cpw 321665efff Merge branch 'jline' of https://github.com/Minecrell/MinecraftForge into Minecrell-jline 2015-11-30 13:14:49 -05:00
cpw 55e707cc07 Some tweaks - GameRegistry is modder facing API, so avoid having MC methods there. Fix a couple of registry bugs. 2015-11-29 23:12:34 -05:00
cpw 0af45cbf25 Merge branch 'PotionRegistry2' of https://github.com/bonii-xx/MinecraftForge into bonii-xx-PotionRegistry2 2015-11-29 22:43:23 -05:00
cpw d58ad8db68 Fix problem with spam from registry on loading a second world. Empty the staging. 2015-11-29 22:41:11 -05:00
Bernhard Bonigl 57d1a657a0 Add a PotionRegistry to handle dynamic distribution and remapping of Potion IDs 2015-11-29 22:02:55 +01:00
LexManos a13ed35031 Merge pull request #2209 from lumien231/MemoryWorldLeak1.8.8
Fixed: Server not being stopped, causing Worlds to stay loaded
2015-11-28 16:51:38 -08:00
cpw 21173c3b65 Fix up blockstate rebuild. Closes #2221. Also fix formatting. IDEA has differences. Solved now. 2015-11-28 16:31:54 -05:00
LexManos 02e9b9d99c Add chunk loading protection to WorldSever.getTileEntitiesIn, may prevent orphanced chunks and a CME in EntityPlayerMP. Note: The 'max' parameters are NON-inclusive. 2015-11-28 03:36:33 -08:00
cpw 97ef6a5d1f Giant registry fixup 2015-11-28 03:07:53 -05:00
LexManos 5549b06f96 Compiler warnings pass, undeprecated SplashProgress related stuff. 2015-11-26 19:38:21 -08:00
LexManos e2818a2803 Removed IItemRenderer class, all functionality is possible with new rendering system. 2015-11-26 19:37:44 -08:00
LexManos d878a2ae26 Fixed Large mushrooms generating incorrectly. 2015-11-26 19:36:53 -08:00
LexManos 81f9f3f20d Fixed placing blocks on snow layers with more then one layer. 2015-11-26 19:36:38 -08:00
LexManos eb26b3ca0f Bump version for new Minecraft version. 2015-11-26 17:05:45 -08:00
cpw 7e5a2cb5ca Propogate AbortException. Closes #2206. Also fix tracing printstream when printStackTrace is called. 2015-11-25 16:28:06 -05:00
Lumien 2ecc92c4b3 Fixed: The Integrated Server not being stopped when exiting a singleplayer world to the main menu 2015-11-25 20:54:48 +01:00
cpw cb2d5992d2 Add .exc for StatList patch
More tweaking
2015-11-25 02:23:21 -05:00
cpw cde6be7742 Fix up a couple of patches, affected by the recent update 2015-11-25 02:23:21 -05:00
cpw 4f2feee931 Fix button and lever placement problem. Closes #2204 2015-11-24 22:00:27 -05:00
cpw 1351215182 Merge pull request #2205 from Illyohs/bugfix/mdk
[1.8.8] Remove trailing */ causing errors in the mdk build script
2015-11-24 21:15:26 -05:00
Anthony Anderson 91fe229bf0 Remove trailing */ in the build.gradle
Signed-off-by: Anthony Anderson <[email protected]>
2015-11-24 20:10:02 -05:00
cpw 85d7b69d19 More cleanups, some documentation, a bunch of deprecations. 2015-11-24 16:47:46 -05:00
cpw c5a980f8a4 Cleaning up some derpy names 2015-11-24 16:17:08 -05:00
cpw 8c5038c301 Clean up some very long dead code. Bukkit hasn't existed in a very long time now. IASM never worked, and I'm not about to implement it. 2015-11-24 15:52:14 -05:00
cpw f227f4ff72 Deprecate it as well, because hey, it's redundant now. 2015-11-24 15:39:18 -05:00
cpw aa40a8edd7 ONE EVENT BUS TO RULE THEM ALL AND IN THE DARKNESS FIRE THEM! 2015-11-24 15:35:24 -05:00
cpw 44c4011575 Yeah, amount is NOT deprecated. 2015-11-24 15:30:22 -05:00
cpw 1280462ec7 Fix MDK for 1.8.8 using FG2.1 snapshot 2015-11-24 15:30:09 -05:00
cpw c713309769 OMG! Documentation? WUT? I haz lost my mind.
Also, Functional interface for IMC. Senders can send a classname implementing Guava's function, and receivers
will be able to get that function, and do, well, whatever, really. Probably best for those callback type
scenarios, connecting up APIs and stuffs.
2015-11-24 14:44:19 -05:00
cpw b4dc15a9cb Cleanup Fluid deprecations stuff. 2015-11-24 10:05:35 -05:00
LexManos 22e99a2cff Update universal manifest for 1.8.8's json. 2015-11-24 03:37:17 -08:00
cpw 68dfcccd57 Update mappings to 20151122. 2015-11-23 23:18:52 -05:00
cpw 84c3ef0f5c Merge branch 'master' into 1.8.8 2015-11-23 22:39:49 -05:00
cpw 231ec7eaea Merge remote-tracking branch 'origin/noci-1.8.8' into 1.8.8 2015-11-23 22:08:42 -05:00
RainWarrior 9815d729b5 Fixed NPE is B3D loader caused by the missing vertex normal; updated the example chest model - it's now has 2 meshes; Updated ModelAnimationDebug - it now uses the new chest model, renders the base with the static world renderer, and only the lid with the TESR. 2015-11-23 10:12:01 +03:00
RainWarrior 11d237f5f2 Fixed forge lighting working incorrectly outside 0x1000000 coordinates. 2015-11-23 06:54:18 +03:00
RainWarrior 0d06ea6758 Removed face doubles from item models. 2015-11-23 06:54:18 +03:00
RainWarrior b5af11a89d Fix holes in generated item models. 2015-11-23 06:54:18 +03:00
RainWarrior f6ab01843c B3D loader: removed 2 redundand null checks, changed constructor args to final to fix (java6?) inner arg error. 2015-11-23 06:54:17 +03:00
RainWarrior f9024d2eb3 Implemented interpolation of TRSR transformations; B3D: added interpolation capabilities to B3DState, animated TESR example in ModelAnimationTest (pure TESR right now, no separation inside the example model between the static and dynamic parts right now). 2015-11-23 06:54:11 +03:00
cpw 918d59d6a6 Fix derpy fir trees in the taiga. So many patches. See if we can find any more mistakes?! 2015-11-22 22:35:21 -05:00
cpw 4320a0f1ed Fix weird patch issue where the this FG commit: https://github.com/MinecraftForge/ForgeGradle/commit/2f0ca9921b961133689d29b807333241010a802d
breaks if the exact end of a line is a srgname. Not ideal, but should work.
2015-11-22 16:27:13 -05:00
cpw 2abca14a05 Small tweak to the OUT/ERR logger - should skip the Throwable stuffs now. 2015-11-22 15:31:06 -05:00
cpw e70fb50b51 Back to srgnames for patches. We should be starting to look OK now. 2015-11-22 00:46:26 -05:00
RainWarrior 82d83feab1 Fixed forge lighting working incorrectly outside 0x1000000 coordinates. 2015-11-22 02:11:08 +03:00
cpw b5815a3b8d Use the 2.1 snapshot for FG 2015-11-21 13:24:02 -05:00
cpw aeff5272f3 Re-add trove and vecmath. Mojang no longer ship them. 2015-11-21 13:23:39 -05:00
cpw 059ba15b5a Fix a typesig that was broken 2015-11-21 13:23:20 -05:00
Minecrell e24c38bbb0 Add jline-based console with colors and tab-completion 2015-11-21 15:06:09 +01:00
RainWarrior c4742aadbc Removed face doubles from item models. 2015-11-21 08:09:38 +03:00
RainWarrior 62d0f01236 Fix holes in generated item models. 2015-11-21 07:45:56 +03:00
Lex Manos 1246f1a791 Fix invalid position passed to isAir/getLight in World.playAmbientSound 2015-11-20 11:18:00 -08:00
LexManos 8b70d770d5 Merge pull request #2196 from Choonster/master
BiomeManager: Fix off-by-one errors
2015-11-19 18:55:41 -08:00
Lex Manos 6e68d8fe74 Fix bold font rendering, Unicode is 2x pixel density of normal. 2015-11-19 18:38:33 -08:00
Choonster 48b82567d2 BiomeManager: Fix off-by-one errors 2015-11-20 11:02:37 +11:00
RainWarrior 07ccf667e4 B3D loader: removed 2 redundand null checks, changed constructor args to final to fix (java6?) inner arg error. 2015-11-19 23:40:44 +03:00
kashike 7689ea4f28 Use the FMLSecurityManager checkPermission(Permission) method for context-based permission checks. Fixes #2067 2015-11-18 15:39:00 -08:00
Lex Manos 767d733948 Enable the normal ModList GUI in game. Use GL_SCISSOR to support the transparent in-game GUI. 2015-11-18 00:28:26 -08:00
Lex Manos 904a30123d Moved client side Block.onBlockDestroyed to after Item.onBlockDestroyed to match server order. 2015-11-17 04:47:43 -08:00
Lex Manos a3a16d6593 Fix incorrect position passes to Block.getExplosionResistance from entities. 2015-11-17 04:46:50 -08:00
RainWarrior 13d7530e43 Implemented interpolation of TRSR transformations; B3D: added interpolation capabilities to B3DState, animated TESR example in ModelAnimationTest (pure TESR right now, no separation inside the example model between the static and dynamic parts right now). 2015-11-16 06:51:39 +03:00
cpw eb73c30b28 This should be everything needed to separate blocks and items completely. 2015-11-14 10:52:03 -05:00
cpw 06a2af3386 Merge branch 'master' into noci-1.8.8 2015-11-14 09:36:08 -05:00
LexManos 41e971ecc9 Merge pull request #2117 from lumien231/master
Fixes Client Login Issue when logging into a non existent dimension
2015-11-14 04:20:34 -08:00
Lumien 39e77bf468 Fix Client Login Issue when logging into a non existent dimension 2015-11-14 12:03:47 +01:00
cpw f4c59a3a5d Remove a suppression 2015-11-13 14:06:16 -05:00
RainWarrior deb26f5c80 ExtendedBlockState, Properties generic updates. 2015-11-13 19:29:44 +03:00
cpw 41c3846c51 Some generic and other warning cleanups 2015-11-13 10:13:47 -05:00
cpw 02e6d581d3 Merge branch 'master' into noci-1.8.8 2015-11-13 09:46:50 -05:00
RainWarrior c5ee4e6451 Model stuff: updated to generics, fixed various warnings, added handling of new perspective types. 2015-11-13 17:23:37 +03:00
cpw fe7f713b67 A few tweaks, things are starting to work now.. 2015-11-13 02:59:43 -05:00
cpw da03639bd7 All the patches done? Some code fixups.. It begins. 2015-11-13 02:32:08 -05:00
cpw a26c4017b1 Fix a newly missing AT. Remove all CL_ references. OBFID is gone. 2015-11-13 00:09:34 -05:00
cpw ce40f91fb0 WorldGen rejects, lots of them. Couple of small fixes elsewhere. 2015-11-12 23:30:53 -05:00
cpw 8f94ff14ff Enchantment,EnchantmentHelper,EntityEnderman,EntityZombie,EntityVillager,FurnaceRecipes,RecipeFireworks,RecipeRepairItem,NetworkSystem,S00PacketServerInfo
PotionEffect,StatList,Session,WeightedRandomChestContent,Explosion,ExtendedBlockStorage,SaveHandler.

All NBT patches seem to have been merged upstream, so removing. The IntegratedServer and MinecraftServer pending queue changes also removed, as fixed upstream.
2015-11-12 22:02:41 -05:00
Lex Manos df56bea102 Bump version for Recomended Build. 2015-11-12 13:48:53 -08:00
RainWarrior 7258d577cd Overlay patch fix: use the correct block position. 2015-11-13 00:05:19 +03:00
RainWarrior b77b036459 EntityRenderer, StringTranslate rejects fixed. 2015-11-12 23:26:44 +03:00
RainWarrior 3a5b7427a1 TextureMap, TextureManager and Stitcher rejects fixed. 2015-11-12 22:42:41 +03:00
RainWarrior e80f66778b Manually updated WorldChunkManager, Chunk and BiomeDecorator patches, removed imports. 2015-11-12 21:26:52 +03:00
RainWarrior bf63855292 ItemBlock, ItemBow, ItemMonsterPlacer, ItemReed, ItemSign rejects fixed. 2015-11-12 20:27:54 +03:00
RainWarrior a8a69775a1 PlayerManager, PlayerProfileCache, ServerConfigurationManager, NetHandlerHandshakeTCP rejects fixed; ItemInWorldManager patch error fixed. 2015-11-12 20:05:25 +03:00
RainWarrior c976ec494e TileEntity and TileEntityHopper rejects fixed, GuiOverlayDebug patch fixed. 2015-11-12 19:27:14 +03:00
RainWarrior 8000e22830 ItemRenderer, RenderGlobal, StateMap, RenderItem rejects updated. 2015-11-12 19:12:58 +03:00
RainWarrior 9deb54b75f RenderEntityItem, RenderPlayer, RendererLivingEntity, LayerArmorBase, ItemStack rejects fixed; changed Armor Layer hook to catch LayerBipedArmor only. 2015-11-12 18:25:08 +03:00
RainWarrior 632c190e6f GuiButton, GuiChat, GuiCreateWorld, GuiIngameMenu, ServerListEntryNormal, GuiStats rejects updated. 2015-11-11 23:30:06 +03:00
RainWarrior b6f91817f0 EntityPlayer patch updated. 2015-11-11 22:21:38 +03:00
RainWarrior 426340fed5 Updated FML Gui methods to WorldRenderer API changes. 2015-11-11 19:17:32 +03:00
cpw 13c7d038eb LoadingScreenRenderer,Minecraft,GuiContainerCreative,PlayerControllerMP,LanguageManager,Locale,SimpleReloadableResourceManager,EntityList,EntityLivingBase,EntityWither,EntityMinecart,EntityPlayerMP
NethanlderPlayClient patch is now in vanilla. The FMLCommonHandler future exception catcher is not needed anymore, it's in Util. The caching of player profiles is now in vanilla (SkinManager).
2015-11-11 10:33:37 -05:00
cpw 5147742049 Delete rejects that I initially processed. 2015-11-11 08:48:04 -05:00
RainWarrior 41bd8a41fa BlockOre, BlockRotatedPillar, SoundManager, EntityPlayerSP, GuiScreen, GuiAchievements, GuiContainer, BlockModelRenderer, ContainerEnchantment, Slot updated manually and imports removed; GitSlot patch updated. 2015-11-11 15:51:32 +03:00
Lex Manos 49d4005805 Merge pull request #2179 from arideus101/patch-1
Fixed issue where custom colored armor wouldn't be colored. (reverted from commit dee0b2084b)
2015-11-11 02:57:06 -08:00
LexManos dee0b2084b Merge pull request #2179 from arideus101/patch-1
Fixed issue where custom colored armor wouldn't be colored.
2015-11-10 17:28:28 -08:00
LexManos 5670868c5e Merge pull request #2177 from gabizou/master
Fix a possible NPE when checking supertypes of interfaces.
2015-11-10 17:24:58 -08:00
arideus101 1f20abde59 Allows Custom Armor Coloring to be done easily 2015-11-10 17:23:58 -08:00
cpw 112c41a707 Merge branch '1.7.10' - fix up some oredictionary and substitution related issues 2015-11-10 18:35:38 -05:00
cpw aa8eaf2b28 Fix firing the remap event. It always fires now, and additionally fires when the registry reverts to frozen.
Most mods refer to the gameregistry for ids they care about, so this shouldn't affect anything significantly,
but if your mod was dependent on their being content in the remap event, and only acting on that content,
empty content means it's "reverted to frozen" state - the state at the start of the game.
2015-11-10 16:40:27 -05:00
Gabriel Harris-Rouquette d08cf58d80 Fix a possible NPE when checking supertypes of interfaces. Closes #2176.
Signed-off-by: Gabriel Harris-Rouquette <[email protected]>
2015-11-10 11:46:49 -08:00
RainWarrior d31ca0dbd8 EntityAIAttackOnCollide, ServerStatusResponse, MinecraftServer, NetHandlerLoginServer, Vec3, BiomeGenBase, AnvilChunkLoader, ChunkProviderServer, MapGenRavine, MinecraftServer updated; fix in Block, GuiIngameForge; can load the world and play with ~20 more manual error fixes. 2015-11-10 21:47:08 +03:00
RainWarrior df05edaa11 WorldProvider, WorldType, WorldServer, WorldServerMulti 2015-11-10 20:09:49 +03:00
RainWarrior adddfab850 IntegratedServer, World, EnumChatFormatting and EnumFacing 2015-11-10 19:39:41 +03:00
RainWarrior 4c4d1096a7 FontRenderer + Item patch update; WorldVertexBufferUploader patch derp fix. 2015-11-10 01:14:37 +03:00
RainWarrior f20b40fb80 Fix generics and error in the BlockState patch. 2015-11-10 00:42:56 +03:00
RainWarrior e833ee81fb Updated various rendering-related patches and classes to 1.8.8; forge still uses vecmath. 2015-11-10 00:03:39 +03:00
cpw c474da04b3 Two more corner cases in the oredictionary. Should work for all cases now. 2015-11-09 15:20:53 -05:00
cpw 98125a97c9 Patches and rejected patches. Note: some which had imports are not listed here because they need
to be refactored not to have imports.
Progress: https://gist.github.com/cpw/29695e426e2b122cf8ff
2015-11-09 01:50:45 -05:00
cpw 1a6c816bac Test of mcp patching 2015-11-08 23:09:33 -05:00
Lex Manos bc05bfda4f Fixed Stronghold Library not having anything in it's chests. 2015-11-08 12:53:01 -08:00
Lex Manos ffbad6633d Fixed Open url confirm screen not showing URL. 2015-11-08 12:52:41 -08:00
cpw b1aa31215f regenerate reference patchset at patches.mcp. These will be used to generate a new patchtree under patches. 2015-11-08 15:50:52 -05:00
cpw ff19efe146 1.8.8 initial work 2015-11-08 12:53:56 -05:00
cpw 95b30f5153 Merge pull request #2174 from diesieben07/findBlockFix
Fix GameData.findBlock
2015-11-08 10:30:18 -05:00
Take Weiland e6d8fde415 Fix GameData.findBlock 2015-11-08 15:34:31 +01:00
RainWarrior b6664c76c5 Fixed anaglyph transformation not being applied in the forge lighting fully. 2015-11-08 15:11:22 +03:00
RainWarrior cbe2766c0a Provide ItemCameraTransforms for vanilla models when possible. 2015-11-08 09:37:33 +03:00
RainWarrior 8a11ad7a7a OBJ loader: reworked texture resolution: keys now have to start with #, like every other model loader; models without explicit library now work, remapping is possible by using the key "#OBJModel.Default.Texture.Name"; in addition to remapping by material name, remapping by texture name works too, like in other model formats. 2015-11-07 20:36:57 +03:00
RainWarrior 3d03461a52 Performace fix for item rendering. 2015-11-07 12:58:23 +03:00
LexManos f466a0c387 Merge pull request #2167 from Choonster/master
Fix texture error message for broken textures
2015-11-05 15:09:02 -08:00
Choonster 729fca7722 Fix texture error message for broken textures
-- Fixes #2100
-- Iterates over badTextureDomains instead of missingTextures.keySet()
as a domain can have broken textures without any missing textures
2015-11-06 06:52:09 +11:00
Lex Manos d790008353 Introduce a new centralized version checking system.
Using the @Mod annotation mods can opt-in to a centrally controlled update system.
This is PURELY a notification system and will NOT automatically download any updates.
The End User can control which mods check for updates and disabel the system entirely using the Forge Config and GUI.
Format for the json the URL must point to is described here: https://gist.github.com/LexManos/7aacb9aa991330523884
2015-11-04 14:37:15 -08:00
Lex Manos 479c7f8b54 Redesign the ModList GUI to use a scrolling list for the main body content.
Allowing for larger information to be displayed.
URLs are auto-detected and now clickable.
Mod Logos are now centered, it looks better.
2015-11-04 13:57:47 -08:00
Lex Manos d0a33c4d9d Merge FML and Forge lang file, and update crowdin project. 2015-11-04 13:49:54 -08:00
RainWarrior c3141b6ed6 Fixed block color multiplier not being cached properly in the forge renderer, performance improvement. 2015-11-03 16:00:44 +03:00
RainWarrior cf8972262a OBJ model: use original vertex material when defining face. 2015-11-03 01:53:58 +03:00
LexManos bdbcf31fc2 Merge pull request #2161 from The-Fireplace/master
Fixed a bug with GuiConfigEntries.SelectValueEntry
2015-11-01 16:15:23 -08:00
The_Fireplace 6dc50ace6b Fixed a bug that caused the config option name to overlap with the selectable values when using GuiConfigEntries.SelectValueEntry, fixes #2114 2015-10-31 18:28:29 -05:00
RainWarrior 51653fb9b7 Obj loader: fix vertices shared between faces having the same attributed (uvs/normals). 2015-10-31 21:19:35 +03:00
RainWarrior 12e6fe9db7 OBJ loader: fixed another whitespace-related issue; removed unused "modifyUVs" property for now; added the "flip-v" property to switch between OpenGL-style and DirextX-style model UVs; fixed normals - they are now correct in-world, still a bit strange for the items; fixed normals a little bit for B3D models too. 2015-10-29 22:50:45 +03:00
RainWarrior c3b15e3f6c Fix color multiplier applied incorrectly for items. 2015-10-29 20:27:26 +03:00
cpw a92f2a263b OreDictionary will warn if there's an invalid ore being registered now, rather than just
using -1 and doing weird things with the list as a result.
2015-10-29 12:46:12 -04:00
cpw 945d3887d2 Fix substitutions for recipes and oredict recipes. Should mean that substitutions start working properly. 2015-10-29 08:46:23 -04:00
Fry 887f3bf31d Merge pull request #2154 from shadekiller666/OBJ_Loader
OBJLoader Update: Fix for normal generation, whitespace handling, and UVs outside 0-1 range
2015-10-29 13:53:09 +03:00
RainWarrior a9d5d0097d Fix for the previous commit - transparent blocks were handled improperly. 2015-10-29 13:32:43 +03:00
RainWarrior 3d972a11a8 Changed how the forge lighting system handles holey models for opaque blocks; it now mimics vanilla behaviour, which allows light to pass through them. 2015-10-29 13:14:35 +03:00
shadekiller666 7a20543d5f OBJLoader: Quick bandages to support/fix the new way that face/vertex normals are calculated, a very quick bandage to patch TextureCoordinates for the time being, and the Parser now uses a Pattern to split strings on whitespace instead of only splitting on " ". 2015-10-29 02:21:28 -07:00
LexManos 4c1e3ac7db Merge pull request #2151 from AbrarSyed/patch-1
Update FG version to 2.0.2
2015-10-28 14:31:08 -07:00
LexManos d6a6316771 Merge pull request #2146 from bonii-xx/potionidfix
Fix Potion IDs above 127
2015-10-28 00:29:42 -07:00
Abrar Syed 459e20df3f Update FG version to 2.0.2 2015-10-27 23:45:49 -05:00
LexManos 7d5b860ff3 Merge pull request #2126 from diesieben07/join-world-fix
Fix CME when entities are spawned from EntityJoinWorldEvent
2015-10-27 18:46:18 -07:00
RainWarrior 6fc96ef94e More lighting fixes, flat lighting now works correctly for grass and torches. 2015-10-28 00:58:44 +03:00
RainWarrior 5214ed29b7 Fixed normal calculation for vanilla models, fixed the grass darkening and simular issues. 2015-10-28 00:29:16 +03:00
RainWarrior 6b10b41b02 Fixed piston rendering (WorldRenderer offset wasn't applied); fixed TESR being registered too early in one of the debug mods. 2015-10-27 19:02:22 +03:00
RainWarrior ef2bcb056d Fixed another generic issue in MultiModel. 2015-10-27 18:52:49 +03:00
RainWarrior da19eda51e Provide a IModel for "builtin/generated", fixes #2147 2015-10-27 18:36:57 +03:00
RainWarrior b75593b0c6 Fixed AO being applied to OBJ model transparency, and OBJ loader trying to force the loading of the builtin white texture. 2015-10-27 18:36:57 +03:00
RainWarrior a96ba1b7f7 Fixed generic bug in MultiModel 2015-10-27 18:36:57 +03:00
RainWarrior 7c7547227c Perspective awareness for vanilla and multi models, fixes #2148.
Improved error handling in MultiModel.
2015-10-27 17:40:05 +03:00
Fry cf568ae85f Merge pull request #2091 from shadekiller666/ItemModelLoadingFix
Fixed a bug with item model loading
2015-10-27 09:59:50 +03:00
RainWarrior 8c82b0296a Small fix for reworked classic lighting 2015-10-27 00:19:04 +03:00
shadekiller666 33e2e0b028 Fixed a bug with item model loading that would occur if ModelBakery.addVariantName() was called with the same string location parameter for 2 different items, and the string pointed to a location that didn't exist, where ModelLoader.loadAnyModel() would substitute the blockdefinition in for the item model, but wouldn't remove the original input location from the loadingModels list, which would cause the location from the second call to throw an IllegalStateException even though that location now has a model. 2015-10-26 10:15:13 -07:00
shadekiller666 d1b220f6a3 Added OBJ loader for the ModelLoaderRegistry system. 2015-10-26 19:38:49 +03:00
RainWarrior d5a658b5ea Added back in the lost class 2015-10-26 19:32:19 +03:00
RainWarrior dd365d7220 Model pipeline system.
Should replace all ad-hoc quad generation methods in forge, and make IBakedModel -> WorldRenderer data transfer faster. Added IVertexConsumer + helper classes; lighting that works correctly for non-axis-aligned faces using the new infrastructure. Changed smooth lighting algorithm, now it should work correctly for everything.
New block lighter can be disabled in the forge config options.
2015-10-26 19:25:48 +03:00
Bernhard Bonigl 336eaa336b Fix Potion IDs above 127 2015-10-25 12:16:17 +01:00
mezz ebdcc11c80 Allow server to access Potion isBadEffect() 2015-10-12 21:35:15 -07:00
LexManos ebe9b6d4cb Merge pull request #2022 from simon816/guava-apache-lcl-exclusion
Add Guava and Apache to LaunchClassLoader exclusion list on server
2015-10-12 12:29:45 -07:00
LexManos 7cc7ce3ba2 Merge pull request #2129 from darkevilmac/master
Add PlayerSetSpawnEvent
2015-10-11 14:52:02 -07:00
darkevilmac b9f5e152de Add PlayerSetSpawnEvent 2015-10-10 15:39:27 -07:00
Take Weiland 76753c06df Fix CME when entities are spawned from EntityJoinWorldEvent 2015-10-04 18:46:47 +02:00
RainWarrior e280f72cfb '#' is now added automatically to the beginning of the texture names in B3D models, and the remapping is expected via the blockstate JSON, since it's more reasonable than adding it to the file name in the modelling program or matching the resource location with the filename. 2015-10-03 04:42:35 +03:00
RainWarrior d71384bc33 Fixes Attributes.transform affecting only 1 vertex. 2015-09-29 02:29:16 +03:00
LexManos 605457deec Merge pull request #2103 from olee/patch-1
Fix possible crash in EventBus
2015-09-27 14:41:29 -07:00
LexManos 90829a3164 Merge pull request #2120 from luacs1998/eventbus_fix
Fix a possible crash in EventBus
2015-09-27 02:12:50 -07:00
luacs1998 05f6ede2ea Fix a possible crash in EventBus 2015-09-27 12:47:37 +08:00
LexManos 1e7fbb7018 Merge pull request #2118 from rubensworks/itemmonsterplacer-dispenser
Fix dispenser action for modded spawn eggs
2015-09-22 12:18:26 -07:00
Ruben Taelman 385159c25e Fix dispenser action for modded spawn eggs 2015-09-22 19:53:34 +02:00
Lex Manos fb9ffa40fd Fix entity count being incorrect for spawning logic. Now filter out 'persistant' entities. 2015-09-14 13:18:34 -07:00
Lex Manos eacffb2b6e Update Gradle wrapper to 2.7 2015-09-14 13:18:02 -07:00
LexManos fb7b47adb4 Merge pull request #2002 from ganymedes01/master
Disallow conflicting furnace recipes
2015-09-09 11:23:08 -07:00
RainWarrior d70ca1a357 Workaround for MinecraftForge/ForgeGradle#256 2015-09-02 22:01:30 +03:00
ganymedes01 31a3a18ec7 Disallow conflicting furnace recipes 2015-09-02 19:04:57 +01:00
cpw 5074f26ccd FMLNetworkHandler.openGui should not try and open a GUI on a FakePlayer.
Fixes #2082 and probably dozens of mod errors. Also, side benefit of the
merged codebase! FML code can ref Forge code!
2015-09-02 13:50:00 -04:00
cpw 4315637f75 Merge branch 'laci200270-patch-1' 2015-09-02 13:30:00 -04:00
cpw b7e8dcff7b Format a bit better 2015-09-02 13:29:43 -04:00
cpw 5a9129f802 Merge branch 'patch-1' of https://github.com/laci200270/MinecraftForge into laci200270-patch-1 2015-09-02 13:27:42 -04:00
RainWarrior b175d265b9 Much requested temporary hack for items and TESRs. Context: #1582, #1597, #1713, #2058 and others. 2015-09-02 07:35:24 +03:00
LexManos e5ee9377fd Merge pull request #2086 from Vorquel/master
Fix faulty channel name checking
2015-09-01 16:32:26 -07:00
LexManos edcb45640f Merge pull request #2069 from simon816/profile-request-fix
Use already provided profile for the player's own skin
2015-09-01 16:32:07 -07:00
simon816 d61a55b661 Use already provided profile for the player's own skin 2015-08-31 03:28:59 +01:00
simon816 b312584ca4 Add Guava and Apache to LaunchClassLoader exclusion list on server
Move exclusions to common place. Less likely to get out of sync
2015-08-31 03:15:30 +01:00
Björn Zeutzheim ac5c7124de Fix possible crash in EventBus
There is currently no way to check if an event handler has been registered or not.
But when trying to unregister a not-registered event handler, Minecraft crashes with a NullPointerException.
This is a simple fix to prevent such crashes.
2015-08-31 03:39:33 +09:00
cpw 57d575f941 More cleanup of the default eclipse workspace. The project is now called "MDKExample" not "Minecraft".
The project tree is now contemporary, instead of a copy from 1.5.x era MC. The launches are cleaned up, and refer to
a better default "runDir" of "run" rather than "eclipse".. Updating to FG2.0.1 which will contain relevant binary fixes.
2015-08-26 21:57:31 -04:00
cpw d41e51f47b Fix eclipse workspace inside the mdk - don't run it through the tokenconverter. Also add in CREDITS-fml.txt to the MDK - it's still required. 2015-08-26 13:57:51 -04:00
Lex Manos 90a88efd8a Fixed issue where config folder would not be created before SplashProgress tried to read from it.
Default macs to disable the new loading screen due to to many macs having issues.
Users can enable it again by editing their config.
Catch and gracefully handle more errors when starting up the Splash Screen.
2015-08-22 18:55:32 -07:00
Lex Manos 4b299529b7 Update gradle wrapper and fix changelog task. 2015-08-22 17:57:12 -07:00
James 589465bb81 Fix faulty Channel name 2015-08-21 16:06:07 -07:00
cpw 0d320e2e31 Fix crowdin again. Run, jenkins, for god's sake, run! 2015-08-21 09:52:33 -07:00
cpw 4903febd96 Fix crowdin task. Good luck jenkins, lets roll! 2015-08-21 09:43:30 -07:00
cpw bbe96a3577 Fix ciWriteBuildNumber task. Ugly, but it works. 2015-08-20 13:42:58 -07:00
cpw b211aca5ce Merge branch 'fg2' 2015-08-20 12:27:20 -07:00
cpw 58ab3de7c1 Remove patches 2015-08-20 12:14:02 -07:00
laci200270 ba8ae53867 Update FMLSecurityManager.java 2015-08-19 20:27:42 +02:00
cpw 7e600c0dd8 Fix packaging the gradle wrapper properly. There is still a problem with
the MDK- it fails to run setupDecompWorkspace.

Filed an issue at ForgeGradle, since this seems to be something FG2 shouldn't
be doing, but is?

https://github.com/MinecraftForge/ForgeGradle/issues/235
2015-08-15 10:16:00 -07:00
cpw 9a0a00c7a4 Trying to fix the MDK to include gradle wrapper, but the gradle-wrapper.jar is
corrupted. @AbrarSyed can you take a look?
2015-08-15 09:56:56 -07:00
cpw 91927e6bc7 The final nail in the coffin. BYE! 2015-08-13 23:07:53 -07:00
cpw fc045f210d Fix MDK task - it now runs. 2015-08-13 23:07:17 -07:00
LexManos eecc691cdf Merge pull request #2072 from AbrarSyed/fg2
Added MDK package
2015-08-09 20:35:50 -07:00
AbrarSyed 7a6557a9e2 added MDK package 2015-08-09 20:30:31 -05:00
LexManos b45fd787f3 Merge pull request #1969 from diesieben07/blockhighlight
Re-introduce RenderBlockOverlayEvent
2015-08-05 11:48:53 -07:00
cpw c2523c685a FML's metabolic processes are now history. FML's off the twig. FML's kicked the bucket, FML's shuffled off this mortal coil,
run down the curtain and joined the bleedin' choir invisible!! THIS IS AN EX-PROJECT!
2015-08-02 00:20:19 -04:00
cpw dfd62a3bd8 Vestigal fml-ectomy. 2015-08-02 00:03:47 -04:00
cpw 614bbcb0da FML is no more. FML has ceased to be. FML's expired and gone to meet its maker. FML's a stiff! Bereft of life, FML rests in peace. 2015-08-01 23:51:40 -04:00
cpw 9a859f8d5c Merge branch 'master' of https://github.com/AbrarSyed/MinecraftForge into fg2 2015-08-01 20:55:58 -04:00
cpw 5045d8df68 Merge branch '1.7.10' 2015-08-01 20:30:22 -04:00
AbrarSyed 9908310384 fixed deployment credentials 2015-08-01 14:08:04 -05:00
Lex Manos 7b18eab02d Fix placing skulls on fence posts. Closes #2055 2015-07-31 15:10:47 -07:00
LexManos bd4b3debc3 Merge pull request #1968 from modwizcode/master
Fix harvest logic running in addition to shearable logic
2015-07-31 12:57:05 -07:00
LexManos 5623634f56 Merge pull request #2048 from shadekiller666/UnlistedPropertyValue
Fix for ExtendedBlockStates containing at least one IProperty and one IUnlistedProperty preventing block placement.
2015-07-25 15:12:57 -07:00
shadekiller666 87bbbfafcc Fixed a bug with ExtendedBlockStates containing at least one IProperty and one IUnlistedProperty not allowing blocks to be placed. 2015-07-25 14:55:42 -07:00
LexManos 2a85ab0eab Merge pull request #2017 from liach/add-enum
Add hook for adding EnumPlantType and fixed npe in BiomeType
2015-07-24 17:08:16 -07:00
LexManos 65123c66a0 Merge pull request #2004 from simon816/sign-nbt-fix
Fix placing signs with NBT prompting for text
2015-07-24 13:53:27 -07:00
LexManos d72caa5005 Merge pull request #2047 from Zaggy1024/forgeblockstatesv1fixes
Fixed two bugs with the Forge blockstates v1 loader.
2015-07-24 11:28:23 -07:00
Zaggy1024 e580d3b6b6 Fixed a Forge blockstates json removing models causing an NPE in the loader.
Fixed the deep clone of a V1 Variant not cloning the submodels properly.
2015-07-24 13:20:10 -05:00
LexManos 5eea9cebae Merge pull request #1983 from clienthax/patch-1
Make layer methods public
2015-07-23 12:13:00 -07:00
LexManos b8fe3913e9 Merge pull request #2044 from rubensworks/enumfacing-server
Remove SideOnly's from EnumFacing allowing full class to be used on both sides.
2015-07-23 10:58:17 -07:00
Ruben Taelman 04d4b2cf76 Make EnumFacing events available server-side 2015-07-23 16:51:45 +02:00
LexManos 81bb69b6c9 Merge pull request #2035 from rubensworks/master
Fix source block check for BlockFluidClassic
2015-07-21 16:43:44 -07:00
Ruben Taelman 0cf1f0d51c Fix source block check for BlockFluidClassic 2015-07-21 10:51:53 +02:00
cpw c308a47124 Cherry pick some changes from 1.8 for inner class discovery, also fix the negativecache. Closes #1872 2015-07-18 12:47:31 -04:00
LexManos cd313c195b Merge pull request #2023 from diesieben07/entity-pick
Allow the new entity eggs to be created via middle-click on an Entity while in creative mode.
2015-07-16 11:33:01 -04:00
diesieben07 9f571ff15d Allow the new entity eggs to be created via middle-click 2015-07-16 14:13:48 +02:00
liach e2ee54a27d Add an EnumHelper hook and fixed an issue 2015-07-14 08:55:51 +08:00
cpw 0f456b4684 Be a little bit more helpful when the ObjectHolder misses. Should help figure out what is going in in #2006 2015-07-09 17:05:20 -04:00
cpw 8636eb1883 Wake up the FluidRegistry before any mods start loading. Should stop mods claiming to own water or lava (depending on who accessed
FluidRegistry first)
2015-07-09 16:53:31 -04:00
cpw 50677ad87a Actually rebuild the fluidNames each rebuild, don't just try and force changes in. Should fix #1973 2015-07-09 16:40:51 -04:00
simon816 81eb6a8bb4 Fix placing signs with NBT prompting for text 2015-07-08 22:27:17 +01:00
Clienthax 97f8c246b8 Signed-off-by: Clienthax <[email protected]> 2015-06-30 22:29:34 +01:00
Fry 20bf76464a Merge pull request #1978 from RainWarrior/model-rotation
Custom transformations in forge blockstate json.
2015-06-30 22:14:31 +03:00
RainWarrior c4f370a7e6 Custom transformations in forge blockstate json. 2015-06-30 21:37:11 +03:00
AbrarSyed 9ebc77ef22 updated installed gradle. not finished 2015-06-30 00:14:41 -05:00
AbrarSyed 2fce67c8b7 fixed local-building fail with changelog 2015-06-29 21:56:35 -05:00
AbrarSyed a55536c0dc added jenkins compat tasks 2015-06-29 21:56:35 -05:00
AbrarSyed 1ae0498534 Added FG2 buildscript + updated for Gradle 2.4 2015-06-29 21:56:35 -05:00
AbrarSyed c02c379bed removed old unnecessary stuff 2015-06-29 21:56:35 -05:00
AbrarSyed c5ac5b0264 DeobfuscationData no longer required at dev time 2015-06-29 21:56:35 -05:00
AbrarSyed 0fb705f8f5 added hardcoded fml version file 2015-06-29 21:56:35 -05:00
AbrarSyed bbfae84ee8 removed broken and duplicate AT lines 2015-06-29 21:56:30 -05:00
LexManos cab151ec44 Fixed ItemMonsterPlacer.getEggInfo missing return. Closes #1975 2015-06-26 17:54:38 -07:00
LexManos 7a733d635e Merge pull request #1974 from Lunatrius/white-screen-fix
Fixed error GUIs showing a white screen
2015-06-26 16:16:01 -07:00
Lunatrius 44077774be Fixed error GUIs showing a white screen and replaced a rogue direct GL call. 2015-06-27 01:12:24 +02:00
Fry 37b4936e9d Fix particle texture of the generated item models. 2015-06-27 01:26:59 +03:00
LexManos 637e2c6f56 Merge pull request #1972 from bonii-xx/StateMapDomainFix
Fix StateMap always mapping properties to the "minecraft" domain
2015-06-26 04:03:25 -07:00
Lex Manos 2bfa1ffc05 Add debug for max texture size and output when Texture Atlas can not stitch all textures. 2015-06-26 03:32:09 -07:00
Bernhard Bonigl e55ee43fd5 Fix StateMap always mapping properties to the "minecraft" domain instead of the mods, causing it to not find BlockState definitions. 2015-06-26 10:29:10 +02:00
cpw 204cb16bc4 ObjectHolder works great, but it should be a lot less spammy about failed lookups. They're usually mod options. 2015-06-25 14:41:45 -04:00
diesieben07 ebef4553f3 Re-introduce RenderBlockOverlayEvent, seems to have been missed during 1.8 update 2015-06-25 19:09:32 +02:00
Starbuck Johnson fe2c4c569d Fix harvest logic running in addition to shearable logic 2015-06-24 14:28:47 -05:00
Lex Manos b2033d642c More descripotive error if Patcher is passed invalid data for vanilla classes. 2015-06-23 20:36:23 -07:00
RainWarrior 74501f509f There's no Map.getOrDefault in java6. 2015-06-23 17:03:19 +03:00
RainWarrior 8f65678b99 Vanilla models can now use custom textures. Fixes #1962 2015-06-23 16:52:42 +03:00
RainWarrior 510b5523d5 Fixed perspective transformations for item models. 2015-06-23 15:56:18 +03:00
Lex Manos d7c4a06ce8 Fix AT for Block constructor. 2015-06-23 01:26:33 -07:00
RainWarrior 1582e401ed Added ItemLayerModel - less awkward, simpler and faster version of ItemModelGenerator. 2015-06-23 04:43:48 +03:00
cpw bae83e6724 Merge remote-tracking branch 'origin/master' 2015-06-21 22:08:08 -04:00
cpw 16ff1be093 Merge branch '1.7.10'
Conflicts:
	fml/patches/minecraft/net/minecraft/client/Minecraft.java.patch
	fml/patches/minecraft/net/minecraft/client/renderer/texture/TextureMap.java.patch
	fml/patches/minecraft/net/minecraft/client/resources/SimpleReloadableResourceManager.java.patch
	fml/src/main/java/net/minecraftforge/fml/relauncher/CoreModManager.java
	patches/minecraft/net/minecraft/client/Minecraft.java.patch
	patches/minecraft/net/minecraft/client/network/NetHandlerPlayClient.java.patch
	patches/minecraft/net/minecraft/client/renderer/texture/TextureMap.java.patch
	src/main/java/net/minecraftforge/client/model/obj/WavefrontObject.java
2015-06-21 21:59:51 -04:00
LexManos 8bb34107f1 Merge pull request #1858 from FlansMods/master
Hook for Camera Angles, Including Roll
2015-06-21 11:19:26 -07:00
cpw 2c24c7618a Mods that are extracted to the mods dir by unzipping or whatever will now cause the game to crash. Too much info is in the META-INF now,
and more will be being added. Extracting to the mods dir just completely breaks that.
2015-06-20 14:47:55 -04:00
LexManos 240ed53a88 Merge pull request #1956 from lawremi/mesadictfix
fix logic for guessing mesa tag in biome dict
2015-06-19 11:25:49 -07:00
larman 2cb971c38f fix logic for guessing mesa tag in biome dict 2015-06-19 07:04:19 -07:00
Lex Manos 7041fbc27e Time each bar in the loading screen and print it to the log, useful information to see where most time is spent in loading. 2015-06-18 22:18:27 -07:00
Lex Manos e519278888 Add TextureManager to loading screen. 2015-06-18 22:17:21 -07:00
Lex Manos 4235ca36ea Make TextureMap for items and blocks skip the first pass of loading/stitching textures.
Should decrease loading times for large packs.
May cause issues with some mods so use -Dfml.skipFirstTextureLoad=false to disable.
2015-06-18 20:13:31 -07:00
Lex Manos 6527792d06 Add the stitching allocation stage to loading screen. 2015-06-18 20:13:17 -07:00
Lex Manos 716dfdae47 Create config folder in SplashProgress if it does not exist. 2015-06-18 20:11:23 -07:00
Lex Manos c158af902f New system in EntityRegistry to allow modders to register spawn eggs.
For entites that do not use the global ID system.
{Which no mod entity should}
Vanilla spawn eggs will now detect a 'entity_name' entry in it's NBT data and use that for spawning/rendering.
2015-06-18 18:05:12 -07:00
Lex Manos ed09a25c65 Patch line number update. Ignore this. 2015-06-18 18:02:22 -07:00
LexManos 94dc49e522 Merge pull request #1952 from ganymedes01/master
Change permission levels on ore recipes parameters
2015-06-18 11:55:46 -07:00
LexManos 40bc035d74 Merge pull request #1953 from ganymedes01/patch-1
Fixed NPE when calling canBrew
2015-06-18 11:51:48 -07:00
Lex Manos 01aac69514 Use Guava instead of Nio for J6 compatibility. 2015-06-18 11:48:14 -07:00
ganymedes01 953ddae475 Fixed NPE when calling canBrew
Oversight on my part,

If the ingredient doesn't return true in Item.isPotionIngredient, Items.potionitem.getEffects(stack) returns null, causing an NPE to be thrown later on.

This invalidates #1947.
2015-06-18 13:32:21 -03:00
ganymedes01 ab548afbfb Change permission levels on ore recipes parameters 2015-06-18 13:21:00 -03:00
Fry f2eec981ff Merge pull request #1922 from RainWarrior/model-fluid2
1.8 model fluid renderer
2015-06-18 14:29:22 +03:00
RainWarrior 07038f8342 Added fluid renderer. 2015-06-18 14:26:53 +03:00
Lex Manos f59b0a2932 Make Item.shouldCauseReequipAnimation is bit more precise and copy over the new item for rendering even if the animation is diabled. 2015-06-17 20:33:35 -07:00
Lex Manos 030084f2b3 Add vanilla block rotation support back in for certain blocks that were missed in 1.8 update. Closes #1903 2015-06-17 17:28:18 -07:00
LexManos bf63879a92 Merge pull request #1941 from xxmicloxx/xxmicloxx-patch-b3dloader
Bugfix for B3DLoader
2015-06-17 16:52:08 -07:00
LexManos ed8b8bcf8f Merge pull request #1932 from cheeserolls/patch-1
Fix incorrect block position in BlockReed canPlaceBlockAt
2015-06-17 16:48:42 -07:00
LexManos 1dc7a80d4f Merge pull request #1506 from mezz/GuiScreenInputEvents
Add GuiScreenEvents for keyboard and mouse input
2015-06-17 16:45:41 -07:00
LexManos 87b55860af Merge pull request #1781 from ShetiPhian/Block.getPickBlock
Player sensitive version of Block.getPickBlock
2015-06-17 16:37:03 -07:00
Lex Manos 453ec39496 Add Item.shouldCauseReequipAnimation to allow modders more control over the 'Reequip' animation. 2015-06-17 16:36:41 -07:00
Lex Manos 6ec1ec2575 Fixed compile issues with irtimaled's PR. 2015-06-17 16:01:33 -07:00
Lex Manos e7724c13cc Fixed Wavefront Object Importer reading files with integer values. Closes #1651, #1654 2015-06-17 15:48:22 -07:00
Lex Manos 38a85280de Make FML Gui classes use GlStateManager. Closes FML#615 2015-06-17 15:16:48 -07:00
LexManos 20ea3bc0ce Merge pull request #1749 from irtimaled/master
Copy fortress.dat from the overworld to the Nether. Fixes #1747
2015-06-17 14:23:58 -07:00
xxmicloxx b45c90ceb8 Bugfix for B3DLoader 2015-06-17 19:48:51 +02:00
Lex Manos e94288bbb1 Fixup model loading errors not being printed by making ICustomModelLoader.loadModel propogate IOExceptions as needed. 2015-06-16 16:03:10 -07:00
Lex Manos d0902c096e Cleanup code format in LayerBreakingTest. 2015-06-16 16:01:09 -07:00
Lex Manos c50adf2433 Include the thread state in the potential error handleing for SplashProgress. 2015-06-16 15:26:00 -07:00
Lex Manos 64263a9f8e Throw more descriptive errors when mods attempt to register invalid global entity IDs. 2015-06-14 17:06:00 -07:00
cpw 114ac38910 Merge branch '1.7.10'
Conflicts:
	fml/src/main/java/net/minecraftforge/fml/common/MinecraftDummyContainer.java
	fml/src/main/java/net/minecraftforge/fml/common/registry/FMLControlledNamespacedRegistry.java
	fml/src/main/java/net/minecraftforge/fml/common/registry/LanguageRegistry.java
2015-06-14 13:57:23 -04:00
LexManos 1f6086c175 Merge pull request #1935 from superckl/master
Fixed two exceptions in BiomeDictionary related to adding new Biome Types.
2015-06-12 17:47:32 -07:00
superckl c84f7a740f Fixing two IndexOutBoundsExceptions from the BiomeDictionary 2015-06-12 17:08:19 -07:00
Daniel Howard 16be913abc Fix incorrect block position in BlockReed canPlaceBlockAt
block.canSustainPlant is called on the wrong block position.  It should be called on the block below (the 'soil' block).
2015-06-12 10:14:22 +01:00
Lex Manos b3a1548cfa Cleanup mod state dump to be easier to read by displaying the states in abreviation and placing them before the mod info. 2015-06-09 23:06:06 -07:00
Lex Manos b94c2799ab Cleanup mod signature data table. Easily seperating those mods with signatures vs those with none. 2015-06-09 22:25:13 -07:00
Lex Manos d4f6e9e419 Quiet CrashReport class pre-loading debug, no flag to re-enable. 2015-06-09 21:37:33 -07:00
Lex Manos 847c0246cd Quiet FMLControlledNamespacedRegistry debug spam by default. Reenable using -Dfml.debugRegistryEntries=true. 2015-06-09 21:33:52 -07:00
Lex Manos b985384fab Quiet ClassPatchManager debug spam by default. Reenable using -Dfml.debugClassPatchManager=true. 2015-06-09 21:31:18 -07:00
Lex Manos 851f9c1da6 Cleanup some spammy output. 2015-06-09 21:20:53 -07:00
Lex Manos acbb330214 Bump version for new RB 2015-06-09 17:17:35 -07:00
Lex Manos db7d82a889 Copy over parent's modelSet value in variants as well. 2015-06-09 17:17:23 -07:00
Lex Manos 9ef7b13442 Bump version for new RB. 2015-06-09 15:06:42 -07:00
cpw db42d1f532 Merge branch '1.7.10' 2015-06-09 17:57:35 -04:00
LexManos 7406e3df9f Merge pull request #1795 from lumien231/ExperienceEvent
Added LivingExperienceDropsEvent to change how much experience an entity drops
2015-06-09 13:23:01 -07:00
LexManos 8b50f9ab36 Merge pull request #1907 from johnjohn/master
Added ItemMap type check to item frames and ItemRenderer, enabling vanilla style rendering for custom ItemMaps
2015-06-09 12:37:33 -07:00
Lex Manos fef959d1e9 Redefine removal value in IRetextureableModel from null to empty string {""} due to ImmutibleMap not allowing null Values. Closes #1927 2015-06-09 12:36:36 -07:00
LexManos f62ee5c4f5 Merge pull request #1881 from ganymedes01/master
Added a brewing recipe registry system
2015-06-09 12:05:40 -07:00
johnjohn 486c0955cf Added ItemMap type check to item frames and ItemRenderer, enabling vanilla style rendering for custom maps 2015-06-09 12:42:45 -06:00
ganymedes01 0373920f99 Added a brewing registry system 2015-06-09 14:01:45 -03:00
Lex Manos 1ad05f7f22 Missed patch for sign fix. 2015-06-08 16:23:30 -07:00
Lex Manos 15a1d4cf0d Remove worlds from WorldBorder when unloaded tol prevent memory leak, Closes #1923 2015-06-08 16:19:53 -07:00
Lex Manos 1b689802a4 Limit Sign text to 384 json characters and strip control codes. This is 1.8.7's Sign fix. Thanks Searge. 2015-06-08 16:19:02 -07:00
cpw b35aec4347 Attempt to synchronize the state for vanilla client completions and quit the handler if the vanilla
thread has already setup the connection. Should fix #1924
2015-06-08 18:24:35 -04:00
Lex Manos ee1e229b66 Change custom payload lock to be buffer itself incase multiple packets use the same backend buffer. Closes #1908 2015-06-07 00:06:00 -07:00
Fry e007f7cf39 Merge pull request #1868 from fuami/ISmartBlockModel_Damage
Add Block Breaking Animation for ISmartBlockModels
2015-06-06 03:39:11 +03:00
Fuami 5cd4564a32 Added Breaking Animation for Smart Models, Checking each layer.
Added Layered Smart Render Test.
2015-06-05 19:23:17 -05:00
LexManos 26bc23602a Update README.txt 2015-06-05 13:28:07 -07:00
RainWarrior d6bc936ffa B3D Improvements
- fixed keyframe transformation application
 - textures are now resolved the same way as in vanilla models
 - added the ability to use forge blockstate texture information
 - removed unused code from the B3D example
2015-06-04 18:58:42 +03:00
RainWarrior 581363fddd fixed AT missing for getModelBlockDefinition 2015-06-04 18:58:42 +03:00
RainWarrior 685a97fd93 Fixed missing variant logging; added the possibility to specify the item variant in the blockstate json. 2015-06-04 18:07:03 +03:00
RainWarrior 897d41fa77 Fixed partial variant detection in the forge blockstate loader. 2015-06-04 16:59:18 +03:00
Lex Manos 5064d33519 Mitigate potential issue with users requesting lots of server status information by caching ServerStatus json. 2015-06-03 23:16:25 -07:00
LexManos 107e760aa3 Merge pull request #1912 from clienthax/master
Add missing forge patch from 1.8 port
2015-06-03 19:53:01 -07:00
Clienthax 9b53b7e111 Add missing forge patch from 1.8 port
https://github.com/MinecraftForge/MinecraftForge/blob/1.7.10/patches/minecraft/net/minecraft/client/Minecraft.java.patch#L88
2015-06-04 01:55:13 +01:00
cpw 63f2300794 Fix up the client/server fluid race condition that could cause the game to bail when an SSP game connects.
There's still a teeny gap, but it's MUCH less prominent than it was before.
2015-06-03 19:26:53 -04:00
LexManos 61f9c5a201 Merge pull request #1885 from LexManos/EnhanvedBlockStateJson
Hook BlockState's Json loading to add support for simplified Forge format.
2015-06-02 16:52:06 -07:00
Lex Manos 267e1ee62f Hook BlockState's Json loading to add support for simplified Forge format.
See https://github.com/MinecraftForge/MinecraftForge/pull/1885 for more details.
2015-06-02 16:49:56 -07:00
Lex Manos 950da28d54 Fixed missing import in last merge. 2015-06-02 16:32:10 -07:00
cpw e2dc863086 Merge branch '1.7.10'
Conflicts:
	fml/patches/minecraft/net/minecraft/client/Minecraft.java.patch
	fml/src/main/java/net/minecraftforge/fml/client/FMLClientHandler.java
	fml/src/main/java/net/minecraftforge/fml/client/SplashProgress.java
2015-06-02 07:30:44 -04:00
cpw f8cb411df1 So we can't print a lot of unicode in the splash screen, so restrict to a hard subset we know we CAN print, closes #1910 2015-06-02 07:24:26 -04:00
LexManos 41cae458a4 Merge pull request #1911 from AlgorithmX2/ItemFramesOnSolidSurfaces
Allow placing item frames on Solid Block Faces (isSideSolid)
2015-06-01 20:45:28 -07:00
AlgorithmX2 885d7602f9 Allow placing item frames on Solid Block Faces (isSideSolid) 2015-06-01 22:31:55 -05:00
Lex Manos e6eeb03108 Finish loading screen before going fullscreen. Closes MinecraftForge/FML#662
(cherry picked from commit 19d7e16fa6)

Conflicts:
	fml/patches/minecraft/net/minecraft/client/Minecraft.java.patch
2015-06-01 17:15:06 -04:00
Lex Manos f088b1b460 Attempt to disable the new splash screen if there are errors detected finishing up. Print a slightly more helpful error message.
(cherry picked from commit e3211eec04)

Conflicts:
	fml/src/main/java/cpw/mods/fml/client/SplashProgress.java
2015-06-01 17:09:28 -04:00
cpw 3c640fa32d Bump minor version # to 2 because of the fluid changes (mirroring what happening in 1.7.10) 2015-06-01 16:31:16 -04:00
cpw d02636213a Merge branch '1.7.10' - imports all the fluid fixups and other stuff from 1.7 into 1.8
Conflicts:
	fml/src/main/java/net/minecraftforge/fml/common/FMLCommonHandler.java
	fml/src/main/java/net/minecraftforge/fml/common/Loader.java
	patches/minecraft/net/minecraft/client/Minecraft.java.patch
	patches/minecraft/net/minecraft/client/renderer/texture/TextureMap.java.patch
	patches/minecraft/net/minecraft/item/ItemArmor.java.patch
	patches/minecraft/net/minecraft/nbt/CompressedStreamTools.java.patch
	patches/minecraft/net/minecraft/nbt/NBTTagCompound.java.patch
	patches/minecraft/net/minecraft/nbt/NBTTagList.java.patch
	patches/minecraft/net/minecraft/world/World.java.patch
	patches/minecraft/net/minecraft/world/WorldProvider.java.patch
	src/main/java/net/minecraftforge/common/ForgeVersion.java
	src/main/java/net/minecraftforge/common/network/ForgeMessage.java
	src/main/java/net/minecraftforge/fluids/BlockFluidBase.java
	src/main/java/net/minecraftforge/fluids/FluidContainerRegistry.java
	src/main/java/net/minecraftforge/fluids/FluidRegistry.java
	src/main/java/net/minecraftforge/oredict/OreDictionary.java
2015-06-01 16:29:34 -04:00
cpw bd6630810f Add in an ItemStackHolder - a way to inject ItemStacks without having to have complex lookup code everywhere.
Example: https://gist.github.com/cpw/9af398451a20459ac263
2015-05-30 14:07:54 -04:00
Lex Manos 3331d2a496 Fixed damage reduction rate of vanilla armor incorrectly scaling with armor's current durability. 2015-05-26 23:34:32 -07:00
LexManos f9b1e4e23b Merge pull request #1892 from AlgorithmX2/vanilla_lighting_bug
Fix Vanilla Lighting Bug - Fixes Top/Bottom Faces interpolation.
2015-05-26 19:24:37 -07:00
Lex Manos 2bb090bf2b Force netty downgrade on dedicated server to match client. Netty bug: https://github.com/netty/netty/issues/2302 Closes #1848 2015-05-26 19:20:46 -07:00
AlgorithmX2 76f8843017 Fix Partial Face Lighting on Top/Bottom Faces ; Vanilla MC-80148 2015-05-26 19:33:56 -05:00
Lex Manos 9fa51447a2 Fixed command exploit with C12 2015-05-25 16:08:42 -07:00
Lex Manos c608e7c04e Fixes MC-75630 - Exploit with signs and command blocks 2015-05-25 15:28:14 -07:00
Lex Manos 19d7e16fa6 Finish loading screen before going fullscreen. Closes MinecraftForge/FML#662 2015-05-25 14:32:35 -07:00
Lex Manos e3211eec04 Attempt to disable the new splash screen if there are errors detected finishing up. Print a slightly more helpful error message. 2015-05-25 13:34:35 -07:00
Lex Manos 89994bda39 Cleanup a lot of spammy output. Everything hidden behind environment flags now. Scale anvil image down 50% 2015-05-25 13:34:34 -07:00
Lex Manos df5e594e95 Loosen up ServerChatEvent to support IChatComponent Closes #1893 2015-05-25 13:34:34 -07:00
LexManos 8d7b999506 Merge pull request #1804 from Prototik/font
Add true support for unicode fonts
2015-05-21 10:43:22 -07:00
Prototik 2798fc4e49 Add true support for unicode fonts 2015-05-21 20:14:56 +07:00
LexManos 61b2929ae6 Merge pull request #1886 from diesieben07/texture-load-crash
Fix crash when texture loading throws RuntimeException without message
2015-05-20 12:19:18 -07:00
diesieben07 1501f467cf Fix crash when texture loading throws RuntimeException without message 2015-05-20 17:43:52 +02:00
Flan 306af4feee Added CameraSetup sub-event for camera angles
Allows players to alter yaw and pitch of renderViewEntity, but more importantly, adds the ability to roll the view.

Added camera roll hook
2015-05-19 16:14:44 +01:00
LexManos d3ab6d36a4 Merge pull request #1882 from t1g3l/master
Changed forge command tab completion to use getListOfStringsMatchingL…
2015-05-18 10:08:46 -07:00
t1g3l 6a299a483a Changed forge command tab completion to use getListOfStringsMatchingLastWord() 2015-05-18 13:51:05 +02:00
LexManos 8944983d0f Merge pull request #1878 from t1g3l/master
Added tab completion to /forge command.
2015-05-17 14:55:39 -07:00
cpw 06398fa259 Clean up transformers a bit. Can't use COMPUTE_FRAMES even though it's required - the game refuses to even
run if I do. Note for j8: when we force Java8 classes, all coremods will need a thorough overhaul - the
current way we do things is not sustainable when Java8 becomes the universal norm.
2015-05-17 10:35:56 -04:00
cpw 3bbf5c04a6 Strip control codes in progress bar messages. They cause crashes sometimes. 2015-05-17 10:15:44 -04:00
t1g3l fe327fbd76 Added tab completion 2015-05-17 11:00:42 +02:00
cpw 686db5e5eb Hardcode the FML version in-game as a specific value. 2015-05-16 13:43:35 -04:00
cpw 5fe653cf82 Attempt to fix the slow loading problem. Instead of forcing the main thread to wait around
on every call to processWindowMessages, we will simply skip it, if the mutex is already
claimed by the display thread. This should fix slow loading issues seen by some with
the new loading screen.
2015-05-16 12:55:15 -04:00
cpw 58fdfb6fa1 Fix patches after last fml merge. 2015-05-14 13:56:10 -04:00
cpw cb6f92e3c7 Merged FML 2015-05-11 18:46:21 -04:00
cpw 081a949bfd Merge branch '1.7.10'
Conflicts:
	patches/minecraft/net/minecraft/client/Minecraft.java.patch
	src/main/java/net/minecraftforge/fml/client/FMLClientHandler.java
	src/main/java/net/minecraftforge/fml/client/FMLFileResourcePack.java
	src/main/java/net/minecraftforge/fml/client/FMLFolderResourcePack.java
	src/main/java/net/minecraftforge/fml/common/FMLCommonHandler.java
	src/main/java/net/minecraftforge/fml/common/IFMLSidedHandler.java
	src/main/java/net/minecraftforge/fml/common/LoadController.java
	src/main/java/net/minecraftforge/fml/common/Loader.java
	src/main/java/net/minecraftforge/fml/common/asm/transformers/EventSubscriptionTransformer.java
	src/main/java/net/minecraftforge/fml/server/FMLServerHandler.java
	src/main/resources/fml_at.cfg
2015-05-10 23:55:11 -04:00
LexManos 1f679be553 Merge pull request #1863 from Tmtravlr/master
Initialized the Nether Fortress chest loot
2015-05-10 16:04:07 -07:00
Tmtravlr b2de64bc70 Initialized the Nether Fortress chest loot
Forced the nether fortress chest loot to initialize in ChestGenHooks
like the other types.

Changed tabs to spaces. Silly Eclipse.
2015-05-10 15:59:07 -07:00
cpw 228ce68639 Update current json 2015-05-08 13:54:11 -04:00
Fry 7ab952d410 Merge pull request #1853 from Silfadur/master
Added hook for  IPerspectiveAwareModel in RenderItem.renderItemIntoGUI f...
2015-05-05 04:22:01 +03:00
Silfadur b756bd5f9a Added hook for IPerspectiveAwareModel in RenderItem.renderItemIntoGUI for ItemCameraTransforms.TransformType.GUI 2015-05-05 02:23:38 +02:00
LexManos a003d1b360 Merge pull request #1843 from Zaggy1024/getlightvaluefix
Make World.setBlockState check whether the light value from getLightValue(IBlockAccess, BlockPos) has changed.
2015-05-01 17:58:30 -07:00
Zaggy1024 ee003ef77e Fixed a bug which caused the light level not to update when a block implements Block.getLightValue(IBlockAccess, BlockPos) to change the light value for different block states. 2015-05-01 17:10:08 -05:00
LexManos 4e8d5255ed Merge pull request #652 from AbrarSyed/patch-2
remapped parameters and added ending newlines
2015-04-29 14:45:59 -07:00
AbrarSyed 8e14f9e1cc remapped parameters and added ending newlines 2015-04-29 13:37:09 -05:00
LexManos 1aacf9cfe2 Merge pull request #649 from luacs1998/master
Add classloader exclusion for ASM
2015-04-27 15:29:34 -07:00
luacs1998 0c933be8dd Add classloader exclusion for ASM 2015-04-26 20:40:22 +08:00
LexManos c6525cb3f3 Merge pull request #1832 from Parker8283/lhsf-1.8
[1.8] Fixes MC-52974: Host's skin doesn't load in LAN
2015-04-25 17:21:30 -07:00
LexManos 083e4758a4 Merge pull request #1831 from Zaggy1024/clientonlyrenderinlayer
Removed @SideOnly(Side.CLIENT) from EnumWorldBlockLayer.
2015-04-25 17:00:37 -07:00
Parker Young 9a7c20e791 Fixes MC-52974: Host's skin doesn't load in LAN 2015-04-25 19:58:24 -04:00
Zaggy1024 2589a0d1f6 Removed @SideOnly(Side.CLIENT) from EnumWorldBlockLayer. 2015-04-25 18:45:49 -05:00
Lex Manos 591971936d Cleanup RenderEntityItem patch, fixes Z-fighting issue in EntityItems. Closes #1824 2015-04-23 23:46:55 -07:00
LexManos 68def9c352 Merge pull request #647 from AbrarSyed/patch-1
Fixed scala module libs in dev json
2015-04-23 18:55:27 -07:00
AbrarSyed 99c60ee156 fixed scala module libs in jsons 2015-04-23 20:54:14 -05:00
LexManos 3f59b560d7 Merge pull request #1814 from Lunatrius/block-dispatcher
Extracted the creation of RegionRenderCache into a method for extendability
2015-04-22 13:25:48 -07:00
Lunatrius ea9d805e4f Extracted the creation of RegionRenderCache into a method.
Classes extending RegionRenderCache can change the behavior of the cache, allowing to visually change blocks (schematics etc).
2015-04-22 15:40:07 +02:00
Lex Manos de066a86da Fixed NBTSizeTracker missing a lot of data being read. Also made new NBT object allocation claim 32-bits in the size tracker. 2015-04-17 02:07:01 -07:00
Lumien 81ab4cbc5f Added LivingExperienceDropsEvent to change the amount of experience an entity drops 2015-04-14 11:58:00 +02:00
Lex Manos c5f22f56d8 Dissallow color codes in mod names displayed in Mod gui list. And code formatting. 2015-04-13 21:52:53 -07:00
LexManos 5a5ef86da9 Merge pull request #636 from tterrag1098/betterModList
Fix control codes being used for mod list sort. Clean up sorting code.
2015-04-13 17:13:52 -07:00
tterrag1098 3fbd6b0810 Fix control codes being used for mod list sort. Clean up sorting code and fix a bug with right click clearing. 2015-04-12 00:51:03 -04:00
cpw 5ac654dc1c MinecraftForge/FML@888e489394 Allow registering custom language adapters.
MinecraftForge/FML@906f94ca14 Some tidyup of the PR
MinecraftForge/FML@1c025f1843 Patch TracingPrintStream to handle Kotlin IO.
2015-04-11 18:21:50 -04:00
Arkan Emberwalker 6cdde0f9e4 Patch TracingPrintStream to handle Kotlin IO.
Kotlins internal IO suite wraps the old System.out style, so descend
deeper in the stack when kotlin.io is detected.
2015-04-11 18:13:25 -04:00
cpw 1fa358ccee Some tidyup of the PR 2015-04-11 18:02:00 -04:00
Arkan Emberwalker 2b3cdaa752 Allow registering custom language adapters.
Allows external mods/library jars to provide language adapters for
languages not supported in native Forge.
2015-04-11 17:36:16 +01:00
Lex Manos 07e14a9fa4 MinecraftForge/FML@4a753227ad Rework EventSubscriptionTransformer to bake @Cancelable and @HasResult values, should increase EventBus performance even more by removing logic from Event constructors. 2015-04-10 03:36:51 -07:00
Lex Manos aeb4b03bf4 Rework EventSubscriptionTransformer to bake @Cancelable and @HasResult values, should increase EventBus performance even more by removing logic from Event constructors. 2015-04-10 03:28:41 -07:00
LexManos c11952714c Merge pull request #1752 from AbrarSyed/patch1
changed run configs to GradleStarts
2015-04-09 12:11:32 -07:00
Timothy Tomkins dfd42ab573 Player sensitive version of Block.getPickBlock
Block.getPickBlock was patched in 1.7 but was overlooked in 1.8.

Closes: https://github.com/MinecraftForge/MinecraftForge/issues/1709
2015-04-09 02:09:58 -04:00
Lex Manos 2f5b5f5ffe Updated FML:
MinecraftForge/FML@c8160311d5 Stop IllegalFormatConversionException thrown if @Mod has flagged client-only or server-only
MinecraftForge/FML@9a894952af Merge pull request #627 from GotoLink/patch-1
MinecraftForge/FML@40faac6452 Remove J7 only constructor in EnhancedRuntimeException, J6 compiling compatibility restored.
2015-04-07 20:12:19 -07:00
Lex Manos 79ca5bbf86 Remove J7 only constructor in EnhancedRuntimeException, J6 compiling compatibility restored. 2015-04-07 19:36:20 -07:00
Irtimaled 1eb535f14f Copy fortress.dat from vanilla location
Fixes #1747

If the dat file isn't in the dimension specific folder but is present in the vanilla data folder then copy it over.
2015-04-07 14:40:17 +01:00
LexManos cf7122ed59 Merge pull request #1771 from iChun/master
Readded but deprecated the old RenderPlayerEvent that were deleted. Sorry, Lex.
2015-04-04 14:31:43 -07:00
iChun b2f1b036de Readded but deprecated the old RenderPlayerEvent that were deleted. Sorry, Lex. 2015-04-04 22:30:23 +01:00
LexManos e0bc6fc65c Merge pull request #1770 from iChun/master
Reimplement RenderPlayerEvent that was removed in the port to 1.8 from 1.7.10.
2015-04-03 21:14:46 -07:00
iChun 8c35bc1dc7 Reimplement RenderPlayerEvent that was removed in the port to 1.8 from 1.7.10.
RenderPlayerEvent.Specials was removed because the special effects are done in the LayerRenderer now.
2015-04-03 21:11:43 +01:00
LexManos 6d71b05838 Merge pull request #627 from GotoLink/patch-1
Stop IllegalFormatConversionException thrown
2015-04-02 13:32:56 -07:00
GotoLink 5071e76881 Stop IllegalFormatConversionException thrown if @Mod has flagged client-only or server-only
%d is not a valid format for getModId(), which returns String.
2015-04-02 18:33:19 +02:00
cpw 01000f9d34 Update FML - merge the 1.7.10 changes in to forge @ 1.8. Wow git is (sorta) AWESOME!
MinecraftForge/FML@6b0ae369eb Try and improve performance of the registry by avoiding superType.cast.
MinecraftForge/FML@dfebcafd49 Something I meant to add a long time ago, but it got overlooked. My apologies. Presend the (int) dimension ID in the serverhello packet. This should be 100% backward compatible with existing servers but bumping a server to this version will allow clients with this version as well to now login in dimensions outside the byte range. Probably fixes a bunch of mods that add dimensions.
MinecraftForge/FML@6011419fa0 Clean up my patch. Terrible person I am..
MinecraftForge/FML@c6bbd0e82d Forgot that I need a noarg ctor. I'm so rusty.
MinecraftForge/FML@6edc1635de Need to load the dimension from disk - do it without filling out the player so that the normal player loading (including events) works properly
MinecraftForge/FML@4ca6f6e19f What a dumb oversight. One needs to copy the active substitution set to the active gamedata. Doesn't work well otherwise.
MinecraftForge/FML@6f6cec96be Substitutions need to be activated when they're registered, otherwise they won't appear in world, ever.
MinecraftForge/FML@13ac015f0c Change iterator behaviour for the registry - include substitutions in the standard iterator, so that vanilla MC methods visit them (so they can get textures etc). The fml special one only visits the absolute set, used mostly for sanity checking and serialization.
MinecraftForge/FML@24cb4a42c4 Enhance output of common FML errors in crash reports and server GUI.
MinecraftForge/FML@12ccf9cf49 Rather than try to fall back to the backup level.dat in case of weirdness in the ID map, just fail hard. There is probably a serious modder derp in this case and there's nothing FML can do to recover the situation except avoid making it worse.
MinecraftForge/FML@e8cd368da3 It's an IllegalState not an IllegalArgument *sigh*
MinecraftForge/FML@2be9c74342 And fix itemblocks being removed, leaving behind a residual block. This is a legitimate action - use the missing mapping event to let the mod tell us about it
MinecraftForge/FML@7d8804cf65 You can't setAction to BLOCKONLY
MinecraftForge/FML@13df640d9d Pull in a lot of the FML tweaks from 1.7 to 1.8
MinecraftForge/FML@447beaa99e Merge remote-tracking branch 'origin/1.7.10'
2015-04-01 17:50:58 -04:00
cpw 8fe5d26e94 Merge remote-tracking branch 'origin/1.7.10'
Conflicts:
	fml
2015-04-01 17:43:25 -04:00
cpw 9d1f554075 Merge remote-tracking branch 'origin/1.7.10' 2015-04-01 17:17:24 -04:00
cpw c3559b2dbd Pull in a lot of the FML tweaks from 1.7 to 1.8
Merge remote-tracking branch 'origin/1.7.10'

Conflicts:
	src/main/java/cpw/mods/fml/common/MissingModsException.java
2015-04-01 17:06:12 -04:00
cpw 0a61ffb57e MinecraftForge/FML@2afd55ab82 Fix scala mods, Closes #621
MinecraftForge/FML@c541b08ef6 Merge pull request #622 from diesieben07/scala-fix
MinecraftForge/FML@d5021417dd Forgot the register handling bit. Registration should work now..
MinecraftForge/FML@5a65c65686 OK, this is finally actually working, I think...
2015-04-01 16:08:42 -04:00
cpw 45ec6e0833 OK, this is finally actually working, I think... 2015-04-01 15:56:48 -04:00
RainWarrior 46b1b82f13 Fixed mipmapping not being enabled by expanding 1x1 texture 2015-04-01 16:06:03 +03:00
cpw 8309a32ad2 Forgot the register handling bit. Registration should work now.. 2015-03-31 13:38:30 -04:00
LexManos 8ce395ea4e Merge pull request #622 from diesieben07/scala-fix
Fix scala mods, Closes #621
2015-03-28 11:23:59 -07:00
diesieben07 8f5bb75ef2 Fix scala mods, Closes #621 2015-03-28 16:00:50 +01:00
Lex Manos 0f162ddc6a Updated FML:
MinecraftForge/FML@2a268cd566 Improve mod list GUI, add sort and search
MinecraftForge/FML@951fc2d9fd First attempt at making FMLControlledRegistry something a bit more generic than just blocks/items.
MinecraftForge/FML@410582222d Merge pull request #614 from tterrag1098/betterModList
MinecraftForge/FML@ba0b176430 Fix ModDiscoverer ignoring inner classes.
MinecraftForge/FML@9cc313eab9 Merge pull request #617 from diesieben07/innerclass-disc
MinecraftForge/FML@01aaa7dc97 Fix mods defined via --mods or --modListFile launch args not being searched for coremods. #560
MinecraftForge/FML@8cecc47b85 Merge pull request #620 from killjoy1221/extra-coremod-fix
MinecraftForge/FML@38d9a5f444 Enhance output of common FML errors in crash reports and server

Force load anonymous minecraft classes used in crash reports. This prevents some crashes being hiddedn behind class definiton exceptions.GUI.
2015-03-27 03:03:31 -07:00
Lex Manos 68c3a85fef Enhance output of common FML errors in crash reports and server GUI. 2015-03-27 01:17:57 -07:00
LexManos b1f18107e6 Merge pull request #620 from killjoy1221/extra-coremod-fix
Fixed typo causing coremods to be missed in certain situations.
2015-03-24 05:13:45 -07:00
Matthew Messinger 8da78750aa Fix mods defined via --mods or --modListFile launch args not being searched for coremods. #560 2015-03-23 22:58:02 -04:00
LexManos 3bb9c6a92c Merge pull request #617 from diesieben07/innerclass-disc
Fix ModDiscoverer ignoring inner classes.
2015-03-21 13:15:43 -07:00
LexManos 8d09b39d80 Merge pull request #1755 from simon816/custom-tileentity-data
Add getTileData() to TileEntity
2015-03-21 13:10:43 -07:00
diesieben07 961570f253 Fix ModDiscoverer ignoring inner classes. 2015-03-21 19:15:26 +01:00
simon816 301088acdc Add getTileData() to TileEntity
- The same idea as Entity.getEntityData()
2015-03-21 01:23:55 +00:00
LexManos 36d6d74e95 Merge pull request #1754 from JamiesWhiteShirt/master
Added newVolume and newPitch to PlaySoundAtEntityEvent.
2015-03-19 13:47:36 -07:00
JamiesWhiteShirt 3b567a92d8 Added newVolume and newPitch to PlaySoundAtEntityEvent. Deprecated ForgeEventFactory.onPlaySoundAt, added replacement ForgeEventFactory.onPlaySoundAtEntity. 2015-03-19 12:37:21 +01:00
AbrarSyed 07c42b89fd changed run configs to GradleStarts 2015-03-17 23:40:48 -05:00
LexManos 888bab92c3 Merge pull request #1723 from Geforce132/master
Add an EntityMountEvent.
2015-03-16 10:01:53 -07:00
LexManos 5ac394de0e Merge pull request #614 from tterrag1098/betterModList
Improve mod list GUI, adds sort buttons and a search bar
2015-03-16 10:01:12 -07:00
cpw d81fd22792 First attempt at making FMLControlledRegistry something a bit more generic than just blocks/items.
It probably doesn't work yet though.
2015-03-15 16:22:28 -04:00
Geforce132 d2f36d56f1 -Added EntityMountEvent. 2015-03-13 19:12:16 -05:00
tterrag1098 a27e7e03dd Improve mod list GUI, add sort and search 2015-03-13 18:38:10 -04:00
LexManos 588f4e3350 Merge pull request #1745 from diesieben07/ingamegui-fix
Fix jukebox message being too low
2015-03-11 15:46:14 -07:00
diesieben07 642003e065 Fix jukebox message being too low with forge 2015-03-11 23:25:41 +01:00
Lex Manos 5229abc26d Updated FML:
MinecraftForge/FML@3e7ae47f8f Fix Event Bus Access Issues
MinecraftForge/FML@c8e2a5f377 Fixed WorldInfo properties not loaded
MinecraftForge/FML@7f96b2c69a Fix Debug packet logger on local memory connections.
2015-03-04 21:13:15 -08:00
Lex Manos 418b7794d2 Fix Debug packet logger on local memory connections. 2015-03-04 21:00:31 -08:00
LexManos 6244e88f10 Merge pull request #1739 from robin4002/master
Remove translation and add a note for contributors
2015-03-04 11:33:06 -08:00
robin4002 af0316ab9b remove translation and add a note for contributors 2015-03-04 20:21:16 +01:00
LexManos 4d4f82816f Merge pull request #610 from Zot201/1.8
Fixed WorldInfo properties not loaded
2015-03-04 10:34:25 -08:00
Zot201 189619fcdd Fixed WorldInfo properties not loaded 2015-03-05 03:21:19 +09:00
LexManos 7223e1a7d9 Merge pull request #609 from Zot201/1.8
Add transformer to allow protected/private classes to use the event bus.
2015-03-04 09:49:25 -08:00
LexManos d93e8bcf48 Merge pull request #1733 from Zot201/enchantment-fix
Fixed enchanting table applying secondary enchs. Closes #1428
2015-03-02 12:10:12 -08:00
Zot201 ecca5720c8 Fixed enchanting table applying secondary enchs. 2015-03-02 17:00:38 +09:00
LexManos 7355bdf600 Merge pull request #1721 from me4502/update-event
Added NeighborNotifyEvent fired on server side only, allows for monitoring and disabling world 'physics' updates.
2015-02-28 22:54:48 -08:00
Me4502 c21e38cd3b Add NeighborNotiftyEvent. 2015-03-01 16:53:32 +10:00
Zot201 ccffcf60f8 Fix Event Bus Access Issues
1) Allow overriding methods in subclass without extra SubscribeEvent annotations
2) Transform event subscribers to have public method/class
2015-03-01 15:37:47 +09:00
Lex Manos 1af0734f51 Fix compile error in ClientHax's PR. 2015-02-26 23:20:43 -08:00
LexManos d82e80b2cf Merge pull request #1729 from clienthax/master
Add method to set entity placement type.
2015-02-26 22:16:22 -08:00
clienthax 848dee14d2 Current spawner implementation checks the EntitySpawnPlacementRegistry hashmap to check where a entity should spawn
as there is no way to modify this without the use of reflection or a AT, you can not specify where you want your entity to spawn
adding this helper method will allow developers to specify where they want their entity to spawn.

Signed-off-by: Clienthax <[email protected]>

Update EntitySpawnPlacementRegistry.java.patch
2015-02-27 03:58:40 +00:00
LexManos 31e1aae91a Merge pull request #1730 from Tmtravlr/master
Added Nether Fortress chest to the ChestGenHooks
2015-02-26 17:34:56 -08:00
Tmtravlr f152741bba Added Nether Fortress chest to the ChestGenHooks
I tried to follow the directions on

https://github.com/MinecraftForge/MinecraftForge/wiki/If-you-want-to-contribute-to-Forge

as best as I could. =)

If anything is wrong, let me know and I'll change it!
2015-02-26 14:25:41 -07:00
RainWarrior 638af63f4d Hopefully fix NPE during baking of empty vanilla item models 2015-02-23 16:02:10 +03:00
Lex Manos 7c03542d94 Fire WorldEvent.Load for Client worlds. Closes #1719 2015-02-23 02:18:58 -08:00
Lex Manos b2ca559851 Make Container.mergeItemStack respect Slot.isValidItem Closes #1630 2015-02-23 02:03:52 -08:00
Lex Manos f16a7ff890 Fix JukeBoxes not storing the inserted record. All TE's in minecraft are in net.minecraft.tileentity EXCEPT JukeBoxes. Closes #1633 Closes #1714 2015-02-23 01:44:54 -08:00
Lex Manos 938b752036 Fix NPEs in last commit. 2015-02-21 19:49:13 -08:00
Lex Manos 9335e2907b Fix NPEs in mlast commit. 2015-02-21 19:48:48 -08:00
Lex Manos 899ecd0d64 Updated FML:
MinecraftForge/FML@c9cf3136c2 New @Mod properties to define which environment to load the mod on.
clientSideOnly will only be loaded in the Client environment.
serverSideOnly will only be loaded in the Dedicated server environment.
Combine with acceptedMinecraftVersions to prevent users from loading the mod in the incorrect environment.
2015-02-21 18:43:21 -08:00
Lex Manos 7269d22449 New @Mod properties to define which environment to load the mod on.
clientSideOnly will only be loaded in the Client environment.
serverSideOnly will only be loaded in the Dedicated server environment.
Combine with acceptedMinecraftVersions to prevent users from loading the mod in the incorrect environment.
2015-02-21 18:33:30 -08:00
Lex Manos 46695cf4cf Updated FML:
MinecraftForge/FML@5eff408975 Filter more known libraries from potential mod canidates.
MinecraftForge/FML@feb4c436db Quiet ClassPatchManager debug spam by default. Reenable using -Dfml.debugClassPatchManager=true.
MinecraftForge/FML@41e806fa95 Fix double decoding of UTF8 characters in lang files.
2015-02-21 17:28:53 -08:00
Lex Manos 0281b74c7c Fix double decoding of UTF8 characters in lang files. 2015-02-21 17:27:21 -08:00
Lex Manos ae085bb84d Fixed using items on the wrong block client side caused by iChuns eyeheight update. 2015-02-19 18:09:36 -08:00
LexManos ccfd928c9a Merge pull request #1718 from iChun/master
Reimplement variable eyeHeight for players which was removed in the 1.7 to 1.8 port.
2015-02-18 19:01:06 -08:00
iChun d66951b368 Reimplement variable eyeHeight for players which was removed in the 1.7 to 1.8 port. 2015-02-19 02:08:03 +00:00
RainWarrior 0e34510032 Removed event bus call from the ModelLoader 2015-02-17 21:20:19 +03:00
LexManos 83ca72bef2 Merge pull request #1708 from matthewprenger/PR-1
Ability to add prefixes and suffixes to the player's display name
2015-02-16 22:52:03 -08:00
Lex Manos 5b28eb53e8 Add safty to URL detection in chat. Closes #1712 2015-02-16 22:46:55 -08:00
RainWarrior b14cfa45e5 RenderItem can now use baked quad color 2015-02-17 05:02:16 +03:00
RainWarrior 93cd9722b0 Added a default white texture; Fixed B3DLoader crashing when the brush has empty texture specified 2015-02-17 05:02:16 +03:00
LexManos 9e4ef54753 Merge pull request #1711 from Parker8283/patch-1
Added ATs for EnumFacing
2015-02-16 13:49:11 -08:00
Parker Young e04240e5e3 Added ATs for EnumFacing
This publics the VALUES array and HORIZONTALS array in EnumFacing, thus giving modders access to these arrays, much like ForgeDirection had.
2015-02-16 16:30:55 -05:00
Lex Manos 0a8a535e2c Quiet ClassPatchManager debug spam by default. Reenable using -Dfml.debugClassPatchManager=true. 2015-02-15 17:30:56 -08:00
Lex Manos d14ad7dd9a Filter more known libraries from potential mod canidates. 2015-02-15 17:30:18 -08:00
RainWarrior d741b1bafc Attributes.put (de)normalization now works as intended 2015-02-16 03:53:33 +03:00
Matthew Prenger b4f8945fec Add the ability to add prefixes and suffixes to the player's display name. 2015-02-15 17:47:13 -06:00
Lex Manos f6ca556a38 Hold a weak reference to the Minecraft fake player object. Closes #1705 2015-02-15 13:00:09 -08:00
LexManos e5cd5fc256 Merge pull request #1689 from matthewprenger/master
Minor tweak to UsernameCache to also cache usernames of offline players
2015-02-15 12:37:50 -08:00
RainWarrior 44e31f802a Updated FML 2015-02-14 05:17:56 +03:00
RainWarrior 68efb9d6f4 Moved transformer wrappers to a separate package (should fix signing errors), fixed debug mods not loading in forgedev (string comparison). 2015-02-14 05:17:14 +03:00
RainWarrior 5616d0c1b0 ModelRotation.getMatrix() now returns the correct matrix; fixed the application of custom transformations to vanilla models; fixed application of transformations to B3D models; fixed the culling of rotated vanilla models 2015-02-14 04:44:41 +03:00
LexManos 316ec27e77 Merge pull request #599 from diesieben07/master
Handle empty lines in language files gracefully
2015-02-13 14:04:53 -08:00
RainWarrior 87ef833d32 Alternative models work once again 2015-02-14 00:23:03 +03:00
diesieben07 1a2c521b63 Handle empty lines in language files gracefully 2015-02-13 15:34:54 +01:00
RainWarrior 3e1d959a23 Updated FML 2015-02-13 08:24:32 +03:00
Fry c85aa9351a Merge pull request #597 from RainWarrior/blame
Added blaming of coremods and mods not targetting Java 6
2015-02-13 08:05:20 +03:00
RainWarrior a4e70e44e1 Added blaming of coremods and mods not targetting Java 6 2015-02-13 08:07:27 +03:00
RainWarrior dfc2e04255 fix ModelLoader.setCustomModelResourceLocation not storing same item with different metadata values 2015-02-09 17:19:10 +03:00
Lex Manos 0e69e84d89 Try a maven mirrior to fix build issues. 2015-02-08 17:24:44 -08:00
RainWarrior 2419d4913b made renderLayer ThreadLocal, now it should hold correct value for use inside custom baked models 2015-02-09 02:46:01 +03:00
RainWarrior 9a6fb600ec Reworked vanilla texture resolution, hopefully fixes NPE bug in FaceBakery 2015-02-08 15:51:41 +03:00
RainWarrior 9e90febd37 fixed NPE during loading of B3D models without textures/brushes.
changed default B3D color to have full opacity.
2015-02-08 15:50:35 +03:00
Matthew Prenger 0f43b95821 Minor tweak to UsernameCache to also cache usernames of offline players. 2015-02-07 03:58:27 -06:00
Lex Manos f0d96b7c50 Fixed being kicked from the server while swimming. 2015-02-06 21:35:27 -08:00
Lex Manos 7ed7da159e Fixed debugging Dedicated server in Forge Dev workspace. 2015-02-06 21:35:11 -08:00
Lex Manos c80e75de9b Fixed potential NPEs in Structure code caused by componenets not being able to load. Closes #1686 2015-02-05 17:02:30 -08:00
Lex Manos e903f0ff69 Added ability for language files to opt-in to loading using normal Java properties format.
This allows for escape characters, as well as keeping %d and %f replacements in tact.
To opt-in, the lang file must have this comment line:
# PARSE_ESCAPES
As this is opt-in, any errors resulting from misused format strings is on the modder/end user.
2015-02-04 17:23:41 -08:00
Lex Manos b036b37a35 Fixed BlockBush and BlockCrops not respecting custom soils. Closes #1683 2015-02-04 12:20:24 -08:00
Lex Manos 48c24246a5 Fixed InitMapGenEvent's fire order so values are used. And added OCEAN_MONUMENT type. Closes #1681 2015-02-04 12:20:24 -08:00
RainWarrior 9cb7cc557a Restore binary backwards compatibility 2015-02-04 10:05:07 +03:00
RainWarrior b8add23d9b ModelBakeEvent now has ModelLoader as an argument instead of ModelBakery; Added various static hooks to ModelLoader to allow registering model-related information before it's needed (prevents file-not-found errors on first baking pass); ModelLoader waits until ModelBakeEvent is done before showing any missing model exceptions; It's now possible to define models completely in-code (as illustrated by ModelBakeEventDebug). 2015-02-04 09:45:23 +03:00
Lex Manos 501665fc1e Bump version to 11.14.1 for next development cycle. 2015-02-03 19:44:29 -08:00
RainWarrior 3a0de2edca Fixed tracking of UV locking state. Closes #1679 2015-02-03 10:40:30 +03:00
Lex Manos c814be0359 Updated FML: MinecraftForge/FML@22c9656196 Reset S->C CustomPayload data after Write, allowing the same packet to be written multiple times. 2015-02-02 13:08:02 -08:00
Lex Manos 79356d7023 Fixed ItemFrames not having a model. Closes #1678 2015-02-02 13:06:57 -08:00
Lex Manos 1b80328d3f Reset S->C CustomPayload data after Write, allowing the same packet to be written multiple times. Closes #588 2015-02-02 12:09:26 -08:00
Lex Manos 76825d19b8 Fixed Buttons not dropping anything when broken. Closes #1676 2015-02-01 10:49:17 -08:00
Lex Manos 80c0ff4066 Fixed domain support in ArmorMaterial texture name. Closes #1675 2015-02-01 10:48:48 -08:00
Lex Manos 072aca4350 Updated FML:
MinecraftForge/FML@d00feb58c7 Remove debug code that was causing console spam in Forge.
MinecraftForge/FML@1de3bf733a Fix FML's package for net.miencraftforge on maven. Fixes uploading of new builds. Note: 1.7.10 builds are bug fixes only while FML/Forge for 1.8 stabelizes.
MinecraftForge/FML@05ecefb538 Update to ASM5 for Java 8 support
MinecraftForge/FML@1112c455b9 Merge pull request #595 from Grinch/master
MinecraftForge/FML@9c3013e02a Merge remote-tracking branch 'origin/1.8'
2015-01-31 19:00:38 -08:00
Lex Manos c374ba5463 Merge remote-tracking branch 'origin/1.8' 2015-01-31 18:56:00 -08:00
Lex Manos 79b5c28d38 Merge remote-tracking branch 'origin/1.8' 2015-01-31 18:33:32 -08:00
RainWarrior ab39b7e4e0 Removed leftover debug messages 2015-01-30 03:14:12 +03:00
LexManos a420927007 Merge pull request #1666 from TechStack/1.8
Fixes issue #1552 Where the flowIntoBlock method was not setting the Block to the fluid and causing crashes
2015-01-29 16:29:30 -06:00
LexManos 7581ead65f Merge pull request #1664 from Lunatrius/fix-debug
Fixed debug text rendering one line to low.
2015-01-29 16:19:20 -06:00
TechStack 146b08a8cd Closes #1552
Set the destination block the to the fluid.
In the previous code the destination block was still Air and would would
cause a crash because air doesn't have a property for LEVEL
2015-01-29 17:11:22 -05:00
RainWarrior 67121d9ebc Merge pull request #1521 from RainWarrior/model-system
Model loader registry
2015-01-29 13:25:47 +03:00
RainWarrior 6eba0ebb93 Added model loader registry
Entry point: ModelLoaderRegistry
loader interface: ICustomModelLoader
custom model: IModel

ModelLoader is responsible for splicing into vanilla model system.
(you probably don't need to use it directly)

Interop with vanilla models isn't great yet
(vanilla models can't refer to custom ones as parents), will improve in
the future.

Includes loader for B3D models, with animation support
(net.minecraftforge.client.model.b3d).
Blender export plugin with compatible coordinate system:
https://github.com/RainWarrior/B3DExport

OBJ loader is being written, will be included at some point in the
future. For now you can convert OBJ to B3D via blender, or wait.
2015-01-29 11:33:52 +03:00
Lunatrius 39eb036b0e Don't skip the first line when rendering (debug) text. 2015-01-28 21:41:39 +01:00
Lex Manos 8b6ef01ecc Updated FML:
MinecraftForge/FML@a55e412453 Save the mod list of players in their NetworkDispatcher (Make it accessable for mods)
MinecraftForge/FML@69d479d46a Fixed getEffectiveSide() for Netty Server threads
MinecraftForge/FML@0f9a33cf14 Exclude only log4j2 queue from class loader
2015-01-19 11:38:05 -08:00
LexManos 9a2c4998ae Merge pull request #591 from Minecrell/patch-1
Exclude only log4j2 queue from class loader
2015-01-18 14:46:18 -08:00
LexManos c4b0fea9ee Merge pull request #1647 from Parker8283/fluid-icons
Re-enabled Icon setting for Fluids
2015-01-16 15:22:09 -08:00
LexManos 698b1558cd Merge pull request #1645 from Lunatrius/chat-npe-fix
Fixed NPE when canceling ClientChatRecievedEvent. Fixes #1644
2015-01-16 15:18:02 -08:00
LexManos c7da6c703f Merge pull request #575 from lumien231/1.8
Save the mod list of players in their NetworkDispatcher
2015-01-16 14:40:06 -08:00
Parker Young bfcce919b9 Re-enabled Icon setting for Fluids 2015-01-16 17:30:00 -05:00
Minecrell 8cfca4376f Exclude only log4j2 queue from class loader
Right now the complete com.mojang package is excluded from the LaunchClassLoader on the server. This means mods can't transform authlib for example which doesn't need to be excluded for the UI to work. By excluding only the specific log4j2 QueueLogAppender, mods can also transform the classes in the com.mojang.authlib package.
2015-01-16 23:15:17 +01:00
Lunatrius 4380ca026e Fixed NPE when canceling ClientChatRecievedEvent. Fixes #1644 2015-01-16 23:09:45 +01:00
Lex Manos f6a378e136 Silently eat exceptions when getting a TE's rendering bounding box, this 'fixes' Bukkit servers screwing up world data and causing clients to crash. 2015-01-14 19:02:50 -08:00
RainWarrior dcabad2bd1 Merge pull request #1602 from Chicken-Bones/1.8
Allow blocks to render in multiple layers
2015-01-10 13:35:29 +03:00
Lex Manos 64bf7bb3be Fix value passed for Item.getModel useRemaining argument. Closes #1623 2015-01-08 23:37:06 -08:00
Lex Manos fb88b021c5 Made Chunk.fillBlock respect TileEntity.shouldRefresh. 2015-01-08 23:22:45 -08:00
Lex Manos d899f8fb84 Call World.init from DimensionManager.initDimension Closes #1551 2015-01-08 23:02:25 -08:00
Lex Manos 5328701219 Fix potential NPE when loading a single player world where you were saved in a unloaded dimension. Closes #1575 2015-01-08 21:42:13 -08:00
LexManos bca990cc93 Merge pull request #1609 from lumien231/1.8
Fixes #1603: Moving the start of the update thread to the pre init of the forge mod container
2014-12-28 14:28:51 -08:00
Lumien 9d34bbece7 Fixes #1603: Moving the start of the update thread to the pre init of the forge mod container 2014-12-28 22:49:31 +01:00
Chicken-Bones 0cbc685d3c Allow blocks to render in multiple layers 2014-12-26 15:45:00 +10:00
Lex Manos 0923c2c2b8 Fix recipies for stone variants. 2014-12-25 01:39:22 -08:00
LexManos 30e44e19e9 Merge pull request #1592 from palechip/1.8
Fix Scoreboard rendering for the sidebar.
2014-12-24 16:06:17 -08:00
Lex Manos 51271dcc3a Fix MC-30864 (sending web links in chat) 2014-12-23 15:04:41 -08:00
LexManos 58a458c250 Merge pull request #578 from HEmile/1.8
Fixed getEffectiveSide() for Netty Server threads
2014-12-23 14:15:41 -08:00
Lex Manos 7ddc5469b4 Fix crafting of non-oak fences/gates. 2014-12-23 14:14:40 -08:00
Lex Manos 3c936e88f2 Added chests to the ore dictionary. 2014-12-23 13:17:44 -08:00
Lex Manos 53275ff0ac Removed exclusion of white stained glass recipes in ore dictionary. 2014-12-23 12:15:40 -08:00
HEmile a7ff70eaa4 Fixed getEffectiveSide() for Netty Server threads 2014-12-23 20:26:37 +01:00
palechip f6dc40c07d Fix Scoreboard rendering for the sidebar. 2014-12-22 14:34:35 +01:00
Lex Manos 959eaf0218 Fix BlockSnapshots not firing correctly due to patch mixup in 1.8 update. Closes #1591 2014-12-21 18:55:46 -08:00
LexManos 005e0c8451 Merge pull request #1586 from Lunatrius/fix-chat-1.8
[1.8] Fixed messages not being added to the chat history
2014-12-18 14:13:33 -08:00
Lunatrius 7916a21682 Fixed messages not being added to the chat history and ClientCommandHandler not being called when sleeping. 2014-12-18 20:46:24 +01:00
Lex Manos ae1321b8c8 MinecraftForge/FML@5a4d362293 Finish removing marker in mapping entry names. FMLMissingMappingsEvent/FMLModIdMappingEvent should fire with correct names now. 2014-12-18 08:11:36 -08:00
Lex Manos 4aaabdd0e0 Fix incorrect logic in world change clumping. 2014-12-18 08:11:30 -08:00
Lex Manos 2096bcb5ab Finish removing marker in mapping entry names. FMLMissingMappingsEvent/FMLModIdMappingEvent should fire with correct names now. 2014-12-15 06:57:59 -08:00
Lex Manos 9d95952dc1 Remove our changes to Stitcher slot allocation. 2014-12-13 18:07:31 -08:00
Lex Manos fd859812eb MinecraftForge/FML@e3785c2893 Ensure that EntitySpawn and OpenGUI packets are handled in the world thread. Also log all errors that are thrown in FutureTasks. 2014-12-13 18:07:13 -08:00
Lex Manos e9dbc71362 Ensure that EntitySpawn and OpenGUI packets are handled in the world thread.
Also log all errors that are thrown in FutureTasks.
2014-12-13 17:45:38 -08:00
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 bf66e45699 Fix texture stitcher not using all avalible spaces. 2014-12-11 16:40:48 -08:00
Lex Manos a6c6a79916 Fixed log spam when breaking DoublePlants. Closes #1555 2014-12-10 05:44:07 -08:00
Lex Manos 7c79a4226f Fix missed patch causing Dispensed Armor to go into the wrong slot. Closes #1560 2014-12-10 05:36:15 -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 fd3f948e4c Improved Control of Enchantment.canApplyTogether() in Mod Enchantments, allowing both enchantments to determine if they can apply together. 2014-12-07 05:20:50 -08:00
Lex Manos 309fe700cd Changed ToolMaterial's repair material to ItemStack version to allow metadata sensitive versions. 2014-12-07 04:30:10 -08:00
Lex Manos 4cc11b220a Add quartz_ore tool init, more mojang special casing -.- 2014-12-07 03:41:53 -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 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 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 b417594e71 Fixed bug in ServerConfigurationManager.transferPlayerToDimension where it would send the old dimension's information. 2014-12-07 00:39:09 -08:00
Lex Manos 42938a1e7f Added Explosion Start and Detonate events to control explosion. 2014-12-07 00:28:41 -08:00
mezz 75c7862e78 Add GuiScreenEvents for keyboard and mouse input 2014-12-06 19:06:19 -08:00
Lumien 6f19fd1513 Save the mod list of players in their NetworkDispatcher (Make it accessable for mods) 2014-12-06 16:31:58 +01: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 1fc1570663 Only call blockBreak when block itself changes, not just meta. Fixes bottles poping out of brewing stands. 2014-12-02 21:40:50 -08:00
Lex Manos 07db77401d Fix finding of spawn location for mobs. Closes #1546 2014-12-02 21:37:15 -08:00
Lex Manos c683bce659 Remove debug patch I left in. 2014-12-01 19:17:11 -08: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 5b07c7fead Update Dev mcp mappings to 11-30 snapshot. 2014-12-01 18:28:18 -08:00
Lex Manos 7b2e7ac3c9 Unlink banner block and item id. Mojang should of matched these up but they didn't -.- 2014-12-01 18:00:28 -08:00
Lex Manos 4caf09cd33 Fix stickey pistons not retracting properly. 2014-12-01 14:53:30 -08:00
Lex Manos 6ff24351d3 Fixed blocks not breaking properly when instantly destroied. 2014-11-30 23:55:28 -08:00
Lex Manos 9f4ef7b38a Fixed vanilla issue where exceptions in World tasks would not be logged. 2014-11-30 23:55:04 -08:00
Lex Manos 7cc7056c57 Fix NPE with BlockSnapshots that caused items with TileEntities to be used up in creative mode. 2014-11-30 23:54:17 -08:00
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 6bb769268f Fix interacting with entities. 2014-11-28 12:04:09 -08:00
Lex Manos 5de6cf571c Updated FML:
MinecraftForge/FML@36644e9771 Finalize modded handshakes in the World tick thread. Prevents potential CMEs when login event takes to long to fire.
2014-11-28 11:20:06 -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 10efdbc085 Fix debug screen not showing grey background. Closes #1529 2014-11-28 11:18:59 -08:00
Lex Manos 4a92959cc1 Finalize modded handshakes in the World tick thread. Prevents potential CMEs when login event takes to long to fire. 2014-11-28 10:37:55 -08:00
Lex Manos dcefcc9047 Fix destroy particles not being added. Closes #1528 2014-11-28 08:31:14 -08:00
Lex Manos d48f4d0a94 Update RecipeSorter for new 1.8 recipies. 2014-11-28 08:20:10 -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 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
Lex Manos 229848a4cb Add details message to MissingModsException and WrongMinecraftVersionException to make the Crash logs more useful. 2014-11-08 15:13:59 -08:00
Lex Manos 0dc112a198 Add duplicate protection to ModDiscoverer, do not process files in the mods directory if we already found them in the classpath. {Such as if LiteLoader is installed and added it} Closes #557 2014-11-05 15:27:43 -08:00
LexManos 27e1b65755 Merge pull request #547 from Parker8283/1.8
Re-enabled Entity-Render registration
2014-10-19 18:09:12 -07:00
Parker Young 2544df8e44 Re-enabled Entity-Render registration 2014-10-19 20:05:39 -04:00
LexManos a300935cbc Merge pull request #545 from bspkrs/1.8
changed pass-thru method name to fix MCP name conflict
2014-10-14 23:28:48 -07:00
bspkrs 7e53132918 changed pass-thru method name to fix MCP name conflict
fixed a few old javadoc object name mistakes
2014-10-15 02:08:41 -04:00
Lex Manos 878f995711 Add the ability to register custom variant names in ModelBakery. 2014-10-13 20:48:09 -07:00
Lex Manos 70b57c337a Removed unneeded rebuild, was toying with where to put it. 2014-10-09 05:22:50 -07:00
Lex Manos c002b98e5e Automatically register BlockStates when block is initally registered, and clear the list when new snapshots are injected. Modders DO NOT touch the registry in Block directly. Closes #537 2014-10-09 05:05:43 -07:00
Lex Manos cfaedc384a Update TerminalTransformer for new FML package. Closes #535 2014-10-06 00:53:38 -07:00
Lex Manos e4cdefb0e1 General class name cleanup, spelling mistakes and FF decompile issues. 2014-10-04 02:05:43 -07:00
Lex Manos 468d35e635 Take control over Item.BLOCK_TO_ITEM map and register Block's to this map from GameRegistry. 2014-10-03 17:48:57 -07:00
Lex Manos f759f73801 Renamed TileEntityRendererChestHelper -> TileEntityItemStackRenderer
This class is used to render any tile entities in a non-location specific major
  Such as EntityItems, In minecarts, Held by entities, anyhting that isn't in world.

Switched the class names for BiomeGenForest $1 and $2 as Fernflower decompiled
  them in oposite order.
2014-10-03 17:48:28 -07:00
LexManos fe552616bf Merge pull request #533 from AbrarSyed/patch-2
Added mappings to default build.gradle
2014-10-03 14:03:06 -07:00
Abrar Syed 20d78df6e6 added mappings to default build.gradle 2014-10-03 15:57:04 -05:00
Lex Manos 1b587948f8 Add joptsimple as a server required library. Closes #531 2014-10-01 11:26:06 -07:00
Lex Manos 10d3062fc6 Restructure block and item mapping data in world save and network to potentially expand to custom mod ID registry syncing. Tip: ONLY use those functions in GameData that are marked as public API as internal API may change in 1.8. 2014-10-01 01:07:23 -07:00
LexManos 27ea6bb6fa Merge pull request #527 from bspkrs/1.8
Update Config Gui stuff for 1.8
2014-09-30 13:05:00 -07:00
bspkrs 927df1559e Update Config Gui stuff for 1.8
updated mappings to snapshot 20140930
got rid of derpy generics code
2014-09-30 05:20:56 -04:00
Lex Manos 28ff001cc0 Move FML to net.minecraft.fml package. 2014-09-22 22:50:54 -07:00
Lex Manos 1f1166e722 Move vanilla trades to inner class to prevent initilizer order issues. 2014-09-22 19:30:14 -07:00
Lex Manos 511c370193 Preliminary network protocol re-work. vanilla clients can now connect. Further cleanup needed. 2014-09-22 19:29:40 -07:00
Lex Manos 1ac0c5d87f Inital 1.8 patch update. 'It compiles!' 2014-09-19 17:25:14 -07:00
Lex Manos ebb91ba280 1.8 Conf update. Uses MCPData Snapshots now. 2014-09-18 17:57:33 -07:00
1966 changed files with 113060 additions and 117767 deletions

No files matched your search

+2 -1
View File
@@ -4,6 +4,7 @@
*.java text eol=lf
*.gradle text eol=crlf
*.png binary
*.gif binary
*.exe binary
*.dll binary
*.jar binary
@@ -11,4 +12,4 @@
*.zip binary
*.pyd binary
*.cfg text eol=lf
*.py text eol=lf
*.py text eol=lf
+4
View File
@@ -0,0 +1,4 @@
<!-- Thank you for reporting! -->
<!-- Please go to the forum first for support with crashes and issues. -->
<!-- http://www.minecraftforge.net/forum/forum/18-support-bug-reports/ -->
+45
View File
@@ -0,0 +1,45 @@
# Configuration for probot-stale - https://github.com/probot/stale
# Label to use when marking as stale
staleLabel: Stale
# Comment to post when removing the stale label. Set to `false` to disable
unmarkComment: false
# Limit the number of actions per hour, from 1-30. Default is 30
limitPerRun: 1
pulls:
# Number of days of inactivity before a Pull Request becomes stale
daysUntilStale: 60
# Number of days of inactivity before a stale Pull Request is closed
daysUntilClose: 14
# Pull Requests with these labels will never be considered stale. Set to `[]` to disable
exemptLabels:
- Assigned
# Comment to post when marking as stale. Set to `false` to disable
markComment: >
This pull request has been automatically marked as stale because it has not had recent
activity, and will be closed if no further activity occurs. If this pull request was
overlooked, forgotten, or should remain open for any other reason, please reply
here to call attention to it and remove the stale status. Thank you for your contributions.
# Comment to post when closing a stale Pull Request. Set to `false` to disable
closeComment: >
This pull request has been automatically closed because it has not had
recent activity. Please feel free to update or reopen it.
issues:
# Number of days of inactivity before an Issue becomes stale
daysUntilStale: 180
# Number of days of inactivity before a stale Issue is closed
daysUntilClose: 14
# Issues with these labels will never be considered stale. Set to `[]` to disable
exemptLabels: []
# Comment to post when marking as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had activity
in a long time. If this issue is still relevant and should remain open, please reply
with a short explanation (e.g. "I have checked the code and this issue is still relevant because ___."
or "Here's a screenshot of this issue on the latest version").
Thank you for your contributions!
# Comment to post when closing a stale Issue. Set to `false` to disable
closeComment: >
This issue has been automatically closed because it has not had
activity in a long time. Please feel free to reopen it or create a new issue.
+16
View File
@@ -0,0 +1,16 @@
# Configuration for support-requests - https://github.com/dessant/support-requests
# Label used to mark issues as support requests
supportLabel: Forum
# Comment to post on issues marked as support requests. Add a link
# to a support page, or set to `false` to disable
supportComment: >
👋 We use the issue tracker exclusively for final bug reports and feature requests.
However, this issue appears to be better suited for the
[Forge Support Forums](http://www.minecraftforge.net/forum/forum/18-support-bug-reports/).
Please create a new topic on the support forum with this issue, and the conversation can
continue there.
# Whether to close issues marked as support requests
close: true
# Whether to lock issues marked as support requests
lock: true
+23 -5
View File
@@ -1,23 +1,41 @@
#eclipse
/bin
/.settings
/.classpath
**/bin
**/.settings
**/.classpath
*.project
#In case people make their workspace in the repo
/eclipse/
#idea
/.idea
/classes
*.iml
#gradle
/build
/.gradle
/mdk/.gradle
/mdk/build
#occupational hazards
/eclipse/
/projects/
/repo/
/buildSrc
#Patch rejects
*.rej
/patches-/
*.patch.rej
# FML changelog
changelog.txt
/patches_old/
/patches_old_bak/
/patches/minecraft.old/
/projects.old/
*.py
*.7z
/logs/
gradle.properties
!/mdk/gradle.properties
+30
View File
@@ -0,0 +1,30 @@
sudo: required
dist: trusty
language: java
jdk: oraclejdk8
env:
- BUILD_NUMBER=9999
before_cache:
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
- rm -fr $HOME/.gradle/caches/*/plugin-resolution/
- rm -f $HOME/.gradle/caches/minecraft/deobfedDeps/providedDummy.jar
- rm -f $HOME/.gradle/caches/minecraft/deobfedDeps/compileDummy.jar
cache:
directories:
- $HOME/.gradle/caches/
- $HOME/.gradle/wrapper/
- $TRAVIS_BUILD_DIR/build/localCache/Forge/
before_install: chmod +x gradlew
install:
- ./gradlew --refresh-dependencies
- ./gradlew ciWriteBuildNumber
script:
- travis_wait ./gradlew build -x createExe -S
- ./gradlew -p projects/Forge test -S -i
notifications:
email: false
+12
View File
@@ -8,3 +8,15 @@ Contributing to Forge
3) Follow Forge coding guidelines (braces on newlines, spaces instead of tabs, etc)
For more information, refer to [the wiki](https://github.com/MinecraftForge/MinecraftForge/wiki/If-you-want-to-contribute-to-Forge)
Contributor License Agreement
=============================
- You grant Forge a license to use your code contributed to the primary codebase (everything **not** under patches) in Forge, under the LGPLv2.1 license.
- You assign copyright ownership of your contributions to the patches codebase (everything under patches) to Forge, where it will be licensed under the LGPLv2.1 license.
Additionally, while 1.9.4 is being maintained, you will be asked to acknowledge these two additional clauses.
- You grant Forge a license to use your code contributed to the primary codebase (everything **not** under patches) in Forge, under the MinecraftForge license.
- You grant assign copyright ownership of your contributions to the patches codebase (everything under patches) to Forge, where it will be licensed under the MinecraftForge license.
"Forge" is Forge Development LLC, a legally incorporated entity in Oregon, USA.
+65
View File
@@ -0,0 +1,65 @@
Minecraft Forge: Credits/Thank You
Forge is a set of tools and modifications to the Minecraft base game code to assist
mod developers in creating new and exciting content. It has been in development for
several years now, but I would like to take this time thank a few people who have
helped it along it's way.
First, the people who originally created the Forge projects way back in Minecraft
alpha. Eloraam of RedPower, and SpaceToad of Buildcraft, without their acceptiance
of me taking over the project, who knows what Minecraft modding would be today.
Secondly, someone who has worked with me, and developed some of the core features
that allow modding to he as functional, and as simple as it is, cpw. For developing
FML, which stabelized the client and server modding ecosystem. As well as the base
loading system that allows us to modify Minecraft's code as elegently as possible.
Mezz, who has stepped up as the issue and pull request manager. Helping to keep me
sane as well as guiding the community into creating better additions to Forge.
Searge, Bspks, Fesh0r, ProfMobious, and all the rest over on the MCP team {of which
I am a part}. For creating some of the core tools needed to make Minecraft modding
both possible, and as stable as can be.
On that note, here is some specific information of the MCP data we use:
* Minecraft Coder Pack (MCP) *
Forge Mod Loader and Minecraft Forge have permission to distribute and automatically
download components of MCP and distribute MCP data files. This permission is not
transitive and others wishing to redistribute the Minecraft Forge source independently
should seek permission of MCP or remove the MCP data files and request their users
to download MCP separately.
And lastly, the countless community members who have spent time submitting bug reports,
pull requests, and just helping out the community in general. Thank you.
--LexManos
=========================================================================
This is Forge Mod Loader.
You can find the source code at all times at https://github.com/MinecraftForge/MinecraftForge/tree/1.12.x/src/main/java/net/minecraftforge/fml
This minecraft mod is a clean open source implementation of a mod loader for minecraft servers
and minecraft clients.
The code is authored by cpw.
It began by partially implementing an API defined by the client side ModLoader, authored by Risugami.
http://www.minecraftforum.net/topic/75440-
This support has been dropped as of Minecraft release 1.7, as Risugami no longer maintains ModLoader.
It also contains suggestions and hints and generous helpings of code from LexManos, author of MinecraftForge.
http://www.minecraftforge.net/
Additionally, it contains an implementation of topological sort based on that
published at http://keithschwarz.com/interesting/code/?dir=topological-sort
It also contains code from the Maven project for performing versioned dependency
resolution. http://maven.apache.org/
It also contains a partial repackaging of the javaxdelta library from http://sourceforge.net/projects/javaxdelta/
with credit to it's authors.
Forge Mod Loader downloads components from the Minecraft Coder Pack
(http://mcp.ocean-labs.de/index.php/Main_Page) with kind permission from the MCP team.
+9
View File
@@ -0,0 +1,9 @@
# On the Contribution of an RF-lite Energy System: "Energy"
Forge has acquired an Energy system, after many years of debate on the topic. The prevalence of the RF API has warranted the inclusion of a similar (but simpler) implementation to forge for 1.10.2 and onwards.
Those who wish to use an RF like API, feel free to use it. If you don't want to think about Energy, but know you need it, you can use it *if you wish*. If you want to interoperate with other energy systems, feel free to use this to broker with them.
# On Diversity in Energy Systems
Forge has always supported diversity in energy-like systems. If you have a burning desire to simulate electricity flow in all it's glory, we fully support you and look forward to playing your mod. If you wish to have pneumatic power, we have no objections, and would love to see your wonderful creations. If you have a power system of your own devising that is simply beyond our imagination, please, blow us away.
# On Modder Obligations
As a modder, you are under *no* obligation to use or support the forge Energy system. If anyone, user, mod-pack maker or even us, tells you otherwise, refer them to this statement. The Forge energy system is not intended to supplant diversity in energy systems. It is not intended to be one-size-fits-all. The choice to support it, is the choice of the modder.
Vendored
+65
View File
@@ -0,0 +1,65 @@
@Library('forge-shared-library')_
pipeline {
agent {
docker {
image 'gradlewrapper:latest'
args '-v gradlecache:/gradlecache'
}
}
environment {
GRADLE_ARGS = --no-daemon' // No daemon for now as FG3 kinda derps. //'-Dorg.gradle.daemon.idletimeout=5000'
}
stages {
stage('fetch') {
steps {
git(url: 'https://github.com/MinecraftForge/MinecraftForge.git', changelog: true)
}
}
cache(maxCacheSize: 250/*MB*/, caches: [
[$class: 'ArbitraryFileCache', excludes: 'log.txt', includes: '**/*', path: '${WORKSPACE}/projects/forge/build/extractRangeMap'] //Cache the rangemap to help speed up builds
]){
stage('buildandtest') {
steps {
sh './gradlew ${GRADLE_ARGS} --refresh-dependencies --continue build test'
script {
env.MYVERSION = sh(returnStdout: true, script: './gradlew properties -q | grep "version:" | awk \'{print $2}\'').trim()
}
}
post {
success {
writeChangelog(currentBuild, 'build/changelog.txt')
archiveArtifacts artifacts: 'build/changelog.txt', fingerprint: false
}
}
}
stage('publish') {
when {
not {
changeRequest()
}
}
environment {
FORGE_MAVEN = credentials('forge-maven-forge-user')
CROWDIN = credentials('forge-crowdin')
KEYSTORE = credentials('forge-jenkins-keystore-old')
KEYSTORE_KEYPASS = credentials('forge-jenkins-keystore-old-keypass')
KEYSTORE_STOREPASS = credentials('forge-jenkins-keystore-old-keypass')
}
steps {
sh './gradlew ${GRADLE_ARGS} forge:publish -PforgeMavenUser=${FORGE_MAVEN_USR} -PforgeMavenPassword=${FORGE_MAVEN_PSW} -PkeystoreKeyPass=${KEYSTORE_KEYPASS} -PkeystoreStorePass=${KEYSTORE_STOREPASS} -Pkeystore=${KEYSTORE} -PcrowdinKey=${CROWDIN}'
//We're testing so use the test group
sh 'curl --user ${FORGE_MAVEN} http://files.minecraftforge.net/maven/manage/promote/latest/net.minecraftforge.test.forge/${MYVERSION}'
}
}
}
}
post {
always {
archiveArtifacts artifacts: 'build/libs/**/*.jar', fingerprint: true
junit 'build/test-results/*/*.xml'
jacoco sourcePattern: '**/src/*/java'
}
}
}
+16
View File
@@ -0,0 +1,16 @@
Minecraft Forge
Copyright (c) 2016-2018.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation version 2.1
of the License.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+53 -24
View File
@@ -1,18 +1,31 @@
This minecraft mod, Forge Mod Loader, including all parts herein except as noted below,
is licensed under the GNU LGPL v2.1 or later.
Unless noted below, Minecraft Forge, Forge Mod Loader, and all
parts herein are licensed under the terms of the LGPL 2.1 found
here http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt and
copied below.
Homepage: https://github.com/MinecraftForge/FML
Homepage: http://MinecraftForge.net/
http://github.com/MinecraftForge/MinecraftForge
This software includes portions from the Apache Maven project at
http://maven.apache.org/ specifically the ComparableVersion.java code. It is
included based on guidelines at
http://www.softwarefreedom.org/resources/2007/gpl-non-gpl-collaboration.html
with notices intact. The only change is a non-functional change of package name.
A note on authorship:
All source artifacts are property of their original author, with
the exclusion of the contents of the patches directory and others
copied from it from time to time. Authorship of the contents of
the patches directory is retained by the Minecraft Forge project.
This is because the patches are partially machine generated
artifacts, and are changed heavily due to the way forge works.
Individual attribution within them is impossible.
This software contains a partial repackaging of javaxdelta, a BSD licensed program for generating
binary differences and applying them, sourced from the subversion at http://sourceforge.net/projects/javaxdelta/
authored by genman, heikok, pivot.
The only changes are to replace some Trove collection types with standard Java collections, and repackaged.
Consent:
All contributions to Forge must consent to the release of any
patch content to the Forge project.
A note on infectivity:
The LGPL is chosen specifically so that projects may depend on Forge
features without being infected with its license. That is the
purpose of the LGPL. Mods and others using this code via ordinary
Java mechanics for referencing libraries are specifically not bound
by Forge's license for the Mod code.
=== MCP Data ===
@@ -26,14 +39,26 @@ I grant permission for some parts of FML to be redistributed outside the terms o
the minecraft modding community. All contributions to these parts should be licensed under the same additional grant.
-- Runtime patcher --
License is granted to redistribute the runtime patcher code (common/cpw/mods/fml/patcher and subdirectories) under
any alternative open source license as classified by the OSI (http://opensource.org/licenses)
License is granted to redistribute the runtime patcher code (src/main/java/net/minecraftforge/fml/common/patcher
and subdirectories) under any alternative open source license as classified by the OSI (http://opensource.org/licenses)
-- ASM transformers --
License is granted to redistribute the ASM transformer code (common/cpw/mods/fml/common/asm/ and subdirectories)
License is granted to redistribute the ASM transformer code (src/main/java/net/minecraftforge/common/asm/ and subdirectories)
under any alternative open source license as classified by the OSI (http://opensource.org/licenses)
========
=========================================================================
This software includes portions from the Apache Maven project at
http://maven.apache.org/ specifically the ComparableVersion.java code. It is
included based on guidelines at
http://www.softwarefreedom.org/resources/2007/gpl-non-gpl-collaboration.html
with notices intact. The only change is a non-functional change of package name.
This software contains a partial repackaging of javaxdelta, a BSD licensed program for generating
binary differences and applying them, sourced from the subversion at http://sourceforge.net/projects/javaxdelta/
authored by genman, heikok, pivot.
The only changes are to replace some Trove collection types with standard Java collections, and repackaged.
=========================================================================
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
@@ -43,6 +68,10 @@ under any alternative open source license as classified by the OSI (http://opens
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts
as the successor of the GNU Library Public License, version 2, hence
the version number 2.1.]
Preamble
The licenses for most software are designed to take away your
@@ -88,7 +117,7 @@ modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
@@ -144,7 +173,7 @@ modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
@@ -191,7 +220,7 @@ Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
@@ -249,7 +278,7 @@ instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
@@ -300,7 +329,7 @@ Library will still fall under Section 6.)
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
@@ -362,7 +391,7 @@ restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
@@ -403,7 +432,7 @@ subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
@@ -455,7 +484,7 @@ conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
-26
View File
@@ -1,26 +0,0 @@
* Eloraam *
* FlowerChild *
* Hawkye *
* MALfunction84 *
Submitted the sleep handler code for his mod (Somnia) and others to use.
* Scokeev9 *
Gave permission for ScotTools API to be integrated into MCF, and also supported the Forge by converting his mods to use it.
ScotTools Background: ScotTools was an API that enabled modders to add blocks to harvesting levels (and many other ease-of-use features to create new tools), and the first tool API that used block material for block breaking efficiency which allowed blocks from mods that didn't use ScotTools API to break with the correct speed.
* SpaceToad *
* LexManos *
* cpw *
* Minecraft Coder Pack (MCP) *
Forge Mod Loader and Minecraft Forge have permission to distribute and automatically download components of MCP and distribute MCP data files.
This permission is not transitive and others wishing to redistribute the Minecraft Forge source independently should seek permission of MCP or
remove the MCP data files and request their users to download MCP separately.
-70
View File
@@ -1,70 +0,0 @@
Minecraft Forge Public Licence
==============================
Version 1.0
0. Definitions
--------------
Minecraft: Denotes a copy of the Minecraft game licensed by Mojang AB
User: Anybody that interract with the software in one of the following ways:
- play
- decompile
- recompile or compile
- modify
Minecraft Forge: The Minecraft Forge code, in source form, class file form, as
obtained in a standalone fashion or as part of a wider distribution.
Dependency: Code required to have Minecraft Forge working properly. That can
include dependencies required to compile the code as well as modifications in
the Minecraft sources that are required to have Minecraft Forge working.
1. Scope
--------
The present license is granted to any user of Minecraft Forge, for all files included
unless stated otherwise in the file itself. As a prerequisite, a user of Minecraft
Forge must own a legally aquired copy of Minecraft.
2. Play rights
--------------
The user of Minecraft Forge is allowed to install the software on a client or
a server and to play it without restriction.
3. Modification rights
----------------------
The user has the right to decompile the source code, look at either the
decompiled version or the original source code, and to modify it.
4. Derivation rights
--------------------
The user has the rights to derive code from Minecraft Forge, that is to say to
write code that either extends Minecraft Forge class and interfaces,
instantiate the objects declared or calls the functions. This code is known as
"derived" code, and can be licensed with conditions different from Minecraft
Forge.
5. Distribution rights
----------------------
The user of Minecraft Forge is allowed to redistribute Minecraft Forge in
partially, in totallity, or included in a distribution. When distributing
binaries or class files, the user must provide means to obtain the sources of
the distributed version of Minecraft Forge at no costs. This includes the
files as well as any dependency that the code may rely on, including patches to
minecraft original sources.
Modification of Minecraft Forge as well as dependencies, including patches to
minecraft original sources, has to remain under the terms of the present
license.
The right to distribute Minecraft Forge does not extend to the right to distribute
MCP data files included within Minecraft Forge. These are the property of the MCP
project and should be removed from any customized distribution of Minecraft Forge
or permission sought separately from the MCP team.
+127
View File
@@ -0,0 +1,127 @@
# FML
Entrypoint : ```FMLServiceProvider.onLoad```
- Verify environment
-- Check all libraries are present: ```accesstransformer```, ```coremod```, ```deobfuscator```
-- Check versions are suitable: ```modlauncher```, ```accesstransformer```, ```coremod```, ```deobfuscator```
- Find deobfuscated and patched MC
-- If not found, trigger job to generate that (loaded later at FMLLaunchProvider.launch)
Injected arguments:
- ```mods``` : CSV list of mod files to load
- ```modlist``` : JSON formatted list of mod files in a maven-like repository format
Entrypoint : ```FMLServiceProvider.initializer```
- Setup paths
-- ```mods``` folder
-- ```config``` folder
- FML config file read (JSON?)
- Trigger initial loading
Entrypoint : ```FMLLaunchProvider.launch```
- Launches the patched and deobfuscated game
- - If that wasn't found it'll be generated from the vanilla jar and patch/deobf files (see above)
- Possible we'll use an alternative launch for the development environment
(A goal is that we pre-generate this JAR during forge installation or modpack installation)
## Loading
- First we discover all mods
- - IModLocator instances present in system are found and queried to compile a master list of all mod artifacts of the three types
- LANGPROVIDERs are added to the supported language system : IModLanguageProvider
- The MODS from the list have their META-INF/mods.json file queried for mod instances to load
- - MODS are cross-referenced for their language being available
- - MODS are cross-referenced for their libraries being available
- - MODS are cross-referenced for their MOD dependencies being available
- - MODS with META-INF/coremods.json specification are loaded into the COREMOD system
- - MODS with META-INF/accesstransformer.json are loaded into the ACCESSTRANSFORMER system
- - MODS are enqueued to the background loading system
- FMLLaunchProvider will be triggered from the ModLauncher to start the game
## Game loading
- Events triggered from loadGame will launch various phases of modloading as before
-- Deprecation of old "FML" events in favour of Forge events
-- If a mod hasn't completed scanning there might be a pause waiting for it to complete before loading (testing indicates this should be a very rare occurrence and isn't worse than existing status quo where all scanning and loading is on-thread)
### ```IModLocator```
Finds mods from various sources of various types
manifest is queried for type: FMLModType
- MOD : this file will be scanned as a mod. This is default if nothing is present
- LIBRARY : this file will be added to the classpath and no further processing is done
- LANGPROVIDER : this file will be loaded as a language provider
#### ```ModsFolderLocator```
- scans for jar files from mods folder
-- able to load all types
-- loads in all environments
-- maybe able to do runtime name transformation for dev time?
Standard mechanism to find and load mods
#### ```ExplodedDirectoryLocator```
- loads a directory as a mod
-- only able to load mods
-- should only load in dev env
Intended as a mechanism to allow development of mods easily by pointing at a compiled output directory
#### ```ArgumentModsLocator``` : NYI
- loads mods from the arguments on the command line
-- able to load all types
-- loads in all environments
### ```IModLanguageProvider```
Provides mod and language provider services
- Provides a means to transform a Mod File (from the IModLocator) into a list of modcontainer objects based on mods.json
- Scanning work will be done in background threads
- Language providers can be provided as JARs via the modlocator for ease of distribution
#### ```FMLModLanguageProvider```
This is the standard Java @Mod implementation provider
- provided by default (always supported)
- All scanning for @Mod will be done in the background thread
#### ```ScalaModLanguageProvider```
This is the scala language provider. It'll be provided separately as a JAR mod download.
- API contract will need definition
Other languages? Kotlin? Alternative Scala versions? Javascript?
## Coremods
Coremods are now forcefully separated into _injection_ and _runtime_ phases.
### Injection
Injection is the act of intercepting the loading of a class and modifying the inbound class with alterations such as additions, replacements and deletions
Injections will be written using Javascript. Two functions are required: a function providing the list of injection sites, and the function to transform the injection site.
All injection sites will need to be pre-specified by the coremod in their metadata. Lookup services should be provided in the Javascript API.
Javascript API for common coremod injection tasks needs to be developed, to allow common best-practice tooling for these complex tasks.
Runtime coremod code (code that has been injected) is Java as usual.
## Background loading thread
Early in loading, a background thread is triggered which will perform scanning tasks for common resources, such as @Mod instances and other annotations. This thread will also be responsible for loading any cached resources, either those defined at build time or pre-computed from previous runs. It may also be tasked with writing those precomputed resources.
There will be a IPreLoaderJobProvider that will allow extension of the scope of these tasks
-10
View File
@@ -1,10 +0,0 @@
IBXM is copyright (c) 2007, Martin Cameron, and is licensed under the BSD License.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the name of mumart nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -1,40 +0,0 @@
SoundSystem CodecIBXM Class License:
You are free to use this class for any purpose, commercial or otherwise.
You may modify this class or source code, and distribute it any way you
like, provided the following conditions are met:
1) You may not falsely claim to be the author of this class or any
unmodified portion of it.
2) You may not copyright this class or a modified version of it and then
sue me for copyright infringement.
3) If you modify the source code, you must clearly document the changes
made before redistributing the modified source code, so other users know
it is not the original code.
4) You are not required to give me credit for this class in any derived
work, but if you do, you must also mention my website:
http://www.paulscode.com
5) I the author will not be responsible for any damages (physical,
financial, or otherwise) caused by the use if this class or any
portion of it.
6) I the author do not guarantee, warrant, or make any representations,
either expressed or implied, regarding the use of this class or any
portion of it.
Author: Paul Lamb
http://www.paulscode.com
This software is based on or using the IBXM library available from
http://www.geocities.com/sunet2000/
IBXM is copyright (c) 2007, Martin Cameron, and is licensed under the BSD License.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the name of mumart nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+37
View File
@@ -0,0 +1,37 @@
# How to install Forge: For Players
Go to [the Forge website](http://files.minecraftforge.net)
and select the minecraft version you wish to get forge for from the list.
You can download the installer for the *Recommended Build* or the
*Latest build* there. Latest builds may have newer features but may be
more unstable as a result. The installer will attempt to install forge
into your vanilla launcher environment, where you can then create a new
profile using that version and play the game!
For support and questions, visit [the Support Forum](http://www.minecraftforge.net/forum/forum/18-support-bug-reports/).
Here is a short video from Rorax showing how to install and setup Forge:
[![HOWTO Install Forge](https://img.youtube.com/vi/lB3ArN_-3Oc/0.jpg)](https://www.youtube.com/watch?v=lB3ArN_-3Oc)
# How to install Forge: For Modders
[See the "Getting Started" section in the Forge Documentation](http://mcforge.readthedocs.io/en/latest/gettingstarted/).
# How to install Forge: For those wishing to work on Forge itself
If you wish to actually inspect Forge, submit PRs or otherwise work
with Forge itself, you're in the right place!
[See the guide to setting up a Forge workspace](http://mcforge.readthedocs.io/en/latest/forgedev/).
## Pull requests
[See the "Making Changes and Pull Requests" section in the Forge documentation](http://mcforge.readthedocs.io/en/latest/forgedev/#making-changes-and-pull-requests).
### Contributor License Agreement
We require all contributors to acknowledge the [Forge Contributor
License Agreement](https://cla-assistant.io/MinecraftForge/MinecraftForge). Please ensure you have a valid email address
associated with your github account to do this. If you have previously
signed it, you should be OK.
-36
View File
@@ -1,36 +0,0 @@
*** HOW TO INSTALL ***
For Mod Users:
Download the latest installer from http://files.minecraftforge.net and follow instructions given by the installer.
For Mod Devs:
Download the latest Forge source distribution from http://files.minecraftforge.net and unzip it to a folder.
Open a command prompt, navigate to the directory where you unzipped the Forge sources, and run:
If you have Gradle: gradle setupDevWorkspace
If you DO NOT have Gradle installed:
Windows: ./gradlew.bat setupDevWorkspace
MacOS/Linux: ./gradlew setupDevWorkspace
If you wish to use the Eclipse IDE, run gradle eclipse instead of gradle setupDevWorkspace, or install the Gradle plugin for Eclipse and import the Forge source folder as a Gradle project.
To get the decompiled classes:
If you have Gradle: gradle setupDecompWorkspace
If you DO NOT have Gradle installed:
Windows: ./gradlew.bat setupDecompWorkspace
MacOS/Linux: ./gradlew setupDecompWorkspace
For Contributors: (Note: This assumes you have Gradle installed. If you don't, use ./gradlew(.bat) instead of gradle.
Clone this repository to a folder.
Open a command prompt and navigate to the folder where you cloned this repo.
Run gradle setupForge to setup your development environment.
To use Eclipse, point your Eclipse workspace at the eclipse folder inside the repo.
Requirements (for both mod devs and contributors):
You must have a JDK installed and accessible.
If you do not wish to use the gradle wrapper, you can install Gradle from http://www.gradle.org/ .
+146
View File
@@ -0,0 +1,146 @@
Getting Support Surrounding Forge
=================================
**If you do not want to read the following wall of text, no matter its relevance for helping get your issue resolved quickly, please refer to the [Forge Forums](http://www.minecraftforge.net/forum/forum/18-support-bug-reports/) for support.**
Before reporting an issue on this repository's bug tracker, please carefully read this document. There are various resources that are more likely to be able to help you with certain kinds of issues. This document provides instructions on how to determine which place best to report to.
*Note: While this guide generally is more geared towards end-user problems, modders should also read it before reporting any issue with Forge in order to ensure it actually is one. This does of course not cover feature suggestions.*
### Contents
1. [Identifying the Source of a Problem](#identifying-the-source-of-a-problem)
1. [Analyzing a Stacktrace](#analyzing-a-stacktrace)
2. [Isolating an Issue](#isolating-an-issue)
2. [Choosing the Correct Support Channel](#choosing-the-correct-support-channel)
1. [Forge Support](#forge-support)
2. [Mod Support](#mod-support)
3. [Vanilla Support](#vanilla-support)
3. [Writing a Helpful Bug Report](#writing-a-helpful-bug-report)
1. [Preventing Duplicates and Unnecessary Reports](#preventing-duplicates-and-unnecessary-reports)
2. [Required Information](#required-information)
3. [Markdown Issue Template](#markdown-issue-template)
4. [Waiting for an Issue to Be Resolved](#waiting-for-an-issue-to-be-resolved)
Identifying the Source of a Problem
-----------------------------------
You're most likely to get fast and valuable responses to your issues if you report them in the correct place. For this, you need to find the root cause of the problem.
The most important source for this information are the log files Forge creates for every run of the game. You can find them in the `logs` subdirectory of your Minecraft game directory. The most important log file is `latest.log` which contains all of Forge's and any mod's output for `info` of above. `debug.log` contains all the logs in `latest.log` plus the `debug` logs for more detailed debugging.
If you're faced by a crash, consult these logs files first. Near the end of the log should be a section labelled 'Minecraft Crash Report', and after it, one about `a detailed walkthrough of the error, ...`. In these sections, you'll see a bunch of lines that look like
```
at some.words.related.to.a.mod.MoreWords(MoreWords.java:number)
```
These lines are the most important part of a crash log, called the stacktrace, because they pinpoint the place in the code where something went irrecoverably wrong. Mod authors usually name their code so that these lines describe what the game was doing when it crashed. The further down one of these lines is, the earlier that piece of code ran, so at the bottom you'll see the place where Minecraft started, and at the top is where it stopped. You should use this information to figure out who to report the bug to.
### Analyzing a Stacktrace
You can generally tell pretty quickly what caused the error at the head of your stacktrace, simply follow these rules:
1. If you can find the name of a mod in the trace, that mod most likely is the culprit.
- Be aware that you may find multiple mods as participants of a crash. In that case, you can either report to both or try to reason (using the names in the stacktrace) about which mod is at fault.
2. If you can only find Forge (usually starting with `net.minecraftforge`) alongside Vanilla (usually starting with `net.minecraft`) references, chances are that you have found a bug in Forge. In this case, use one of the various [support channels](#forge-support) listed below.
- The occurence of a single call to Forge somewhere in the stacktrace *does not* warrant a report to Forge if there are mods present in the crash report.
3. If there's no mention of Forge or a mod, but any Vanilla class, you might have found a Vanilla bug. You should probably still report it via the Forge channels first, however, due the nature of modded environments and the rarity of Vanilla crash bugs.
4. Always check whether there's a mention of coremods at the beginning of a crash report. If there is and you can't find any clear culprit, consider reporting to these coremods first, since they are free to change any of the code executed in your environment.
The rules are numbered in decreasing priority, which means that you should always prefer finding a mod in a crash report over directly jumping to conclusions about Forge or even Vanilla.
### Isolating an Issue
A significant step of reporting an issue, after having found the involved parties, is reliably reproducing it to identify potential incompatibilities or weird interactions between mods. If you're unable to pinpoint a bug to a set of mods and just randomly report it to any mod, chances are it won't get much attention and hence not a fix.
Reliable methods of isolating the issue are listed below:
- **Retrace your last steps before the crash/bug occurred.** It might sound too simple, but a big part of reliably reproducing an issue is determining the steps required to trigger it. If you can't exactly remember what you last did, looking at the stacktrace again can also help you a bit, since there are often descriptive names in there which reflect an action you could take, such as using an item or placing a block.
- **Reduce the number of mod interactions.** You can achieve this in multiple ways. One of them is simply disabling any compatibility layers between involved mods via configuration files. The other one, which takes a little more effort, is actually removing mods from your instance. But don't be afraid, you won't have to remove mods one-by-one if you follow these steps (known as a binary search):
1. Move half the mods out of your instance (obviously keep those definitely participating in the issue).
2. If the issue persists after another try of reproducing it, repeat from step 1 one by halving the mod list again.
3. If the issue does not occur anymore without the other half, repeat from step 1 but instead discard the half you just used and split the other one (plus any definitely required mods).
4. Repeat these steps until you can't remove any more mods from your instance without also 'solving' the issue. This set of mods can serve as a basis for your issue report.
Choosing the Correct Support Channel
-------------------------------------
The place you need to report issues to varies depending on the source of the problem. Below you can find a list of support channels you can usually consult for each of the sources listed in the previous section.
Please note that this list has to be considered incomplete as there is a large number of sub-communities within the Minecraft modding world. You should always prefer channels you know and have access to over any of those listed below which would require extra effort on your part.
### Forge Support
If you're certain you've found an issue that is directly caused by Forge, you have the following three platforms available for dealing with it, with decreasing relevance for end-users:
1. **Forge Forums:** There's a dedicated [Support & Bug Report](http://www.minecraftforge.net/forum/forum/18-support-bug-reports/) section on the Forge forums, which is led by team of moderators and volunteers who will try to deal with your reports as quickly as possible. *As a player you should probably report here first.*
- For modders, there also is a separate [Modder Support](http://www.minecraftforge.net/forum/forum/70-modder-support/) section where you can ask all your development-related questions. *You should prefer this section for coding help.*
2. **Forge IRC Channel:** You can find a lot of help on the official [`#minecraftforge`](irc://irc.esper.net:6667/minecraftforge) channel on EsperNet. Especially smaller issues that you quickly need help with could be reported there. *Be aware that the channel is more suited towards development questions, so while you may get support there as a player, you should almost always prefer the forums.*
3. **Forge Issue Tracker:** If you're absolutely certain that you've found an issue in the Forge codebase (e.g. you're a modder yourself and have analyzed the stacktrace and relevant code), don't refrain from reporting it on this repository's [issue tracker](https://github.com/MinecraftForge/MinecraftForge/issues). *Please do not use the issues as a means of getting coding help. For developers, the IRC and the [official documentation](https://mcforge.readthedocs.io) are the best sources of information.*
### Mod Support
A lot of mods also use GitHub or other source management systems and their integrated issue trackers. The following options will give you the best chances of reporting your issue in the right place:
- **CurseForge:** Many mods are hosted on the [CurseForge platform](https://minecraft.curseforge.com) nowadays. Chances are you already downloaded them from there or as a part of a modpack hosted there. Projects may specify an issue reporting link on their own page, so simply look for it on the mod's project page and you should be directed to the preferred means of error reporting.
- **Searching for a repository directly:** You may need to try and find a repository directly on source control sites. The most common ones are [GitHub](https://github.com) and [BitBucket](https://bitbucket.org). Both come with search capabilities, so simply try to search for the mod's name.
### Vanilla Support
Just like Forge or mods, Mojang has its own issue tracker for Vanilla Minecraft. This official [bug tracker](https://bugs.mojang.com/projects/MC/issues/) has the exclusive purpose of managing any concrete issues with the game's code and functionality. It is *not* a place for requesting any features or getting help with playing the game, similar to the Forge issue tracker.
Writing a Helpful Bug Report
----------------------------
Now that you've identified the source of your issue and decided on the correct support channel, it's time to actually write your report. Before you actually try to blindly create it, however, you should first check if the problem was noticed or even fixed already.
### Preventing Duplicates and Unnecessary Reports
Use the target issue tracker's search functionality to look for issues which have descriptions similar to yours, but make sure to also search for already closed issues. If you can find one, verify it is in fact the same (or a very similar issue) and simply comment on it if you have anything else to contribute to the discussion, such as other steps to reproduce it. *Do not create duplicates of an existing issue, since it only puts extra effort on maintainers to recognize and close/mark them.*
Additionally, always check the *latest* changelogs of Forge and participating mods to find out if the bug was already noticed and fixed by the developer. Often the maintainer may only support newer versions of the game, so also check the changelogs for versions of Minecraft you don't actually actively play. If the issue was adressed already, *do not report it*, even if the fix only exists for a newer version of the game, since the developer probably had a good reason to do so. If your issue only exists with versions of a mod that are for very old versions of the game, also refrain from reporting them, considering most modders only support the two latest versions of Minecraft, if at all.
### Required Information
If you're certain that your issue went unnoticed up until now, you can get to actually writing up the report. Below you can find a list of the *required* information any bug report should contain:
- **Minecraft Version:** Although many developers can deduce the Minecraft version in use from the mod's version, it is still an important piece of information to include, since it helps maintainers more easily decide whether to look into your issue at all or whether to close it right away due to being for an outdated version.
- **Forge Version:** The Forge API is in constant flux and while breaking changes are limited to major Minecraft updates, new bugs or regressions might creep in during active development or newer versions than a mod was built with might change semantics slightly that manifest themselves for this mod.
- **Mod Version:** Just like the Forge and Minecraft version, this is crucial for quickly telling where an issue might come from. *If you're reporting an issue caused by Forge that only occurs with a certain mod installed, include this mod here. No mod version is required if it's a pure Forge bug.*
- **Complete List of Mods:** In order to reliably analyze a bug, developers need the exact same context as you do when trying to find its cause. Hence, you should always include a *full list of mods with their corresponding version* in your report. Note that you should probably only include the ones you found by [isolating the issue](#isolating-an-issue).
- **Steps to Reproduce:** You should always include a list of steps required to provoke an issue to occur. Without it, developers can only take rough guesses at what might cause the bug. Try to reduce the amount of steps to a bare minimum, to make reproducing the issue easier. If you require a sophisticated setup to get even close to the issue, you might want to consider including your save file in your report.
- **Full Log:** This is probably the most important part of your bug report. You *always* have to include the full log (`debug.log` from earlier), since it is the only way of telling what has caused an issue in code. *Do not* paste the full log as plain text in your report, but use [GitHub Gist](https://gist.github.com) instead and link to that from your report.
### Markdown Issue Template
GitHub and BitBucket allow you to use the Markdown format for writing your issues. Below you can find a simple template that you can copy and fill in with your data. `{variables}` are written in braces and are supposed to be replaced by you with the information the variable name indicates. Everything behind two slashes (`//`) has to be interpreted as a comment and should be removed. If you want to include any link, you have to write in the `[title](url)` form. For further information on Markdown, see [this cheatsheet](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet).
```markdown
**Minecraft Version:** {mc version}
**Forge Version:** {forge version}
**Mod Version:** {mod version} // Remove this line if you're reporting to Forge and no specific mod is involved
[**Full Log**]({link to gist/pastebin with full log})
**Mods in This Instance:**
| Name | Version |
| ------------------------ | ----------- |
| [{mod 1}]({download 1}) | {version 1} | // The download links are entirely optional
| {mod 2} | {version 2} |
| {mod 3} | {version 3} |
| ... | ... |
**Steps to Reproduce:**
1. Do this
2. Then do that
3. ...
```
*Note: The mod list here is formatted as table for easy reading (when displayed) and to look nice in text. Markdown does not care about any alignment of the spaces, so you can simply write individual rows of the table as* `| {mod name} | {version} |` *without having to care about the spacing.*
### Waiting for an Issue to Be Resolved
After you have written your bug report, it is time to *wait*. Please be *patient* after submitting your issue, since it probably isn't the only one. If there's no response after 5 minutes or even a day of writing it, *do not* try to bump the issue by commenting on it, people *will* read it in due time. The only excuse for bumping a report is if it is a *critical* bug that prevents you from playing the game.
Every project has a different way of dealing with issues, so don't wonder if there's no comment on it, but somebody "labels" it with certain markers. This helps developers to more easily keep track of bugs and priorities. When any further input from you is required, you will be asked specifically. Do not bug anyone through other channels about resolving your issue.
Once your issue is closed, you will know whether it was valid or turned out to be irreproducible. If you included all of the data from above in your report, chances are that the latter won't be the case.
+854 -101
View File
@@ -1,127 +1,880 @@
buildscript {
repositories {
mavenCentral()
mavenLocal()
maven {
name = "forge"
url = "http://files.minecraftforge.net/maven"
}
maven {
name = "sonatype"
url = "https://oss.sonatype.org/content/repositories/snapshots/"
}
maven { url = 'http://files.minecraftforge.net/maven' }
jcenter()
mavenCentral()
}
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT'
classpath 'net.minecraftforge.gradle:ForgeGradle:3.+'
}
}
import groovy.json.JsonSlurper
import groovy.json.JsonBuilder
import java.text.SimpleDateFormat
import java.util.Date
import java.util.LinkedHashMap
import java.security.MessageDigest
import java.net.URL
import net.minecraftforge.gradle.common.task.ArchiveChecksum
import net.minecraftforge.gradle.common.task.DownloadMavenArtifact
import net.minecraftforge.gradle.common.task.SignJar
import net.minecraftforge.gradle.patcher.task.ApplyBinPatches
import org.apache.tools.ant.filters.ReplaceTokens
import de.undercouch.gradle.tasks.download.Download
plugins {
id 'net.minecrell.licenser' version '0.4'
id 'org.ajoberstar.grgit' version '2.3.0'
id 'de.undercouch.download' version '3.3.0'
}
apply plugin: 'eclipse'
project(':mcp') {
apply plugin: 'net.minecraftforge.gradle.forgedev.mcp'
mcp {
config = '1.13-2018.09.12.04.11.00'
pipeline = 'joined'
}
}
configurations {
deployJars
}
import static net.minecraftforge.gradle.dev.ForgeDevPlugin.*
apply plugin: 'maven'
apply plugin: 'forgedev'
repositories {
mavenLocal()
flatDir {
name "fileRepo"
dirs "repo"
}
}
minecraft {
version = '1.7.10'
mcpVersion = '9.05'
fmlDir = projectDir.getAbsolutePath() + "/fml";
mainClass = 'cpw.mods.fml.relauncher.ServerLaunchWrapper'
tweakClass = 'cpw.mods.fml.common.launcher.FMLTweaker'
installerVersion = "1.4"
}
group = 'net.minecraftforge'
version = getVersionFromJava(getProject(), 'src/main/java/net/minecraftforge/common/ForgeVersion.java')
jenkins {
job = 'minecraftforge'
}
// crowdin stuff
if (project.hasProperty("crowdinKey"))
tasks.getLocalizations.apiKey = project.crowdinKey
launch4j {
jreMinVersion = '1.6.0'
}
uploadArchives {
project(':clean') {
evaluationDependsOn(':mcp')
apply plugin: 'eclipse'
apply plugin: 'net.minecraftforge.gradle.forgedev.patcher'
repositories {
add getProject().repositories.mavenLocal()
mavenCentral()
}
repositories.mavenDeployer {
configuration = configurations.deployJars
patcher {
parent = project(':mcp')
patchedSrc = file('src/main/java')
mappings channel: 'snapshot', version: '20180921-1.13'
mcVersion = '1.13'
}
task runclient(type: JavaExec) {
doFirst {
mkdir 'runclient'
}
classpath sourceSets.main.runtimeClasspath
args = ['--accessToken', '0', '--version', '1.13']
main 'net.minecraft.client.main.Main'
workingDir 'runclient'
}
}
if (project.hasProperty("filesmaven")) {
logger.info('Publishing to files server')
repository(url: project.filesmaven.url) {
authentication(userName: project.filesmaven.username, privateKey: project.filesmaven.key)
project(':forge') {
evaluationDependsOn(':clean')
apply plugin: 'java-library'
apply plugin: 'maven-publish'
apply plugin: 'eclipse'
apply plugin: 'net.minecraftforge.gradle.forgedev.patcher'
apply plugin: 'net.minecrell.licenser'
apply plugin: 'de.undercouch.download'
compileJava.sourceCompatibility = compileJava.targetCompatibility = sourceCompatibility = targetCompatibility = '1.8' // Need this here so eclipse task generates correctly.
sourceSets {
main {
java {
srcDir "$rootDir/src/main/java"
}
} else {
logger.info('Publishing to repo folder')
repository(url: 'file://localhost/' + project.file('repo').getAbsolutePath())
resources {
srcDir "$rootDir/src/main/resources"
}
}
}
repositories {
mavenLocal()
mavenCentral()
}
ext {
MC_VERSION = '1.13'
SPEC_VERSION = '24.0' // This is overwritten by git tag, but here so dev time doesnt explode
// The new versioning sceme is <MCVersion>-<ForgeMC>.<RB>.<CommitsSinceRB>
// ForgeMC is a unique identifier for every MC version we have supported.
// Essentially, the same as the old, except dropping the first number, and the builds are no longer unique.
MCP_ARTIFACT = project(':mcp').mcp.config
MCP_VERSION = project(':mcp').mcp.config.version.split('-')[1] // The timestamp only.
if (project.hasProperty('keystore')) {
jarsigner = [
storepass: project.properties.keystoreStorePass,
keypass: project.properties.keystoreKeyPass,
keystore: project.properties.keystore
]
}
}
patcher {
parent = project(':clean')
patches = file("$rootDir/patches/minecraft")
patchedSrc = file('src/main/java')
accessTransformer = file("$rootDir/src/main/resources/forge_at.cfg")
exc = file("$rootDir/src/main/resources/forge.exc")
srgPatches = true
clientRun {
main = 'net.minecraftforge.fml.LaunchTesting'
environment = [
target: 'fmldevclient'
]
properties = [
target: 'fmldevclient',
assetDirectory: downloadAssets.output
]
}
serverRun {
main = 'net.minecraftforge.fml.LaunchTesting'
environment = [
target: 'fmldevserver'
]
}
}
def getVersion = {
//TAG-offset-hash
def raw = grgit.describe(longDescr: true)
def desc = (raw == null ? '0.0-0-unknown' : grgit.describe(longDescr: true)).split('-') as List
def hash = desc.remove(desc.size() - 1)
def offset = desc.remove(desc.size() - 1)
def tag = desc.join('-')
def branch = grgit.branch.current().name
if (branch in ['master', 'HEAD', MC_VERSION, MC_VERSION + '.0'])
branch = null
if (branch != null && branch.endsWith('.x') && MC_VERSION.startsWith(branch.substring(0, branch.length() - 2))) //1.13.x
branch = null
SPEC_VERSION = tag
return "${tag}.${offset}${t -> if (branch != null) t << '-' + branch}"
}
group = 'net.minecraftforge.test' //TODO: remove when we jenkins is working
version = getVersion()
applyPatches {
canonicalizeAccess true
canonicalizeWhitespace true
maxFuzz 3
}
configurations {
installer {
transitive = false //Don't pull all libraries, if we're missing something, add it to the installer list so the installer knows to download it.
}
api.extendsFrom(installer)
}
dependencies {
api 'net.minecraft:client:1.13:extra'
installer 'com.paulscode:soundsystem:2018+'
installer 'org.ow2.asm:asm:6.2'
installer 'org.ow2.asm:asm-commons:6.2'
installer 'org.ow2.asm:asm-tree:6.2'
installer 'cpw.mods:modlauncher:0.1.0'
installer 'net.minecraftforge:accesstransformers:0.10+:shadowed'
installer 'net.minecraftforge:eventbus:0.1+:service'
installer 'net.minecraftforge:forgespi:0.1+'
installer 'net.minecraftforge:coremods:0.1+'
installer 'com.electronwill.night-config:core:3.4.0'
installer 'com.electronwill.night-config:toml:3.4.0'
installer 'org.jline:jline:3.5.1'
installer 'org.apache.maven:maven-artifact:3.5.3'
installer 'net.jodah:typetools:0.5.0'
installer 'java3d:vecmath:1.5.2'
installer 'org.apache.logging.log4j:log4j-api:2.11.1'
installer 'org.apache.logging.log4j:log4j-core:2.11.1'
}
task runclient(type: JavaExec, dependsOn: [":forge:downloadAssets", ":forge:extractNatives"]) {
doFirst {
mkdir 'runclient'
}
doFirst {
copy {
from sourceSets.main.resources
into "$buildDir/classes/java/main"
}
}
//jvmArgs = ['-verbose:class']
classpath sourceSets.main.runtimeClasspath
main 'net.minecraftforge.fml.LaunchTesting'
systemProperties = [
"org.lwjgl.util.Debug": "true",
"org.lwjgl.util.DebugLoader": "true",
"mc.version": "${MC_VERSION}",
"mcp.version": "${MCP_VERSION}",
"forge.version": "${project.version.substring(MC_VERSION.length() + 1)}",
"forge.spec":"${SPEC_VERSION}"
]
environment += [
target:'fmldevclient',
assetDirectory: file("${gradle.getGradleUserHomeDir()}/caches/forge_gradle/assets/"),
nativesDirectory: extractNatives.output
]
workingDir 'runclient'
}
task runserver(type: JavaExec) {
doFirst {
mkdir 'runserver'
}
doFirst {
copy {
from sourceSets.main.resources
into "$buildDir/classes/java/main"
}
}
classpath sourceSets.main.runtimeClasspath
main 'net.minecraftforge.fml.LaunchTesting'
args 'nogui'
systemProperties = [
"mc.version": "${MC_VERSION}",
"mcp.version": "${MCP_VERSION}",
"forge.version": "${project.version.substring(MC_VERSION.length() + 1)}",
"forge.spec":"${SPEC_VERSION}"
]
environment target:'fmldevserver'
workingDir 'runserver'
standardInput = System.in
}
def extraTxts = [
rootProject.file('CREDITS.txt'),
rootProject.file('LICENSE.txt')
]
/* TODO: Changelog
if (project.hasProperty('forgeJenkinsPass'))
extraTxts += changelog
*/
task downloadCrowdin() {
ext {
output = file('build/crowdin_raw.zip')
update = file('build/crowdin.json')
id = 'minecraft-forge'
}
onlyIf {
project.hasProperty('crowdinKey') && !project.gradle.startParameter.isOffline()
}
doLast {
download {
src "https://api.crowdin.com/api/project/${id}/export?key=${project.crowdinKey}&json"
dest update
overwrite true
}
if (!update.text.contains('success')) {
throw new RuntimeException("Crowdin export failed, see ${update} for more info")
}
download {
src "https://api.crowdin.com/api/project/${id}/download/all.zip?key=${project.crowdinKey}"
dest output
overwrite true
}
}
}
task crowdin(type: Zip) {
dependsOn downloadCrowdin
onlyIf {
!downloadCrowdin.state.skipped
}
baseName = project.name
version = project.version
classifier = 'crowdin'
destinationDir = file('build/distributions')
from(zipTree(downloadCrowdin.output)){
eachFile { //Tired of waiting for crowdin API, rename things myself. Remove once crowdin stops being dumb
if (it.name.equals('en_us.json') && !it.path.startsWith('assets/')) {
it.name = it.path.split('/')[0] + '.json'
it.path = 'assets/forge/lang/' + it.name
}
}
exclude { it.isDirectory() }
rename { it.toLowerCase() }//Minecraft needs it lowercase.
exclude '**/*.lang' //Pre-1.13 format
}
}
// We apply the bin patches we just created to make a jar that is JUST our changes
task applyClientBinPatches(type: ApplyBinPatches, dependsOn: genClientBinPatches) {
clean = { genClientBinPatches.cleanJar }
input = genClientBinPatches.output
}
task applyServerBinPatches(type: ApplyBinPatches, dependsOn: genServerBinPatches) {
clean = { genServerBinPatches.cleanJar }
input = genServerBinPatches.output
}
task applyJoinedBinPatches(type: ApplyBinPatches, dependsOn: genJoinedBinPatches) {
clean = { genJoinedBinPatches.cleanJar }
input = genJoinedBinPatches.output
}
// Checksum tasks so that we can know if the vanilla classes are what we expect them to do!
task clientBaseChecksum(type: ArchiveChecksum, dependsOn: genClientBinPatches) {
input = { genClientBinPatches.cleanJar} //Lazy because Patcher Plugin sets the value afterEvaluate
name = 'client'
}
task serverBaseChecksum(type: ArchiveChecksum, dependsOn: genServerBinPatches) {
input = { genServerBinPatches.cleanJar }
name = 'server'
}
task joinedBaseChecksum(type: ArchiveChecksum, dependsOn: genJoinedBinPatches) {
input = { genJoinedBinPatches.cleanJar }
name = 'joined'
}
task clientPatchedChecksum(type: ArchiveChecksum, dependsOn: applyClientBinPatches) {
input = applyClientBinPatches.output
name = 'client_patched'
}
task serverPatchedChecksum(type: ArchiveChecksum, dependsOn: applyServerBinPatches) {
input = applyServerBinPatches.output
name = 'server_patched'
}
task joinedPatchedChecksum(type: ArchiveChecksum, dependsOn: applyJoinedBinPatches) {
input = applyJoinedBinPatches.output
name = 'joined_patched'
}
// Utility methods for testing checksums
task cleanChecksums() {
['client', 'server', 'joined'].each { side ->
['Base', 'Patched'].each { type ->
def clean = "clean${side.capitalize()}${type}Checksum"
dependsOn(clean)
tasks.findByName("${side}${type}Checksum").mustRunAfter(clean)
}
}
}
task checksums() {
['client', 'server', 'joined'].each { side ->
['Base', 'Patched'].each { type ->
dependsOn("${side}${type}Checksum")
}
}
}
task launcherJson(dependsOn: 'signUniversal') {
inputs.file universalJar.archivePath
ext {
output = file('build/libs/version.json')
vanilla = project(':mcp').file('build/mcp/downloadJson/version.json')
timestamp = dateToIso8601(new Date())
comment = [
"Please do not automate the download and installation of Forge.",
"Our efforts are supported by ads from the download page.",
"If you MUST automate this, please consider supporting the project through https://www.patreon.com/LexManos/"
]
def idx = project.version.indexOf('-')
id = project.version.substring(0, idx) + "-${project.name}" + project.version.substring(idx)
}
inputs.file vanilla
outputs.file output
doLast {
def json_vanilla = new JsonSlurper().parseText(vanilla.text)
def json = [
_comment_: comment,
id: id,
time: timestamp,
releaseTime: timestamp,
type: 'release',
mainClass: 'cpw.mods.modlauncher.Launcher',
inheritsFrom: MC_VERSION,
logging: [ client: [
argument: '-Dlog4j.configurationFile=${path}',
file: [
id:'client-1.12.xml',
sha1:'ef4f57b922df243d0cef096efe808c72db042149',
size:877,
url:'https://launcher.mojang.com/v1/objects/ef4f57b922df243d0cef096efe808c72db042149/client-1.12.xml'
],
type: 'log4j2-xml'
]],
arguments: [
game: ['--launchTarget', 'fmlclient']
],
libraries: [
[
name: "${project.group}:${project.name}:${project.version}",
downloads: [
artifact: [
path: "${project.group.replace('.', '/')}/${project.name}/${project.version}/${project.name}-${project.version}.jar",
url: "", //Do not include the URL so that the installer/launcher won't grab it. This is also why we don't have the universal classifier
sha1: sha1(universalJar.archivePath),
size: universalJar.archivePath.length()
]
]
]
]
]
def artifacts = getArtifacts(project, project.configurations.installer, false)
artifacts.each { key, lib ->
json.libraries.add(lib)
}
output.text = new JsonBuilder(json).toPrettyString()
}
}
task installerJson(dependsOn: [launcherJson, genClientBinPatches, applyClientBinPatches, applyServerBinPatches]) {
ext {
output = file('build/libs/install_profile.json')
INSTALLER_TOOLS = 'net.minecraftforge:installertools:1.0.3'
JAR_SPLITTER = 'net.minecraftforge:jarsplitter:1.0.4'
}
doFirst {
ext.BIN_PATCHER = 'net.minecraftforge:binarypatcher:' + genClientBinPatches.resolvedVersion
}
inputs.file applyClientBinPatches.output
inputs.file applyServerBinPatches.output
inputs.file genClientBinPatches.toolJar
inputs.file launcherJson.output
outputs.file output
doLast {
def libs = [:]
def json = [
_comment_: launcherJson.comment,
profile: project.name,
version: launcherJson.id,
json: '/version.json',
path: "${project.group}:${project.name}:${project.version}",
logo: '/big_logo.png',
minecraft: MC_VERSION,
welcome: "Welcome to the simple ${project.name.capitalize()} installer.",
data: [
MAPPINGS: [
client: "[${MCP_ARTIFACT.group}:${MCP_ARTIFACT.name}:${MCP_ARTIFACT.version}:mappings@txt]",
server: "[${MCP_ARTIFACT.group}:${MCP_ARTIFACT.name}:${MCP_ARTIFACT.version}:mappings@txt]"
],
BINPATCH: [
client: '/data/client.lzma',
server: '/data/server.lzma'
],
MC_SLIM: [
client: "[net.minecraft:client:${MC_VERSION}:slim]",
server: "[net.minecraft:server:${MC_VERSION}:slim]"
],
MC_SLIM_SHA: [
client: "'${sha1(tasks.getByName('downloadClientSlim').output)}'",
server: "'${sha1(tasks.getByName('downloadServerSlim').output)}'"
],
MC_DATA: [
client: "[net.minecraft:client:${MC_VERSION}:data]",
server: "[net.minecraft:server:${MC_VERSION}:data]"
],
MC_DATA_SHA: [
client: "'${sha1(tasks.getByName('downloadClientData').output)}'",
server: "'${sha1(tasks.getByName('downloadServerData').output)}'"
],
MC_EXTRA: [
client: "[net.minecraft:client:${MC_VERSION}:extra]",
server: "[net.minecraft:server:${MC_VERSION}:extra]"
],
MC_EXTRA_SHA: [
client: "'${sha1(tasks.getByName('downloadClientExtra').output)}'",
server: "'${sha1(tasks.getByName('downloadServerExtra').output)}'"
],
MC_SRG: [
client: "[net.minecraft:client:${MC_VERSION}-${MCP_VERSION}:srg]",
server: "[net.minecraft:server:${MC_VERSION}-${MCP_VERSION}:srg]"
],
PATCHED: [
client: "[${project.group}:${project.name}:${project.version}:client]",
server: "[${project.group}:${project.name}:${project.version}:server]"
],
PATCHED_SHA: [
client: "'${sha1(applyClientBinPatches.output)}'",
server: "'${sha1(applyServerBinPatches.output)}'"
]
],
processors: [
[
jar: INSTALLER_TOOLS,
classpath: getClasspath(project, libs, INSTALLER_TOOLS),
args: [
'--task', 'MCP_DATA',
'--input', "[${MCP_ARTIFACT.descriptor}]",
'--output', '{MAPPINGS}',
'--key', 'mappings'
]
], [
jar: JAR_SPLITTER,
classpath: getClasspath(project, libs, JAR_SPLITTER),
args: [
'--input', '{MINECRAFT_JAR}',
'--slim', '{MC_SLIM}',
'--data', '{MC_DATA}',
'--extra', '{MC_EXTRA}',
'--srg', '{MAPPINGS}'
],
outputs: [
'{MC_SLIM}': '{MC_SLIM_SHA}',
'{MC_DATA}': '{MC_DATA_SHA}',
'{MC_EXTRA}': '{MC_EXTRA_SHA}'
]
], [ // SpecialSource has a bug where it won't create the nessasary directories, remove when they fix that.
jar: INSTALLER_TOOLS,
classpath: getClasspath(project, libs, INSTALLER_TOOLS),
args: [
'--task', 'CREATE_PARENTS',
'--target', '{MC_SRG}'
]
], [
jar: 'net.md-5:SpecialSource:1.8.3',
classpath: getClasspath(project, libs, 'net.md-5:SpecialSource:1.8.3'),
args: [
'--in-jar', '{MC_SLIM}',
'--out-jar', '{MC_SRG}',
'--srg-in', '{MAPPINGS}'
]
], [
jar: BIN_PATCHER,
classpath: getClasspath(project, libs, BIN_PATCHER),
args: [
'--clean', '{MC_SRG}',
'--output', '{PATCHED}',
'--apply', '{BINPATCH}'
],
outputs: [
'{PATCHED}': '{PATCHED_SHA}'
]
]
]
]
getClasspath(project, libs, MCP_ARTIFACT.descriptor) //Tell it to download mcp_config
json.libraries = libs.values().sort{a,b -> a.name.compareTo(b.name)}
output.text = new JsonBuilder(json).toPrettyString()
}
}
['client', 'server'].each { side ->
['slim', 'extra', 'data'].each { type ->
def name = "download${side.capitalize()}${type.capitalize()}"
task "${name}"(type: DownloadMavenArtifact) {
artifact = "net.minecraft:${side}:${MC_VERSION}:${type}"
}
installerJson.dependsOn(name)
installerJson.inputs.file(tasks.getByName(name).output)
}
}
universalJar {
from extraTxts
/* TODO: Annotation Cache? need to talk to cpw about his new design.
from(fixAnnotationsJson){
into 'META-INF'
}
dependsOn fixAnnotationsJson
*/
// Add checksum files of clean and patched vanilla classes.
['client', 'server'].each { side ->
['Base', 'Patched'].each { type ->
from(tasks.getByName("${side}${type}Checksum").output) {
into 'checksums/'
}
}
}
dependsOn checksums
// add crowdin locales
from { !crowdin.state.skipped ? zipTree(crowdin.archivePath) : null}
dependsOn crowdin
doFirst {
def classpath = new StringBuilder()
def artifacts = getArtifacts(project, project.configurations.installer, false)
artifacts.each { key, lib ->
classpath += "libraries/${lib.downloads.artifact.path} "
}
classpath += "libraries/net/minecraft/server/${MC_VERSION}/server-${MC_VERSION}-data.jar "
classpath += "libraries/net/minecraft/server/${MC_VERSION}/server-${MC_VERSION}-extra.jar"
manifest.attributes([
'Main-Class': 'net.minecraftforge.server.ServerMain',
'Timestamp': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"),
'GitCommit': grgit.head().getAbbreviatedId(8),
'Git-Branch': grgit.branch.current().getName(),
'Class-Path': classpath.toString()
] as LinkedHashMap)
manifest.attributes([
'Specification-Title': 'Forge',
'Specification-Vendor': 'Forge Development LLC',
'Specification-Version': SPEC_VERSION,
'Implementation-Title': 'Forge',
'Implementation-Version': project.version.substring(MC_VERSION.length() + 1),
'Implementation-Vendor': 'Forge Development LLC'
] as LinkedHashMap, 'net/minecraftforge/versions/forge/')
manifest.attributes([
'Specification-Title': 'Minecraft',
'Specification-Vendor': 'Mojang',
'Specification-Version': MC_VERSION,
'Implementation-Title': 'MCP',
'Implementation-Version': MCP_VERSION,
'Implementation-Vendor': 'Forge'
] as LinkedHashMap, 'net/minecraftforge/versions/mcp/')
}
}
task signUniversal(type: SignJar, dependsOn: universalJar) {
onlyIf {
project.hasProperty('jarsigner') && universalJar.state.failure == null
}
pom {
groupId = project.group
version = project.version
artifactId = project.archivesBaseName
def jarsigner = [:];
if (project.hasProperty('jarsigner'))
jarsigner = project.jarsigner;
alias = 'forge'
storePass = jarsigner.storepass
keyPass = jarsigner.keypass
keyStore = jarsigner.keystore
inputFile = universalJar.archivePath
outputFile = universalJar.archivePath
doFirst {
project.logger.lifecycle('Signing: ' + inputFile)
}
}
universalJar.finalizedBy(signUniversal)
task downloadInstaller(type: DownloadMavenArtifact) {
artifact = 'net.minecraftforge:installer:2.0.+:shrunk'
changing = true
}
task installerJar(type: Zip, dependsOn: [downloadInstaller, signUniversal, installerJson, launcherJson, genClientBinPatches, genServerBinPatches]) {
classifier = 'installer'
extension = 'jar' //Needs to be Zip task to not override Manifest, so set extension
from(extraTxts)
from(rootProject.file('/src/main/resources/forge_logo.png')) {
rename{'big_logo.png'}
}
from(rootProject.file('/src/main/resources/url.png'))
from(genClientBinPatches.output) {
rename{'data/client.lzma'}
}
from(genServerBinPatches.output) {
rename{'data/server.lzma'}
}
from(universalJar) {
into "/maven/${project.group.replace('.', '/')}/${project.name}/${project.version}/"
rename { "${project.name}-${project.version}.jar" }
}
from(installerJson.output)
from(launcherJson.output)
from(zipTree(downloadInstaller.output)) {
duplicatesStrategy = 'exclude'
}
}
task signInstaller(type: SignJar, dependsOn: installerJar) {
onlyIf {
project.hasProperty('jarsigner') && installerJar.state.failure == null
}
pom.project {
name project.archivesBaseName
packaging 'jar'
description 'Minecraft Forge API'
url 'https://github.com/MinecraftForge/MinecraftForge'
scm {
url 'https://github.com/MinecraftForge/MinecraftForge'
connection 'scm:git:git://github.com/MinecraftForge/MinecraftForge.git'
developerConnection 'scm:git:[email protected]:MinecraftForge/MinecraftForge.git'
def jarsigner = [:];
if (project.hasProperty('jarsigner'))
jarsigner = project.jarsigner;
alias = 'forge'
storePass = jarsigner.storepass
keyPass = jarsigner.keypass
keyStore = jarsigner.keystore
inputFile = installerJar.archivePath
outputFile = installerJar.archivePath
doFirst {
project.logger.lifecycle('Signing: ' + inputFile)
}
}
installerJar.finalizedBy(signInstaller)
task makeMdk(type: Zip) {
baseName = project.name
classifier = 'mdk'
version = project.version
destinationDir = file('build/distributions')
from rootProject.file('gradlew')
from rootProject.file('gradlew.bat')
from extraTxts
from(rootProject.file('gradle/')){
into('gradle/')
}
from(rootProject.file('mdk/')){
/* filter(ReplaceTokens, tokens: [
VERSION: project.version
])
*/
rename 'gitignore\\.txt', '.gitignore'
}
}
userdevConfig {
def artifacts = getArtifacts(project, project.configurations.installer, true)
artifacts.each { key, lib ->
addLibrary(lib.name)
}
}
license {
header = file("$rootDir/LICENSE-header.txt")
include 'net/minecraftforge/'
exclude 'net/minecraftforge/server/terminalconsole/'
exclude 'net/minecraftforge/api/' // exclude API here because it's validated in the SPI build
exclude 'net/minecraftforge/fml/common/versioning/ComparableVersion.java'
exclude 'net/minecraftforge/fml/common/versioning/InvalidVersionSpecificationException.java'
exclude 'net/minecraftforge/fml/common/versioning/Restriction.java'
exclude 'net/minecraftforge/fml/common/versioning/VersionRange.java'
tasks {
main {
files = files("$rootDir/src/main/java")
}
issueManagement {
system 'github'
url 'https://github.com/MinecraftForge/MinecraftForge/issues'
test {
files = files("$rootDir/src/test/java")
}
}
}
licenses {
license {
name 'Forge Public License'
url 'https://raw.github.com/MinecraftForge/MinecraftForge/master/MinecraftForge-License.txt'
distribution 'repo'
publishing {
publications {
mavenJava(MavenPublication) {
artifact universalJar
//TODO: changelog
artifact installerJar
//TODO: installer-win
artifact makeMdk
artifact userdevJar
artifact sourcesJar
pom {
name = 'forge'
description = 'Modifactions to Minecraft to enable mod developers.'
url = 'https://github.com/MinecraftForge/MinecraftForge'
scm {
url = 'https://github.com/MinecraftForge/MinecraftForge'
connection = 'scm:git:git://github.com/MinecraftForge/MinecraftForge.git'
developerConnection = 'scm:git:[email protected]:MinecraftForge/MinecraftForge.git'
}
issueManagement {
system = 'github'
url = 'https://github.com/MinecraftForge/MinecraftForge/issues'
}
licenses {
license {
name = 'LGPL 2.1'
url = 'https://github.com/MinecraftForge/MinecraftForge/blob/1.13-pre/LICENSE.txt'
distribution = 'repo'
}
}
}
}
developers {
developer {
id 'cpw'
name 'cpw'
roles { role 'developer' }
}
developer {
id 'LexManos'
name 'Lex Manos'
roles { role 'developer' }
}
developer {
id 'AbrarSyed'
name 'Abrar Syed'
roles { role 'contributor' }
}
repositories {
maven {
if (project.hasProperty('forgeMavenPassword')) {
credentials {
username project.properties.forgeMavenUser
password project.properties.forgeMavenPassword
}
url 'http://files.minecraftforge.net/maven/manage/upload'
} else {
url 'file://' + rootProject.file('repo').getAbsolutePath()
}
}
}
}
}
def dateToIso8601(date) {
def format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ")
def result = format.format(date)
return result[0..21] + ':' + result[22..-1]
}
def sha1(file) {
MessageDigest md = MessageDigest.getInstance('SHA-1')
file.eachByte 4096, {bytes, size ->
md.update(bytes, 0, size)
}
return md.digest().collect {String.format "%02x", it}.join()
}
def artifactTree(project, artifact) {
if (!project.ext.has('tree_resolver'))
project.ext.tree_resolver = 1
def cfg = project.configurations.create('tree_resolver_' + project.ext.tree_resolver++)
def dep = project.dependencies.create(artifact)
cfg.dependencies.add(dep)
def files = cfg.resolve()
return getArtifacts(project, cfg, true)
}
def getArtifacts(project, config, classifiers) {
def ret = [:]
config.resolvedConfiguration.resolvedArtifacts.each {
def art = [
group: it.moduleVersion.id.group,
name: it.moduleVersion.id.name,
version: it.moduleVersion.id.version,
classifier: it.classifier,
extension: it.extension,
file: it.file
]
def key = art.group + ':' + art.name
def folder = "${art.group.replace('.', '/')}/${art.name}/${art.version}/"
def filename = "${art.name}-${art.version}"
if (art.classifier != null)
filename += "-${art.classifier}"
filename += ".${art.extension}"
def path = "${folder}${filename}"
def url = "https://libraries.minecraft.net/${path}"
if (!checkExists(url)) {
url = "https://files.minecraftforge.net/maven/${path}"
}
//TODO remove when Mojang launcher is updated
if (!classifiers && art.classifier != null) { //Mojang launcher doesn't currently support classifiers, so... move it to part of the version, and force the extension to 'jar'
art.version = "${art.version}-${art.classifier}"
art.classifier = null
art.extension = 'jar'
path = "${art.group.replace('.', '/')}/${art.name}/${art.version}/${art.name}-${art.version}.jar"
}
ret[key] = [
name: "${art.group}:${art.name}:${art.version}" + (art.classifier == null ? '' : ":${art.classifier}") + (art.extension == 'jar' ? '' : "@${art.extension}"),
downloads: [
artifact: [
path: path,
url: url,
sha1: sha1(art.file),
size: art.file.length()
]
]
]
}
return ret
}
def checkExists(url) {
def code = new URL(url).openConnection().with {
requestMethod = 'HEAD'
connect()
responseCode
}
return code == 200
}
def getClasspath(project, libs, artifact) {
def ret = []
artifactTree(project, artifact).each { key, lib ->
libs[lib.name] = lib
if (lib.name != artifact)
ret.add(lib.name)
}
return ret
}
//evaluationDependsOnChildren()
task setup() {
dependsOn ':clean:extractMapped'
dependsOn ':forge:extractMapped' //These must be strings so that we can do lazy resolution. Else we need evaluationDependsOnChildren above
}
Binary file not shown.
-14
View File
@@ -1,14 +0,0 @@
* text eol=lf
*.bat text eol=crlf
*.patch text eol=lf
*.java text eol=lf
*.gradle text eol=crlf
*.png binary
*.exe binary
*.dll binary
*.jar binary
*.lzma binary
*.zip binary
*.pyd binary
*.cfg text eol=lf
*.py text eol=lf
-21
View File
@@ -1,21 +0,0 @@
#eclipse
/bin
/.settings
/.classpath
#idea
/.idea
*.iml
#gradle
/build
/buildSrc
/.gradle
#occupational hazards
/eclipse/
/repo/
#Patch reject
*.rej
-28
View File
@@ -1,28 +0,0 @@
This is Forge Mod Loader.
You can find the source code at all times at https://github.com/MinecraftForge/FML
This minecraft mod is a clean open source implementation of a mod loader for minecraft servers
and minecraft clients.
The code is authored by cpw.
It began by partially implementing an API defined by the client side ModLoader, authored by Risugami.
http://www.minecraftforum.net/topic/75440-
This support has been dropped as of Minecraft release 1.7, as Risugami no longer maintains ModLoader.
It also contains suggestions and hints and generous helpings of code from LexManos, author of MinecraftForge.
http://www.minecraftforge.net/
Additionally, it contains an implementation of topological sort based on that
published at http://keithschwarz.com/interesting/code/?dir=topological-sort
It also contains code from the Maven project for performing versioned dependency
resolution. http://maven.apache.org/
It also contains a partial repackaging of the javaxdelta library from http://sourceforge.net/projects/javaxdelta/
with credit to it's authors.
Forge Mod Loader downloads components from the Minecraft Coder Pack
(http://mcp.ocean-labs.de/index.php/Main_Page) with kind permission from the MCP team.
-94
View File
@@ -1,94 +0,0 @@
This is Forge Mod Loader, or FML for short, by cpw.
More information can be found at https://github.com/MinecraftForge/FML/wiki
It is a clean reimplementation of a mod loading system for client and server.
It can be installed on its own, or as part of Minecraft Forge.
----------------------
About Forge Mod Loader
----------------------
Environments and compatibility
==============================
FML covers two main environments: client and server. All environments share
the main mod loading code base, with additional varying hooks based on the
specific environment.
There are some very visible changes to the client when FML is installed.
There are some bukkit compatibility hooks available, consult MCPC+, now known as Cauldron
for more information.
Minecraft Forge in all cases bundles FML as it's modloading technology of choice
because FML is open source, freely distributable, and can be easily updated by
contributors through github.
Notable integrations
====================
Optifine has FML compatibility. It varies from Optifine release to release, however
in general it will work well alongside an FML or
Minecraft Forge installation. FML will detect and ensure the good operation of
Optifine (you can see it in your client as an additional data line on the
bottom left).
Mod information
===============
FML exposes the mod information through a mod list visible on the main screen as
well as some small branding enhancements. For full data mods need to provide an
information file. This file is a standard format so hopefully tools providing
launch capabilities can also leverage this content.
-------------------------------
Binary installation information
-------------------------------
If you have downloaded a binary zip file you can install it as follows (client
or server):
Installation
============
To install on a server, simply execute the FML or Forge jar file, with a copy of
minecraft_server-@[email protected] placed in the same directory. FML will launch
it's patched copy.
To install on a client, run the installer by executing java -jar <installer>.jar.
It will identify the location of you minecraft installation (this can be customized)
and create a new profile "FML" there.
Forge Installation
==================
This code also ships as a part of Minecraft Forge. You do not need to install it
separately from your Minecraft Forge installation. Minecraft Forge contains the
exact same code as this. You should not install FML if you are also installing
Minecraft Forge.
-------------------------------------------
Source installation information for modders
-------------------------------------------
This code follows the Minecraft Forge installation methodology. It will apply
some small patches to the vanilla MCP source code, giving you and it access
to some of the data and functions you need to build a successful mod.
Note also that the patches are built against "unrenamed" MCP source code (aka
srgnames) - this means that you will not be able to read them directly against
normal code.
Source pack installation information:
Standalone source installation
==============================
To install this source code for development purposes, extract this zip file.
It ships with a demonstration mod. Run "gradle setupDevWorkspace" to create
a gradle environment primed with FML. Run gradle eclipse or gradle idea to
create an IDE workspace of your choice.
Refer to ForgeGradle for more information about the gradle environment
Forge source installation
=========================
MinecraftForge ships with this code and installs it as part of the forge
installation process, no further action is required on your part.
For reference this is version @MAJOR@.@MINOR@.@REV@.@BUILD@ of FML
for Minecraft version @MCVERSION@.
-111
View File
@@ -1,111 +0,0 @@
buildscript {
repositories {
mavenCentral()
mavenLocal()
maven {
name = "forge"
url = "http://files.minecraftforge.net/maven"
}
maven {
name = "sonatype"
url = "https://oss.sonatype.org/content/repositories/snapshots/"
}
}
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT'
}
}
import static net.minecraftforge.gradle.dev.FmlDevPlugin.*
apply plugin: 'maven'
apply plugin: 'fmldev'
repositories {
flatDir {
name "fileRepo"
dirs "repo"
}
}
minecraft {
version = '1.7.10'
mcpVersion = '9.05'
fmlDir = projectDir.getAbsolutePath();
mainClass = 'cpw.mods.fml.relauncher.ServerLaunchWrapper'
tweakClass = 'cpw.mods.fml.common.launcher.FMLTweaker'
installerVersion = "1.4"
}
group = 'net.minecraftforge'
version = getVersionFromGit(getProject())
jenkins {
job = 'fml'
}
uploadArchives {
repositories {
if (project.hasProperty("filesmaven")) {
logger.info('Publishing to files server')
mavenDeployer {
configuration = configurations.deployJars
repository(url: project.filesmaven.url) {
authentication(userName: project.filesmaven.username, privateKey: project.filesmaven.key)
}
pom {
groupId = project.group
version = project.version
artifactId = project.archivesBaseName
project {
name project.archivesBaseName
packaging 'jar'
description 'ForgeModLoader'
url 'https://github.com/MinecraftForge/FML'
scm {
url 'https://github.com/MinecraftForge/FML'
connection 'scm:git:git://github.com/MinecraftForge/FML.git'
developerConnection 'scm:git:[email protected]:MinecraftForge/FML.git'
}
issueManagement {
system 'github'
url 'https://github.com/MinecraftForge/FML/issues'
}
licenses {
license {
name 'GNU Lesser Public License (LGPL), Version 2.1'
url 'http://www.gnu.org/licenses/lgpl-2.1.txt'
distribution 'repo'
}
}
developers {
developer {
id 'cpw'
name 'cpw'
roles { role 'developer' }
}
developer {
id 'LexManos'
name 'Lex Manos'
roles { role 'developer' }
}
}
}
}
}
} else {
logger.info('Publishing to repo folder')
mavenDeployer {
repository(url: 'file://localhost/' + project.file('repo').getAbsolutePath())
}
}
}
}
-19
View File
@@ -1,19 +0,0 @@
# Artistic Style format configuration
# see http://astyle.sourceforge.net/astyle.html
style=allman
add-brackets
break-closing-brackets
indent-switches
max-instatement-indent=40
pad-oper
pad-header
unpad-paren
break-blocks
delete-empty-lines
File diff suppressed because it is too large. Load diff
-4317
View File
File diff suppressed because it is too large. Load diff
-3543
View File
File diff suppressed because it is too large. Load diff
-22006
View File
File diff suppressed because it is too large. Load diff
-165
View File
@@ -1,165 +0,0 @@
[DEFAULT]
DirTemp = temp
DirSrc = src
DirLogs = logs
DirBin = bin
DirJars = jars
DirReobf = reobf
DirConf = conf
DirRuntime = runtime
DirLib = lib
DirTempSrc = temp/src
DirTempCls = temp/cls
DirTempBin = temp/bin
DirModSrc = modsrc
DirEclipse = eclipse
[CSV]
Classes = %(DirConf)s/classes.csv
Methods = %(DirConf)s/methods.csv
Fields = %(DirConf)s/fields.csv
Params = %(DirConf)s/params.csv
NewIds = %(DirConf)s/newids.csv
[SRGS]
ConfClient = %(DirConf)s/client.srg
ConfServer = %(DirConf)s/server.srg
Client = %(DirTemp)s/client_rg.srg
Server = %(DirTemp)s/server_rg.srg
DeobfClient = %(DirTemp)s/client_deobf.srg
DeobfServer = %(DirTemp)s/server_deobf.srg
ReobfClient = %(DirTemp)s/client_ro.srg
ReobfServer = %(DirTemp)s/server_ro.srg
ReobfClientSrg = %(DirTemp)s/client_ro_srg.srg
ReobfServerSrg = %(DirTemp)s/server_ro_srg.srg
[JAR]
DirNatives = %(DirJars)s/bin/natives
Client = %(DirJars)s/bin/minecraft.jar
Server = %(DirJars)s/minecraft_server.jar
LWJGL = %(DirJars)s/bin/jinput.jar,%(DirJars)s/bin/lwjgl.jar,%(DirJars)s/bin/lwjgl_util.jar
MD5Client = 595007b790548806f66762507203b896
MD5Server = a1de2db50b0d8bfac45be3e01e54bddf
[RETROGUARD]
Location = %(DirRuntime)s/bin/retroguard.jar
RetroConf = %(DirTemp)s/retroguard.cfg
RetroReobConf = %(DirTemp)s/retroguard_ro.cfg
ClientConf = %(DirTemp)s/client_rg.cfg
ServerConf = %(DirTemp)s/server_rg.cfg
ClientReobConf = %(DirTemp)s/client_ro.cfg
ServerReobConf = %(DirTemp)s/server_ro.cfg
ClientOut = %(DirTemp)s/minecraft_rg.jar
ServerOut = %(DirTemp)s/minecraft_server_rg.jar
ClientLog = %(DirLogs)s/client_rg.log
ServerLog = %(DirLogs)s/server_rg.log
ClientDeobLog = %(DirLogs)s/client_deob.log
ServerDeobLog = %(DirLogs)s/server_deob.log
NullPkg = net/minecraft/src
[EXCEPTOR]
XClientJson = %(DirConf)s/exceptor.json
XServerJson = %(DirConf)s/exceptor.json
XClientCfg = %(DirConf)s/joined.exc
XServerCfg = %(DirConf)s/joined.exc
XClientOut = %(DirTemp)s/minecraft_exc.jar
XServerOut = %(DirTemp)s/minecraft_server_exc.jar
XClientLog = %(DirLogs)s/client_exc.log
XServerLog = %(DirLogs)s/server_exc.log
[DECOMPILE]
ClsClientTemp = %(DirTempCls)s/minecraft
ClsServerTemp = %(DirTempCls)s/minecraft_server
SrcClientTemp = %(DirTempSrc)s/minecraft
SrcServerTemp = %(DirTempSrc)s/minecraft_server
FFSource = net
FFClientIn = %(DirTemp)s/minecraft_ff_in.jar
FFServerIn = %(DirTemp)s/minecraft_server_ff_in.jar
[OUTPUT]
BinClientTemp = %(DirTempBin)s/minecraft
BinServerTemp = %(DirTempBin)s/minecraft_server
SrcClient = %(DirSrc)s/minecraft
SrcServer = %(DirSrc)s/minecraft_server
TestClient = net/minecraft/client/main/Main
TestServer = net/minecraft/server/MinecraftServer
[PATCHES]
PatchClient = %(DirConf)s/patches/minecraft.patch
PatchServer = %(DirConf)s/patches/minecraft_server.patch
PatchTemp = %(DirTemp)s/temp.patch
FFPatchClient = %(DirConf)s/patches/minecraft_ff.patch
FFPatchServer = %(DirConf)s/patches/minecraft_server_ff.patch
PatchClient_osx = %(DirConf)s/patches/minecraft_osx.patch
PatchServer_osx = %(DirConf)s/patches/minecraft_server_osx.patch
[RECOMPILE]
BinClient = %(DirBin)s/minecraft
BinServer = %(DirBin)s/minecraft_server
LogClient = %(DirLogs)s/client_compile.log
LogServer = %(DirLogs)s/server_compile.log
ClassPathClient = %(DirLib)s/,%(DirLib)s/*,%(DirJars)s/bin/minecraft.jar,%(DirJars)s/bin/jinput.jar,%(DirJars)s/bin/lwjgl.jar,%(DirJars)s/bin/lwjgl_util.jar
ClassPathServer = %(DirLib)s/,%(DirLib)s/*,%(DirJars)s/minecraft_server.jar
ClientFixes = %(DirConf)s/patches
FixStart = Start
IgnorePkg = paulscode,com,isom,ibxm,de/matthiasmann/twl,org,javax,argo,gnu,io/netty
[REOBF]
MD5Client = %(DirTemp)s/client.md5
MD5Server = %(DirTemp)s/server.md5
MD5PreReobfClient = %(DirTemp)s/client_reobf.md5
MD5PreReobfServer = %(DirTemp)s/server_reobf.md5
RecompJarClient = %(DirTemp)s/client_recomp.jar
RecompJarServer = %(DirTemp)s/server_recomp.jar
ObfJarClient = %(DirTemp)s/client_reobf.jar
ObfJarServer = %(DirTemp)s/server_reobf.jar
ReobfDirClient = %(DirReobf)s/minecraft
ReobfDirServer = %(DirReobf)s/minecraft_server
ClientRoLog = %(DirLogs)s/client_ro.log
ServerRoLog = %(DirLogs)s/server_ro.log
ReobfClientLog = %(DirLogs)s/client_reob.log
ReobfServerLog = %(DirLogs)s/server_reob.log
[GETMODSOURCE]
OutSRCClient = %(DirModSrc)s/minecraft
OutSRCServer = %(DirModSrc)s/minecraft_server
[MCP]
LogFile = %(DirLogs)s/mcp.log
LogFileErr = %(DirLogs)s/mcperr.log
UpdateUrl = http://mcp.ocean-labs.de/files/mcprolling_{version}/
IgnoreUpdate = %(DirBin)s,%(DirLib)s,%(DirLogs)s,%(DirModSrc)s,%(DirReobf)s,%(DirSrc)s,%(DirTemp)s,%(DirEclipse)s/Client/bin,%(DirEclipse)s/Server/bin,%(DirJars)s/world,%(DirJars)s/saves,%(DirJars)s/resources
RGIndex = 154000
ParamIndex = 45000
[ASTYLE]
AstyleConfig = %(DirConf)s/astyle.cfg
[COMMANDS]
Wine = wine
Patcher_win = %(DirRuntime)s/bin/applydiff.exe
Patcher_linux = patch
Patcher_osx = patch
Jad_win = %(DirRuntime)s/bin/jad.exe
Jad_osx = %(DirRuntime)s/bin/jad-osx
AStyle_win = %(DirRuntime)s/bin/astyle.exe
AStyle_linux = astyle
AStyle_osx = %(DirRuntime)s/bin/astyle-osx
JadRetro = %(DirRuntime)s/bin/jadretro.jar
Fernflower = %(DirRuntime)s/bin/fernflower.jar
Exceptor = %(DirRuntime)s/bin/mcinjector.jar
SpecialSource = %(DirRuntime)s/bin/specialsource.jar
CmdPatch = %s -p1 -u -i {patchfile} -d {srcdir}
CmdJad = %s -b -d {outdir} -dead -o -r -s .java -stat -ff {classes}
CmdAStyle = %s --suffix=none --quiet --options={conffile} {classes}
CmdRG = %s -cp "{classpath}" RetroGuard -searge {conffile}
CmdRGReobf = %s -cp "{classpath}" RetroGuard -notch {conffile}
CmdSS = %s -cp "{classpath}" -jar %s -i {injar} -o {outjar} -m {mapfile} --kill-source
CmdSSReobf = %s -cp "{classpath}" -jar %s -i {injar} -o {outjar} -r -m {mapfile} -d {identifier} -e %s
CmdJadretro = %s -jar %s {targetdir}
CmdFernflower = %s -jar %s -din=1 -rbr=0 -dgs=1 -asc=1 -log=WARN {indir} {outdir}
CmdExceptor = %s -jar %s --jarIn {input} --jarOut {output} --mapIn {conf} --log {log} --jsonIn {json} --applyMarkers
CmdRecomp = %s -Xlint:-options -deprecation -g -source 1.6 -target 1.6 -classpath "{classpath}" -sourcepath {sourcepath} -d {outpath} {pkgs}
CmdRecompScala = %s -encoding UTF-8 -deprecation -target:jvm-1.6 -classpath "{classpath}" -sourcepath {sourcepath} -d {outpath} {pkgs}
CmdStartSrv = %s -Xincgc -Xms1024M -Xmx1024M -cp "{classpath}" net.minecraft.server.MinecraftServer
CmdStartClt = %s -Xincgc -Xms1024M -Xmx1024M -cp "{classpath}" -Djava.library.path={natives} Start
-4224
View File
File diff suppressed because it is too large. Load diff
-1
View File
@@ -1 +0,0 @@
param,name,side
1 param name side
-114
View File
@@ -1,114 +0,0 @@
import java.io.File;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.Field;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
import java.util.Arrays;
import joptsimple.ArgumentAcceptingOptionSpec;
import joptsimple.OptionParser;
import joptsimple.OptionSet;
import net.minecraft.client.Minecraft;
import net.minecraft.client.main.Main;
public class Start
{
public static void main(String[] args) throws Exception
{
int userIndex = -1;
int passIndex = -1;
int sessIndex = -1;
int versIndex = -1;
for( int x = 0; x < args.length; x++)
{
if (args[x].equals("--username")) userIndex = x + 1;
else if (args[x].equals("--password")) passIndex = x + 1;
else if (args[x].equals("--session")) sessIndex = x + 1;
else if (args[x].equals("--version")) versIndex = x + 1;
}
if (userIndex != 0-1 && passIndex != -1 && sessIndex == -1)
{
String[] session = getSession(args[userIndex], args[passIndex]);
if (session != null)
{
args[userIndex] = session[0];
args = concat(args, new String[]{"--session", session[1]});
}
}
//Kill the password if its there so it isn't printed to the console.
if (passIndex != -1)
{
args[passIndex-1] = "no_password_for_joo";
args[passIndex] = "no_password_for_joo";
}
if (versIndex == -1)
{
args = concat(args, new String[]{ "--version", "fml_mcp" });
}
Main.main(args);
}
private static String[] getSession(String username, String password) throws UnsupportedEncodingException
{
String parameters = "http://login.minecraft.net/?user=" + URLEncoder.encode(username, "UTF-8") +
"&password=" + URLEncoder.encode(password, "UTF-8") +
"&version=" + 13;
String result = openUrl(parameters);
if (result == null)
{
System.out.println("Can't connect to minecraft.net");
return null;
}
if (!result.contains(":"))
{
System.out.println("Login Failed: " + result);
return null;
}
String[] values = result.split(":");
return new String[]{ values[2].trim(), values[3].trim() };
}
private static String openUrl(String addr)
{
try
{
URL url = new URL(addr);
java.io.InputStream is;
is = url.openConnection().getInputStream();
java.io.BufferedReader reader = new java.io.BufferedReader(new java.io.InputStreamReader(is));
String buf = "";
String line = null;
while ((line = reader.readLine()) != null)
{
buf += "\n" + line;
}
reader.close();
return buf;
}
catch (IOException e)
{
e.printStackTrace();
}
return null;
}
private static <T> T[] concat(T[] first, T[] second)
{
T[] result = Arrays.copyOf(first, first.length + second.length);
System.arraycopy(second, 0, result, first.length, second.length);
return result;
}
}
@@ -1,22 +0,0 @@
diff -r -U 3 minecraft\net\minecraft\client\Minecraft.java minecraft_patched\net\minecraft\client\Minecraft.java
--- minecraft\net\minecraft\client\Minecraft.java
+++ minecraft_patched\net\minecraft\client\Minecraft.java
@@ -695,9 +695,7 @@
while(true) {
try {
- if(!this.field_71425_J) {
- break;
- }
+ while(this.field_71425_J) {
if(!this.field_71434_R || this.field_71433_S == null) {
try {
@@ -711,6 +709,7 @@
}
this.func_71377_b(this.field_71433_S);
+ }
} catch (MinecraftError var12) {
break;
} catch (ReportedException var13) {
@@ -1,12 +0,0 @@
diff -r -U 3 minecraft\net\minecraft\client\Minecraft.java minecraft_patched\net\minecraft\client\Minecraft.java
--- minecraft\net\minecraft\client\Minecraft.java
+++ minecraft_patched\net\minecraft\client\Minecraft.java
@@ -695,7 +695,7 @@
while(true) {
try {
- if(this.field_71425_J) {
+ while(this.field_71425_J) {
if(!this.field_71434_R || this.field_71433_S == null) {
try {
this.func_71411_J();
@@ -1,21 +0,0 @@
diff -r -U 3 minecraft\net\minecraft\client\gui\FontRenderer.java minecraft_patched\net\minecraft\client\gui\FontRenderer.java
--- minecraft\net\minecraft\client\gui\FontRenderer.java
+++ minecraft_patched\net\minecraft\client\gui\FontRenderer.java
@@ -581,8 +581,6 @@
case 10:
--var5;
break;
- case 32:
- var6 = var5;
case 167:
if(var5 < var3 - 1) {
++var5;
@@ -596,6 +594,8 @@
}
}
break;
+ case 32:
+ var6 = var5;
default:
var4 += this.func_78263_a(var8);
if(var7) {
@@ -1,11 +0,0 @@
diff -r -U 3 minecraft\net\minecraft\client\network\NetHandlerHandshakeMemory.java minecraft_patched\net\minecraft\client\network\NetHandlerHandshakeMemory.java
--- minecraft\net\minecraft\client\network\NetHandlerHandshakeMemory.java
+++ minecraft_patched\net\minecraft\client\network\NetHandlerHandshakeMemory.java
@@ -31,6 +31,7 @@
switch(NetHandlerHandshakeMemory.SwitchEnumConnectionState.field_151263_a[p_147232_2_.ordinal()]) {
case 1:
this.field_147384_b.func_150719_a(new NetHandlerLoginServer(this.field_147385_a, this.field_147384_b));
+ break;
case 2:
throw new UnsupportedOperationException("NYI");
default:
@@ -1,23 +0,0 @@
diff -r -U 3 minecraft\net\minecraft\client\particle\EffectRenderer.java minecraft_patched\net\minecraft\client\particle\EffectRenderer.java
--- minecraft\net\minecraft\client\particle\EffectRenderer.java
+++ minecraft_patched\net\minecraft\client\particle\EffectRenderer.java
@@ -53,7 +53,8 @@
}
public void func_78868_a() {
- for(final int var1 = 0; var1 < 4; ++var1) {
+ for(int var11 = 0; var11 < 4; ++var11) {
+ final int var1 = var11;
for(int var2 = 0; var2 < this.field_78876_b[var1].size(); ++var2) {
final EntityFX var3 = (EntityFX)this.field_78876_b[var1].get(var2);
@@ -99,7 +100,8 @@
EntityFX.field_70554_ao = p_78874_1_.field_70137_T + (p_78874_1_.field_70163_u - p_78874_1_.field_70137_T) * (double)p_78874_2_;
EntityFX.field_70555_ap = p_78874_1_.field_70136_U + (p_78874_1_.field_70161_v - p_78874_1_.field_70136_U) * (double)p_78874_2_;
- for(final int var8 = 0; var8 < 3; ++var8) {
+ for(int var88 = 0; var88 < 3; ++var88) {
+ final int var8 = var88;
if(!this.field_78876_b[var8].isEmpty()) {
switch(var8) {
case 0:
@@ -1,33 +0,0 @@
diff -r -U 3 minecraft\net\minecraft\client\renderer\RenderBlocks.java minecraft_patched\net\minecraft\client\renderer\RenderBlocks.java
--- minecraft\net\minecraft\client\renderer\RenderBlocks.java
+++ minecraft_patched\net\minecraft\client\renderer\RenderBlocks.java
@@ -1929,16 +1929,16 @@
float var24 = (float)(p_147788_2_ + 1);
float var25 = (float)(p_147788_4_ + 0);
float var26 = (float)(p_147788_4_ + 1);
- boolean var27 = false;
+ int var27 = 0;
if((var19 || var20) && !var21 && !var22) {
- var27 = true;
+ var27 = 1;
}
if((var21 || var22) && !var20 && !var19) {
- var27 = true;
+ var27 = 2;
}
- if(!var27) {
+ if(var27 == 0) {
int var28 = 0;
int var29 = 0;
int var30 = 16;
@@ -1985,7 +1985,7 @@
var5.func_78374_a((double)var24, (double)p_147788_3_ + 0.015625D, (double)var25, (double)var9.func_94214_a((double)var30), (double)var9.func_94207_b((double)var29));
var5.func_78374_a((double)var23, (double)p_147788_3_ + 0.015625D, (double)var25, (double)var9.func_94214_a((double)var28), (double)var9.func_94207_b((double)var29));
var5.func_78374_a((double)var23, (double)p_147788_3_ + 0.015625D, (double)var26, (double)var9.func_94214_a((double)var28), (double)var9.func_94207_b((double)var31));
- } else if(var27) {
+ } else if(var27 == 1) {
var5.func_78374_a((double)var24, (double)p_147788_3_ + 0.015625D, (double)var26, (double)var8.func_94212_f(), (double)var8.func_94210_h());
var5.func_78374_a((double)var24, (double)p_147788_3_ + 0.015625D, (double)var25, (double)var8.func_94212_f(), (double)var8.func_94206_g());
var5.func_78374_a((double)var23, (double)p_147788_3_ + 0.015625D, (double)var25, (double)var8.func_94209_e(), (double)var8.func_94206_g());
@@ -1,12 +0,0 @@
diff -r -U 3 minecraft\net\minecraft\client\renderer\RenderGlobal.java minecraft_patched\net\minecraft\client\renderer\RenderGlobal.java
--- minecraft\net\minecraft\client\renderer\RenderGlobal.java
+++ minecraft_patched\net\minecraft\client\renderer\RenderGlobal.java
@@ -1566,7 +1566,7 @@
double var15 = this.field_72777_q.field_71451_h.field_70165_t - p_72726_2_;
double var17 = this.field_72777_q.field_71451_h.field_70163_u - p_72726_4_;
double var19 = this.field_72777_q.field_71451_h.field_70161_v - p_72726_6_;
- Object var21 = null;
+ EntityFX var21 = null;
if(p_72726_1_.equals("hugeexplosion")) {
this.field_72777_q.field_71452_i.func_78873_a(var21 = new EntityHugeExplodeFX(this.field_72769_h, p_72726_2_, p_72726_4_, p_72726_6_, p_72726_8_, p_72726_10_, p_72726_12_));
} else if(p_72726_1_.equals("largeexplode")) {
@@ -1,30 +0,0 @@
diff -r -U 3 minecraft\net\minecraft\client\renderer\texture\TextureManager.java minecraft_patched\net\minecraft\client\renderer\texture\TextureManager.java
--- minecraft\net\minecraft\client\renderer\texture\TextureManager.java
+++ minecraft_patched\net\minecraft\client\renderer\texture\TextureManager.java
@@ -72,13 +72,14 @@
public boolean func_110579_a(ResourceLocation p_110579_1_, final ITextureObject p_110579_2_) {
boolean var3 = true;
-
+ ITextureObject p_110579_2_2 = p_110579_2_;
+
try {
((ITextureObject)p_110579_2_).func_110551_a(this.field_110582_d);
} catch (IOException var8) {
field_147646_a.warn("Failed to load texture: " + p_110579_1_, var8);
- p_110579_2_ = TextureUtil.field_111001_a;
- this.field_110585_a.put(p_110579_1_, p_110579_2_);
+ p_110579_2_2 = TextureUtil.field_111001_a;
+ this.field_110585_a.put(p_110579_1_, p_110579_2_2);
var3 = false;
} catch (Throwable var9) {
CrashReport var5 = CrashReport.func_85055_a(var9, "Registering texture");
@@ -95,7 +96,7 @@
throw new ReportedException(var5);
}
- this.field_110585_a.put(p_110579_1_, p_110579_2_);
+ this.field_110585_a.put(p_110579_1_, p_110579_2_2);
return var3;
}
@@ -1,12 +0,0 @@
diff -r -U 3 minecraft\net\minecraft\client\resources\FolderResourcePack.java minecraft_patched\net\minecraft\client\resources\FolderResourcePack.java
--- minecraft\net\minecraft\client\resources\FolderResourcePack.java
+++ minecraft_patched\net\minecraft\client\resources\FolderResourcePack.java
@@ -31,7 +31,7 @@
HashSet var1 = Sets.newHashSet();
File var2 = new File(this.field_110597_b, "assets/");
if(var2.isDirectory()) {
- File[] var3 = var2.listFiles(DirectoryFileFilter.DIRECTORY);
+ File[] var3 = var2.listFiles((java.io.FileFilter)DirectoryFileFilter.DIRECTORY);
int var4 = var3.length;
for(int var5 = 0; var5 < var4; ++var5) {
@@ -1,34 +0,0 @@
diff -r -U 3 minecraft\net\minecraft\inventory\ContainerPlayer.java minecraft_patched\net\minecraft\inventory\ContainerPlayer.java
--- minecraft\net\minecraft\inventory\ContainerPlayer.java
+++ minecraft_patched\net\minecraft\inventory\ContainerPlayer.java
@@ -29,7 +29,7 @@
this.field_82862_h = p_i1819_3_;
this.func_75146_a(new SlotCrafting(p_i1819_1_.field_70458_d, this.field_75181_e, this.field_75179_f, 0, 144, 36));
- final int var4;
+ int var4;
int var5;
for(var4 = 0; var4 < 2; ++var4) {
for(var5 = 0; var5 < 2; ++var5) {
@@ -38,6 +38,7 @@
}
for(var4 = 0; var4 < 4; ++var4) {
+ final int var44 = var4;
this.func_75146_a(new Slot(p_i1819_1_, p_i1819_1_.func_70302_i_() - 1 - var4, 8, 8 + var4 * 18) {
private static final String __OBFID = "CL_00001755";
@@ -46,11 +47,11 @@
return 1;
}
public boolean func_75214_a(ItemStack p_75214_1_) {
- return p_75214_1_ == null?false:(p_75214_1_.func_77973_b() instanceof ItemArmor?((ItemArmor)p_75214_1_.func_77973_b()).field_77881_a == var4:(p_75214_1_.func_77973_b() != Item.func_150898_a(Blocks.field_150423_aK) && p_75214_1_.func_77973_b() != Items.field_151144_bL?false:var4 == 0));
+ return p_75214_1_ == null?false:(p_75214_1_.func_77973_b() instanceof ItemArmor?((ItemArmor)p_75214_1_.func_77973_b()).field_77881_a == var44:(p_75214_1_.func_77973_b() != Item.func_150898_a(Blocks.field_150423_aK) && p_75214_1_.func_77973_b() != Items.field_151144_bL?false:var44 == 0));
}
@SideOnly(Side.CLIENT)
public IIcon func_75212_b() {
- return ItemArmor.func_94602_b(var4);
+ return ItemArmor.func_94602_b(var44);
}
});
}
@@ -1,14 +0,0 @@
diff -r -U 3 minecraft\net\minecraft\network\PacketBuffer.java minecraft_patched\net\minecraft\network\PacketBuffer.java
--- minecraft\net\minecraft\network\PacketBuffer.java
+++ minecraft_patched\net\minecraft\network\PacketBuffer.java
@@ -713,10 +713,4 @@
public boolean release(int p_release_1_) {
return this.field_150794_a.release(p_release_1_);
}
-
- // $FF: synthetic method
- // $FF: bridge method
- public int compareTo(Object p_compareTo_1_) {
- return this.compareTo((ByteBuf)p_compareTo_1_);
- }
}
@@ -1,11 +0,0 @@
diff -r -U 3 minecraft\net\minecraft\world\storage\ThreadedFileIOBase.java minecraft_patched\net\minecraft\world\storage\ThreadedFileIOBase.java
--- minecraft\net\minecraft\world\storage\ThreadedFileIOBase.java
+++ minecraft_patched\net\minecraft\world\storage\ThreadedFileIOBase.java
@@ -21,6 +21,7 @@
}
public void run() {
+ while(true)
this.func_75736_b();
}
-4
View File
@@ -1,4 +0,0 @@
[VERSION]
MCPVersion = 9.05
ClientVersion = 1.7.10
ServerVersion = 1.7.10
Binary file not shown.
Binary file not shown.
Vendored
-164
View File
@@ -1,164 +0,0 @@
#!/usr/bin/env bash
##############################################################################
##
## Gradle start up script for UN*X
##
##############################################################################
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn ( ) {
echo "$*"
}
die ( ) {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
esac
# For Cygwin, ensure paths are in UNIX format before anything is touched.
if $cygwin ; then
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
fi
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >&-
APP_HOME="`pwd -P`"
cd "$SAVED" >&-
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# For Cygwin, switch paths to Windows format before running java
if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=$((i+1))
done
case $i in
(0) set -- ;;
(1) set -- "$args0" ;;
(2) set -- "$args0" "$args1" ;;
(3) set -- "$args0" "$args1" "$args2" ;;
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
function splitJvmOpts() {
JVM_OPTS=("$@")
}
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
-90
View File
@@ -1,90 +0,0 @@
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto init
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:init
@rem Get command-line arguments, handling Windowz variants
if not "%OS%" == "Windows_NT" goto win9xME_args
if "%@eval[2+2]" == "4" goto 4NT_args
:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2
:win9xME_args_slurp
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
goto execute
:4NT_args
@rem Get arguments from the 4NT Shell from JP Software
set CMD_LINE_ARGS=%$
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega
-37
View File
@@ -1,37 +0,0 @@
-------------------------------------------
Source installation information for modders
-------------------------------------------
This code follows the Minecraft Forge installation methodology. It will apply
some small patches to the vanilla MCP source code, giving you and it access
to some of the data and functions you need to build a successful mod.
Note also that the patches are built against "unrenamed" MCP source code (aka
srgnames) - this means that you will not be able to read them directly against
normal code.
Source pack installation information:
Standalone source installation
==============================
To install this source code for development purposes, extract this zip file.
It ships with a demonstration mod. Run 'gradlew setupDevWorkspace' to create
a gradle environment primed with FML. Run 'gradlew eclipse' or 'gradlew idea' to
create an IDE workspace of your choice.
Refer to ForgeGradle for more information about the gradle environment
Note: On macs or linux you run the './gradlew.sh' instead of 'gradlew'
Forge source installation
=========================
MinecraftForge ships with this code and installs it as part of the forge
installation process, no further action is required on your part.
For reference this is version @MAJOR@.@MINOR@.@REV@.@BUILD@ of FML
for Minecraft version @MCVERSION@.
LexManos' Install Video
=======================
https://www.youtube.com/watch?v=8VEdtQLuLO0&feature=youtu.be
For more details update more often refer to the Forge Forums:
http://www.minecraftforge.net/forum/index.php/topic,14048.0.html
-63
View File
@@ -1,63 +0,0 @@
buildscript {
repositories {
mavenCentral()
maven {
name = "forge"
url = "http://files.minecraftforge.net/maven"
}
maven {
name = "sonatype"
url = "https://oss.sonatype.org/content/repositories/snapshots/"
}
}
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT'
}
}
apply plugin: '${name}'
version = "1.0"
group= "com.yourname.modid" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = "modid"
minecraft {
version = "${version}"
runDir = "eclipse"
}
dependencies {
// you may put jars on which you depend on in ./libs
// or you may define them like so..
//compile "some.group:artifact:version:classifier"
//compile "some.group:artifact:version"
// real examples
//compile 'com.mod-buildcraft:buildcraft:6.0.8:dev' // adds buildcraft to the dev env
//compile 'com.googlecode.efficient-java-matrix-library:ejml:0.24' // adds ejml to the dev env
// for more info...
// http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html
// http://www.gradle.org/docs/current/userguide/dependency_management.html
}
processResources
{
// this will ensure that this task is redone when the versions change.
inputs.property "version", project.version
inputs.property "mcversion", project.minecraft.version
// replace stuff in mcmod.info, nothing else
from(sourceSets.main.resources.srcDirs) {
include 'mcmod.info'
// replace version and mcversion
expand 'version':project.version, 'mcversion':project.minecraft.version
}
// copy everything else, thats not the mcmod.info
from(sourceSets.main.resources.srcDirs) {
exclude 'mcmod.info'
}
}
@@ -1,20 +0,0 @@
package com.example.examplemod;
import net.minecraft.init.Blocks;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.event.FMLInitializationEvent;
@Mod(modid = ExampleMod.MODID, version = ExampleMod.VERSION)
public class ExampleMod
{
public static final String MODID = "examplemod";
public static final String VERSION = "1.0";
@EventHandler
public void init(FMLInitializationEvent event)
{
// some example code
System.out.println("DIRT BLOCK >> "+Blocks.dirt.getUnlocalizedName());
}
}
-16
View File
@@ -1,16 +0,0 @@
[
{
"modid": "examplemod",
"name": "Example Mod",
"description": "Example placeholder mod.",
"version": "${version}",
"mcversion": "${mcversion}",
"url": "",
"updateUrl": "",
"authorList": ["ExampleDude"],
"credits": "The Forge and FML guys, for making this example",
"logoFile": "",
"screenshots": [],
"dependencies": []
}
]
-9
View File
@@ -1,9 +0,0 @@
^org/bouncycastle
^org/apache
^com/google
^com/mojang/authlib
^com/mojang/util
^gnu/trove
^io/netty
^javax/annotation
^argo
@@ -1,27 +0,0 @@
--- ../src-base/minecraft/net/minecraft/block/Block.java
+++ ../src-work/minecraft/net/minecraft/block/Block.java
@@ -1,5 +1,6 @@
package net.minecraft.block;
+import cpw.mods.fml.common.registry.GameData;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.Iterator;
@@ -32,7 +33,7 @@
public class Block
{
- public static final RegistryNamespaced field_149771_c = new RegistryNamespacedDefaultedByKey("air");
+ public static final RegistryNamespaced field_149771_c = GameData.getBlockRegistry();
private CreativeTabs field_149772_a;
protected String field_149768_d;
public static final Block.SoundType field_149769_e = new Block.SoundType("stone", 1.0F, 1.0F);
@@ -102,6 +103,8 @@
protected IIcon field_149761_L;
private static final String __OBFID = "CL_00000199";
+ public final cpw.mods.fml.common.registry.RegistryDelegate<Block> delegate =
+ ((cpw.mods.fml.common.registry.FMLControlledNamespacedRegistry)field_149771_c).getDelegate(this, Block.class);
public static int func_149682_b(Block p_149682_0_)
{
return field_149771_c.func_148757_b(p_149682_0_);
@@ -1,17 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/ClientBrandRetriever.java
+++ ../src-work/minecraft/net/minecraft/client/ClientBrandRetriever.java
@@ -1,5 +1,6 @@
package net.minecraft.client;
+import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@@ -10,6 +11,6 @@
public static String getClientModName()
{
- return "vanilla";
+ return FMLCommonHandler.instance().getModName();
}
}
@@ -1,26 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/LoadingScreenRenderer.java
+++ ../src-work/minecraft/net/minecraft/client/LoadingScreenRenderer.java
@@ -1,5 +1,6 @@
package net.minecraft.client;
+import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.gui.Gui;
@@ -138,6 +139,8 @@
GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT);
}
+ if (!FMLClientHandler.instance().handleLoadingScreen(scaledresolution))
+ {
Tessellator tessellator = Tessellator.field_78398_a;
this.field_73725_b.func_110434_K().func_110577_a(Gui.field_110325_k);
float f = 32.0F;
@@ -175,6 +178,7 @@
OpenGlHelper.func_148821_a(770, 771, 1, 0);
this.field_73725_b.field_71466_p.func_78261_a(this.field_73726_c, (l - this.field_73725_b.field_71466_p.func_78256_a(this.field_73726_c)) / 2, i1 / 2 - 4 - 16, 16777215);
this.field_73725_b.field_71466_p.func_78261_a(this.field_73727_a, (l - this.field_73725_b.field_71466_p.func_78256_a(this.field_73727_a)) / 2, i1 / 2 - 4 + 8, 16777215);
+ }
this.field_146588_g.func_147609_e();
if (OpenGlHelper.func_148822_b())
@@ -1,201 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/Minecraft.java
+++ ../src-work/minecraft/net/minecraft/client/Minecraft.java
@@ -9,6 +9,9 @@
import com.google.common.util.concurrent.ListenableFutureTask;
import com.mojang.authlib.minecraft.MinecraftSessionService;
import com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService;
+import cpw.mods.fml.client.FMLClientHandler;
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.StartupQuery;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import io.netty.util.concurrent.GenericFutureListener;
@@ -169,6 +172,8 @@
import org.lwjgl.opengl.PixelFormat;
import org.lwjgl.util.glu.GLU;
+import com.google.common.collect.MapDifference;
+
@SideOnly(Side.CLIENT)
public class Minecraft implements IPlayerUsage
{
@@ -344,21 +349,23 @@
File file2 = new File(file1, "crash-" + (new SimpleDateFormat("yyyy-MM-dd_HH.mm.ss")).format(new Date()) + "-client.txt");
System.out.println(p_71377_1_.func_71502_e());
+ int retVal;
if (p_71377_1_.func_71497_f() != null)
{
System.out.println("#@!@# Game crashed! Crash report saved to: #@!@# " + p_71377_1_.func_71497_f());
- System.exit(-1);
+ retVal = -1;
}
else if (p_71377_1_.func_147149_a(file2))
{
System.out.println("#@!@# Game crashed! Crash report saved to: #@!@# " + file2.getAbsolutePath());
- System.exit(-1);
+ retVal = -1;
}
else
{
System.out.println("#@?@# Game crashed! Crash report could not be saved. #@?@#");
- System.exit(-2);
+ retVal = -2;
}
+ FMLCommonHandler.instance().handleExit(retVal);
}
public void func_71367_a(String p_71367_1_, int p_71367_2_)
@@ -471,11 +478,11 @@
this.field_110451_am = new SimpleReloadableResourceManager(this.field_110452_an);
this.field_135017_as = new LanguageManager(this.field_110452_an, this.field_71474_y.field_74363_ab);
this.field_110451_am.func_110542_a(this.field_135017_as);
- this.func_110436_a();
+ FMLClientHandler.instance().beginMinecraftLoading(this, this.field_110449_ao, this.field_110451_am);
this.field_71446_o = new TextureManager(this.field_110451_am);
this.field_110451_am.func_110542_a(this.field_71446_o);
this.field_152350_aA = new SkinManager(this.field_71446_o, new File(this.field_110446_Y, "skins"), this.field_152355_az);
- this.func_71357_I();
+ cpw.mods.fml.client.SplashProgress.drawVanillaScreen();
this.field_147127_av = new SoundHandler(this.field_110451_am, this.field_71474_y);
this.field_110451_am.func_110542_a(this.field_147127_av);
this.field_147126_aw = new MusicTicker(this);
@@ -492,7 +499,10 @@
this.field_110451_am.func_110542_a(this.field_71464_q);
this.field_110451_am.func_110542_a(new GrassColorReloadListener());
this.field_110451_am.func_110542_a(new FoliageColorReloadListener());
+ cpw.mods.fml.common.ProgressManager.ProgressBar bar= cpw.mods.fml.common.ProgressManager.push("Rendering Setup", 9);
+ bar.step("Loading Render Manager");
RenderManager.field_78727_a.field_78721_f = new ItemRenderer(this);
+ bar.step("Loading Entity Renderer");
this.field_71460_t = new EntityRenderer(this, this.field_110451_am);
this.field_110451_am.func_110542_a(this.field_71460_t);
AchievementList.field_76004_f.func_75988_a(new IStatStringFormat()
@@ -510,6 +520,7 @@
}
}
});
+ bar.step("Loading GL properties");
this.field_71417_B = new MouseHelper();
this.func_71361_d("Pre startup");
GL11.glEnable(GL11.GL_TEXTURE_2D);
@@ -524,27 +535,35 @@
GL11.glLoadIdentity();
GL11.glMatrixMode(GL11.GL_MODELVIEW);
this.func_71361_d("Startup");
+ bar.step("Render Global instance");
this.field_71438_f = new RenderGlobal(this);
+ bar.step("Building Blocks Texture");
this.field_147128_au = new TextureMap(0, "textures/blocks");
+ bar.step("Anisotropy and Mipmaps");
this.field_147128_au.func_147632_b(this.field_71474_y.field_151443_J);
this.field_147128_au.func_147633_a(this.field_71474_y.field_151442_I);
+ bar.step("Loading Blocks Texture");
this.field_71446_o.func_130088_a(TextureMap.field_110575_b, this.field_147128_au);
+ bar.step("Loading Items Texture");
this.field_71446_o.func_130088_a(TextureMap.field_110576_c, new TextureMap(1, "textures/items"));
+ bar.step("Viewport");
GL11.glViewport(0, 0, this.field_71443_c, this.field_71440_d);
this.field_71452_i = new EffectRenderer(this.field_71441_e, this.field_71446_o);
+ cpw.mods.fml.common.ProgressManager.pop(bar);
+ FMLClientHandler.instance().finishMinecraftLoading();
this.func_71361_d("Post startup");
this.field_71456_v = new GuiIngame(this);
if (this.field_71475_ae != null)
{
- this.func_147108_a(new GuiConnecting(new GuiMainMenu(), this, this.field_71475_ae, this.field_71477_af));
+ FMLClientHandler.instance().connectToServerAtStartup(this.field_71475_ae, this.field_71477_af);
}
else
{
this.func_147108_a(new GuiMainMenu());
}
- this.field_71446_o.func_147645_c(this.field_152354_ay);
+ cpw.mods.fml.client.SplashProgress.clearVanillaResources(field_71446_o, field_152354_ay);
this.field_152354_ay = null;
this.field_71461_s = new LoadingScreenRenderer(this);
@@ -553,6 +572,7 @@
this.func_71352_k();
}
+ FMLClientHandler.instance().onInitializationComplete();
try
{
Display.setVSyncEnabled(this.field_71474_y.field_74352_v);
@@ -970,9 +990,11 @@
if (!this.field_71454_w)
{
+ FMLCommonHandler.instance().onRenderTickStart(this.field_71428_T.field_74281_c);
this.field_71424_I.func_76318_c("gameRenderer");
this.field_71460_t.func_78480_b(this.field_71428_T.field_74281_c);
this.field_71424_I.func_76319_b();
+ FMLCommonHandler.instance().onRenderTickEnd(this.field_71428_T.field_74281_c);
}
GL11.glFlush();
@@ -1554,6 +1576,8 @@
--this.field_71467_ac;
}
+ FMLCommonHandler.instance().onPreClientTick();
+
this.field_71424_I.func_76320_a("gui");
if (!this.field_71445_n)
@@ -1698,6 +1722,7 @@
this.field_71462_r.func_146274_d();
}
}
+ FMLCommonHandler.instance().fireMouseInput();
}
if (this.field_71429_W > 0)
@@ -1835,6 +1860,7 @@
}
}
}
+ FMLCommonHandler.instance().fireKeyInput();
}
for (j = 0; j < 9; ++j)
@@ -2025,12 +2051,15 @@
this.field_71453_ak.func_74428_b();
}
+ FMLCommonHandler.instance().onPostClientTick();
+
this.field_71424_I.func_76319_b();
this.field_71423_H = func_71386_F();
}
public void func_71371_a(String p_71371_1_, String p_71371_2_, WorldSettings p_71371_3_)
{
+ FMLClientHandler.instance().startIntegratedServer(p_71371_1_, p_71371_2_, p_71371_3_);
this.func_71403_a((WorldClient)null);
System.gc();
ISaveHandler isavehandler = this.field_71469_aa.func_75804_a(p_71371_1_, false);
@@ -2066,6 +2095,12 @@
while (!this.field_71437_Z.func_71200_ad())
{
+ if (!StartupQuery.check())
+ {
+ func_71403_a(null);
+ func_147108_a(null);
+ return;
+ }
String s2 = this.field_71437_Z.func_71195_b_();
if (s2 != null)
@@ -2141,6 +2176,7 @@
this.field_110448_aq.func_148529_f();
this.func_71351_a((ServerData)null);
this.field_71455_al = false;
+ FMLClientHandler.instance().handleClientWorldClosing(this.field_71441_e);
}
this.field_147127_av.func_147690_c();
@@ -1,124 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/gui/FontRenderer.java
+++ ../src-work/minecraft/net/minecraft/client/gui/FontRenderer.java
@@ -54,7 +54,7 @@
this.field_111273_g = p_i1035_2_;
this.field_78298_i = p_i1035_3_;
this.field_78293_l = p_i1035_4_;
- p_i1035_3_.func_110577_a(this.field_111273_g);
+ bindTexture(this.field_111273_g);
for (int i = 0; i < 32; ++i)
{
@@ -102,7 +102,7 @@
try
{
- bufferedimage = ImageIO.read(Minecraft.func_71410_x().func_110442_L().func_110536_a(this.field_111273_g).func_110527_b());
+ bufferedimage = ImageIO.read(getResourceInputStream(this.field_111273_g));
}
catch (IOException ioexception)
{
@@ -167,7 +167,7 @@
{
try
{
- InputStream inputstream = Minecraft.func_71410_x().func_110442_L().func_110536_a(new ResourceLocation("font/glyph_sizes.bin")).func_110527_b();
+ InputStream inputstream = getResourceInputStream(new ResourceLocation("font/glyph_sizes.bin"));
inputstream.read(this.field_78287_e);
}
catch (IOException ioexception)
@@ -186,7 +186,7 @@
float f = (float)(p_78266_1_ % 16 * 8);
float f1 = (float)(p_78266_1_ / 16 * 8);
float f2 = p_78266_2_ ? 1.0F : 0.0F;
- this.field_78298_i.func_110577_a(this.field_111273_g);
+ bindTexture(this.field_111273_g);
float f3 = (float)this.field_78286_d[p_78266_1_] - 0.01F;
GL11.glBegin(GL11.GL_TRIANGLE_STRIP);
GL11.glTexCoord2f(f / 128.0F, f1 / 128.0F);
@@ -213,7 +213,7 @@
private void func_78257_a(int p_78257_1_)
{
- this.field_78298_i.func_110577_a(this.func_111271_a(p_78257_1_));
+ bindTexture(this.func_111271_a(p_78257_1_));
}
protected float func_78277_a(char p_78277_1_, boolean p_78277_2_)
@@ -260,7 +260,7 @@
public int func_85187_a(String p_85187_1_, int p_85187_2_, int p_85187_3_, int p_85187_4_, boolean p_85187_5_)
{
- GL11.glEnable(GL11.GL_ALPHA_TEST);
+ enableAlpha();
this.func_78265_b();
int l;
@@ -332,7 +332,7 @@
k = this.field_78285_g[j];
this.field_78304_r = k;
- GL11.glColor4f((float)(k >> 16) / 255.0F, (float)(k >> 8 & 255) / 255.0F, (float)(k & 255) / 255.0F, this.field_78305_q);
+ setColor((float)(k >> 16) / 255.0F, (float)(k >> 8 & 255) / 255.0F, (float)(k & 255) / 255.0F, this.field_78305_q);
}
else if (j == 16)
{
@@ -361,7 +361,7 @@
this.field_78299_w = false;
this.field_78300_v = false;
this.field_78301_u = false;
- GL11.glColor4f(this.field_78291_n, this.field_78292_o, this.field_78306_p, this.field_78305_q);
+ setColor(this.field_78291_n, this.field_78292_o, this.field_78306_p, this.field_78305_q);
}
++i;
@@ -420,6 +420,15 @@
++f;
}
+ doDraw(f);
+ }
+ }
+ }
+
+ protected void doDraw(float f)
+ {
+ {
+ {
Tessellator tessellator;
if (this.field_78299_w)
@@ -492,7 +501,7 @@
this.field_78292_o = (float)(p_78258_4_ >> 8 & 255) / 255.0F;
this.field_78306_p = (float)(p_78258_4_ & 255) / 255.0F;
this.field_78305_q = (float)(p_78258_4_ >> 24 & 255) / 255.0F;
- GL11.glColor4f(this.field_78291_n, this.field_78292_o, this.field_78306_p, this.field_78305_q);
+ setColor(this.field_78291_n, this.field_78292_o, this.field_78306_p, this.field_78305_q);
this.field_78295_j = (float)p_78258_2_;
this.field_78296_k = (float)p_78258_3_;
this.func_78255_a(p_78258_1_, p_78258_5_);
@@ -829,4 +838,24 @@
{
return this.field_78294_m;
}
+
+ protected void setColor(float r, float g, float b, float a)
+ {
+ GL11.glColor4f(r, g, b, a);
+ }
+
+ protected void enableAlpha()
+ {
+ GL11.glEnable(GL11.GL_ALPHA_TEST);
+ }
+
+ protected void bindTexture(ResourceLocation location)
+ {
+ field_78298_i.func_110577_a(location);
+ }
+
+ protected InputStream getResourceInputStream(ResourceLocation location) throws IOException
+ {
+ return Minecraft.func_71410_x().func_110442_L().func_110536_a(location).func_110527_b();
+ }
}
@@ -1,24 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/gui/GuiButton.java
+++ ../src-work/minecraft/net/minecraft/client/gui/GuiButton.java
@@ -23,6 +23,7 @@
public boolean field_146125_m;
protected boolean field_146123_n;
private static final String __OBFID = "CL_00000668";
+ public int packedFGColour;
public GuiButton(int p_i1020_1_, int p_i1020_2_, int p_i1020_3_, String p_i1020_4_)
{
@@ -76,8 +77,12 @@
this.func_146119_b(p_146112_1_, p_146112_2_, p_146112_3_);
int l = 14737632;
- if (!this.field_146124_l)
+ if (packedFGColour != 0)
{
+ l = packedFGColour;
+ }
+ else if (!this.field_146124_l)
+ {
l = 10526880;
}
else if (this.field_146123_n)
@@ -1,11 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/gui/GuiCreateWorld.java
+++ ../src-work/minecraft/net/minecraft/client/gui/GuiCreateWorld.java
@@ -211,6 +211,8 @@
}
}
+ WorldType.field_77139_a[this.field_146331_K].onGUICreateWorldPress();
+
WorldSettings.GameType gametype = WorldSettings.GameType.func_77142_a(this.field_146342_r);
WorldSettings worldsettings = new WorldSettings(i, gametype, this.field_146341_s, this.field_146337_w, WorldType.field_77139_a[this.field_146331_K]);
worldsettings.func_82750_a(this.field_146334_a);
@@ -1,21 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/gui/GuiIngame.java
+++ ../src-work/minecraft/net/minecraft/client/gui/GuiIngame.java
@@ -1,5 +1,6 @@
package net.minecraft.client.gui;
+import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.awt.Color;
@@ -314,6 +315,11 @@
this.func_73731_b(fontrenderer, s, k - fontrenderer.func_78256_a(s) - 2, 2, 14737632);
s = "Allocated memory: " + j5 * 100L / i5 + "% (" + j5 / 1024L / 1024L + "MB)";
this.func_73731_b(fontrenderer, s, k - fontrenderer.func_78256_a(s) - 2, 12, 14737632);
+ int offset = 22;
+ for (String brd : FMLCommonHandler.instance().getBrandings(false))
+ {
+ this.func_73731_b(fontrenderer, brd, k - fontrenderer.func_78256_a(brd) - 2, offset+=10, 14737632);
+ }
j3 = MathHelper.func_76128_c(this.field_73839_d.field_71439_g.field_70165_t);
k3 = MathHelper.func_76128_c(this.field_73839_d.field_71439_g.field_70163_u);
int l3 = MathHelper.func_76128_c(this.field_73839_d.field_71439_g.field_70161_v);
@@ -1,31 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/gui/GuiIngameMenu.java
+++ ../src-work/minecraft/net/minecraft/client/gui/GuiIngameMenu.java
@@ -1,5 +1,6 @@
package net.minecraft.client.gui;
+import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.gui.achievement.GuiAchievements;
@@ -29,8 +30,9 @@
this.field_146292_n.add(new GuiButton(4, this.field_146294_l / 2 - 100, this.field_146295_m / 4 + 24 + b0, I18n.func_135052_a("menu.returnToGame", new Object[0])));
this.field_146292_n.add(new GuiButton(0, this.field_146294_l / 2 - 100, this.field_146295_m / 4 + 96 + b0, 98, 20, I18n.func_135052_a("menu.options", new Object[0])));
+ this.field_146292_n.add(new GuiButton(12, this.field_146294_l / 2 + 2, this.field_146295_m / 4 + 96 + b0, 98, 20, "Mod Options..."));
GuiButton guibutton;
- this.field_146292_n.add(guibutton = new GuiButton(7, this.field_146294_l / 2 + 2, this.field_146295_m / 4 + 96 + b0, 98, 20, I18n.func_135052_a("menu.shareToLan", new Object[0])));
+ this.field_146292_n.add(guibutton = new GuiButton(7, this.field_146294_l / 2 - 100, this.field_146295_m / 4 + 72 + b0, 200, 20, I18n.func_135052_a("menu.shareToLan", new Object[0])));
this.field_146292_n.add(new GuiButton(5, this.field_146294_l / 2 - 100, this.field_146295_m / 4 + 48 + b0, 98, 20, I18n.func_135052_a("gui.achievements", new Object[0])));
this.field_146292_n.add(new GuiButton(6, this.field_146294_l / 2 + 2, this.field_146295_m / 4 + 48 + b0, 98, 20, I18n.func_135052_a("gui.stats", new Object[0])));
guibutton.field_146124_l = this.field_146297_k.func_71356_B() && !this.field_146297_k.func_71401_C().func_71344_c();
@@ -64,6 +66,10 @@
break;
case 7:
this.field_146297_k.func_147108_a(new GuiShareToLan(this));
+ break;
+ case 12:
+ FMLClientHandler.instance().showInGameModOptions(this);
+ break;
}
}
@@ -1,72 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/gui/GuiMainMenu.java
+++ ../src-work/minecraft/net/minecraft/client/gui/GuiMainMenu.java
@@ -1,5 +1,7 @@
package net.minecraft.client.gui;
+import cpw.mods.fml.client.GuiModList;
+import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.io.BufferedReader;
@@ -9,6 +11,7 @@
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
+import java.util.List;
import java.util.Random;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.OpenGlHelper;
@@ -29,6 +32,9 @@
import org.lwjgl.opengl.GLContext;
import org.lwjgl.util.glu.Project;
+import com.google.common.base.Strings;
+import com.google.common.collect.Lists;
+
@SideOnly(Side.CLIENT)
public class GuiMainMenu extends GuiScreen implements GuiYesNoCallback
{
@@ -190,7 +196,13 @@
{
this.field_146292_n.add(new GuiButton(1, this.field_146294_l / 2 - 100, p_73969_1_, I18n.func_135052_a("menu.singleplayer", new Object[0])));
this.field_146292_n.add(new GuiButton(2, this.field_146294_l / 2 - 100, p_73969_1_ + p_73969_2_ * 1, I18n.func_135052_a("menu.multiplayer", new Object[0])));
- this.field_146292_n.add(new GuiButton(14, this.field_146294_l / 2 - 100, p_73969_1_ + p_73969_2_ * 2, I18n.func_135052_a("menu.online", new Object[0])));
+ GuiButton realmsButton = new GuiButton(14, this.field_146294_l / 2 - 100, p_73969_1_ + p_73969_2_ * 2, I18n.func_135052_a("menu.online", new Object[0]));
+ GuiButton fmlModButton = new GuiButton(6, this.field_146294_l / 2 - 100, p_73969_1_ + p_73969_2_ * 2, "Mods");
+ fmlModButton.field_146128_h = this.field_146294_l / 2 + 2;
+ realmsButton.field_146120_f = 98;
+ fmlModButton.field_146120_f = 98;
+ this.field_146292_n.add(realmsButton);
+ this.field_146292_n.add(fmlModButton);
}
private void func_73972_b(int p_73972_1_, int p_73972_2_)
@@ -238,6 +250,11 @@
this.field_146297_k.func_71400_g();
}
+ if (p_146284_1_.field_146127_k == 6)
+ {
+ this.field_146297_k.func_147108_a(new GuiModList(this));
+ }
+
if (p_146284_1_.field_146127_k == 11)
{
this.field_146297_k.func_71371_a("Demo_World", "Demo_World", DemoWorldServer.field_73071_a);
@@ -481,7 +498,15 @@
s = s + " Demo";
}
- this.func_73731_b(this.field_146289_q, s, 2, this.field_146295_m - 10, -1);
+ List<String> brandings = Lists.reverse(FMLCommonHandler.instance().getBrandings(true));
+ for (int i = 0; i < brandings.size(); i++)
+ {
+ String brd = brandings.get(i);
+ if (!Strings.isNullOrEmpty(brd))
+ {
+ this.func_73731_b(this.field_146289_q, brd, 2, this.field_146295_m - ( 10 + i * (this.field_146289_q.field_78288_b + 1)), 16777215);
+ }
+ }
String s1 = "Copyright Mojang AB. Do not distribute!";
this.func_73731_b(this.field_146289_q, s1, this.field_146294_l - this.field_146289_q.func_78256_a(s1) - 2, this.field_146295_m - 10, -1);
@@ -1,27 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/gui/GuiMultiplayer.java
+++ ../src-work/minecraft/net/minecraft/client/gui/GuiMultiplayer.java
@@ -2,6 +2,7 @@
import com.google.common.base.Splitter;
import com.google.common.collect.Lists;
+import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.List;
@@ -40,6 +41,7 @@
public GuiMultiplayer(GuiScreen p_i1040_1_)
{
this.field_146798_g = p_i1040_1_;
+ FMLClientHandler.instance().setupServerList();
}
public void func_73866_w_()
@@ -366,7 +368,7 @@
private void func_146791_a(ServerData p_146791_1_)
{
- this.field_146297_k.func_147108_a(new GuiConnecting(this, this.field_146297_k, p_146791_1_));
+ FMLClientHandler.instance().connectToServer(this, p_146791_1_);
}
public void func_146790_a(int p_146790_1_)
@@ -1,18 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/gui/GuiSelectWorld.java
+++ ../src-work/minecraft/net/minecraft/client/gui/GuiSelectWorld.java
@@ -1,5 +1,6 @@
package net.minecraft.client.gui;
+import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.text.DateFormat;
@@ -179,7 +180,7 @@
if (this.field_146297_k.func_71359_d().func_90033_f(s))
{
- this.field_146297_k.func_71371_a(s, s1, (WorldSettings)null);
+ FMLClientHandler.instance().tryLoadExistingWorld(this, s, s1);
}
}
}
@@ -1,31 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/gui/ServerListEntryNormal.java
+++ ../src-work/minecraft/net/minecraft/client/gui/ServerListEntryNormal.java
@@ -2,6 +2,7 @@
import com.google.common.base.Charsets;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
+import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import io.netty.buffer.ByteBuf;
@@ -83,7 +84,7 @@
boolean flag2 = this.field_148301_e.field_82821_f < 5;
boolean flag3 = flag1 || flag2;
this.field_148300_d.field_71466_p.func_78276_b(this.field_148301_e.field_78847_a, p_148279_2_ + 32 + 3, p_148279_3_ + 1, 16777215);
- List list = this.field_148300_d.field_71466_p.func_78271_c(this.field_148301_e.field_78843_d, p_148279_4_ - 32 - 2);
+ List list = this.field_148300_d.field_71466_p.func_78271_c(FMLClientHandler.instance().fixDescription(this.field_148301_e.field_78843_d), p_148279_4_ - 48 - 2);
for (int l1 = 0; l1 < Math.min(list.size(), 2); ++l1)
{
@@ -174,6 +175,11 @@
int k2 = p_148279_7_ - p_148279_2_;
int l2 = p_148279_8_ - p_148279_3_;
+ String tooltip = FMLClientHandler.instance().enhanceServerListEntry(this, this.field_148301_e, p_148279_2_, p_148279_4_, p_148279_3_, k2, l2);
+ if (tooltip != null)
+ {
+ this.field_148303_c.func_146793_a(tooltip);
+ } else
if (k2 >= p_148279_4_ - 15 && k2 <= p_148279_4_ - 5 && l2 >= 0 && l2 <= 8)
{
this.field_148303_c.func_146793_a(s1);
@@ -1,41 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/network/NetHandlerLoginClient.java
+++ ../src-work/minecraft/net/minecraft/client/network/NetHandlerLoginClient.java
@@ -5,6 +5,9 @@
import com.mojang.authlib.exceptions.InvalidCredentialsException;
import com.mojang.authlib.minecraft.MinecraftSessionService;
import com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService;
+
+import cpw.mods.fml.client.FMLClientHandler;
+import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import io.netty.util.concurrent.Future;
@@ -23,6 +26,7 @@
import net.minecraft.network.login.server.S00PacketDisconnect;
import net.minecraft.network.login.server.S01PacketEncryptionRequest;
import net.minecraft.network.login.server.S02PacketLoginSuccess;
+import net.minecraft.network.play.client.C17PacketCustomPayload;
import net.minecraft.util.ChatComponentTranslation;
import net.minecraft.util.CryptManager;
import net.minecraft.util.IChatComponent;
@@ -100,7 +104,7 @@
public void func_147390_a(S02PacketLoginSuccess p_147390_1_)
{
- this.field_147393_d.func_150723_a(EnumConnectionState.PLAY);
+ FMLNetworkHandler.fmlClientHandshake(this.field_147393_d);
}
public void func_147231_a(IChatComponent p_147231_1_)
@@ -114,7 +118,10 @@
if (p_147232_2_ == EnumConnectionState.PLAY)
{
- this.field_147393_d.func_150719_a(new NetHandlerPlayClient(this.field_147394_b, this.field_147395_c, this.field_147393_d));
+ NetHandlerPlayClient nhpc = new NetHandlerPlayClient(this.field_147394_b, this.field_147395_c, this.field_147393_d);
+ this.field_147393_d.func_150719_a(nhpc);
+ FMLClientHandler.instance().setPlayClient(nhpc);
+
}
}
@@ -1,19 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/network/NetHandlerPlayClient.java
+++ ../src-work/minecraft/net/minecraft/client/network/NetHandlerPlayClient.java
@@ -2,6 +2,7 @@
import com.google.common.base.Charsets;
import com.mojang.authlib.GameProfile;
+import cpw.mods.fml.common.network.handshake.NetworkDispatcher;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import io.netty.buffer.ByteBuf;
@@ -232,7 +233,7 @@
public void func_147282_a(S01PacketJoinGame p_147282_1_)
{
this.field_147299_f.field_71442_b = new PlayerControllerMP(this.field_147299_f, this);
- this.field_147300_g = new WorldClient(this, new WorldSettings(0L, p_147282_1_.func_149198_e(), false, p_147282_1_.func_149195_d(), p_147282_1_.func_149196_i()), p_147282_1_.func_149194_f(), p_147282_1_.func_149192_g(), this.field_147299_f.field_71424_I);
+ this.field_147300_g = new WorldClient(this, new WorldSettings(0L, p_147282_1_.func_149198_e(), false, p_147282_1_.func_149195_d(), p_147282_1_.func_149196_i()), NetworkDispatcher.get(func_147298_b()).getOverrideDimension(p_147282_1_), p_147282_1_.func_149192_g(), this.field_147299_f.field_71424_I);
this.field_147300_g.field_72995_K = true;
this.field_147299_f.func_71403_a(this.field_147300_g);
this.field_147299_f.field_71439_g.field_71093_bK = p_147282_1_.func_149194_f();
@@ -1,18 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/network/OldServerPinger.java
+++ ../src-work/minecraft/net/minecraft/client/network/OldServerPinger.java
@@ -4,6 +4,7 @@
import com.google.common.base.Splitter;
import com.google.common.collect.Iterables;
import com.mojang.authlib.GameProfile;
+import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import io.netty.bootstrap.Bootstrap;
@@ -147,6 +148,7 @@
p_147224_1_.func_147407_a((String)null);
}
+ FMLClientHandler.instance().bindServerListData(p_147224_1_, serverstatusresponse);
networkmanager.func_150725_a(new C01PacketPing(Minecraft.func_71386_F()), new GenericFutureListener[0]);
this.field_147403_d = true;
}
@@ -1,102 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/renderer/RenderBlocks.java
+++ ../src-work/minecraft/net/minecraft/client/renderer/RenderBlocks.java
@@ -40,6 +40,7 @@
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
+import net.minecraft.src.FMLRenderAccessLibrary;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.tileentity.TileEntityFlowerPot;
import net.minecraft.util.Direction;
@@ -245,7 +246,53 @@
{
p_147805_1_.func_149719_a(this.field_147845_a, p_147805_2_, p_147805_3_, p_147805_4_);
this.func_147775_a(p_147805_1_);
- return l == 0 ? this.func_147784_q(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 4 ? this.func_147721_p(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 31 ? this.func_147742_r(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 1 ? this.func_147746_l(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 40 ? this.func_147774_a((BlockDoublePlant)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 2 ? this.func_147791_c(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 20 ? this.func_147726_j(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 11 ? this.func_147735_a((BlockFence)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 39 ? this.func_147779_s(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 5 ? this.func_147788_h(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 13 ? this.func_147755_t(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 9 ? this.func_147766_a((BlockRailBase)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 19 ? this.func_147724_m(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 23 ? this.func_147783_o(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 6 ? this.func_147796_n(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 3 ? this.func_147801_a((BlockFire)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 8 ? this.func_147794_i(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 7 ? this.func_147760_u(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 10 ? this.func_147722_a((BlockStairs)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 27 ? this.func_147802_a((BlockDragonEgg)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 32 ? this.func_147807_a((BlockWall)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 12 ? this.func_147790_e(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 29 ? this.func_147723_f(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 30 ? this.func_147756_g(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 14 ? this.func_147773_v(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 15 ? this.func_147759_a((BlockRedstoneRepeater)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 36 ? this.func_147748_a((BlockRedstoneDiode)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 37 ? this.func_147781_a((BlockRedstoneComparator)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 16 ? this.func_147731_b(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_, false) : (l == 17 ? this.func_147809_c(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_, true) : (l == 18 ? this.func_147767_a((BlockPane)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 41 ? this.func_147733_k(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 21 ? this.func_147776_a((BlockFenceGate)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 24 ? this.func_147785_a((BlockCauldron)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 33 ? this.func_147752_a((BlockFlowerPot)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 35 ? this.func_147725_a((BlockAnvil)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 25 ? this.func_147741_a((BlockBrewingStand)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 26 ? this.func_147743_a((BlockEndPortalFrame)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 28 ? this.func_147772_a((BlockCocoa)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 34 ? this.func_147797_a((BlockBeacon)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 38 ? this.func_147803_a((BlockHopper)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : false))))))))))))))))))))))))))))))))))))))));
+
+ switch (l)
+ {
+ //regex: ' : \(l == ([\d]+) \?' replace: ';\ncase \1: return' ::: IMPORTANT: REMEMBER THIS ON FIRST line!
+ case 0 : return this.func_147784_q(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 4: return this.func_147721_p(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 31: return this.func_147742_r(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 1: return this.func_147746_l(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 40: return this.func_147774_a((BlockDoublePlant)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 2: return this.func_147791_c(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 20: return this.func_147726_j(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 11: return this.func_147735_a((BlockFence)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 39: return this.func_147779_s(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 5: return this.func_147788_h(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 13: return this.func_147755_t(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 9: return this.func_147766_a((BlockRailBase)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 19: return this.func_147724_m(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 23: return this.func_147783_o(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 6: return this.func_147796_n(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 3: return this.func_147801_a((BlockFire)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 8: return this.func_147794_i(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 7: return this.func_147760_u(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 10: return this.func_147722_a((BlockStairs)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 27: return this.func_147802_a((BlockDragonEgg)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 32: return this.func_147807_a((BlockWall)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 12: return this.func_147790_e(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 29: return this.func_147723_f(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 30: return this.func_147756_g(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 14: return this.func_147773_v(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 15: return this.func_147759_a((BlockRedstoneRepeater)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 36: return this.func_147748_a((BlockRedstoneDiode)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 37: return this.func_147781_a((BlockRedstoneComparator)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 16: return this.func_147731_b(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_, false) ;
+ case 17: return this.func_147809_c(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_, true) ;
+ case 18: return this.func_147767_a((BlockPane)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 41: return this.func_147733_k(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 21: return this.func_147776_a((BlockFenceGate)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 24: return this.func_147785_a((BlockCauldron)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 33: return this.func_147752_a((BlockFlowerPot)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 35: return this.func_147725_a((BlockAnvil)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 25: return this.func_147741_a((BlockBrewingStand)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 26: return this.func_147743_a((BlockEndPortalFrame)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 28: return this.func_147772_a((BlockCocoa)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 34: return this.func_147797_a((BlockBeacon)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 38: return this.func_147803_a((BlockHopper)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_);
+ default: return FMLRenderAccessLibrary.renderWorldBlock(this, field_147845_a, p_147805_2_, p_147805_3_, p_147805_4_, p_147805_1_, l);
+ }
}
}
@@ -8089,6 +8136,10 @@
this.func_147799_a((BlockHopper)p_147800_1_, 0, 0, 0, 0, true);
GL11.glTranslatef(0.5F, 0.5F, 0.5F);
}
+ else
+ {
+ FMLRenderAccessLibrary.renderInventoryBlock(this, p_147800_1_, p_147800_2_, j);
+ }
}
else
{
@@ -8147,7 +8198,24 @@
public static boolean func_147739_a(int p_147739_0_)
{
- return p_147739_0_ == 0 ? true : (p_147739_0_ == 31 ? true : (p_147739_0_ == 39 ? true : (p_147739_0_ == 13 ? true : (p_147739_0_ == 10 ? true : (p_147739_0_ == 11 ? true : (p_147739_0_ == 27 ? true : (p_147739_0_ == 22 ? true : (p_147739_0_ == 21 ? true : (p_147739_0_ == 16 ? true : (p_147739_0_ == 26 ? true : (p_147739_0_ == 32 ? true : (p_147739_0_ == 34 ? true : (p_147739_0_ == 35 ? true : (p_147739_0_ == -1 ? false : false))))))))))))));
+ switch (p_147739_0_)
+ {
+ case 0 : return true ;
+ case 31: return true ;
+ case 39: return true ;
+ case 13: return true ;
+ case 10: return true ;
+ case 11: return true ;
+ case 27: return true ;
+ case 22: return true ;
+ case 21: return true ;
+ case 16: return true ;
+ case 26: return true ;
+ case 32: return true ;
+ case 34: return true ;
+ case 35: return true ;
+ default: return FMLRenderAccessLibrary.renderItemAsFull3DBlock(p_147739_0_);
+ }
}
public IIcon func_147793_a(Block p_147793_1_, IBlockAccess p_147793_2_, int p_147793_3_, int p_147793_4_, int p_147793_5_, int p_147793_6_)
@@ -1,18 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/renderer/entity/RenderVillager.java
+++ ../src-work/minecraft/net/minecraft/client/renderer/entity/RenderVillager.java
@@ -1,5 +1,6 @@
package net.minecraft.client.renderer.entity;
+import cpw.mods.fml.common.registry.VillagerRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.model.ModelVillager;
@@ -53,7 +54,7 @@
case 4:
return field_110906_m;
default:
- return field_110903_f;
+ return VillagerRegistry.getVillagerSkin(p_110775_1_.func_70946_n(), field_110903_f);
}
}
@@ -1,90 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/renderer/texture/TextureMap.java
+++ ../src-work/minecraft/net/minecraft/client/renderer/texture/TextureMap.java
@@ -96,6 +96,7 @@
this.field_94252_e.clear();
this.field_94258_i.clear();
int j = Integer.MAX_VALUE;
+ cpw.mods.fml.common.ProgressManager.ProgressBar bar = cpw.mods.fml.common.ProgressManager.push("Texture stitching", this.field_110574_e.size());
Iterator iterator = this.field_110574_e.entrySet().iterator();
TextureAtlasSprite textureatlassprite;
@@ -105,6 +106,7 @@
ResourceLocation resourcelocation = new ResourceLocation((String)entry.getKey());
textureatlassprite = (TextureAtlasSprite)entry.getValue();
ResourceLocation resourcelocation1 = this.func_147634_a(resourcelocation, 0);
+ bar.step(resourcelocation1.func_110623_a());
try
{
@@ -156,12 +158,14 @@
}
catch (RuntimeException runtimeexception)
{
- field_147635_d.error("Unable to parse metadata from " + resourcelocation1, runtimeexception);
+ //logger.error("Unable to parse metadata from " + resourcelocation1, runtimeexception);
+ cpw.mods.fml.client.FMLClientHandler.instance().trackBrokenTexture(resourcelocation1, runtimeexception.getMessage());
continue;
}
catch (IOException ioexception1)
{
- field_147635_d.error("Using missing texture, unable to load " + resourcelocation1, ioexception1);
+ //logger.error("Using missing texture, unable to load " + resourcelocation1, ioexception1);
+ cpw.mods.fml.client.FMLClientHandler.instance().trackMissingTexture(resourcelocation1);
continue;
}
@@ -169,6 +173,7 @@
stitcher.func_110934_a(textureatlassprite);
}
+ cpw.mods.fml.common.ProgressManager.pop(bar);
int i1 = MathHelper.func_151239_c(j);
if (i1 < this.field_147636_j)
@@ -178,10 +183,12 @@
}
Iterator iterator1 = this.field_110574_e.values().iterator();
+ bar = cpw.mods.fml.common.ProgressManager.push("Mipmap generation", this.field_110574_e.size());
while (iterator1.hasNext())
{
final TextureAtlasSprite textureatlassprite1 = (TextureAtlasSprite)iterator1.next();
+ bar.step(textureatlassprite1.func_94215_i());
try
{
@@ -222,9 +229,12 @@
this.field_94249_f.func_147963_d(this.field_147636_j);
stitcher.func_110934_a(this.field_94249_f);
+ cpw.mods.fml.common.ProgressManager.pop(bar);
+ bar = cpw.mods.fml.common.ProgressManager.push("Texture creation", 3);
try
{
+ bar.step("Stitching");
stitcher.func_94305_f();
}
catch (StitcherException stitcherexception)
@@ -233,10 +243,12 @@
}
field_147635_d.info("Created: {}x{} {}-atlas", new Object[] {Integer.valueOf(stitcher.func_110935_a()), Integer.valueOf(stitcher.func_110936_b()), this.field_94254_c});
+ bar.step("Allocating GL texture");
TextureUtil.func_147946_a(this.func_110552_b(), this.field_147636_j, stitcher.func_110935_a(), stitcher.func_110936_b(), (float)this.field_147637_k);
HashMap hashmap = Maps.newHashMap(this.field_110574_e);
Iterator iterator2 = stitcher.func_94309_g().iterator();
+ bar.step("Uploading GL texture");
while (iterator2.hasNext())
{
textureatlassprite = (TextureAtlasSprite)iterator2.next();
@@ -274,6 +286,7 @@
textureatlassprite = (TextureAtlasSprite)iterator2.next();
textureatlassprite.func_94217_a(this.field_94249_f);
}
+ cpw.mods.fml.common.ProgressManager.pop(bar);
}
private ResourceLocation func_147634_a(ResourceLocation p_147634_1_, int p_147634_2_)
@@ -1,14 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/renderer/texture/TextureUtil.java
+++ ../src-work/minecraft/net/minecraft/client/renderer/texture/TextureUtil.java
@@ -201,8 +201,11 @@
public static void func_147946_a(int p_147946_0_, int p_147946_1_, int p_147946_2_, int p_147946_3_, float p_147946_4_)
{
+ synchronized(cpw.mods.fml.client.SplashProgress.class)
+ {
func_147942_a(p_147946_0_);
func_94277_a(p_147946_0_);
+ }
if (OpenGlHelper.field_148825_d)
{
@@ -1,11 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/resources/AbstractResourcePack.java
+++ ../src-work/minecraft/net/minecraft/client/resources/AbstractResourcePack.java
@@ -58,7 +58,7 @@
protected void func_110594_c(String p_110594_1_)
{
- field_110598_a.warn("ResourcePack: ignored non-lowercase namespace: %s in %s", new Object[] {p_110594_1_, this.field_110597_b});
+ field_110598_a.warn("ResourcePack: ignored non-lowercase namespace: {} in {}", new Object[] {p_110594_1_, this.field_110597_b});
}
public IMetadataSection func_135058_a(IMetadataSerializer p_135058_1_, String p_135058_2_) throws IOException
@@ -1,19 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/resources/LanguageManager.java
+++ ../src-work/minecraft/net/minecraft/client/resources/LanguageManager.java
@@ -3,6 +3,8 @@
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
+
+import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.io.IOException;
@@ -83,6 +85,7 @@
}
field_135049_a.func_135022_a(p_110549_1_, arraylist);
+ LanguageRegistry.instance().mergeLanguageTable(field_135049_a.field_135032_a, this.field_135048_c);
StringTranslate.func_135063_a(field_135049_a.field_135032_a);
}
@@ -1,46 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/resources/SimpleReloadableResourceManager.java
+++ ../src-work/minecraft/net/minecraft/client/resources/SimpleReloadableResourceManager.java
@@ -95,6 +95,7 @@
public void func_110541_a(List p_110541_1_)
{
this.func_110543_a();
+ cpw.mods.fml.common.ProgressManager.ProgressBar resReload = cpw.mods.fml.common.ProgressManager.push("Loading Resources", p_110541_1_.size()+1);
field_147967_a.info("Reloading ResourceManager: " + field_130074_a.join(Iterables.transform(p_110541_1_, new Function()
{
private static final String __OBFID = "CL_00001092";
@@ -112,26 +113,35 @@
while (iterator.hasNext())
{
IResourcePack iresourcepack = (IResourcePack)iterator.next();
+ resReload.step(iresourcepack.func_130077_b());
this.func_110545_a(iresourcepack);
}
+ resReload.step("Reloading listeners");
this.func_110544_b();
+ cpw.mods.fml.common.ProgressManager.pop(resReload);
}
public void func_110542_a(IResourceManagerReloadListener p_110542_1_)
{
this.field_110546_b.add(p_110542_1_);
+ cpw.mods.fml.common.ProgressManager.ProgressBar resReload = cpw.mods.fml.common.ProgressManager.push("Loading Resource", 1);
+ resReload.step(p_110542_1_.getClass());
p_110542_1_.func_110549_a(this);
+ cpw.mods.fml.common.ProgressManager.pop(resReload);
}
private void func_110544_b()
{
Iterator iterator = this.field_110546_b.iterator();
+ cpw.mods.fml.common.ProgressManager.ProgressBar resReload = cpw.mods.fml.common.ProgressManager.push("Reloading", this.field_110546_b.size());
while (iterator.hasNext())
{
IResourceManagerReloadListener iresourcemanagerreloadlistener = (IResourceManagerReloadListener)iterator.next();
+ resReload.step(iresourcemanagerreloadlistener.getClass());
iresourcemanagerreloadlistener.func_110549_a(this);
}
+ cpw.mods.fml.common.ProgressManager.pop(resReload);
}
}
@@ -1,19 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/settings/GameSettings.java
+++ ../src-work/minecraft/net/minecraft/client/settings/GameSettings.java
@@ -2,6 +2,8 @@
import com.google.common.collect.Maps;
import com.google.gson.Gson;
+
+import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.io.BufferedReader;
@@ -1049,6 +1051,7 @@
public void func_74303_b()
{
+ if (FMLClientHandler.instance().isLoading()) return;
try
{
PrintWriter printwriter = new PrintWriter(new FileWriter(this.field_74354_ai));
@@ -1,17 +0,0 @@
--- ../src-base/minecraft/net/minecraft/crash/CrashReport.java
+++ ../src-work/minecraft/net/minecraft/crash/CrashReport.java
@@ -1,5 +1,6 @@
package net.minecraft.crash;
+import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.io.File;
@@ -140,6 +141,7 @@
return IntCache.func_85144_b();
}
});
+ FMLCommonHandler.instance().enhanceCrashReport(this, this.field_85061_c);
}
public String func_71501_a()
@@ -1,55 +0,0 @@
--- ../src-base/minecraft/net/minecraft/entity/EntityList.java
+++ ../src-work/minecraft/net/minecraft/entity/EntityList.java
@@ -5,6 +5,7 @@
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
+
import net.minecraft.entity.ai.EntityMinecartMobSpawner;
import net.minecraft.entity.boss.EntityDragon;
import net.minecraft.entity.boss.EntityWither;
@@ -63,9 +64,13 @@
import net.minecraft.stats.StatBase;
import net.minecraft.stats.StatList;
import net.minecraft.world.World;
+
+import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import cpw.mods.fml.common.FMLLog;
+
public class EntityList
{
private static final Logger field_151516_b = LogManager.getLogger();
@@ -145,9 +150,10 @@
p_75615_0_.func_82580_o("Type");
}
+ Class oclass = null;
try
{
- Class oclass = (Class)field_75625_b.get(p_75615_0_.func_74779_i("id"));
+ oclass = (Class)field_75625_b.get(p_75615_0_.func_74779_i("id"));
if (oclass != null)
{
@@ -161,7 +167,17 @@
if (entity != null)
{
- entity.func_70020_e(p_75615_0_);
+ try
+ {
+ entity.func_70020_e(p_75615_0_);
+ }
+ catch (Exception e)
+ {
+ FMLLog.log(Level.ERROR, e,
+ "An Entity %s(%s) has thrown an exception during loading, its state cannot be restored. Report this to the mod author",
+ p_75615_0_.func_74779_i("id"), oclass.getName());
+ entity = null;
+ }
}
else
{
@@ -1,23 +0,0 @@
--- ../src-base/minecraft/net/minecraft/entity/EntityTracker.java
+++ ../src-work/minecraft/net/minecraft/entity/EntityTracker.java
@@ -39,6 +39,8 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import cpw.mods.fml.common.registry.EntityRegistry;
+
public class EntityTracker
{
private static final Logger field_151249_a = LogManager.getLogger();
@@ -56,6 +58,11 @@
public void func_72786_a(Entity p_72786_1_)
{
+ if (EntityRegistry.instance().tryTrackingEntity(this, p_72786_1_))
+ {
+ return;
+ }
+
if (p_72786_1_ instanceof EntityPlayerMP)
{
this.func_72791_a(p_72786_1_, 512, 2);
@@ -1,39 +0,0 @@
--- ../src-base/minecraft/net/minecraft/entity/EntityTrackerEntry.java
+++ ../src-work/minecraft/net/minecraft/entity/EntityTrackerEntry.java
@@ -57,6 +57,8 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
+
public class EntityTrackerEntry
{
private static final Logger field_151262_p = LogManager.getLogger();
@@ -377,6 +379,14 @@
this.field_73138_k = this.field_73132_a.field_70181_x;
this.field_73135_l = this.field_73132_a.field_70179_y;
+ int posX = MathHelper.func_76128_c(this.field_73132_a.field_70165_t * 32.0D);
+ int posY = MathHelper.func_76128_c(this.field_73132_a.field_70163_u * 32.0D);
+ int posZ = MathHelper.func_76128_c(this.field_73132_a.field_70161_v * 32.0D);
+ if (posX != this.field_73128_d || posY != this.field_73129_e || posZ != this.field_73126_f)
+ {
+ FMLNetworkHandler.makeEntitySpawnAdjustment(this.field_73132_a, p_73117_1_, this.field_73128_d, this.field_73129_e, this.field_73126_f);
+ }
+
if (this.field_73143_t && !(packet instanceof S0FPacketSpawnMob))
{
p_73117_1_.field_71135_a.func_147359_a(new S12PacketEntityVelocity(this.field_73132_a.func_145782_y(), this.field_73132_a.field_70159_w, this.field_73132_a.field_70181_x, this.field_73132_a.field_70179_y));
@@ -456,6 +466,12 @@
field_151262_p.warn("Fetching addPacket for removed entity");
}
+ Packet pkt = FMLNetworkHandler.getEntitySpawningPacket(this.field_73132_a);
+
+ if (pkt != null)
+ {
+ return pkt;
+ }
if (this.field_73132_a instanceof EntityItem)
{
return new S0EPacketSpawnObject(this.field_73132_a, 2, 1);
@@ -1,10 +0,0 @@
--- ../src-base/minecraft/net/minecraft/entity/boss/IBossDisplayData.java
+++ ../src-work/minecraft/net/minecraft/entity/boss/IBossDisplayData.java
@@ -4,7 +4,6 @@
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.util.IChatComponent;
-@SideOnly(Side.CLIENT)
public interface IBossDisplayData
{
float func_110138_aP();
@@ -1,20 +0,0 @@
--- ../src-base/minecraft/net/minecraft/entity/item/EntityItem.java
+++ ../src-work/minecraft/net/minecraft/entity/item/EntityItem.java
@@ -17,6 +17,8 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import cpw.mods.fml.common.FMLCommonHandler;
+
public class EntityItem extends Entity
{
private static final Logger field_145803_d = LogManager.getLogger();
@@ -325,6 +327,8 @@
}
}
+ FMLCommonHandler.instance().firePlayerItemPickupEvent(p_70100_1_, this);
+
this.field_70170_p.func_72956_a(p_70100_1_, "random.pop", 0.2F, ((this.field_70146_Z.nextFloat() - this.field_70146_Z.nextFloat()) * 0.7F + 1.0F) * 2.0F);
p_70100_1_.func_71001_a(this, i);
@@ -1,11 +0,0 @@
--- ../src-base/minecraft/net/minecraft/entity/monster/EntitySlime.java
+++ ../src-work/minecraft/net/minecraft/entity/monster/EntitySlime.java
@@ -247,7 +247,7 @@
{
Chunk chunk = this.field_70170_p.func_72938_d(MathHelper.func_76128_c(this.field_70165_t), MathHelper.func_76128_c(this.field_70161_v));
- if (this.field_70170_p.func_72912_H().func_76067_t() == WorldType.field_77138_c && this.field_70146_Z.nextInt(4) != 1)
+ if (this.field_70170_p.func_72912_H().func_76067_t().handleSlimeSpawnReduction(field_70146_Z, field_70170_p))
{
return false;
}
@@ -1,26 +0,0 @@
--- ../src-base/minecraft/net/minecraft/entity/passive/EntityVillager.java
+++ ../src-work/minecraft/net/minecraft/entity/passive/EntityVillager.java
@@ -1,5 +1,6 @@
package net.minecraft.entity.passive;
+import cpw.mods.fml.common.registry.VillagerRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.Collections;
@@ -422,6 +423,7 @@
MerchantRecipeList merchantrecipelist;
merchantrecipelist = new MerchantRecipeList();
+ VillagerRegistry.manageVillagerTrades(merchantrecipelist, this, this.func_70946_n(), this.field_70146_Z);
int k;
label50:
@@ -626,7 +628,7 @@
public IEntityLivingData func_110161_a(IEntityLivingData p_110161_1_)
{
p_110161_1_ = super.func_110161_a(p_110161_1_);
- this.func_70938_b(this.field_70170_p.field_73012_v.nextInt(5));
+ VillagerRegistry.applyRandomTrade(this, field_70170_p.field_73012_v);
return p_110161_1_;
}
@@ -1,40 +0,0 @@
--- ../src-base/minecraft/net/minecraft/entity/player/EntityPlayer.java
+++ ../src-work/minecraft/net/minecraft/entity/player/EntityPlayer.java
@@ -2,6 +2,9 @@
import com.google.common.base.Charsets;
import com.mojang.authlib.GameProfile;
+
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.Collection;
@@ -193,6 +196,7 @@
public void func_70071_h_()
{
+ FMLCommonHandler.instance().onPlayerPreTick(this);
if (this.field_71074_e != null)
{
ItemStack itemstack = this.field_71071_by.func_70448_g();
@@ -316,6 +320,7 @@
this.field_71100_bB.func_75118_a(this);
this.func_71064_a(StatList.field_75948_k, 1);
}
+ FMLCommonHandler.instance().onPlayerPostTick(this);
}
public int func_82145_z()
@@ -2031,6 +2036,11 @@
}
}
+ public void openGui(Object mod, int modGuiId, World world, int x, int y, int z)
+ {
+ FMLNetworkHandler.openGui(this, mod, modGuiId, world, x, y, z);
+ }
+
public static enum EnumStatus
{
OK,
@@ -1,17 +0,0 @@
--- ../src-base/minecraft/net/minecraft/inventory/SlotCrafting.java
+++ ../src-work/minecraft/net/minecraft/inventory/SlotCrafting.java
@@ -1,5 +1,6 @@
package net.minecraft.inventory;
+import cpw.mods.fml.common.FMLCommonHandler;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
@@ -103,6 +104,7 @@
public void func_82870_a(EntityPlayer p_82870_1_, ItemStack p_82870_2_)
{
+ FMLCommonHandler.instance().firePlayerCraftingEvent(p_82870_1_, p_82870_2_, field_75239_a);
this.func_75208_c(p_82870_2_);
for (int i = 0; i < this.field_75239_a.func_70302_i_(); ++i)
@@ -1,18 +0,0 @@
--- ../src-base/minecraft/net/minecraft/inventory/SlotFurnace.java
+++ ../src-work/minecraft/net/minecraft/inventory/SlotFurnace.java
@@ -1,5 +1,6 @@
package net.minecraft.inventory;
+import cpw.mods.fml.common.FMLCommonHandler;
import net.minecraft.entity.item.EntityXPOrb;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
@@ -83,6 +84,8 @@
this.field_75228_b = 0;
+ FMLCommonHandler.instance().firePlayerSmeltedEvent(field_75229_a, p_75208_1_);
+
if (p_75208_1_.func_77973_b() == Items.field_151042_j)
{
this.field_75229_a.func_71064_a(AchievementList.field_76016_k, 1);
@@ -1,29 +0,0 @@
--- ../src-base/minecraft/net/minecraft/item/Item.java
+++ ../src-work/minecraft/net/minecraft/item/Item.java
@@ -3,6 +3,8 @@
import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap;
import com.google.common.collect.Sets;
+
+import cpw.mods.fml.common.registry.GameData;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.HashSet;
@@ -46,7 +48,7 @@
public class Item
{
- public static final RegistryNamespaced field_150901_e = new RegistryNamespaced();
+ public static final RegistryNamespaced field_150901_e = GameData.getItemRegistry();
protected static final UUID field_111210_e = UUID.fromString("CB3F55D3-645C-4F38-A497-9C13A33DB5CF");
private CreativeTabs field_77701_a;
protected static Random field_77697_d = new Random();
@@ -62,6 +64,8 @@
protected String field_111218_cA;
private static final String __OBFID = "CL_00000041";
+ public final cpw.mods.fml.common.registry.RegistryDelegate<Item> delegate =
+ ((cpw.mods.fml.common.registry.FMLControlledNamespacedRegistry)field_150901_e).getDelegate(this, Item.class);
public static int func_150891_b(Item p_150891_0_)
{
return p_150891_0_ == null ? 0 : field_150901_e.func_148757_b(p_150891_0_);
@@ -1,11 +0,0 @@
--- ../src-base/minecraft/net/minecraft/item/ItemEmptyMap.java
+++ ../src-work/minecraft/net/minecraft/item/ItemEmptyMap.java
@@ -25,7 +25,7 @@
int i = 128 * (1 << mapdata.field_76197_d);
mapdata.field_76201_a = (int)(Math.round(p_77659_3_.field_70165_t / (double)i) * (long)i);
mapdata.field_76199_b = (int)(Math.round(p_77659_3_.field_70161_v / (double)i) * (long)i);
- mapdata.field_76200_c = (byte)p_77659_2_.field_73011_w.field_76574_g;
+ mapdata.field_76200_c = p_77659_2_.field_73011_w.field_76574_g;
mapdata.func_76185_a();
--p_77659_1_.field_77994_a;
@@ -1,11 +0,0 @@
--- ../src-base/minecraft/net/minecraft/item/ItemMap.java
+++ ../src-work/minecraft/net/minecraft/item/ItemMap.java
@@ -57,7 +57,7 @@
int i = 128 * (1 << mapdata.field_76197_d);
mapdata.field_76201_a = Math.round((float)p_77873_2_.func_72912_H().func_76079_c() / (float)i) * i;
mapdata.field_76199_b = Math.round((float)(p_77873_2_.func_72912_H().func_76074_e() / i)) * i;
- mapdata.field_76200_c = (byte)p_77873_2_.field_73011_w.field_76574_g;
+ mapdata.field_76200_c = p_77873_2_.field_73011_w.field_76574_g;
mapdata.func_76185_a();
p_77873_2_.func_72823_a(s, mapdata);
}
@@ -1,45 +0,0 @@
--- ../src-base/minecraft/net/minecraft/item/ItemStack.java
+++ ../src-work/minecraft/net/minecraft/item/ItemStack.java
@@ -45,6 +45,7 @@
private EntityItemFrame field_82843_f;
private static final String __OBFID = "CL_00000043";
+ private cpw.mods.fml.common.registry.RegistryDelegate<Item> delegate;
public ItemStack(Block p_i1876_1_)
{
this(p_i1876_1_, 1);
@@ -72,7 +73,7 @@
public ItemStack(Item p_i1881_1_, int p_i1881_2_, int p_i1881_3_)
{
- this.field_151002_e = p_i1881_1_;
+ func_150996_a(p_i1881_1_);
this.field_77994_a = p_i1881_2_;
this.field_77991_e = p_i1881_3_;
@@ -106,7 +107,7 @@
public Item func_77973_b()
{
- return this.field_151002_e;
+ return this.delegate != null ? this.delegate.get() : null;
}
@SideOnly(Side.CLIENT)
@@ -164,7 +165,7 @@
public void func_77963_c(NBTTagCompound p_77963_1_)
{
- this.field_151002_e = Item.func_150899_d(p_77963_1_.func_74765_d("id"));
+ func_150996_a(Item.func_150899_d(p_77963_1_.func_74765_d("id")));
this.field_77994_a = p_77963_1_.func_74771_c("Count");
this.field_77991_e = p_77963_1_.func_74765_d("Damage");
@@ -744,6 +745,7 @@
public void func_150996_a(Item p_150996_1_)
{
+ this.delegate = p_150996_1_ != null ? p_150996_1_.delegate : null;
this.field_151002_e = p_150996_1_;
}
@@ -1,50 +0,0 @@
--- ../src-base/minecraft/net/minecraft/network/NetworkManager.java
+++ ../src-work/minecraft/net/minecraft/network/NetworkManager.java
@@ -2,6 +2,8 @@
import com.google.common.collect.Queues;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
+
+import cpw.mods.fml.common.network.internal.FMLProxyPacket;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import io.netty.bootstrap.Bootstrap;
@@ -142,7 +144,7 @@
final EnumConnectionState enumconnectionstate = EnumConnectionState.func_150752_a(p_150732_1_);
final EnumConnectionState enumconnectionstate1 = (EnumConnectionState)this.field_150746_k.attr(field_150739_c).get();
- if (enumconnectionstate1 != enumconnectionstate)
+ if (enumconnectionstate1 != enumconnectionstate && !( p_150732_1_ instanceof FMLProxyPacket))
{
field_150735_g.debug("Disabled auto read");
this.field_150746_k.config().setAutoRead(false);
@@ -150,7 +152,7 @@
if (this.field_150746_k.eventLoop().inEventLoop())
{
- if (enumconnectionstate != enumconnectionstate1)
+ if (enumconnectionstate != enumconnectionstate1 && !( p_150732_1_ instanceof FMLProxyPacket))
{
this.func_150723_a(enumconnectionstate);
}
@@ -164,7 +166,7 @@
private static final String __OBFID = "CL_00001241";
public void run()
{
- if (enumconnectionstate != enumconnectionstate1)
+ if (enumconnectionstate != enumconnectionstate1 && !( p_150732_1_ instanceof FMLProxyPacket))
{
NetworkManager.this.func_150723_a(enumconnectionstate);
}
@@ -315,6 +317,11 @@
this.channelRead0(p_channelRead0_1_, (Packet)p_channelRead0_2_);
}
+ public Channel channel()
+ {
+ return field_150746_k;
+ }
+
static class InboundHandlerTuplePacketListener
{
private final Packet field_150774_a;
@@ -1,20 +0,0 @@
--- ../src-base/minecraft/net/minecraft/network/NetworkSystem.java
+++ ../src-work/minecraft/net/minecraft/network/NetworkSystem.java
@@ -1,6 +1,8 @@
package net.minecraft.network;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
+
+import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import io.netty.bootstrap.ServerBootstrap;
@@ -84,7 +86,7 @@
;
}
- p_initChannel_1_.pipeline().addLast("timeout", new ReadTimeoutHandler(30)).addLast("legacy_query", new PingResponseHandler(NetworkSystem.this)).addLast("splitter", new MessageDeserializer2()).addLast("decoder", new MessageDeserializer(NetworkManager.field_152462_h)).addLast("prepender", new MessageSerializer2()).addLast("encoder", new MessageSerializer(NetworkManager.field_152462_h));
+ p_initChannel_1_.pipeline().addLast("timeout", new ReadTimeoutHandler(FMLNetworkHandler.READ_TIMEOUT)).addLast("legacy_query", new PingResponseHandler(NetworkSystem.this)).addLast("splitter", new MessageDeserializer2()).addLast("decoder", new MessageDeserializer(NetworkManager.field_152462_h)).addLast("prepender", new MessageSerializer2()).addLast("encoder", new MessageSerializer(NetworkManager.field_152462_h));
NetworkManager networkmanager = new NetworkManager(false);
NetworkSystem.this.field_151272_f.add(networkmanager);
p_initChannel_1_.pipeline().addLast("packet_handler", networkmanager);
Loaded 100 of 1966 files, more files were not shown because too many files have changed in this diff. Show more