Archived
限制遗忘拔刀技能实体负载
This commit is contained in:
13 files changed
+101
-27
No files matched your search
@@ -8,13 +8,12 @@ CP="${CP:-}"
|
||||
if [ -z "$CP" ]; then
|
||||
CP_ENTRIES=()
|
||||
for jar in \
|
||||
"$TDLM_ROOT/modsource/IndustrialCraft2/build/rfg/srg_patched_minecraft-classes.jar" \
|
||||
"$TDLM_ROOT/Uranium/eclipse/cauldron/build/libs/cauldron.jar" \
|
||||
"$TDLM_ROOT/Uranium/build/tmp/deobfuscateJar/deobfed.jar" \
|
||||
"$TDLM_ROOT/modsource/CodeChickenCore/build/rfg/srg_merged_minecraft.jar"; do
|
||||
"$TDLM_ROOT/modsource/CodeChickenCore/build/rfg/srg_merged_minecraft.jar" \
|
||||
"$TDLM_ROOT/modsource/CodeChickenCore/build/rfg/recompiled_minecraft-1.7.10.jar" \
|
||||
"$TDLM_ROOT/modsource/IndustrialCraft2/build/rfg/srg_patched_minecraft-classes.jar"; do
|
||||
[ -f "$jar" ] && CP_ENTRIES+=("$jar")
|
||||
done
|
||||
for dir in "$TDLM_ROOT/Uranium/build/bundle/libraries" "$TDLM_ROOT/Uranium-server-run/mods" "$TDLM_ROOT/client/mods" "$TDLM_ROOT/_downloaded-deps" "$TDLM_ROOT/modsource/ImmersiveEngineering/externalLibs" "$TDLM_ROOT/modsource/CodeChickenCore/run/client/mods" "$TDLM_ROOT/modsource/CodeChickenCore/run/mods" "$TDLM_ROOT/modsource/Mekanism-Community-Edition/libs" "$TDLM_ROOT/modsource/ExtraBotany/libs"; do
|
||||
for dir in "$TDLM_ROOT/Uranium/build/bundle/libraries" "$TDLM_ROOT/Uranium-server-run/libraries" "$TDLM_ROOT/Uranium-server-run/mods" "$TDLM_ROOT/client/mods" "$TDLM_ROOT/_downloaded-deps" "$TDLM_ROOT/modsource/ImmersiveEngineering/externalLibs" "$TDLM_ROOT/modsource/CodeChickenCore/run/client/mods" "$TDLM_ROOT/modsource/CodeChickenCore/run/mods" "$TDLM_ROOT/modsource/Mekanism-Community-Edition/libs" "$TDLM_ROOT/modsource/ExtraBotany/libs"; do
|
||||
if [ -d "$dir" ]; then
|
||||
while IFS= read -r jar; do
|
||||
case "$jar" in
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.tanzanite.SA;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public final class LostbladeLimits {
|
||||
public static final int MAX_DESTRUCTABLES_PER_TICK = 8;
|
||||
public static final int MAX_ATTACKABLES_PER_TICK = 8;
|
||||
public static final int MAX_PLAYER_HITS_PER_DRIVE = 2;
|
||||
|
||||
private LostbladeLimits() {
|
||||
}
|
||||
|
||||
public static boolean isOnCooldown(EntityPlayer player, NBTTagCompound tag, String key, int ticks) {
|
||||
World world = player.field_70170_p;
|
||||
long now = world.func_82737_E();
|
||||
String tagKey = "lostblade." + key + ".nextTick";
|
||||
if (tag.func_74763_f(tagKey) > now) {
|
||||
return true;
|
||||
}
|
||||
tag.func_74772_a(tagKey, now + ticks);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -39,6 +39,9 @@ extends SpecialAttackBase {
|
||||
public void doSpacialAttack(ItemStack stack, EntityPlayer player) {
|
||||
World world = player.field_70170_p;
|
||||
NBTTagCompound tag = ItemSlashBlade.getItemTagCompound((ItemStack)stack);
|
||||
if (LostbladeLimits.isOnCooldown(player, tag, "crescentMoon", 10)) {
|
||||
return;
|
||||
}
|
||||
if (!world.field_72995_K) {
|
||||
int cost = -30;
|
||||
if (!ItemSlashBlade.ProudSoul.tryAdd(tag, Integer.valueOf(cost), false)) {
|
||||
@@ -49,7 +52,7 @@ extends SpecialAttackBase {
|
||||
float baseModif = blade.getBaseAttackModifiers(tag);
|
||||
int level = EnchantmentHelper.func_77506_a((int)Enchantment.field_77345_t.field_77352_x, (ItemStack)stack);
|
||||
float magicDamage = baseModif * (float)rank;
|
||||
for (int i = 0; i < 5; ++i) {
|
||||
for (int i = 0; i < 3; ++i) {
|
||||
if (4 <= rank) {
|
||||
magicDamage += ItemSlashBlade.AttackAmplifier.get(tag).floatValue() * (float)(rank + level) / 2.0f;
|
||||
}
|
||||
@@ -59,7 +62,7 @@ extends SpecialAttackBase {
|
||||
entityDrive.setk(Float.valueOf(1.0f));
|
||||
entityDrive.setg(Float.valueOf(1.5f));
|
||||
entityDrive.setInitialSpeed(0.7f);
|
||||
entityDrive.setLifeTime(800);
|
||||
entityDrive.setLifeTime(80);
|
||||
if (entityDrive == null) continue;
|
||||
world.func_72838_d((Entity)entityDrive);
|
||||
}
|
||||
@@ -67,4 +70,3 @@ extends SpecialAttackBase {
|
||||
ItemSlashBlade.setComboSequence((NBTTagCompound)tag, (ItemSlashBlade.ComboSequence)ItemSlashBlade.ComboSequence.Kiriorosi);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,6 +45,9 @@ extends SpecialAttackBase {
|
||||
public void doSpacialAttack(ItemStack stack, EntityPlayer player) {
|
||||
World world = player.field_70170_p;
|
||||
NBTTagCompound tag = ItemSlashBlade.getItemTagCompound((ItemStack)stack);
|
||||
if (LostbladeLimits.isOnCooldown(player, tag, "cureWave", 10)) {
|
||||
return;
|
||||
}
|
||||
if (!world.field_72995_K) {
|
||||
int cost = -30;
|
||||
if (!ItemSlashBlade.ProudSoul.tryAdd(tag, Integer.valueOf(cost), false)) {
|
||||
@@ -55,7 +58,9 @@ extends SpecialAttackBase {
|
||||
bb = bb.func_72314_b(5.0, 0.25, 5.0);
|
||||
List list = world.func_94576_a((Entity)player, bb, ItemSlashBlade.AttackableSelector);
|
||||
int rank = StylishRankManager.getStylishRank((Entity)player);
|
||||
int affected = 0;
|
||||
for (Entity curEntity : (java.util.List<Entity>)(java.util.List<?>)list) {
|
||||
if (affected++ >= LostbladeLimits.MAX_ATTACKABLES_PER_TICK) break;
|
||||
((EntityLivingBase)curEntity).func_70690_d(new PotionEffect(Potion.field_76432_h.func_76396_c(), 1, rank));
|
||||
((EntityLivingBase)curEntity).func_70690_d(new PotionEffect(Potion.field_76428_l.func_76396_c(), 400, 2));
|
||||
((EntityLivingBase)curEntity).func_70690_d(new PotionEffect(Potion.field_76429_m.func_76396_c(), 400, 0));
|
||||
@@ -63,6 +68,7 @@ extends SpecialAttackBase {
|
||||
float magicDamage = 0.0f;
|
||||
int maxCount = 6;
|
||||
maxCount += rank;
|
||||
maxCount = Math.min(4, maxCount);
|
||||
for (int i = 0; i < maxCount; ++i) {
|
||||
EntityDriveCure entityDrive = new EntityDriveCure(world, (EntityLivingBase)player, magicDamage, false, 0.0f);
|
||||
entityDrive.func_70012_b(player.field_70165_t, player.field_70163_u, player.field_70161_v, player.field_70177_z + (float)(60 * i), 0.0f);
|
||||
@@ -98,4 +104,3 @@ extends SpecialAttackBase {
|
||||
ItemSlashBlade.setComboSequence((NBTTagCompound)tag, (ItemSlashBlade.ComboSequence)ItemSlashBlade.ComboSequence.Calibur);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,6 +42,9 @@ extends SpecialAttackBase {
|
||||
public void doSpacialAttack(ItemStack stack, EntityPlayer player) {
|
||||
World world = player.field_70170_p;
|
||||
NBTTagCompound tag = ItemSlashBlade.getItemTagCompound((ItemStack)stack);
|
||||
if (LostbladeLimits.isOnCooldown(player, tag, "delete", 8)) {
|
||||
return;
|
||||
}
|
||||
if (!world.field_72995_K) {
|
||||
Entity tmp;
|
||||
ItemSlashBlade blade = (ItemSlashBlade)stack.func_77973_b();
|
||||
@@ -72,11 +75,12 @@ extends SpecialAttackBase {
|
||||
}
|
||||
float magicDamage = 2.0f + ItemSlashBlade.RepairCount.get(tag).floatValue() / 2.0f;
|
||||
int count = 3 + 3 * StylishRankManager.getStylishRank((Entity)player);
|
||||
count = Math.min(target instanceof EntityPlayer ? 6 : 12, count);
|
||||
for (int i = 0; i < count; ++i) {
|
||||
EntityWitherSword entityDrive;
|
||||
if (world.field_72995_K || (entityDrive = new EntityWitherSword(world, (EntityLivingBase)player, magicDamage, 90.0f)) == null) continue;
|
||||
entityDrive.setInterval(3 + i);
|
||||
entityDrive.setLifeTime(100);
|
||||
entityDrive.setLifeTime(target instanceof EntityPlayer ? 40 : 60);
|
||||
entityDrive.setRoll(20.0f);
|
||||
entityDrive.setColor(0xADEAEA);
|
||||
entityDrive.setTargetEntityId(target.func_145782_y());
|
||||
@@ -109,4 +113,3 @@ extends SpecialAttackBase {
|
||||
return target;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,6 +45,9 @@ extends SpecialAttackBase {
|
||||
public void doSpacialAttack(ItemStack stack, EntityPlayer player) {
|
||||
World world = player.field_70170_p;
|
||||
NBTTagCompound tag = ItemSlashBlade.getItemTagCompound((ItemStack)stack);
|
||||
if (LostbladeLimits.isOnCooldown(player, tag, "dragonBurst", 12)) {
|
||||
return;
|
||||
}
|
||||
player.field_70170_p.func_72956_a((Entity)player, "mob.enderdragon.growl", 1.0f, 1.0f);
|
||||
if (player.func_70027_ad()) {
|
||||
player.func_85030_a("random.fizz", 0.7f, 1.6f + (player.func_70681_au().nextFloat() - player.func_70681_au().nextFloat()) * 0.4f);
|
||||
@@ -59,6 +62,12 @@ extends SpecialAttackBase {
|
||||
AxisAlignedBB bb = player.field_70121_D.func_72329_c();
|
||||
bb = bb.func_72314_b(5.0, 0.25, 5.0);
|
||||
List list = world.func_94576_a((Entity)player, bb, ItemSlashBlade.AttackableSelector);
|
||||
boolean playerTarget = false;
|
||||
for (Entity curEntity : (java.util.List<Entity>)(java.util.List<?>)list) {
|
||||
if (!(curEntity instanceof EntityPlayer)) continue;
|
||||
playerTarget = true;
|
||||
break;
|
||||
}
|
||||
float baseModif = blade.getBaseAttackModifiers(tag);
|
||||
int level = Math.max(1, EnchantmentHelper.func_77506_a((int)Enchantment.field_77345_t.field_77352_x, (ItemStack)stack));
|
||||
int rank = StylishRankManager.getStylishRank((Entity)player);
|
||||
@@ -72,9 +81,10 @@ extends SpecialAttackBase {
|
||||
if (6 <= rank) {
|
||||
magicDamage *= (float)(rank * 500);
|
||||
}
|
||||
int maxCol = 3;
|
||||
int maxCol = playerTarget ? 2 : 3;
|
||||
int maxCount = 3;
|
||||
maxCount += rank;
|
||||
maxCount = Math.min(playerTarget ? 3 : 5, maxCount);
|
||||
for (int j = 0; j < maxCol; ++j) {
|
||||
for (int i = 0; i < maxCount; ++i) {
|
||||
if (world.field_72995_K) continue;
|
||||
@@ -85,7 +95,7 @@ extends SpecialAttackBase {
|
||||
entityDrive.setColor(12326679);
|
||||
entityDrive.setDriveVector(0.2f + (float)(j * 2 / 4));
|
||||
entityDrive.setIsMultiHit(true);
|
||||
entityDrive.setLifeTime(50);
|
||||
entityDrive.setLifeTime(playerTarget ? 30 : 40);
|
||||
entityDrive.setRoll(90.0f);
|
||||
entityDrive.setSpeedByTimeEvent(0.3f, 1.5f, 10 + j * 4 + i);
|
||||
world.func_72838_d((Entity)entityDrive);
|
||||
@@ -95,4 +105,3 @@ extends SpecialAttackBase {
|
||||
ItemSlashBlade.setComboSequence((NBTTagCompound)tag, (ItemSlashBlade.ComboSequence)ItemSlashBlade.ComboSequence.Battou);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,6 +48,9 @@ extends SpecialAttackBase {
|
||||
public void doSpacialAttack(ItemStack stack, EntityPlayer player) {
|
||||
World world = player.field_70170_p;
|
||||
NBTTagCompound tag = ItemSlashBlade.getItemTagCompound((ItemStack)stack);
|
||||
if (LostbladeLimits.isOnCooldown(player, tag, "vampireSlayer", 8)) {
|
||||
return;
|
||||
}
|
||||
if (!world.field_72995_K) {
|
||||
int cost = -20;
|
||||
if (!ItemSlashBlade.ProudSoul.tryAdd(tag, Integer.valueOf(-20), false)) {
|
||||
@@ -57,7 +60,11 @@ extends SpecialAttackBase {
|
||||
AxisAlignedBB bb = player.field_70121_D.func_72329_c();
|
||||
bb = bb.func_72314_b(5.0, 0.25, 5.0);
|
||||
List list = world.func_94576_a((Entity)player, bb, ItemSlashBlade.AttackableSelector);
|
||||
int affected = 0;
|
||||
int playerTargets = 0;
|
||||
for (Entity curEntity : (java.util.List<Entity>)(java.util.List<?>)list) {
|
||||
if (affected++ >= LostbladeLimits.MAX_ATTACKABLES_PER_TICK) break;
|
||||
if (curEntity instanceof EntityPlayer && playerTargets++ >= 3) continue;
|
||||
StylishRankManager.setNextAttackType((Entity)player, (String)StylishRankManager.AttackTypes.CircleSlash);
|
||||
blade.attackTargetEntity(stack, curEntity, player, Boolean.valueOf(true));
|
||||
player.func_71009_b(curEntity);
|
||||
@@ -70,7 +77,7 @@ extends SpecialAttackBase {
|
||||
if (5 <= rank) {
|
||||
magicDamage += ItemSlashBlade.AttackAmplifier.get(tag).floatValue() * (0.25f + (float)level / 5.0f);
|
||||
}
|
||||
for (int i = 0; i < 6; ++i) {
|
||||
for (int i = 0; i < 4; ++i) {
|
||||
EntityDriveAlt entityDrive = new EntityDriveAlt(world, (EntityLivingBase)player, magicDamage, true, 0.0f);
|
||||
entityDrive.func_70012_b(player.field_70165_t, player.field_70163_u + (double)player.func_70047_e() / 2.0, player.field_70161_v, player.field_70177_z + (float)(60 * i), 0.0f);
|
||||
entityDrive.setColor(0xD9D919);
|
||||
@@ -101,4 +108,3 @@ extends SpecialAttackBase {
|
||||
ItemSlashBlade.setComboSequence((NBTTagCompound)tag, (ItemSlashBlade.ComboSequence)ItemSlashBlade.ComboSequence.Battou);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
*/
|
||||
package com.tanzanite.SA.entities;
|
||||
|
||||
import com.tanzanite.SA.LostbladeLimits;
|
||||
import cpw.mods.fml.common.registry.IThrowableEntity;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
@@ -262,7 +263,9 @@ implements IThrowableEntity {
|
||||
StylishRankManager.setNextAttackType((Entity)this.thrower, (String)StylishRankManager.AttackTypes.DestructObject);
|
||||
list.removeAll(this.alreadyHitEntity);
|
||||
this.alreadyHitEntity.addAll(list);
|
||||
int destroyed = 0;
|
||||
for (Entity curEntity : (java.util.List<Entity>)(java.util.List<?>)list) {
|
||||
if (destroyed++ >= LostbladeLimits.MAX_DESTRUCTABLES_PER_TICK) break;
|
||||
boolean isDestruction = true;
|
||||
if (curEntity instanceof EntityFireball) {
|
||||
isDestruction = ((EntityFireball)curEntity).field_70235_a != null && ((EntityFireball)curEntity).field_70235_a.func_145782_y() == entityLiving.func_145782_y() ? false : !curEntity.func_70097_a(DamageSource.func_76358_a((EntityLivingBase)entityLiving), this.AttackLevel / 5.0f);
|
||||
@@ -305,7 +308,14 @@ implements IThrowableEntity {
|
||||
} else {
|
||||
StylishRankManager.setNextAttackType((Entity)this.thrower, (String)StylishRankManager.AttackTypes.Drive);
|
||||
}
|
||||
int attacked = 0;
|
||||
int playerHits = 0;
|
||||
for (Entity curEntity : (java.util.List<Entity>)(java.util.List<?>)list) {
|
||||
if (attacked++ >= LostbladeLimits.MAX_ATTACKABLES_PER_TICK) break;
|
||||
if (curEntity instanceof EntityPlayer) {
|
||||
if (playerHits++ >= LostbladeLimits.MAX_PLAYER_HITS_PER_DRIVE) continue;
|
||||
this.alreadyHitEntity.add(curEntity);
|
||||
}
|
||||
float health;
|
||||
if (this.getIsSlashDimension() && curEntity instanceof EntityLivingBase && 0.0f < (health = ((EntityLivingBase)curEntity).func_110143_aJ())) {
|
||||
health = Math.max(1.0f, health - magicDamage);
|
||||
@@ -318,7 +328,7 @@ implements IThrowableEntity {
|
||||
((ItemSlashBlade)this.blade.func_77973_b()).func_77644_a(this.blade, (EntityLivingBase)curEntity, (EntityLivingBase)this.thrower);
|
||||
}
|
||||
}
|
||||
if (!(nBlock = this.field_70170_p.func_147439_a(nPosX = MathHelper.func_76128_c((double)this.field_70165_t), nPosY = MathHelper.func_76128_c((double)this.field_70163_u), nPosZ = MathHelper.func_76128_c((double)this.field_70161_v))).isAir((IBlockAccess)this.field_70170_p, nPosX, nPosY, nPosZ) && nBlock.func_149668_a(this.field_70170_p, nPosX, nPosY, nPosZ) != null) {
|
||||
if ((nBlock = this.field_70170_p.func_147439_a(nPosX = MathHelper.func_76128_c((double)this.field_70165_t), nPosY = MathHelper.func_76128_c((double)this.field_70163_u), nPosZ = MathHelper.func_76128_c((double)this.field_70161_v))).func_149688_o() != Material.field_151579_a && nBlock.func_149668_a(this.field_70170_p, nPosX, nPosY, nPosZ) != null) {
|
||||
this.func_70106_y();
|
||||
}
|
||||
}
|
||||
@@ -483,4 +493,3 @@ implements IThrowableEntity {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
*/
|
||||
package com.tanzanite.SA.entities;
|
||||
|
||||
import com.tanzanite.SA.LostbladeLimits;
|
||||
import cpw.mods.fml.common.registry.IThrowableEntity;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
@@ -262,7 +263,9 @@ implements IThrowableEntity {
|
||||
StylishRankManager.setNextAttackType((Entity)this.thrower, (String)StylishRankManager.AttackTypes.DestructObject);
|
||||
list.removeAll(this.alreadyHitEntity);
|
||||
this.alreadyHitEntity.addAll(list);
|
||||
int destroyed = 0;
|
||||
for (Entity curEntity : (java.util.List<Entity>)(java.util.List<?>)list) {
|
||||
if (destroyed++ >= LostbladeLimits.MAX_DESTRUCTABLES_PER_TICK) break;
|
||||
boolean isDestruction = true;
|
||||
if (curEntity instanceof EntityFireball) {
|
||||
isDestruction = ((EntityFireball)curEntity).field_70235_a != null && ((EntityFireball)curEntity).field_70235_a.func_145782_y() == entityLiving.func_145782_y() ? false : !curEntity.func_70097_a(DamageSource.func_76358_a((EntityLivingBase)entityLiving), this.AttackLevel / 5.0f);
|
||||
@@ -305,7 +308,14 @@ implements IThrowableEntity {
|
||||
} else {
|
||||
StylishRankManager.setNextAttackType((Entity)this.thrower, (String)StylishRankManager.AttackTypes.Drive);
|
||||
}
|
||||
int attacked = 0;
|
||||
int playerHits = 0;
|
||||
for (Entity curEntity : (java.util.List<Entity>)(java.util.List<?>)list) {
|
||||
if (attacked++ >= LostbladeLimits.MAX_ATTACKABLES_PER_TICK) break;
|
||||
if (curEntity instanceof EntityPlayer) {
|
||||
if (playerHits++ >= LostbladeLimits.MAX_PLAYER_HITS_PER_DRIVE) continue;
|
||||
this.alreadyHitEntity.add(curEntity);
|
||||
}
|
||||
float health;
|
||||
if (this.getIsSlashDimension() && curEntity instanceof EntityLivingBase && 0.0f < (health = ((EntityLivingBase)curEntity).func_110143_aJ())) {
|
||||
health = Math.max(1.0f, health - magicDamage);
|
||||
@@ -318,7 +328,7 @@ implements IThrowableEntity {
|
||||
((ItemSlashBlade)this.blade.func_77973_b()).func_77644_a(this.blade, (EntityLivingBase)curEntity, (EntityLivingBase)this.thrower);
|
||||
}
|
||||
}
|
||||
if (!(nBlock = this.field_70170_p.func_147439_a(nPosX = MathHelper.func_76128_c((double)this.field_70165_t), nPosY = MathHelper.func_76128_c((double)this.field_70163_u), nPosZ = MathHelper.func_76128_c((double)this.field_70161_v))).isAir((IBlockAccess)this.field_70170_p, nPosX, nPosY, nPosZ) && nBlock.func_149668_a(this.field_70170_p, nPosX, nPosY, nPosZ) != null) {
|
||||
if ((nBlock = this.field_70170_p.func_147439_a(nPosX = MathHelper.func_76128_c((double)this.field_70165_t), nPosY = MathHelper.func_76128_c((double)this.field_70163_u), nPosZ = MathHelper.func_76128_c((double)this.field_70161_v))).func_149688_o() != Material.field_151579_a && nBlock.func_149668_a(this.field_70170_p, nPosX, nPosY, nPosZ) != null) {
|
||||
this.func_70106_y();
|
||||
}
|
||||
}
|
||||
@@ -483,4 +493,3 @@ implements IThrowableEntity {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
*/
|
||||
package com.tanzanite.SA.entities;
|
||||
|
||||
import com.tanzanite.SA.LostbladeLimits;
|
||||
import cpw.mods.fml.common.registry.IThrowableEntity;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
@@ -254,7 +255,9 @@ implements IThrowableEntity {
|
||||
StylishRankManager.setNextAttackType((Entity)this.thrower, (String)StylishRankManager.AttackTypes.DestructObject);
|
||||
list.removeAll(this.alreadyHitEntity);
|
||||
this.alreadyHitEntity.addAll(list);
|
||||
int destroyed = 0;
|
||||
for (Entity curEntity : (java.util.List<Entity>)(java.util.List<?>)list) {
|
||||
if (destroyed++ >= LostbladeLimits.MAX_DESTRUCTABLES_PER_TICK) break;
|
||||
boolean isDestruction = true;
|
||||
if (curEntity instanceof EntityFireball) {
|
||||
isDestruction = ((EntityFireball)curEntity).field_70235_a != null && ((EntityFireball)curEntity).field_70235_a.func_145782_y() == entityLiving.func_145782_y() ? false : !curEntity.func_70097_a(DamageSource.func_76358_a((EntityLivingBase)entityLiving), this.AttackLevel / 5.0f);
|
||||
@@ -296,7 +299,14 @@ implements IThrowableEntity {
|
||||
} else {
|
||||
StylishRankManager.setNextAttackType((Entity)this.thrower, (String)StylishRankManager.AttackTypes.Drive);
|
||||
}
|
||||
int attacked = 0;
|
||||
int playerHits = 0;
|
||||
for (Entity curEntity : (java.util.List<Entity>)(java.util.List<?>)list) {
|
||||
if (attacked++ >= LostbladeLimits.MAX_ATTACKABLES_PER_TICK) break;
|
||||
if (curEntity instanceof EntityPlayer) {
|
||||
if (playerHits++ >= LostbladeLimits.MAX_PLAYER_HITS_PER_DRIVE) continue;
|
||||
this.alreadyHitEntity.add(curEntity);
|
||||
}
|
||||
if (this.getIsSlashDimension() && curEntity instanceof EntityLivingBase) {
|
||||
float var1 = ((EntityLivingBase)curEntity).func_110143_aJ();
|
||||
}
|
||||
@@ -305,7 +315,7 @@ implements IThrowableEntity {
|
||||
((ItemSlashBlade)this.blade.func_77973_b()).func_77644_a(this.blade, (EntityLivingBase)curEntity, (EntityLivingBase)this.thrower);
|
||||
}
|
||||
}
|
||||
if (!(nBlock = this.field_70170_p.func_147439_a(nPosX = MathHelper.func_76128_c((double)this.field_70165_t), nPosY = MathHelper.func_76128_c((double)this.field_70163_u), nPosZ = MathHelper.func_76128_c((double)this.field_70161_v))).isAir((IBlockAccess)this.field_70170_p, nPosX, nPosY, nPosZ) && nBlock.func_149668_a(this.field_70170_p, nPosX, nPosY, nPosZ) != null) {
|
||||
if ((nBlock = this.field_70170_p.func_147439_a(nPosX = MathHelper.func_76128_c((double)this.field_70165_t), nPosY = MathHelper.func_76128_c((double)this.field_70163_u), nPosZ = MathHelper.func_76128_c((double)this.field_70161_v))).func_149688_o() != Material.field_151579_a && nBlock.func_149668_a(this.field_70170_p, nPosX, nPosY, nPosZ) != null) {
|
||||
this.func_70106_y();
|
||||
}
|
||||
}
|
||||
@@ -467,4 +477,3 @@ implements IThrowableEntity {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,7 +45,7 @@ extends ItemSlashBladeNamed {
|
||||
player.func_70690_d(new PotionEffect(Potion.field_76420_g.func_76396_c(), 20, 1));
|
||||
return super.func_77644_a(stack, hitEntity, player);
|
||||
}
|
||||
if (hitEntity instanceof EntityPlayer && (Player = (EntityPlayer)hitEntity).getDisplayName() == "Dracula") {
|
||||
if (hitEntity instanceof EntityPlayer && (Player = (EntityPlayer)hitEntity).func_70005_c_().equals("Dracula")) {
|
||||
hitEntity.func_70690_d(new PotionEffect(PotionDivine.potion.func_76396_c(), 150, 1));
|
||||
player.func_70690_d(new PotionEffect(Potion.field_76420_g.func_76396_c(), 20, 1));
|
||||
return super.func_77644_a(stack, hitEntity, player);
|
||||
|
||||
@@ -14,11 +14,10 @@ import net.minecraft.item.Item;
|
||||
public class CreativeTabsLostblade
|
||||
extends CreativeTabs {
|
||||
public CreativeTabsLostblade() {
|
||||
super("tabLostblade");
|
||||
super(181, "tabLostblade");
|
||||
}
|
||||
|
||||
public Item func_78016_d() {
|
||||
return ItemLoader.SoulIngot;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,9 +34,8 @@ extends WeightedRandomChestContent {
|
||||
|
||||
protected ItemStack[] generateChestContent(Random random, IInventory newInventory) {
|
||||
if (random.nextFloat() < this.getLotteryRate()) {
|
||||
return super.generateChestContent(random, newInventory);
|
||||
return new ItemStack[]{this.field_76297_b.func_77946_l()};
|
||||
}
|
||||
return new ItemStack[]{new ItemStack(random.nextBoolean() ? Item.func_150898_a((Block)BlockLoader.ProudSoulTree) : Item.func_150898_a((Block)BlockLoader.ProudSoulTree), 1, 0)};
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user