diff --git a/src/main/java/com/minelittlepony/unicopia/UTags.java b/src/main/java/com/minelittlepony/unicopia/UTags.java index 6fada9ad..d6e838db 100644 --- a/src/main/java/com/minelittlepony/unicopia/UTags.java +++ b/src/main/java/com/minelittlepony/unicopia/UTags.java @@ -16,6 +16,8 @@ public interface UTags { Tag MAGIC_FEATHERS = item("magic_feathers"); + Tag SHADES = item("sun_blockers"); + Tag FRAGILE = block("fragile"); Tag INTERESTING = block("interesting"); diff --git a/src/main/java/com/minelittlepony/unicopia/client/UnicopiaClient.java b/src/main/java/com/minelittlepony/unicopia/client/UnicopiaClient.java index 80b788a4..63ff54e7 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/UnicopiaClient.java +++ b/src/main/java/com/minelittlepony/unicopia/client/UnicopiaClient.java @@ -49,7 +49,7 @@ public class UnicopiaClient implements ClientModInitializer { } public static float getWorldBrightness(float initial) { - return Math.min(1, initial + 0.6F); + return initial > 0 ? 3 : 2; } @Override diff --git a/src/main/java/com/minelittlepony/unicopia/entity/effect/SunBlindnessStatusEffect.java b/src/main/java/com/minelittlepony/unicopia/entity/effect/SunBlindnessStatusEffect.java index 0c536dc7..fc31d4aa 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/effect/SunBlindnessStatusEffect.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/effect/SunBlindnessStatusEffect.java @@ -2,12 +2,17 @@ package com.minelittlepony.unicopia.entity.effect; import org.jetbrains.annotations.Nullable; +import com.minelittlepony.unicopia.EquinePredicates; +import com.minelittlepony.unicopia.UTags; + import net.minecraft.entity.Entity; +import net.minecraft.entity.EquipmentSlot; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.damage.DamageSource; import net.minecraft.entity.effect.StatusEffect; import net.minecraft.entity.effect.StatusEffectInstance; import net.minecraft.entity.effect.StatusEffectType; +import net.minecraft.entity.effect.StatusEffects; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; import net.minecraft.world.LightType; @@ -51,6 +56,18 @@ public class SunBlindnessStatusEffect extends StatusEffect { } public static boolean hasSunExposure(LivingEntity entity) { + if (entity.hasStatusEffect(StatusEffects.BLINDNESS)) { + return false; + } + + if (EquinePredicates.PLAYER_BAT.test(entity) && entity.hasStatusEffect(StatusEffects.NIGHT_VISION)) { + return true; + } + + if (entity.getEquippedStack(EquipmentSlot.HEAD).isIn(UTags.SHADES)) { + return false; + } + if (entity.world.isClient) { entity.world.calculateAmbientDarkness(); } diff --git a/src/main/resources/assets/unicopia/lang/en_us.json b/src/main/resources/assets/unicopia/lang/en_us.json index a9d19ce5..1cecbfa7 100644 --- a/src/main/resources/assets/unicopia/lang/en_us.json +++ b/src/main/resources/assets/unicopia/lang/en_us.json @@ -67,7 +67,7 @@ "unicopia.effect.tribe.stage.initial": "It appears to have no effect.", "unicopia.effect.tribe.stage.crawling": "You feel the skin crawling on your back.", - "unicopia.effect.tribe.stage.determination": "As your bones realign you are filled determination.", + "unicopia.effect.tribe.stage.determination": "As your bones realign you are filled by determination.", "unicopia.effect.tribe.stage.resurection": "Knowing you will return to this world as a %s", "effect.food_poisoning": "Food Poisoning", @@ -76,6 +76,8 @@ "player.miningSpeed": "Mining Speed", "player.gravityModifier": "Gravity", + "effect.unicopia.sun_blindness": "Sun Blindness", + "effect.unicopia.change_race_earth": "Earth Pony Metamorphosis", "item.minecraft.potion.effect.unicopia.tribe_swap_earth": "Potion of Earth Pony Metamorphosis", "item.minecraft.splash_potion.effect.unicopia.tribe_swap_earth": "Splash Potion of Earth Pony Metamorphosis", diff --git a/src/main/resources/assets/unicopia/textures/mob_effect/sun_blindness.png b/src/main/resources/assets/unicopia/textures/mob_effect/sun_blindness.png new file mode 100644 index 00000000..a42bc331 Binary files /dev/null and b/src/main/resources/assets/unicopia/textures/mob_effect/sun_blindness.png differ diff --git a/src/main/resources/data/unicopia/tags/items/shades.json b/src/main/resources/data/unicopia/tags/items/shades.json new file mode 100644 index 00000000..75dc1e20 --- /dev/null +++ b/src/main/resources/data/unicopia/tags/items/shades.json @@ -0,0 +1,12 @@ +{ + "replace": false, + "values": [ + "minecraft:carved_pumpkin", + "minecraft:skeleton_skull", + "minecraft:wither_skeleton_skull", + "minecraft:player_head", + "minecraft:zombie_head", + "minecraft:creeper_head", + "minecraft:dragon_head" + ] +}