
Fairy Lights
A modern port of the beloved decorative hanging lights mod, bringing customizable string lights, bunting, and garlands to Minecraft 1.21.1.
5.1K
9
Список изменений
Fairy Lights 8.0.10 - Performance: Remove Dead Reflection Code
Performance Fixes
CapabilityHandler (~16% render thread overhead eliminated)
- Removed per-tick reflection calls in
getFastenerCapability()for bothEntityandBlockEntityoverloads. The code was callingClass.getMethod()/Method.invoke()every tick trying to find old Forge API methods (getCapability,getData,setData,addCapability,getOrCreateCapability) that don't exist in NeoForge 1.21.1. Each call threwNoSuchMethodExceptionwhich is expensive to construct. - The
instanceofchecks forFastenerBlockEntity,FenceFastenerEntity, andPlayeralready covered all real use cases — the reflection fallbacks never succeeded.
Bug Fixes
Connection Item Matching (Connection.java)
- Fixed
matches()andreplace()using deadgetTag()reflection instead of the Data Components API.ItemStack.getTag()was removed in 1.20.5 — the reflection always failed and returnednull, causingmatches()to always returntruefor same-type items (preventing valid NBT comparison) andreplace()to always pass empty data (losing connection properties like color/pattern). Now correctly reads fromFLDataComponents.CONNECTION_LOGIC.
Dead Code Removal
FenceFastenerEntity.java
- Removed two useless reflection attempts for
NbtAccounter.unlimitedHeap()andNbtAccounter.createUnlimited(int)inreadSpawnData()— neither exists in 1.21.1. The correctNbtAccounter.create()was already the final fallback.
NetBuilder.java
- Removed dead reflection in
sendToClient()tryingPayloadRegistrar.send()andPayloadRegistrar.sendToPlayer()— neither method exists. The handler map fallback was the actual working code path.
ClientEventHandler.java
- Removed reflection-based
addVertexToBuffer()trying the oldVertexConsumer.vertex(double,double,double)chained API. This code path is unreachable (only called from commented-outdrawEntityHighlight).
ClientProxy.java
- Removed unused
getUvIndex()method containingVertexFormatElement.getUsage()reflection — never called from anywhere in the codebase.
Файлы
fairylights-8.0.10-neoforge-1.21.1.jar(829.11 KiB)
ОсновнойМетаданные
Канал релиза
Release
Номер версии
8.0.10
Загрузчики
NeoForge
Версии игры
1.21.1
Загрузок
300
Дата публикации
4 дн. назад
