20
20
21
21
/**
22
22
* @author LambdAurora
23
- * @version 3.2.0
23
+ * @version 3.2.2
24
24
* @since 1.1.0
25
25
*/
26
26
public final class DynamicLightHandlers {
@@ -32,7 +32,7 @@ private DynamicLightHandlers() {
32
32
* Registers the default handlers.
33
33
*/
34
34
public static void registerDefaultHandlers () {
35
- registerDynamicLightHandler (EntityType .ALLAY , DynamicLightHandler . makeHandler ( blaze -> 8 , blaze -> true ) );
35
+ registerDynamicLightHandler (EntityType .ALLAY , allay -> 8 );
36
36
registerDynamicLightHandler (EntityType .BLAZE , DynamicLightHandler .makeHandler (blaze -> 10 , blaze -> true ));
37
37
registerDynamicLightHandler (EntityType .CREEPER , DynamicLightHandler .makeCreeperEntityHandler (null ));
38
38
registerDynamicLightHandler (EntityType .ENDERMAN , entity -> {
@@ -42,7 +42,8 @@ public static void registerDefaultHandlers() {
42
42
return luminance ;
43
43
});
44
44
registerDynamicLightHandler (EntityType .ITEM ,
45
- entity -> LambDynLights .getLuminanceFromItemStack (entity .getItem (), entity .isSubmergedInWater ()));
45
+ entity -> LambDynLights .getLuminanceFromItemStack (entity .getItem (), entity .isSubmergedInWater ())
46
+ );
46
47
registerDynamicLightHandler (EntityType .ITEM_FRAME , entity -> {
47
48
var world = entity .level ();
48
49
return LambDynLights .getLuminanceFromItemStack (entity .getItem (), !world .getFluidState (entity .getBlockPos ()).isEmpty ());
@@ -57,6 +58,12 @@ public static void registerDefaultHandlers() {
57
58
registerDynamicLightHandler (EntityType .GLOW_SQUID ,
58
59
entity -> (int ) MathHelper .clampedLerp (0.f , 12.f , 1.f - entity .getDarkTicksRemaining () / 10.f )
59
60
);
61
+
62
+ // Fireballs and other similar entities
63
+ registerDynamicLightHandler (EntityType .FIREBALL , DynamicLightHandler .makeHandler (ball -> 14 , ball -> true ));
64
+ registerDynamicLightHandler (EntityType .SMALL_FIREBALL , DynamicLightHandler .makeHandler (ball -> 12 , ball -> true ));
65
+ registerDynamicLightHandler (EntityType .DRAGON_FIREBALL , ball -> 14 );
66
+ registerDynamicLightHandler (EntityType .WITHER_SKULL , ball -> 12 );
60
67
}
61
68
62
69
/**
@@ -100,8 +107,12 @@ private static <T> void register(DynamicLightHandlerHolder<T> holder, DynamicLig
100
107
* @return {@code true} if the entity can light up, otherwise {@code false}
101
108
*/
102
109
public static <T extends Entity > boolean canLightUp (T entity ) {
103
- if (entity == Minecraft .getInstance ().player && !LambDynLights .get ().config .getSelfLightSource ().get ())
110
+ if (entity == Minecraft .getInstance ().player ) {
111
+ if (!LambDynLights .get ().config .getSelfLightSource ().get ())
112
+ return false ;
113
+ } else if (!LambDynLights .get ().config .getEntitiesLightSource ().get ()) {
104
114
return false ;
115
+ }
105
116
106
117
var setting = DynamicLightHandlerHolder .cast (entity .getType ()).lambdynlights$getSetting ();
107
118
return !(setting == null || !setting .get ());
0 commit comments