Compare commits

...
178 Commits
Author SHA1 Message Date
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
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
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 f76af6103e Add throwable impact event (#3071) 2016-07-08 21:12:45 -07: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
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
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
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
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 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
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
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 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 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
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
CovertJaguar f61605c7af Add missing Minecart/Track hook. 2016-03-21 03:18:25 -07: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
Choonster TheMage 9ca3ede736 Allow finite fluids to be drained correctly 2016-03-07 21:31:27 +11:00
876 changed files with 22117 additions and 5861 deletions

No files matched your search

+1
View File
@@ -22,6 +22,7 @@
#Patch rejects
/patches-/
*.patch.rej
# FML changelog
changelog.txt
+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.
+60
View File
@@ -0,0 +1,60 @@
# How to install Forge: For Players
Go to [http://files.minecraftforge.net](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
*Lastest 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!
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)
For support and user questions, visit [http://www.minecraftforge.net](http://www.minecraftforge.net).
# How to install Forge: For Modders
If you wish to setup a new mod for Forge, visit
[http://files.minecraftforge.net](http://files.minecraftforge.net) and
select the **MDK** download.
This is the `Modder Developer Kit` - basically, an example mod with all
the tooling needed to create a Forge mod workspace ready for use in your
IDE of choice.
Here is a short video from @cpw showing how to install and setup the MDK
in Intellij.
[![HOWTO Install MDK](https://img.youtube.com/vi/PfmlNiHonV0/0.jpg)](https://www.youtube.com/watch?v=PfmlNiHonV0)
# 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! Clone this (either
directly, or make a Fork first if you want to make a PR) and run
```gradlew.bat setup``` or ```gradlew setup```. This will download and
setup all the bits you need to have a functional Forge workspace.
Here is a short video from @cpw showing how to install and setup Forge
in Intellij.
[![HOWTO Install MDK](https://img.youtube.com/vi/yanCpy8p2ZE/0.jpg)](https://www.youtube.com/watch?v=yanCpy8p2ZE)
## Pull requests
Pull requests should target the current default branch. Currently, that is
the 1.10.x branch for Minecraft 1.10.2.
If you intend to modify a minecraft patch, or add a new one, always run
```gradlew genPatches``` to generate your patch and validate that you
are not doing anything unexpected in your patch.
### Contributor License Agreement
As stated in the (https://github.com/MinecraftForge/MinecraftForge/blob/1.10.x/LICENSE-new.txt)
file, we require all contributors to acknowledge the Forge Contributor
License Agreement. 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.
+32 -24
View File
@@ -11,7 +11,7 @@ buildscript {
}
}
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:2.1-SNAPSHOT'
classpath 'net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT'
}
}
@@ -21,16 +21,17 @@ repositories {
url = "file:///home/cpw/projects/repo"
}
}
apply plugin: "maven"
apply plugin: "net.minecraftforge.gradle.patcher"
apply plugin: "net.minecraftforge.gradle.launch4j"
minecraft.version = "1.10.2"
minecraft {
version = "1.9"
mappings = 'snapshot_nodoc_20160312'
//mappings = "snapshot_nodoc_20151122"
mappings = 'snapshot_nodoc_20160518'
workspaceDir = "projects"
versionJson = "jsons/1.9-dev.json"
versionJson = "jsons/${minecraft.version}-dev.json"
buildUserdev = true
buildInstaller = true
installerVersion = "1.4"
@@ -52,6 +53,7 @@ minecraft {
genPatchesFrom "clean"
genMcpPatches = false
applyMcpPatches = false
s2sKeepImports = true
with common
}
}
@@ -66,7 +68,7 @@ extractForgeResources { exclude "**/log4j2.xml" }
genGradleProjects { addTestCompileDep "junit:junit:4.12" }
processJson {
releaseJson = "jsons/1.9-rel.json"
releaseJson = "jsons/${minecraft.version}-rel.json"
addReplacements([
"@minecraft_version@": project.minecraft.version,
"@version@": project.version,
@@ -89,7 +91,7 @@ task changelog(type: JenkinsChangelog) {
outputs.upToDateWhen { false } // never up to date
serverRoot = "http://ci.jenkins.minecraftforge.net/"
jobName = "minecraftforge"
targetBuild = System.env['BUILD_NUMBER'] ?: 0;
targetBuild = System.env['BUILD_NUMBER'] ?: project.ext.properties.buildNumber ?:0;
authName = "console_script"
authPassword = project.hasProperty('forgeJenkinsPass') ? project.getProperty('forgeJenkinsPass') : "";
output = "build/distributions/${project.name}-${project.version}-changelog.txt"
@@ -107,10 +109,9 @@ task crowdin(type: CrowdinDownload) {
def extraTxts = [
changelog, // yeah we can do thi, because gradle and groovy are awesome
"LICENSE-fml.txt",
"CREDITS-fml.txt",
"LICENSE-new.txt",
"MinecraftForge-Credits.txt",
"MinecraftForge-License.txt",
"Paulscode SoundSystem CodecIBXM License.txt",
"Paulscode IBXM Library License.txt"
]
@@ -185,11 +186,10 @@ task makeMdk(type: Zip) {
exclude 'eclipse'
rename 'gitignore\\.txt', '.gitignore'
from 'MinecraftForge-Credits.txt'
from 'MinecraftForge-License.txt'
from 'LICENSE-new.txt'
from 'Paulscode IBXM Library License.txt'
from 'Paulscode SoundSystem CodecIBXM License.txt'
from 'CREDITS-fml.txt'
from 'LICENSE-fml.txt'
}
}
tasks.build.dependsOn makeMdk
@@ -218,14 +218,15 @@ artifacts {
task ciWriteBuildNumber << {
def file = file("src/main/java/net/minecraftforge/common/ForgeVersion.java");
def bn = System.getenv("BUILD_NUMBER")?:0;
def bn = System.getenv("BUILD_NUMBER")?:project.ext.properties.buildNumber?:0;
def outfile = "";
def ln = System.getProperty('line.separator')
def ln = "\n"; //Linux line endings because we're on git!
file.eachLine{ String s ->
if (s.contains("buildVersion") && s.contains("= 0;")) {
if (s.matches("^ public static final int buildVersion = [\\d]+;\$"))
s = " public static final int buildVersion = ${bn};";
}
if (s.matches('^ public static final String mcVersion = "[^\\"]+";'))
s = " public static final String mcVersion = \"${minecraft.version}\";";
outfile += (s+ln);
}
file.write(outfile);
@@ -345,15 +346,13 @@ String getVersionFromJava(File file)
}
}
if (System.getenv().containsKey("BUILD_NUMBER"))
{
build = System.getenv("BUILD_NUMBER");
}
build = System.getenv("BUILD_NUMBER") ?: project.ext.properties.buildNumber ?: 0
String branch = null;
if (!System.getenv().containsKey("GIT_BRANCH"))
{
// TODO: use grgit
// TODO: use grgit - Tried to switch 07/07/16 - jgit broken on windows?
branch = "git rev-parse --abbrev-ref HEAD".execute().text.trim()
}
else
@@ -364,24 +363,33 @@ String getVersionFromJava(File file)
def out = "${minecraft.version.replace('-', '_')}-$major.$minor.$revision.$build"
if (branch && branch != 'master' && branch != 'HEAD')
out += "-$branch"
if (branch && branch != 'master' && branch != 'HEAD' && branch != minecraft.version && branch != minecraft.version + '.0')
{
if (!(branch.endsWith('.x') && minecraft.version.startsWith(branch.substring(0, branch.length() -1))))
out += "-$branch"
}
return out;
}
task resetBuildNumber << {
project.ext.properties.buildNumber = 0;
ciWriteBuildNumber.execute()
}
// re-add old tasks for jenkins compat
// should be remvoed, and the jenkisn fixed when no longer building with FG 1.2
task setupForge { dependsOn 'setup' }
task setupForge { dependsOn 'setup', 'ciWriteBuildNumber' }
task buildPackages { dependsOn 'build' }
//Temporary hack to fix compile errors caused by mappings shading in Bootstrap
/*
task fixParams << {
logger.lifecycle('Fixing param names!')
def params = new File(extractMcpMappings.destinationDir, 'params.csv')
def text = params.text
text = text.replaceAll('p_82499_3_,stack,', 'p_82499_3_,stackIn,')
text = text.replaceAll('p_180276_1_,biome,', 'p_180276_1_,biomeIn,')
params.write(text)
}
fixParams.dependsOn('extractMcpMappings')
extractMcpMappings.finalizedBy('fixParams')
*/
+92
View File
@@ -0,0 +1,92 @@
{
"id": "@minecraft_version@-@project@@version@",
"time": "@timestamp@",
"releaseTime": "1960-01-01T00:00:00-0700",
"type": "release",
"inheritsFrom": "1.10",
"minecraftArguments": "--version FML_DEV --tweakClass net.minecraftforge.fml.common.launcher.FMLTweaker",
"libraries": [
{
"name": "net.minecraft:launchwrapper:1.12"
},
{
"name": "jline:jline:2.13",
"children": ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "com.google.code.findbugs:jsr305:1.3.9",
"children": ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "org.ow2.asm:asm-debug-all:5.0.3",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "com.typesafe.akka:akka-actor_2.11:2.3.3",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "com.typesafe:config:1.2.1",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "org.scala-lang:scala-actors-migration_2.11:1.1.0",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "org.scala-lang:scala-compiler:2.11.1",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "org.scala-lang.plugins:scala-continuations-library_2.11:1.0.2",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "org.scala-lang.plugins:scala-continuations-plugin_2.11.1:1.0.2",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "org.scala-lang:scala-library:2.11.1",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "org.scala-lang.modules:scala-parser-combinators_2.11:1.0.1",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "org.scala-lang:scala-reflect:2.11.1",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "org.scala-lang.modules:scala-swing_2.11:1.0.1",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "org.scala-lang.modules:scala-xml_2.11:1.0.2",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "lzma:lzma:0.0.1"
},
{
"name": "java3d:vecmath:1.5.2"
},
{
"name": "net.sf.trove4j:trove4j:3.0.3"
}
]
}
+139
View File
@@ -0,0 +1,139 @@
{
"install": {
"profileName": "@project@",
"target":"@minecraft_version@-@project@@version@",
"path":"@artifact@",
"version":"@project@ @version@",
"filePath":"@universal_jar@",
"welcome":"Welcome to the simple @project@ installer.",
"minecraft":"@minecraft_version@",
"mirrorList" : "http://files.minecraftforge.net/mirror-brand.list",
"logo":"/big_logo.png"
},
"versionInfo": {
"id": "@minecraft_version@-@project@@version@",
"time": "@timestamp@",
"releaseTime": "1960-01-01T00:00:00-0700",
"type": "release",
"minecraftArguments": "--username ${auth_player_name} --version ${version_name} --gameDir ${game_directory} --assetsDir ${assets_root} --assetIndex ${assets_index_name} --uuid ${auth_uuid} --accessToken ${auth_access_token} --userType ${user_type} --tweakClass net.minecraftforge.fml.common.launcher.FMLTweaker --versionType Forge",
"mainClass": "net.minecraft.launchwrapper.Launch",
"inheritsFrom": "1.10",
"jar": "1.10",
"libraries": [
{
"name": "@artifact@",
"url": "http://files.minecraftforge.net/maven/"
},
{
"name": "net.minecraft:launchwrapper:1.12",
"serverreq":true
},
{
"name": "org.ow2.asm:asm-all:5.0.3",
"serverreq":true
},
{
"name": "jline:jline:2.13",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "2d9530d0a25daffaffda7c35037b046b627bb171" ],
"serverreq":true,
"clientreq":false
},
{
"name": "com.typesafe.akka:akka-actor_2.11:2.3.3",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "ed62e9fc709ca0f2ff1a3220daa8b70a2870078e", "25a86ccfdb6f6dfe08971f4825d0a01be83a6f2e" ],
"serverreq":true,
"clientreq":true
},
{
"name": "com.typesafe:config:1.2.1",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "f771f71fdae3df231bcd54d5ca2d57f0bf93f467", "7d7bc36df0989d72f2d5d057309675777acc528b" ],
"serverreq":true,
"clientreq":true
},
{
"name": "org.scala-lang:scala-actors-migration_2.11:1.1.0",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "dfa8bc42b181d5b9f1a5dd147f8ae308b893eb6f", "8c9aaeeb68487ca519411a14068e1b4d69739207" ],
"serverreq":true,
"clientreq":true
},
{
"name": "org.scala-lang:scala-compiler:2.11.1",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "56ea2e6c025e0821f28d73ca271218b8dd04926a", "1444992390544ba3780867a13ff696a89d7d1639" ],
"serverreq":true,
"clientreq":true
},
{
"name": "org.scala-lang.plugins:scala-continuations-library_2.11:1.0.2",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "87213338cd5a153a7712cb574c0ddd2edfee0386", "0b4c1bf8d48993f138d6e10c0c144e50acfff581" ],
"serverreq":true,
"clientreq":true
},
{
"name": "org.scala-lang.plugins:scala-continuations-plugin_2.11.1:1.0.2",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "1f7371605d4ba42aa26d3443440c0083c587b4e9", "1ea655dda4504ae0a367327e2340cd3beaee6c73" ],
"serverreq":true,
"clientreq":true
},
{
"name": "org.scala-lang:scala-library:2.11.1",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "0e11da23da3eabab9f4777b9220e60d44c1aab6a", "1e4df76e835201c6eabd43adca89ab11f225f134" ],
"serverreq":true,
"clientreq":true
},
{
"name": "org.scala-lang:scala-parser-combinators_2.11:1.0.1",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "f05d7345bf5a58924f2837c6c1f4d73a938e1ff0", "a1cbbcbde1dcc614f4253ed1aa0b320bc78d8f1d" ],
"serverreq":true,
"clientreq":true
},
{
"name": "org.scala-lang:scala-reflect:2.11.1",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "6580347e61cc7f8e802941e7fde40fa83b8badeb", "91ce0f0be20f4a536321724b4b3bbc6530ddcd88" ],
"serverreq":true,
"clientreq":true
},
{
"name": "org.scala-lang:scala-swing_2.11:1.0.1",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "b1cdd92bd47b1e1837139c1c53020e86bb9112ae", "d77152691dcf5bbdb00529af37aa7d3d887b3e63" ],
"serverreq":true,
"clientreq":true
},
{
"name": "org.scala-lang:scala-xml_2.11:1.0.2",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "7a80ec00aec122fba7cd4e0d4cdd87ff7e4cb6d0", "62736b01689d56b6d09a0164b7ef9da2b0b9633d" ],
"serverreq":true,
"clientreq":true
},
{
"name": "lzma:lzma:0.0.1",
"serverreq":true
},
{
"name": "net.sf.jopt-simple:jopt-simple:4.6",
"serverreq":true
},
{
"name": "java3d:vecmath:1.5.2",
"clientreq":true,
"serverreq":true
},
{
"name": "net.sf.trove4j:trove4j:3.0.3",
"clientreq":true,
"serverreq":true
}
]
}
}
+92
View File
@@ -0,0 +1,92 @@
{
"id": "@minecraft_version@-@project@@version@",
"time": "@timestamp@",
"releaseTime": "1960-01-01T00:00:00-0700",
"type": "release",
"inheritsFrom": "1.10.2",
"minecraftArguments": "--version FML_DEV --tweakClass net.minecraftforge.fml.common.launcher.FMLTweaker",
"libraries": [
{
"name": "net.minecraft:launchwrapper:1.12"
},
{
"name": "jline:jline:2.13",
"children": ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "com.google.code.findbugs:jsr305:1.3.9",
"children": ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "org.ow2.asm:asm-debug-all:5.0.3",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "com.typesafe.akka:akka-actor_2.11:2.3.3",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "com.typesafe:config:1.2.1",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "org.scala-lang:scala-actors-migration_2.11:1.1.0",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "org.scala-lang:scala-compiler:2.11.1",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "org.scala-lang.plugins:scala-continuations-library_2.11:1.0.2",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "org.scala-lang.plugins:scala-continuations-plugin_2.11.1:1.0.2",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "org.scala-lang:scala-library:2.11.1",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "org.scala-lang.modules:scala-parser-combinators_2.11:1.0.1",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "org.scala-lang:scala-reflect:2.11.1",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "org.scala-lang.modules:scala-swing_2.11:1.0.1",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "org.scala-lang.modules:scala-xml_2.11:1.0.2",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "lzma:lzma:0.0.1"
},
{
"name": "java3d:vecmath:1.5.2"
},
{
"name": "net.sf.trove4j:trove4j:3.0.3"
}
]
}
+139
View File
@@ -0,0 +1,139 @@
{
"install": {
"profileName": "@project@",
"target":"@minecraft_version@-@project@@version@",
"path":"@artifact@",
"version":"@project@ @version@",
"filePath":"@universal_jar@",
"welcome":"Welcome to the simple @project@ installer.",
"minecraft":"@minecraft_version@",
"mirrorList" : "http://files.minecraftforge.net/mirror-brand.list",
"logo":"/big_logo.png"
},
"versionInfo": {
"id": "@minecraft_version@-@project@@version@",
"time": "@timestamp@",
"releaseTime": "1960-01-01T00:00:00-0700",
"type": "release",
"minecraftArguments": "--username ${auth_player_name} --version ${version_name} --gameDir ${game_directory} --assetsDir ${assets_root} --assetIndex ${assets_index_name} --uuid ${auth_uuid} --accessToken ${auth_access_token} --userType ${user_type} --tweakClass net.minecraftforge.fml.common.launcher.FMLTweaker --versionType Forge",
"mainClass": "net.minecraft.launchwrapper.Launch",
"inheritsFrom": "1.10.2",
"jar": "1.10.2",
"libraries": [
{
"name": "@artifact@",
"url": "http://files.minecraftforge.net/maven/"
},
{
"name": "net.minecraft:launchwrapper:1.12",
"serverreq":true
},
{
"name": "org.ow2.asm:asm-all:5.0.3",
"serverreq":true
},
{
"name": "jline:jline:2.13",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "2d9530d0a25daffaffda7c35037b046b627bb171" ],
"serverreq":true,
"clientreq":false
},
{
"name": "com.typesafe.akka:akka-actor_2.11:2.3.3",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "ed62e9fc709ca0f2ff1a3220daa8b70a2870078e", "25a86ccfdb6f6dfe08971f4825d0a01be83a6f2e" ],
"serverreq":true,
"clientreq":true
},
{
"name": "com.typesafe:config:1.2.1",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "f771f71fdae3df231bcd54d5ca2d57f0bf93f467", "7d7bc36df0989d72f2d5d057309675777acc528b" ],
"serverreq":true,
"clientreq":true
},
{
"name": "org.scala-lang:scala-actors-migration_2.11:1.1.0",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "dfa8bc42b181d5b9f1a5dd147f8ae308b893eb6f", "8c9aaeeb68487ca519411a14068e1b4d69739207" ],
"serverreq":true,
"clientreq":true
},
{
"name": "org.scala-lang:scala-compiler:2.11.1",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "56ea2e6c025e0821f28d73ca271218b8dd04926a", "1444992390544ba3780867a13ff696a89d7d1639" ],
"serverreq":true,
"clientreq":true
},
{
"name": "org.scala-lang.plugins:scala-continuations-library_2.11:1.0.2",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "87213338cd5a153a7712cb574c0ddd2edfee0386", "0b4c1bf8d48993f138d6e10c0c144e50acfff581" ],
"serverreq":true,
"clientreq":true
},
{
"name": "org.scala-lang.plugins:scala-continuations-plugin_2.11.1:1.0.2",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "1f7371605d4ba42aa26d3443440c0083c587b4e9", "1ea655dda4504ae0a367327e2340cd3beaee6c73" ],
"serverreq":true,
"clientreq":true
},
{
"name": "org.scala-lang:scala-library:2.11.1",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "0e11da23da3eabab9f4777b9220e60d44c1aab6a", "1e4df76e835201c6eabd43adca89ab11f225f134" ],
"serverreq":true,
"clientreq":true
},
{
"name": "org.scala-lang:scala-parser-combinators_2.11:1.0.1",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "f05d7345bf5a58924f2837c6c1f4d73a938e1ff0", "a1cbbcbde1dcc614f4253ed1aa0b320bc78d8f1d" ],
"serverreq":true,
"clientreq":true
},
{
"name": "org.scala-lang:scala-reflect:2.11.1",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "6580347e61cc7f8e802941e7fde40fa83b8badeb", "91ce0f0be20f4a536321724b4b3bbc6530ddcd88" ],
"serverreq":true,
"clientreq":true
},
{
"name": "org.scala-lang:scala-swing_2.11:1.0.1",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "b1cdd92bd47b1e1837139c1c53020e86bb9112ae", "d77152691dcf5bbdb00529af37aa7d3d887b3e63" ],
"serverreq":true,
"clientreq":true
},
{
"name": "org.scala-lang:scala-xml_2.11:1.0.2",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "7a80ec00aec122fba7cd4e0d4cdd87ff7e4cb6d0", "62736b01689d56b6d09a0164b7ef9da2b0b9633d" ],
"serverreq":true,
"clientreq":true
},
{
"name": "lzma:lzma:0.0.1",
"serverreq":true
},
{
"name": "net.sf.jopt-simple:jopt-simple:4.6",
"serverreq":true
},
{
"name": "java3d:vecmath:1.5.2",
"clientreq":true,
"serverreq":true
},
{
"name": "net.sf.trove4j:trove4j:3.0.3",
"clientreq":true,
"serverreq":true
}
]
}
}
+563
View File
@@ -0,0 +1,563 @@
{
"assetIndex": {
"id": "1.10",
"sha1": "d3bfc4ffba1ea334c725dd91eaf4ecd402d641f7",
"size": 145627,
"url": "https://launchermeta.mojang.com/mc/assets/1.10/d3bfc4ffba1ea334c725dd91eaf4ecd402d641f7/1.10.json",
"totalSize": 121931230
},
"assets": "1.10",
"downloads": {
"client": {
"sha1": "dc8e75ac7274ff6af462b0dcec43c307de668e40",
"size": 8857653,
"url": "https://launcher.mojang.com/mc/game/1.10.2/client/dc8e75ac7274ff6af462b0dcec43c307de668e40/client.jar"
},
"server": {
"sha1": "3d501b23df53c548254f5e3f66492d178a48db63",
"size": 9459897,
"url": "https://launcher.mojang.com/mc/game/1.10.2/server/3d501b23df53c548254f5e3f66492d178a48db63/server.jar"
}
},
"id": "1.10.2",
"libraries": [
{
"name": "com.mojang:netty:1.6",
"downloads": {
"artifact": {
"size": 7877,
"sha1": "4b75825a06139752bd800d9e29c5fd55b8b1b1e4",
"path": "com/mojang/netty/1.6/netty-1.6.jar",
"url": "https://libraries.minecraft.net/com/mojang/netty/1.6/netty-1.6.jar"
}
}
},
{
"name": "oshi-project:oshi-core:1.1",
"downloads": {
"artifact": {
"size": 30973,
"sha1": "9ddf7b048a8d701be231c0f4f95fd986198fd2d8",
"path": "oshi-project/oshi-core/1.1/oshi-core-1.1.jar",
"url": "https://libraries.minecraft.net/oshi-project/oshi-core/1.1/oshi-core-1.1.jar"
}
}
},
{
"name": "net.java.dev.jna:jna:3.4.0",
"downloads": {
"artifact": {
"size": 1008730,
"sha1": "803ff252fedbd395baffd43b37341dc4a150a554",
"path": "net/java/dev/jna/jna/3.4.0/jna-3.4.0.jar",
"url": "https://libraries.minecraft.net/net/java/dev/jna/jna/3.4.0/jna-3.4.0.jar"
}
}
},
{
"name": "net.java.dev.jna:platform:3.4.0",
"downloads": {
"artifact": {
"size": 913436,
"sha1": "e3f70017be8100d3d6923f50b3d2ee17714e9c13",
"path": "net/java/dev/jna/platform/3.4.0/platform-3.4.0.jar",
"url": "https://libraries.minecraft.net/net/java/dev/jna/platform/3.4.0/platform-3.4.0.jar"
}
}
},
{
"name": "com.ibm.icu:icu4j-core-mojang:51.2",
"downloads": {
"artifact": {
"size": 1634692,
"sha1": "63d216a9311cca6be337c1e458e587f99d382b84",
"path": "com/ibm/icu/icu4j-core-mojang/51.2/icu4j-core-mojang-51.2.jar",
"url": "https://libraries.minecraft.net/com/ibm/icu/icu4j-core-mojang/51.2/icu4j-core-mojang-51.2.jar"
}
}
},
{
"name": "net.sf.jopt-simple:jopt-simple:4.6",
"downloads": {
"artifact": {
"size": 62477,
"sha1": "306816fb57cf94f108a43c95731b08934dcae15c",
"path": "net/sf/jopt-simple/jopt-simple/4.6/jopt-simple-4.6.jar",
"url": "https://libraries.minecraft.net/net/sf/jopt-simple/jopt-simple/4.6/jopt-simple-4.6.jar"
}
}
},
{
"name": "com.paulscode:codecjorbis:20101023",
"downloads": {
"artifact": {
"size": 103871,
"sha1": "c73b5636faf089d9f00e8732a829577de25237ee",
"path": "com/paulscode/codecjorbis/20101023/codecjorbis-20101023.jar",
"url": "https://libraries.minecraft.net/com/paulscode/codecjorbis/20101023/codecjorbis-20101023.jar"
}
}
},
{
"name": "com.paulscode:codecwav:20101023",
"downloads": {
"artifact": {
"size": 5618,
"sha1": "12f031cfe88fef5c1dd36c563c0a3a69bd7261da",
"path": "com/paulscode/codecwav/20101023/codecwav-20101023.jar",
"url": "https://libraries.minecraft.net/com/paulscode/codecwav/20101023/codecwav-20101023.jar"
}
}
},
{
"name": "com.paulscode:libraryjavasound:20101123",
"downloads": {
"artifact": {
"size": 21679,
"sha1": "5c5e304366f75f9eaa2e8cca546a1fb6109348b3",
"path": "com/paulscode/libraryjavasound/20101123/libraryjavasound-20101123.jar",
"url": "https://libraries.minecraft.net/com/paulscode/libraryjavasound/20101123/libraryjavasound-20101123.jar"
}
}
},
{
"name": "com.paulscode:librarylwjglopenal:20100824",
"downloads": {
"artifact": {
"size": 18981,
"sha1": "73e80d0794c39665aec3f62eee88ca91676674ef",
"path": "com/paulscode/librarylwjglopenal/20100824/librarylwjglopenal-20100824.jar",
"url": "https://libraries.minecraft.net/com/paulscode/librarylwjglopenal/20100824/librarylwjglopenal-20100824.jar"
}
}
},
{
"name": "com.paulscode:soundsystem:20120107",
"downloads": {
"artifact": {
"size": 65020,
"sha1": "419c05fe9be71f792b2d76cfc9b67f1ed0fec7f6",
"path": "com/paulscode/soundsystem/20120107/soundsystem-20120107.jar",
"url": "https://libraries.minecraft.net/com/paulscode/soundsystem/20120107/soundsystem-20120107.jar"
}
}
},
{
"name": "io.netty:netty-all:4.0.23.Final",
"downloads": {
"artifact": {
"size": 1779991,
"sha1": "0294104aaf1781d6a56a07d561e792c5d0c95f45",
"path": "io/netty/netty-all/4.0.23.Final/netty-all-4.0.23.Final.jar",
"url": "https://libraries.minecraft.net/io/netty/netty-all/4.0.23.Final/netty-all-4.0.23.Final.jar"
}
}
},
{
"name": "com.google.guava:guava:17.0",
"downloads": {
"artifact": {
"size": 2243036,
"sha1": "9c6ef172e8de35fd8d4d8783e4821e57cdef7445",
"path": "com/google/guava/guava/17.0/guava-17.0.jar",
"url": "https://libraries.minecraft.net/com/google/guava/guava/17.0/guava-17.0.jar"
}
}
},
{
"name": "org.apache.commons:commons-lang3:3.3.2",
"downloads": {
"artifact": {
"size": 412739,
"sha1": "90a3822c38ec8c996e84c16a3477ef632cbc87a3",
"path": "org/apache/commons/commons-lang3/3.3.2/commons-lang3-3.3.2.jar",
"url": "https://libraries.minecraft.net/org/apache/commons/commons-lang3/3.3.2/commons-lang3-3.3.2.jar"
}
}
},
{
"name": "commons-io:commons-io:2.4",
"downloads": {
"artifact": {
"size": 185140,
"sha1": "b1b6ea3b7e4aa4f492509a4952029cd8e48019ad",
"path": "commons-io/commons-io/2.4/commons-io-2.4.jar",
"url": "https://libraries.minecraft.net/commons-io/commons-io/2.4/commons-io-2.4.jar"
}
}
},
{
"name": "commons-codec:commons-codec:1.9",
"downloads": {
"artifact": {
"size": 263965,
"sha1": "9ce04e34240f674bc72680f8b843b1457383161a",
"path": "commons-codec/commons-codec/1.9/commons-codec-1.9.jar",
"url": "https://libraries.minecraft.net/commons-codec/commons-codec/1.9/commons-codec-1.9.jar"
}
}
},
{
"name": "net.java.jinput:jinput:2.0.5",
"downloads": {
"artifact": {
"size": 208338,
"sha1": "39c7796b469a600f72380316f6b1f11db6c2c7c4",
"path": "net/java/jinput/jinput/2.0.5/jinput-2.0.5.jar",
"url": "https://libraries.minecraft.net/net/java/jinput/jinput/2.0.5/jinput-2.0.5.jar"
}
}
},
{
"name": "net.java.jutils:jutils:1.0.0",
"downloads": {
"artifact": {
"size": 7508,
"sha1": "e12fe1fda814bd348c1579329c86943d2cd3c6a6",
"path": "net/java/jutils/jutils/1.0.0/jutils-1.0.0.jar",
"url": "https://libraries.minecraft.net/net/java/jutils/jutils/1.0.0/jutils-1.0.0.jar"
}
}
},
{
"name": "com.google.code.gson:gson:2.2.4",
"downloads": {
"artifact": {
"size": 190432,
"sha1": "a60a5e993c98c864010053cb901b7eab25306568",
"path": "com/google/code/gson/gson/2.2.4/gson-2.2.4.jar",
"url": "https://libraries.minecraft.net/com/google/code/gson/gson/2.2.4/gson-2.2.4.jar"
}
}
},
{
"name": "com.mojang:authlib:1.5.22",
"downloads": {
"artifact": {
"size": 64539,
"sha1": "afaa8f6df976fcb5520e76ef1d5798c9e6b5c0b2",
"path": "com/mojang/authlib/1.5.22/authlib-1.5.22.jar",
"url": "https://libraries.minecraft.net/com/mojang/authlib/1.5.22/authlib-1.5.22.jar"
}
}
},
{
"name": "com.mojang:realms:1.9.3",
"downloads": {
"artifact": {
"size": 1575798,
"sha1": "b291425bf7ef763452eaa894575018706339f72b",
"path": "com/mojang/realms/1.9.3/realms-1.9.3.jar",
"url": "https://libraries.minecraft.net/com/mojang/realms/1.9.3/realms-1.9.3.jar"
}
}
},
{
"name": "org.apache.commons:commons-compress:1.8.1",
"downloads": {
"artifact": {
"size": 365552,
"sha1": "a698750c16740fd5b3871425f4cb3bbaa87f529d",
"path": "org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.jar",
"url": "https://libraries.minecraft.net/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.jar"
}
}
},
{
"name": "org.apache.httpcomponents:httpclient:4.3.3",
"downloads": {
"artifact": {
"size": 589512,
"sha1": "18f4247ff4572a074444572cee34647c43e7c9c7",
"path": "org/apache/httpcomponents/httpclient/4.3.3/httpclient-4.3.3.jar",
"url": "https://libraries.minecraft.net/org/apache/httpcomponents/httpclient/4.3.3/httpclient-4.3.3.jar"
}
}
},
{
"name": "commons-logging:commons-logging:1.1.3",
"downloads": {
"artifact": {
"size": 62050,
"sha1": "f6f66e966c70a83ffbdb6f17a0919eaf7c8aca7f",
"path": "commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar",
"url": "https://libraries.minecraft.net/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar"
}
}
},
{
"name": "org.apache.httpcomponents:httpcore:4.3.2",
"downloads": {
"artifact": {
"size": 282269,
"sha1": "31fbbff1ddbf98f3aa7377c94d33b0447c646b6e",
"path": "org/apache/httpcomponents/httpcore/4.3.2/httpcore-4.3.2.jar",
"url": "https://libraries.minecraft.net/org/apache/httpcomponents/httpcore/4.3.2/httpcore-4.3.2.jar"
}
}
},
{
"name": "it.unimi.dsi:fastutil:7.0.12_mojang",
"downloads": {
"artifact": {
"size": 522306,
"sha1": "ba787e741efdc425fc5d2ea654b57c15fba27efa",
"path": "it/unimi/dsi/fastutil/7.0.12_mojang/fastutil-7.0.12_mojang.jar",
"url": "https://libraries.minecraft.net/it/unimi/dsi/fastutil/7.0.12_mojang/fastutil-7.0.12_mojang.jar"
}
}
},
{
"name": "org.apache.logging.log4j:log4j-api:2.0-beta9",
"downloads": {
"artifact": {
"size": 108161,
"sha1": "1dd66e68cccd907880229f9e2de1314bd13ff785",
"path": "org/apache/logging/log4j/log4j-api/2.0-beta9/log4j-api-2.0-beta9.jar",
"url": "https://libraries.minecraft.net/org/apache/logging/log4j/log4j-api/2.0-beta9/log4j-api-2.0-beta9.jar"
}
}
},
{
"name": "org.apache.logging.log4j:log4j-core:2.0-beta9",
"downloads": {
"artifact": {
"size": 681134,
"sha1": "678861ba1b2e1fccb594bb0ca03114bb05da9695",
"path": "org/apache/logging/log4j/log4j-core/2.0-beta9/log4j-core-2.0-beta9.jar",
"url": "https://libraries.minecraft.net/org/apache/logging/log4j/log4j-core/2.0-beta9/log4j-core-2.0-beta9.jar"
}
}
},
{
"name": "org.lwjgl.lwjgl:lwjgl:2.9.4-nightly-20150209",
"rules": [
{
"action": "allow"
},
{
"action": "disallow",
"os": {
"name": "osx"
}
}
],
"downloads": {
"artifact": {
"size": 1047168,
"sha1": "697517568c68e78ae0b4544145af031c81082dfe",
"path": "org/lwjgl/lwjgl/lwjgl/2.9.4-nightly-20150209/lwjgl-2.9.4-nightly-20150209.jar",
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl/2.9.4-nightly-20150209/lwjgl-2.9.4-nightly-20150209.jar"
}
}
},
{
"name": "org.lwjgl.lwjgl:lwjgl_util:2.9.4-nightly-20150209",
"rules": [
{
"action": "allow"
},
{
"action": "disallow",
"os": {
"name": "osx"
}
}
],
"downloads": {
"artifact": {
"size": 173887,
"sha1": "d51a7c040a721d13efdfbd34f8b257b2df882ad0",
"path": "org/lwjgl/lwjgl/lwjgl_util/2.9.4-nightly-20150209/lwjgl_util-2.9.4-nightly-20150209.jar",
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl_util/2.9.4-nightly-20150209/lwjgl_util-2.9.4-nightly-20150209.jar"
}
}
},
{
"extract": {
"exclude": [
"META-INF/"
]
},
"name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.4-nightly-20150209",
"natives": {
"linux": "natives-linux",
"osx": "natives-osx",
"windows": "natives-windows"
},
"rules": [
{
"action": "allow"
},
{
"action": "disallow",
"os": {
"name": "osx"
}
}
],
"downloads": {
"classifiers": {
"natives-linux": {
"size": 578680,
"sha1": "931074f46c795d2f7b30ed6395df5715cfd7675b",
"path": "org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209-natives-linux.jar",
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209-natives-linux.jar"
},
"natives-osx": {
"size": 426822,
"sha1": "bcab850f8f487c3f4c4dbabde778bb82bd1a40ed",
"path": "org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209-natives-osx.jar",
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209-natives-osx.jar"
},
"natives-windows": {
"size": 613748,
"sha1": "b84d5102b9dbfabfeb5e43c7e2828d98a7fc80e0",
"path": "org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209-natives-windows.jar",
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209-natives-windows.jar"
}
},
"artifact": {
"size": 22,
"sha1": "b04f3ee8f5e43fa3b162981b50bb72fe1acabb33",
"path": "org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209.jar",
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209.jar"
}
}
},
{
"name": "org.lwjgl.lwjgl:lwjgl:2.9.2-nightly-20140822",
"rules": [
{
"action": "allow",
"os": {
"name": "osx"
}
}
],
"downloads": {
"artifact": {
"size": 1045632,
"sha1": "7707204c9ffa5d91662de95f0a224e2f721b22af",
"path": "org/lwjgl/lwjgl/lwjgl/2.9.2-nightly-20140822/lwjgl-2.9.2-nightly-20140822.jar",
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl/2.9.2-nightly-20140822/lwjgl-2.9.2-nightly-20140822.jar"
}
}
},
{
"name": "org.lwjgl.lwjgl:lwjgl_util:2.9.2-nightly-20140822",
"rules": [
{
"action": "allow",
"os": {
"name": "osx"
}
}
],
"downloads": {
"artifact": {
"size": 173887,
"sha1": "f0e612c840a7639c1f77f68d72a28dae2f0c8490",
"path": "org/lwjgl/lwjgl/lwjgl_util/2.9.2-nightly-20140822/lwjgl_util-2.9.2-nightly-20140822.jar",
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl_util/2.9.2-nightly-20140822/lwjgl_util-2.9.2-nightly-20140822.jar"
}
}
},
{
"extract": {
"exclude": [
"META-INF/"
]
},
"name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.2-nightly-20140822",
"natives": {
"linux": "natives-linux",
"osx": "natives-osx",
"windows": "natives-windows"
},
"rules": [
{
"action": "allow",
"os": {
"name": "osx"
}
}
],
"downloads": {
"classifiers": {
"natives-linux": {
"size": 578539,
"sha1": "d898a33b5d0a6ef3fed3a4ead506566dce6720a5",
"path": "org/lwjgl/lwjgl/lwjgl-platform/2.9.2-nightly-20140822/lwjgl-platform-2.9.2-nightly-20140822-natives-linux.jar",
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.2-nightly-20140822/lwjgl-platform-2.9.2-nightly-20140822-natives-linux.jar"
},
"natives-osx": {
"size": 468116,
"sha1": "79f5ce2fea02e77fe47a3c745219167a542121d7",
"path": "org/lwjgl/lwjgl/lwjgl-platform/2.9.2-nightly-20140822/lwjgl-platform-2.9.2-nightly-20140822-natives-osx.jar",
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.2-nightly-20140822/lwjgl-platform-2.9.2-nightly-20140822-natives-osx.jar"
},
"natives-windows": {
"size": 613680,
"sha1": "78b2a55ce4dc29c6b3ec4df8ca165eba05f9b341",
"path": "org/lwjgl/lwjgl/lwjgl-platform/2.9.2-nightly-20140822/lwjgl-platform-2.9.2-nightly-20140822-natives-windows.jar",
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.2-nightly-20140822/lwjgl-platform-2.9.2-nightly-20140822-natives-windows.jar"
}
}
}
},
{
"extract": {
"exclude": [
"META-INF/"
]
},
"name": "net.java.jinput:jinput-platform:2.0.5",
"natives": {
"linux": "natives-linux",
"osx": "natives-osx",
"windows": "natives-windows"
},
"downloads": {
"classifiers": {
"natives-linux": {
"size": 10362,
"sha1": "7ff832a6eb9ab6a767f1ade2b548092d0fa64795",
"path": "net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-linux.jar",
"url": "https://libraries.minecraft.net/net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-linux.jar"
},
"natives-osx": {
"size": 12186,
"sha1": "53f9c919f34d2ca9de8c51fc4e1e8282029a9232",
"path": "net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-osx.jar",
"url": "https://libraries.minecraft.net/net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-osx.jar"
},
"natives-windows": {
"size": 155179,
"sha1": "385ee093e01f587f30ee1c8a2ee7d408fd732e16",
"path": "net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-windows.jar",
"url": "https://libraries.minecraft.net/net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-windows.jar"
}
}
}
}
],
"logging": {
"client": {
"file": {
"id": "client-1.7.xml",
"sha1": "49e2e41bc339698bd8199e0da9398c926e68c95d",
"size": 467,
"url": "https://launchermeta.mojang.com/mc/log_configs/client-1.7.xml/49e2e41bc339698bd8199e0da9398c926e68c95d/client-1.7.xml"
},
"argument": "-Dlog4j.configurationFile=${path}",
"type": "log4j2-xml"
}
},
"mainClass": "net.minecraft.client.main.Main",
"minecraftArguments": "--username ${auth_player_name} --version ${version_name} --gameDir ${game_directory} --assetsDir ${assets_root} --assetIndex ${assets_index_name} --uuid ${auth_uuid} --accessToken ${auth_access_token} --userType ${user_type} --versionType ${version_type}",
"minimumLauncherVersion": 18,
"releaseTime": "2016-06-23T09:17:32+00:00",
"time": "2016-06-23T09:45:47+00:00",
"type": "release"
}
+563
View File
@@ -0,0 +1,563 @@
{
"assetIndex": {
"id": "1.10",
"sha1": "d3bfc4ffba1ea334c725dd91eaf4ecd402d641f7",
"size": 145627,
"url": "https://launchermeta.mojang.com/mc/assets/1.10/d3bfc4ffba1ea334c725dd91eaf4ecd402d641f7/1.10.json",
"totalSize": 121931230
},
"assets": "1.10",
"downloads": {
"client": {
"sha1": "ba038efbc6d9e4a046927a7658413d0276895739",
"size": 8856992,
"url": "https://launcher.mojang.com/mc/game/1.10/client/ba038efbc6d9e4a046927a7658413d0276895739/client.jar"
},
"server": {
"sha1": "a96617ffdf5dabbb718ab11a9a68e50545fc5bee",
"size": 9459395,
"url": "https://launcher.mojang.com/mc/game/1.10/server/a96617ffdf5dabbb718ab11a9a68e50545fc5bee/server.jar"
}
},
"id": "1.10",
"libraries": [
{
"name": "com.mojang:netty:1.6",
"downloads": {
"artifact": {
"size": 7877,
"sha1": "4b75825a06139752bd800d9e29c5fd55b8b1b1e4",
"path": "com/mojang/netty/1.6/netty-1.6.jar",
"url": "https://libraries.minecraft.net/com/mojang/netty/1.6/netty-1.6.jar"
}
}
},
{
"name": "oshi-project:oshi-core:1.1",
"downloads": {
"artifact": {
"size": 30973,
"sha1": "9ddf7b048a8d701be231c0f4f95fd986198fd2d8",
"path": "oshi-project/oshi-core/1.1/oshi-core-1.1.jar",
"url": "https://libraries.minecraft.net/oshi-project/oshi-core/1.1/oshi-core-1.1.jar"
}
}
},
{
"name": "net.java.dev.jna:jna:3.4.0",
"downloads": {
"artifact": {
"size": 1008730,
"sha1": "803ff252fedbd395baffd43b37341dc4a150a554",
"path": "net/java/dev/jna/jna/3.4.0/jna-3.4.0.jar",
"url": "https://libraries.minecraft.net/net/java/dev/jna/jna/3.4.0/jna-3.4.0.jar"
}
}
},
{
"name": "net.java.dev.jna:platform:3.4.0",
"downloads": {
"artifact": {
"size": 913436,
"sha1": "e3f70017be8100d3d6923f50b3d2ee17714e9c13",
"path": "net/java/dev/jna/platform/3.4.0/platform-3.4.0.jar",
"url": "https://libraries.minecraft.net/net/java/dev/jna/platform/3.4.0/platform-3.4.0.jar"
}
}
},
{
"name": "com.ibm.icu:icu4j-core-mojang:51.2",
"downloads": {
"artifact": {
"size": 1634692,
"sha1": "63d216a9311cca6be337c1e458e587f99d382b84",
"path": "com/ibm/icu/icu4j-core-mojang/51.2/icu4j-core-mojang-51.2.jar",
"url": "https://libraries.minecraft.net/com/ibm/icu/icu4j-core-mojang/51.2/icu4j-core-mojang-51.2.jar"
}
}
},
{
"name": "net.sf.jopt-simple:jopt-simple:4.6",
"downloads": {
"artifact": {
"size": 62477,
"sha1": "306816fb57cf94f108a43c95731b08934dcae15c",
"path": "net/sf/jopt-simple/jopt-simple/4.6/jopt-simple-4.6.jar",
"url": "https://libraries.minecraft.net/net/sf/jopt-simple/jopt-simple/4.6/jopt-simple-4.6.jar"
}
}
},
{
"name": "com.paulscode:codecjorbis:20101023",
"downloads": {
"artifact": {
"size": 103871,
"sha1": "c73b5636faf089d9f00e8732a829577de25237ee",
"path": "com/paulscode/codecjorbis/20101023/codecjorbis-20101023.jar",
"url": "https://libraries.minecraft.net/com/paulscode/codecjorbis/20101023/codecjorbis-20101023.jar"
}
}
},
{
"name": "com.paulscode:codecwav:20101023",
"downloads": {
"artifact": {
"size": 5618,
"sha1": "12f031cfe88fef5c1dd36c563c0a3a69bd7261da",
"path": "com/paulscode/codecwav/20101023/codecwav-20101023.jar",
"url": "https://libraries.minecraft.net/com/paulscode/codecwav/20101023/codecwav-20101023.jar"
}
}
},
{
"name": "com.paulscode:libraryjavasound:20101123",
"downloads": {
"artifact": {
"size": 21679,
"sha1": "5c5e304366f75f9eaa2e8cca546a1fb6109348b3",
"path": "com/paulscode/libraryjavasound/20101123/libraryjavasound-20101123.jar",
"url": "https://libraries.minecraft.net/com/paulscode/libraryjavasound/20101123/libraryjavasound-20101123.jar"
}
}
},
{
"name": "com.paulscode:librarylwjglopenal:20100824",
"downloads": {
"artifact": {
"size": 18981,
"sha1": "73e80d0794c39665aec3f62eee88ca91676674ef",
"path": "com/paulscode/librarylwjglopenal/20100824/librarylwjglopenal-20100824.jar",
"url": "https://libraries.minecraft.net/com/paulscode/librarylwjglopenal/20100824/librarylwjglopenal-20100824.jar"
}
}
},
{
"name": "com.paulscode:soundsystem:20120107",
"downloads": {
"artifact": {
"size": 65020,
"sha1": "419c05fe9be71f792b2d76cfc9b67f1ed0fec7f6",
"path": "com/paulscode/soundsystem/20120107/soundsystem-20120107.jar",
"url": "https://libraries.minecraft.net/com/paulscode/soundsystem/20120107/soundsystem-20120107.jar"
}
}
},
{
"name": "io.netty:netty-all:4.0.23.Final",
"downloads": {
"artifact": {
"size": 1779991,
"sha1": "0294104aaf1781d6a56a07d561e792c5d0c95f45",
"path": "io/netty/netty-all/4.0.23.Final/netty-all-4.0.23.Final.jar",
"url": "https://libraries.minecraft.net/io/netty/netty-all/4.0.23.Final/netty-all-4.0.23.Final.jar"
}
}
},
{
"name": "com.google.guava:guava:17.0",
"downloads": {
"artifact": {
"size": 2243036,
"sha1": "9c6ef172e8de35fd8d4d8783e4821e57cdef7445",
"path": "com/google/guava/guava/17.0/guava-17.0.jar",
"url": "https://libraries.minecraft.net/com/google/guava/guava/17.0/guava-17.0.jar"
}
}
},
{
"name": "org.apache.commons:commons-lang3:3.3.2",
"downloads": {
"artifact": {
"size": 412739,
"sha1": "90a3822c38ec8c996e84c16a3477ef632cbc87a3",
"path": "org/apache/commons/commons-lang3/3.3.2/commons-lang3-3.3.2.jar",
"url": "https://libraries.minecraft.net/org/apache/commons/commons-lang3/3.3.2/commons-lang3-3.3.2.jar"
}
}
},
{
"name": "commons-io:commons-io:2.4",
"downloads": {
"artifact": {
"size": 185140,
"sha1": "b1b6ea3b7e4aa4f492509a4952029cd8e48019ad",
"path": "commons-io/commons-io/2.4/commons-io-2.4.jar",
"url": "https://libraries.minecraft.net/commons-io/commons-io/2.4/commons-io-2.4.jar"
}
}
},
{
"name": "commons-codec:commons-codec:1.9",
"downloads": {
"artifact": {
"size": 263965,
"sha1": "9ce04e34240f674bc72680f8b843b1457383161a",
"path": "commons-codec/commons-codec/1.9/commons-codec-1.9.jar",
"url": "https://libraries.minecraft.net/commons-codec/commons-codec/1.9/commons-codec-1.9.jar"
}
}
},
{
"name": "net.java.jinput:jinput:2.0.5",
"downloads": {
"artifact": {
"size": 208338,
"sha1": "39c7796b469a600f72380316f6b1f11db6c2c7c4",
"path": "net/java/jinput/jinput/2.0.5/jinput-2.0.5.jar",
"url": "https://libraries.minecraft.net/net/java/jinput/jinput/2.0.5/jinput-2.0.5.jar"
}
}
},
{
"name": "net.java.jutils:jutils:1.0.0",
"downloads": {
"artifact": {
"size": 7508,
"sha1": "e12fe1fda814bd348c1579329c86943d2cd3c6a6",
"path": "net/java/jutils/jutils/1.0.0/jutils-1.0.0.jar",
"url": "https://libraries.minecraft.net/net/java/jutils/jutils/1.0.0/jutils-1.0.0.jar"
}
}
},
{
"name": "com.google.code.gson:gson:2.2.4",
"downloads": {
"artifact": {
"size": 190432,
"sha1": "a60a5e993c98c864010053cb901b7eab25306568",
"path": "com/google/code/gson/gson/2.2.4/gson-2.2.4.jar",
"url": "https://libraries.minecraft.net/com/google/code/gson/gson/2.2.4/gson-2.2.4.jar"
}
}
},
{
"name": "com.mojang:authlib:1.5.22",
"downloads": {
"artifact": {
"size": 64539,
"sha1": "afaa8f6df976fcb5520e76ef1d5798c9e6b5c0b2",
"path": "com/mojang/authlib/1.5.22/authlib-1.5.22.jar",
"url": "https://libraries.minecraft.net/com/mojang/authlib/1.5.22/authlib-1.5.22.jar"
}
}
},
{
"name": "com.mojang:realms:1.9.1",
"downloads": {
"artifact": {
"size": 1575796,
"sha1": "cd3929316dfd85be640e1c1f15df5577cdcd860b",
"path": "com/mojang/realms/1.9.1/realms-1.9.1.jar",
"url": "https://libraries.minecraft.net/com/mojang/realms/1.9.1/realms-1.9.1.jar"
}
}
},
{
"name": "org.apache.commons:commons-compress:1.8.1",
"downloads": {
"artifact": {
"size": 365552,
"sha1": "a698750c16740fd5b3871425f4cb3bbaa87f529d",
"path": "org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.jar",
"url": "https://libraries.minecraft.net/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.jar"
}
}
},
{
"name": "org.apache.httpcomponents:httpclient:4.3.3",
"downloads": {
"artifact": {
"size": 589512,
"sha1": "18f4247ff4572a074444572cee34647c43e7c9c7",
"path": "org/apache/httpcomponents/httpclient/4.3.3/httpclient-4.3.3.jar",
"url": "https://libraries.minecraft.net/org/apache/httpcomponents/httpclient/4.3.3/httpclient-4.3.3.jar"
}
}
},
{
"name": "commons-logging:commons-logging:1.1.3",
"downloads": {
"artifact": {
"size": 62050,
"sha1": "f6f66e966c70a83ffbdb6f17a0919eaf7c8aca7f",
"path": "commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar",
"url": "https://libraries.minecraft.net/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar"
}
}
},
{
"name": "org.apache.httpcomponents:httpcore:4.3.2",
"downloads": {
"artifact": {
"size": 282269,
"sha1": "31fbbff1ddbf98f3aa7377c94d33b0447c646b6e",
"path": "org/apache/httpcomponents/httpcore/4.3.2/httpcore-4.3.2.jar",
"url": "https://libraries.minecraft.net/org/apache/httpcomponents/httpcore/4.3.2/httpcore-4.3.2.jar"
}
}
},
{
"name": "it.unimi.dsi:fastutil:7.0.12_mojang",
"downloads": {
"artifact": {
"size": 522306,
"sha1": "ba787e741efdc425fc5d2ea654b57c15fba27efa",
"path": "it/unimi/dsi/fastutil/7.0.12_mojang/fastutil-7.0.12_mojang.jar",
"url": "https://libraries.minecraft.net/it/unimi/dsi/fastutil/7.0.12_mojang/fastutil-7.0.12_mojang.jar"
}
}
},
{
"name": "org.apache.logging.log4j:log4j-api:2.0-beta9",
"downloads": {
"artifact": {
"size": 108161,
"sha1": "1dd66e68cccd907880229f9e2de1314bd13ff785",
"path": "org/apache/logging/log4j/log4j-api/2.0-beta9/log4j-api-2.0-beta9.jar",
"url": "https://libraries.minecraft.net/org/apache/logging/log4j/log4j-api/2.0-beta9/log4j-api-2.0-beta9.jar"
}
}
},
{
"name": "org.apache.logging.log4j:log4j-core:2.0-beta9",
"downloads": {
"artifact": {
"size": 681134,
"sha1": "678861ba1b2e1fccb594bb0ca03114bb05da9695",
"path": "org/apache/logging/log4j/log4j-core/2.0-beta9/log4j-core-2.0-beta9.jar",
"url": "https://libraries.minecraft.net/org/apache/logging/log4j/log4j-core/2.0-beta9/log4j-core-2.0-beta9.jar"
}
}
},
{
"name": "org.lwjgl.lwjgl:lwjgl:2.9.4-nightly-20150209",
"rules": [
{
"action": "allow"
},
{
"action": "disallow",
"os": {
"name": "osx"
}
}
],
"downloads": {
"artifact": {
"size": 1047168,
"sha1": "697517568c68e78ae0b4544145af031c81082dfe",
"path": "org/lwjgl/lwjgl/lwjgl/2.9.4-nightly-20150209/lwjgl-2.9.4-nightly-20150209.jar",
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl/2.9.4-nightly-20150209/lwjgl-2.9.4-nightly-20150209.jar"
}
}
},
{
"name": "org.lwjgl.lwjgl:lwjgl_util:2.9.4-nightly-20150209",
"rules": [
{
"action": "allow"
},
{
"action": "disallow",
"os": {
"name": "osx"
}
}
],
"downloads": {
"artifact": {
"size": 173887,
"sha1": "d51a7c040a721d13efdfbd34f8b257b2df882ad0",
"path": "org/lwjgl/lwjgl/lwjgl_util/2.9.4-nightly-20150209/lwjgl_util-2.9.4-nightly-20150209.jar",
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl_util/2.9.4-nightly-20150209/lwjgl_util-2.9.4-nightly-20150209.jar"
}
}
},
{
"extract": {
"exclude": [
"META-INF/"
]
},
"name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.4-nightly-20150209",
"natives": {
"linux": "natives-linux",
"osx": "natives-osx",
"windows": "natives-windows"
},
"rules": [
{
"action": "allow"
},
{
"action": "disallow",
"os": {
"name": "osx"
}
}
],
"downloads": {
"classifiers": {
"natives-linux": {
"size": 578680,
"sha1": "931074f46c795d2f7b30ed6395df5715cfd7675b",
"path": "org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209-natives-linux.jar",
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209-natives-linux.jar"
},
"natives-osx": {
"size": 426822,
"sha1": "bcab850f8f487c3f4c4dbabde778bb82bd1a40ed",
"path": "org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209-natives-osx.jar",
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209-natives-osx.jar"
},
"natives-windows": {
"size": 613748,
"sha1": "b84d5102b9dbfabfeb5e43c7e2828d98a7fc80e0",
"path": "org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209-natives-windows.jar",
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209-natives-windows.jar"
}
},
"artifact": {
"size": 22,
"sha1": "b04f3ee8f5e43fa3b162981b50bb72fe1acabb33",
"path": "org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209.jar",
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209.jar"
}
}
},
{
"name": "org.lwjgl.lwjgl:lwjgl:2.9.2-nightly-20140822",
"rules": [
{
"action": "allow",
"os": {
"name": "osx"
}
}
],
"downloads": {
"artifact": {
"size": 1045632,
"sha1": "7707204c9ffa5d91662de95f0a224e2f721b22af",
"path": "org/lwjgl/lwjgl/lwjgl/2.9.2-nightly-20140822/lwjgl-2.9.2-nightly-20140822.jar",
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl/2.9.2-nightly-20140822/lwjgl-2.9.2-nightly-20140822.jar"
}
}
},
{
"name": "org.lwjgl.lwjgl:lwjgl_util:2.9.2-nightly-20140822",
"rules": [
{
"action": "allow",
"os": {
"name": "osx"
}
}
],
"downloads": {
"artifact": {
"size": 173887,
"sha1": "f0e612c840a7639c1f77f68d72a28dae2f0c8490",
"path": "org/lwjgl/lwjgl/lwjgl_util/2.9.2-nightly-20140822/lwjgl_util-2.9.2-nightly-20140822.jar",
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl_util/2.9.2-nightly-20140822/lwjgl_util-2.9.2-nightly-20140822.jar"
}
}
},
{
"extract": {
"exclude": [
"META-INF/"
]
},
"name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.2-nightly-20140822",
"natives": {
"linux": "natives-linux",
"osx": "natives-osx",
"windows": "natives-windows"
},
"rules": [
{
"action": "allow",
"os": {
"name": "osx"
}
}
],
"downloads": {
"classifiers": {
"natives-linux": {
"size": 578539,
"sha1": "d898a33b5d0a6ef3fed3a4ead506566dce6720a5",
"path": "org/lwjgl/lwjgl/lwjgl-platform/2.9.2-nightly-20140822/lwjgl-platform-2.9.2-nightly-20140822-natives-linux.jar",
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.2-nightly-20140822/lwjgl-platform-2.9.2-nightly-20140822-natives-linux.jar"
},
"natives-osx": {
"size": 468116,
"sha1": "79f5ce2fea02e77fe47a3c745219167a542121d7",
"path": "org/lwjgl/lwjgl/lwjgl-platform/2.9.2-nightly-20140822/lwjgl-platform-2.9.2-nightly-20140822-natives-osx.jar",
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.2-nightly-20140822/lwjgl-platform-2.9.2-nightly-20140822-natives-osx.jar"
},
"natives-windows": {
"size": 613680,
"sha1": "78b2a55ce4dc29c6b3ec4df8ca165eba05f9b341",
"path": "org/lwjgl/lwjgl/lwjgl-platform/2.9.2-nightly-20140822/lwjgl-platform-2.9.2-nightly-20140822-natives-windows.jar",
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.2-nightly-20140822/lwjgl-platform-2.9.2-nightly-20140822-natives-windows.jar"
}
}
}
},
{
"extract": {
"exclude": [
"META-INF/"
]
},
"name": "net.java.jinput:jinput-platform:2.0.5",
"natives": {
"linux": "natives-linux",
"osx": "natives-osx",
"windows": "natives-windows"
},
"downloads": {
"classifiers": {
"natives-linux": {
"size": 10362,
"sha1": "7ff832a6eb9ab6a767f1ade2b548092d0fa64795",
"path": "net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-linux.jar",
"url": "https://libraries.minecraft.net/net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-linux.jar"
},
"natives-osx": {
"size": 12186,
"sha1": "53f9c919f34d2ca9de8c51fc4e1e8282029a9232",
"path": "net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-osx.jar",
"url": "https://libraries.minecraft.net/net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-osx.jar"
},
"natives-windows": {
"size": 155179,
"sha1": "385ee093e01f587f30ee1c8a2ee7d408fd732e16",
"path": "net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-windows.jar",
"url": "https://libraries.minecraft.net/net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-windows.jar"
}
}
}
}
],
"logging": {
"client": {
"file": {
"id": "client-1.7.xml",
"sha1": "49e2e41bc339698bd8199e0da9398c926e68c95d",
"size": 467,
"url": "https://launchermeta.mojang.com/mc/log_configs/client-1.7.xml/49e2e41bc339698bd8199e0da9398c926e68c95d/client-1.7.xml"
},
"argument": "-Dlog4j.configurationFile=${path}",
"type": "log4j2-xml"
}
},
"mainClass": "net.minecraft.client.main.Main",
"minecraftArguments": "--username ${auth_player_name} --version ${version_name} --gameDir ${game_directory} --assetsDir ${assets_root} --assetIndex ${assets_index_name} --uuid ${auth_uuid} --accessToken ${auth_access_token} --userType ${user_type} --versionType ${version_type}",
"minimumLauncherVersion": 18,
"releaseTime": "2016-06-08T13:06:18+00:00",
"time": "2016-06-20T15:31:06+00:00",
"type": "release"
}
+2 -1
View File
@@ -29,7 +29,8 @@
{
"comment": "Force the downgrade on dedicated server to match client. Netty bug: https://github.com/MinecraftForge/MinecraftForge/issues/1848",
"name": "io.netty:netty-all:4.0.15.Final",
"serverreq":true
"serverreq":true,
"clientclasspath":false
},
{
"name": "net.minecraft:launchwrapper:1.12",
-5
View File
@@ -26,11 +26,6 @@
"name": "@artifact@",
"url": "http://files.minecraftforge.net/maven/"
},
{
"comment": "Force the downgrade on dedicated server to match client. Netty bug: https://github.com/MinecraftForge/MinecraftForge/issues/1848",
"name": "io.netty:netty-all:4.0.23.Final",
"serverreq":true
},
{
"name": "net.minecraft:launchwrapper:1.12",
"serverreq":true
-5
View File
@@ -26,11 +26,6 @@
"name": "@artifact@",
"url": "http://files.minecraftforge.net/maven/"
},
{
"comment": "Force the downgrade on dedicated server to match client. Netty bug: https://github.com/MinecraftForge/MinecraftForge/issues/1848",
"name": "io.netty:netty-all:4.0.23.Final",
"serverreq":true
},
{
"name": "net.minecraft:launchwrapper:1.12",
"serverreq":true
-5
View File
@@ -24,11 +24,6 @@
"name": "@artifact@",
"url": "http://files.minecraftforge.net/maven/"
},
{
"comment": "Force the downgrade on dedicated server to match client. Netty bug: https://github.com/MinecraftForge/MinecraftForge/issues/1848",
"name": "io.netty:netty-all:4.0.23.Final",
"serverreq":true
},
{
"name": "net.minecraft:launchwrapper:1.12",
"serverreq":true
+92
View File
@@ -0,0 +1,92 @@
{
"id": "@minecraft_version@-@project@@version@",
"time": "@timestamp@",
"releaseTime": "1960-01-01T00:00:00-0700",
"type": "release",
"inheritsFrom": "1.9.4",
"minecraftArguments": "--version FML_DEV --tweakClass net.minecraftforge.fml.common.launcher.FMLTweaker",
"libraries": [
{
"name": "net.minecraft:launchwrapper:1.12"
},
{
"name": "jline:jline:2.13",
"children": ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "com.google.code.findbugs:jsr305:1.3.9",
"children": ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "org.ow2.asm:asm-debug-all:5.0.3",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "com.typesafe.akka:akka-actor_2.11:2.3.3",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "com.typesafe:config:1.2.1",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "org.scala-lang:scala-actors-migration_2.11:1.1.0",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "org.scala-lang:scala-compiler:2.11.1",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "org.scala-lang.plugins:scala-continuations-library_2.11:1.0.2",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "org.scala-lang.plugins:scala-continuations-plugin_2.11.1:1.0.2",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "org.scala-lang:scala-library:2.11.1",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "org.scala-lang.modules:scala-parser-combinators_2.11:1.0.1",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "org.scala-lang:scala-reflect:2.11.1",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "org.scala-lang.modules:scala-swing_2.11:1.0.1",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "org.scala-lang.modules:scala-xml_2.11:1.0.2",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "lzma:lzma:0.0.1"
},
{
"name": "java3d:vecmath:1.5.2"
},
{
"name": "net.sf.trove4j:trove4j:3.0.3"
}
]
}
+139
View File
@@ -0,0 +1,139 @@
{
"install": {
"profileName": "@project@",
"target":"@minecraft_version@-@project@@version@",
"path":"@artifact@",
"version":"@project@ @version@",
"filePath":"@universal_jar@",
"welcome":"Welcome to the simple @project@ installer.",
"minecraft":"@minecraft_version@",
"mirrorList" : "http://files.minecraftforge.net/mirror-brand.list",
"logo":"/big_logo.png"
},
"versionInfo": {
"id": "@minecraft_version@-@project@@version@",
"time": "@timestamp@",
"releaseTime": "1960-01-01T00:00:00-0700",
"type": "release",
"minecraftArguments": "--username ${auth_player_name} --version ${version_name} --gameDir ${game_directory} --assetsDir ${assets_root} --assetIndex ${assets_index_name} --uuid ${auth_uuid} --accessToken ${auth_access_token} --userType ${user_type} --tweakClass net.minecraftforge.fml.common.launcher.FMLTweaker --versionType Forge",
"mainClass": "net.minecraft.launchwrapper.Launch",
"inheritsFrom": "1.9.4",
"jar": "1.9.4",
"libraries": [
{
"name": "@artifact@",
"url": "http://files.minecraftforge.net/maven/"
},
{
"name": "net.minecraft:launchwrapper:1.12",
"serverreq":true
},
{
"name": "org.ow2.asm:asm-all:5.0.3",
"serverreq":true
},
{
"name": "jline:jline:2.13",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "2d9530d0a25daffaffda7c35037b046b627bb171" ],
"serverreq":true,
"clientreq":false
},
{
"name": "com.typesafe.akka:akka-actor_2.11:2.3.3",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "ed62e9fc709ca0f2ff1a3220daa8b70a2870078e", "25a86ccfdb6f6dfe08971f4825d0a01be83a6f2e" ],
"serverreq":true,
"clientreq":true
},
{
"name": "com.typesafe:config:1.2.1",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "f771f71fdae3df231bcd54d5ca2d57f0bf93f467", "7d7bc36df0989d72f2d5d057309675777acc528b" ],
"serverreq":true,
"clientreq":true
},
{
"name": "org.scala-lang:scala-actors-migration_2.11:1.1.0",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "dfa8bc42b181d5b9f1a5dd147f8ae308b893eb6f", "8c9aaeeb68487ca519411a14068e1b4d69739207" ],
"serverreq":true,
"clientreq":true
},
{
"name": "org.scala-lang:scala-compiler:2.11.1",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "56ea2e6c025e0821f28d73ca271218b8dd04926a", "1444992390544ba3780867a13ff696a89d7d1639" ],
"serverreq":true,
"clientreq":true
},
{
"name": "org.scala-lang.plugins:scala-continuations-library_2.11:1.0.2",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "87213338cd5a153a7712cb574c0ddd2edfee0386", "0b4c1bf8d48993f138d6e10c0c144e50acfff581" ],
"serverreq":true,
"clientreq":true
},
{
"name": "org.scala-lang.plugins:scala-continuations-plugin_2.11.1:1.0.2",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "1f7371605d4ba42aa26d3443440c0083c587b4e9", "1ea655dda4504ae0a367327e2340cd3beaee6c73" ],
"serverreq":true,
"clientreq":true
},
{
"name": "org.scala-lang:scala-library:2.11.1",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "0e11da23da3eabab9f4777b9220e60d44c1aab6a", "1e4df76e835201c6eabd43adca89ab11f225f134" ],
"serverreq":true,
"clientreq":true
},
{
"name": "org.scala-lang:scala-parser-combinators_2.11:1.0.1",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "f05d7345bf5a58924f2837c6c1f4d73a938e1ff0", "a1cbbcbde1dcc614f4253ed1aa0b320bc78d8f1d" ],
"serverreq":true,
"clientreq":true
},
{
"name": "org.scala-lang:scala-reflect:2.11.1",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "6580347e61cc7f8e802941e7fde40fa83b8badeb", "91ce0f0be20f4a536321724b4b3bbc6530ddcd88" ],
"serverreq":true,
"clientreq":true
},
{
"name": "org.scala-lang:scala-swing_2.11:1.0.1",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "b1cdd92bd47b1e1837139c1c53020e86bb9112ae", "d77152691dcf5bbdb00529af37aa7d3d887b3e63" ],
"serverreq":true,
"clientreq":true
},
{
"name": "org.scala-lang:scala-xml_2.11:1.0.2",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "7a80ec00aec122fba7cd4e0d4cdd87ff7e4cb6d0", "62736b01689d56b6d09a0164b7ef9da2b0b9633d" ],
"serverreq":true,
"clientreq":true
},
{
"name": "lzma:lzma:0.0.1",
"serverreq":true
},
{
"name": "net.sf.jopt-simple:jopt-simple:4.6",
"serverreq":true
},
{
"name": "java3d:vecmath:1.5.2",
"clientreq":true,
"serverreq":true
},
{
"name": "net.sf.trove4j:trove4j:3.0.3",
"clientreq":true,
"serverreq":true
}
]
}
}
+551
View File
@@ -0,0 +1,551 @@
{
"assetIndex": {
"id": "1.9",
"sha1": "8549e8aca91ee8b8d1620e9e8252d477f16a56d5",
"size": 137552,
"url": "https://launchermeta.mojang.com/mc-staging/assets/1.9/8549e8aca91ee8b8d1620e9e8252d477f16a56d5/1.9.json",
"totalSize": 120896362
},
"assets": "1.9",
"downloads": {
"client": {
"sha1": "4a61c873be90bb1196d68dac7b29870408c56969",
"size": 8736083,
"url": "https://launcher.mojang.com/mc/game/1.9.4/client/4a61c873be90bb1196d68dac7b29870408c56969/client.jar"
},
"server": {
"sha1": "edbb7b1758af33d365bf835eb9d13de005b1e274",
"size": 9399053,
"url": "https://launcher.mojang.com/mc/game/1.9.4/server/edbb7b1758af33d365bf835eb9d13de005b1e274/server.jar"
}
},
"id": "1.9.4",
"libraries": [
{
"name": "com.mojang:netty:1.6",
"downloads": {
"artifact": {
"size": 7877,
"sha1": "4b75825a06139752bd800d9e29c5fd55b8b1b1e4",
"path": "com/mojang/netty/1.6/netty-1.6.jar",
"url": "https://libraries.minecraft.net/com/mojang/netty/1.6/netty-1.6.jar"
}
}
},
{
"name": "oshi-project:oshi-core:1.1",
"downloads": {
"artifact": {
"size": 30973,
"sha1": "9ddf7b048a8d701be231c0f4f95fd986198fd2d8",
"path": "oshi-project/oshi-core/1.1/oshi-core-1.1.jar",
"url": "https://libraries.minecraft.net/oshi-project/oshi-core/1.1/oshi-core-1.1.jar"
}
}
},
{
"name": "net.java.dev.jna:jna:3.4.0",
"downloads": {
"artifact": {
"size": 1008730,
"sha1": "803ff252fedbd395baffd43b37341dc4a150a554",
"path": "net/java/dev/jna/jna/3.4.0/jna-3.4.0.jar",
"url": "https://libraries.minecraft.net/net/java/dev/jna/jna/3.4.0/jna-3.4.0.jar"
}
}
},
{
"name": "net.java.dev.jna:platform:3.4.0",
"downloads": {
"artifact": {
"size": 913436,
"sha1": "e3f70017be8100d3d6923f50b3d2ee17714e9c13",
"path": "net/java/dev/jna/platform/3.4.0/platform-3.4.0.jar",
"url": "https://libraries.minecraft.net/net/java/dev/jna/platform/3.4.0/platform-3.4.0.jar"
}
}
},
{
"name": "com.ibm.icu:icu4j-core-mojang:51.2",
"downloads": {
"artifact": {
"size": 1634692,
"sha1": "63d216a9311cca6be337c1e458e587f99d382b84",
"path": "com/ibm/icu/icu4j-core-mojang/51.2/icu4j-core-mojang-51.2.jar",
"url": "https://libraries.minecraft.net/com/ibm/icu/icu4j-core-mojang/51.2/icu4j-core-mojang-51.2.jar"
}
}
},
{
"name": "net.sf.jopt-simple:jopt-simple:4.6",
"downloads": {
"artifact": {
"size": 62477,
"sha1": "306816fb57cf94f108a43c95731b08934dcae15c",
"path": "net/sf/jopt-simple/jopt-simple/4.6/jopt-simple-4.6.jar",
"url": "https://libraries.minecraft.net/net/sf/jopt-simple/jopt-simple/4.6/jopt-simple-4.6.jar"
}
}
},
{
"name": "com.paulscode:codecjorbis:20101023",
"downloads": {
"artifact": {
"size": 103871,
"sha1": "c73b5636faf089d9f00e8732a829577de25237ee",
"path": "com/paulscode/codecjorbis/20101023/codecjorbis-20101023.jar",
"url": "https://libraries.minecraft.net/com/paulscode/codecjorbis/20101023/codecjorbis-20101023.jar"
}
}
},
{
"name": "com.paulscode:codecwav:20101023",
"downloads": {
"artifact": {
"size": 5618,
"sha1": "12f031cfe88fef5c1dd36c563c0a3a69bd7261da",
"path": "com/paulscode/codecwav/20101023/codecwav-20101023.jar",
"url": "https://libraries.minecraft.net/com/paulscode/codecwav/20101023/codecwav-20101023.jar"
}
}
},
{
"name": "com.paulscode:libraryjavasound:20101123",
"downloads": {
"artifact": {
"size": 21679,
"sha1": "5c5e304366f75f9eaa2e8cca546a1fb6109348b3",
"path": "com/paulscode/libraryjavasound/20101123/libraryjavasound-20101123.jar",
"url": "https://libraries.minecraft.net/com/paulscode/libraryjavasound/20101123/libraryjavasound-20101123.jar"
}
}
},
{
"name": "com.paulscode:librarylwjglopenal:20100824",
"downloads": {
"artifact": {
"size": 18981,
"sha1": "73e80d0794c39665aec3f62eee88ca91676674ef",
"path": "com/paulscode/librarylwjglopenal/20100824/librarylwjglopenal-20100824.jar",
"url": "https://libraries.minecraft.net/com/paulscode/librarylwjglopenal/20100824/librarylwjglopenal-20100824.jar"
}
}
},
{
"name": "com.paulscode:soundsystem:20120107",
"downloads": {
"artifact": {
"size": 65020,
"sha1": "419c05fe9be71f792b2d76cfc9b67f1ed0fec7f6",
"path": "com/paulscode/soundsystem/20120107/soundsystem-20120107.jar",
"url": "https://libraries.minecraft.net/com/paulscode/soundsystem/20120107/soundsystem-20120107.jar"
}
}
},
{
"name": "io.netty:netty-all:4.0.23.Final",
"downloads": {
"artifact": {
"size": 1779991,
"sha1": "0294104aaf1781d6a56a07d561e792c5d0c95f45",
"path": "io/netty/netty-all/4.0.23.Final/netty-all-4.0.23.Final.jar",
"url": "https://libraries.minecraft.net/io/netty/netty-all/4.0.23.Final/netty-all-4.0.23.Final.jar"
}
}
},
{
"name": "com.google.guava:guava:17.0",
"downloads": {
"artifact": {
"size": 2243036,
"sha1": "9c6ef172e8de35fd8d4d8783e4821e57cdef7445",
"path": "com/google/guava/guava/17.0/guava-17.0.jar",
"url": "https://libraries.minecraft.net/com/google/guava/guava/17.0/guava-17.0.jar"
}
}
},
{
"name": "org.apache.commons:commons-lang3:3.3.2",
"downloads": {
"artifact": {
"size": 412739,
"sha1": "90a3822c38ec8c996e84c16a3477ef632cbc87a3",
"path": "org/apache/commons/commons-lang3/3.3.2/commons-lang3-3.3.2.jar",
"url": "https://libraries.minecraft.net/org/apache/commons/commons-lang3/3.3.2/commons-lang3-3.3.2.jar"
}
}
},
{
"name": "commons-io:commons-io:2.4",
"downloads": {
"artifact": {
"size": 185140,
"sha1": "b1b6ea3b7e4aa4f492509a4952029cd8e48019ad",
"path": "commons-io/commons-io/2.4/commons-io-2.4.jar",
"url": "https://libraries.minecraft.net/commons-io/commons-io/2.4/commons-io-2.4.jar"
}
}
},
{
"name": "commons-codec:commons-codec:1.9",
"downloads": {
"artifact": {
"size": 263965,
"sha1": "9ce04e34240f674bc72680f8b843b1457383161a",
"path": "commons-codec/commons-codec/1.9/commons-codec-1.9.jar",
"url": "https://libraries.minecraft.net/commons-codec/commons-codec/1.9/commons-codec-1.9.jar"
}
}
},
{
"name": "net.java.jinput:jinput:2.0.5",
"downloads": {
"artifact": {
"size": 208338,
"sha1": "39c7796b469a600f72380316f6b1f11db6c2c7c4",
"path": "net/java/jinput/jinput/2.0.5/jinput-2.0.5.jar",
"url": "https://libraries.minecraft.net/net/java/jinput/jinput/2.0.5/jinput-2.0.5.jar"
}
}
},
{
"name": "net.java.jutils:jutils:1.0.0",
"downloads": {
"artifact": {
"size": 7508,
"sha1": "e12fe1fda814bd348c1579329c86943d2cd3c6a6",
"path": "net/java/jutils/jutils/1.0.0/jutils-1.0.0.jar",
"url": "https://libraries.minecraft.net/net/java/jutils/jutils/1.0.0/jutils-1.0.0.jar"
}
}
},
{
"name": "com.google.code.gson:gson:2.2.4",
"downloads": {
"artifact": {
"size": 190432,
"sha1": "a60a5e993c98c864010053cb901b7eab25306568",
"path": "com/google/code/gson/gson/2.2.4/gson-2.2.4.jar",
"url": "https://libraries.minecraft.net/com/google/code/gson/gson/2.2.4/gson-2.2.4.jar"
}
}
},
{
"name": "com.mojang:authlib:1.5.22",
"downloads": {
"artifact": {
"size": 64539,
"sha1": "afaa8f6df976fcb5520e76ef1d5798c9e6b5c0b2",
"path": "com/mojang/authlib/1.5.22/authlib-1.5.22.jar",
"url": "https://libraries.minecraft.net/com/mojang/authlib/1.5.22/authlib-1.5.22.jar"
}
}
},
{
"name": "com.mojang:realms:1.8.19",
"downloads": {
"artifact": {
"size": 1575795,
"sha1": "f7469a9307b962d1097e44713eb1baa087c06e43",
"path": "com/mojang/realms/1.8.19/realms-1.8.19.jar",
"url": "https://libraries.minecraft.net/com/mojang/realms/1.8.19/realms-1.8.19.jar"
}
}
},
{
"name": "org.apache.commons:commons-compress:1.8.1",
"downloads": {
"artifact": {
"size": 365552,
"sha1": "a698750c16740fd5b3871425f4cb3bbaa87f529d",
"path": "org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.jar",
"url": "https://libraries.minecraft.net/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.jar"
}
}
},
{
"name": "org.apache.httpcomponents:httpclient:4.3.3",
"downloads": {
"artifact": {
"size": 589512,
"sha1": "18f4247ff4572a074444572cee34647c43e7c9c7",
"path": "org/apache/httpcomponents/httpclient/4.3.3/httpclient-4.3.3.jar",
"url": "https://libraries.minecraft.net/org/apache/httpcomponents/httpclient/4.3.3/httpclient-4.3.3.jar"
}
}
},
{
"name": "commons-logging:commons-logging:1.1.3",
"downloads": {
"artifact": {
"size": 62050,
"sha1": "f6f66e966c70a83ffbdb6f17a0919eaf7c8aca7f",
"path": "commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar",
"url": "https://libraries.minecraft.net/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar"
}
}
},
{
"name": "org.apache.httpcomponents:httpcore:4.3.2",
"downloads": {
"artifact": {
"size": 282269,
"sha1": "31fbbff1ddbf98f3aa7377c94d33b0447c646b6e",
"path": "org/apache/httpcomponents/httpcore/4.3.2/httpcore-4.3.2.jar",
"url": "https://libraries.minecraft.net/org/apache/httpcomponents/httpcore/4.3.2/httpcore-4.3.2.jar"
}
}
},
{
"name": "it.unimi.dsi:fastutil:7.0.12_mojang",
"downloads": {
"artifact": {
"size": 522306,
"sha1": "ba787e741efdc425fc5d2ea654b57c15fba27efa",
"path": "it/unimi/dsi/fastutil/7.0.12_mojang/fastutil-7.0.12_mojang.jar",
"url": "https://libraries.minecraft.net/it/unimi/dsi/fastutil/7.0.12_mojang/fastutil-7.0.12_mojang.jar"
}
}
},
{
"name": "org.apache.logging.log4j:log4j-api:2.0-beta9",
"downloads": {
"artifact": {
"size": 108161,
"sha1": "1dd66e68cccd907880229f9e2de1314bd13ff785",
"path": "org/apache/logging/log4j/log4j-api/2.0-beta9/log4j-api-2.0-beta9.jar",
"url": "https://libraries.minecraft.net/org/apache/logging/log4j/log4j-api/2.0-beta9/log4j-api-2.0-beta9.jar"
}
}
},
{
"name": "org.apache.logging.log4j:log4j-core:2.0-beta9",
"downloads": {
"artifact": {
"size": 681134,
"sha1": "678861ba1b2e1fccb594bb0ca03114bb05da9695",
"path": "org/apache/logging/log4j/log4j-core/2.0-beta9/log4j-core-2.0-beta9.jar",
"url": "https://libraries.minecraft.net/org/apache/logging/log4j/log4j-core/2.0-beta9/log4j-core-2.0-beta9.jar"
}
}
},
{
"name": "org.lwjgl.lwjgl:lwjgl:2.9.4-nightly-20150209",
"rules": [
{
"action": "allow"
},
{
"action": "disallow",
"os": {
"name": "osx"
}
}
],
"downloads": {
"artifact": {
"size": 1047168,
"sha1": "697517568c68e78ae0b4544145af031c81082dfe",
"path": "org/lwjgl/lwjgl/lwjgl/2.9.4-nightly-20150209/lwjgl-2.9.4-nightly-20150209.jar",
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl/2.9.4-nightly-20150209/lwjgl-2.9.4-nightly-20150209.jar"
}
}
},
{
"name": "org.lwjgl.lwjgl:lwjgl_util:2.9.4-nightly-20150209",
"rules": [
{
"action": "allow"
},
{
"action": "disallow",
"os": {
"name": "osx"
}
}
],
"downloads": {
"artifact": {
"size": 173887,
"sha1": "d51a7c040a721d13efdfbd34f8b257b2df882ad0",
"path": "org/lwjgl/lwjgl/lwjgl_util/2.9.4-nightly-20150209/lwjgl_util-2.9.4-nightly-20150209.jar",
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl_util/2.9.4-nightly-20150209/lwjgl_util-2.9.4-nightly-20150209.jar"
}
}
},
{
"extract": {
"exclude": [
"META-INF/"
]
},
"name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.4-nightly-20150209",
"natives": {
"linux": "natives-linux",
"osx": "natives-osx",
"windows": "natives-windows"
},
"rules": [
{
"action": "allow"
},
{
"action": "disallow",
"os": {
"name": "osx"
}
}
],
"downloads": {
"classifiers": {
"natives-linux": {
"size": 578680,
"sha1": "931074f46c795d2f7b30ed6395df5715cfd7675b",
"path": "org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209-natives-linux.jar",
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209-natives-linux.jar"
},
"natives-osx": {
"size": 426822,
"sha1": "bcab850f8f487c3f4c4dbabde778bb82bd1a40ed",
"path": "org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209-natives-osx.jar",
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209-natives-osx.jar"
},
"natives-windows": {
"size": 613748,
"sha1": "b84d5102b9dbfabfeb5e43c7e2828d98a7fc80e0",
"path": "org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209-natives-windows.jar",
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209-natives-windows.jar"
}
},
"artifact": {
"size": 22,
"sha1": "b04f3ee8f5e43fa3b162981b50bb72fe1acabb33",
"path": "org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209.jar",
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209.jar"
}
}
},
{
"name": "org.lwjgl.lwjgl:lwjgl:2.9.2-nightly-20140822",
"rules": [
{
"action": "allow",
"os": {
"name": "osx"
}
}
],
"downloads": {
"artifact": {
"size": 1045632,
"sha1": "7707204c9ffa5d91662de95f0a224e2f721b22af",
"path": "org/lwjgl/lwjgl/lwjgl/2.9.2-nightly-20140822/lwjgl-2.9.2-nightly-20140822.jar",
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl/2.9.2-nightly-20140822/lwjgl-2.9.2-nightly-20140822.jar"
}
}
},
{
"name": "org.lwjgl.lwjgl:lwjgl_util:2.9.2-nightly-20140822",
"rules": [
{
"action": "allow",
"os": {
"name": "osx"
}
}
],
"downloads": {
"artifact": {
"size": 173887,
"sha1": "f0e612c840a7639c1f77f68d72a28dae2f0c8490",
"path": "org/lwjgl/lwjgl/lwjgl_util/2.9.2-nightly-20140822/lwjgl_util-2.9.2-nightly-20140822.jar",
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl_util/2.9.2-nightly-20140822/lwjgl_util-2.9.2-nightly-20140822.jar"
}
}
},
{
"extract": {
"exclude": [
"META-INF/"
]
},
"name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.2-nightly-20140822",
"natives": {
"linux": "natives-linux",
"osx": "natives-osx",
"windows": "natives-windows"
},
"rules": [
{
"action": "allow",
"os": {
"name": "osx"
}
}
],
"downloads": {
"classifiers": {
"natives-linux": {
"size": 578539,
"sha1": "d898a33b5d0a6ef3fed3a4ead506566dce6720a5",
"path": "org/lwjgl/lwjgl/lwjgl-platform/2.9.2-nightly-20140822/lwjgl-platform-2.9.2-nightly-20140822-natives-linux.jar",
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.2-nightly-20140822/lwjgl-platform-2.9.2-nightly-20140822-natives-linux.jar"
},
"natives-osx": {
"size": 468116,
"sha1": "79f5ce2fea02e77fe47a3c745219167a542121d7",
"path": "org/lwjgl/lwjgl/lwjgl-platform/2.9.2-nightly-20140822/lwjgl-platform-2.9.2-nightly-20140822-natives-osx.jar",
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.2-nightly-20140822/lwjgl-platform-2.9.2-nightly-20140822-natives-osx.jar"
},
"natives-windows": {
"size": 613680,
"sha1": "78b2a55ce4dc29c6b3ec4df8ca165eba05f9b341",
"path": "org/lwjgl/lwjgl/lwjgl-platform/2.9.2-nightly-20140822/lwjgl-platform-2.9.2-nightly-20140822-natives-windows.jar",
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.2-nightly-20140822/lwjgl-platform-2.9.2-nightly-20140822-natives-windows.jar"
}
}
}
},
{
"extract": {
"exclude": [
"META-INF/"
]
},
"name": "net.java.jinput:jinput-platform:2.0.5",
"natives": {
"linux": "natives-linux",
"osx": "natives-osx",
"windows": "natives-windows"
},
"downloads": {
"classifiers": {
"natives-linux": {
"size": 10362,
"sha1": "7ff832a6eb9ab6a767f1ade2b548092d0fa64795",
"path": "net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-linux.jar",
"url": "https://libraries.minecraft.net/net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-linux.jar"
},
"natives-osx": {
"size": 12186,
"sha1": "53f9c919f34d2ca9de8c51fc4e1e8282029a9232",
"path": "net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-osx.jar",
"url": "https://libraries.minecraft.net/net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-osx.jar"
},
"natives-windows": {
"size": 155179,
"sha1": "385ee093e01f587f30ee1c8a2ee7d408fd732e16",
"path": "net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-windows.jar",
"url": "https://libraries.minecraft.net/net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-windows.jar"
}
}
}
}
],
"mainClass": "net.minecraft.client.main.Main",
"minecraftArguments": "--username ${auth_player_name} --version ${version_name} --gameDir ${game_directory} --assetsDir ${assets_root} --assetIndex ${assets_index_name} --uuid ${auth_uuid} --accessToken ${auth_access_token} --userType ${user_type} --versionType ${version_type}",
"minimumLauncherVersion": 18,
"releaseTime": "2016-05-10T10:17:16+00:00",
"time": "2016-05-10T14:45:26+00:00",
"type": "release"
}
+1 -1
View File
@@ -9,7 +9,7 @@ buildscript {
}
}
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:2.1-SNAPSHOT'
classpath 'net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT'
}
}
apply plugin: 'net.minecraftforge.gradle.forge'
@@ -14,7 +14,7 @@ public class ExampleMod
@EventHandler
public void init(FMLInitializationEvent event)
{
// some example code
System.out.println("DIRT BLOCK >> "+Blocks.dirt.getUnlocalizedName());
// some example code
System.out.println("DIRT BLOCK >> "+Blocks.DIRT.getUnlocalizedName());
}
}
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/Block.java
+++ ../src-work/minecraft/net/minecraft/block/Block.java
@@ -43,11 +43,12 @@
@@ -44,11 +44,12 @@
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
@@ -16,7 +16,7 @@
public static final AxisAlignedBB field_185505_j = new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
public static final AxisAlignedBB field_185506_k = null;
private CreativeTabs field_149772_a;
@@ -83,7 +84,8 @@
@@ -84,7 +85,8 @@
public static Block func_149729_e(int p_149729_0_)
{
@@ -26,7 +26,7 @@
}
public static IBlockState func_176220_d(int p_176220_0_)
@@ -268,7 +270,7 @@
@@ -292,7 +294,7 @@
public boolean func_176200_f(IBlockAccess p_176200_1_, BlockPos p_176200_2_)
{
@@ -35,7 +35,7 @@
}
public Block func_149711_c(float p_149711_1_)
@@ -305,9 +307,10 @@
@@ -330,9 +332,10 @@
return this.field_149789_z;
}
@@ -46,8 +46,8 @@
+ return hasTileEntity(func_176223_P());
}
public AxisAlignedBB func_185496_a(IBlockState p_185496_1_, IBlockAccess p_185496_2_, BlockPos p_185496_3_)
@@ -346,13 +349,13 @@
@Deprecated
@@ -376,13 +379,13 @@
@SideOnly(Side.CLIENT)
public int func_185484_c(IBlockState p_185484_1_, IBlockAccess p_185484_2_, BlockPos p_185484_3_)
{
@@ -63,7 +63,7 @@
}
else
{
@@ -415,7 +418,7 @@
@@ -446,7 +449,7 @@
}
}
@@ -71,8 +71,8 @@
+ return !p_176225_2_.func_180495_p(p_176225_3_.func_177972_a(p_176225_4_)).doesSideBlockRendering(p_176225_2_, p_176225_3_.func_177972_a(p_176225_4_), p_176225_4_.func_176734_d());
}
@SideOnly(Side.CLIENT)
@@ -472,6 +475,10 @@
@Deprecated
@@ -506,6 +509,10 @@
public void func_180663_b(World p_180663_1_, BlockPos p_180663_2_, IBlockState p_180663_3_)
{
@@ -83,8 +83,8 @@
}
public int func_149745_a(Random p_149745_1_)
@@ -486,8 +493,7 @@
@@ -522,8 +529,7 @@
@Deprecated
public float func_180647_a(IBlockState p_180647_1_, EntityPlayer p_180647_2_, World p_180647_3_, BlockPos p_180647_4_)
{
- float f = p_180647_1_.func_185887_b(p_180647_3_, p_180647_4_);
@@ -93,7 +93,7 @@
}
public final void func_176226_b(World p_176226_1_, BlockPos p_176226_2_, IBlockState p_176226_3_, int p_176226_4_)
@@ -497,20 +503,16 @@
@@ -533,20 +539,16 @@
public void func_180653_a(World p_180653_1_, BlockPos p_180653_2_, IBlockState p_180653_3_, float p_180653_4_, int p_180653_5_)
{
@@ -119,7 +119,7 @@
}
}
}
@@ -518,8 +520,13 @@
@@ -554,8 +556,13 @@
public static void func_180635_a(World p_180635_0_, BlockPos p_180635_1_, ItemStack p_180635_2_)
{
@@ -132,9 +132,9 @@
+ return;
+ }
float f = 0.5F;
double d0 = (double)(p_180635_0_.field_73012_v.nextFloat() * f) + (double)(1.0F - f) * 0.5D;
double d1 = (double)(p_180635_0_.field_73012_v.nextFloat() * f) + (double)(1.0F - f) * 0.5D;
@@ -588,7 +595,7 @@
double d0 = (double)(p_180635_0_.field_73012_v.nextFloat() * 0.5F) + 0.25D;
double d1 = (double)(p_180635_0_.field_73012_v.nextFloat() * 0.5F) + 0.25D;
@@ -627,7 +634,7 @@
public boolean func_176196_c(World p_176196_1_, BlockPos p_176196_2_)
{
@@ -142,8 +142,8 @@
+ return p_176196_1_.func_180495_p(p_176196_2_).func_177230_c().func_176200_f(p_176196_1_, p_176196_2_);
}
public boolean func_180639_a(World p_180639_1_, BlockPos p_180639_2_, IBlockState p_180639_3_, EntityPlayer p_180639_4_, EnumHand p_180639_5_, ItemStack p_180639_6_, EnumFacing p_180639_7_, float p_180639_8_, float p_180639_9_, float p_180639_10_)
@@ -638,25 +645,35 @@
public boolean func_180639_a(World p_180639_1_, BlockPos p_180639_2_, IBlockState p_180639_3_, EntityPlayer p_180639_4_, EnumHand p_180639_5_, @Nullable ItemStack p_180639_6_, EnumFacing p_180639_7_, float p_180639_8_, float p_180639_9_, float p_180639_10_)
@@ -680,25 +687,35 @@
p_180657_2_.func_71029_a(StatList.func_188055_a(this));
p_180657_2_.func_71020_j(0.025F);
@@ -181,11 +181,11 @@
+ return this.func_176223_P().func_185917_h() && !this.hasTileEntity(silk_check_state.get());
}
protected ItemStack func_180643_i(IBlockState p_180643_1_)
@@ -747,9 +764,11 @@
p_176216_2_.field_70181_x = 0.0D;
@Nullable
@@ -794,9 +811,11 @@
}
@Nullable
+ @Deprecated // Forge: Use more sensitive version below: getPickBlock
public ItemStack func_185473_a(World p_185473_1_, BlockPos p_185473_2_, IBlockState p_185473_3_)
{
@@ -195,7 +195,7 @@
}
@SideOnly(Side.CLIENT)
@@ -844,6 +863,1141 @@
@@ -893,6 +912,1141 @@
return "Block{" + field_149771_c.func_177774_c(this) + "}";
}
@@ -687,7 +687,7 @@
+ */
+ public boolean canBeReplacedByLeaves(IBlockState state, IBlockAccess world, BlockPos pos)
+ {
+ return !state.func_185913_b();
+ return isAir(state, world, pos) || isLeaves(state, world, pos); //!state.isFullBlock();
+ }
+
+ /**
@@ -842,11 +842,11 @@
+ * @param state The current state
+ * @param world The current world
+ * @param target The target the player is looking at {x/y/z/side/sub}
+ * @param effectRenderer A reference to the current effect renderer.
+ * @param manager A reference to the current particle manager.
+ * @return True to prevent vanilla digging particles form spawning.
+ */
+ @SideOnly(Side.CLIENT)
+ public boolean addHitEffects(IBlockState state, World worldObj, RayTraceResult target, net.minecraft.client.particle.EffectRenderer effectRenderer)
+ public boolean addHitEffects(IBlockState state, World worldObj, RayTraceResult target, net.minecraft.client.particle.ParticleManager manager)
+ {
+ return false;
+ }
@@ -859,11 +859,11 @@
+ *
+ * @param world The current world
+ * @param pos Position to spawn the particle
+ * @param effectRenderer A reference to the current effect renderer.
+ * @param manager A reference to the current particle manager.
+ * @return True to prevent vanilla break particles from spawning.
+ */
+ @SideOnly(Side.CLIENT)
+ public boolean addDestroyEffects(World world, BlockPos pos, net.minecraft.client.particle.EffectRenderer effectRenderer)
+ public boolean addDestroyEffects(World world, BlockPos pos, net.minecraft.client.particle.ParticleManager manager)
+ {
+ return false;
+ }
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockBanner.java
+++ ../src-work/minecraft/net/minecraft/block/BlockBanner.java
@@ -104,14 +104,7 @@
@@ -107,14 +107,7 @@
public void func_180653_a(World p_180653_1_, BlockPos p_180653_2_, IBlockState p_180653_3_, float p_180653_4_, int p_180653_5_)
{
@@ -15,7 +15,7 @@
super.func_180653_a(p_180653_1_, p_180653_2_, p_180653_3_, p_180653_4_, p_180653_5_);
}
}
@@ -138,6 +131,28 @@
@@ -141,6 +134,28 @@
}
}
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockBush.java
+++ ../src-work/minecraft/net/minecraft/block/BlockBush.java
@@ -14,7 +14,7 @@
@@ -15,7 +15,7 @@
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
@@ -9,7 +9,7 @@
{
protected static final AxisAlignedBB field_185515_b = new AxisAlignedBB(0.30000001192092896D, 0.0D, 0.30000001192092896D, 0.699999988079071D, 0.6000000238418579D, 0.699999988079071D);
@@ -37,7 +37,8 @@
@@ -38,7 +38,8 @@
public boolean func_176196_c(World p_176196_1_, BlockPos p_176196_2_)
{
@@ -19,7 +19,7 @@
}
protected boolean func_185514_i(IBlockState p_185514_1_)
@@ -67,6 +68,11 @@
@@ -68,6 +69,11 @@
public boolean func_180671_f(World p_180671_1_, BlockPos p_180671_2_, IBlockState p_180671_3_)
{
@@ -31,7 +31,7 @@
return this.func_185514_i(p_180671_1_.func_180495_p(p_180671_2_.func_177977_b()));
}
@@ -90,6 +96,35 @@
@@ -92,6 +98,35 @@
return false;
}
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockButton.java
+++ ../src-work/minecraft/net/minecraft/block/BlockButton.java
@@ -89,7 +89,7 @@
@@ -91,7 +91,7 @@
protected static boolean func_181088_a(World p_181088_0_, BlockPos p_181088_1_, EnumFacing p_181088_2_)
{
BlockPos blockpos = p_181088_1_.func_177972_a(p_181088_2_);
@@ -16,7 +16,7 @@
- Block block = p_176586_1_.func_180495_p(p_176586_2_.func_177977_b()).func_177230_c();
- return block == Blocks.field_150434_aF || block == Blocks.field_150354_m && !p_176586_1_.func_180495_p(p_176586_2_.func_177984_a()).func_185904_a().func_76224_d();
+ IBlockState state = p_176586_1_.func_180495_p(p_176586_2_.func_177977_b());
+ return state.func_177230_c().canSustainPlant(state, p_176586_1_, p_176586_2_, EnumFacing.UP, this) && !p_176586_1_.func_180495_p(p_176586_2_.func_177984_a()).func_185904_a().func_76224_d();
+ return state.func_177230_c().canSustainPlant(state, p_176586_1_, p_176586_2_.func_177977_b(), EnumFacing.UP, this) && !p_176586_1_.func_180495_p(p_176586_2_.func_177984_a()).func_185904_a().func_76224_d();
}
public void func_180634_a(World p_180634_1_, BlockPos p_180634_2_, IBlockState p_180634_3_, Entity p_180634_4_)
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockChest.java
+++ ../src-work/minecraft/net/minecraft/block/BlockChest.java
@@ -506,7 +506,7 @@
@@ -514,7 +514,7 @@
private boolean func_176456_n(World p_176456_1_, BlockPos p_176456_2_)
{
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockCrops.java
+++ ../src-work/minecraft/net/minecraft/block/BlockCrops.java
@@ -116,11 +116,11 @@
@@ -117,11 +117,11 @@
float f1 = 0.0F;
IBlockState iblockstate = p_180672_1_.func_180495_p(blockpos.func_177982_a(i, 0, j));
@@ -14,7 +14,7 @@
{
f1 = 3.0F;
}
@@ -161,7 +161,8 @@
@@ -162,7 +162,8 @@
public boolean func_180671_f(World p_180671_1_, BlockPos p_180671_2_, IBlockState p_180671_3_)
{
@@ -24,7 +24,7 @@
}
protected Item func_149866_i()
@@ -174,11 +175,33 @@
@@ -175,11 +176,33 @@
return Items.field_151015_O;
}
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockDeadBush.java
+++ ../src-work/minecraft/net/minecraft/block/BlockDeadBush.java
@@ -16,7 +16,7 @@
@@ -17,7 +17,7 @@
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
@@ -9,16 +9,16 @@
{
protected static final AxisAlignedBB field_185516_a = new AxisAlignedBB(0.09999999403953552D, 0.0D, 0.09999999403953552D, 0.8999999761581421D, 0.800000011920929D, 0.8999999761581421D);
@@ -57,7 +57,7 @@
@@ -59,7 +59,7 @@
public void func_180657_a(World p_180657_1_, EntityPlayer p_180657_2_, BlockPos p_180657_3_, IBlockState p_180657_4_, TileEntity p_180657_5_, ItemStack p_180657_6_)
public void func_180657_a(World p_180657_1_, EntityPlayer p_180657_2_, BlockPos p_180657_3_, IBlockState p_180657_4_, @Nullable TileEntity p_180657_5_, @Nullable ItemStack p_180657_6_)
{
- if (!p_180657_1_.field_72995_K && p_180657_6_ != null && p_180657_6_.func_77973_b() == Items.field_151097_aZ)
+ if (false && !p_180657_1_.field_72995_K && p_180657_6_ != null && p_180657_6_.func_77973_b() == Items.field_151097_aZ) // Forge: Noop
{
p_180657_2_.func_71029_a(StatList.func_188055_a(this));
func_180635_a(p_180657_1_, p_180657_3_, new ItemStack(Blocks.field_150330_I, 1, 0));
@@ -67,4 +67,11 @@
@@ -69,4 +69,11 @@
super.func_180657_a(p_180657_1_, p_180657_2_, p_180657_3_, p_180657_4_, p_180657_5_, p_180657_6_);
}
}
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockDoor.java
+++ ../src-work/minecraft/net/minecraft/block/BlockDoor.java
@@ -107,7 +107,7 @@
@@ -108,7 +108,7 @@
{
if (this.field_149764_J == Material.field_151573_f)
{
@@ -9,7 +9,16 @@
}
else
{
@@ -219,7 +219,7 @@
@@ -176,7 +176,7 @@
flag1 = true;
}
- if (!p_189540_2_.func_180495_p(p_189540_3_.func_177977_b()).func_185896_q())
+ if (!p_189540_2_.func_180495_p(p_189540_3_.func_177977_b()).isSideSolid(p_189540_2_, p_189540_3_.func_177977_b(), EnumFacing.UP))
{
p_189540_2_.func_175698_g(p_189540_3_);
flag1 = true;
@@ -221,7 +221,7 @@
public boolean func_176196_c(World p_176196_1_, BlockPos p_176196_2_)
{
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockDoublePlant.java
+++ ../src-work/minecraft/net/minecraft/block/BlockDoublePlant.java
@@ -25,7 +25,7 @@
@@ -26,7 +26,7 @@
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
@@ -9,7 +9,7 @@
{
public static final PropertyEnum<BlockDoublePlant.EnumPlantType> field_176493_a = PropertyEnum.<BlockDoublePlant.EnumPlantType>func_177709_a("variant", BlockDoublePlant.EnumPlantType.class);
public static final PropertyEnum<BlockDoublePlant.EnumBlockHalf> field_176492_b = PropertyEnum.<BlockDoublePlant.EnumBlockHalf>func_177709_a("half", BlockDoublePlant.EnumBlockHalf.class);
@@ -88,6 +88,8 @@
@@ -89,6 +89,8 @@
Block block = (Block)(flag ? this : p_176475_1_.func_180495_p(blockpos).func_177230_c());
Block block1 = (Block)(flag ? p_176475_1_.func_180495_p(blockpos1).func_177230_c() : this);
@@ -18,7 +18,7 @@
if (block == this)
{
p_176475_1_.func_180501_a(blockpos, Blocks.field_150350_a.func_176223_P(), 2);
@@ -96,17 +98,13 @@
@@ -97,17 +99,13 @@
if (block1 == this)
{
p_176475_1_.func_180501_a(blockpos1, Blocks.field_150350_a.func_176223_P(), 3);
@@ -37,15 +37,15 @@
if (p_180671_3_.func_177229_b(field_176492_b) == BlockDoublePlant.EnumBlockHalf.UPPER)
{
return p_180671_1_.func_180495_p(p_180671_2_.func_177977_b()).func_177230_c() == this;
@@ -149,7 +147,6 @@
@@ -151,7 +149,6 @@
public void func_180657_a(World p_180657_1_, EntityPlayer p_180657_2_, BlockPos p_180657_3_, IBlockState p_180657_4_, TileEntity p_180657_5_, ItemStack p_180657_6_)
public void func_180657_a(World p_180657_1_, EntityPlayer p_180657_2_, BlockPos p_180657_3_, IBlockState p_180657_4_, @Nullable TileEntity p_180657_5_, @Nullable ItemStack p_180657_6_)
{
- if (p_180657_1_.field_72995_K || p_180657_6_ == null || p_180657_6_.func_77973_b() != Items.field_151097_aZ || p_180657_4_.func_177229_b(field_176492_b) != BlockDoublePlant.EnumBlockHalf.LOWER || !this.func_176489_b(p_180657_1_, p_180657_3_, p_180657_4_, p_180657_2_))
{
super.func_180657_a(p_180657_1_, p_180657_2_, p_180657_3_, p_180657_4_, p_180657_5_, p_180657_6_);
}
@@ -212,8 +209,6 @@
@@ -211,8 +208,6 @@
else
{
p_176489_4_.func_71029_a(StatList.func_188055_a(this));
@@ -54,7 +54,7 @@
return true;
}
}
@@ -284,6 +279,33 @@
@@ -283,6 +278,33 @@
return Block.EnumOffsetType.XZ;
}
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockDragonEgg.java
+++ ../src-work/minecraft/net/minecraft/block/BlockDragonEgg.java
@@ -48,7 +48,7 @@
@@ -49,7 +49,7 @@
private void func_180683_d(World p_180683_1_, BlockPos p_180683_2_)
{
@@ -9,7 +9,7 @@
{
int i = 32;
@@ -61,7 +61,7 @@
@@ -62,7 +62,7 @@
p_180683_1_.func_175698_g(p_180683_2_);
BlockPos blockpos;
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockDropper.java
+++ ../src-work/minecraft/net/minecraft/block/BlockDropper.java
@@ -43,7 +43,7 @@
@@ -44,7 +44,7 @@
{
ItemStack itemstack = tileentitydispenser.func_70301_a(i);
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockFalling.java
+++ ../src-work/minecraft/net/minecraft/block/BlockFalling.java
@@ -44,7 +44,7 @@
@@ -47,7 +47,7 @@
private void func_176503_e(World p_176503_1_, BlockPos p_176503_2_)
{
@@ -9,7 +9,7 @@
{
int i = 32;
@@ -62,7 +62,7 @@
@@ -65,7 +65,7 @@
p_176503_1_.func_175698_g(p_176503_2_);
BlockPos blockpos;
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockFarmland.java
+++ ../src-work/minecraft/net/minecraft/block/BlockFarmland.java
@@ -87,7 +87,7 @@
@@ -83,7 +83,7 @@
private boolean func_176529_d(World p_176529_1_, BlockPos p_176529_2_)
{
Block block = p_176529_1_.func_180495_p(p_176529_2_.func_177984_a()).func_177230_c();
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockFire.java
+++ ../src-work/minecraft/net/minecraft/block/BlockFire.java
@@ -37,7 +37,15 @@
@@ -38,7 +38,15 @@
public IBlockState func_176221_a(IBlockState p_176221_1_, IBlockAccess p_176221_2_, BlockPos p_176221_3_)
{
@@ -17,7 +17,7 @@
}
protected BlockFire()
@@ -90,6 +98,7 @@
@@ -91,6 +99,7 @@
public void func_180686_a(Block p_180686_1_, int p_180686_2_, int p_180686_3_)
{
@@ -25,7 +25,7 @@
this.field_149849_a.put(p_180686_1_, Integer.valueOf(p_180686_2_));
this.field_149848_b.put(p_180686_1_, Integer.valueOf(p_180686_3_));
}
@@ -129,13 +138,8 @@
@@ -131,13 +140,8 @@
}
Block block = p_180650_1_.func_180495_p(p_180650_2_.func_177977_b()).func_177230_c();
@@ -40,7 +40,7 @@
int i = ((Integer)p_180650_3_.func_177229_b(field_176543_a)).intValue();
if (!flag && p_180650_1_.func_72896_J() && this.func_176537_d(p_180650_1_, p_180650_2_) && p_180650_4_.nextFloat() < 0.2F + (float)i * 0.03F)
@@ -156,7 +160,7 @@
@@ -158,7 +162,7 @@
{
if (!this.func_176533_e(p_180650_1_, p_180650_2_))
{
@@ -49,7 +49,7 @@
{
p_180650_1_.func_175698_g(p_180650_2_);
}
@@ -164,7 +168,7 @@
@@ -166,7 +170,7 @@
return;
}
@@ -58,7 +58,7 @@
{
p_180650_1_.func_175698_g(p_180650_2_);
return;
@@ -179,12 +183,12 @@
@@ -181,12 +185,12 @@
j = -50;
}
@@ -77,7 +77,7 @@
for (int k = -1; k <= 1; ++k)
{
@@ -243,45 +247,53 @@
@@ -245,22 +249,30 @@
return false;
}
@@ -102,44 +102,14 @@
+ this.tryCatchFire(p_176536_1_, p_176536_2_, p_176536_3_, p_176536_4_, p_176536_5_, EnumFacing.UP);
+ }
- if (p_176536_4_.nextInt(p_176536_3_) < i)
+ private void tryCatchFire(World worldIn, BlockPos pos, int chance, Random random, int age, EnumFacing face)
+ private void tryCatchFire(World p_176536_1_, BlockPos p_176536_2_, int p_176536_3_, Random p_176536_4_, int p_176536_5_, EnumFacing face)
+ {
+ int i = worldIn.func_180495_p(pos).func_177230_c().getFlammability(worldIn, pos, face);
+ int i = p_176536_1_.func_180495_p(p_176536_2_).func_177230_c().getFlammability(p_176536_1_, p_176536_2_, face);
+
+ if (random.nextInt(chance) < i)
if (p_176536_4_.nextInt(p_176536_3_) < i)
{
- IBlockState iblockstate = p_176536_1_.func_180495_p(p_176536_2_);
+ IBlockState iblockstate = worldIn.func_180495_p(pos);
- if (p_176536_4_.nextInt(p_176536_5_ + 10) < 5 && !p_176536_1_.func_175727_C(p_176536_2_))
+ if (random.nextInt(age + 10) < 5 && !worldIn.func_175727_C(pos))
{
- int j = p_176536_5_ + p_176536_4_.nextInt(5) / 4;
+ int j = age + random.nextInt(5) / 4;
if (j > 15)
{
j = 15;
}
- p_176536_1_.func_180501_a(p_176536_2_, this.func_176223_P().func_177226_a(field_176543_a, Integer.valueOf(j)), 3);
+ worldIn.func_180501_a(pos, this.func_176223_P().func_177226_a(field_176543_a, Integer.valueOf(j)), 3);
}
else
{
- p_176536_1_.func_175698_g(p_176536_2_);
+ worldIn.func_175698_g(pos);
}
if (iblockstate.func_177230_c() == Blocks.field_150335_W)
{
- Blocks.field_150335_W.func_176206_d(p_176536_1_, p_176536_2_, iblockstate.func_177226_a(BlockTNT.field_176246_a, Boolean.valueOf(true)));
+ Blocks.field_150335_W.func_176206_d(worldIn, pos, iblockstate.func_177226_a(BlockTNT.field_176246_a, Boolean.valueOf(true)));
}
}
}
@@ -290,7 +302,7 @@
IBlockState iblockstate = p_176536_1_.func_180495_p(p_176536_2_);
@@ -292,7 +304,7 @@
{
for (EnumFacing enumfacing : EnumFacing.values())
{
@@ -148,7 +118,7 @@
{
return true;
}
@@ -311,7 +323,7 @@
@@ -313,7 +325,7 @@
for (EnumFacing enumfacing : EnumFacing.values())
{
@@ -157,7 +127,7 @@
}
return i;
@@ -323,9 +335,10 @@
@@ -325,9 +337,10 @@
return false;
}
@@ -169,7 +139,7 @@
}
public boolean func_176196_c(World p_176196_1_, BlockPos p_176196_2_)
@@ -364,9 +377,9 @@
@@ -366,9 +379,9 @@
p_180655_2_.func_184134_a((double)((float)p_180655_3_.func_177958_n() + 0.5F), (double)((float)p_180655_3_.func_177956_o() + 0.5F), (double)((float)p_180655_3_.func_177952_p() + 0.5F), SoundEvents.field_187643_bs, SoundCategory.BLOCKS, 1.0F + p_180655_4_.nextFloat(), p_180655_4_.nextFloat() * 0.7F + 0.3F, false);
}
@@ -181,7 +151,7 @@
{
for (int j = 0; j < 2; ++j)
{
@@ -377,7 +390,7 @@
@@ -379,7 +392,7 @@
}
}
@@ -190,7 +160,7 @@
{
for (int k = 0; k < 2; ++k)
{
@@ -388,7 +401,7 @@
@@ -390,7 +403,7 @@
}
}
@@ -199,7 +169,7 @@
{
for (int l = 0; l < 2; ++l)
{
@@ -399,7 +412,7 @@
@@ -401,7 +414,7 @@
}
}
@@ -208,7 +178,7 @@
{
for (int i1 = 0; i1 < 2; ++i1)
{
@@ -410,7 +423,7 @@
@@ -412,7 +425,7 @@
}
}
@@ -217,7 +187,7 @@
{
for (int j1 = 0; j1 < 2; ++j1)
{
@@ -458,4 +471,19 @@
@@ -460,4 +473,19 @@
{
return new BlockStateContainer(this, new IProperty[] {field_176543_a, field_176545_N, field_176546_O, field_176541_P, field_176539_Q, field_176542_R});
}
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockFlowerPot.java
+++ ../src-work/minecraft/net/minecraft/block/BlockFlowerPot.java
@@ -148,13 +148,6 @@
@@ -151,13 +151,6 @@
public void func_180663_b(World p_180663_1_, BlockPos p_180663_2_, IBlockState p_180663_3_)
{
@@ -14,7 +14,7 @@
super.func_180663_b(p_180663_1_, p_180663_2_, p_180663_3_);
}
@@ -374,6 +367,31 @@
@@ -379,6 +372,31 @@
return BlockRenderLayer.CUTOUT;
}
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockGrass.java
+++ ../src-work/minecraft/net/minecraft/block/BlockGrass.java
@@ -38,7 +38,7 @@
@@ -39,7 +39,7 @@
{
if (!p_180650_1_.field_72995_K)
{
@@ -9,7 +9,7 @@
{
p_180650_1_.func_175656_a(p_180650_2_, Blocks.field_150346_d.func_176223_P());
}
@@ -58,7 +58,7 @@
@@ -59,7 +59,7 @@
IBlockState iblockstate = p_180650_1_.func_180495_p(blockpos.func_177984_a());
IBlockState iblockstate1 = p_180650_1_.func_180495_p(blockpos);
@@ -18,7 +18,7 @@
{
p_180650_1_.func_175656_a(blockpos, Blocks.field_150349_c.func_176223_P());
}
@@ -96,7 +96,7 @@
@@ -98,7 +98,7 @@
{
if (j >= i / 16)
{
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockHugeMushroom.java
+++ ../src-work/minecraft/net/minecraft/block/BlockHugeMushroom.java
@@ -221,6 +221,20 @@
@@ -223,6 +223,20 @@
return new BlockStateContainer(this, new IProperty[] {field_176380_a});
}
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockIce.java
+++ ../src-work/minecraft/net/minecraft/block/BlockIce.java
@@ -40,14 +40,19 @@
@@ -41,14 +41,19 @@
p_180657_2_.func_71029_a(StatList.func_188055_a(this));
p_180657_2_.func_71020_j(0.025F);
@@ -22,7 +22,7 @@
}
else
{
@@ -58,7 +63,9 @@
@@ -59,7 +64,9 @@
}
int i = EnchantmentHelper.func_77506_a(Enchantments.field_185308_t, p_180657_6_);
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockLeaves.java
+++ ../src-work/minecraft/net/minecraft/block/BlockLeaves.java
@@ -17,7 +17,7 @@
@@ -18,7 +18,7 @@
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
@@ -9,7 +9,7 @@
{
public static final PropertyBool field_176237_a = PropertyBool.func_177716_a("decayable");
public static final PropertyBool field_176236_b = PropertyBool.func_177716_a("check_decay");
@@ -53,9 +53,9 @@
@@ -54,9 +54,9 @@
BlockPos blockpos = p_180663_2_.func_177982_a(j1, k1, l1);
IBlockState iblockstate = p_180663_1_.func_180495_p(blockpos);
@@ -21,7 +21,7 @@
}
}
}
@@ -96,9 +96,9 @@
@@ -97,9 +97,9 @@
IBlockState iblockstate = p_180650_1_.func_180495_p(blockpos$mutableblockpos.func_181079_c(k + i2, l + j2, i1 + k2));
Block block = iblockstate.func_177230_c();
@@ -31,9 +31,9 @@
- if (iblockstate.func_185904_a() == Material.field_151584_j)
+ if (block.isLeaves(iblockstate, p_180650_1_, blockpos$mutableblockpos.func_181079_c(k + i2, l + j2, i1 + k2)))
{
this.field_150128_a[(i2 + l1) * k1 + (j2 + l1) * j1 + k2 + l1] = -2;
this.field_150128_a[(i2 + 16) * 1024 + (j2 + 16) * 32 + k2 + 16] = -2;
}
@@ -205,40 +205,7 @@
@@ -207,40 +207,7 @@
public void func_180653_a(World p_180653_1_, BlockPos p_180653_2_, IBlockState p_180653_3_, float p_180653_4_, int p_180653_5_)
{
@@ -75,7 +75,7 @@
}
protected void func_176234_a(World p_176234_1_, BlockPos p_176234_2_, IBlockState p_176234_3_, int p_176234_4_)
@@ -274,6 +241,49 @@
@@ -276,6 +243,49 @@
public abstract BlockPlanks.EnumType func_176233_b(int p_176233_1_);
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockLever.java
+++ ../src-work/minecraft/net/minecraft/block/BlockLever.java
@@ -295,6 +295,12 @@
@@ -297,6 +297,12 @@
return new BlockStateContainer(this, new IProperty[] {field_176360_a, field_176359_b});
}
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockMobSpawner.java
+++ ../src-work/minecraft/net/minecraft/block/BlockMobSpawner.java
@@ -39,10 +39,14 @@
@@ -41,10 +41,14 @@
public void func_180653_a(World p_180653_1_, BlockPos p_180653_2_, IBlockState p_180653_3_, float p_180653_4_, int p_180653_5_)
{
super.func_180653_a(p_180653_1_, p_180653_2_, p_180653_3_, p_180653_4_, p_180653_5_);
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockMycelium.java
+++ ../src-work/minecraft/net/minecraft/block/BlockMycelium.java
@@ -39,7 +39,7 @@
@@ -40,7 +40,7 @@
{
if (!p_180650_1_.field_72995_K)
{
@@ -9,7 +9,7 @@
{
p_180650_1_.func_175656_a(p_180650_2_, Blocks.field_150346_d.func_176223_P().func_177226_a(BlockDirt.field_176386_a, BlockDirt.DirtType.DIRT));
}
@@ -53,7 +53,7 @@
@@ -54,7 +54,7 @@
IBlockState iblockstate = p_180650_1_.func_180495_p(blockpos);
IBlockState iblockstate1 = p_180650_1_.func_180495_p(blockpos.func_177984_a());
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockNetherWart.java
+++ ../src-work/minecraft/net/minecraft/block/BlockNetherWart.java
@@ -42,7 +42,7 @@
@@ -43,7 +43,7 @@
public boolean func_180671_f(World p_180671_1_, BlockPos p_180671_2_, IBlockState p_180671_3_)
{
@@ -9,7 +9,7 @@
}
public void func_180650_b(World p_180650_1_, BlockPos p_180650_2_, IBlockState p_180650_3_, Random p_180650_4_)
@@ -58,9 +58,11 @@
@@ -59,9 +59,11 @@
super.func_180650_b(p_180650_1_, p_180650_2_, p_180650_3_, p_180650_4_);
}
@@ -22,7 +22,7 @@
{
int i = 1;
@@ -106,6 +108,26 @@
@@ -108,6 +110,26 @@
return ((Integer)p_176201_1_.func_177229_b(field_176486_a)).intValue();
}
@@ -1,15 +1,15 @@
--- ../src-base/minecraft/net/minecraft/block/BlockNewLeaf.java
+++ ../src-work/minecraft/net/minecraft/block/BlockNewLeaf.java
@@ -98,7 +98,7 @@
@@ -99,7 +99,7 @@
public void func_180657_a(World p_180657_1_, EntityPlayer p_180657_2_, BlockPos p_180657_3_, IBlockState p_180657_4_, TileEntity p_180657_5_, ItemStack p_180657_6_)
public void func_180657_a(World p_180657_1_, EntityPlayer p_180657_2_, BlockPos p_180657_3_, IBlockState p_180657_4_, @Nullable TileEntity p_180657_5_, @Nullable ItemStack p_180657_6_)
{
- if (!p_180657_1_.field_72995_K && p_180657_6_ != null && p_180657_6_.func_77973_b() == Items.field_151097_aZ)
+ if (false && !p_180657_1_.field_72995_K && p_180657_6_ != null && p_180657_6_.func_77973_b() == Items.field_151097_aZ) //Forge: Noop this
{
p_180657_2_.func_71029_a(StatList.func_188055_a(this));
func_180635_a(p_180657_1_, p_180657_3_, new ItemStack(Item.func_150898_a(this), 1, ((BlockPlanks.EnumType)p_180657_4_.func_177229_b(field_176240_P)).func_176839_a() - 4));
@@ -108,4 +108,10 @@
@@ -109,4 +109,10 @@
super.func_180657_a(p_180657_1_, p_180657_2_, p_180657_3_, p_180657_4_, p_180657_5_, p_180657_6_);
}
}
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockNote.java
+++ ../src-work/minecraft/net/minecraft/block/BlockNote.java
@@ -64,7 +64,9 @@
@@ -65,7 +65,9 @@
if (tileentity instanceof TileEntityNote)
{
TileEntityNote tileentitynote = (TileEntityNote)tileentity;
@@ -10,14 +10,14 @@
tileentitynote.func_175108_a(p_180639_1_, p_180639_2_);
p_180639_4_.func_71029_a(StatList.field_188087_U);
}
@@ -104,6 +106,10 @@
@@ -105,6 +107,10 @@
public boolean func_180648_a(World p_180648_1_, BlockPos p_180648_2_, IBlockState p_180648_3_, int p_180648_4_, int p_180648_5_)
public boolean func_189539_a(IBlockState p_189539_1_, World p_189539_2_, BlockPos p_189539_3_, int p_189539_4_, int p_189539_5_)
{
+ net.minecraftforge.event.world.NoteBlockEvent.Play e = new net.minecraftforge.event.world.NoteBlockEvent.Play(p_180648_1_, p_180648_2_, p_180648_3_, p_180648_5_, p_180648_4_);
+ net.minecraftforge.event.world.NoteBlockEvent.Play e = new net.minecraftforge.event.world.NoteBlockEvent.Play(p_189539_2_, p_189539_3_, p_189539_1_, p_189539_5_, p_189539_4_);
+ if (net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(e)) return false;
+ p_180648_4_ = e.getInstrument().ordinal();
+ p_180648_5_ = e.getVanillaNoteId();
float f = (float)Math.pow(2.0D, (double)(p_180648_5_ - 12) / 12.0D);
p_180648_1_.func_184133_a((EntityPlayer)null, p_180648_2_, this.func_185576_e(p_180648_4_), SoundCategory.BLOCKS, 3.0F, f);
p_180648_1_.func_175688_a(EnumParticleTypes.NOTE, (double)p_180648_2_.func_177958_n() + 0.5D, (double)p_180648_2_.func_177956_o() + 1.2D, (double)p_180648_2_.func_177952_p() + 0.5D, (double)p_180648_5_ / 24.0D, 0.0D, 0.0D, new int[0]);
+ p_189539_4_ = e.getInstrument().ordinal();
+ p_189539_5_ = e.getVanillaNoteId();
float f = (float)Math.pow(2.0D, (double)(p_189539_5_ - 12) / 12.0D);
p_189539_2_.func_184133_a((EntityPlayer)null, p_189539_3_, this.func_185576_e(p_189539_4_), SoundCategory.RECORDS, 3.0F, f);
p_189539_2_.func_175688_a(EnumParticleTypes.NOTE, (double)p_189539_3_.func_177958_n() + 0.5D, (double)p_189539_3_.func_177956_o() + 1.2D, (double)p_189539_3_.func_177952_p() + 0.5D, (double)p_189539_5_ / 24.0D, 0.0D, 0.0D, new int[0]);
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockOldLeaf.java
+++ ../src-work/minecraft/net/minecraft/block/BlockOldLeaf.java
@@ -103,11 +103,16 @@
@@ -104,11 +104,16 @@
if (!p_180657_1_.field_72995_K && p_180657_6_ != null && p_180657_6_.func_77973_b() == Items.field_151097_aZ)
{
p_180657_2_.func_71029_a(StatList.func_188055_a(this));
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockOre.java
+++ ../src-work/minecraft/net/minecraft/block/BlockOre.java
@@ -59,34 +59,39 @@
@@ -61,34 +61,39 @@
public void func_180653_a(World p_180653_1_, BlockPos p_180653_2_, IBlockState p_180653_3_, float p_180653_4_, int p_180653_5_)
{
super.func_180653_a(p_180653_1_, p_180653_2_, p_180653_3_, p_180653_4_, p_180653_5_);
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockPane.java
+++ ../src-work/minecraft/net/minecraft/block/BlockPane.java
@@ -105,7 +105,10 @@
@@ -106,7 +106,10 @@
public IBlockState func_176221_a(IBlockState p_176221_1_, IBlockAccess p_176221_2_, BlockPos p_176221_3_)
{
@@ -11,8 +11,8 @@
+ .func_177226_a(field_176242_M, canPaneConnectTo(p_176221_2_, p_176221_3_, EnumFacing.EAST));
}
public Item func_180660_a(IBlockState p_180660_1_, Random p_180660_2_, int p_180660_3_)
@@ -182,4 +185,11 @@
@Nullable
@@ -184,4 +187,11 @@
{
return new BlockStateContainer(this, new IProperty[] {field_176241_b, field_176242_M, field_176244_O, field_176243_N});
}
@@ -1,15 +1,15 @@
--- ../src-base/minecraft/net/minecraft/block/BlockPistonBase.java
+++ ../src-work/minecraft/net/minecraft/block/BlockPistonBase.java
@@ -235,7 +235,7 @@
@@ -236,7 +236,7 @@
}
}
- if (!flag1 && iblockstate.func_185904_a() != Material.field_151579_a && func_185646_a(iblockstate, p_180648_1_, blockpos, enumfacing.func_176734_d(), false) && (iblockstate.func_185905_o() == EnumPushReaction.NORMAL || block == Blocks.field_150331_J || block == Blocks.field_150320_F))
+ if (!flag1 && !iblockstate.func_177230_c().isAir(iblockstate, p_180648_1_, blockpos) && func_185646_a(iblockstate, p_180648_1_, blockpos, enumfacing.func_176734_d(), false) && (iblockstate.func_185905_o() == EnumPushReaction.NORMAL || block == Blocks.field_150331_J || block == Blocks.field_150320_F))
- if (!flag1 && iblockstate.func_185904_a() != Material.field_151579_a && func_185646_a(iblockstate, p_189539_2_, blockpos, enumfacing.func_176734_d(), false) && (iblockstate.func_185905_o() == EnumPushReaction.NORMAL || block == Blocks.field_150331_J || block == Blocks.field_150320_F))
+ if (!flag1 && !iblockstate.func_177230_c().isAir(iblockstate, p_189539_2_, p_189539_3_) && func_185646_a(iblockstate, p_189539_2_, blockpos, enumfacing.func_176734_d(), false) && (iblockstate.func_185905_o() == EnumPushReaction.NORMAL || block == Blocks.field_150331_J || block == Blocks.field_150320_F))
{
this.func_176319_a(p_180648_1_, p_180648_2_, enumfacing, false);
this.func_176319_a(p_189539_2_, p_189539_3_, enumfacing, false);
}
@@ -320,7 +320,7 @@
@@ -322,7 +322,7 @@
return false;
}
@@ -18,7 +18,7 @@
}
else
{
@@ -366,7 +366,9 @@
@@ -368,7 +368,9 @@
{
BlockPos blockpos1 = (BlockPos)list2.get(j);
IBlockState iblockstate = p_176319_1_.func_180495_p(blockpos1);
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockPistonMoving.java
+++ ../src-work/minecraft/net/minecraft/block/BlockPistonMoving.java
@@ -110,7 +110,7 @@
@@ -112,7 +112,7 @@
public void func_180653_a(World p_180653_1_, BlockPos p_180653_2_, IBlockState p_180653_3_, float p_180653_4_, int p_180653_5_)
{
@@ -9,15 +9,15 @@
{
TileEntityPiston tileentitypiston = this.func_185589_c(p_180653_1_, p_180653_2_);
@@ -120,6 +120,7 @@
@@ -122,6 +122,7 @@
iblockstate.func_177230_c().func_176226_b(p_180653_1_, p_180653_2_, iblockstate, 0);
}
}
+ super.func_180653_a(p_180653_1_, p_180653_2_, p_180653_3_, p_180653_4_, p_180653_5_);
+ super.func_180653_a(p_180653_1_, p_180653_2_, p_180653_3_, 1, p_180653_5_); // mimic vanilla behavior from above and ignore chance
}
public RayTraceResult func_180636_a(IBlockState p_180636_1_, World p_180636_2_, BlockPos p_180636_3_, Vec3d p_180636_4_, Vec3d p_180636_5_)
@@ -190,4 +191,16 @@
@@ -195,4 +196,16 @@
{
return new BlockStateContainer(this, new IProperty[] {field_176426_a, field_176425_b});
}
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockPumpkin.java
+++ ../src-work/minecraft/net/minecraft/block/BlockPumpkin.java
@@ -117,7 +117,7 @@
@@ -124,7 +124,7 @@
public boolean func_176196_c(World p_176196_1_, BlockPos p_176196_2_)
{
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockQuartz.java
+++ ../src-work/minecraft/net/minecraft/block/BlockQuartz.java
@@ -113,6 +113,26 @@
@@ -110,6 +110,26 @@
return new BlockStateContainer(this, new IProperty[] {field_176335_a});
}
@@ -9,46 +9,46 @@
}
protected BlockRailBase(boolean p_i45389_1_)
@@ -65,7 +65,7 @@
@@ -66,7 +66,7 @@
public boolean func_176196_c(World p_176196_1_, BlockPos p_176196_2_)
{
- return p_176196_1_.func_180495_p(p_176196_2_.func_177977_b()).func_185896_q();
+ return p_176196_1_.func_180495_p(p_176196_2_.func_177977_b()).isSideSolid(p_176196_1_, p_176196_2_, EnumFacing.UP);
+ return p_176196_1_.func_180495_p(p_176196_2_.func_177977_b()).isSideSolid(p_176196_1_, p_176196_2_.func_177977_b(), EnumFacing.UP);
}
public void func_176213_c(World p_176213_1_, BlockPos p_176213_2_, IBlockState p_176213_3_)
@@ -88,24 +88,24 @@
BlockRailBase.EnumRailDirection blockrailbase$enumraildirection = (BlockRailBase.EnumRailDirection)p_176204_3_.func_177229_b(this.func_176560_l());
@@ -89,24 +89,24 @@
BlockRailBase.EnumRailDirection blockrailbase$enumraildirection = (BlockRailBase.EnumRailDirection)p_189540_1_.func_177229_b(this.func_176560_l());
boolean flag = false;
- if (!p_176204_1_.func_180495_p(p_176204_2_.func_177977_b()).func_185896_q())
+ if (!p_176204_1_.func_180495_p(p_176204_2_.func_177977_b()).isSideSolid(p_176204_1_, p_176204_2_.func_177977_b(), EnumFacing.UP))
- if (!p_189540_2_.func_180495_p(p_189540_3_.func_177977_b()).func_185896_q())
+ if (!p_189540_2_.func_180495_p(p_189540_3_.func_177977_b()).isSideSolid(p_189540_2_, p_189540_3_.func_177977_b(), EnumFacing.UP))
{
flag = true;
}
- if (blockrailbase$enumraildirection == BlockRailBase.EnumRailDirection.ASCENDING_EAST && !p_176204_1_.func_180495_p(p_176204_2_.func_177974_f()).func_185896_q())
+ if (blockrailbase$enumraildirection == BlockRailBase.EnumRailDirection.ASCENDING_EAST && !p_176204_1_.func_180495_p(p_176204_2_.func_177974_f()).isSideSolid(p_176204_1_, p_176204_2_.func_177974_f(), EnumFacing.UP))
- if (blockrailbase$enumraildirection == BlockRailBase.EnumRailDirection.ASCENDING_EAST && !p_189540_2_.func_180495_p(p_189540_3_.func_177974_f()).func_185896_q())
+ if (blockrailbase$enumraildirection == BlockRailBase.EnumRailDirection.ASCENDING_EAST && !p_189540_2_.func_180495_p(p_189540_3_.func_177974_f()).isSideSolid(p_189540_2_, p_189540_3_.func_177974_f(), EnumFacing.UP))
{
flag = true;
}
- else if (blockrailbase$enumraildirection == BlockRailBase.EnumRailDirection.ASCENDING_WEST && !p_176204_1_.func_180495_p(p_176204_2_.func_177976_e()).func_185896_q())
+ else if (blockrailbase$enumraildirection == BlockRailBase.EnumRailDirection.ASCENDING_WEST && !p_176204_1_.func_180495_p(p_176204_2_.func_177976_e()).isSideSolid(p_176204_1_, p_176204_2_.func_177976_e(), EnumFacing.UP))
- else if (blockrailbase$enumraildirection == BlockRailBase.EnumRailDirection.ASCENDING_WEST && !p_189540_2_.func_180495_p(p_189540_3_.func_177976_e()).func_185896_q())
+ else if (blockrailbase$enumraildirection == BlockRailBase.EnumRailDirection.ASCENDING_WEST && !p_189540_2_.func_180495_p(p_189540_3_.func_177976_e()).isSideSolid(p_189540_2_, p_189540_3_.func_177976_e(), EnumFacing.UP))
{
flag = true;
}
- else if (blockrailbase$enumraildirection == BlockRailBase.EnumRailDirection.ASCENDING_NORTH && !p_176204_1_.func_180495_p(p_176204_2_.func_177978_c()).func_185896_q())
+ else if (blockrailbase$enumraildirection == BlockRailBase.EnumRailDirection.ASCENDING_NORTH && !p_176204_1_.func_180495_p(p_176204_2_.func_177978_c()).isSideSolid(p_176204_1_, p_176204_2_.func_177978_c(), EnumFacing.UP))
- else if (blockrailbase$enumraildirection == BlockRailBase.EnumRailDirection.ASCENDING_NORTH && !p_189540_2_.func_180495_p(p_189540_3_.func_177978_c()).func_185896_q())
+ else if (blockrailbase$enumraildirection == BlockRailBase.EnumRailDirection.ASCENDING_NORTH && !p_189540_2_.func_180495_p(p_189540_3_.func_177978_c()).isSideSolid(p_189540_2_, p_189540_3_.func_177978_c(), EnumFacing.UP))
{
flag = true;
}
- else if (blockrailbase$enumraildirection == BlockRailBase.EnumRailDirection.ASCENDING_SOUTH && !p_176204_1_.func_180495_p(p_176204_2_.func_177968_d()).func_185896_q())
+ else if (blockrailbase$enumraildirection == BlockRailBase.EnumRailDirection.ASCENDING_SOUTH && !p_176204_1_.func_180495_p(p_176204_2_.func_177968_d()).isSideSolid(p_176204_1_, p_176204_2_.func_177968_d(), EnumFacing.UP))
- else if (blockrailbase$enumraildirection == BlockRailBase.EnumRailDirection.ASCENDING_SOUTH && !p_189540_2_.func_180495_p(p_189540_3_.func_177968_d()).func_185896_q())
+ else if (blockrailbase$enumraildirection == BlockRailBase.EnumRailDirection.ASCENDING_SOUTH && !p_189540_2_.func_180495_p(p_189540_3_.func_177968_d()).isSideSolid(p_189540_2_, p_189540_3_.func_177968_d(), EnumFacing.UP))
{
flag = true;
}
@@ -160,6 +160,81 @@
@@ -161,6 +161,98 @@
public abstract IProperty<BlockRailBase.EnumRailDirection> func_176560_l();
@@ -57,7 +57,7 @@
+ * Return true if the rail can make corners.
+ * Used by placement logic.
+ * @param world The world.
+ * @param pod Block's position in world
+ * @param pos Block's position in world
+ * @return True if the rail can make corners.
+ */
+ public boolean isFlexibleRail(IBlockAccess world, BlockPos pos)
@@ -69,7 +69,7 @@
+ * Returns true if the rail can make up and down slopes.
+ * Used by placement logic.
+ * @param world The world.
+ * @param pod Block's position in world
+ * @param pos Block's position in world
+ * @return True if the rail can make slopes.
+ */
+ public boolean canMakeSlopes(IBlockAccess world, BlockPos pos)
@@ -78,10 +78,27 @@
+ }
+
+ /**
+ * Return the rail's direction.
+ * Can be used to make the cart think the rail is a different shape,
+ * for example when making diamond junctions or switches.
+ * The cart parameter will often be null unless it it called from EntityMinecart.
+ *
+ * @param world The world.
+ * @param pos Block's position in world
+ * @param state The BlockState
+ * @param cart The cart asking for the metadata, null if it is not called by EntityMinecart.
+ * @return The direction.
+ */
+ public EnumRailDirection getRailDirection(IBlockAccess world, BlockPos pos, IBlockState state, @javax.annotation.Nullable net.minecraft.entity.item.EntityMinecart cart)
+ {
+ return state.func_177229_b(func_176560_l());
+ }
+
+ /**
+ * Returns the max speed of the rail at the specified position.
+ * @param world The world.
+ * @param cart The cart on the rail, may be null.
+ * @param pod Block's position in world
+ * @param pos Block's position in world
+ * @return The max speed of the current rail.
+ */
+ public float getRailMaxSpeed(World world, net.minecraft.entity.item.EntityMinecart cart, BlockPos pos)
@@ -94,7 +111,7 @@
+ * It is called once per update tick that the minecart is on the rail.
+ * @param world The world.
+ * @param cart The cart on the rail.
+ * @param pod Block's position in world
+ * @param pos Block's position in world
+ */
+ public void onMinecartPass(World world, net.minecraft.entity.item.EntityMinecart cart, BlockPos pos)
+ {
@@ -130,7 +147,7 @@
public static enum EnumRailDirection implements IStringSerializable
{
NORTH_SOUTH(0, "north_south"),
@@ -230,6 +305,7 @@
@@ -231,6 +323,7 @@
private IBlockState field_180366_e;
private final boolean field_150656_f;
private final List<BlockPos> field_150657_g = Lists.<BlockPos>newArrayList();
@@ -138,17 +155,19 @@
public Rail(World p_i45739_2_, BlockPos p_i45739_3_, IBlockState p_i45739_4_)
{
@@ -238,7 +314,8 @@
@@ -238,8 +331,9 @@
this.field_180367_c = p_i45739_3_;
this.field_180366_e = p_i45739_4_;
this.field_180365_d = (BlockRailBase)p_i45739_4_.func_177230_c();
BlockRailBase.EnumRailDirection blockrailbase$enumraildirection = (BlockRailBase.EnumRailDirection)p_i45739_4_.func_177229_b(this.field_180365_d.func_176560_l());
- BlockRailBase.EnumRailDirection blockrailbase$enumraildirection = (BlockRailBase.EnumRailDirection)p_i45739_4_.func_177229_b(this.field_180365_d.func_176560_l());
- this.field_150656_f = this.field_180365_d.field_150053_a;
+ BlockRailBase.EnumRailDirection blockrailbase$enumraildirection = field_180365_d.getRailDirection(p_i45739_2_, p_i45739_3_, p_i45739_4_, null);
+ this.field_150656_f = !this.field_180365_d.isFlexibleRail(p_i45739_2_, p_i45739_3_);
+ this.canMakeSlopes = this.field_180365_d.canMakeSlopes(p_i45739_2_, p_i45739_3_);
this.func_180360_a(blockrailbase$enumraildirection);
}
@@ -429,7 +506,7 @@
@@ -431,7 +525,7 @@
}
}
@@ -157,7 +176,7 @@
{
if (BlockRailBase.func_176562_d(this.field_150660_b, blockpos.func_177984_a()))
{
@@ -442,7 +519,7 @@
@@ -444,7 +538,7 @@
}
}
@@ -166,7 +185,7 @@
{
if (BlockRailBase.func_176562_d(this.field_150660_b, blockpos3.func_177984_a()))
{
@@ -585,7 +662,7 @@
@@ -587,7 +681,7 @@
}
}
@@ -175,7 +194,7 @@
{
if (BlockRailBase.func_176562_d(this.field_150660_b, blockpos.func_177984_a()))
{
@@ -598,7 +675,7 @@
@@ -600,7 +694,7 @@
}
}
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockRedstoneComparator.java
+++ ../src-work/minecraft/net/minecraft/block/BlockRedstoneComparator.java
@@ -310,6 +310,21 @@
@@ -312,6 +312,21 @@
return this.func_176223_P().func_177226_a(field_185512_D, p_180642_8_.func_174811_aO().func_176734_d()).func_177226_a(field_176464_a, Boolean.valueOf(false)).func_177226_a(field_176463_b, BlockRedstoneComparator.Mode.COMPARE);
}
@@ -9,7 +9,7 @@
+ {
+ if (pos.func_177956_o() == neighbor.func_177956_o() && world instanceof World)
+ {
+ func_176204_a((World)world, pos, world.func_180495_p(pos), world.func_180495_p(neighbor).func_177230_c());
+ func_189540_a(world.func_180495_p(pos), (World)world, pos, world.func_180495_p(neighbor).func_177230_c());
+ }
+ }
+
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockRedstoneOre.java
+++ ../src-work/minecraft/net/minecraft/block/BlockRedstoneOre.java
@@ -92,12 +92,16 @@
@@ -94,12 +94,16 @@
public void func_180653_a(World p_180653_1_, BlockPos p_180653_2_, IBlockState p_180653_3_, float p_180653_4_, int p_180653_5_)
{
super.func_180653_a(p_180653_1_, p_180653_2_, p_180653_3_, p_180653_4_, p_180653_5_);
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockRedstoneWire.java
+++ ../src-work/minecraft/net/minecraft/block/BlockRedstoneWire.java
@@ -97,15 +97,15 @@
@@ -98,15 +98,15 @@
BlockPos blockpos = p_176341_2_.func_177972_a(p_176341_3_);
IBlockState iblockstate = p_176341_1_.func_180495_p(p_176341_2_.func_177972_a(p_176341_3_));
@@ -19,7 +19,7 @@
{
if (iblockstate.func_185898_k())
{
@@ -406,35 +406,30 @@
@@ -409,21 +409,16 @@
IBlockState iblockstate = p_176339_1_.func_180495_p(blockpos);
boolean flag = iblockstate.func_185915_l();
boolean flag1 = p_176339_1_.func_180495_p(p_176339_2_.func_177984_a()).func_185915_l();
@@ -34,32 +34,22 @@
}
- protected static boolean func_176346_d(IBlockState p_176346_0_)
+ protected static boolean canConnectTo(IBlockState blockState, EnumFacing side, IBlockAccess world, BlockPos pos)
+ protected static boolean canConnectTo(IBlockState p_176343_0_, @Nullable EnumFacing p_176343_1_, IBlockAccess world, BlockPos pos )
{
- return func_176343_a(p_176346_0_, (EnumFacing)null);
- }
+ Block block = blockState.func_177230_c();
- protected static boolean func_176343_a(IBlockState p_176343_0_, EnumFacing p_176343_1_)
- {
- Block block = p_176343_0_.func_177230_c();
-
- protected static boolean func_176343_a(IBlockState p_176343_0_, @Nullable EnumFacing p_176343_1_)
- {
Block block = p_176343_0_.func_177230_c();
if (block == Blocks.field_150488_af)
{
return true;
}
- else if (Blocks.field_150413_aR.func_185547_C(p_176343_0_))
+ else if (Blocks.field_150413_aR.func_185547_C(blockState))
{
- EnumFacing enumfacing = (EnumFacing)p_176343_0_.func_177229_b(BlockRedstoneRepeater.field_185512_D);
- return enumfacing == p_176343_1_ || enumfacing.func_176734_d() == p_176343_1_;
+ EnumFacing enumfacing = (EnumFacing)blockState.func_177229_b(BlockRedstoneRepeater.field_185512_D);
+ return enumfacing == side || enumfacing.func_176734_d() == side;
@@ -437,7 +432,7 @@
}
else
{
- return p_176343_0_.func_185897_m() && p_176343_1_ != null;
+ return blockState.func_177230_c().canConnectRedstone(blockState, world, pos, side);
+ return p_176343_0_.func_177230_c().canConnectRedstone(p_176343_0_, world, pos, p_176343_1_);
}
}
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockReed.java
+++ ../src-work/minecraft/net/minecraft/block/BlockReed.java
@@ -19,7 +19,7 @@
@@ -20,7 +20,7 @@
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
@@ -9,7 +9,7 @@
{
public static final PropertyInteger field_176355_a = PropertyInteger.func_177719_a("age", 0, 15);
protected static final AxisAlignedBB field_185701_b = new AxisAlignedBB(0.125D, 0.0D, 0.125D, 0.875D, 1.0D, 0.875D);
@@ -69,7 +69,9 @@
@@ -70,7 +70,9 @@
public boolean func_176196_c(World p_176196_1_, BlockPos p_176196_2_)
{
@@ -20,7 +20,7 @@
if (block == this)
{
@@ -162,6 +164,17 @@
@@ -165,6 +167,17 @@
return ((Integer)p_176201_1_.func_177229_b(field_176355_a)).intValue();
}
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockSkull.java
+++ ../src-work/minecraft/net/minecraft/block/BlockSkull.java
@@ -116,10 +116,6 @@
@@ -118,10 +118,6 @@
return new ItemStack(Items.field_151144_bL, 1, i);
}
@@ -11,7 +11,7 @@
public void func_176208_a(World p_176208_1_, BlockPos p_176208_2_, IBlockState p_176208_3_, EntityPlayer p_176208_4_)
{
if (p_176208_4_.field_71075_bZ.field_75098_d)
@@ -127,22 +123,27 @@
@@ -129,13 +125,18 @@
p_176208_3_ = p_176208_3_.func_177226_a(field_176417_b, Boolean.valueOf(true));
p_176208_1_.func_180501_a(p_176208_2_, p_176208_3_, 4);
}
@@ -25,16 +25,13 @@
- if (!p_180663_1_.field_72995_K)
+ super.func_180663_b(p_180663_1_, p_180663_2_, p_180663_3_);
+ }
+ public java.util.List<ItemStack> getDrops(IBlockAccess worldIn, BlockPos pos, IBlockState state, int fortune)
+ public java.util.List<ItemStack> getDrops(IBlockAccess p_180663_1_, BlockPos p_180663_2_, IBlockState p_180663_3_, int fortune)
+ {
+ java.util.List<ItemStack> ret = new java.util.ArrayList<ItemStack>();
{
- if (!((Boolean)p_180663_3_.func_177229_b(field_176417_b)).booleanValue())
+ if (!((Boolean)state.func_177229_b(field_176417_b)).booleanValue())
if (!((Boolean)p_180663_3_.func_177229_b(field_176417_b)).booleanValue())
{
- TileEntity tileentity = p_180663_1_.func_175625_s(p_180663_2_);
+ TileEntity tileentity = worldIn.func_175625_s(pos);
@@ -144,7 +145,7 @@
if (tileentity instanceof TileEntitySkull)
{
TileEntitySkull tileentityskull = (TileEntitySkull)tileentity;
@@ -43,7 +40,7 @@
if (tileentityskull.func_145904_a() == 3 && tileentityskull.func_152108_a() != null)
{
@@ -152,12 +153,11 @@
@@ -154,12 +155,11 @@
itemstack.func_77978_p().func_74782_a("SkullOwner", nbttagcompound);
}
@@ -57,4 +54,4 @@
+ return ret;
}
public Item func_180660_a(IBlockState p_180660_1_, Random p_180660_2_, int p_180660_3_)
@Nullable
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockSnow.java
+++ ../src-work/minecraft/net/minecraft/block/BlockSnow.java
@@ -73,7 +73,7 @@
@@ -75,7 +75,7 @@
{
IBlockState iblockstate = p_176196_1_.func_180495_p(p_176196_2_.func_177977_b());
Block block = iblockstate.func_177230_c();
@@ -8,8 +8,8 @@
+ return block != Blocks.field_150432_aD && block != Blocks.field_150403_cj ? (iblockstate.func_177230_c().isLeaves(iblockstate, p_176196_1_, p_176196_2_.func_177977_b()) ? true : (block == this && ((Integer)iblockstate.func_177229_b(field_176315_a)).intValue() >= 7 ? true : iblockstate.func_185914_p() && iblockstate.func_185904_a().func_76230_c())) : false;
}
public void func_176204_a(World p_176204_1_, BlockPos p_176204_2_, IBlockState p_176204_3_, Block p_176204_4_)
@@ -85,7 +85,6 @@
public void func_189540_a(IBlockState p_189540_1_, World p_189540_2_, BlockPos p_189540_3_, Block p_189540_4_)
@@ -87,7 +87,6 @@
{
if (!this.func_176196_c(p_176314_1_, p_176314_2_))
{
@@ -17,9 +17,9 @@
p_176314_1_.func_175698_g(p_176314_2_);
return false;
}
@@ -97,9 +96,8 @@
@@ -99,9 +98,8 @@
public void func_180657_a(World p_180657_1_, EntityPlayer p_180657_2_, BlockPos p_180657_3_, IBlockState p_180657_4_, TileEntity p_180657_5_, ItemStack p_180657_6_)
public void func_180657_a(World p_180657_1_, EntityPlayer p_180657_2_, BlockPos p_180657_3_, IBlockState p_180657_4_, @Nullable TileEntity p_180657_5_, @Nullable ItemStack p_180657_6_)
{
- func_180635_a(p_180657_1_, p_180657_3_, new ItemStack(Items.field_151126_ay, ((Integer)p_180657_4_.func_177229_b(field_176315_a)).intValue() + 1, 0));
+ super.func_180657_a(p_180657_1_, p_180657_2_, p_180657_3_, p_180657_4_, p_180657_5_, p_180657_6_);
@@ -27,8 +27,8 @@
- p_180657_2_.func_71029_a(StatList.func_188055_a(this));
}
public Item func_180660_a(IBlockState p_180660_1_, Random p_180660_2_, int p_180660_3_)
@@ -109,14 +107,13 @@
@Nullable
@@ -112,14 +110,13 @@
public int func_149745_a(Random p_149745_1_)
{
@@ -44,7 +44,7 @@
p_180650_1_.func_175698_g(p_180650_2_);
}
}
@@ -150,6 +147,8 @@
@@ -153,6 +150,8 @@
return ((Integer)p_176201_1_.func_177229_b(field_176315_a)).intValue() - 1;
}
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockStairs.java
+++ ../src-work/minecraft/net/minecraft/block/BlockStairs.java
@@ -443,6 +443,17 @@
@@ -445,6 +445,17 @@
return new BlockStateContainer(this, new IProperty[] {field_176309_a, field_176308_b, field_176310_M});
}
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockStem.java
+++ ../src-work/minecraft/net/minecraft/block/BlockStem.java
@@ -89,9 +89,10 @@
@@ -90,9 +90,10 @@
}
p_180650_2_ = p_180650_2_.func_177972_a(EnumFacing.Plane.HORIZONTAL.func_179518_a(p_180650_4_));
@@ -13,7 +13,7 @@
{
p_180650_1_.func_175656_a(p_180650_2_, this.field_149877_a.func_176223_P());
}
@@ -109,24 +110,29 @@
@@ -110,24 +111,29 @@
public void func_180653_a(World p_180653_1_, BlockPos p_180653_2_, IBlockState p_180653_3_, float p_180653_4_, int p_180653_5_)
{
super.func_180653_a(p_180653_1_, p_180653_2_, p_180653_3_, p_180653_4_, p_180653_5_);
@@ -46,4 +46,4 @@
+ return ret;
}
protected Item func_176481_j()
@Nullable
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockTallGrass.java
+++ ../src-work/minecraft/net/minecraft/block/BlockTallGrass.java
@@ -23,7 +23,7 @@
@@ -24,7 +24,7 @@
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
@@ -9,7 +9,7 @@
{
public static final PropertyEnum<BlockTallGrass.EnumType> field_176497_a = PropertyEnum.<BlockTallGrass.EnumType>func_177709_a("type", BlockTallGrass.EnumType.class);
protected static final AxisAlignedBB field_185522_c = new AxisAlignedBB(0.09999999403953552D, 0.0D, 0.09999999403953552D, 0.8999999761581421D, 0.800000011920929D, 0.8999999761581421D);
@@ -41,7 +41,7 @@
@@ -42,7 +42,7 @@
public boolean func_180671_f(World p_180671_1_, BlockPos p_180671_2_, IBlockState p_180671_3_)
{
@@ -18,8 +18,8 @@
}
public boolean func_176200_f(IBlockAccess p_176200_1_, BlockPos p_176200_2_)
@@ -51,7 +51,7 @@
@@ -53,7 +53,7 @@
@Nullable
public Item func_180660_a(IBlockState p_180660_1_, Random p_180660_2_, int p_180660_3_)
{
- return p_180660_2_.nextInt(8) == 0 ? Items.field_151014_N : null;
@@ -27,16 +27,16 @@
}
public int func_149679_a(int p_149679_1_, Random p_149679_2_)
@@ -61,7 +61,7 @@
@@ -63,7 +63,7 @@
public void func_180657_a(World p_180657_1_, EntityPlayer p_180657_2_, BlockPos p_180657_3_, IBlockState p_180657_4_, TileEntity p_180657_5_, ItemStack p_180657_6_)
public void func_180657_a(World p_180657_1_, EntityPlayer p_180657_2_, BlockPos p_180657_3_, IBlockState p_180657_4_, @Nullable TileEntity p_180657_5_, @Nullable ItemStack p_180657_6_)
{
- if (!p_180657_1_.field_72995_K && p_180657_6_ != null && p_180657_6_.func_77973_b() == Items.field_151097_aZ)
+ if (false && !p_180657_1_.field_72995_K && p_180657_6_ != null && p_180657_6_.func_77973_b() == Items.field_151097_aZ) // Forge: Noop Taken care of by IShearable
{
p_180657_2_.func_71029_a(StatList.func_188055_a(this));
func_180635_a(p_180657_1_, p_180657_3_, new ItemStack(Blocks.field_150329_H, 1, ((BlockTallGrass.EnumType)p_180657_4_.func_177229_b(field_176497_a)).func_177044_a()));
@@ -181,4 +181,22 @@
@@ -183,4 +183,22 @@
}
}
}
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockTorch.java
+++ ../src-work/minecraft/net/minecraft/block/BlockTorch.java
@@ -79,14 +79,14 @@
@@ -81,14 +81,14 @@
private boolean func_176594_d(World p_176594_1_, BlockPos p_176594_2_)
{
@@ -18,7 +18,7 @@
}
}
@@ -107,7 +107,7 @@
@@ -109,7 +109,7 @@
{
BlockPos blockpos = p_176595_2_.func_177972_a(p_176595_3_.func_176734_d());
boolean flag = p_176595_3_.func_176740_k().func_176722_c();
@@ -27,7 +27,7 @@
}
public IBlockState func_180642_a(World p_180642_1_, BlockPos p_180642_2_, EnumFacing p_180642_3_, float p_180642_4_, float p_180642_5_, float p_180642_6_, int p_180642_7_, EntityLivingBase p_180642_8_)
@@ -120,7 +120,7 @@
@@ -122,7 +122,7 @@
{
for (EnumFacing enumfacing : EnumFacing.Plane.HORIZONTAL)
{
@@ -36,7 +36,7 @@
{
return this.func_176223_P().func_177226_a(field_176596_a, enumfacing);
}
@@ -153,7 +153,7 @@
@@ -155,7 +155,7 @@
EnumFacing enumfacing1 = enumfacing.func_176734_d();
boolean flag = false;
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockTrapDoor.java
+++ ../src-work/minecraft/net/minecraft/block/BlockTrapDoor.java
@@ -241,6 +241,18 @@
@@ -240,6 +240,18 @@
return new BlockStateContainer(this, new IProperty[] {field_176284_a, field_176283_b, field_176285_M});
}
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockTripWireHook.java
+++ ../src-work/minecraft/net/minecraft/block/BlockTripWireHook.java
@@ -77,14 +77,14 @@
@@ -79,14 +79,14 @@
public boolean func_176198_a(World p_176198_1_, BlockPos p_176198_2_, EnumFacing p_176198_3_)
{
@@ -17,12 +17,12 @@
{
return true;
}
@@ -118,7 +118,7 @@
@@ -120,7 +120,7 @@
{
EnumFacing enumfacing = (EnumFacing)p_176204_3_.func_177229_b(field_176264_a);
EnumFacing enumfacing = (EnumFacing)p_189540_1_.func_177229_b(field_176264_a);
- if (!p_176204_1_.func_180495_p(p_176204_2_.func_177972_a(enumfacing.func_176734_d())).func_185915_l())
+ if (!p_176204_1_.func_180495_p(p_176204_2_.func_177972_a(enumfacing.func_176734_d())).isSideSolid(p_176204_1_, p_176204_2_.func_177972_a(enumfacing.func_176734_d()), enumfacing))
- if (!p_189540_2_.func_180495_p(p_189540_3_.func_177972_a(enumfacing.func_176734_d())).func_185915_l())
+ if (!p_189540_2_.func_180495_p(p_189540_3_.func_177972_a(enumfacing.func_176734_d())).isSideSolid(p_189540_2_, p_189540_3_.func_177972_a(enumfacing.func_176734_d()), enumfacing))
{
this.func_176226_b(p_176204_1_, p_176204_2_, p_176204_3_, 0);
p_176204_1_.func_175698_g(p_176204_2_);
this.func_176226_b(p_189540_2_, p_189540_3_, p_189540_1_, 0);
p_189540_2_.func_175698_g(p_189540_3_);
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/BlockVine.java
+++ ../src-work/minecraft/net/minecraft/block/BlockVine.java
@@ -26,7 +26,7 @@
@@ -27,7 +27,7 @@
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
@@ -9,16 +9,16 @@
{
public static final PropertyBool field_176277_a = PropertyBool.func_177716_a("up");
public static final PropertyBool field_176273_b = PropertyBool.func_177716_a("north");
@@ -342,7 +342,7 @@
@@ -345,7 +345,7 @@
public void func_180657_a(World p_180657_1_, EntityPlayer p_180657_2_, BlockPos p_180657_3_, IBlockState p_180657_4_, TileEntity p_180657_5_, ItemStack p_180657_6_)
public void func_180657_a(World p_180657_1_, EntityPlayer p_180657_2_, BlockPos p_180657_3_, IBlockState p_180657_4_, @Nullable TileEntity p_180657_5_, @Nullable ItemStack p_180657_6_)
{
- if (!p_180657_1_.field_72995_K && p_180657_6_ != null && p_180657_6_.func_77973_b() == Items.field_151097_aZ)
+ if (false && !p_180657_1_.field_72995_K && p_180657_6_ != null && p_180657_6_.func_77973_b() == Items.field_151097_aZ) // Forge: Noop, Covered by IShearable
{
p_180657_2_.func_71029_a(StatList.func_188055_a(this));
func_180635_a(p_180657_1_, p_180657_3_, new ItemStack(Blocks.field_150395_bd, 1, 0));
@@ -457,4 +457,14 @@
@@ -460,4 +460,14 @@
return i;
}
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/state/BlockStateBase.java
+++ ../src-work/minecraft/net/minecraft/block/state/BlockStateBase.java
@@ -71,4 +71,9 @@
@@ -73,4 +73,9 @@
return stringbuilder.toString();
}
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/block/state/BlockStateContainer.java
+++ ../src-work/minecraft/net/minecraft/block/state/BlockStateContainer.java
@@ -55,12 +55,22 @@
@@ -57,12 +57,22 @@
public BlockStateContainer(Block p_i45663_1_, IProperty<?>... p_i45663_2_)
{
@@ -26,7 +26,7 @@
map.put(iproperty.func_177701_a(), iproperty);
}
@@ -71,7 +81,7 @@
@@ -73,7 +83,7 @@
for (List < Comparable<? >> list : Cartesian.func_179321_a(this.func_177620_e()))
{
Map < IProperty<?>, Comparable<? >> map1 = MapPopulator. < IProperty<?>, Comparable<? >> func_179400_b(this.field_177624_d.values(), list);
@@ -35,7 +35,7 @@
map2.put(map1, blockstatecontainer$stateimplementation);
list1.add(blockstatecontainer$stateimplementation);
}
@@ -163,6 +173,13 @@
@@ -165,6 +175,13 @@
this.field_177237_b = p_i45660_2_;
}
@@ -49,9 +49,9 @@
public Collection < IProperty<? >> func_177227_a()
{
return Collections. < IProperty<? >> unmodifiableCollection(this.field_177237_b.keySet());
@@ -414,5 +431,86 @@
@@ -445,5 +462,86 @@
{
return this.field_177239_a.func_185481_k(this);
this.field_177239_a.func_189540_a(this, p_189546_1_, p_189546_2_, p_189546_3_);
}
+
+ //Forge Start
@@ -1,8 +1,8 @@
--- ../src-base/minecraft/net/minecraft/block/state/IBlockProperties.java
+++ ../src-work/minecraft/net/minecraft/block/state/IBlockProperties.java
@@ -25,9 +25,13 @@
@@ -28,9 +28,13 @@
boolean func_185913_b();
boolean func_189884_a(Entity p_189884_1_);
+ @Deprecated //Forge location aware version below
int func_185891_c();
@@ -14,7 +14,7 @@
@SideOnly(Side.CLIENT)
boolean func_185895_e();
@@ -88,5 +92,10 @@
@@ -92,5 +96,10 @@
RayTraceResult func_185910_a(World p_185910_1_, BlockPos p_185910_2_, Vec3d p_185910_3_, Vec3d p_185910_4_);
@@ -1,14 +1,14 @@
--- ../src-base/minecraft/net/minecraft/client/Minecraft.java
+++ ../src-work/minecraft/net/minecraft/client/Minecraft.java
@@ -318,7 +318,6 @@
@@ -322,7 +322,6 @@
this.field_152355_az = (new YggdrasilAuthenticationService(this.field_110453_aa, UUID.randomUUID().toString())).createMinecraftSessionService();
this.field_71449_j = p_i45547_1_.field_178745_a.field_178752_a;
field_147123_G.info("Setting user: " + this.field_71449_j.func_111285_a());
- field_147123_G.info("(Session ID is " + this.field_71449_j.func_111286_b() + ")");
field_147123_G.info("Setting user: {}", new Object[] {this.field_71449_j.func_111285_a()});
- field_147123_G.debug("(Session ID is {})", new Object[] {this.field_71449_j.func_111286_b()});
this.field_71459_aj = p_i45547_1_.field_178741_d.field_178756_a;
this.field_71443_c = p_i45547_1_.field_178743_b.field_178764_a > 0 ? p_i45547_1_.field_178743_b.field_178764_a : 1;
this.field_71440_d = p_i45547_1_.field_178743_b.field_178762_b > 0 ? p_i45547_1_.field_178743_b.field_178762_b : 1;
@@ -432,10 +431,10 @@
@@ -437,10 +436,10 @@
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);
@@ -21,7 +21,7 @@
this.field_152350_aA = new SkinManager(this.field_71446_o, new File(this.field_110446_Y, "skins"), this.field_152355_az);
this.field_71469_aa = new AnvilSaveConverter(new File(this.field_71412_D, "saves"), this.field_184131_U);
this.field_147127_av = new SoundHandler(this.field_110451_am, this.field_71474_y);
@@ -460,7 +459,7 @@
@@ -465,7 +464,7 @@
{
try
{
@@ -30,7 +30,7 @@
}
catch (Exception exception)
{
@@ -469,6 +468,8 @@
@@ -474,6 +473,8 @@
}
});
this.field_71417_B = new MouseHelper();
@@ -39,7 +39,7 @@
this.func_71361_d("Pre startup");
GlStateManager.func_179098_w();
GlStateManager.func_179103_j(7425);
@@ -482,19 +483,23 @@
@@ -487,19 +488,24 @@
GlStateManager.func_179096_D();
GlStateManager.func_179128_n(5888);
this.func_71361_d("Startup");
@@ -61,13 +61,15 @@
this.field_175620_Y = new ItemRenderer(this);
this.field_110451_am.func_110542_a(this.field_175621_X);
+ bar.step("Loading Entity Renderer");
+ net.minecraftforge.fml.client.SplashProgress.pause();
this.field_71460_t = new EntityRenderer(this, this.field_110451_am);
this.field_110451_am.func_110542_a(this.field_71460_t);
this.field_175618_aM = new BlockRendererDispatcher(this.field_175617_aL.func_174954_c(), this.field_184127_aH);
@@ -504,23 +509,26 @@
@@ -509,23 +515,27 @@
this.field_71458_u = new GuiAchievement(this);
GlStateManager.func_179083_b(0, 0, this.field_71443_c, this.field_71440_d);
this.field_71452_i = new EffectRenderer(this.field_71441_e, this.field_71446_o);
this.field_71452_i = new ParticleManager(this.field_71441_e, this.field_71446_o);
+ net.minecraftforge.fml.client.SplashProgress.resume();
+ net.minecraftforge.fml.common.ProgressManager.pop(bar);
+ net.minecraftforge.fml.client.FMLClientHandler.instance().finishMinecraftLoading();
this.func_71361_d("Post startup");
@@ -94,7 +96,7 @@
if (this.field_71474_y.field_74353_u && !this.field_71431_Q)
{
this.func_71352_k();
@@ -692,21 +700,23 @@
@@ -697,21 +707,23 @@
File file2 = new File(file1, "crash-" + (new SimpleDateFormat("yyyy-MM-dd_HH.mm.ss")).format(new Date()) + "-client.txt");
Bootstrap.func_179870_a(p_71377_1_.func_71502_e());
@@ -121,9 +123,9 @@
}
public boolean func_152349_b()
@@ -899,11 +909,6 @@
@@ -904,11 +916,6 @@
public void func_147108_a(GuiScreen p_147108_1_)
public void func_147108_a(@Nullable GuiScreen p_147108_1_)
{
- if (this.field_71462_r != null)
- {
@@ -133,7 +135,7 @@
if (p_147108_1_ == null && this.field_71441_e == null)
{
p_147108_1_ = new GuiMainMenu();
@@ -913,6 +918,17 @@
@@ -918,6 +925,17 @@
p_147108_1_ = new GuiGameOver((ITextComponent)null);
}
@@ -151,7 +153,7 @@
if (p_147108_1_ instanceof GuiMainMenu || p_147108_1_ instanceof GuiMultiplayer)
{
this.field_71474_y.field_74330_P = false;
@@ -1051,9 +1067,11 @@
@@ -1053,9 +1071,11 @@
if (!this.field_71454_w)
{
@@ -163,7 +165,7 @@
}
this.field_71424_I.func_76319_b();
@@ -1393,9 +1411,9 @@
@@ -1398,9 +1418,9 @@
{
BlockPos blockpos = this.field_71476_x.func_178782_a();
@@ -175,7 +177,7 @@
this.field_71439_g.func_184609_a(EnumHand.MAIN_HAND);
}
}
@@ -1429,7 +1447,7 @@
@@ -1434,7 +1454,7 @@
case BLOCK:
BlockPos blockpos = this.field_71476_x.func_178782_a();
@@ -184,25 +186,32 @@
{
this.field_71442_b.func_180511_b(blockpos, this.field_71476_x.field_178784_b);
break;
@@ -1473,7 +1491,7 @@
@@ -1448,6 +1468,7 @@
}
this.field_71439_g.func_184821_cY();
+ net.minecraftforge.common.ForgeHooks.onEmptyLeftClick(this.field_71439_g, this.field_71439_g.func_184614_ca());
}
this.field_71439_g.func_184609_a(EnumHand.MAIN_HAND);
@@ -1477,7 +1498,6 @@
switch (this.field_71476_x.field_72313_a)
{
case ENTITY:
-
+ if(!net.minecraftforge.common.ForgeHooks.onInteractEntityAt(field_71439_g, field_71476_x.field_72308_g, field_71476_x, field_71439_g.func_184586_b(enumhand), enumhand))
if (this.field_71442_b.func_187102_a(this.field_71439_g, this.field_71476_x.field_72308_g, this.field_71476_x, this.field_71439_g.func_184586_b(enumhand), enumhand) == EnumActionResult.SUCCESS)
{
return;
@@ -1516,7 +1534,7 @@
@@ -1520,7 +1540,7 @@
}
ItemStack itemstack1 = this.field_71439_g.func_184586_b(enumhand);
-
+ if (itemstack1 == null) net.minecraftforge.common.ForgeHooks.onEmptyClick(this.field_71439_g, enumhand);
+ if (itemstack1 == null && (this.field_71476_x == null || this.field_71476_x.field_72313_a == RayTraceResult.Type.MISS)) net.minecraftforge.common.ForgeHooks.onEmptyClick(this.field_71439_g, enumhand);
if (itemstack1 != null && this.field_71442_b.func_187101_a(this.field_71439_g, this.field_71441_e, itemstack1, enumhand) == EnumActionResult.SUCCESS)
{
this.field_71460_t.field_78516_c.func_187460_a(enumhand);
@@ -1623,6 +1641,8 @@
@@ -1627,6 +1647,8 @@
--this.field_71467_ac;
}
@@ -211,7 +220,7 @@
this.field_71424_I.func_76320_a("gui");
if (!this.field_71445_n)
@@ -1734,6 +1754,7 @@
@@ -1738,6 +1760,7 @@
this.field_71457_ai = 0;
this.field_71441_e.func_72897_h(this.field_71439_g);
}
@@ -219,7 +228,7 @@
}
this.field_71424_I.func_76318_c("gameRenderer");
@@ -1821,6 +1842,7 @@
@@ -1825,6 +1848,7 @@
this.field_71453_ak.func_74428_b();
}
@@ -227,7 +236,7 @@
this.field_71424_I.func_76319_b();
this.field_71423_H = func_71386_F();
}
@@ -1927,6 +1949,7 @@
@@ -1931,6 +1955,7 @@
}
}
}
@@ -235,7 +244,7 @@
}
this.func_184117_aA();
@@ -2166,6 +2189,8 @@
@@ -2177,6 +2202,8 @@
{
while (Mouse.next())
{
@@ -244,15 +253,15 @@
int i = Mouse.getEventButton();
KeyBinding.func_74510_a(i - 100, Mouse.getEventButtonState());
@@ -2231,6 +2256,7 @@
@@ -2242,6 +2269,7 @@
public void func_71371_a(String p_71371_1_, String p_71371_2_, WorldSettings p_71371_3_)
public void func_71371_a(String p_71371_1_, String p_71371_2_, @Nullable WorldSettings p_71371_3_)
{
+ net.minecraftforge.fml.client.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);
@@ -2273,6 +2299,12 @@
@@ -2284,6 +2312,12 @@
while (!this.field_71437_Z.func_71200_ad())
{
@@ -265,13 +274,13 @@
String s = this.field_71437_Z.func_71195_b_();
if (s != null)
@@ -2298,8 +2330,14 @@
@@ -2309,8 +2343,14 @@
SocketAddress socketaddress = this.field_71437_Z.func_147137_ag().func_151270_a();
NetworkManager networkmanager = NetworkManager.func_150722_a(socketaddress);
networkmanager.func_150719_a(new NetHandlerLoginClient(networkmanager, this, (GuiScreen)null));
- networkmanager.func_179290_a(new C00Handshake(107, socketaddress.toString(), 0, EnumConnectionState.LOGIN));
- networkmanager.func_179290_a(new C00Handshake(210, socketaddress.toString(), 0, EnumConnectionState.LOGIN));
- networkmanager.func_179290_a(new CPacketLoginStart(this.func_110432_I().func_148256_e()));
+ networkmanager.func_179290_a(new C00Handshake(107, socketaddress.toString(), 0, EnumConnectionState.LOGIN, true));
+ networkmanager.func_179290_a(new C00Handshake(210, socketaddress.toString(), 0, EnumConnectionState.LOGIN, true));
+ com.mojang.authlib.GameProfile gameProfile = this.func_110432_I().func_148256_e();
+ if (!this.func_110432_I().hasCachedProperties())
+ {
@@ -282,16 +291,16 @@
this.field_71453_ak = networkmanager;
}
@@ -2310,6 +2348,8 @@
@@ -2321,6 +2361,8 @@
public void func_71353_a(WorldClient p_71353_1_, String p_71353_2_)
public void func_71353_a(@Nullable WorldClient p_71353_1_, String p_71353_2_)
{
+ if (field_71441_e != null) net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.event.world.WorldEvent.Unload(field_71441_e));
+
if (p_71353_1_ == null)
{
NetHandlerPlayClient nethandlerplayclient = this.func_147114_u();
@@ -2322,6 +2362,18 @@
@@ -2333,6 +2375,18 @@
if (this.field_71437_Z != null && this.field_71437_Z.func_175578_N())
{
this.field_71437_Z.func_71263_m();
@@ -310,7 +319,7 @@
}
this.field_71437_Z = null;
@@ -2345,6 +2397,7 @@
@@ -2356,6 +2410,7 @@
this.field_71456_v.func_181029_i();
this.func_71351_a((ServerData)null);
this.field_71455_al = false;
@@ -318,7 +327,7 @@
}
this.field_147127_av.func_147690_c();
@@ -2461,159 +2514,8 @@
@@ -2473,159 +2528,8 @@
{
if (this.field_71476_x != null && this.field_71476_x.field_72313_a != RayTraceResult.Type.MISS)
{
@@ -480,7 +489,7 @@
}
}
@@ -2909,18 +2811,8 @@
@@ -2927,18 +2831,8 @@
public static int func_71369_N()
{
@@ -501,7 +510,7 @@
}
public boolean func_70002_Q()
@@ -3057,15 +2949,16 @@
@@ -3077,15 +2971,16 @@
{
if (Keyboard.getEventKeyState())
{
@@ -520,14 +529,16 @@
}
}
}
@@ -3192,4 +3085,10 @@
{
@@ -3205,6 +3100,12 @@
return this.field_184127_aH;
}
+
+ // FORGE
+ public ItemColors getItemColors()
+ {
+ return this.field_184128_aI;
+ }
}
+
public boolean func_189648_am()
{
return this.field_71439_g != null && this.field_71439_g.func_175140_cp() || this.field_71474_y.field_178879_v;
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/client/entity/AbstractClientPlayer.java
+++ ../src-work/minecraft/net/minecraft/client/entity/AbstractClientPlayer.java
@@ -148,6 +148,6 @@
@@ -152,6 +152,6 @@
f *= 1.0F - f1 * 0.15F;
}
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/client/entity/EntityPlayerSP.java
+++ ../src-work/minecraft/net/minecraft/client/entity/EntityPlayerSP.java
@@ -400,6 +400,15 @@
@@ -415,6 +415,15 @@
this.field_71159_c.field_71456_v.func_146158_b().func_146227_a(p_146105_1_);
}
@@ -16,7 +16,7 @@
protected boolean func_145771_j(double p_145771_1_, double p_145771_3_, double p_145771_5_)
{
if (this.field_70145_X)
@@ -412,30 +421,34 @@
@@ -427,30 +436,34 @@
double d0 = p_145771_1_ - (double)blockpos.func_177958_n();
double d1 = p_145771_5_ - (double)blockpos.func_177952_p();
@@ -56,7 +56,7 @@
{
d2 = 1.0D - d1;
i = 5;
@@ -470,7 +483,7 @@
@@ -485,7 +498,7 @@
private boolean func_175162_d(BlockPos p_175162_1_)
{
@@ -65,7 +65,7 @@
}
public void func_70031_b(boolean p_70031_1_)
@@ -515,7 +528,13 @@
@@ -530,7 +543,13 @@
public void func_184185_a(SoundEvent p_184185_1_, float p_184185_2_, float p_184185_3_)
{
@@ -1,10 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/gui/GuiChat.java
+++ ../src-work/minecraft/net/minecraft/client/gui/GuiChat.java
@@ -250,6 +250,7 @@
public BlockPos func_186839_b()
{
+
BlockPos blockpos = null;
if (this.field_186853_g.field_71476_x != null && this.field_186853_g.field_71476_x.field_72313_a == RayTraceResult.Type.BLOCK)
@@ -46,5 +46,5 @@
- if (keybinding.func_151463_i() != keybinding.func_151469_h())
+ if (!keybinding.isSetToDefaultValue())
{
flag = false;
flag = true;
break;
@@ -1,15 +1,15 @@
--- ../src-base/minecraft/net/minecraft/client/gui/GuiCreateWorld.java
+++ ../src-work/minecraft/net/minecraft/client/gui/GuiCreateWorld.java
@@ -205,6 +205,8 @@
@@ -206,6 +206,8 @@
}
}
+ WorldType.field_77139_a[this.field_146331_K].onGUICreateWorldPress();
+
WorldSettings worldsettings = new WorldSettings(i, WorldSettings.GameType.func_77142_a(this.field_146342_r), this.field_146341_s, this.field_146337_w, WorldType.field_77139_a[this.field_146331_K]);
WorldSettings worldsettings = new WorldSettings(i, GameType.func_77142_a(this.field_146342_r), this.field_146341_s, this.field_146337_w, WorldType.field_77139_a[this.field_146331_K]);
worldsettings.func_82750_a(this.field_146334_a);
@@ -311,14 +313,7 @@
@@ -312,14 +314,7 @@
}
else if (p_146284_1_.field_146127_k == 8)
{
@@ -25,7 +25,7 @@
}
}
}
@@ -370,7 +365,7 @@
@@ -371,7 +366,7 @@
this.field_146326_C.field_146125_m = this.field_146344_y;
this.field_146320_D.field_146125_m = this.field_146344_y;
this.field_146321_E.field_146125_m = this.field_146344_y;
@@ -1,17 +1,16 @@
--- ../src-base/minecraft/net/minecraft/client/gui/GuiIngameMenu.java
+++ ../src-work/minecraft/net/minecraft/client/gui/GuiIngameMenu.java
@@ -30,8 +30,9 @@
@@ -30,7 +30,8 @@
this.field_146292_n.add(new GuiButton(4, this.field_146294_l / 2 - 100, this.field_146295_m / 4 + 24 + i, 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 + i, 98, 20, I18n.func_135052_a("menu.options", new Object[0])));
this.field_146292_n.add(new GuiButton(4, this.field_146294_l / 2 - 100, this.field_146295_m / 4 + 24 + -16, 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 + -16, 98, 20, I18n.func_135052_a("menu.options", new Object[0])));
- GuiButton guibutton = this.func_189646_b(new GuiButton(7, this.field_146294_l / 2 + 2, this.field_146295_m / 4 + 96 + -16, 98, 20, I18n.func_135052_a("menu.shareToLan", new Object[0])));
+ this.field_146292_n.add(new GuiButton(12, this.field_146294_l / 2 + 2, this.field_146295_m / 4 + 96 + i, 98, 20, I18n.func_135052_a("fml.menu.modoptions")));
GuiButton guibutton;
- this.field_146292_n.add(guibutton = new GuiButton(7, this.field_146294_l / 2 + 2, this.field_146295_m / 4 + 96 + i, 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 + i, 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 + i, 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 + i, 98, 20, I18n.func_135052_a("gui.stats", new Object[0])));
+ GuiButton guibutton = this.func_189646_b(new GuiButton(7, this.field_146294_l / 2 - 100, this.field_146295_m / 4 + 72 + -16, 200, 20, I18n.func_135052_a("menu.shareToLan", new Object[0])));
guibutton.field_146124_l = this.field_146297_k.func_71356_B() && !this.field_146297_k.func_71401_C().func_71344_c();
@@ -74,13 +75,19 @@
this.field_146292_n.add(new GuiButton(5, this.field_146294_l / 2 - 100, this.field_146295_m / 4 + 48 + -16, 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 + -16, 98, 20, I18n.func_135052_a("gui.stats", new Object[0])));
@@ -73,13 +74,19 @@
this.field_146297_k.func_71381_h();
break;
case 5:
@@ -9,7 +9,7 @@
public GuiMainMenu()
{
@@ -210,13 +212,15 @@
@@ -209,13 +211,15 @@
this.field_183503_M.func_183500_a(this.field_146294_l, this.field_146295_m);
this.field_183503_M.func_73866_w_();
}
@@ -20,13 +20,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(this.field_175372_K = 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])));
+ this.field_146292_n.add(this.field_175372_K = new GuiButton(14, this.field_146294_l / 2 + 2, p_73969_1_ + p_73969_2_ * 2, 98, 20, I18n.func_135052_a("menu.online", new Object[0]).replace("Minecraft", "").trim()));
- this.field_175372_K = this.func_189646_b(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])));
+ this.field_175372_K = this.func_189646_b(new GuiButton(14, this.field_146294_l / 2 + 2, p_73969_1_ + p_73969_2_ * 2, 98, 20, I18n.func_135052_a("menu.online", new Object[0]).replace("Minecraft", "").trim()));
+ this.field_146292_n.add(modButton = new GuiButton(6, this.field_146294_l / 2 - 100, p_73969_1_ + p_73969_2_ * 2, 98, 20, I18n.func_135052_a("fml.menu.mods")));
}
private void func_73972_b(int p_73972_1_, int p_73972_2_)
@@ -264,6 +268,11 @@
@@ -263,6 +267,11 @@
this.field_146297_k.func_71400_g();
}
@@ -38,8 +38,8 @@
if (p_146284_1_.field_146127_k == 11)
{
this.field_146297_k.func_71371_a("Demo_World", "Demo_World", DemoWorldServer.field_73071_a);
@@ -493,6 +502,8 @@
this.func_73729_b(j + 155, k + 0, 0, 45, 155, 44);
@@ -490,6 +499,8 @@
this.func_73729_b(j + 155, 30, 0, 45, 155, 44);
}
+ this.field_73975_c = net.minecraftforge.client.ForgeHooksClient.renderMainMenu(this, this.field_146289_q, this.field_146294_l, this.field_146295_m, this.field_73975_c);
@@ -47,7 +47,7 @@
GlStateManager.func_179094_E();
GlStateManager.func_179109_b((float)(this.field_146294_l / 2 + 90), 70.0F, 0.0F);
GlStateManager.func_179114_b(-20.0F, 0.0F, 0.0F, 1.0F);
@@ -512,7 +523,15 @@
@@ -509,7 +520,15 @@
s = s + ("release".equalsIgnoreCase(this.field_146297_k.func_184123_d()) ? "" : "/" + this.field_146297_k.func_184123_d());
}
@@ -62,9 +62,9 @@
+ }
+ }
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);
this.func_73731_b(this.field_146289_q, "Copyright Mojang AB. Do not distribute!", this.field_146294_l - this.field_146289_q.func_78256_a("Copyright Mojang AB. Do not distribute!") - 2, this.field_146295_m - 10, -1);
@@ -529,6 +548,7 @@
@@ -526,6 +545,7 @@
{
this.field_183503_M.func_73863_a(p_73863_1_, p_73863_2_, p_73863_3_);
}
@@ -72,7 +72,7 @@
}
protected void func_73864_a(int p_73864_1_, int p_73864_2_, int p_73864_3_) throws IOException
@@ -549,6 +569,8 @@
@@ -546,6 +566,8 @@
{
this.field_183503_M.func_73864_a(p_73864_1_, p_73864_2_, p_73864_3_);
}
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/client/gui/GuiMultiplayer.java
+++ ../src-work/minecraft/net/minecraft/client/gui/GuiMultiplayer.java
@@ -40,6 +40,7 @@
@@ -41,6 +41,7 @@
public GuiMultiplayer(GuiScreen p_i1040_1_)
{
this.field_146798_g = p_i1040_1_;
@@ -8,7 +8,7 @@
}
public void func_73866_w_()
@@ -372,7 +373,7 @@
@@ -375,7 +376,7 @@
private void func_146791_a(ServerData p_146791_1_)
{
@@ -1,12 +1,12 @@
--- ../src-base/minecraft/net/minecraft/client/gui/GuiOverlayDebug.java
+++ ../src-work/minecraft/net/minecraft/client/gui/GuiOverlayDebug.java
@@ -190,6 +190,9 @@
@@ -188,6 +188,9 @@
long l = j - k;
List<String> list = Lists.newArrayList(new String[] {String.format("Java: %s %dbit", new Object[]{System.getProperty("java.version"), Integer.valueOf(this.field_175242_a.func_147111_S() ? 64 : 32)}), String.format("Mem: % 2d%% %03d/%03dMB", new Object[]{Long.valueOf(l * 100L / i), Long.valueOf(func_175240_a(l)), Long.valueOf(func_175240_a(i))}), String.format("Allocated: % 2d%% %03dMB", new Object[]{Long.valueOf(j * 100L / i), Long.valueOf(func_175240_a(j))}), "", String.format("CPU: %s", new Object[]{OpenGlHelper.func_183029_j()}), "", String.format("Display: %dx%d (%s)", new Object[]{Integer.valueOf(Display.getWidth()), Integer.valueOf(Display.getHeight()), GlStateManager.func_187416_u(7936)}), GlStateManager.func_187416_u(7937), GlStateManager.func_187416_u(7938)});
+ list.add("");
+ list.addAll(net.minecraftforge.fml.common.FMLCommonHandler.instance().getBrandings(false));
+
if (this.func_175236_d())
if (this.field_175242_a.func_189648_am())
{
return list;
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/client/gui/GuiScreen.java
+++ ../src-work/minecraft/net/minecraft/client/gui/GuiScreen.java
@@ -141,7 +141,8 @@
@@ -147,7 +147,8 @@
}
}
@@ -10,7 +10,7 @@
}
protected void func_146279_a(String p_146279_1_, int p_146279_2_, int p_146279_3_)
@@ -151,7 +152,13 @@
@@ -157,7 +158,13 @@
protected void func_146283_a(List<String> p_146283_1_, int p_146283_2_, int p_146283_3_)
{
@@ -25,7 +25,7 @@
{
GlStateManager.func_179101_C();
RenderHelper.func_74518_a();
@@ -421,6 +428,7 @@
@@ -427,6 +434,7 @@
{
this.field_146297_k.field_71456_v.func_146158_b().func_146239_a(p_175281_1_);
}
@@ -33,7 +33,7 @@
this.field_146297_k.field_71439_g.func_71165_d(p_175281_1_);
}
@@ -435,9 +443,15 @@
@@ -441,9 +449,15 @@
if (guibutton.func_146116_c(this.field_146297_k, p_73864_1_, p_73864_2_))
{
@@ -49,7 +49,7 @@
}
}
}
@@ -467,8 +481,12 @@
@@ -473,8 +487,12 @@
this.field_146289_q = p_146280_1_.field_71466_p;
this.field_146294_l = p_146280_2_;
this.field_146295_m = p_146280_3_;
@@ -62,7 +62,7 @@
}
public void func_183500_a(int p_183500_1_, int p_183500_2_)
@@ -487,7 +505,9 @@
@@ -493,7 +511,9 @@
{
while (Mouse.next())
{
@@ -72,7 +72,7 @@
}
}
@@ -495,7 +515,9 @@
@@ -501,7 +521,9 @@
{
while (Keyboard.next())
{
@@ -82,7 +82,7 @@
}
}
}
@@ -557,6 +579,7 @@
@@ -563,6 +585,7 @@
public void func_146276_q_()
{
this.func_146270_b(0);
@@ -8,10 +8,10 @@
- GlStateManager.func_179131_c(1.0F, 1.0F, 1.0F, 1.0F);
- float f = 32.0F;
- vertexbuffer.func_181668_a(7, DefaultVertexFormats.field_181709_i);
- vertexbuffer.func_181662_b((double)this.field_148152_e, (double)this.field_148154_c, 0.0D).func_187315_a((double)((float)this.field_148152_e / f), (double)((float)(this.field_148154_c + (int)this.field_148169_q) / f)).func_181669_b(32, 32, 32, 255).func_181675_d();
- vertexbuffer.func_181662_b((double)this.field_148151_d, (double)this.field_148154_c, 0.0D).func_187315_a((double)((float)this.field_148151_d / f), (double)((float)(this.field_148154_c + (int)this.field_148169_q) / f)).func_181669_b(32, 32, 32, 255).func_181675_d();
- vertexbuffer.func_181662_b((double)this.field_148151_d, (double)this.field_148153_b, 0.0D).func_187315_a((double)((float)this.field_148151_d / f), (double)((float)(this.field_148153_b + (int)this.field_148169_q) / f)).func_181669_b(32, 32, 32, 255).func_181675_d();
- vertexbuffer.func_181662_b((double)this.field_148152_e, (double)this.field_148153_b, 0.0D).func_187315_a((double)((float)this.field_148152_e / f), (double)((float)(this.field_148153_b + (int)this.field_148169_q) / f)).func_181669_b(32, 32, 32, 255).func_181675_d();
- vertexbuffer.func_181662_b((double)this.field_148152_e, (double)this.field_148154_c, 0.0D).func_187315_a((double)((float)this.field_148152_e / 32.0F), (double)((float)(this.field_148154_c + (int)this.field_148169_q) / 32.0F)).func_181669_b(32, 32, 32, 255).func_181675_d();
- vertexbuffer.func_181662_b((double)this.field_148151_d, (double)this.field_148154_c, 0.0D).func_187315_a((double)((float)this.field_148151_d / 32.0F), (double)((float)(this.field_148154_c + (int)this.field_148169_q) / 32.0F)).func_181669_b(32, 32, 32, 255).func_181675_d();
- vertexbuffer.func_181662_b((double)this.field_148151_d, (double)this.field_148153_b, 0.0D).func_187315_a((double)((float)this.field_148151_d / 32.0F), (double)((float)(this.field_148153_b + (int)this.field_148169_q) / 32.0F)).func_181669_b(32, 32, 32, 255).func_181675_d();
- vertexbuffer.func_181662_b((double)this.field_148152_e, (double)this.field_148153_b, 0.0D).func_187315_a((double)((float)this.field_148152_e / 32.0F), (double)((float)(this.field_148153_b + (int)this.field_148169_q) / 32.0F)).func_181669_b(32, 32, 32, 255).func_181675_d();
- tessellator.func_78381_a();
+ // Forge: background rendering moved into separate method.
+ this.drawContainerBackground(tessellator);
@@ -1,10 +1,11 @@
--- ../src-base/minecraft/net/minecraft/client/gui/GuiUtilRenderComponents.java
+++ ../src-work/minecraft/net/minecraft/client/gui/GuiUtilRenderComponents.java
@@ -73,6 +73,7 @@
@@ -73,6 +73,8 @@
s3 = s4;
}
+ s3 = FontRenderer.func_78282_e(s2) + s3; //Forge: Fix chat formatting not surviving line wrapping.
TextComponentString textcomponentstring2 = new TextComponentString(s3);
textcomponentstring2.func_150255_a(itextcomponent1.func_150256_b().func_150232_l());
list1.add(j + 1, textcomponentstring2);
+
TextComponentString textcomponentstring1 = new TextComponentString(s3);
textcomponentstring1.func_150255_a(itextcomponent1.func_150256_b().func_150232_l());
list1.add(j + 1, textcomponentstring1);
@@ -1,7 +1,7 @@
--- ../src-base/minecraft/net/minecraft/client/gui/ServerListEntryNormal.java
+++ ../src-work/minecraft/net/minecraft/client/gui/ServerListEntryNormal.java
@@ -82,7 +82,7 @@
boolean flag1 = this.field_148301_e.field_82821_f < 107;
boolean flag1 = this.field_148301_e.field_82821_f < 210;
boolean flag2 = flag || flag1;
this.field_148300_d.field_71466_p.func_78276_b(this.field_148301_e.field_78847_a, p_180790_2_ + 32 + 3, p_180790_3_ + 1, 16777215);
- List<String> list = this.field_148300_d.field_71466_p.func_78271_c(this.field_148301_e.field_78843_d, p_180790_4_ - 32 - 2);
@@ -1,20 +1,20 @@
--- ../src-base/minecraft/net/minecraft/client/gui/achievement/GuiAchievements.java
+++ ../src-work/minecraft/net/minecraft/client/gui/achievement/GuiAchievements.java
@@ -49,6 +49,10 @@
private StatFileWriter field_146556_E;
private final StatisticsManager field_146556_E;
private boolean field_146558_F = true;
+ private int currentPage = -1;
+ private GuiButton button;
+ private java.util.LinkedList<Achievement> minecraftAchievements = new java.util.LinkedList<Achievement>();
+
public GuiAchievements(GuiScreen p_i45026_1_, StatFileWriter p_i45026_2_)
public GuiAchievements(GuiScreen p_i45026_1_, StatisticsManager p_i45026_2_)
{
this.field_146562_a = p_i45026_1_;
@@ -57,6 +61,14 @@
int j = 141;
this.field_146569_s = this.field_146567_u = this.field_146565_w = (double)(AchievementList.field_187982_f.field_75993_a * 24 - i / 2 - 12);
this.field_146568_t = this.field_146566_v = this.field_146573_x = (double)(AchievementList.field_187982_f.field_75991_b * 24 - j / 2);
@@ -61,6 +65,14 @@
this.field_146573_x = (double)(AchievementList.field_187982_f.field_75991_b * 24 - 70);
this.field_146568_t = this.field_146573_x;
this.field_146566_v = this.field_146573_x;
+ minecraftAchievements.clear();
+ for (Achievement achievement : AchievementList.field_187981_e)
+ {
@@ -26,7 +26,7 @@
}
public void func_73866_w_()
@@ -64,6 +76,7 @@
@@ -68,6 +80,7 @@
this.field_146297_k.func_147114_u().func_147297_a(new CPacketClientStatus(CPacketClientStatus.State.REQUEST_STATS));
this.field_146292_n.clear();
this.field_146292_n.add(new GuiOptionButton(1, this.field_146294_l / 2 + 24, this.field_146295_m / 2 + 74, 80, 20, I18n.func_135052_a("gui.done", new Object[0])));
@@ -34,7 +34,7 @@
}
protected void func_146284_a(GuiButton p_146284_1_) throws IOException
@@ -74,12 +87,22 @@
@@ -78,12 +91,22 @@
{
this.field_146297_k.func_147108_a(this.field_146562_a);
}
@@ -58,7 +58,7 @@
{
this.field_146297_k.func_147108_a((GuiScreen)null);
this.field_146297_k.func_71381_h();
@@ -257,7 +280,9 @@
@@ -264,7 +287,9 @@
GlStateManager.func_179143_c(518);
GlStateManager.func_179094_E();
GlStateManager.func_179109_b((float)i1, (float)j1, -200.0F);
@@ -69,7 +69,7 @@
GlStateManager.func_179098_w();
GlStateManager.func_179140_f();
GlStateManager.func_179091_B();
@@ -331,11 +356,12 @@
@@ -338,11 +363,12 @@
GlStateManager.func_179143_c(515);
this.field_146297_k.func_110434_K().func_110577_a(field_146561_C);
@@ -77,14 +77,15 @@
+ java.util.List<Achievement> achievementList = (currentPage == -1 ? minecraftAchievements : net.minecraftforge.common.AchievementPage.getAchievementPage(currentPage).getAchievements());
+ for (int j5 = 0; j5 < achievementList.size(); ++j5)
{
Achievement achievement1 = (Achievement)AchievementList.field_187981_e.get(j5);
- Achievement achievement1 = (Achievement)AchievementList.field_187981_e.get(j5);
+ Achievement achievement1 = achievementList.get(j5);
- if (achievement1.field_75992_c != null)
+ if (achievement1.field_75992_c != null && achievementList.contains(achievement1.field_75992_c))
{
int k5 = achievement1.field_75993_a * 24 - i + 11;
int l5 = achievement1.field_75991_b * 24 - j + 11;
@@ -389,9 +415,9 @@
@@ -396,9 +422,9 @@
GlStateManager.func_179091_B();
GlStateManager.func_179142_g();
@@ -96,7 +97,7 @@
int l6 = achievement2.field_75993_a * 24 - i;
int j7 = achievement2.field_75991_b * 24 - j;
@@ -432,6 +458,7 @@
@@ -439,6 +465,7 @@
this.field_146297_k.func_110434_K().func_110577_a(field_146561_C);
@@ -104,7 +105,7 @@
if (achievement2.func_75984_f())
{
this.func_73729_b(l6 - 2, j7 - 2, 26, 202, 26, 26);
@@ -440,6 +467,7 @@
@@ -447,6 +474,7 @@
{
this.func_73729_b(l6 - 2, j7 - 2, 0, 202, 26, 26);
}
@@ -112,7 +113,7 @@
if (!this.field_146556_E.func_77442_b(achievement2))
{
@@ -448,7 +476,7 @@
@@ -455,7 +483,7 @@
this.field_146296_j.func_175039_a(false);
}
@@ -78,6 +78,15 @@
int k = -1;
if (slot != null)
@@ -488,7 +493,7 @@
{
for (Slot slot2 : this.field_147002_h.field_75151_b)
{
- if (slot2 != null && slot2.func_82869_a(this.field_146297_k.field_71439_g) && slot2.func_75216_d() && slot2.field_75224_c == slot.field_75224_c && Container.func_94527_a(slot2, this.field_146994_N, true))
+ if (slot2 != null && slot2.func_82869_a(this.field_146297_k.field_71439_g) && slot2.func_75216_d() && slot2.isSameInventory(slot) && Container.func_94527_a(slot2, this.field_146994_N, true))
{
this.func_184098_a(slot2, slot2.field_75222_d, p_146286_3_, ClickType.QUICK_MOVE);
}
@@ -575,7 +580,7 @@
}
else if (this.field_146297_k.field_71439_g.field_71071_by.func_70445_o() != null)
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/client/gui/inventory/GuiContainerCreative.java
+++ ../src-work/minecraft/net/minecraft/client/gui/inventory/GuiContainerCreative.java
@@ -49,6 +49,8 @@
@@ -50,6 +50,8 @@
private Slot field_147064_C;
private boolean field_147057_D;
private CreativeCrafting field_147059_E;
@@ -9,7 +9,7 @@
public GuiContainerCreative(EntityPlayer p_i1088_1_)
{
@@ -258,6 +260,13 @@
@@ -259,6 +261,13 @@
this.func_147050_b(CreativeTabs.field_78032_a[i]);
this.field_147059_E = new CreativeCrafting(this.field_146297_k);
this.field_146297_k.field_71439_g.field_71069_bz.func_75132_a(this.field_147059_E);
@@ -23,7 +23,7 @@
}
else
{
@@ -279,7 +288,7 @@
@@ -280,7 +289,7 @@
protected void func_73869_a(char p_73869_1_, int p_73869_2_) throws IOException
{
@@ -32,7 +32,7 @@
{
if (GameSettings.func_100015_a(this.field_146297_k.field_71474_y.field_74310_D))
{
@@ -317,6 +326,14 @@
@@ -318,6 +327,14 @@
GuiContainerCreative.ContainerCreative guicontainercreative$containercreative = (GuiContainerCreative.ContainerCreative)this.field_147002_h;
guicontainercreative$containercreative.field_148330_a.clear();
@@ -47,7 +47,7 @@
for (Item item : Item.field_150901_e)
{
if (item != null && item.func_77640_w() != null)
@@ -324,7 +341,13 @@
@@ -325,7 +342,13 @@
item.func_150895_a(item, (CreativeTabs)null, guicontainercreative$containercreative.field_148330_a);
}
}
@@ -57,11 +57,11 @@
+ //split from above for custom search tabs
+ private void updateFilteredItems(GuiContainerCreative.ContainerCreative guicontainercreative$containercreative)
+ {
+ if (CreativeTabs.field_78032_a[field_147058_w] == CreativeTabs.field_78027_g) // FORGE: Only add enchanted books to the regular search
+ if (CreativeTabs.field_78032_a[field_147058_w] == CreativeTabs.field_78027_g) // FORGE: Only add enchanted books to the regular search
for (Enchantment enchantment : Enchantment.field_185264_b)
{
if (enchantment != null && enchantment.field_77351_y != null)
@@ -332,7 +355,6 @@
@@ -333,7 +356,6 @@
Items.field_151134_bR.func_92113_a(enchantment, guicontainercreative$containercreative.field_148330_a);
}
}
@@ -69,7 +69,7 @@
Iterator<ItemStack> iterator = guicontainercreative$containercreative.field_148330_a.iterator();
String s1 = this.field_147062_A.func_146179_b().toLowerCase();
@@ -364,7 +386,7 @@
@@ -365,7 +387,7 @@
{
CreativeTabs creativetabs = CreativeTabs.field_78032_a[field_147058_w];
@@ -78,7 +78,7 @@
{
GlStateManager.func_179084_k();
this.field_146289_q.func_78276_b(I18n.func_135052_a(creativetabs.func_78024_c(), new Object[0]), 8, 6, 4210752);
@@ -399,7 +421,7 @@
@@ -400,7 +422,7 @@
for (CreativeTabs creativetabs : CreativeTabs.field_78032_a)
{
@@ -87,7 +87,7 @@
{
this.func_147050_b(creativetabs);
return;
@@ -412,11 +434,13 @@
@@ -413,11 +435,13 @@
private boolean func_147055_p()
{
@@ -101,7 +101,7 @@
int i = field_147058_w;
field_147058_w = p_147050_1_.func_78021_a();
GuiContainerCreative.ContainerCreative guicontainercreative$containercreative = (GuiContainerCreative.ContainerCreative)this.field_147002_h;
@@ -487,12 +511,14 @@
@@ -488,12 +512,14 @@
if (this.field_147062_A != null)
{
@@ -117,7 +117,7 @@
this.func_147053_i();
}
else
@@ -562,20 +588,43 @@
@@ -563,20 +589,43 @@
}
super.func_73863_a(p_73863_1_, p_73863_2_, p_73863_3_);
@@ -137,7 +137,7 @@
}
}
+ if (!rendered && func_147052_b(CreativeTabs.field_78027_g, p_73863_1_, p_73863_2_))
+ if (!rendered && !func_147052_b(CreativeTabs.field_78027_g, p_73863_1_, p_73863_2_))
+ {
+ func_147052_b(CreativeTabs.field_78036_m, p_73863_1_, p_73863_2_);
+ }
@@ -162,7 +162,7 @@
GlStateManager.func_179131_c(1.0F, 1.0F, 1.0F, 1.0F);
GlStateManager.func_179140_f();
}
@@ -637,16 +686,35 @@
@@ -638,16 +687,35 @@
RenderHelper.func_74520_c();
CreativeTabs creativetabs = CreativeTabs.field_78032_a[field_147058_w];
@@ -199,7 +199,7 @@
this.field_146297_k.func_110434_K().func_110577_a(new ResourceLocation("textures/gui/container/creative_inventory/tab_" + creativetabs.func_78015_f()));
this.func_73729_b(this.field_147003_i, this.field_147009_r, 0, 0, this.field_146999_f, this.field_147000_g);
this.field_147062_A.func_146194_f();
@@ -661,6 +729,14 @@
@@ -662,6 +730,14 @@
this.func_73729_b(i, j + (int)((float)(k - j - 17) * this.field_147067_x), 232 + (this.func_147055_p() ? 0 : 12), 0, 12, 15);
}
@@ -214,7 +214,7 @@
this.func_147051_a(creativetabs);
if (creativetabs == CreativeTabs.field_78036_m)
@@ -671,6 +747,14 @@
@@ -672,6 +748,14 @@
protected boolean func_147049_a(CreativeTabs p_147049_1_, int p_147049_2_, int p_147049_3_)
{
@@ -229,16 +229,16 @@
int i = p_147049_1_.func_78020_k();
int j = 28 * i;
int k = 0;
@@ -767,6 +851,8 @@
@@ -768,6 +852,8 @@
}
GlStateManager.func_179140_f();
+ GlStateManager.func_179124_c(1F, 1F, 1F); //Forge: Reset color in case Items change it.
+ GlStateManager.func_179147_l(); //Forge: Make sure blend is enabled else tabs show a white border.
this.func_73729_b(l, i1, j, k, 28, j1);
this.func_73729_b(l, i1, j, k, 28, 32);
this.field_73735_i = 100.0F;
this.field_146296_j.field_77023_b = 100.0F;
@@ -793,6 +879,15 @@
@@ -794,6 +880,15 @@
{
this.field_146297_k.func_147108_a(new GuiStats(this, this.field_146297_k.field_71439_g.func_146107_m()));
}
@@ -7,7 +7,7 @@
-@SideOnly(Side.CLIENT)
public class ModelBox
{
private PositionTextureVertex[] field_78253_h;
private final PositionTextureVertex[] field_78253_h;
@@ -81,6 +80,7 @@
}
}
@@ -15,4 +15,4 @@
+ @SideOnly(Side.CLIENT)
public void func_178780_a(VertexBuffer p_178780_1_, float p_178780_2_)
{
for (int i = 0; i < this.field_78254_i.length; ++i)
for (TexturedQuad texturedquad : this.field_78254_i)
@@ -1,9 +1,9 @@
--- ../src-base/minecraft/net/minecraft/client/multiplayer/ChunkProviderClient.java
+++ ../src-work/minecraft/net/minecraft/client/multiplayer/ChunkProviderClient.java
@@ -52,6 +52,7 @@
@@ -59,6 +59,7 @@
{
Chunk chunk = new Chunk(this.field_73235_d, p_73158_1_, p_73158_2_);
this.field_73236_b.func_76163_a(ChunkCoordIntPair.func_77272_a(p_73158_1_, p_73158_2_), chunk);
this.field_73237_c.add(chunk);
this.field_73236_b.put(ChunkPos.func_77272_a(p_73158_1_, p_73158_2_), chunk);
+ net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.event.world.ChunkEvent.Load(chunk));
chunk.func_177417_c(true);
return chunk;
@@ -4,8 +4,8 @@
inetaddress = InetAddress.getByName(p_146367_1_);
GuiConnecting.this.field_146371_g = NetworkManager.func_181124_a(inetaddress, p_146367_2_, GuiConnecting.this.field_146297_k.field_71474_y.func_181148_f());
GuiConnecting.this.field_146371_g.func_150719_a(new NetHandlerLoginClient(GuiConnecting.this.field_146371_g, GuiConnecting.this.field_146297_k, GuiConnecting.this.field_146374_i));
- GuiConnecting.this.field_146371_g.func_179290_a(new C00Handshake(107, p_146367_1_, p_146367_2_, EnumConnectionState.LOGIN));
+ GuiConnecting.this.field_146371_g.func_179290_a(new C00Handshake(107, p_146367_1_, p_146367_2_, EnumConnectionState.LOGIN, true));
- GuiConnecting.this.field_146371_g.func_179290_a(new C00Handshake(210, p_146367_1_, p_146367_2_, EnumConnectionState.LOGIN));
+ GuiConnecting.this.field_146371_g.func_179290_a(new C00Handshake(210, p_146367_1_, p_146367_2_, EnumConnectionState.LOGIN, true));
GuiConnecting.this.field_146371_g.func_179290_a(new CPacketLoginStart(GuiConnecting.this.field_146297_k.func_110432_I().func_148256_e()));
}
catch (UnknownHostException unknownhostexception)
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/client/multiplayer/PlayerControllerMP.java
+++ ../src-work/minecraft/net/minecraft/client/multiplayer/PlayerControllerMP.java
@@ -121,6 +121,12 @@
@@ -123,6 +123,12 @@
}
}
@@ -13,7 +13,7 @@
if (this.field_78779_k.func_77145_d() && this.field_78776_a.field_71439_g.func_184614_ca() != null && this.field_78776_a.field_71439_g.func_184614_ca().func_77973_b() instanceof ItemSword)
{
return false;
@@ -142,14 +148,7 @@
@@ -144,14 +150,7 @@
else
{
world.func_175718_b(2001, p_187103_1_, Block.func_176210_f(iblockstate));
@@ -28,7 +28,7 @@
this.field_178895_c = new BlockPos(this.field_178895_c.func_177958_n(), -1, this.field_178895_c.func_177952_p());
if (!this.field_78779_k.func_77145_d())
@@ -160,13 +159,20 @@
@@ -162,13 +161,20 @@
{
itemstack1.func_179548_a(world, iblockstate, p_187103_1_, this.field_78776_a.field_71439_g);
@@ -50,7 +50,15 @@
return flag;
}
}
@@ -217,14 +223,17 @@
@@ -208,6 +214,7 @@
if (this.field_78779_k.func_77145_d())
{
this.field_78774_b.func_147297_a(new CPacketPlayerDigging(CPacketPlayerDigging.Action.START_DESTROY_BLOCK, p_180511_1_, p_180511_2_));
+ if (!net.minecraftforge.common.ForgeHooks.onLeftClickBlock(this.field_78776_a.field_71439_g, p_180511_1_, p_180511_2_, net.minecraftforge.common.ForgeHooks.rayTraceEyeHitVec(this.field_78776_a.field_71439_g, func_78757_d() + 1)).isCanceled())
func_178891_a(this.field_78776_a, this, p_180511_1_, p_180511_2_);
this.field_78781_i = 5;
}
@@ -219,14 +226,17 @@
}
this.field_78774_b.func_147297_a(new CPacketPlayerDigging(CPacketPlayerDigging.Action.START_DESTROY_BLOCK, p_180511_1_, p_180511_2_));
@@ -69,7 +77,7 @@
if (flag && iblockstate.func_185903_a(this.field_78776_a.field_71439_g, this.field_78776_a.field_71439_g.field_70170_p, p_180511_1_) >= 1.0F)
{
this.func_187103_a(p_180511_1_);
@@ -371,13 +380,32 @@
@@ -373,13 +383,32 @@
}
else
{
@@ -78,12 +86,12 @@
+ if (event.isCanceled())
+ {
+ // Give the server a chance to fire event as well. That way server event is not dependant on client event.
+ this.field_78774_b.func_147297_a(new CPacketPlayerTryUseItem(p_187099_4_, p_187099_5_, p_187099_7_, f, f1, f2));
+ this.field_78774_b.func_147297_a(new CPacketPlayerTryUseItemOnBlock(p_187099_4_, p_187099_5_, p_187099_7_, f, f1, f2));
+ return EnumActionResult.PASS;
+ }
+ EnumActionResult result = EnumActionResult.PASS;
+
if (this.field_78779_k != WorldSettings.GameType.SPECTATOR)
if (this.field_78779_k != GameType.SPECTATOR)
{
+ net.minecraft.item.Item item = p_187099_3_ == null ? null : p_187099_3_.func_77973_b();
+ EnumActionResult ret = item == null ? EnumActionResult.PASS : item.onItemUseFirst(p_187099_3_, p_187099_1_, p_187099_2_, p_187099_4_, p_187099_5_, f, f1, f2, p_187099_7_);
@@ -104,37 +112,37 @@
}
if (!flag && p_187099_3_ != null && p_187099_3_.func_77973_b() instanceof ItemBlock)
@@ -393,7 +421,7 @@
@@ -395,7 +424,7 @@
this.field_78774_b.func_147297_a(new CPacketPlayerTryUseItem(p_187099_4_, p_187099_5_, p_187099_7_, f, f1, f2));
this.field_78774_b.func_147297_a(new CPacketPlayerTryUseItemOnBlock(p_187099_4_, p_187099_5_, p_187099_7_, f, f1, f2));
- if (!flag && this.field_78779_k != WorldSettings.GameType.SPECTATOR)
+ if (!flag && this.field_78779_k != WorldSettings.GameType.SPECTATOR || event.getUseItem() == net.minecraftforge.fml.common.eventhandler.Event.Result.ALLOW)
- if (!flag && this.field_78779_k != GameType.SPECTATOR)
+ if (!flag && this.field_78779_k != GameType.SPECTATOR || event.getUseItem() == net.minecraftforge.fml.common.eventhandler.Event.Result.ALLOW)
{
if (p_187099_3_ == null)
{
@@ -411,14 +439,19 @@
{
int i = p_187099_3_.func_77960_j();
int j = p_187099_3_.field_77994_a;
+ if (event.getUseItem() != net.minecraftforge.fml.common.eventhandler.Event.Result.DENY) {
EnumActionResult enumactionresult = p_187099_3_.func_179546_a(p_187099_1_, p_187099_2_, p_187099_4_, p_187099_7_, p_187099_5_, f, f1, f2);
p_187099_3_.func_77964_b(i);
p_187099_3_.field_77994_a = j;
return enumactionresult;
+ } else return result;
}
else
{
- return p_187099_3_.func_179546_a(p_187099_1_, p_187099_2_, p_187099_4_, p_187099_7_, p_187099_5_, f, f1, f2);
+ if (event.getUseItem() != net.minecraftforge.fml.common.eventhandler.Event.Result.DENY)
+ result = p_187099_3_.func_179546_a(p_187099_1_, p_187099_2_, p_187099_4_, p_187099_7_, p_187099_5_, f, f1, f2);
+ if (p_187099_3_.field_77994_a <= 0) net.minecraftforge.event.ForgeEventFactory.onPlayerDestroyItem(p_187099_1_, p_187099_3_, p_187099_7_);
+ return result;
@@ -421,14 +450,19 @@
{
int i = p_187099_3_.func_77960_j();
int j = p_187099_3_.field_77994_a;
+ if (event.getUseItem() != net.minecraftforge.fml.common.eventhandler.Event.Result.DENY) {
EnumActionResult enumactionresult = p_187099_3_.func_179546_a(p_187099_1_, p_187099_2_, p_187099_4_, p_187099_7_, p_187099_5_, f, f1, f2);
p_187099_3_.func_77964_b(i);
p_187099_3_.field_77994_a = j;
return enumactionresult;
+ } else return result;
}
else
{
- return p_187099_3_.func_179546_a(p_187099_1_, p_187099_2_, p_187099_4_, p_187099_7_, p_187099_5_, f, f1, f2);
+ if (event.getUseItem() != net.minecraftforge.fml.common.eventhandler.Event.Result.DENY)
+ result = p_187099_3_.func_179546_a(p_187099_1_, p_187099_2_, p_187099_4_, p_187099_7_, p_187099_5_, f, f1, f2);
+ if (p_187099_3_.field_77994_a <= 0) net.minecraftforge.event.ForgeEventFactory.onPlayerDestroyItem(p_187099_1_, p_187099_3_, p_187099_7_);
+ return result;
}
}
}
else
@@ -445,6 +478,7 @@
@@ -456,6 +490,7 @@
}
else
{
@@ -142,7 +150,7 @@
int i = p_187101_3_.field_77994_a;
ActionResult<ItemStack> actionresult = p_187101_3_.func_77957_a(p_187101_2_, p_187101_1_, p_187101_4_);
ItemStack itemstack = (ItemStack)actionresult.func_188398_b();
@@ -453,9 +487,10 @@
@@ -464,9 +499,10 @@
{
p_187101_1_.func_184611_a(p_187101_4_, itemstack);
@@ -154,3 +162,11 @@
}
}
@@ -504,6 +540,7 @@
this.func_78750_j();
Vec3d vec3d = new Vec3d(p_187102_3_.field_72307_f.field_72450_a - p_187102_2_.field_70165_t, p_187102_3_.field_72307_f.field_72448_b - p_187102_2_.field_70163_u, p_187102_3_.field_72307_f.field_72449_c - p_187102_2_.field_70161_v);
this.field_78774_b.func_147297_a(new CPacketUseEntity(p_187102_2_, p_187102_5_, vec3d));
+ if(net.minecraftforge.common.ForgeHooks.onInteractEntityAt(p_187102_1_, p_187102_2_, p_187102_3_, p_187102_1_.func_184586_b(p_187102_5_), p_187102_5_)) return EnumActionResult.PASS;
return this.field_78779_k == GameType.SPECTATOR ? EnumActionResult.PASS : p_187102_2_.func_184199_a(p_187102_1_, vec3d, p_187102_4_, p_187102_5_);
}
@@ -1,13 +1,13 @@
--- ../src-base/minecraft/net/minecraft/client/multiplayer/WorldClient.java
+++ ../src-work/minecraft/net/minecraft/client/multiplayer/WorldClient.java
@@ -58,17 +58,18 @@
@@ -60,17 +60,18 @@
public WorldClient(NetHandlerPlayClient p_i45063_1_, WorldSettings p_i45063_2_, int p_i45063_3_, EnumDifficulty p_i45063_4_, Profiler p_i45063_5_)
{
- super(new SaveHandlerMP(), new WorldInfo(p_i45063_2_, "MpServer"), DimensionType.func_186069_a(p_i45063_3_).func_186070_d(), p_i45063_5_, true);
+ super(new SaveHandlerMP(), new WorldInfo(p_i45063_2_, "MpServer"), net.minecraftforge.common.DimensionManager.createProviderFor(p_i45063_3_), p_i45063_5_, true);
this.field_184158_M = this.field_73012_v.nextInt(12000);
this.field_184157_a = Sets.<ChunkCoordIntPair>newHashSet();
this.field_184157_a = Sets.<ChunkPos>newHashSet();
this.field_73035_a = p_i45063_1_;
this.func_72912_H().func_176144_a(p_i45063_4_);
- this.func_175652_B(new BlockPos(8, 64, 8));
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/client/network/NetHandlerPlayClient.java
+++ ../src-work/minecraft/net/minecraft/client/network/NetHandlerPlayClient.java
@@ -267,7 +267,7 @@
@@ -271,7 +271,7 @@
{
PacketThreadUtil.func_180031_a(p_147282_1_, this, this.field_147299_f);
this.field_147299_f.field_71442_b = new PlayerControllerMP(this.field_147299_f, this);
@@ -9,7 +9,16 @@
this.field_147299_f.field_71474_y.field_74318_M = p_147282_1_.func_149192_g();
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();
@@ -785,14 +785,16 @@
@@ -725,7 +725,7 @@
if (tileentity != null)
{
- tileentity.func_145839_a(nbttagcompound);
+ tileentity.handleUpdateTag(nbttagcompound);
}
}
}
@@ -803,14 +803,16 @@
public void func_147251_a(SPacketChat p_147251_1_)
{
PacketThreadUtil.func_180031_a(p_147251_1_, this, this.field_147299_f);
@@ -28,7 +37,7 @@
}
}
@@ -848,6 +850,11 @@
@@ -866,6 +868,11 @@
float f = (float)(p_147281_1_.func_149028_l() * 360) / 256.0F;
float f1 = (float)(p_147281_1_.func_149030_m() * 360) / 256.0F;
EntityLivingBase entitylivingbase = (EntityLivingBase)EntityList.func_75616_a(p_147281_1_.func_149025_e(), this.field_147299_f.field_71441_e);
@@ -38,9 +47,9 @@
+ return;
+ }
EntityTracker.func_187254_a(entitylivingbase, d0, d1, d2);
entitylivingbase.field_70761_aq = entitylivingbase.field_70759_as = (float)(p_147281_1_.func_149032_n() * 360) / 256.0F;
Entity[] aentity = entitylivingbase.func_70021_al();
@@ -919,7 +926,7 @@
entitylivingbase.field_70761_aq = (float)(p_147281_1_.func_149032_n() * 360) / 256.0F;
entitylivingbase.field_70759_as = (float)(p_147281_1_.func_149032_n() * 360) / 256.0F;
@@ -938,7 +945,7 @@
if (entity1 == this.field_147299_f.field_71439_g && !flag)
{
@@ -49,7 +58,7 @@
}
}
}
@@ -1179,6 +1186,10 @@
@@ -1169,6 +1176,10 @@
{
tileentity.func_145839_a(p_147273_1_.func_148857_g());
}
@@ -60,7 +69,7 @@
if (flag && this.field_147299_f.field_71462_r instanceof GuiCommandBlock)
{
@@ -1276,15 +1287,15 @@
@@ -1266,15 +1277,15 @@
}
else if (f == 101.0F)
{
@@ -79,7 +88,7 @@
}
}
else if (i == 6)
@@ -1378,7 +1389,7 @@
@@ -1368,7 +1379,7 @@
if (entity instanceof EntityLivingBase)
{
@@ -8,3 +8,12 @@
this.field_175092_e = Minecraft.func_71386_F();
networkmanager.func_179290_a(new CPacketPing(this.field_175092_e));
this.field_147403_d = true;
@@ -176,7 +177,7 @@
try
{
- networkmanager.func_179290_a(new C00Handshake(210, serveraddress.func_78861_a(), serveraddress.func_78864_b(), EnumConnectionState.STATUS));
+ networkmanager.func_179290_a(new C00Handshake(210, serveraddress.func_78861_a(), serveraddress.func_78864_b(), EnumConnectionState.STATUS, true));
networkmanager.func_179290_a(new CPacketServerQuery());
}
catch (Throwable throwable)
@@ -1,23 +1,23 @@
--- ../src-base/minecraft/net/minecraft/client/particle/EffectRenderer.java
+++ ../src-work/minecraft/net/minecraft/client/particle/EffectRenderer.java
@@ -143,6 +143,7 @@
--- ../src-base/minecraft/net/minecraft/client/particle/ParticleManager.java
+++ ../src-work/minecraft/net/minecraft/client/particle/ParticleManager.java
@@ -146,6 +146,7 @@
public void func_78873_a(EntityFX p_78873_1_)
public void func_78873_a(Particle p_78873_1_)
{
+ if (p_78873_1_ == null) return; //Forge: Prevent modders from being bad and adding nulls causing untraceable NPEs.
this.field_187241_h.add(p_78873_1_);
}
@@ -376,7 +377,7 @@
@@ -380,7 +381,7 @@
public void func_180533_a(BlockPos p_180533_1_, IBlockState p_180533_2_)
{
- if (p_180533_2_.func_185904_a() != Material.field_151579_a)
+ if (!p_180533_2_.func_177230_c().isAir(p_180533_2_, field_78878_a, p_180533_1_) && !p_180533_2_.func_177230_c().addDestroyEffects(field_78878_a, p_180533_1_, this))
+ if (!p_180533_2_.func_177230_c().isAir(p_180533_2_, this.field_78878_a, p_180533_1_) && !p_180533_2_.func_177230_c().addDestroyEffects(field_78878_a, p_180533_1_, this))
{
p_180533_2_ = p_180533_2_.func_185899_b(this.field_78878_a, p_180533_1_);
int i = 4;
@@ -460,4 +461,13 @@
@@ -464,4 +465,13 @@
return "" + i;
}
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/client/renderer/BlockModelRenderer.java
+++ ../src-work/minecraft/net/minecraft/client/renderer/BlockModelRenderer.java
@@ -140,7 +140,14 @@
@@ -141,7 +141,14 @@
p_187492_8_.func_187491_a(p_187492_1_, p_187492_2_, p_187492_3_, bakedquad.func_178210_d(), p_187492_6_, p_187492_7_);
p_187492_4_.func_178981_a(bakedquad.func_178209_a());
p_187492_4_.func_178962_a(p_187492_8_.field_178207_c[0], p_187492_8_.field_178207_c[1], p_187492_8_.field_178207_c[2], p_187492_8_.field_178207_c[3]);
@@ -16,10 +16,10 @@
if (bakedquad.func_178212_b())
{
int k = this.field_187499_a.func_186724_a(p_187492_2_, p_187492_1_, p_187492_3_, bakedquad.func_178211_c());
@@ -289,11 +296,26 @@
float f = (float)(l >> 16 & 255) / 255.0F;
float f1 = (float)(l >> 8 & 255) / 255.0F;
float f2 = (float)(l & 255) / 255.0F;
@@ -291,11 +298,26 @@
float f = (float)(j1 >> 16 & 255) / 255.0F;
float f1 = (float)(j1 >> 8 & 255) / 255.0F;
float f2 = (float)(j1 & 255) / 255.0F;
+ if(bakedquad.shouldApplyDiffuseLighting())
+ {
+ float diffuse = net.minecraftforge.client.model.pipeline.LightUtil.diffuseLight(bakedquad.func_178210_d());
@@ -89,7 +89,7 @@
{
@@ -1187,7 +1186,7 @@
if (this.field_78531_r.field_71442_b.func_178889_l() == WorldSettings.GameType.SPECTATOR)
if (this.field_78531_r.field_71442_b.func_178889_l() == GameType.SPECTATOR)
{
- flag = block.func_149716_u() && this.field_78531_r.field_71441_e.func_175625_s(blockpos) instanceof IInventory;
+ flag = block.hasTileEntity(this.field_78531_r.field_71441_e.func_180495_p(blockpos)) && this.field_78531_r.field_71441_e.func_175625_s(blockpos) instanceof IInventory;
@@ -114,7 +114,7 @@
renderglobal.func_72731_b(entityplayer, this.field_78531_r.field_71476_x, 0, p_175068_2_);
GlStateManager.func_179141_d();
}
@@ -1366,6 +1368,17 @@
@@ -1371,6 +1373,17 @@
GlStateManager.func_179103_j(7425);
this.field_78531_r.field_71424_I.func_76318_c("translucent");
renderglobal.func_174977_a(BlockRenderLayer.TRANSLUCENT, (double)p_175068_2_, p_175068_1_, entity);
@@ -132,7 +132,7 @@
GlStateManager.func_179103_j(7424);
GlStateManager.func_179132_a(true);
GlStateManager.func_179089_o();
@@ -1378,6 +1391,9 @@
@@ -1383,6 +1396,9 @@
this.func_180437_a(renderglobal, p_175068_2_, p_175068_1_);
}
@@ -142,7 +142,7 @@
this.field_78531_r.field_71424_I.func_76318_c("hand");
if (this.field_175074_C)
@@ -1490,6 +1506,13 @@
@@ -1498,6 +1514,13 @@
protected void func_78474_d(float p_78474_1_)
{
@@ -156,7 +156,7 @@
float f = this.field_78531_r.field_71441_e.func_72867_j(p_78474_1_);
if (f > 0.0F)
@@ -1820,6 +1843,13 @@
@@ -1828,6 +1851,13 @@
this.field_175081_S = f7;
}
@@ -170,7 +170,7 @@
GlStateManager.func_179082_a(this.field_175080_Q, this.field_175082_R, this.field_175081_S, 0.0F);
}
@@ -1830,7 +1860,9 @@
@@ -1838,7 +1868,9 @@
GlStateManager.func_187432_a(0.0F, -1.0F, 0.0F);
GlStateManager.func_179131_c(1.0F, 1.0F, 1.0F, 1.0F);
IBlockState iblockstate = ActiveRenderInfo.func_186703_a(this.field_78531_r.field_71441_e, entity, p_78468_2_);
@@ -181,7 +181,7 @@
if (entity instanceof EntityLivingBase && ((EntityLivingBase)entity).func_70644_a(MobEffects.field_76440_q))
{
float f1 = 5.0F;
@@ -1915,6 +1947,7 @@
@@ -1923,6 +1955,7 @@
GlStateManager.func_179102_b(f * 0.05F);
GlStateManager.func_179153_c(Math.min(f, 192.0F) * 0.5F);
}
@@ -1,16 +1,21 @@
--- ../src-base/minecraft/net/minecraft/client/renderer/InventoryEffectRenderer.java
+++ ../src-work/minecraft/net/minecraft/client/renderer/InventoryEffectRenderer.java
@@ -28,8 +28,14 @@
@@ -28,13 +28,19 @@
protected void func_175378_g()
{
- if (!this.field_146297_k.field_71439_g.func_70651_bq().isEmpty())
- if (this.field_146297_k.field_71439_g.func_70651_bq().isEmpty())
+ boolean hasVisibleEffect = false;
+ for(PotionEffect potioneffect : this.field_146297_k.field_71439_g.func_70651_bq()) {
+ Potion potion = potioneffect.func_188419_a();
+ if(potion.shouldRender(potioneffect)) { hasVisibleEffect = true; break; }
+ }
+ if (!this.field_146297_k.field_71439_g.func_70651_bq().isEmpty() && hasVisibleEffect)
+ if (this.field_146297_k.field_71439_g.func_70651_bq().isEmpty() || !hasVisibleEffect)
{
this.field_147003_i = (this.field_146294_l - this.field_146999_f) / 2;
this.field_147045_u = false;
}
else
{
+ if (net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.client.event.GuiScreenEvent.PotionShiftEvent(this))) this.field_147003_i = (this.field_146294_l - this.field_146999_f) / 2; else
this.field_147003_i = 160 + (this.field_146294_l - this.field_146999_f - 200) / 2;
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/client/renderer/ItemModelMesher.java
+++ ../src-work/minecraft/net/minecraft/client/renderer/ItemModelMesher.java
@@ -32,7 +32,9 @@
@@ -33,7 +33,9 @@
public TextureAtlasSprite func_178087_a(Item p_178087_1_, int p_178087_2_)
{
@@ -1,6 +1,15 @@
--- ../src-base/minecraft/net/minecraft/client/renderer/ItemRenderer.java
+++ ../src-work/minecraft/net/minecraft/client/renderer/ItemRenderer.java
@@ -360,7 +360,7 @@
@@ -317,7 +317,7 @@
{
ItemStack itemstack = abstractclientplayer.func_184607_cu();
- if (itemstack.func_77973_b() == Items.field_151031_f)
+ if (itemstack != null && itemstack.func_77973_b() == Items.field_151031_f) //Forge: Data watcher can desync and cause this to NPE...
{
EnumHand enumhand1 = abstractclientplayer.func_184600_cs();
flag = enumhand1 == EnumHand.MAIN_HAND;
@@ -361,7 +361,7 @@
this.func_187456_a(p_187457_7_, p_187457_5_, enumhandside);
}
}
@@ -9,7 +18,7 @@
{
if (flag && this.field_187468_e == null)
{
@@ -444,6 +444,7 @@
@@ -445,6 +445,7 @@
if (this.field_78455_a.field_71439_g.func_70094_T())
{
IBlockState iblockstate = this.field_78455_a.field_71441_e.func_180495_p(new BlockPos(this.field_78455_a.field_71439_g));
@@ -17,7 +26,7 @@
EntityPlayer entityplayer = this.field_78455_a.field_71439_g;
for (int i = 0; i < 8; ++i)
@@ -457,11 +458,13 @@
@@ -458,11 +459,13 @@
if (iblockstate1.func_177230_c().func_176214_u())
{
iblockstate = iblockstate1;
@@ -31,7 +40,7 @@
this.func_178108_a(p_78447_1_, this.field_78455_a.func_175602_ab().func_175023_a().func_178122_a(iblockstate));
}
}
@@ -470,11 +473,13 @@
@@ -471,11 +474,13 @@
{
if (this.field_78455_a.field_71439_g.func_70055_a(Material.field_151586_h))
{
@@ -45,7 +54,7 @@
this.func_78442_d(p_78447_1_);
}
}
@@ -596,8 +601,8 @@
@@ -597,8 +602,8 @@
else
{
float f = entityplayersp.func_184825_o(1.0F);
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/client/renderer/RenderGlobal.java
+++ ../src-work/minecraft/net/minecraft/client/renderer/RenderGlobal.java
@@ -547,8 +547,10 @@
@@ -548,8 +548,10 @@
public void func_180446_a(Entity p_180446_1_, ICamera p_180446_2_, float p_180446_3_)
{
@@ -11,9 +11,9 @@
--this.field_72740_G;
}
else
@@ -559,9 +561,12 @@
@@ -560,9 +562,12 @@
this.field_72769_h.field_72984_F.func_76320_a("prepare");
TileEntityRendererDispatcher.field_147556_a.func_178470_a(this.field_72769_h, this.field_72777_q.func_110434_K(), this.field_72777_q.field_71466_p, this.field_72777_q.func_175606_aa(), p_180446_3_);
TileEntityRendererDispatcher.field_147556_a.func_190056_a(this.field_72769_h, this.field_72777_q.func_110434_K(), this.field_72777_q.field_71466_p, this.field_72777_q.func_175606_aa(), this.field_72777_q.field_71476_x, p_180446_3_);
this.field_175010_j.func_180597_a(this.field_72769_h, this.field_72777_q.field_71466_p, this.field_72777_q.func_175606_aa(), this.field_72777_q.field_147125_j, this.field_72777_q.field_71474_y, p_180446_3_);
+ if(pass == 0)
+ {
@@ -24,7 +24,7 @@
Entity entity = this.field_72777_q.func_175606_aa();
double d3 = entity.field_70142_S + (entity.field_70165_t - entity.field_70142_S) * (double)p_180446_3_;
double d4 = entity.field_70137_T + (entity.field_70163_u - entity.field_70137_T) * (double)p_180446_3_;
@@ -573,11 +578,15 @@
@@ -574,11 +579,15 @@
this.field_72777_q.field_71460_t.func_180436_i();
this.field_72769_h.field_72984_F.func_76318_c("global");
List<Entity> list = this.field_72769_h.func_72910_y();
@@ -40,7 +40,7 @@
++this.field_72749_I;
if (entity1.func_145770_h(d0, d1, d2))
@@ -599,6 +608,7 @@
@@ -601,6 +610,7 @@
{
for (Entity entity2 : classinheritancemultimap)
{
@@ -48,7 +48,7 @@
boolean flag = this.field_175010_j.func_178635_a(entity2, p_180446_2_, d0, d1, d2) || entity2.func_184215_y(this.field_72777_q.field_71439_g);
if (flag)
@@ -633,6 +643,7 @@
@@ -637,6 +647,7 @@
}
}
@@ -56,7 +56,7 @@
if (this.func_174985_d() && (!list1.isEmpty() || this.field_184386_ad))
{
this.field_72769_h.field_72984_F.func_76318_c("entityOutlines");
@@ -672,6 +683,7 @@
@@ -676,6 +687,7 @@
this.field_72769_h.field_72984_F.func_76318_c("blockentities");
RenderHelper.func_74519_b();
@@ -64,7 +64,7 @@
for (RenderGlobal.ContainerLocalRenderInformation renderglobal$containerlocalrenderinformation1 : this.field_72755_R)
{
List<TileEntity> list3 = renderglobal$containerlocalrenderinformation1.field_178036_a.func_178571_g().func_178485_b();
@@ -680,6 +692,7 @@
@@ -684,6 +696,7 @@
{
for (TileEntity tileentity2 : list3)
{
@@ -72,7 +72,7 @@
TileEntityRendererDispatcher.field_147556_a.func_180546_a(tileentity2, p_180446_3_, -1);
}
}
@@ -689,9 +702,11 @@
@@ -693,9 +706,11 @@
{
for (TileEntity tileentity : this.field_181024_n)
{
@@ -84,7 +84,7 @@
this.func_180443_s();
@@ -718,7 +733,7 @@
@@ -722,7 +737,7 @@
Block block = this.field_72769_h.func_180495_p(blockpos).func_177230_c();
@@ -93,7 +93,7 @@
{
TileEntityRendererDispatcher.field_147556_a.func_180546_a(tileentity1, p_180446_3_, destroyblockprogress.func_73106_e());
}
@@ -1210,6 +1225,13 @@
@@ -1213,6 +1228,13 @@
public void func_174976_a(float p_174976_1_, int p_174976_2_)
{
@@ -107,7 +107,7 @@
if (this.field_72777_q.field_71441_e.field_73011_w.func_186058_p().func_186068_a() == 1)
{
this.func_180448_r();
@@ -1427,6 +1449,12 @@
@@ -1430,6 +1452,12 @@
public void func_180447_b(float p_180447_1_, int p_180447_2_)
{
@@ -120,7 +120,7 @@
if (this.field_72777_q.field_71441_e.field_73011_w.func_76569_d())
{
if (this.field_72777_q.field_71474_y.func_181147_e() == 2)
@@ -1854,8 +1882,11 @@
@@ -1857,8 +1885,11 @@
double d4 = (double)blockpos.func_177956_o() - d1;
double d5 = (double)blockpos.func_177952_p() - d2;
Block block = this.field_72769_h.func_180495_p(blockpos).func_177230_c();
Loaded 100 of 876 files, more files were not shown because too many files have changed in this diff. Show more