20
20
21
21
/**
22
22
* @author LambdAurora
23
- * @version 3.0.0
23
+ * @version 3.1.2
24
24
* @since 1.1.0
25
25
*/
26
26
public final class DynamicLightHandlers {
@@ -32,6 +32,7 @@ private DynamicLightHandlers() {
32
32
* Registers the default handlers.
33
33
*/
34
34
public static void registerDefaultHandlers () {
35
+ registerDynamicLightHandler (EntityType .ALLAY , allay -> 8 );
35
36
registerDynamicLightHandler (EntityType .BLAZE , DynamicLightHandler .makeHandler (blaze -> 10 , blaze -> true ));
36
37
registerDynamicLightHandler (EntityType .CREEPER , DynamicLightHandler .makeCreeperEntityHandler (null ));
37
38
registerDynamicLightHandler (EntityType .ENDERMAN , entity -> {
@@ -41,7 +42,8 @@ public static void registerDefaultHandlers() {
41
42
return luminance ;
42
43
});
43
44
registerDynamicLightHandler (EntityType .ITEM ,
44
- entity -> LambDynLights .getLuminanceFromItemStack (entity .getItem (), entity .isSubmergedInWater ()));
45
+ entity -> LambDynLights .getLuminanceFromItemStack (entity .getItem (), entity .isSubmergedInWater ())
46
+ );
45
47
registerDynamicLightHandler (EntityType .ITEM_FRAME , entity -> {
46
48
var world = entity .level ();
47
49
return LambDynLights .getLuminanceFromItemStack (entity .getItem (), !world .getFluidState (entity .getBlockPos ()).isEmpty ());
@@ -56,6 +58,12 @@ public static void registerDefaultHandlers() {
56
58
registerDynamicLightHandler (EntityType .GLOW_SQUID ,
57
59
entity -> (int ) MathHelper .clampedLerp (0.f , 12.f , 1.f - entity .getDarkTicksRemaining () / 10.f )
58
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 );
59
67
}
60
68
61
69
/**
@@ -99,8 +107,12 @@ private static <T> void register(DynamicLightHandlerHolder<T> holder, DynamicLig
99
107
* @return {@code true} if the entity can light up, otherwise {@code false}
100
108
*/
101
109
public static <T extends Entity > boolean canLightUp (T entity ) {
102
- 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 ()) {
103
114
return false ;
115
+ }
104
116
105
117
var setting = DynamicLightHandlerHolder .cast (entity .getType ()).lambdynlights$getSetting ();
106
118
return !(setting == null || !setting .get ());
0 commit comments