- Breaking change: Change ClientRegistry.bindTileEntityRenderer to a factory, so mods don't have to manually specify the dispatcher.
- Breaking change: Delete obsolete SimpleModelState (the class was duplicated by mistake, see SimpleModelTransform) and ICustomModelState (part of the old loader API).
- Breaking change: Rename getTextureDependencies to getTextures, for consistency.
- Reinstate the getRenderLayer method, fixed appropriately to return the new RenderType value.
- Fix OBJ loader applying the model transform in the wrong reference frame.
- Fix vanilla bug in TransformationMatrix#func_227986_a_
- Fix QuadTransformer logic.
- Added new method to IModelConfiguration to retrieve the owner IUnbakedModel, needed in order to construct ItemOverrideLists when baking custom models.
- Reintroduce multi-layer model through the new model loader system.
- Make padding consistent on all elements
- Properly horizontally center the "Search" text
- Update and resize forge/mcp logos
- Enable linear filtering on logo rendering by default
- Can be disabled with the "logoBlur" mods.toml property
Due to the massive rendering changes, certain features, such as emissive item rendering and the forge block rendering/lighting pipeline are currently disabled.
Co-authored-by: David Quintana <gigaherz@gmail.com>
Co-authored-by: tterrag <tterrag1098@gmail.com>
Co-authored-by: Unnoen <theunnoen@gmail.com>
IndexedMessageCodec actually log which network channel it got back packets
on. Also, improve the custom directorymodlocator with actual custom names,
finally, allow up to 99 log rollovers, up from 7 default (this means a
repeatedly crashing server is less likely to roll out the log of the first
crash).
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
event channels that care about such things. Mods using simplechannel
don't need to care.
Also, put a sync wrapper around crashreportextender, so it doesn't
die sometimes randomly during startup.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
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>
respective behavioural components. This should facilitate fixing the
server pack data pack ordering, as well as other new features of mod
resource packs.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
to the local client - it is not needed because obviously not. Seems to have
fixed the problem. Probably infinity new bugs by this.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
at client connection time. This means the client now knows about the
dimensiontype properly and can access the ModDimension information on
the client.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
as to scope. Its functionality will be tied to the events in future -
so mods can request the deferred work through methods on the Mod Lifecycle
events directly. The API will be coming soon.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
even though there were still parallel threads running. Also, handle exceptions
in the AutomaticEventSubscriber rather than leaking them to the Parallel processor.
Actually closes#6148
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
* 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>
`import net.minecraftforge.fml.common.gameevent.PlayerEvent;`
to
`import net.minecraftforge.event.entity.player.PlayerEvent;`
and
`import net.minecraftforge.fml.common.gameevent.TickEvent;`
to
`import net.minecraftforge.event.TickEvent;`
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
Also fixed the "translations" not being available early if an exception occurs
by force loading the forge and MC ones. Closes#5984
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
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
when passed a modid and a type (CLIENT, COMMON or SERVER) will display
a link in the caller's chat to open that file in the OS file viewer of choice.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
be overridden in the fml.toml config file if desired).
Will load any type of config tracked file from there - client, common, server
or custom tracked file. This means you can ship defaults for your pack
in a defaultconfig directory. I am thinking about ways to force a specific
config override for an existing config.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
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>
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>
generated font, so can only render basic ASCII text, and also only renders pre-defined strings,
as translations aren't available either.
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>
instead. New Lifecycle Event for requesting data harvesting. Mods will
be constructed, the registry will fire, and then a new Data event will
fire. Submit new data tag files to the data gatherer if you wish.
The game will shutdown after this. No other mod elements will happen.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
In singleplayer our packet work could get delayed until the next tick,
breaking the expectation of packet read order. Fixes that using
NetworkHooks.openGui would result in missing inventory data on the client
`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).
Run injectSnapshot on the client thread, wait for result and
disconnect when injectSnapshot fails.
Fix DevServer to load MOD_CLASSES
Fix LaunchTesting to properly load log4j2 markers (don't use a
static variable in that class!)
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
Locating mods on the classpath in dev should solve linked MC sources when debugging.
As well as loading deobfed mods.
Rewrote how arguments are handled in dev, so users can overwrite any defaults we provide.
Added basic Yggdrasil auth support. Passing in --username and --password arguments.
ONLY USE IF NECESSARY. Forge is NOT responsible for your login information.
- Updated run config formats based on the refactored setup
- Removed old 'runclient' and 'runserver' JavaExec tasks, replacing them by creating the run configs using the refactored setup.
- Set 'assetIndex' environment variable from FG
- Updated MDK for new run config setup
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.