* 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.
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>
- Change static lookup map to an instance variable
- Add an instance variable for the "empty pot" for the current block
- Keep one instance of the lookup map between the empty pot and all its full versions
- Convert everything to use delegates
* 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.
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>
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>
Seriously, this is how to do targeted changes to specific classes.
In this case, adding a fieldtomethod redirect for EffectInstance.potion
to allow substitution.
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
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
Made all registry names consistent with their vanilla counterparts
Also added a system for legacy registry names, so no data will be lost
Cleaned up formatting in GameData and ForgeRegistries
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>
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
This can be used for mod sorting, dependencies between registries, etc.
e.g. https://github.com/MinecraftForge/MinecraftForge/pull/4694#issuecomment-412520302
New features:
Now accepts guava graph
Performance improvement: no longer reverse the graph; changed dfs to bfs
Accepets a comparator for secondary order, e.g. natural order, index by map
Now properly reports all cycles in a graph with Tarjan's strongly connected component algorithm
Adds a test to prove the validity of the sort and cycle detection
Modified build.gradle for test source directory and dependencies
Mod loading changes:
Sort mod file info instead of suppliers (we don't have suppliers instances)
Moves cycle error reporting out of topological sort and into mod sorter
Prevent mod file dependencies between mods that share the same file
Signed-off-by: liach <liach@users.noreply.github.com>