fixed radiation death message

This commit is contained in:
2026-02-13 16:42:55 +01:00
parent 48adecdc62
commit 148aa740b6
5 changed files with 90 additions and 8 deletions

View File

@@ -2,9 +2,15 @@ package dev.tggamesyt.szar;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.damage.DamageSource;
import net.minecraft.entity.damage.DamageType;
import net.minecraft.entity.effect.StatusEffect;
import net.minecraft.entity.effect.StatusEffectCategory;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
import net.minecraft.registry.RegistryKeys;
import net.minecraft.registry.entry.RegistryEntry;
import static dev.tggamesyt.szar.Szar.*;
public class RadiationStatusEffect extends StatusEffect {
@@ -26,8 +32,13 @@ public class RadiationStatusEffect extends StatusEffect {
float damage = (float) getInterpolatedDamage(level);
RegistryEntry<DamageType> radiationEntry = SERVER.getRegistryManager()
.get(RegistryKeys.DAMAGE_TYPE)
.getEntry(RADIATION_DAMAGE)
.orElseThrow(() -> new IllegalStateException("Radiation DamageType not registered!"));
entity.damage(
entity.getDamageSources().magic(),
new DamageSource(radiationEntry),
damage
);
}

View File

@@ -50,6 +50,7 @@ import net.minecraft.text.Text;
import net.minecraft.util.ActionResult;
import net.minecraft.util.Formatting;
import net.minecraft.util.Identifier;
import net.minecraft.util.Rarity;
import net.minecraft.util.collection.DataPool;
import net.minecraft.util.math.Box;
import net.minecraft.util.math.random.Random;
@@ -578,7 +579,7 @@ public class Szar implements ModInitializer {
new RadiationStatusEffect()
);
public static final RegistryKey<DamageType> RADIATION_DAMAGE =
RegistryKey.of(RegistryKeys.DAMAGE_TYPE, new Identifier("yourmod", "radiation"));
RegistryKey.of(RegistryKeys.DAMAGE_TYPE, new Identifier(MOD_ID, "radiation"));
public static final Item AK_AMMO = Registry.register(
Registries.ITEM,
new Identifier(MOD_ID, "bullet"),
@@ -809,7 +810,7 @@ public class Szar implements ModInitializer {
public static final Item BAITER_DISK = Registry.register(
Registries.ITEM,
new Identifier(MOD_ID, "baiter"),
new MusicDiscItem(12, BAITER, new Item.Settings().maxCount(1), 172)
new MusicDiscItem(12, BAITER, new Item.Settings().maxCount(1).rarity(Rarity.RARE), 172)
);
public static final Item ATOM_DETONATOR = Registry.register(
Registries.ITEM,

View File

@@ -63,8 +63,8 @@
"item.szar.nuke_core": "Nuke Core",
"item.szar.atom": "Nuke",
"effect.szar.radiation": "Radiation",
"item.szar.baiter": "Music Disk",
"item.szar.baiter": "Music Disc",
"item.szar.baiter.desc": "HaVexy - Hyperabaiter Disstrack",
"death.attack.radiation": "%1$s succumbed to radiation sickness",
"death.attack.radiation": "%1$s radiated away",
"death.attack.radiation.player": "%1$s was lethally irradiated by %2$s"
}