Commit Graph

42 Commits

Author SHA1 Message Date
LexManos 5ed03945a0 Disable eclipse compiler and switch to SRG patches. 2018-09-22 00:38:21 -07:00
LexManos b4c23aba8e Command work, and Added TileEntityType as a Forge Registry. 2018-09-15 00:59:19 -07:00
tterrag f95da817c4 Fix AnvilChunkLoader not having access to chunk cap dispatcher 2018-09-10 02:45:06 -04:00
tterrag 334d925972
Port capability patches to 1.13 and refactor to new system (#5134)
* resource package and misc leftover rendering stuff

* Port Item and ItemStack patches

* Extract most item patches to interface

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

* Adapt AnimationItemOverrideList to new cap system

* Improve null contract of OptionalCapabilityInstance

* Remove Capability.cast

* Update CapabilityAnimation to new cap system

* Remove OptionalCapabilityInstance#flatMap and add NonNullConsumer

* Add capability patch to Entity, not everything yet

* Fix Entity patch and add missing methods to IForgeEntity

* Fix null contract of CapabilityDispatcher

* Add TileEntity caps

* Adapt FluidUtil to new cap system

* Add world caps

* Add chunk caps

* Clean up cap patches

* Replace all tabs with spaces

* Move builder methods on Item to Item.Builder

Whitepsace fix

* Sided stuff take 2

* Prevent OptionalCapabilityInstance creating additional empty instances

* Cache getCapability result in AnimationTESR

* Fix imports in TileEntity patch

* Pull out cap code to base class, add village caps
2018-09-09 17:27:15 -04:00
cpw 330db1a54d Patches deleted 2018-09-05 12:58:49 -07:00
LexManos 34706c7cd7 Slow down Forge chunk gen worker when save queue is to high.
Prevents task from completing while tons of chunks are pending save.
And add minimum notification every 60 seconds.
2018-04-03 15:26:28 -07:00
Ben Staddon 6962678804 Make async chunk loading a config option (#4544) 2018-01-18 12:44:14 -08:00
Erlend Åmdal 8a285e0fed Add Chunk capabilities (#4228) 2017-10-02 20:24:11 -07:00
Landmaster b4676f5a0b Add hook to configure EntityEquipmentSlot for item. 2017-10-02 15:54:01 -07:00
Ben Staddon f3273ca0c9 Store entity data for dormant chunks using NBT (#4162) 2017-10-02 15:17:37 -07:00
LexManos 50265786b2 MC 1.12.2 update. 2017-09-18 14:35:45 -07:00
Ben Staddon 71d81cbd8d [1.12] Remove patches adding chunkExists() function, switch to vanilla code (#4054) 2017-09-06 13:52:43 -07:00
LexManos f73c7cb764 1.12.1 Update, Not much modder facing changes, 1.12 mods should load and run fine on this version. 2017-08-03 17:30:43 -07:00
diesieben07 0e9820c51c Clean up Logging (#3953)
# Conflicts:
#	patches/minecraft/net/minecraft/client/renderer/texture/Stitcher.java.patch
#	patches/minecraft/net/minecraft/client/renderer/texture/TextureMap.java.patch
#	patches/minecraft/net/minecraft/entity/EntityList.java.patch
#	patches/minecraft/net/minecraft/tileentity/TileEntity.java.patch
#	src/main/java/net/minecraftforge/oredict/OreDictionary.java
2017-06-22 23:18:49 -07:00
LexManos f1cca475ea Initial patch update to 1.12.
Some things to note:
Netty is screwy so currently can't join single player. @cpw
Crafting has been MAJORY reworked. The current GameRegistry functions are nooped, this is IN THE WORKS.
  Just need to move the recipe list to a full class registry, and then re implement the in-code recipe registration.
  Also, it IS advised that modders move to JSON, because ideally we'll see a S->C recipe syncing system in 1.13
  which would allow servers to have custom recipes.
  OreDictionary currently 1/2 works, need to write a better algorithm for replacing ingredients.
  Please be patient
Rendering:
  A lot of functions got a new float parameter, this is similar to partial ticks, needs more research
2017-06-10 22:22:02 -04:00
Bartek Bok 724ffe1d70 Fix entity write catch block (#3726) 2017-02-24 16:03:19 -08:00
LexManos 966c6263c3 Inital 1.11 update. 2016-12-26 21:34:18 -08:00
LexManos 8d20258f3c First pass at exposing data fixers to modders.
Each mod gets its own version number, mods SHOULD NOT rely on other
mod's fixers, just care about yourself.
Walkers can use IDataFixerData to retrieve their version.
2016-11-28 16:05:41 -08:00
LexManos c459b87ec9 Initial 1.11 release update. 2016-11-15 19:26:10 -08:00
cpw 4e6a774075 Initial 1.11-pre1 update 2016-11-13 17:09:55 -05:00
LexManos 373fa8f7a3 1.10.2 Update 2016-06-28 21:25:04 -07:00
cpw 260be68723 Update to 1.10 2016-06-23 02:39:55 -04:00
LexManos 1164ace8df Fixed Fernflower decompile issue in AnvilChunkLoader.saveExtraData() Closes #2985 2016-06-12 23:47:34 -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
cpw 52e877bdd0 Switch to srg patches 2016-03-11 19:59:24 -05:00
cpw e70fb50b51 Back to srgnames for patches. We should be starting to look OK now. 2015-11-22 00:46:26 -05:00
cpw a26c4017b1 Fix a newly missing AT. Remove all CL_ references. OBFID is gone. 2015-11-13 00:09:34 -05:00
RainWarrior d31ca0dbd8 EntityAIAttackOnCollide, ServerStatusResponse, MinecraftServer, NetHandlerLoginServer, Vec3, BiomeGenBase, AnvilChunkLoader, ChunkProviderServer, MapGenRavine, MinecraftServer updated; fix in Block, GuiIngameForge; can load the world and play with ~20 more manual error fixes. 2015-11-10 21:47:08 +03:00
cpw b1aa31215f regenerate reference patchset at patches.mcp. These will be used to generate a new patchtree under patches. 2015-11-08 15:50:52 -05:00
cpw 614bbcb0da FML is no more. FML has ceased to be. FML's expired and gone to meet its maker. FML's a stiff! Bereft of life, FML rests in peace. 2015-08-01 23:51:40 -04:00
Lex Manos 277fc4ea7d Fix local variable conflict in Forge patch and latest MCP mappings. 2014-11-26 01:12:11 -08:00
Lex Manos 53659fca06 Initial update to 1.8, Super beta. Most rendering related hooks are out due to major changes in 1.8.
Some notes:
Almost all int x, int y, int z parameters have been changed to BlockPos class
ForgeDirection has been removed, replaced by net.minecraft.util.EnumFacing.
All FML classes have moved from packet cpw.mods.fml to net.minecraftforge.fml
Fluid Rendering has been disabled for the time being, to be re-evaulated and a test mod created for it.
Minecraft now uses a Model based system for rendering blocks and Items. The intention is to expand the model format to better suit modder's needed once it is evaulated.
As such, The model loaders from Forge have been removed, to be replaced by expanding vanilla's model format.
Metadata has been extracted out in Minecraft to IBlockState, which holds a list of properties instead of magic number metadata. DO NOT listen to the fearmongering, you can do EVERYTHING with block states you could previously with metadata.
Stencil Bits are disabled entirely by for the main Display, Modders must enable and recreate the FrameBuffer if they wish to use Stencil Bits.
2014-11-26 00:00:54 -08:00
bloodshot 61a6b67d51 Don't call ChunkDataEvent.Load async
ChunkDataEvent.Load must be called after TE's are loaded since this is
what mods expect. The event is handled by ChunkIOProvider during
callStage2.
2014-06-13 00:52:13 -04:00
Travis Watkins e6bbcf6a3d Load chunks asynchronously for players.
When a player triggers a chunk load via walking around or teleporting
there is no need to stop everything and get this chunk on the main thread.
The client is used to having to wait some time for this chunk and the
server doesn't immediately do anything with it except send it to the
player. At the same time chunk loading is the last major source of file IO
that still runs on the main thread.

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

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

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

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

This commit is based off the following :

Bukkit/CraftBukkit@b8fc6ab2c1
Bukkit/CraftBukkit@85f5776df2
Bukkit/CraftBukkit@0714971ca2
Bukkit/CraftBukkit@7f49722f45
Bukkit/CraftBukkit@53ad0cf1ab
2014-06-12 16:51:17 -04:00
AbrarSyed 2a2e201f4a COnverted patches to SRG names 2014-03-25 10:13:57 -05:00
Lex Manos a6c45a7ade Inital patch update for 1.7.2, Doesn't compile, not done yet. 2013-12-22 03:06:10 -08:00
Lex Manos 99faaae9f6 Regenerate all patches, No functional change as added this is a formatting change only. 2013-11-18 17:17:45 -08:00
LexManos 2c05258205 Update to 1.5.2 PR.
MinecraftForge/FML@f0bba74a47 Update for minecraft 1.5.2
MinecraftForge/FML@62fdbad74c Update MCP's md5 for the fixed srg files.
2013-04-28 13:28:40 -07:00
LexManos f30f7cb4ab Change placement of ChunkDataEvent.Save call to apply before sending to worker thread. 2013-03-18 14:24:07 -07:00
LexManos 3fc95b71e2 Update patche for jad-style names. 2013-01-11 23:46:08 -08:00
LexManos a2f4a0d2dd Inital update to 1.4.6, Version bumped to 6.5 2012-12-17 22:33:28 -08:00
LexManos ad42901b7e Update patches for repackage. 2012-12-12 23:45:35 -08:00
Renamed from patches/common/net/minecraft/src/AnvilChunkLoader.java.patch (Browse further)