added protection from glass (darkened does not hit), from grass-type blocks, as well as from non-survival players

This commit is contained in:
2025-02-16 17:13:38 +07:00
parent 6a06d2e07b
commit 8ff2b3eb1c
3 changed files with 14 additions and 6 deletions
+1 -1
View File
@@ -6,7 +6,7 @@
<groupId>org.dmitrium12</groupId> <groupId>org.dmitrium12</groupId>
<artifactId>Sunburn</artifactId> <artifactId>Sunburn</artifactId>
<version>1.1</version> <version>1.2</version>
<packaging>jar</packaging> <packaging>jar</packaging>
<name>Sunburn</name> <name>Sunburn</name>
@@ -1,5 +1,6 @@
package org.dmitrium12.sunburn; package org.dmitrium12.sunburn;
import org.bukkit.GameMode;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.block.Block; import org.bukkit.block.Block;
import org.bukkit.command.Command; import org.bukkit.command.Command;
@@ -68,6 +69,11 @@ public final class Sunburn
Player player = event.getPlayer(); Player player = event.getPlayer();
UUID playerId = player.getUniqueId(); UUID playerId = player.getUniqueId();
if (player.getGameMode() != GameMode.SURVIVAL) {
stopBurnCountdown(playerId);
return;
}
if (isPlayerExposedToSunlight(player)) { if (isPlayerExposedToSunlight(player)) {
if (!activeTimers.containsKey(playerId)) { if (!activeTimers.containsKey(playerId)) {
startBurnCountdown(player); startBurnCountdown(player);
@@ -90,10 +96,12 @@ public final class Sunburn
y, y,
player.getLocation().getBlockZ() player.getLocation().getBlockZ()
); );
if (
!currentBlock.getType().equals(Material.AIR) && if (currentBlock.getType() == Material.TINTED_GLASS) {
!currentBlock.getType().toString().contains("LEAF") return false;
) { }
if (currentBlock.getLightLevel() == 0 && currentBlock.getType().isSolid()) {
return false; return false;
} }
} }
+1 -1
View File
@@ -1,5 +1,5 @@
name: Sunburn name: Sunburn
version: '1.1' version: '1.2'
main: org.dmitrium12.sunburn.Sunburn main: org.dmitrium12.sunburn.Sunburn
api-version: '1.21' api-version: '1.21'
authors: [ Dmitrium12 ] authors: [ Dmitrium12 ]