aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/damagesources/GT_DamageSources.java
diff options
context:
space:
mode:
authorBlood-Asp <bloodasphendrik@gmail.com>2015-10-20 00:24:30 +0200
committerBlood-Asp <bloodasphendrik@gmail.com>2015-10-20 00:24:30 +0200
commit9202e2bfe31b1c38d74fadbc050292e5016de8b3 (patch)
treea5d45c0544609332c0b5219119329af8e4bee35b /src/main/java/gregtech/api/damagesources/GT_DamageSources.java
parent9367648dd69c4834c213a050aeae4af0acea1ed2 (diff)
parent85c804fa112fd1f19c91e45d150a787cfbf0f7a8 (diff)
downloadGT5-Unofficial-9202e2bfe31b1c38d74fadbc050292e5016de8b3.tar.gz
GT5-Unofficial-9202e2bfe31b1c38d74fadbc050292e5016de8b3.tar.bz2
GT5-Unofficial-9202e2bfe31b1c38d74fadbc050292e5016de8b3.zip
Merge pull request #249 from ShawnBuckley/source-move
Move source directory
Diffstat (limited to 'src/main/java/gregtech/api/damagesources/GT_DamageSources.java')
-rw-r--r--src/main/java/gregtech/api/damagesources/GT_DamageSources.java86
1 files changed, 86 insertions, 0 deletions
diff --git a/src/main/java/gregtech/api/damagesources/GT_DamageSources.java b/src/main/java/gregtech/api/damagesources/GT_DamageSources.java
new file mode 100644
index 0000000000..d83bf661fe
--- /dev/null
+++ b/src/main/java/gregtech/api/damagesources/GT_DamageSources.java
@@ -0,0 +1,86 @@
+package gregtech.api.damagesources;
+
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.util.*;
+
+public class GT_DamageSources {
+ public static DamageSource getElectricDamage() {
+ return ic2.api.info.Info.DMG_ELECTRIC;
+ }
+
+ public static DamageSource getRadioactiveDamage() {
+ return ic2.api.info.Info.DMG_RADIATION;
+ }
+
+ public static DamageSource getNukeExplosionDamage() {
+ return ic2.api.info.Info.DMG_NUKE_EXPLOSION;
+ }
+
+ public static DamageSource getExplodingDamage() {
+ return new DamageSourceExploding();
+ }
+
+ public static DamageSource getCombatDamage(String aType, EntityLivingBase aPlayer, IChatComponent aDeathMessage) {
+ return new DamageSourceCombat(aType, aPlayer, aDeathMessage);
+ }
+
+ public static DamageSource getHeatDamage() {
+ return new DamageSourceHeat();
+ }
+
+ public static DamageSource getFrostDamage() {
+ return new DamageSourceFrost();
+ }
+
+ private static class DamageSourceCombat extends EntityDamageSource {
+ private IChatComponent mDeathMessage;
+
+ public DamageSourceCombat(String aType, EntityLivingBase aPlayer, IChatComponent aDeathMessage) {
+ super(aType, aPlayer);
+ mDeathMessage = aDeathMessage;
+ }
+
+ @Override
+ public IChatComponent func_151519_b(EntityLivingBase aTarget) {
+ return mDeathMessage == null ? super.func_151519_b(aTarget) : mDeathMessage;
+ }
+ }
+
+ private static class DamageSourceFrost extends DamageSource {
+ public DamageSourceFrost() {
+ super("frost");
+ setDifficultyScaled();
+ }
+
+ @Override
+ public IChatComponent func_151519_b(EntityLivingBase aTarget) {
+ return new ChatComponentText(EnumChatFormatting.RED+aTarget.getCommandSenderName()+EnumChatFormatting.WHITE + " got frozen");
+ }
+ }
+
+ private static class DamageSourceHeat extends DamageSource {
+ public DamageSourceHeat() {
+ super("steam");
+ setDifficultyScaled();
+ }
+
+ @Override
+ public IChatComponent func_151519_b(EntityLivingBase aTarget) {
+ return new ChatComponentText(EnumChatFormatting.RED+aTarget.getCommandSenderName()+EnumChatFormatting.WHITE + " was boiled alive");
+ }
+ }
+
+ public static class DamageSourceExploding extends DamageSource {
+ public DamageSourceExploding() {
+ super("exploded");
+ setDamageAllowedInCreativeMode();
+ setDamageBypassesArmor();
+ setDamageIsAbsolute();
+ }
+
+ @Override
+ public IChatComponent func_151519_b(EntityLivingBase aTarget) {
+ return new ChatComponentText(EnumChatFormatting.RED+aTarget.getCommandSenderName()+EnumChatFormatting.WHITE + " exploded");
+ }
+ }
+} \ No newline at end of file