* Reimplement forge blockstates variant through the use of a pseudo-model that handles the model loading, retexturing, custom data, etc. on behalf of the blockstates loader. This model gets injected into the model registry with an autogenerated unique name, to not collide with other model locations.
* Fix model loaders not being properly initialized by calling the reload method from the loader register function. In 1.12, registering a reload listener caused the listener to be called right away from the register method. This is not true anymore.
off-thread GUIs in any way shape or form, and we need the main thread to do real work.
Fix forge fading in wrongly.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
- Fix race condition lazy-initializing flowing fluid block data.
- Fix typo in ItemTextureQuadConverter that prevents certain animated textures from being used in the fluid bucket.
- Fix calls to onContentsChanged in FluidTank.
- Fix FluidUtil.tryEmptyContainer logic when simulating.
- Fix EmptyFluidHandler.fill returning the wrong number.
* Some (sadly breaking) improvements to the API, after feedback and concerns provided by users:
- Moved calculation of the translation key to the FluidAttributes constructor, so that builders can be shared between still & flowing sub-fluids.
- Moved biome-based coloring to a dedicated FluidAttributes.Water variant, which is not used by default.
- Added logic to automatically gather fluid textures into the list of textures to bake.
- Patched BucketItem and FlowingFluidBlock to avoid eager access to the fluid objects.
- Added a ForgeFlowingFluid class, as a more user-friendly way to construct a new FlowingFluid.
- Moved forge fluids into FluidAttributes companion object to the vanilla Fluid. By gigaherz
- Redesigned the Fluid API to be closer to the Items API. By King Lemming
Co-authored-by: King Lemming <kinglemming@gmail.com>
Fixed trees able to be generated through water. Closes#6000
Change Block#toString to use getRegistryName instead of getNameForObject Closes#5937
Allow Cooking Recipes to deserialize results with stack sizes. Closes#5960
class as suggested in the issue.
Note: most tests are commented out at the present time, pending
rework. Tests that work, work.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
Add AT for GameRules.register Closes#5946
Fix Forge Blockstate loader model path is inconsistent with vanilla blockstates Closes#5892
Fix client crashing when opting not to load a world when there's missing blocks Closes#5886
Fixed wrong example path for the access transformer in the MDK build.gradle. #5891
Added getters for mouse x/y velocity and if the middle-mouse button is being held down. #5776
Modify issue template for better clarity. #5874
Fixed grindstone not using ItemStack-sensitive getMaxDamage. #5831
Added ParticleManager.registerFactory to Forge's AT. #5896
Fixed NPE in SidedInvWrapper when side was null. #5787
Moved EndermanEntity.setAttackTarget super call to allow LivingSetAttackTargetEvent the ability to override default behavior. #5778
Added field to make "Looking at" debug info maximum distance configurable #5714
Implement properly scalable progress thanks to @gigaherz. Closes#5863.
Implement API for pushing messages to the startup screen from mods.
Add memory display.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
you're listening to for these. (The Mod event bus is the only one actively
dispatching events during model loading).
ModelRegistryEvent, ModelBakeEvent, TextureStitchEvent.Pre, TextureStitchEvent.Post, ColourHandlerEvent.Block, ColourHandlerEvent.Item
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
Fix not including userdev source in sources jar.
Update license header of files that need it.
Delete patches_old folders. Most are unneeded in 1.13+ as the systems they effected were changed significantly. Any that need to be readdressed can be done as PRs.
`java.awt` will statically load itself when `java.awt.Color`, `java.awt.Dimension`, etc are loaded.
This conflicts with lwjgl3 and must be avoided (except for in mojang's server gui).
DimensionType is not unique per Dimension. See DimensionManager for more details.
Vanilla now has a chunk loading system, so Forge's will need to be deprecated/adapted.
Add friendlier error message for @Mod annotations with missing mods.toml entry. Closes#5440
Remove Log4J console highlighting. As it doesn't work on many consoles, and prints invalid characters. Closes#5420
- Move to util package, rename to LazyOptional
- Clean up existing javadocs, add javadocs to everything missing them
- Add more NonNull functional interfaces, and use them everywhere
- Move orEmpty() to Capability, works better here anyways
Fix duplicate ID for ingredient serializers
Fix KeyBinding compile errors. No GuiKeyBindingList patches yet.
Implement controls GUI and WorldServer patches
* Add Entity.changeDimension patch and transitively required patches
* Fix throws declaration on CommandSetDimension#execute
* Fix rest of errors in fluid package
* Add PLAYER_REACH attribute
* Fix compile errors in fml.client.config and add GuiButton patch
* Delete unnecessary client.config classes, fix all config errors
* Comment some fluid errors in models
* Fix all errors in common package root, except ForgeHooks
* Mass comment network package
* Experimental conversion of extended states to generic base class
* Fix errors in common.util
* Remove config annotation stuff cuz lex said so
* Make extended state stuff compile fully
* Add KeyBinding#getKey and clean up errors in KeyModifier
* Add dimension IRenderHandler patches
* Fix most of the compile errors in client package.
The rest are missing Block/KeyBinding patches
* Disable selective reloads until configs are finished
* Add OnlyIn on IForgeDimension to match those of Dimension
* 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
The abstract class will be used as the default, and to enable delegates but we should keep it api simple by keeping the interface.
Removed some patches that didnt get removed in the rebase.