初始化反编译源码

This commit is contained in:
layue13 committed 2026-06-30 04:05:01 +08:00
commit 1832dacd2c
105 files changed
+223726

No files matched your search

+1
View File
@@ -0,0 +1 @@
5fu/mods/【拔】优化万物皆可为兵刃beta.1.jar
+13
View File
@@ -0,0 +1,13 @@
# allweapon-decompiled
Fallback decompile of `5fu/mods/【拔】优化万物皆可为兵刃beta.1.jar`.
- Detected modid(s): `allweapon`
- Original jar: `original/【拔】优化万物皆可为兵刃beta.1.jar`
- Decompiled Java: `src/main/java`
- Extracted resources: `src/main/resources`
Build entries:
- `./build.sh` reliably recreates `build/libs/【拔】优化万物皆可为兵刃beta.1.jar` from the preserved original jar.
- `./compile-decompiled.sh` attempts to compile the CFR output with Java 8 using jars from `../5fu/mods` and `../_downloaded-deps` as classpath. CFR output for old obfuscated/private mods may require manual cleanup before this succeeds.
Executable
+10
View File
@@ -0,0 +1,10 @@
#!/usr/bin/env bash
set -euo pipefail
cd "$(dirname "$0")"
if [[ ! -x ./compile-decompiled.sh ]]; then
echo "Missing full-source build entry: ./compile-decompiled.sh" >&2
exit 2
fi
exec ./compile-decompiled.sh "$@"
+43
View File
@@ -0,0 +1,43 @@
#!/usr/bin/env bash
set -euo pipefail
cd "$(dirname "$0")"
mkdir -p build/classes build/logs build/libs
ROOT="$(pwd)"
TDLM_ROOT="$(cd "$ROOT/../.." && pwd)"
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
[ -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
if [ -d "$dir" ]; then
while IFS= read -r jar; do
case "$jar" in
*-deobf.jar) continue ;;
esac
CP_ENTRIES+=("$jar")
done < <(find "$dir" -name '*.jar' -type f | sort)
fi
done
if [ ${#CP_ENTRIES[@]} -eq 0 ]; then
echo "no dependency jars found for decompiled build" >&2
exit 1
fi
CP="$(IFS=:; echo "${CP_ENTRIES[*]}")"
fi
find src/main/java -name '*.java' > build/sources.list
if [ ! -s build/sources.list ]; then
echo "no decompiled java sources found" >&2
exit 1
fi
javac -source 8 -target 8 -encoding UTF-8 -cp "$CP" -d build/classes @build/sources.list 2>&1 | tee build/logs/javac.log
if [ -d src/main/resources ]; then
( cd src/main/resources && tar cf - . ) | ( cd build/classes && tar xf - )
fi
jar cf "build/libs/【拔】优化万物皆可为兵刃beta.1.jar" -C build/classes .
echo "compiled build/libs/【拔】优化万物皆可为兵刃beta.1.jar"
View File
Whitespace-only changes.
@@ -0,0 +1,47 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.Mod
* cpw.mods.fml.common.Mod$EventHandler
* cpw.mods.fml.common.Mod$Instance
* cpw.mods.fml.common.SidedProxy
* cpw.mods.fml.common.event.FMLInitializationEvent
* cpw.mods.fml.common.event.FMLPostInitializationEvent
* cpw.mods.fml.common.event.FMLPreInitializationEvent
*/
package com.moe.allweapon;
import com.moe.allweapon.CommonProxy;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
@Mod(modid="allweapon", name="AllWeapon add", version="1.0", dependencies="required-after:flammpfeil.slashblade")
public class AllWeapon {
public static final String MODID = "allweapon";
public static final String NAME = "AllWeapon add";
public static final String VERSION = "1.0";
@Mod.Instance(value="allweapon")
public static AllWeapon instance;
@SidedProxy(clientSide="com.moe.allweapon.ClientProxy", serverSide="com.moe.allweapon.CommonProxy")
public static CommonProxy proxy;
@Mod.EventHandler
public void preInit(FMLPreInitializationEvent event) {
proxy.preInit(event);
}
@Mod.EventHandler
public void init(FMLInitializationEvent event) {
proxy.init(event);
}
@Mod.EventHandler
public void postInit(FMLPostInitializationEvent event) {
proxy.postInit(event);
}
}
@@ -0,0 +1,56 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.eventhandler.SubscribeEvent
* cpw.mods.fml.common.registry.GameRegistry
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBladeNamed
* mods.flammpfeil.slashblade.SlashBlade
* mods.flammpfeil.slashblade.named.event.LoadEvent$InitEvent
* mods.flammpfeil.slashblade.stats.AchievementList
* net.minecraft.item.Item
* net.minecraft.item.ItemShears
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package com.moe.allweapon.Blade;
import com.moe.allweapon.SA.SAhuanyingdie;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ItemSlashBladeNamed;
import mods.flammpfeil.slashblade.SlashBlade;
import mods.flammpfeil.slashblade.named.event.LoadEvent;
import mods.flammpfeil.slashblade.stats.AchievementList;
import net.minecraft.item.Item;
import net.minecraft.item.ItemShears;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class BaiLan
extends ItemShears {
public static ItemSlashBladeNamed bladeNamed;
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
String name = "flammpfeil.slashblade.named.bailan";
ItemStack customblade = new ItemStack((Item)SlashBlade.bladeNamed, 1, 0);
NBTTagCompound tag = new NBTTagCompound();
customblade.func_77982_d(tag);
ItemSlashBlade.specialAttacks.put(1704, new SAhuanyingdie());
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(1704));
ItemSlashBladeNamed.CurrentItemName.set(tag, name);
ItemSlashBladeNamed.CustomMaxDamage.set(tag, Integer.valueOf(120));
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBlade.TextureName.set(tag, "named/bailan/texture");
ItemSlashBlade.StandbyRenderType.set(tag, Integer.valueOf(2));
GameRegistry.registerCustomItemStack((String)name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add("flammpfeil.slashblade:" + name);
AchievementList.registerAchievement((String)name, (ItemStack)customblade, (Achievement)null);
}
}
@@ -0,0 +1,60 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.eventhandler.SubscribeEvent
* cpw.mods.fml.common.registry.GameRegistry
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBladeNamed
* mods.flammpfeil.slashblade.SlashBlade
* mods.flammpfeil.slashblade.named.event.LoadEvent$InitEvent
* mods.flammpfeil.slashblade.stats.AchievementList
* net.minecraft.enchantment.Enchantment
* net.minecraft.item.Item
* net.minecraft.item.ItemShears
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package com.moe.allweapon.Blade;
import com.moe.allweapon.SA.SAweizhan;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ItemSlashBladeNamed;
import mods.flammpfeil.slashblade.SlashBlade;
import mods.flammpfeil.slashblade.named.event.LoadEvent;
import mods.flammpfeil.slashblade.stats.AchievementList;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.item.Item;
import net.minecraft.item.ItemShears;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class BaiQiYue
extends ItemShears {
public static ItemSlashBladeNamed bladeNamed;
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
String name = "flammpfeil.slashblade.named.baishiyue";
ItemStack customblade = new ItemStack((Item)SlashBlade.bladeNamed, 1, 0);
NBTTagCompound tag = new NBTTagCompound();
customblade.func_77982_d(tag);
ItemSlashBladeNamed.CurrentItemName.set(tag, name);
ItemSlashBladeNamed.CustomMaxDamage.set(tag, Integer.valueOf(120));
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBlade.specialAttacks.put(1709, new SAweizhan());
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(1709));
ItemSlashBlade.TextureName.set(tag, "named/baiqiyue/texture");
ItemSlashBlade.ModelName.set(tag, "named/baiqiyue/model");
ItemSlashBlade.StandbyRenderType.set(tag, Integer.valueOf(2));
customblade.func_77966_a(Enchantment.field_77332_c, 6);
GameRegistry.registerCustomItemStack((String)name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add("flammpfeil.slashblade:" + name);
AchievementList.registerAchievement((String)name, (ItemStack)customblade, (Achievement)null);
}
}
@@ -0,0 +1,60 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.eventhandler.SubscribeEvent
* cpw.mods.fml.common.registry.GameRegistry
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBladeNamed
* mods.flammpfeil.slashblade.SlashBlade
* mods.flammpfeil.slashblade.named.event.LoadEvent$InitEvent
* mods.flammpfeil.slashblade.stats.AchievementList
* net.minecraft.enchantment.Enchantment
* net.minecraft.item.Item
* net.minecraft.item.ItemShears
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package com.moe.allweapon.Blade;
import com.moe.allweapon.SA.SAliedi;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ItemSlashBladeNamed;
import mods.flammpfeil.slashblade.SlashBlade;
import mods.flammpfeil.slashblade.named.event.LoadEvent;
import mods.flammpfeil.slashblade.stats.AchievementList;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.item.Item;
import net.minecraft.item.ItemShears;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class BaiShouJianWang
extends ItemShears {
public static ItemSlashBladeNamed bladeNamed;
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
String name = "flammpfeil.slashblade.named.baishoujianwang";
ItemStack customblade = new ItemStack((Item)SlashBlade.bladeNamed, 1, 0);
NBTTagCompound tag = new NBTTagCompound();
customblade.func_77982_d(tag);
ItemSlashBlade.specialAttacks.put(1706, new SAliedi());
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(1706));
ItemSlashBladeNamed.CurrentItemName.set(tag, name);
ItemSlashBladeNamed.CustomMaxDamage.set(tag, Integer.valueOf(120));
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBlade.TextureName.set(tag, "named/baishoujianwang/texture");
ItemSlashBlade.ModelName.set(tag, "named/baishoujianwang/model");
ItemSlashBlade.StandbyRenderType.set(tag, Integer.valueOf(2));
customblade.func_77966_a(Enchantment.field_77338_j, 10);
GameRegistry.registerCustomItemStack((String)name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add("flammpfeil.slashblade:" + name);
AchievementList.registerAchievement((String)name, (ItemStack)customblade, (Achievement)null);
}
}
@@ -0,0 +1,61 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.eventhandler.SubscribeEvent
* cpw.mods.fml.common.registry.GameRegistry
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBladeNamed
* mods.flammpfeil.slashblade.SlashBlade
* mods.flammpfeil.slashblade.named.event.LoadEvent$InitEvent
* mods.flammpfeil.slashblade.stats.AchievementList
* net.minecraft.enchantment.Enchantment
* net.minecraft.item.Item
* net.minecraft.item.ItemShears
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package com.moe.allweapon.Blade;
import com.moe.allweapon.SA.SAweizhan;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ItemSlashBladeNamed;
import mods.flammpfeil.slashblade.SlashBlade;
import mods.flammpfeil.slashblade.named.event.LoadEvent;
import mods.flammpfeil.slashblade.stats.AchievementList;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.item.Item;
import net.minecraft.item.ItemShears;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class BaiYueDing
extends ItemShears {
public static ItemSlashBladeNamed bladeNamed;
String name = "flammpfeil.slashblade.named.baiyueding";
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
String name = "flammpfeil.slashblade.named.baiyueding";
ItemStack customblade = new ItemStack((Item)SlashBlade.bladeNamed, 1, 0);
NBTTagCompound tag = new NBTTagCompound();
customblade.func_77982_d(tag);
ItemSlashBlade.specialAttacks.put(1709, new SAweizhan());
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(1709));
ItemSlashBladeNamed.CurrentItemName.set(tag, name);
ItemSlashBladeNamed.CustomMaxDamage.set(tag, Integer.valueOf(120));
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBlade.TextureName.set(tag, "named/baiyueding/texture");
ItemSlashBlade.ModelName.set(tag, "named/baiyueding/model");
ItemSlashBlade.StandbyRenderType.set(tag, Integer.valueOf(2));
customblade.func_77966_a(Enchantment.field_77332_c, 6);
GameRegistry.registerCustomItemStack((String)name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add("flammpfeil.slashblade:" + name);
AchievementList.registerAchievement((String)name, (ItemStack)customblade, (Achievement)null);
}
}
@@ -0,0 +1,63 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.eventhandler.SubscribeEvent
* cpw.mods.fml.common.registry.GameRegistry
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBladeNamed
* mods.flammpfeil.slashblade.SlashBlade
* mods.flammpfeil.slashblade.named.event.LoadEvent$InitEvent
* mods.flammpfeil.slashblade.stats.AchievementList
* net.minecraft.enchantment.Enchantment
* net.minecraft.item.Item
* net.minecraft.item.ItemShears
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package com.moe.allweapon.Blade;
import com.moe.allweapon.SA.SAxingbao;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ItemSlashBladeNamed;
import mods.flammpfeil.slashblade.SlashBlade;
import mods.flammpfeil.slashblade.named.event.LoadEvent;
import mods.flammpfeil.slashblade.stats.AchievementList;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.item.Item;
import net.minecraft.item.ItemShears;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class ChanShiZhe
extends ItemShears {
public static ItemSlashBladeNamed bladeNamed;
String name = "flammpfeil.slashblade.named.chanshizhe";
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
String name = "flammpfeil.slashblade.named.chanshizhe";
ItemStack customblade = new ItemStack((Item)SlashBlade.bladeNamed, 1, 0);
NBTTagCompound tag = new NBTTagCompound();
customblade.func_77982_d(tag);
ItemSlashBlade.specialAttacks.put(1710, new SAxingbao());
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(1710));
ItemSlashBladeNamed.CurrentItemName.set(tag, name);
ItemSlashBladeNamed.CustomMaxDamage.set(tag, Integer.valueOf(120));
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBlade.TextureName.set(tag, "named/chanshizhe/texture");
ItemSlashBlade.ModelName.set(tag, "named/chanshizhe/model");
ItemSlashBlade.StandbyRenderType.set(tag, Integer.valueOf(2));
customblade.func_77966_a(Enchantment.field_77337_m, 6);
customblade.func_77966_a(Enchantment.field_77344_u, 6);
customblade.func_77966_a(Enchantment.field_77342_w, 20);
GameRegistry.registerCustomItemStack((String)name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add("flammpfeil.slashblade:" + name);
AchievementList.registerAchievement((String)name, (ItemStack)customblade, (Achievement)null);
}
}
@@ -0,0 +1,64 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.eventhandler.SubscribeEvent
* cpw.mods.fml.common.registry.GameRegistry
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBladeNamed
* mods.flammpfeil.slashblade.SlashBlade
* mods.flammpfeil.slashblade.named.event.LoadEvent$InitEvent
* mods.flammpfeil.slashblade.stats.AchievementList
* net.minecraft.enchantment.Enchantment
* net.minecraft.item.Item
* net.minecraft.item.ItemShears
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package com.moe.allweapon.Blade;
import com.moe.allweapon.SA.SAbaoku;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ItemSlashBladeNamed;
import mods.flammpfeil.slashblade.SlashBlade;
import mods.flammpfeil.slashblade.named.event.LoadEvent;
import mods.flammpfeil.slashblade.stats.AchievementList;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.item.Item;
import net.minecraft.item.ItemShears;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class FengShen
extends ItemShears {
public static ItemSlashBladeNamed bladeNamed;
String name = "flammpfeil.slashblade.named.fengshen";
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
String name = "flammpfeil.slashblade.named.fengshen";
ItemStack customblade = new ItemStack((Item)SlashBlade.bladeNamed, 1, 0);
NBTTagCompound tag = new NBTTagCompound();
customblade.func_77982_d(tag);
ItemSlashBlade.specialAttacks.put(1701, new SAbaoku());
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(1701));
ItemSlashBladeNamed.CurrentItemName.set(tag, name);
ItemSlashBladeNamed.CustomMaxDamage.set(tag, Integer.valueOf(120));
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBladeNamed.RepairCount.set(tag, Integer.valueOf(50));
ItemSlashBlade.TextureName.set(tag, "named/fengshen/texture");
ItemSlashBlade.ModelName.set(tag, "named/fengshen/model");
ItemSlashBlade.StandbyRenderType.set(tag, Integer.valueOf(2));
customblade.func_77966_a(Enchantment.field_77342_w, 20);
customblade.func_77966_a(Enchantment.field_77338_j, 20);
customblade.func_77966_a(Enchantment.field_77335_o, 20);
GameRegistry.registerCustomItemStack((String)name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add("flammpfeil.slashblade:" + name);
AchievementList.registerAchievement((String)name, (ItemStack)customblade, (Achievement)null);
}
}
@@ -0,0 +1,61 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.eventhandler.SubscribeEvent
* cpw.mods.fml.common.registry.GameRegistry
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBladeNamed
* mods.flammpfeil.slashblade.SlashBlade
* mods.flammpfeil.slashblade.named.event.LoadEvent$InitEvent
* mods.flammpfeil.slashblade.stats.AchievementList
* net.minecraft.enchantment.Enchantment
* net.minecraft.item.Item
* net.minecraft.item.ItemShears
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package com.moe.allweapon.Blade;
import com.moe.allweapon.SA.SAfengxuan;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ItemSlashBladeNamed;
import mods.flammpfeil.slashblade.SlashBlade;
import mods.flammpfeil.slashblade.named.event.LoadEvent;
import mods.flammpfeil.slashblade.stats.AchievementList;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.item.Item;
import net.minecraft.item.ItemShears;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class FengZhiYing
extends ItemShears {
public static ItemSlashBladeNamed bladeNamed;
String name = "flammpfeil.slashblade.named.fengzhiying";
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
String name = "flammpfeil.slashblade.named.fengzhiying";
ItemStack customblade = new ItemStack((Item)SlashBlade.bladeNamed, 1, 0);
NBTTagCompound tag = new NBTTagCompound();
customblade.func_77982_d(tag);
ItemSlashBlade.specialAttacks.put(1702, new SAfengxuan());
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(1702));
ItemSlashBladeNamed.CurrentItemName.set(tag, name);
ItemSlashBladeNamed.CustomMaxDamage.set(tag, Integer.valueOf(120));
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBlade.TextureName.set(tag, "named/fengzhiying/texture");
ItemSlashBlade.ModelName.set(tag, "named/fengzhiying/model");
ItemSlashBlade.StandbyRenderType.set(tag, Integer.valueOf(2));
customblade.func_77966_a(Enchantment.field_77330_e, 20);
GameRegistry.registerCustomItemStack((String)name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add("flammpfeil.slashblade:" + name);
AchievementList.registerAchievement((String)name, (ItemStack)customblade, (Achievement)null);
}
}
@@ -0,0 +1,60 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.eventhandler.SubscribeEvent
* cpw.mods.fml.common.registry.GameRegistry
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBladeNamed
* mods.flammpfeil.slashblade.SlashBlade
* mods.flammpfeil.slashblade.named.event.LoadEvent$InitEvent
* mods.flammpfeil.slashblade.stats.AchievementList
* net.minecraft.enchantment.Enchantment
* net.minecraft.item.Item
* net.minecraft.item.ItemShears
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package com.moe.allweapon.Blade;
import com.moe.allweapon.SA.SAqicai;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ItemSlashBladeNamed;
import mods.flammpfeil.slashblade.SlashBlade;
import mods.flammpfeil.slashblade.named.event.LoadEvent;
import mods.flammpfeil.slashblade.stats.AchievementList;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.item.Item;
import net.minecraft.item.ItemShears;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class GuangJian
extends ItemShears {
public static ItemSlashBladeNamed bladeNamed;
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
String name = "flammpfeil.slashblade.named.guangjian";
ItemStack customblade = new ItemStack((Item)SlashBlade.bladeNamed, 1, 0);
NBTTagCompound tag = new NBTTagCompound();
customblade.func_77982_d(tag);
ItemSlashBlade.specialAttacks.put(1708, new SAqicai());
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(1708));
ItemSlashBladeNamed.CurrentItemName.set(tag, name);
ItemSlashBladeNamed.CustomMaxDamage.set(tag, Integer.valueOf(120));
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBlade.TextureName.set(tag, "named/guangjian/texture");
ItemSlashBlade.ModelName.set(tag, "named/guangjian/model");
ItemSlashBlade.StandbyRenderType.set(tag, Integer.valueOf(2));
customblade.func_77966_a(Enchantment.field_77342_w, 20);
GameRegistry.registerCustomItemStack((String)name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add("flammpfeil.slashblade:" + name);
AchievementList.registerAchievement((String)name, (ItemStack)customblade, (Achievement)null);
}
}
@@ -0,0 +1,61 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.eventhandler.SubscribeEvent
* cpw.mods.fml.common.registry.GameRegistry
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBladeNamed
* mods.flammpfeil.slashblade.SlashBlade
* mods.flammpfeil.slashblade.named.event.LoadEvent$InitEvent
* mods.flammpfeil.slashblade.stats.AchievementList
* net.minecraft.enchantment.Enchantment
* net.minecraft.item.Item
* net.minecraft.item.ItemShears
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package com.moe.allweapon.Blade;
import com.moe.allweapon.SA.SAhuanyingdie2;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ItemSlashBladeNamed;
import mods.flammpfeil.slashblade.SlashBlade;
import mods.flammpfeil.slashblade.named.event.LoadEvent;
import mods.flammpfeil.slashblade.stats.AchievementList;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.item.Item;
import net.minecraft.item.ItemShears;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class HuaMi
extends ItemShears {
public static ItemSlashBladeNamed bladeNamed;
String name = "flammpfeil.slashblade.named.huami";
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
String name = "flammpfeil.slashblade.named.huami";
ItemStack customblade = new ItemStack((Item)SlashBlade.bladeNamed, 1, 0);
NBTTagCompound tag = new NBTTagCompound();
customblade.func_77982_d(tag);
ItemSlashBlade.specialAttacks.put(1705, new SAhuanyingdie2());
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(1705));
ItemSlashBladeNamed.CurrentItemName.set(tag, name);
ItemSlashBladeNamed.CustomMaxDamage.set(tag, Integer.valueOf(120));
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBlade.TextureName.set(tag, "named/huami/texture");
ItemSlashBlade.ModelName.set(tag, "named/huami/model");
ItemSlashBlade.StandbyRenderType.set(tag, Integer.valueOf(2));
customblade.func_77966_a(Enchantment.field_77327_f, 20);
GameRegistry.registerCustomItemStack((String)name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add("flammpfeil.slashblade:" + name);
AchievementList.registerAchievement((String)name, (ItemStack)customblade, (Achievement)null);
}
}
@@ -0,0 +1,61 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.eventhandler.SubscribeEvent
* cpw.mods.fml.common.registry.GameRegistry
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBladeNamed
* mods.flammpfeil.slashblade.SlashBlade
* mods.flammpfeil.slashblade.named.event.LoadEvent$InitEvent
* mods.flammpfeil.slashblade.stats.AchievementList
* net.minecraft.enchantment.Enchantment
* net.minecraft.item.Item
* net.minecraft.item.ItemShears
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package com.moe.allweapon.Blade;
import com.moe.allweapon.SA.SAweizhan;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ItemSlashBladeNamed;
import mods.flammpfeil.slashblade.SlashBlade;
import mods.flammpfeil.slashblade.named.event.LoadEvent;
import mods.flammpfeil.slashblade.stats.AchievementList;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.item.Item;
import net.minecraft.item.ItemShears;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class HuaTianKuangGu
extends ItemShears {
public static ItemSlashBladeNamed bladeNamed;
String name = "flammpfeil.slashblade.named.htkg";
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
String name = "flammpfeil.slashblade.named.htkg";
ItemStack customblade = new ItemStack((Item)SlashBlade.bladeNamed, 1, 0);
NBTTagCompound tag = new NBTTagCompound();
customblade.func_77982_d(tag);
ItemSlashBlade.specialAttacks.put(1709, new SAweizhan());
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(1709));
ItemSlashBladeNamed.CurrentItemName.set(tag, name);
ItemSlashBladeNamed.CustomMaxDamage.set(tag, Integer.valueOf(120));
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBlade.TextureName.set(tag, "named/htkg/texture");
ItemSlashBlade.ModelName.set(tag, "named/htkg/model");
ItemSlashBlade.StandbyRenderType.set(tag, Integer.valueOf(2));
customblade.func_77966_a(Enchantment.field_77336_l, 20);
GameRegistry.registerCustomItemStack((String)name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add("flammpfeil.slashblade:" + name);
AchievementList.registerAchievement((String)name, (ItemStack)customblade, (Achievement)null);
}
}
@@ -0,0 +1,61 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.eventhandler.SubscribeEvent
* cpw.mods.fml.common.registry.GameRegistry
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBladeNamed
* mods.flammpfeil.slashblade.SlashBlade
* mods.flammpfeil.slashblade.named.event.LoadEvent$InitEvent
* mods.flammpfeil.slashblade.stats.AchievementList
* net.minecraft.enchantment.Enchantment
* net.minecraft.item.Item
* net.minecraft.item.ItemShears
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package com.moe.allweapon.Blade;
import com.moe.allweapon.SA.SAfuzhan;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ItemSlashBladeNamed;
import mods.flammpfeil.slashblade.SlashBlade;
import mods.flammpfeil.slashblade.named.event.LoadEvent;
import mods.flammpfeil.slashblade.stats.AchievementList;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.item.Item;
import net.minecraft.item.ItemShears;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class JiYi
extends ItemShears {
public static ItemSlashBladeNamed bladeNamed;
String name = "flammpfeil.slashblade.named.jiyi";
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
String name = "flammpfeil.slashblade.named.jiyi";
ItemStack customblade = new ItemStack((Item)SlashBlade.bladeNamed, 1, 0);
NBTTagCompound tag = new NBTTagCompound();
customblade.func_77982_d(tag);
ItemSlashBlade.specialAttacks.put(1703, new SAfuzhan());
customblade.func_77966_a(Enchantment.field_77347_r, 20);
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(1703));
ItemSlashBladeNamed.CurrentItemName.set(tag, name);
ItemSlashBladeNamed.CustomMaxDamage.set(tag, Integer.valueOf(120));
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBlade.TextureName.set(tag, "named/jiyi/texture");
ItemSlashBlade.ModelName.set(tag, "named/jiyi/model");
ItemSlashBlade.StandbyRenderType.set(tag, Integer.valueOf(2));
GameRegistry.registerCustomItemStack((String)name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add("flammpfeil.slashblade:" + name);
AchievementList.registerAchievement((String)name, (ItemStack)customblade, (Achievement)null);
}
}
@@ -0,0 +1,61 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.eventhandler.SubscribeEvent
* cpw.mods.fml.common.registry.GameRegistry
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBladeNamed
* mods.flammpfeil.slashblade.SlashBlade
* mods.flammpfeil.slashblade.named.event.LoadEvent$InitEvent
* mods.flammpfeil.slashblade.stats.AchievementList
* net.minecraft.enchantment.Enchantment
* net.minecraft.item.Item
* net.minecraft.item.ItemShears
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package com.moe.allweapon.Blade;
import com.moe.allweapon.SA.SAweizhan;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ItemSlashBladeNamed;
import mods.flammpfeil.slashblade.SlashBlade;
import mods.flammpfeil.slashblade.named.event.LoadEvent;
import mods.flammpfeil.slashblade.stats.AchievementList;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.item.Item;
import net.minecraft.item.ItemShears;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class Jie
extends ItemShears {
public static ItemSlashBladeNamed bladeNamed;
String name = "flammpfeil.slashblade.named.jie";
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
String name = "flammpfeil.slashblade.named.jie";
ItemStack customblade = new ItemStack((Item)SlashBlade.bladeNamed, 1, 0);
NBTTagCompound tag = new NBTTagCompound();
customblade.func_77982_d(tag);
ItemSlashBlade.specialAttacks.put(1709, new SAweizhan());
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(1709));
ItemSlashBladeNamed.CurrentItemName.set(tag, name);
ItemSlashBladeNamed.CustomMaxDamage.set(tag, Integer.valueOf(120));
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBlade.TextureName.set(tag, "named/jie/texture");
ItemSlashBlade.ModelName.set(tag, "named/jie/model");
ItemSlashBlade.StandbyRenderType.set(tag, Integer.valueOf(2));
customblade.func_77966_a(Enchantment.field_77339_k, 20);
GameRegistry.registerCustomItemStack((String)name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add("flammpfeil.slashblade:" + name);
AchievementList.registerAchievement((String)name, (ItemStack)customblade, (Achievement)null);
}
}
@@ -0,0 +1,64 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.eventhandler.SubscribeEvent
* cpw.mods.fml.common.registry.GameRegistry
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBladeNamed
* mods.flammpfeil.slashblade.SlashBlade
* mods.flammpfeil.slashblade.named.event.LoadEvent$InitEvent
* mods.flammpfeil.slashblade.stats.AchievementList
* net.minecraft.enchantment.Enchantment
* net.minecraft.item.Item
* net.minecraft.item.ItemShears
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package com.moe.allweapon.Blade;
import com.moe.allweapon.SA.SAfuzhan;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ItemSlashBladeNamed;
import mods.flammpfeil.slashblade.SlashBlade;
import mods.flammpfeil.slashblade.named.event.LoadEvent;
import mods.flammpfeil.slashblade.stats.AchievementList;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.item.Item;
import net.minecraft.item.ItemShears;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class LiuRenRuoHuo
extends ItemShears {
public static ItemSlashBladeNamed bladeNamed;
int x = 0;
String name = "flammpfeil.slashblade.named.lrrh";
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
String name = "flammpfeil.slashblade.named.lrrh";
ItemStack customblade = new ItemStack((Item)SlashBlade.bladeNamed, 1, 0);
NBTTagCompound tag = new NBTTagCompound();
customblade.func_77982_d(tag);
ItemSlashBlade.specialAttacks.put(1703, new SAfuzhan());
customblade.func_77966_a(Enchantment.field_77329_d, 20);
customblade.func_77966_a(Enchantment.field_77334_n, 20);
customblade.func_77966_a(Enchantment.field_77343_v, 20);
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(1703));
ItemSlashBladeNamed.CurrentItemName.set(tag, name);
ItemSlashBladeNamed.CustomMaxDamage.set(tag, Integer.valueOf(100));
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBlade.TextureName.set(tag, "named/lrrh/texture");
ItemSlashBlade.ModelName.set(tag, "named/lrrh/model");
ItemSlashBlade.StandbyRenderType.set(tag, Integer.valueOf(2));
GameRegistry.registerCustomItemStack((String)name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add("flammpfeil.slashblade:" + name);
AchievementList.registerAchievement((String)name, (ItemStack)customblade, (Achievement)null);
}
}
@@ -0,0 +1,56 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.eventhandler.SubscribeEvent
* cpw.mods.fml.common.registry.GameRegistry
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBladeNamed
* mods.flammpfeil.slashblade.SlashBlade
* mods.flammpfeil.slashblade.named.event.LoadEvent$InitEvent
* mods.flammpfeil.slashblade.stats.AchievementList
* net.minecraft.item.Item
* net.minecraft.item.ItemShears
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package com.moe.allweapon.Blade;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ItemSlashBladeNamed;
import mods.flammpfeil.slashblade.SlashBlade;
import mods.flammpfeil.slashblade.named.event.LoadEvent;
import mods.flammpfeil.slashblade.stats.AchievementList;
import net.minecraft.item.Item;
import net.minecraft.item.ItemShears;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class LvLuo
extends ItemShears {
public static ItemSlashBladeNamed bladeNamed;
String name = "flammpfeil.slashblade.named.lvluo";
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
String name = "flammpfeil.slashblade.named.lvluo";
ItemStack customblade = new ItemStack((Item)SlashBlade.bladeNamed, 1, 0);
NBTTagCompound tag = new NBTTagCompound();
customblade.func_77982_d(tag);
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(1));
ItemSlashBladeNamed.CurrentItemName.set(tag, name);
ItemSlashBladeNamed.CustomMaxDamage.set(tag, Integer.valueOf(120));
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBlade.TextureName.set(tag, "named/lvluo/texture");
ItemSlashBlade.ModelName.set(tag, "named/lvluo/model");
ItemSlashBlade.StandbyRenderType.set(tag, Integer.valueOf(2));
GameRegistry.registerCustomItemStack((String)name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add("flammpfeil.slashblade:" + name);
AchievementList.registerAchievement((String)name, (ItemStack)customblade, (Achievement)null);
}
}
@@ -0,0 +1,55 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.eventhandler.SubscribeEvent
* cpw.mods.fml.common.registry.GameRegistry
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBladeNamed
* mods.flammpfeil.slashblade.SlashBlade
* mods.flammpfeil.slashblade.named.event.LoadEvent$InitEvent
* mods.flammpfeil.slashblade.stats.AchievementList
* net.minecraft.item.Item
* net.minecraft.item.ItemShears
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package com.moe.allweapon.Blade;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ItemSlashBladeNamed;
import mods.flammpfeil.slashblade.SlashBlade;
import mods.flammpfeil.slashblade.named.event.LoadEvent;
import mods.flammpfeil.slashblade.stats.AchievementList;
import net.minecraft.item.Item;
import net.minecraft.item.ItemShears;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class QingGui
extends ItemShears {
public static ItemSlashBladeNamed bladeNamed;
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
String name = "flammpfeil.slashblade.named.qinggui";
ItemStack customblade = new ItemStack((Item)SlashBlade.bladeNamed, 1, 0);
NBTTagCompound tag = new NBTTagCompound();
customblade.func_77982_d(tag);
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(1));
ItemSlashBladeNamed.CurrentItemName.set(tag, name);
ItemSlashBladeNamed.CustomMaxDamage.set(tag, Integer.valueOf(120));
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBlade.TextureName.set(tag, "named/qinggui/texture");
ItemSlashBlade.ModelName.set(tag, "named/qinggui/model");
ItemSlashBlade.StandbyRenderType.set(tag, Integer.valueOf(2));
GameRegistry.registerCustomItemStack((String)name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add("flammpfeil.slashblade:" + name);
AchievementList.registerAchievement((String)name, (ItemStack)customblade, (Achievement)null);
}
}
@@ -0,0 +1,50 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBlade$ComboSequence
* mods.flammpfeil.slashblade.specialattack.IJustSpecialAttack
* mods.flammpfeil.slashblade.specialattack.SpecialAttackBase
* net.minecraft.entity.player.EntityPlayer
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.world.World
*/
package com.moe.allweapon.Blade;
import java.util.Random;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.specialattack.IJustSpecialAttack;
import mods.flammpfeil.slashblade.specialattack.SpecialAttackBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
public class SA
extends SpecialAttackBase {
public String toString() {
return "suiji";
}
public void doSpacialAttack(ItemStack stack, EntityPlayer player) {
World world = player.field_70170_p;
NBTTagCompound tag = ItemSlashBlade.getItemTagCompound((ItemStack)stack);
if (!world.field_72995_K) {
Random random;
ItemSlashBlade blade = (ItemSlashBlade)stack.func_77973_b();
Integer[] Key = ItemSlashBlade.specialAttacks.keySet().toArray(new Integer[0]);
Integer randomKey = Key[(random = new Random()).nextInt(Key.length)];
SpecialAttackBase randomValue = (SpecialAttackBase)ItemSlashBlade.specialAttacks.get(randomKey);
SpecialAttackBase sa = randomValue;
if (sa instanceof IJustSpecialAttack) {
((IJustSpecialAttack)sa).doJustSpacialAttack(stack, player);
} else {
sa.doSpacialAttack(stack, player);
}
}
ItemSlashBlade.setComboSequence((NBTTagCompound)tag, (ItemSlashBlade.ComboSequence)ItemSlashBlade.ComboSequence.Battou);
}
}
@@ -0,0 +1,55 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.eventhandler.SubscribeEvent
* cpw.mods.fml.common.registry.GameRegistry
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBladeNamed
* mods.flammpfeil.slashblade.SlashBlade
* mods.flammpfeil.slashblade.named.event.LoadEvent$InitEvent
* mods.flammpfeil.slashblade.stats.AchievementList
* net.minecraft.item.Item
* net.minecraft.item.ItemShears
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package com.moe.allweapon.Blade;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ItemSlashBladeNamed;
import mods.flammpfeil.slashblade.SlashBlade;
import mods.flammpfeil.slashblade.named.event.LoadEvent;
import mods.flammpfeil.slashblade.stats.AchievementList;
import net.minecraft.item.Item;
import net.minecraft.item.ItemShears;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class XiaoYue
extends ItemShears {
public static ItemSlashBladeNamed bladeNamed;
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
String name = "flammpfeil.slashblade.named.xiaoyue";
ItemStack customblade = new ItemStack((Item)SlashBlade.bladeNamed, 1, 0);
NBTTagCompound tag = new NBTTagCompound();
customblade.func_77982_d(tag);
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(1));
ItemSlashBladeNamed.CurrentItemName.set(tag, name);
ItemSlashBladeNamed.CustomMaxDamage.set(tag, Integer.valueOf(120));
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBlade.TextureName.set(tag, "named/xiaoyue/texture");
ItemSlashBlade.ModelName.set(tag, "named/xiaoyue/model");
ItemSlashBlade.StandbyRenderType.set(tag, Integer.valueOf(2));
GameRegistry.registerCustomItemStack((String)name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add("flammpfeil.slashblade:" + name);
AchievementList.registerAchievement((String)name, (ItemStack)customblade, (Achievement)null);
}
}
@@ -0,0 +1,64 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.eventhandler.SubscribeEvent
* cpw.mods.fml.common.registry.GameRegistry
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBladeNamed
* mods.flammpfeil.slashblade.SlashBlade
* mods.flammpfeil.slashblade.named.event.LoadEvent$InitEvent
* mods.flammpfeil.slashblade.stats.AchievementList
* net.minecraft.enchantment.Enchantment
* net.minecraft.item.Item
* net.minecraft.item.ItemShears
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package com.moe.allweapon.Blade;
import com.moe.allweapon.SA.SAxuepo;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ItemSlashBladeNamed;
import mods.flammpfeil.slashblade.SlashBlade;
import mods.flammpfeil.slashblade.named.event.LoadEvent;
import mods.flammpfeil.slashblade.stats.AchievementList;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.item.Item;
import net.minecraft.item.ItemShears;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class XueZou
extends ItemShears {
public static ItemSlashBladeNamed bladeNamed;
String name = "flammpfeil.slashblade.named.xuezou";
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
String name = "flammpfeil.slashblade.named.xuezou";
ItemStack customblade = new ItemStack((Item)SlashBlade.bladeNamed, 1, 0);
NBTTagCompound tag = new NBTTagCompound();
customblade.func_77982_d(tag);
ItemSlashBlade.specialAttacks.put(1711, new SAxuepo());
customblade.func_77966_a(Enchantment.field_77340_h, 20);
customblade.func_77966_a(Enchantment.field_77341_i, 20);
customblade.func_77966_a(Enchantment.field_151370_z, 20);
customblade.func_77978_p().func_74778_a("NamedBlades", "flammpfeil.slashblade:" + this.name);
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(1711));
ItemSlashBladeNamed.CurrentItemName.set(tag, name);
ItemSlashBladeNamed.CustomMaxDamage.set(tag, Integer.valueOf(120));
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBlade.TextureName.set(tag, "named/xuezou/texture");
ItemSlashBlade.ModelName.set(tag, "named/xuezou/model");
ItemSlashBlade.StandbyRenderType.set(tag, Integer.valueOf(2));
GameRegistry.registerCustomItemStack((String)name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add("flammpfeil.slashblade:" + name);
AchievementList.registerAchievement((String)name, (ItemStack)customblade, (Achievement)null);
}
}
@@ -0,0 +1,57 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.eventhandler.SubscribeEvent
* cpw.mods.fml.common.registry.GameRegistry
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBladeNamed
* mods.flammpfeil.slashblade.SlashBlade
* mods.flammpfeil.slashblade.named.event.LoadEvent$InitEvent
* mods.flammpfeil.slashblade.stats.AchievementList
* net.minecraft.item.Item
* net.minecraft.item.ItemShears
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package com.moe.allweapon.Blade;
import com.moe.allweapon.Blade.SA;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ItemSlashBladeNamed;
import mods.flammpfeil.slashblade.SlashBlade;
import mods.flammpfeil.slashblade.named.event.LoadEvent;
import mods.flammpfeil.slashblade.stats.AchievementList;
import net.minecraft.item.Item;
import net.minecraft.item.ItemShears;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class YingYue
extends ItemShears {
public static ItemSlashBladeNamed bladeNamed;
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
String name = "flammpfeil.slashblade.named.yingyue";
ItemStack customblade = new ItemStack((Item)SlashBlade.bladeNamed, 1, 0);
NBTTagCompound tag = new NBTTagCompound();
customblade.func_77982_d(tag);
ItemSlashBlade.specialAttacks.put(1810, new SA());
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(1810));
ItemSlashBladeNamed.CurrentItemName.set(tag, name);
ItemSlashBladeNamed.CustomMaxDamage.set(tag, Integer.valueOf(120));
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBlade.TextureName.set(tag, "named/yingyue/texture");
ItemSlashBlade.ModelName.set(tag, "named/yingyue/model");
ItemSlashBlade.StandbyRenderType.set(tag, Integer.valueOf(2));
GameRegistry.registerCustomItemStack((String)name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add("flammpfeil.slashblade:" + name);
AchievementList.registerAchievement((String)name, (ItemStack)customblade, (Achievement)null);
}
}
@@ -0,0 +1,61 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.eventhandler.SubscribeEvent
* cpw.mods.fml.common.registry.GameRegistry
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBladeNamed
* mods.flammpfeil.slashblade.SlashBlade
* mods.flammpfeil.slashblade.named.event.LoadEvent$InitEvent
* mods.flammpfeil.slashblade.stats.AchievementList
* net.minecraft.enchantment.Enchantment
* net.minecraft.item.Item
* net.minecraft.item.ItemShears
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package com.moe.allweapon.Blade;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ItemSlashBladeNamed;
import mods.flammpfeil.slashblade.SlashBlade;
import mods.flammpfeil.slashblade.named.event.LoadEvent;
import mods.flammpfeil.slashblade.stats.AchievementList;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.item.Item;
import net.minecraft.item.ItemShears;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class YouMing
extends ItemShears {
public static ItemSlashBladeNamed bladeNamed;
String name = "flammpfeil.slashblade.named.youming";
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
String name = "flammpfeil.slashblade.named.youming";
ItemStack customblade = new ItemStack((Item)SlashBlade.bladeNamed, 1, 0);
NBTTagCompound tag = new NBTTagCompound();
customblade.func_77982_d(tag);
customblade.func_77966_a(Enchantment.field_77335_o, 5);
customblade.func_77966_a(Enchantment.field_77339_k, 20);
customblade.func_77978_p().func_74778_a("NamedBlades", "flammpfeil.slashblade:" + this.name);
ItemSlashBlade.TextureName.set(tag, "named/youming/texture");
ItemSlashBlade.ModelName.set(tag, "named/youming/model");
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(1));
ItemSlashBladeNamed.CurrentItemName.set(tag, name);
ItemSlashBladeNamed.CustomMaxDamage.set(tag, Integer.valueOf(120));
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBlade.StandbyRenderType.set(tag, Integer.valueOf(2));
GameRegistry.registerCustomItemStack((String)name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add("flammpfeil.slashblade:" + name);
AchievementList.registerAchievement((String)name, (ItemStack)customblade, (Achievement)null);
}
}
@@ -0,0 +1,57 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.eventhandler.SubscribeEvent
* cpw.mods.fml.common.registry.GameRegistry
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBladeNamed
* mods.flammpfeil.slashblade.SlashBlade
* mods.flammpfeil.slashblade.named.event.LoadEvent$InitEvent
* mods.flammpfeil.slashblade.stats.AchievementList
* net.minecraft.item.Item
* net.minecraft.item.ItemShears
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package com.moe.allweapon.Blade;
import com.moe.allweapon.SA.SAyueyatianchong;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ItemSlashBladeNamed;
import mods.flammpfeil.slashblade.SlashBlade;
import mods.flammpfeil.slashblade.named.event.LoadEvent;
import mods.flammpfeil.slashblade.stats.AchievementList;
import net.minecraft.item.Item;
import net.minecraft.item.ItemShears;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class ZhanYue
extends ItemShears {
public static ItemSlashBladeNamed bladeNamed;
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
String name = "flammpfeil.slashblade.named.zhanyue";
ItemStack customblade = new ItemStack((Item)SlashBlade.bladeNamed, 1, 0);
NBTTagCompound tag = new NBTTagCompound();
customblade.func_77982_d(tag);
ItemSlashBlade.specialAttacks.put(1712, new SAyueyatianchong());
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(1712));
ItemSlashBladeNamed.CurrentItemName.set(tag, name);
ItemSlashBladeNamed.CustomMaxDamage.set(tag, Integer.valueOf(120));
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBlade.TextureName.set(tag, "named/zhanyue/texture");
ItemSlashBlade.ModelName.set(tag, "named/zhanyue/model");
ItemSlashBlade.StandbyRenderType.set(tag, Integer.valueOf(2));
GameRegistry.registerCustomItemStack((String)name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add("flammpfeil.slashblade:" + name);
AchievementList.registerAchievement((String)name, (ItemStack)customblade, (Achievement)null);
}
}
@@ -0,0 +1,49 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.client.registry.RenderingRegistry
* cpw.mods.fml.common.event.FMLInitializationEvent
* cpw.mods.fml.common.event.FMLPostInitializationEvent
* cpw.mods.fml.common.event.FMLPreInitializationEvent
* net.minecraft.client.renderer.entity.Render
*/
package com.moe.allweapon;
import com.moe.allweapon.CommonProxy;
import com.moe.allweapon.Entityadd.EntityDriveAdd;
import com.moe.allweapon.Entityadd.EntitySlashDimensionAdd;
import com.moe.allweapon.Entityadd.EntitySummonedButterfly;
import com.moe.allweapon.Entityadd.EntitySummonedSwordAdd;
import com.moe.allweapon.render.RenderDriveAdd;
import com.moe.allweapon.render.RenderSlashDimensionAdd;
import com.moe.allweapon.render.RenderSummonedButterfly;
import com.moe.allweapon.render.RenderSummonedSwordAdd;
import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import net.minecraft.client.renderer.entity.Render;
public class ClientProxy
extends CommonProxy {
@Override
public void preInit(FMLPreInitializationEvent event) {
super.preInit(event);
}
@Override
public void init(FMLInitializationEvent event) {
super.init(event);
RenderingRegistry.registerEntityRenderingHandler(EntityDriveAdd.class, (Render)new RenderDriveAdd());
RenderingRegistry.registerEntityRenderingHandler(EntitySlashDimensionAdd.class, (Render)new RenderSlashDimensionAdd());
RenderingRegistry.registerEntityRenderingHandler(EntitySummonedSwordAdd.class, (Render)new RenderSummonedSwordAdd());
RenderingRegistry.registerEntityRenderingHandler(EntitySummonedButterfly.class, (Render)new RenderSummonedButterfly());
}
@Override
public void postInit(FMLPostInitializationEvent event) {
super.postInit(event);
}
}
@@ -0,0 +1,75 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.event.FMLInitializationEvent
* cpw.mods.fml.common.event.FMLPostInitializationEvent
* cpw.mods.fml.common.event.FMLPreInitializationEvent
* cpw.mods.fml.common.registry.EntityRegistry
* mods.flammpfeil.slashblade.SlashBlade
*/
package com.moe.allweapon;
import com.moe.allweapon.AllWeapon;
import com.moe.allweapon.Blade.BaiLan;
import com.moe.allweapon.Blade.BaiQiYue;
import com.moe.allweapon.Blade.BaiShouJianWang;
import com.moe.allweapon.Blade.BaiYueDing;
import com.moe.allweapon.Blade.ChanShiZhe;
import com.moe.allweapon.Blade.FengShen;
import com.moe.allweapon.Blade.FengZhiYing;
import com.moe.allweapon.Blade.GuangJian;
import com.moe.allweapon.Blade.HuaMi;
import com.moe.allweapon.Blade.HuaTianKuangGu;
import com.moe.allweapon.Blade.JiYi;
import com.moe.allweapon.Blade.Jie;
import com.moe.allweapon.Blade.LiuRenRuoHuo;
import com.moe.allweapon.Blade.LvLuo;
import com.moe.allweapon.Blade.QingGui;
import com.moe.allweapon.Blade.XiaoYue;
import com.moe.allweapon.Blade.XueZou;
import com.moe.allweapon.Blade.YingYue;
import com.moe.allweapon.Blade.YouMing;
import com.moe.allweapon.Blade.ZhanYue;
import com.moe.allweapon.Entityadd.EntityDriveAdd;
import com.moe.allweapon.Entityadd.EntitySlashDimensionAdd;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.registry.EntityRegistry;
import mods.flammpfeil.slashblade.SlashBlade;
public class CommonProxy {
public void preInit(FMLPreInitializationEvent event) {
SlashBlade.InitEventBus.register((Object)new LiuRenRuoHuo());
SlashBlade.InitEventBus.register((Object)new ChanShiZhe());
SlashBlade.InitEventBus.register((Object)new BaiLan());
SlashBlade.InitEventBus.register((Object)new BaiShouJianWang());
SlashBlade.InitEventBus.register((Object)new BaiQiYue());
SlashBlade.InitEventBus.register((Object)new BaiYueDing());
SlashBlade.InitEventBus.register((Object)new HuaTianKuangGu());
SlashBlade.InitEventBus.register((Object)new Jie());
SlashBlade.InitEventBus.register((Object)new JiYi());
SlashBlade.InitEventBus.register((Object)new LvLuo());
SlashBlade.InitEventBus.register((Object)new QingGui());
SlashBlade.InitEventBus.register((Object)new YouMing());
SlashBlade.InitEventBus.register((Object)new FengShen());
SlashBlade.InitEventBus.register((Object)new GuangJian());
SlashBlade.InitEventBus.register((Object)new FengZhiYing());
SlashBlade.InitEventBus.register((Object)new XueZou());
SlashBlade.InitEventBus.register((Object)new YingYue());
SlashBlade.InitEventBus.register((Object)new HuaMi());
SlashBlade.InitEventBus.register((Object)new XiaoYue());
SlashBlade.InitEventBus.register((Object)new ZhanYue());
SlashBlade.InitEventBus.register((Object)AllWeapon.instance);
EntityRegistry.registerModEntity(EntityDriveAdd.class, (String)"DriveM1", (int)1701, (Object)AllWeapon.instance, (int)250, (int)1, (boolean)true);
EntityRegistry.registerModEntity(EntitySlashDimensionAdd.class, (String)"SlashDimensionM1", (int)1702, (Object)AllWeapon.instance, (int)250, (int)200, (boolean)true);
}
public void init(FMLInitializationEvent event) {
}
public void postInit(FMLPostInitializationEvent event) {
}
}
@@ -0,0 +1,490 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.registry.IThrowableEntity
* cpw.mods.fml.relauncher.Side
* cpw.mods.fml.relauncher.SideOnly
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ability.StylishRankManager
* mods.flammpfeil.slashblade.ability.StylishRankManager$AttackTypes
* net.minecraft.block.Block
* net.minecraft.block.material.Material
* net.minecraft.entity.Entity
* net.minecraft.entity.EntityLivingBase
* net.minecraft.entity.player.EntityPlayer
* net.minecraft.entity.projectile.EntityArrow
* net.minecraft.entity.projectile.EntityFireball
* net.minecraft.entity.projectile.EntityThrowable
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.util.AxisAlignedBB
* net.minecraft.util.DamageSource
* net.minecraft.util.EntityDamageSource
* net.minecraft.util.MathHelper
* net.minecraft.world.IBlockAccess
* net.minecraft.world.World
*/
package com.moe.allweapon.Entityadd;
import cpw.mods.fml.common.registry.IThrowableEntity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Random;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ability.StylishRankManager;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.projectile.EntityArrow;
import net.minecraft.entity.projectile.EntityFireball;
import net.minecraft.entity.projectile.EntityThrowable;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.DamageSource;
import net.minecraft.util.EntityDamageSource;
import net.minecraft.util.MathHelper;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
public class EntityDriveAdd
extends Entity
implements IThrowableEntity {
protected Entity thrower;
protected ItemStack blade = null;
protected List<Entity> alreadyHitEntity = new ArrayList<Entity>();
protected float AttackLevel = 0.0f;
private int i;
private Long startTime = new Date().getTime();
public EntityDriveAdd(World par1World) {
super(par1World);
}
public EntityDriveAdd(World par1World, EntityLivingBase entityLiving, float AttackLevel, boolean multiHit, float roll) {
this(par1World, entityLiving, AttackLevel, multiHit);
this.setRoll(roll);
}
public EntityDriveAdd(World par1World, EntityLivingBase entityLiving, float AttackLevel, boolean multiHit) {
this(par1World, entityLiving, AttackLevel);
this.setIsMultiHit(multiHit);
}
public EntityDriveAdd(World par1World, EntityLivingBase entityLiving, float AttackLevel) {
this(par1World);
this.AttackLevel = AttackLevel;
this.field_70129_M = entityLiving.func_70047_e() / 2.0f;
this.thrower = entityLiving;
if (this.blade != null && !(this.blade.func_77973_b() instanceof ItemSlashBlade)) {
this.blade = null;
}
this.alreadyHitEntity.clear();
this.alreadyHitEntity.add(this.thrower);
this.alreadyHitEntity.add(this.thrower.field_70154_o);
this.alreadyHitEntity.add(this.thrower.field_70153_n);
this.field_70173_aa = 0;
this.func_70105_a(2.0f, 4.0f);
this.func_70012_b(this.thrower.field_70165_t, this.thrower.field_70163_u + (double)this.thrower.func_70047_e() / 2.0, this.thrower.field_70161_v, this.thrower.field_70177_z, this.thrower.field_70125_A);
this.setDriveVector(0.75f);
this.func_70107_b(this.field_70165_t + this.field_70159_w, this.field_70163_u + this.field_70181_x, this.field_70161_v + this.field_70179_y);
}
protected void func_70088_a() {
this.func_70096_w().func_75682_a(4, (Object)0);
this.func_70096_w().func_75682_a(5, (Object)Float.valueOf(0.0f));
this.func_70096_w().func_75682_a(10, (Object)0x3333FF);
this.func_70096_w().func_75682_a(11, (Object)Float.valueOf(1.0f));
this.func_70096_w().func_75682_a(12, (Object)Float.valueOf(0.25f));
this.func_70096_w().func_75682_a(13, (Object)Float.valueOf(1.0f));
this.func_70096_w().func_75682_a(6, (Object)20);
this.func_70096_w().func_75682_a(21, (Object)Float.valueOf(1.05f));
this.func_70096_w().func_75682_a(22, (Object)Float.valueOf(0.0f));
this.func_70096_w().func_75682_a(23, (Object)0);
this.func_70096_w().func_75682_a(24, (Object)String.valueOf(""));
this.func_70096_w().func_75682_a(25, (Object)String.valueOf(""));
this.func_70096_w().func_75682_a(7, (Object)0);
this.func_70096_w().func_75682_a(26, (Object)1);
}
public boolean getIsPlayerSound() {
return this.func_70096_w().func_75683_a(26) == 0;
}
public void setIsPlayerSound(boolean isPlaySound) {
this.func_70096_w().func_75692_b(26, (Object)((byte)(!isPlaySound ? 1 : 0)));
}
public float getInitSpeed() {
return this.func_70096_w().func_111145_d(21);
}
public void setInitSpeed(float value) {
this.func_70096_w().func_75692_b(21, (Object)Float.valueOf(value));
}
public float getNextSpeed() {
return this.func_70096_w().func_111145_d(22);
}
public void setNextSpeed(float value) {
this.func_70096_w().func_75692_b(22, (Object)Float.valueOf(value));
}
public int getChangeTime() {
return this.func_70096_w().func_75679_c(23);
}
public void setChangeTime(int value) {
this.func_70096_w().func_75692_b(23, (Object)value);
}
public String getSound() {
return this.func_70096_w().func_75681_e(24);
}
public void setSound(String value) {
this.func_70096_w().func_75692_b(24, (Object)String.valueOf(value));
}
public String getParticle() {
return this.func_70096_w().func_75681_e(25);
}
public void setParticle(String value) {
this.func_70096_w().func_75692_b(25, (Object)String.valueOf(value));
}
public float getc() {
return this.func_70096_w().func_111145_d(11);
}
public void setc(Float value) {
this.func_70096_w().func_75692_b(11, (Object)Float.valueOf(value.floatValue()));
}
public float getk() {
return this.func_70096_w().func_111145_d(12);
}
public void setk(Float value) {
this.func_70096_w().func_75692_b(12, (Object)Float.valueOf(value.floatValue()));
}
public float getg() {
return this.func_70096_w().func_111145_d(13);
}
public void setg(Float value) {
this.func_70096_w().func_75692_b(13, (Object)Float.valueOf(value.floatValue()));
}
public int getColor() {
return this.func_70096_w().func_75679_c(10);
}
public void setColor(int value) {
this.func_70096_w().func_75692_b(10, (Object)value);
}
public boolean getIsMultiHit() {
return this.func_70096_w().func_75683_a(4) == 0;
}
public void setIsMultiHit(boolean isMultiHit) {
this.func_70096_w().func_75692_b(4, (Object)((byte)(isMultiHit ? 1 : 0)));
}
public float getRoll() {
return this.func_70096_w().func_111145_d(5);
}
public void setRoll(float roll) {
this.func_70096_w().func_75692_b(5, (Object)Float.valueOf(roll));
}
public int getLifeTime() {
return this.func_70096_w().func_75679_c(6);
}
public void setLifeTime(int lifetime) {
this.func_70096_w().func_75692_b(6, (Object)lifetime);
}
public boolean getIsSlashDimension() {
return this.func_70096_w().func_75683_a(7) == 1;
}
public void setIsSlashDimension(boolean isSlashDimension) {
this.func_70096_w().func_75692_b(7, (Object)((byte)(isSlashDimension ? 1 : 0)));
}
public void setInitialSpeed(float f) {
this.func_70012_b(this.thrower.field_70165_t, this.thrower.field_70163_u + (double)this.thrower.func_70047_e() / 2.0, this.thrower.field_70161_v, this.thrower.field_70177_z, this.thrower.field_70125_A);
this.setDriveVector(f);
}
public void setDriveVector(float fYVecOfst) {
float fYawDtoR = this.field_70177_z / 180.0f * 3.141593f;
float fPitDtoR = this.field_70125_A / 180.0f * 3.141593f;
this.field_70159_w = -MathHelper.func_76126_a((float)fYawDtoR) * MathHelper.func_76134_b((float)fPitDtoR) * fYVecOfst;
this.field_70181_x = -MathHelper.func_76126_a((float)fPitDtoR) * fYVecOfst;
this.field_70179_y = MathHelper.func_76134_b((float)fYawDtoR) * MathHelper.func_76134_b((float)fPitDtoR) * fYVecOfst;
float f3 = MathHelper.func_76133_a((double)(this.field_70159_w * this.field_70159_w + this.field_70179_y * this.field_70179_y));
this.field_70126_B = this.field_70177_z = (float)(Math.atan2(this.field_70159_w, this.field_70179_y) * 180.0 / Math.PI);
this.field_70127_C = this.field_70125_A = (float)(Math.atan2(this.field_70181_x, f3) * 180.0 / Math.PI);
}
public void func_70071_h_() {
long time = new Date().getTime();
long time_2 = (time - this.startTime) / 1000L;
if (time_2 >= 3L) {
this.alreadyHitEntity.clear();
this.alreadyHitEntity = null;
this.func_70106_y();
return;
}
this.field_70142_S = this.field_70165_t;
this.field_70137_T = this.field_70163_u;
this.field_70136_U = this.field_70161_v;
if (!this.field_70170_p.field_72995_K) {
int nPosZ;
int nPosY;
int nPosX;
Block nBlock;
double dAmbit = 1.5;
AxisAlignedBB bb = AxisAlignedBB.func_72330_a((double)(this.field_70165_t - dAmbit), (double)(this.field_70163_u - dAmbit), (double)(this.field_70161_v - dAmbit), (double)(this.field_70165_t + dAmbit), (double)(this.field_70163_u + dAmbit), (double)(this.field_70161_v + dAmbit));
if (this.getThrower() instanceof EntityLivingBase) {
EntityLivingBase entityLiving = (EntityLivingBase)this.getThrower();
List list = this.field_70170_p.func_94576_a(this.getThrower(), bb, ItemSlashBlade.DestructableSelector);
StylishRankManager.setNextAttackType((Entity)this.thrower, (String)StylishRankManager.AttackTypes.DestructObject);
list.removeAll(this.alreadyHitEntity);
this.alreadyHitEntity.addAll(list);
for (Entity curEntity : (java.util.List<Entity>)(java.util.List<?>)list) {
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);
} else if (curEntity instanceof EntityArrow) {
if (((EntityArrow)curEntity).field_70250_c != null && ((EntityArrow)curEntity).field_70250_c.func_145782_y() == entityLiving.func_145782_y()) {
isDestruction = false;
}
} else if (curEntity instanceof IThrowableEntity) {
if (((IThrowableEntity)curEntity).getThrower() != null && ((IThrowableEntity)curEntity).getThrower().func_145782_y() == entityLiving.func_145782_y()) {
isDestruction = false;
}
} else if (curEntity instanceof EntityThrowable && ((EntityThrowable)curEntity).func_85052_h() != null && ((EntityThrowable)curEntity).func_85052_h().func_145782_y() == entityLiving.func_145782_y()) {
isDestruction = false;
}
if (!isDestruction) continue;
curEntity.field_70159_w = 0.0;
curEntity.field_70181_x = 0.0;
curEntity.field_70179_y = 0.0;
curEntity.func_70106_y();
for (int var1 = 0; var1 < 10; ++var1) {
Random rand = this.getRand();
double var2 = rand.nextGaussian() * 0.02;
double var4 = rand.nextGaussian() * 0.02;
double var6 = rand.nextGaussian() * 0.02;
double var8 = 10.0;
this.field_70170_p.func_72869_a("explode", curEntity.field_70165_t + (double)(rand.nextFloat() * curEntity.field_70130_N * 2.0f) - (double)curEntity.field_70130_N - var2 * var8, curEntity.field_70163_u + (double)(rand.nextFloat() * curEntity.field_70131_O) - var4 * var8, curEntity.field_70161_v + (double)(rand.nextFloat() * curEntity.field_70130_N * 2.0f) - (double)curEntity.field_70130_N - var6 * var8, var2, var4, var6);
}
StylishRankManager.doAttack((Entity)this.thrower);
}
}
if (!this.getIsMultiHit() || this.field_70173_aa % 2 == 0) {
List list = this.field_70170_p.func_94576_a(this.getThrower(), bb, ItemSlashBlade.AttackableSelector);
list.removeAll(this.alreadyHitEntity);
if (!this.getIsMultiHit()) {
this.alreadyHitEntity.addAll(list);
}
float magicDamage = Math.max(1.0f, this.AttackLevel);
if (this.getIsMultiHit()) {
StylishRankManager.setNextAttackType((Entity)this.thrower, (String)StylishRankManager.AttackTypes.QuickDrive);
} else {
StylishRankManager.setNextAttackType((Entity)this.thrower, (String)StylishRankManager.AttackTypes.Drive);
}
for (Entity curEntity : (java.util.List<Entity>)(java.util.List<?>)list) {
float health;
if (this.getIsSlashDimension() && curEntity instanceof EntityLivingBase && 0.0f < (health = ((EntityLivingBase)curEntity).func_110143_aJ())) {
health = Math.max(1.0f, health - magicDamage);
((EntityLivingBase)curEntity).func_70606_j(health);
}
curEntity.field_70172_ad = 0;
DamageSource ds = new EntityDamageSource("directMagic", this.getThrower()).func_76348_h().func_82726_p();
curEntity.func_70097_a(ds, magicDamage / 5.0f);
if (this.blade == null || !(curEntity instanceof EntityLivingBase)) continue;
((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) {
this.func_70106_y();
}
}
this.field_70159_w *= 1.049999952316284;
this.field_70181_x *= 1.049999952316284;
this.field_70179_y *= 1.049999952316284;
double m_x = this.field_70159_w;
double m_y = this.field_70181_x;
double m_z = this.field_70179_y;
this.field_70165_t += this.field_70159_w;
this.field_70163_u += this.field_70181_x;
this.field_70161_v += this.field_70179_y;
this.func_70107_b(this.field_70165_t, this.field_70163_u, this.field_70161_v);
int changeTime = this.getChangeTime();
if (changeTime != 0 && this.field_70173_aa >= changeTime) {
float nextSpeed = this.getNextSpeed();
this.playSound();
this.field_70159_w = m_x *= (double)nextSpeed;
this.field_70181_x = m_y *= (double)nextSpeed;
this.field_70179_y = m_z *= (double)nextSpeed;
this.field_70165_t += m_x;
this.field_70163_u += m_y;
this.field_70161_v += m_z;
} else {
float initSpeed = this.getInitSpeed();
if (initSpeed >= 1.05f) {
this.field_70159_w = m_x *= (double)initSpeed;
this.field_70181_x = m_y *= (double)initSpeed;
this.field_70179_y = m_z *= (double)initSpeed;
this.field_70165_t += m_x;
this.field_70163_u += m_y;
this.field_70161_v += m_z;
} else {
this.field_70165_t += this.field_70159_w * 0.1;
this.field_70163_u += this.field_70181_x * 0.1;
this.field_70161_v += this.field_70179_y * 0.1;
}
}
this.playParticle();
this.func_70107_b(this.field_70165_t, this.field_70163_u, this.field_70161_v);
if (this.field_70173_aa >= this.getLifeTime()) {
this.alreadyHitEntity.clear();
this.alreadyHitEntity = null;
this.func_70106_y();
}
}
public Random getRand() {
return this.field_70146_Z;
}
public boolean func_70038_c(double par1, double par3, double par5) {
return false;
}
public void func_70091_d(double par1, double par3, double par5) {
}
protected void func_70081_e(int par1) {
}
public boolean func_70072_I() {
return false;
}
public boolean func_70055_a(Material par1Material) {
return false;
}
public boolean func_70058_J() {
return false;
}
@SideOnly(value=Side.CLIENT)
public int func_70070_b(float par1) {
float f1 = 0.5f;
if (f1 < 0.0f) {
f1 = 0.0f;
}
if (f1 > 1.0f) {
f1 = 1.0f;
}
int i = super.func_70070_b(par1);
int j = i & 0xFF;
int k = i >> 16 & 0xFF;
if ((j += (int)(f1 * 15.0f * 16.0f)) > 240) {
j = 240;
}
return j | k << 16;
}
public float func_70013_c(float par1) {
float f1 = super.func_70013_c(par1);
float f2 = 0.9f;
f2 = f2 * f2 * f2 * f2;
return f1 * (1.0f - f2) + f2;
}
protected void func_70037_a(NBTTagCompound nbttagcompound) {
}
protected void func_70014_b(NBTTagCompound nbttagcompound) {
}
@SideOnly(value=Side.CLIENT)
public float func_70053_R() {
return 0.0f;
}
public void func_70078_a(Entity par1Entity) {
}
@SideOnly(value=Side.CLIENT)
public void func_70056_a(double par1, double par3, double par5, float par7, float par8, int par9) {
}
public void func_70063_aa() {
}
public boolean func_70027_ad() {
return false;
}
public boolean shouldRenderInPass(int pass) {
return pass == 1;
}
public void func_70110_aj() {
}
public Entity getThrower() {
return this.thrower;
}
public void setThrower(Entity entity) {
this.thrower = entity;
}
public void playParticle() {
this.i = 0;
while (this.i < 20) {
String particle = this.getParticle();
if (particle != null && !particle.equals("")) {
Random rand = new Random();
double var2 = rand.nextGaussian() * 0.12;
double var4 = rand.nextGaussian() * 0.12;
double var6 = rand.nextGaussian() * 0.12;
double var8 = 10.0;
this.field_70170_p.func_72869_a(particle, this.field_70165_t + (double)(rand.nextFloat() * this.field_70130_N * 2.0f) - (double)this.field_70130_N - var2 * var8, this.field_70163_u + (double)(rand.nextFloat() * this.field_70131_O) - var4 * var8, this.field_70161_v + (double)(rand.nextFloat() * this.field_70130_N * 2.0f) - (double)this.field_70130_N - var6 * var8, var2, var4, var6);
}
++this.i;
}
}
public void playSound() {
if (!this.getIsPlayerSound()) {
String sound = this.getSound();
if (sound != null && !sound.equals("") && this.thrower instanceof EntityPlayer) {
this.thrower.func_85030_a(sound, 1.0f, 1.5f);
}
this.setIsPlayerSound(true);
}
}
}
@@ -0,0 +1,349 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.registry.IThrowableEntity
* cpw.mods.fml.relauncher.Side
* cpw.mods.fml.relauncher.SideOnly
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ability.StylishRankManager
* mods.flammpfeil.slashblade.ability.StylishRankManager$AttackTypes
* mods.flammpfeil.slashblade.ability.TeleportCanceller
* net.minecraft.block.material.Material
* net.minecraft.enchantment.Enchantment
* net.minecraft.enchantment.EnchantmentHelper
* net.minecraft.entity.Entity
* net.minecraft.entity.EntityLivingBase
* net.minecraft.entity.projectile.EntityArrow
* net.minecraft.entity.projectile.EntityFireball
* net.minecraft.entity.projectile.EntityThrowable
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.util.AxisAlignedBB
* net.minecraft.util.DamageSource
* net.minecraft.util.EntityDamageSource
* net.minecraft.util.Vec3
* net.minecraft.world.World
*/
package com.moe.allweapon.Entityadd;
import cpw.mods.fml.common.registry.IThrowableEntity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ability.StylishRankManager;
import mods.flammpfeil.slashblade.ability.TeleportCanceller;
import net.minecraft.block.material.Material;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.projectile.EntityArrow;
import net.minecraft.entity.projectile.EntityFireball;
import net.minecraft.entity.projectile.EntityThrowable;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.DamageSource;
import net.minecraft.util.EntityDamageSource;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
public class EntitySlashDimensionAdd
extends Entity
implements IThrowableEntity {
protected Entity thrower;
protected ItemStack blade = null;
protected List<Entity> alreadyHitEntity = new ArrayList<Entity>();
protected float AttackLevel = 0.0f;
private static final int LIFETIME = 3;
private static final int SINGLE_HIT = 4;
private static final int IS_SLASH_DIMENSION = 5;
private static final int THROWER_ENTITY_ID = 6;
private static final int INTERVAL = 7;
private static final int COLOR = 8;
public EntitySlashDimensionAdd(World par1World) {
super(par1World);
this.field_70173_aa = 0;
this.getEntityData().func_74768_a("seed", this.field_70146_Z.nextInt(50));
}
public EntitySlashDimensionAdd(World par1World, EntityLivingBase entityLiving, float AttackLevel, boolean multiHit) {
this(par1World, entityLiving, AttackLevel);
this.setIsSingleHit(multiHit);
}
public EntitySlashDimensionAdd(World par1World, EntityLivingBase entityLiving, float AttackLevel) {
this(par1World);
this.AttackLevel = AttackLevel;
this.thrower = entityLiving;
this.blade = entityLiving.func_70694_bm();
if (this.blade != null && !(this.blade.func_77973_b() instanceof ItemSlashBlade)) {
this.blade = null;
}
this.alreadyHitEntity.clear();
this.alreadyHitEntity.add(this.thrower);
this.alreadyHitEntity.add(this.thrower.field_70154_o);
this.alreadyHitEntity.add(this.thrower.field_70153_n);
this.field_70173_aa = 0;
this.func_70105_a(4.0f, 4.0f);
}
protected void func_70088_a() {
this.func_70096_w().func_75682_a(3, (Object)20);
this.func_70096_w().func_75682_a(4, (Object)0);
this.func_70096_w().func_75682_a(5, (Object)0);
this.func_70096_w().func_75682_a(6, (Object)0);
this.func_70096_w().func_75682_a(7, (Object)7);
this.func_70096_w().func_75682_a(24, (Object)String.valueOf("model/util/SAhuixuanqiu/texture.png"));
this.func_70096_w().func_75682_a(25, (Object)String.valueOf("model/util/SAhuixuanqiu/model.obj"));
this.func_70096_w().func_75682_a(8, (Object)0x3333FF);
}
public String getTexture() {
return this.func_70096_w().func_75681_e(24);
}
public void setTexture(String value) {
this.func_70096_w().func_75692_b(24, (Object)String.valueOf(value));
}
public String getModel() {
return this.func_70096_w().func_75681_e(25);
}
public void setModel(String value) {
this.func_70096_w().func_75692_b(25, (Object)String.valueOf(value));
}
public boolean getIsSingleHit() {
return this.func_70096_w().func_75683_a(4) != 0;
}
public void setIsSingleHit(boolean isSingleHit) {
this.func_70096_w().func_75692_b(4, (Object)((byte)(isSingleHit ? 1 : 0)));
}
public int getLifeTime() {
return this.func_70096_w().func_75679_c(3);
}
public void setLifeTime(int lifetime) {
this.func_70096_w().func_75692_b(3, (Object)lifetime);
}
public boolean getIsSlashDimension() {
return this.func_70096_w().func_75683_a(5) != 0;
}
public void setIsSlashDimension(boolean isSlashDimension) {
this.func_70096_w().func_75692_b(5, (Object)((byte)(isSlashDimension ? 1 : 0)));
}
public int getInterval() {
return this.func_70096_w().func_75679_c(7);
}
public void setInterval(int value) {
this.func_70096_w().func_75692_b(7, (Object)value);
}
public int getColor() {
return this.func_70096_w().func_75679_c(8);
}
public void setColor(int value) {
this.func_70096_w().func_75692_b(8, (Object)value);
}
public int getThrowerEntityId() {
return this.func_70096_w().func_75679_c(6);
}
public void setThrowerEntityId(int entityid) {
this.func_70096_w().func_75692_b(6, (Object)entityid);
}
public void func_70071_h_() {
super.func_70071_h_();
this.field_70142_S = this.field_70165_t;
this.field_70137_T = this.field_70163_u;
this.field_70136_U = this.field_70161_v;
if (!this.field_70170_p.field_72995_K) {
if (this.field_70173_aa < 8 && this.field_70173_aa % 2 == 0) {
this.func_85030_a("allweapon:yanfuzhan", 0.2f, 0.5f + 0.25f * this.field_70146_Z.nextFloat());
}
AxisAlignedBB bb = this.field_70121_D;
if (this.getThrower() instanceof EntityLivingBase) {
EntityLivingBase entityLiving = (EntityLivingBase)this.getThrower();
List list = this.field_70170_p.func_94576_a(this.getThrower(), bb, ItemSlashBlade.DestructableSelector);
StylishRankManager.setNextAttackType((Entity)this.thrower, (String)StylishRankManager.AttackTypes.DestructObject);
list.removeAll(this.alreadyHitEntity);
this.alreadyHitEntity.addAll(list);
for (Entity curEntity : (java.util.List<Entity>)(java.util.List<?>)list) {
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);
} else if (curEntity instanceof EntityArrow) {
if (((EntityArrow)curEntity).field_70250_c != null && ((EntityArrow)curEntity).field_70250_c.func_145782_y() == entityLiving.func_145782_y()) {
isDestruction = false;
}
} else if (curEntity instanceof IThrowableEntity) {
if (((IThrowableEntity)curEntity).getThrower() != null && ((IThrowableEntity)curEntity).getThrower().func_145782_y() == entityLiving.func_145782_y()) {
isDestruction = false;
}
} else if (curEntity instanceof EntityThrowable && ((EntityThrowable)curEntity).func_85052_h() != null && ((EntityThrowable)curEntity).func_85052_h().func_145782_y() == entityLiving.func_145782_y()) {
isDestruction = false;
}
if (!isDestruction) continue;
curEntity.field_70159_w = 0.0;
curEntity.field_70181_x = 0.0;
curEntity.field_70179_y = 0.0;
curEntity.func_70106_y();
for (int var1 = 0; var1 < 10; ++var1) {
Random rand = this.getRand();
double var2 = rand.nextGaussian() * 0.02;
double var4 = rand.nextGaussian() * 0.02;
double var6 = rand.nextGaussian() * 0.02;
double var8 = 10.0;
this.field_70170_p.func_72869_a("explode", curEntity.field_70165_t + (double)(rand.nextFloat() * curEntity.field_70130_N * 2.0f) - (double)curEntity.field_70130_N - var2 * var8, curEntity.field_70163_u + (double)(rand.nextFloat() * curEntity.field_70131_O) - var4 * var8, curEntity.field_70161_v + (double)(rand.nextFloat() * curEntity.field_70130_N * 2.0f) - (double)curEntity.field_70130_N - var6 * var8, var2, var4, var6);
}
StylishRankManager.doAttack((Entity)this.thrower);
}
}
if (this.getIsSingleHit() || this.field_70173_aa % 2 == 0) {
List list = this.field_70170_p.func_94576_a(this.getThrower(), bb, ItemSlashBlade.AttackableSelector);
list.removeAll(this.alreadyHitEntity);
if (this.getIsSingleHit()) {
this.alreadyHitEntity.addAll(list);
}
float magicDamage = Math.max(1.0f, this.AttackLevel);
StylishRankManager.setNextAttackType((Entity)this.thrower, (String)StylishRankManager.AttackTypes.SlashDimMagic);
for (Entity curEntity : (java.util.List<Entity>)(java.util.List<?>)list) {
float health;
if (this.getIsSlashDimension() && curEntity instanceof EntityLivingBase && 0.0f < (health = ((EntityLivingBase)curEntity).func_110143_aJ())) {
health = Math.max(1.0f, health - magicDamage);
((EntityLivingBase)curEntity).func_70606_j(health);
}
Vec3 pos = Vec3.func_72443_a((double)curEntity.field_70165_t, (double)curEntity.field_70163_u, (double)curEntity.field_70161_v);
TeleportCanceller.setCancel((Entity)curEntity);
curEntity.field_70172_ad = 0;
DamageSource ds = new EntityDamageSource("directMagic", this.getThrower()).func_76348_h().func_82726_p().func_76349_b();
if (this.blade != null && curEntity instanceof EntityLivingBase) {
((ItemSlashBlade)this.blade.func_77973_b()).func_77644_a(this.blade, (EntityLivingBase)curEntity, (EntityLivingBase)this.thrower);
}
curEntity.field_70159_w = 0.0;
curEntity.field_70181_x = 0.0;
curEntity.field_70179_y = 0.0;
if (3 >= this.field_70173_aa || this.blade == null || !(curEntity instanceof EntityLivingBase)) continue;
if (this.getIsSlashDimension()) {
curEntity.func_70024_g(0.0, 0.5, 0.0);
continue;
}
int level = EnchantmentHelper.func_77506_a((int)Enchantment.field_77344_u.field_77352_x, (ItemStack)this.blade);
if (level > 0) {
curEntity.func_70024_g(Math.sin(this.getThrower().field_70177_z * 3.141593f / 180.0f) * (double)level * 0.5, 0.2, -Math.cos(this.getThrower().field_70177_z * 3.141593f / 180.0f) * (double)level * 0.5);
continue;
}
curEntity.func_70024_g(-Math.sin(this.getThrower().field_70177_z * 3.141593f / 180.0f) * 0.5, 0.2, Math.cos(this.getThrower().field_70177_z * 3.141593f / 180.0f) * 0.5);
}
}
}
if (this.field_70173_aa >= this.getLifeTime()) {
this.alreadyHitEntity.clear();
this.alreadyHitEntity = null;
this.func_70106_y();
}
}
public Random getRand() {
return this.field_70146_Z;
}
public boolean func_70038_c(double par1, double par3, double par5) {
return false;
}
public void func_70091_d(double par1, double par3, double par5) {
}
protected void func_70081_e(int par1) {
}
public boolean func_70072_I() {
return false;
}
public boolean func_70055_a(Material par1Material) {
return false;
}
@SideOnly(value=Side.CLIENT)
public int func_70070_b(float par1) {
float f1 = 0.5f;
if (f1 < 0.0f) {
f1 = 0.0f;
}
if (f1 > 1.0f) {
f1 = 1.0f;
}
int i = super.func_70070_b(par1);
int j = i & 0xFF;
int k = i >> 16 & 0xFF;
if ((j += (int)(f1 * 15.0f * 16.0f)) > 240) {
j = 240;
}
return j | k << 16;
}
public float func_70013_c(float par1) {
float f1 = super.func_70013_c(par1);
float f2 = 0.9f;
f2 = f2 * f2 * f2 * f2;
return f1 * (1.0f - f2) + f2;
}
protected void func_70037_a(NBTTagCompound nbttagcompound) {
}
protected void func_70014_b(NBTTagCompound nbttagcompound) {
}
@SideOnly(value=Side.CLIENT)
public void func_70056_a(double par1, double par3, double par5, float par7, float par8, int par9) {
}
public void func_70063_aa() {
}
public boolean func_70027_ad() {
return false;
}
public boolean shouldRenderInPass(int pass) {
return pass == 1;
}
public void func_70110_aj() {
}
public Entity getThrower() {
int id;
if (this.thrower == null && (id = this.getThrowerEntityId()) != 0) {
this.thrower = this.field_70170_p.func_73045_a(id);
}
return this.thrower;
}
public void setThrower(Entity entity) {
if (entity != null) {
this.setThrowerEntityId(entity.func_145782_y());
}
this.thrower = entity;
}
}
@@ -0,0 +1,727 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.registry.IThrowableEntity
* cpw.mods.fml.relauncher.Side
* cpw.mods.fml.relauncher.SideOnly
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ability.StylishRankManager
* mods.flammpfeil.slashblade.ability.StylishRankManager$AttackTypes
* net.minecraft.block.Block
* net.minecraft.block.material.Material
* net.minecraft.command.IEntitySelector
* net.minecraft.entity.Entity
* net.minecraft.entity.EntityLivingBase
* net.minecraft.entity.IProjectile
* net.minecraft.entity.player.EntityPlayer
* net.minecraft.entity.projectile.EntityArrow
* net.minecraft.entity.projectile.EntityFireball
* net.minecraft.entity.projectile.EntityThrowable
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.util.AxisAlignedBB
* net.minecraft.util.DamageSource
* net.minecraft.util.EntityDamageSource
* net.minecraft.util.MathHelper
* net.minecraft.util.MovingObjectPosition
* net.minecraft.util.Vec3
* net.minecraft.world.World
*/
package com.moe.allweapon.Entityadd;
import com.moe.allweapon.Entityadd.EntitySummonedSwordAdd;
import cpw.mods.fml.common.registry.IThrowableEntity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ability.StylishRankManager;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.command.IEntitySelector;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.IProjectile;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.projectile.EntityArrow;
import net.minecraft.entity.projectile.EntityFireball;
import net.minecraft.entity.projectile.EntityThrowable;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.DamageSource;
import net.minecraft.util.EntityDamageSource;
import net.minecraft.util.MathHelper;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
public class EntitySummonedButterfly
extends Entity
implements IProjectile,
IThrowableEntity {
protected Entity thrower;
protected ItemStack blade = null;
protected List<Entity> alreadyHitEntity = new ArrayList<Entity>();
protected float AttackLevel = 0.0f;
static final int THROWER_ENTITY_ID = 11;
float speed = 0.0f;
float iniYaw = Float.NaN;
float iniPitch = Float.NaN;
double hitX;
double hitY;
double hitZ;
float hitYaw;
float hitPitch;
private Block block;
public Entity ridingEntity2 = null;
public EntitySummonedButterfly(World par1World) {
super(par1World);
this.field_70145_X = true;
}
public EntitySummonedButterfly(World par1World, EntityLivingBase entityLiving, float AttackLevel, float roll) {
this(par1World, entityLiving, AttackLevel);
this.setRoll(roll);
}
public EntitySummonedButterfly(World par1World, EntityLivingBase entityLiving, float AttackLevel) {
this(par1World);
this.AttackLevel = AttackLevel;
this.field_70129_M = entityLiving.func_70047_e() / 2.0f;
this.setThrower((Entity)entityLiving);
this.blade = entityLiving.func_70694_bm();
if (this.blade != null && !(this.blade.func_77973_b() instanceof ItemSlashBlade)) {
this.blade = null;
}
this.alreadyHitEntity.clear();
this.alreadyHitEntity.add(this.thrower);
this.alreadyHitEntity.add(this.thrower.field_70154_o);
this.alreadyHitEntity.add(this.thrower.field_70153_n);
this.field_70173_aa = 0;
this.func_70105_a(0.5f, 0.5f);
float dist = 2.0f;
double ran = ((double)this.field_70146_Z.nextFloat() - 0.5) * 2.0;
double yaw = Math.toRadians(-this.thrower.field_70177_z + 90.0f);
double x = ran * Math.sin(yaw);
double y = 1.0 - Math.abs(ran);
double z = ran * Math.cos(yaw);
this.func_70012_b(this.thrower.field_70165_t + (x *= (double)dist), this.thrower.field_70163_u + (y *= (double)dist), this.thrower.field_70161_v + (z *= (double)dist), this.thrower.field_70177_z, this.thrower.field_70125_A);
this.iniYaw = this.thrower.field_70177_z;
this.iniPitch = this.thrower.field_70125_A;
this.setDriveVector(1.75f);
}
protected void func_70088_a() {
this.func_70096_w().func_75682_a(11, (Object)0);
this.func_70096_w().func_75682_a(4, (Object)0);
this.func_70096_w().func_75682_a(5, (Object)Float.valueOf(0.0f));
this.func_70096_w().func_75682_a(6, (Object)20);
this.func_70096_w().func_75682_a(7, (Object)7);
this.func_70096_w().func_75682_a(10, (Object)0x3333FF);
}
public int getThrowerEntityId() {
return this.func_70096_w().func_75679_c(11);
}
public void setThrowerEntityId(int entityid) {
this.func_70096_w().func_75692_b(11, (Object)entityid);
}
public int getTargetEntityId() {
return this.func_70096_w().func_75679_c(4);
}
public void setTargetEntityId(int entityid) {
this.func_70096_w().func_75692_b(4, (Object)entityid);
}
public float getRoll() {
return this.func_70096_w().func_111145_d(5);
}
public void setRoll(float roll) {
this.func_70096_w().func_75692_b(5, (Object)Float.valueOf(roll));
}
public int getLifeTime() {
return this.func_70096_w().func_75679_c(6);
}
public void setLifeTime(int lifetime) {
this.func_70096_w().func_75692_b(6, (Object)lifetime);
}
public int getInterval() {
return this.func_70096_w().func_75679_c(7);
}
public void setInterval(int value) {
this.func_70096_w().func_75692_b(7, (Object)value);
}
public int getColor() {
return this.func_70096_w().func_75679_c(10);
}
public void setColor(int value) {
this.func_70096_w().func_75692_b(10, (Object)value);
}
public boolean doTargeting() {
Entity target;
Entity rayEntity;
if (this.field_70173_aa > this.getInterval()) {
return false;
}
int targetid = this.getTargetEntityId();
Entity owner = this.thrower;
if (this.thrower == null) {
owner = this;
}
if (targetid == 0 && (rayEntity = this.getRayTrace(owner, 30.0)) != null) {
targetid = rayEntity.func_145782_y();
this.setTargetEntityId(rayEntity.func_145782_y());
}
if (targetid == 0 && (rayEntity = this.getRayTrace(owner, 30.0, 5.0f, 5.0f)) != null) {
targetid = rayEntity.func_145782_y();
this.setTargetEntityId(rayEntity.func_145782_y());
}
if (targetid != 0 && (target = this.field_70170_p.func_73045_a(targetid)) != null) {
if (Float.isNaN(this.iniPitch) && this.thrower != null) {
this.iniYaw = this.thrower.field_70177_z;
this.iniPitch = this.thrower.field_70125_A;
}
this.faceEntity(this, target, (float)this.field_70173_aa * 1.0f, (float)this.field_70173_aa * 1.0f);
this.setDriveVector(1.75f, false);
}
return true;
}
public Entity getRayTrace(Entity owner, double reachMax) {
return this.getRayTrace(owner, reachMax, 1.0f, 0.0f);
}
public Entity getRayTrace(Entity owner, double reachMax, float expandFactor, float expandBorder) {
float par1 = 1.0f;
MovingObjectPosition objectMouseOver = EntitySummonedButterfly.rayTrace(owner, reachMax, par1);
double reachMin = reachMax;
Vec3 entityPos = EntitySummonedButterfly.getPosition(owner);
if (objectMouseOver != null) {
reachMin = objectMouseOver.field_72307_f.func_72438_d(entityPos);
}
Vec3 lookVec = EntitySummonedButterfly.getLook(owner, par1);
Vec3 reachVec = entityPos.func_72441_c(lookVec.field_72450_a * reachMax, lookVec.field_72448_b * reachMax, lookVec.field_72449_c * reachMax);
Entity pointedEntity = null;
List list = this.field_70170_p.func_72839_b((Entity)this, this.field_70121_D.func_72321_a(lookVec.field_72450_a * reachMax, lookVec.field_72448_b * reachMax, lookVec.field_72449_c * reachMax).func_72314_b((double)expandFactor, (double)expandFactor, (double)expandFactor));
list.removeAll(this.alreadyHitEntity);
double tmpDistance = reachMin;
EntityLivingBase viewer = owner instanceof EntityLivingBase ? (EntityLivingBase)owner : null;
for (Entity entity : (java.util.List<Entity>)(java.util.List<?>)list) {
double d3;
if (entity == null || !entity.func_70067_L() || !ItemSlashBlade.AttackableSelector.func_82704_a(entity) || viewer != null && !viewer.func_70685_l(entity)) continue;
float borderSize = entity.func_70111_Y() + expandBorder;
AxisAlignedBB axisalignedbb = entity.field_70121_D.func_72314_b((double)borderSize, (double)borderSize, (double)borderSize);
MovingObjectPosition movingobjectposition = axisalignedbb.func_72327_a(entityPos, reachVec);
if (axisalignedbb.func_72318_a(entityPos)) {
if (!(0.0 < tmpDistance) && tmpDistance != 0.0) continue;
pointedEntity = entity;
tmpDistance = 0.0;
continue;
}
if (movingobjectposition == null || !((d3 = entityPos.func_72438_d(movingobjectposition.field_72307_f)) < tmpDistance) && tmpDistance != 0.0) continue;
if (entity == this.field_70154_o && !entity.canRiderInteract()) {
if (tmpDistance != 0.0) continue;
pointedEntity = entity;
continue;
}
pointedEntity = entity;
tmpDistance = d3;
}
return pointedEntity;
}
public static MovingObjectPosition rayTrace(Entity owner, double par1, float par3) {
Vec3 vec3 = EntitySummonedButterfly.getPosition(owner);
Vec3 vec31 = EntitySummonedButterfly.getLook(owner, par3);
Vec3 vec32 = vec3.func_72441_c(vec31.field_72450_a * par1, vec31.field_72448_b * par1, vec31.field_72449_c * par1);
return owner.field_70170_p.func_147447_a(vec3, vec32, false, false, true);
}
public static Vec3 getPosition(Entity owner) {
return Vec3.func_72443_a((double)owner.field_70165_t, (double)(owner.field_70163_u + (double)owner.func_70047_e()), (double)owner.field_70161_v);
}
public static Vec3 getLook(Entity owner, float rotMax) {
if (rotMax == 1.0f) {
float f1 = MathHelper.func_76134_b((float)(-owner.field_70177_z * 0.01745329f - 3.141593f));
float f2 = MathHelper.func_76126_a((float)(-owner.field_70177_z * 0.01745329f - 3.141593f));
float f3 = -MathHelper.func_76134_b((float)(-owner.field_70125_A * 0.01745329f));
float f4 = MathHelper.func_76126_a((float)(-owner.field_70125_A * 0.01745329f));
return Vec3.func_72443_a((double)(f2 * f3), (double)f4, (double)(f1 * f3));
}
float f1 = owner.field_70127_C + (owner.field_70125_A - owner.field_70127_C) * rotMax;
float f2 = owner.field_70126_B + (owner.field_70177_z - owner.field_70126_B) * rotMax;
float f3 = MathHelper.func_76134_b((float)(-f2 * 0.01745329f - 3.141593f));
float f4 = MathHelper.func_76126_a((float)(-f2 * 0.01745329f - 3.141593f));
float f5 = -MathHelper.func_76134_b((float)(-f1 * 0.01745329f));
float f6 = MathHelper.func_76126_a((float)(-f1 * 0.01745329f));
return Vec3.func_72443_a((double)(f4 * f5), (double)f6, (double)(f3 * f5));
}
public void faceEntity(Entity viewer, Entity target, float yawStep, float pitchStep) {
double d2;
double d0 = target.field_70165_t - viewer.field_70165_t;
double d1 = target.field_70161_v - viewer.field_70161_v;
if (target instanceof EntityLivingBase) {
EntityLivingBase entitylivingbase = (EntityLivingBase)target;
d2 = entitylivingbase.field_70163_u + (double)entitylivingbase.func_70047_e() - (viewer.field_70163_u + (double)viewer.func_70047_e());
} else {
d2 = (target.field_70121_D.field_72338_b + target.field_70121_D.field_72337_e) / 2.0 - (viewer.field_70163_u + (double)viewer.func_70047_e());
}
double d3 = MathHelper.func_76133_a((double)(d0 * d0 + d1 * d1));
float f2 = (float)(Math.atan2(d1, d0) * 180.0 / Math.PI) - 90.0f;
float f3 = (float)(-(Math.atan2(d2, d3) * 180.0 / Math.PI));
this.iniPitch = this.updateRotation(this.iniPitch, f3, pitchStep);
this.iniYaw = this.updateRotation(this.iniYaw, f2, yawStep);
}
private float updateRotation(float par1, float par2, float par3) {
float f3 = MathHelper.func_76142_g((float)(par2 - par1));
if (f3 > par3) {
f3 = par3;
}
if (f3 < -par3) {
f3 = -par3;
}
return par1 + f3;
}
public void setDriveVector(float fYVecOfset) {
this.setDriveVector(fYVecOfset, true);
}
public void setDriveVector(float fYVecOfst, boolean init) {
float fYawDtoR = this.iniYaw / 180.0f * 3.141593f;
float fPitDtoR = this.iniPitch / 180.0f * 3.141593f;
this.field_70159_w = -MathHelper.func_76126_a((float)fYawDtoR) * MathHelper.func_76134_b((float)fPitDtoR) * fYVecOfst;
this.field_70181_x = -MathHelper.func_76126_a((float)fPitDtoR) * fYVecOfst;
this.field_70179_y = MathHelper.func_76134_b((float)fYawDtoR) * MathHelper.func_76134_b((float)fPitDtoR) * fYVecOfst;
float f3 = MathHelper.func_76133_a((double)(this.field_70159_w * this.field_70159_w + this.field_70179_y * this.field_70179_y));
this.field_70177_z = (float)(Math.atan2(this.field_70159_w, this.field_70179_y) * 180.0 / Math.PI);
this.field_70125_A = (float)(Math.atan2(this.field_70181_x, f3) * 180.0 / Math.PI);
if (init) {
this.speed = fYVecOfst;
this.field_70126_B = this.field_70177_z;
this.field_70127_C = this.field_70125_A;
}
}
public void func_70098_U() {
Entity ridingEntity = this.ridingEntity2;
if (ridingEntity.field_70128_L) {
this.func_70106_y();
return;
}
this.field_70142_S = this.field_70165_t;
this.field_70137_T = this.field_70163_u;
this.field_70136_U = this.field_70161_v;
this.field_70165_t = ridingEntity.field_70165_t + (this.hitX * Math.cos(Math.toRadians(ridingEntity.field_70177_z)) - this.hitZ * Math.sin(Math.toRadians(ridingEntity.field_70177_z)));
this.field_70163_u = ridingEntity.field_70163_u + this.hitY;
this.field_70161_v = ridingEntity.field_70161_v + (this.hitX * Math.sin(Math.toRadians(ridingEntity.field_70177_z)) + this.hitZ * Math.cos(Math.toRadians(ridingEntity.field_70177_z)));
this.field_70127_C = this.field_70125_A;
this.field_70126_B = this.field_70177_z;
this.field_70125_A = ridingEntity.field_70125_A + this.hitPitch;
this.field_70177_z = ridingEntity.field_70177_z + this.hitYaw;
this.func_70107_b(this.field_70165_t, this.field_70163_u, this.field_70161_v);
this.func_70101_b(this.field_70177_z, this.field_70125_A);
if (this.field_70173_aa >= 200) {
if (!ridingEntity.field_70128_L && !this.field_70170_p.field_72995_K) {
float magicDamage = 0.0f;
ridingEntity.field_70172_ad = 0;
DamageSource ds = new EntityDamageSource("directMagic", this.getThrower()).func_76348_h().func_82726_p();
ridingEntity.func_70097_a(ds, magicDamage);
if (this.blade != null && ridingEntity instanceof EntityLivingBase) {
if (this.thrower != null) {
StylishRankManager.setNextAttackType((Entity)this.thrower, (String)StylishRankManager.AttackTypes.BreakPhantomSword);
((ItemSlashBlade)this.blade.func_77973_b()).func_77644_a(this.blade, (EntityLivingBase)ridingEntity, (EntityLivingBase)this.thrower);
}
ridingEntity.field_70159_w = 0.0;
ridingEntity.field_70181_x = 0.0;
ridingEntity.field_70179_y = 0.0;
ridingEntity.func_70024_g(0.0, 0.1, 0.0);
((EntityLivingBase)ridingEntity).field_70737_aN = 1;
}
}
this.func_70106_y();
}
}
protected void initRotation() {
if (this.field_70127_C == 0.0f && this.field_70126_B == 0.0f) {
float f = MathHelper.func_76133_a((double)(this.field_70159_w * this.field_70159_w + this.field_70179_y * this.field_70179_y));
this.field_70126_B = this.field_70177_z = (float)(Math.atan2(this.field_70159_w, this.field_70179_y) * 180.0 / Math.PI);
this.field_70127_C = this.field_70125_A = (float)(Math.atan2(this.field_70181_x, f) * 180.0 / Math.PI);
}
}
protected MovingObjectPosition getMovingObjectPosition() {
IEntitySelector[] selectors;
Vec3 vec3 = Vec3.func_72443_a((double)this.field_70165_t, (double)this.field_70163_u, (double)this.field_70161_v);
Vec3 vec31 = Vec3.func_72443_a((double)(this.field_70165_t + this.field_70159_w), (double)(this.field_70163_u + this.field_70181_x), (double)(this.field_70161_v + this.field_70179_y));
MovingObjectPosition movingobjectposition = this.field_70170_p.func_72933_a(vec3, vec31);
vec3 = Vec3.func_72443_a((double)this.field_70165_t, (double)this.field_70163_u, (double)this.field_70161_v);
vec31 = Vec3.func_72443_a((double)(this.field_70165_t + this.field_70159_w), (double)(this.field_70163_u + this.field_70181_x), (double)(this.field_70161_v + this.field_70179_y));
if (movingobjectposition != null) {
int x = MathHelper.func_76128_c((double)movingobjectposition.field_72307_f.field_72450_a);
int y = MathHelper.func_76128_c((double)movingobjectposition.field_72307_f.field_72448_b);
int z = MathHelper.func_76128_c((double)movingobjectposition.field_72307_f.field_72449_c);
int offset = -1;
this.block = this.field_70170_p.func_147439_a(x, y + offset, z);
if (this.block != null) {
if (this.block.func_149668_a(this.field_70170_p, x, y + offset, z) == null) {
movingobjectposition = null;
} else {
vec31 = Vec3.func_72443_a((double)movingobjectposition.field_72307_f.field_72450_a, (double)movingobjectposition.field_72307_f.field_72448_b, (double)movingobjectposition.field_72307_f.field_72449_c);
}
}
}
Entity entity = null;
AxisAlignedBB bb = this.field_70121_D.func_72321_a(this.field_70159_w, this.field_70181_x, this.field_70179_y).func_72314_b(1.0, 1.0, 1.0);
IEntitySelector[] arrayOfIEntitySelector1 = selectors = new IEntitySelector[]{ItemSlashBlade.DestructableSelector, ItemSlashBlade.AttackableSelector};
int localBlock1 = selectors.length;
for (int block = 0; block < localBlock1; ++block) {
Entity target;
IEntitySelector selector = arrayOfIEntitySelector1[block];
List list = this.field_70170_p.func_94576_a((Entity)this, bb, selector);
list.removeAll(this.alreadyHitEntity);
if (selector.equals(ItemSlashBlade.AttackableSelector) && this.getTargetEntityId() != 0 && (target = this.field_70170_p.func_73045_a(this.getTargetEntityId())) != null && target.field_70121_D.func_72326_a(bb)) {
list.add(target);
}
double d0 = 0.0;
for (int i = 0; i < list.size(); ++i) {
double d1;
float f1;
AxisAlignedBB axisalignedbb1;
MovingObjectPosition movingobjectposition1;
Entity entity1 = (Entity)list.get(i);
if (entity1 instanceof EntitySummonedSwordAdd && ((EntitySummonedSwordAdd)entity1).getThrower() == this.getThrower() || !entity1.func_70067_L() || (movingobjectposition1 = (axisalignedbb1 = entity1.field_70121_D.func_72314_b((double)(f1 = 0.3f), (double)f1, (double)f1)).func_72327_a(vec31, vec3)) == null || !((d1 = vec31.func_72438_d(movingobjectposition1.field_72307_f)) < d0) && d0 != 0.0) continue;
entity = entity1;
d0 = d1;
}
if (entity == null) continue;
movingobjectposition = new MovingObjectPosition(entity);
movingobjectposition.hitInfo = selector;
break;
}
if (movingobjectposition != null && movingobjectposition.field_72308_g != null && movingobjectposition.field_72308_g instanceof EntityPlayer) {
EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.field_72308_g;
if (entityplayer.field_71075_bZ.field_75102_a || this.getThrower() != null && this.getThrower() instanceof EntityPlayer && !((EntityPlayer)this.getThrower()).func_96122_a(entityplayer)) {
movingobjectposition = null;
}
}
return movingobjectposition;
}
public void doRotation() {
if (this.doTargeting()) {
return;
}
float f2 = MathHelper.func_76133_a((double)(this.field_70159_w * this.field_70159_w + this.field_70179_y * this.field_70179_y));
this.field_70177_z = (float)(Math.atan2(this.field_70159_w, this.field_70179_y) * 180.0 / Math.PI);
this.field_70125_A = (float)(Math.atan2(this.field_70181_x, f2) * 180.0 / Math.PI);
while (this.field_70125_A - this.field_70127_C < -180.0f) {
this.field_70127_C -= 360.0f;
}
}
public void normalizeRotation() {
while (this.field_70125_A - this.field_70127_C >= 180.0f) {
this.field_70127_C += 360.0f;
}
while (this.field_70177_z - this.field_70126_B < -180.0f) {
this.field_70126_B -= 360.0f;
}
while (this.field_70177_z - this.field_70126_B >= 180.0f) {
this.field_70126_B += 360.0f;
}
}
protected void destructEntity(Entity target) {
if (this.thrower == null) {
return;
}
StylishRankManager.setNextAttackType((Entity)this.thrower, (String)StylishRankManager.AttackTypes.DestructObject);
boolean isDestruction = true;
if (target instanceof EntityFireball) {
if (((EntityFireball)target).field_70235_a != null && ((EntityFireball)target).field_70235_a.func_145782_y() == this.thrower.func_145782_y()) {
isDestruction = false;
} else if (this.thrower instanceof EntityLivingBase) {
isDestruction = !target.func_70097_a(DamageSource.func_76358_a((EntityLivingBase)((EntityLivingBase)this.thrower)), this.AttackLevel);
}
} else if (target instanceof EntityArrow) {
if (((EntityArrow)target).field_70250_c != null && ((EntityArrow)target).field_70250_c.func_145782_y() == this.thrower.func_145782_y()) {
isDestruction = false;
}
} else if (target instanceof EntityThrowable && ((EntityThrowable)target).func_85052_h() != null && ((EntityThrowable)target).func_85052_h().func_145782_y() == this.thrower.func_145782_y()) {
isDestruction = false;
}
if (isDestruction && target instanceof IThrowableEntity && ((IThrowableEntity)target).getThrower() != null && ((IThrowableEntity)target).getThrower().func_145782_y() == this.thrower.func_145782_y()) {
isDestruction = false;
}
if (isDestruction) {
target.field_70159_w = 0.0;
target.field_70181_x = 0.0;
target.field_70179_y = 0.0;
target.func_70106_y();
for (int var1 = 0; var1 < 10; ++var1) {
Random rand = this.getRand();
double var2 = rand.nextGaussian() * 0.02;
double var4 = rand.nextGaussian() * 0.02;
double var6 = rand.nextGaussian() * 0.02;
double var8 = 10.0;
this.field_70170_p.func_72869_a("explode", target.field_70165_t + (double)(rand.nextFloat() * target.field_70130_N * 2.0f) - (double)target.field_70130_N - var2 * var8, target.field_70163_u + (double)(rand.nextFloat() * target.field_70131_O) - var4 * var8, target.field_70161_v + (double)(rand.nextFloat() * target.field_70130_N * 2.0f) - (double)target.field_70130_N - var6 * var8, var2, var4, var6);
}
}
StylishRankManager.doAttack((Entity)this.thrower);
this.func_70106_y();
}
protected void attackEntity(Entity target) {
if (this.thrower != null) {
this.thrower.getEntityData().func_74768_a("LastHitSummonedSwords", this.func_145782_y());
}
this.func_70078_a(target);
if (!this.field_70170_p.field_72995_K) {
float magicDamage = 0.0f;
target.field_70172_ad = 0;
DamageSource ds = new EntityDamageSource("directMagic", this.getThrower()).func_76348_h().func_82726_p();
target.func_70097_a(ds, magicDamage);
if (this.blade != null && target instanceof EntityLivingBase && this.thrower != null && this.thrower instanceof EntityLivingBase) {
StylishRankManager.setNextAttackType((Entity)this.thrower, (String)StylishRankManager.AttackTypes.PhantomSword);
((ItemSlashBlade)this.blade.func_77973_b()).func_77644_a(this.blade, (EntityLivingBase)target, (EntityLivingBase)this.thrower);
target.field_70159_w = 0.0;
target.field_70181_x = 0.0;
target.field_70179_y = 0.0;
target.func_70024_g(0.0, 0.1, 0.0);
((EntityLivingBase)target).field_70737_aN = 1;
((ItemSlashBlade)this.blade.func_77973_b()).setDaunting((EntityLivingBase)target);
}
}
}
protected void blastAttackEntity(Entity target) {
if (!this.field_70170_p.field_72995_K) {
float magicDamage = 0.0f;
target.field_70172_ad = 0;
DamageSource ds = new EntityDamageSource("directMagic", this.getThrower()).func_76348_h().func_82726_p();
target.func_70097_a(ds, magicDamage);
if (this.blade != null && target instanceof EntityLivingBase && this.thrower != null && this.thrower instanceof EntityLivingBase) {
StylishRankManager.setNextAttackType((Entity)this.thrower, (String)StylishRankManager.AttackTypes.PhantomSword);
((ItemSlashBlade)this.blade.func_77973_b()).func_77644_a(this.blade, (EntityLivingBase)target, (EntityLivingBase)this.thrower);
target.field_70159_w = 0.0;
target.field_70181_x = 0.0;
target.field_70179_y = 0.0;
target.func_70024_g(0.0, 0.1, 0.0);
((EntityLivingBase)target).field_70737_aN = 1;
((ItemSlashBlade)this.blade.func_77973_b()).setDaunting((EntityLivingBase)target);
}
}
}
protected boolean onImpact(MovingObjectPosition mop) {
boolean result = true;
if (mop.field_72308_g != null) {
Entity target = mop.field_72308_g;
if (mop.hitInfo.equals(ItemSlashBlade.AttackableSelector)) {
this.attackEntity(target);
} else {
this.destructEntity(target);
}
} else if (!this.field_70170_p.func_72945_a((Entity)this, this.field_70121_D).isEmpty()) {
result = true;
}
return result;
}
public void spawnParticle() {
if (this.func_70090_H()) {
for (int l = 0; l < 4; ++l) {
float trailLength = 0.25f;
this.field_70170_p.func_72869_a("bubble", this.field_70165_t - this.field_70159_w * (double)trailLength, this.field_70163_u - this.field_70181_x * (double)trailLength, this.field_70161_v - this.field_70179_y * (double)trailLength, this.field_70159_w, this.field_70181_x, this.field_70179_y);
}
}
}
public void calculateSpeed() {
float speedReductionFactor = 1.1f;
if (this.func_70090_H()) {
speedReductionFactor = 1.0f;
}
this.field_70159_w *= (double)speedReductionFactor;
this.field_70181_x *= (double)speedReductionFactor;
this.field_70179_y *= (double)speedReductionFactor;
}
public void func_70071_h_() {
this.field_70142_S = this.field_70165_t;
this.field_70137_T = this.field_70163_u;
this.field_70136_U = this.field_70161_v;
super.func_70071_h_();
if (this.ridingEntity2 != null) {
this.func_70098_U();
} else {
if (this.field_70173_aa >= this.getLifeTime()) {
this.func_70106_y();
}
this.initRotation();
MovingObjectPosition movingobjectposition = this.getMovingObjectPosition();
if (movingobjectposition != null && this.onImpact(movingobjectposition)) {
return;
}
this.calculateSpeed();
this.doRotation();
if (this.getInterval() < this.field_70173_aa) {
this.func_70091_d(this.field_70159_w, this.field_70181_x, this.field_70179_y);
}
this.normalizeRotation();
this.spawnParticle();
}
}
public void func_70106_y() {
if (this.thrower != null && this.thrower instanceof EntityPlayer) {
((EntityPlayer)this.thrower).func_71009_b((Entity)this);
}
this.field_70170_p.func_72908_a(this.field_70169_q, this.field_70167_r, this.field_70166_s, "dig.glass", 0.25f, 1.6f);
AxisAlignedBB bb = this.field_70121_D.func_72314_b(1.0, 1.0, 1.0);
List list = this.field_70170_p.func_94576_a((Entity)this, bb, ItemSlashBlade.AttackableSelector);
list.removeAll(this.alreadyHitEntity);
for (Entity target : (java.util.List<Entity>)(java.util.List<?>)list) {
if (target == null) continue;
this.blastAttackEntity(target);
}
super.func_70106_y();
}
public Random getRand() {
return this.field_70146_Z;
}
public boolean func_70038_c(double par1, double par3, double par5) {
return false;
}
public void func_70091_d(double par1, double par3, double par5) {
super.func_70091_d(par1, par3, par5);
}
protected void func_70081_e(int par1) {
}
public boolean func_70072_I() {
return false;
}
public boolean func_70055_a(Material par1Material) {
return false;
}
public boolean func_70058_J() {
return false;
}
@SideOnly(value=Side.CLIENT)
public int func_70070_b(float par1) {
float f1 = 0.5f;
if (f1 < 0.0f) {
f1 = 0.0f;
}
if (f1 > 1.0f) {
f1 = 1.0f;
}
int i = super.func_70070_b(par1);
int j = i & 0xFF;
int k = i >> 16 & 0xFF;
if ((j += (int)(f1 * 15.0f * 16.0f)) > 240) {
j = 240;
}
return j | k << 16;
}
public float func_70013_c(float par1) {
float f1 = super.func_70013_c(par1);
float f2 = 0.9f;
f2 = f2 * f2 * f2 * f2;
return f1 * (1.0f - f2) + f2;
}
protected void func_70037_a(NBTTagCompound nbttagcompound) {
}
protected void func_70014_b(NBTTagCompound nbttagcompound) {
}
@SideOnly(value=Side.CLIENT)
public float func_70053_R() {
return 0.0f;
}
public Entity getRidingEntity() {
return this.ridingEntity2;
}
public void func_70078_a(Entity par1Entity) {
if (par1Entity != null) {
this.hitYaw = this.field_70177_z - par1Entity.field_70177_z;
this.hitPitch = this.field_70125_A - par1Entity.field_70125_A;
this.hitX = this.field_70165_t - par1Entity.field_70165_t;
this.hitY = this.field_70163_u - par1Entity.field_70163_u;
this.hitZ = this.field_70161_v - par1Entity.field_70161_v;
this.ridingEntity2 = par1Entity;
this.field_70173_aa = 0;
}
}
@SideOnly(value=Side.CLIENT)
public void func_70056_a(double par1, double par3, double par5, float par7, float par8, int par9) {
}
public void func_70063_aa() {
}
public boolean func_70027_ad() {
return false;
}
public boolean shouldRenderInPass(int pass) {
return pass == 1;
}
public void func_70110_aj() {
}
public void func_70186_c(double v, double v2, double v3, float v4, float v5) {
}
public Entity getThrower() {
int id;
if (this.thrower == null && (id = this.getThrowerEntityId()) != 0) {
this.thrower = this.field_70170_p.func_73045_a(id);
}
return this.thrower;
}
public void setThrower(Entity entity) {
if (entity != null) {
this.setThrowerEntityId(entity.func_145782_y());
}
this.thrower = entity;
}
}
@@ -0,0 +1,726 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.registry.IThrowableEntity
* cpw.mods.fml.relauncher.Side
* cpw.mods.fml.relauncher.SideOnly
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ability.StylishRankManager
* mods.flammpfeil.slashblade.ability.StylishRankManager$AttackTypes
* net.minecraft.block.Block
* net.minecraft.block.material.Material
* net.minecraft.command.IEntitySelector
* net.minecraft.entity.Entity
* net.minecraft.entity.EntityLivingBase
* net.minecraft.entity.IProjectile
* net.minecraft.entity.player.EntityPlayer
* net.minecraft.entity.projectile.EntityArrow
* net.minecraft.entity.projectile.EntityFireball
* net.minecraft.entity.projectile.EntityThrowable
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.util.AxisAlignedBB
* net.minecraft.util.DamageSource
* net.minecraft.util.EntityDamageSource
* net.minecraft.util.MathHelper
* net.minecraft.util.MovingObjectPosition
* net.minecraft.util.Vec3
* net.minecraft.world.World
*/
package com.moe.allweapon.Entityadd;
import cpw.mods.fml.common.registry.IThrowableEntity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ability.StylishRankManager;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.command.IEntitySelector;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.IProjectile;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.projectile.EntityArrow;
import net.minecraft.entity.projectile.EntityFireball;
import net.minecraft.entity.projectile.EntityThrowable;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.DamageSource;
import net.minecraft.util.EntityDamageSource;
import net.minecraft.util.MathHelper;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
public class EntitySummonedSwordAdd
extends Entity
implements IProjectile,
IThrowableEntity {
protected Entity thrower;
protected ItemStack blade = null;
protected List<Entity> alreadyHitEntity = new ArrayList<Entity>();
protected float AttackLevel = 0.0f;
static final int THROWER_ENTITY_ID = 11;
float speed = 0.0f;
float iniYaw = Float.NaN;
float iniPitch = Float.NaN;
double hitX;
double hitY;
double hitZ;
float hitYaw;
float hitPitch;
private Block block;
public Entity ridingEntity2 = null;
public EntitySummonedSwordAdd(World par1World) {
super(par1World);
this.field_70145_X = true;
}
public EntitySummonedSwordAdd(World par1World, EntityLivingBase entityLiving, float AttackLevel, float roll) {
this(par1World, entityLiving, AttackLevel);
this.setRoll(roll);
}
public EntitySummonedSwordAdd(World par1World, EntityLivingBase entityLiving, float AttackLevel) {
this(par1World);
this.AttackLevel = AttackLevel;
this.field_70129_M = entityLiving.func_70047_e() / 2.0f;
this.setThrower((Entity)entityLiving);
this.blade = entityLiving.func_70694_bm();
if (this.blade != null && !(this.blade.func_77973_b() instanceof ItemSlashBlade)) {
this.blade = null;
}
this.alreadyHitEntity.clear();
this.alreadyHitEntity.add(this.thrower);
this.alreadyHitEntity.add(this.thrower.field_70154_o);
this.alreadyHitEntity.add(this.thrower.field_70153_n);
this.field_70173_aa = 0;
this.func_70105_a(0.5f, 0.5f);
float dist = 2.0f;
double ran = ((double)this.field_70146_Z.nextFloat() - 0.5) * 2.0;
double yaw = Math.toRadians(-this.thrower.field_70177_z + 90.0f);
double x = ran * Math.sin(yaw);
double y = 1.0 - Math.abs(ran);
double z = ran * Math.cos(yaw);
this.func_70012_b(this.thrower.field_70165_t + (x *= (double)dist), this.thrower.field_70163_u + (y *= (double)dist), this.thrower.field_70161_v + (z *= (double)dist), this.thrower.field_70177_z, this.thrower.field_70125_A);
this.iniYaw = this.thrower.field_70177_z;
this.iniPitch = this.thrower.field_70125_A;
this.setDriveVector(1.75f);
}
protected void func_70088_a() {
this.func_70096_w().func_75682_a(11, (Object)0);
this.func_70096_w().func_75682_a(4, (Object)0);
this.func_70096_w().func_75682_a(5, (Object)Float.valueOf(0.0f));
this.func_70096_w().func_75682_a(6, (Object)20);
this.func_70096_w().func_75682_a(7, (Object)7);
this.func_70096_w().func_75682_a(10, (Object)0x3333FF);
}
public int getThrowerEntityId() {
return this.func_70096_w().func_75679_c(11);
}
public void setThrowerEntityId(int entityid) {
this.func_70096_w().func_75692_b(11, (Object)entityid);
}
public int getTargetEntityId() {
return this.func_70096_w().func_75679_c(4);
}
public void setTargetEntityId(int entityid) {
this.func_70096_w().func_75692_b(4, (Object)entityid);
}
public float getRoll() {
return this.func_70096_w().func_111145_d(5);
}
public void setRoll(float roll) {
this.func_70096_w().func_75692_b(5, (Object)Float.valueOf(roll));
}
public int getLifeTime() {
return this.func_70096_w().func_75679_c(6);
}
public void setLifeTime(int lifetime) {
this.func_70096_w().func_75692_b(6, (Object)lifetime);
}
public int getInterval() {
return this.func_70096_w().func_75679_c(7);
}
public void setInterval(int value) {
this.func_70096_w().func_75692_b(7, (Object)value);
}
public int getColor() {
return this.func_70096_w().func_75679_c(10);
}
public void setColor(int value) {
this.func_70096_w().func_75692_b(10, (Object)value);
}
public boolean doTargeting() {
Entity target;
Entity rayEntity;
if (this.field_70173_aa > this.getInterval()) {
return false;
}
int targetid = this.getTargetEntityId();
Entity owner = this.thrower;
if (this.thrower == null) {
owner = this;
}
if (targetid == 0 && (rayEntity = this.getRayTrace(owner, 30.0)) != null) {
targetid = rayEntity.func_145782_y();
this.setTargetEntityId(rayEntity.func_145782_y());
}
if (targetid == 0 && (rayEntity = this.getRayTrace(owner, 30.0, 5.0f, 5.0f)) != null) {
targetid = rayEntity.func_145782_y();
this.setTargetEntityId(rayEntity.func_145782_y());
}
if (targetid != 0 && (target = this.field_70170_p.func_73045_a(targetid)) != null) {
if (Float.isNaN(this.iniPitch) && this.thrower != null) {
this.iniYaw = this.thrower.field_70177_z;
this.iniPitch = this.thrower.field_70125_A;
}
this.faceEntity(this, target, (float)this.field_70173_aa * 1.0f, (float)this.field_70173_aa * 1.0f);
this.setDriveVector(1.75f, false);
}
return true;
}
public Entity getRayTrace(Entity owner, double reachMax) {
return this.getRayTrace(owner, reachMax, 1.0f, 0.0f);
}
public Entity getRayTrace(Entity owner, double reachMax, float expandFactor, float expandBorder) {
float par1 = 1.0f;
MovingObjectPosition objectMouseOver = EntitySummonedSwordAdd.rayTrace(owner, reachMax, par1);
double reachMin = reachMax;
Vec3 entityPos = EntitySummonedSwordAdd.getPosition(owner);
if (objectMouseOver != null) {
reachMin = objectMouseOver.field_72307_f.func_72438_d(entityPos);
}
Vec3 lookVec = EntitySummonedSwordAdd.getLook(owner, par1);
Vec3 reachVec = entityPos.func_72441_c(lookVec.field_72450_a * reachMax, lookVec.field_72448_b * reachMax, lookVec.field_72449_c * reachMax);
Entity pointedEntity = null;
List list = this.field_70170_p.func_72839_b((Entity)this, this.field_70121_D.func_72321_a(lookVec.field_72450_a * reachMax, lookVec.field_72448_b * reachMax, lookVec.field_72449_c * reachMax).func_72314_b((double)expandFactor, (double)expandFactor, (double)expandFactor));
list.removeAll(this.alreadyHitEntity);
double tmpDistance = reachMin;
EntityLivingBase viewer = owner instanceof EntityLivingBase ? (EntityLivingBase)owner : null;
for (Entity entity : (java.util.List<Entity>)(java.util.List<?>)list) {
double d3;
if (entity == null || !entity.func_70067_L() || !ItemSlashBlade.AttackableSelector.func_82704_a(entity) || viewer != null && !viewer.func_70685_l(entity)) continue;
float borderSize = entity.func_70111_Y() + expandBorder;
AxisAlignedBB axisalignedbb = entity.field_70121_D.func_72314_b((double)borderSize, (double)borderSize, (double)borderSize);
MovingObjectPosition movingobjectposition = axisalignedbb.func_72327_a(entityPos, reachVec);
if (axisalignedbb.func_72318_a(entityPos)) {
if (!(0.0 < tmpDistance) && tmpDistance != 0.0) continue;
pointedEntity = entity;
tmpDistance = 0.0;
continue;
}
if (movingobjectposition == null || !((d3 = entityPos.func_72438_d(movingobjectposition.field_72307_f)) < tmpDistance) && tmpDistance != 0.0) continue;
if (entity == this.field_70154_o && !entity.canRiderInteract()) {
if (tmpDistance != 0.0) continue;
pointedEntity = entity;
continue;
}
pointedEntity = entity;
tmpDistance = d3;
}
return pointedEntity;
}
public static MovingObjectPosition rayTrace(Entity owner, double par1, float par3) {
Vec3 vec3 = EntitySummonedSwordAdd.getPosition(owner);
Vec3 vec31 = EntitySummonedSwordAdd.getLook(owner, par3);
Vec3 vec32 = vec3.func_72441_c(vec31.field_72450_a * par1, vec31.field_72448_b * par1, vec31.field_72449_c * par1);
return owner.field_70170_p.func_147447_a(vec3, vec32, false, false, true);
}
public static Vec3 getPosition(Entity owner) {
return Vec3.func_72443_a((double)owner.field_70165_t, (double)(owner.field_70163_u + (double)owner.func_70047_e()), (double)owner.field_70161_v);
}
public static Vec3 getLook(Entity owner, float rotMax) {
if (rotMax == 1.0f) {
float f1 = MathHelper.func_76134_b((float)(-owner.field_70177_z * 0.01745329f - 3.141593f));
float f2 = MathHelper.func_76126_a((float)(-owner.field_70177_z * 0.01745329f - 3.141593f));
float f3 = -MathHelper.func_76134_b((float)(-owner.field_70125_A * 0.01745329f));
float f4 = MathHelper.func_76126_a((float)(-owner.field_70125_A * 0.01745329f));
return Vec3.func_72443_a((double)(f2 * f3), (double)f4, (double)(f1 * f3));
}
float f1 = owner.field_70127_C + (owner.field_70125_A - owner.field_70127_C) * rotMax;
float f2 = owner.field_70126_B + (owner.field_70177_z - owner.field_70126_B) * rotMax;
float f3 = MathHelper.func_76134_b((float)(-f2 * 0.01745329f - 3.141593f));
float f4 = MathHelper.func_76126_a((float)(-f2 * 0.01745329f - 3.141593f));
float f5 = -MathHelper.func_76134_b((float)(-f1 * 0.01745329f));
float f6 = MathHelper.func_76126_a((float)(-f1 * 0.01745329f));
return Vec3.func_72443_a((double)(f4 * f5), (double)f6, (double)(f3 * f5));
}
public void faceEntity(Entity viewer, Entity target, float yawStep, float pitchStep) {
double d2;
double d0 = target.field_70165_t - viewer.field_70165_t;
double d1 = target.field_70161_v - viewer.field_70161_v;
if (target instanceof EntityLivingBase) {
EntityLivingBase entitylivingbase = (EntityLivingBase)target;
d2 = entitylivingbase.field_70163_u + (double)entitylivingbase.func_70047_e() - (viewer.field_70163_u + (double)viewer.func_70047_e());
} else {
d2 = (target.field_70121_D.field_72338_b + target.field_70121_D.field_72337_e) / 2.0 - (viewer.field_70163_u + (double)viewer.func_70047_e());
}
double d3 = MathHelper.func_76133_a((double)(d0 * d0 + d1 * d1));
float f2 = (float)(Math.atan2(d1, d0) * 180.0 / Math.PI) - 90.0f;
float f3 = (float)(-(Math.atan2(d2, d3) * 180.0 / Math.PI));
this.iniPitch = this.updateRotation(this.iniPitch, f3, pitchStep);
this.iniYaw = this.updateRotation(this.iniYaw, f2, yawStep);
}
private float updateRotation(float par1, float par2, float par3) {
float f3 = MathHelper.func_76142_g((float)(par2 - par1));
if (f3 > par3) {
f3 = par3;
}
if (f3 < -par3) {
f3 = -par3;
}
return par1 + f3;
}
public void setDriveVector(float fYVecOfset) {
this.setDriveVector(fYVecOfset, true);
}
public void setDriveVector(float fYVecOfst, boolean init) {
float fYawDtoR = this.iniYaw / 180.0f * 3.141593f;
float fPitDtoR = this.iniPitch / 180.0f * 3.141593f;
this.field_70159_w = -MathHelper.func_76126_a((float)fYawDtoR) * MathHelper.func_76134_b((float)fPitDtoR) * fYVecOfst;
this.field_70181_x = -MathHelper.func_76126_a((float)fPitDtoR) * fYVecOfst;
this.field_70179_y = MathHelper.func_76134_b((float)fYawDtoR) * MathHelper.func_76134_b((float)fPitDtoR) * fYVecOfst;
float f3 = MathHelper.func_76133_a((double)(this.field_70159_w * this.field_70159_w + this.field_70179_y * this.field_70179_y));
this.field_70177_z = (float)(Math.atan2(this.field_70159_w, this.field_70179_y) * 180.0 / Math.PI);
this.field_70125_A = (float)(Math.atan2(this.field_70181_x, f3) * 180.0 / Math.PI);
if (init) {
this.speed = fYVecOfst;
this.field_70126_B = this.field_70177_z;
this.field_70127_C = this.field_70125_A;
}
}
public void func_70098_U() {
Entity ridingEntity = this.ridingEntity2;
if (ridingEntity.field_70128_L) {
this.func_70106_y();
return;
}
this.field_70142_S = this.field_70165_t;
this.field_70137_T = this.field_70163_u;
this.field_70136_U = this.field_70161_v;
this.field_70165_t = ridingEntity.field_70165_t + (this.hitX * Math.cos(Math.toRadians(ridingEntity.field_70177_z)) - this.hitZ * Math.sin(Math.toRadians(ridingEntity.field_70177_z)));
this.field_70163_u = ridingEntity.field_70163_u + this.hitY;
this.field_70161_v = ridingEntity.field_70161_v + (this.hitX * Math.sin(Math.toRadians(ridingEntity.field_70177_z)) + this.hitZ * Math.cos(Math.toRadians(ridingEntity.field_70177_z)));
this.field_70127_C = this.field_70125_A;
this.field_70126_B = this.field_70177_z;
this.field_70125_A = ridingEntity.field_70125_A + this.hitPitch;
this.field_70177_z = ridingEntity.field_70177_z + this.hitYaw;
this.func_70107_b(this.field_70165_t, this.field_70163_u, this.field_70161_v);
this.func_70101_b(this.field_70177_z, this.field_70125_A);
if (this.field_70173_aa >= 200) {
if (!ridingEntity.field_70128_L && !this.field_70170_p.field_72995_K) {
float magicDamage = 0.0f;
ridingEntity.field_70172_ad = 0;
DamageSource ds = new EntityDamageSource("directMagic", this.getThrower()).func_76348_h().func_82726_p();
ridingEntity.func_70097_a(ds, magicDamage);
if (this.blade != null && ridingEntity instanceof EntityLivingBase) {
if (this.thrower != null) {
StylishRankManager.setNextAttackType((Entity)this.thrower, (String)StylishRankManager.AttackTypes.BreakPhantomSword);
((ItemSlashBlade)this.blade.func_77973_b()).func_77644_a(this.blade, (EntityLivingBase)ridingEntity, (EntityLivingBase)this.thrower);
}
ridingEntity.field_70159_w = 0.0;
ridingEntity.field_70181_x = 0.0;
ridingEntity.field_70179_y = 0.0;
ridingEntity.func_70024_g(0.0, 0.1, 0.0);
((EntityLivingBase)ridingEntity).field_70737_aN = 1;
}
}
this.func_70106_y();
}
}
protected void initRotation() {
if (this.field_70127_C == 0.0f && this.field_70126_B == 0.0f) {
float f = MathHelper.func_76133_a((double)(this.field_70159_w * this.field_70159_w + this.field_70179_y * this.field_70179_y));
this.field_70126_B = this.field_70177_z = (float)(Math.atan2(this.field_70159_w, this.field_70179_y) * 180.0 / Math.PI);
this.field_70127_C = this.field_70125_A = (float)(Math.atan2(this.field_70181_x, f) * 180.0 / Math.PI);
}
}
protected MovingObjectPosition getMovingObjectPosition() {
IEntitySelector[] selectors;
Vec3 vec3 = Vec3.func_72443_a((double)this.field_70165_t, (double)this.field_70163_u, (double)this.field_70161_v);
Vec3 vec31 = Vec3.func_72443_a((double)(this.field_70165_t + this.field_70159_w), (double)(this.field_70163_u + this.field_70181_x), (double)(this.field_70161_v + this.field_70179_y));
MovingObjectPosition movingobjectposition = this.field_70170_p.func_72933_a(vec3, vec31);
vec3 = Vec3.func_72443_a((double)this.field_70165_t, (double)this.field_70163_u, (double)this.field_70161_v);
vec31 = Vec3.func_72443_a((double)(this.field_70165_t + this.field_70159_w), (double)(this.field_70163_u + this.field_70181_x), (double)(this.field_70161_v + this.field_70179_y));
if (movingobjectposition != null) {
int x = MathHelper.func_76128_c((double)movingobjectposition.field_72307_f.field_72450_a);
int y = MathHelper.func_76128_c((double)movingobjectposition.field_72307_f.field_72448_b);
int z = MathHelper.func_76128_c((double)movingobjectposition.field_72307_f.field_72449_c);
int offset = -1;
this.block = this.field_70170_p.func_147439_a(x, y + offset, z);
if (this.block != null) {
if (this.block.func_149668_a(this.field_70170_p, x, y + offset, z) == null) {
movingobjectposition = null;
} else {
vec31 = Vec3.func_72443_a((double)movingobjectposition.field_72307_f.field_72450_a, (double)movingobjectposition.field_72307_f.field_72448_b, (double)movingobjectposition.field_72307_f.field_72449_c);
}
}
}
Entity entity = null;
AxisAlignedBB bb = this.field_70121_D.func_72321_a(this.field_70159_w, this.field_70181_x, this.field_70179_y).func_72314_b(1.0, 1.0, 1.0);
IEntitySelector[] arrayOfIEntitySelector1 = selectors = new IEntitySelector[]{ItemSlashBlade.DestructableSelector, ItemSlashBlade.AttackableSelector};
int localBlock1 = selectors.length;
for (int block = 0; block < localBlock1; ++block) {
Entity target;
IEntitySelector selector = arrayOfIEntitySelector1[block];
List list = this.field_70170_p.func_94576_a((Entity)this, bb, selector);
list.removeAll(this.alreadyHitEntity);
if (selector.equals(ItemSlashBlade.AttackableSelector) && this.getTargetEntityId() != 0 && (target = this.field_70170_p.func_73045_a(this.getTargetEntityId())) != null && target.field_70121_D.func_72326_a(bb)) {
list.add(target);
}
double d0 = 0.0;
for (int i = 0; i < list.size(); ++i) {
double d1;
float f1;
AxisAlignedBB axisalignedbb1;
MovingObjectPosition movingobjectposition1;
Entity entity1 = (Entity)list.get(i);
if (entity1 instanceof EntitySummonedSwordAdd && ((EntitySummonedSwordAdd)entity1).getThrower() == this.getThrower() || !entity1.func_70067_L() || (movingobjectposition1 = (axisalignedbb1 = entity1.field_70121_D.func_72314_b((double)(f1 = 0.3f), (double)f1, (double)f1)).func_72327_a(vec31, vec3)) == null || !((d1 = vec31.func_72438_d(movingobjectposition1.field_72307_f)) < d0) && d0 != 0.0) continue;
entity = entity1;
d0 = d1;
}
if (entity == null) continue;
movingobjectposition = new MovingObjectPosition(entity);
movingobjectposition.hitInfo = selector;
break;
}
if (movingobjectposition != null && movingobjectposition.field_72308_g != null && movingobjectposition.field_72308_g instanceof EntityPlayer) {
EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.field_72308_g;
if (entityplayer.field_71075_bZ.field_75102_a || this.getThrower() != null && this.getThrower() instanceof EntityPlayer && !((EntityPlayer)this.getThrower()).func_96122_a(entityplayer)) {
movingobjectposition = null;
}
}
return movingobjectposition;
}
public void doRotation() {
if (this.doTargeting()) {
return;
}
float f2 = MathHelper.func_76133_a((double)(this.field_70159_w * this.field_70159_w + this.field_70179_y * this.field_70179_y));
this.field_70177_z = (float)(Math.atan2(this.field_70159_w, this.field_70179_y) * 180.0 / Math.PI);
this.field_70125_A = (float)(Math.atan2(this.field_70181_x, f2) * 180.0 / Math.PI);
while (this.field_70125_A - this.field_70127_C < -180.0f) {
this.field_70127_C -= 360.0f;
}
}
public void normalizeRotation() {
while (this.field_70125_A - this.field_70127_C >= 180.0f) {
this.field_70127_C += 360.0f;
}
while (this.field_70177_z - this.field_70126_B < -180.0f) {
this.field_70126_B -= 360.0f;
}
while (this.field_70177_z - this.field_70126_B >= 180.0f) {
this.field_70126_B += 360.0f;
}
}
protected void destructEntity(Entity target) {
if (this.thrower == null) {
return;
}
StylishRankManager.setNextAttackType((Entity)this.thrower, (String)StylishRankManager.AttackTypes.DestructObject);
boolean isDestruction = true;
if (target instanceof EntityFireball) {
if (((EntityFireball)target).field_70235_a != null && ((EntityFireball)target).field_70235_a.func_145782_y() == this.thrower.func_145782_y()) {
isDestruction = false;
} else if (this.thrower instanceof EntityLivingBase) {
isDestruction = !target.func_70097_a(DamageSource.func_76358_a((EntityLivingBase)((EntityLivingBase)this.thrower)), this.AttackLevel);
}
} else if (target instanceof EntityArrow) {
if (((EntityArrow)target).field_70250_c != null && ((EntityArrow)target).field_70250_c.func_145782_y() == this.thrower.func_145782_y()) {
isDestruction = false;
}
} else if (target instanceof EntityThrowable && ((EntityThrowable)target).func_85052_h() != null && ((EntityThrowable)target).func_85052_h().func_145782_y() == this.thrower.func_145782_y()) {
isDestruction = false;
}
if (isDestruction && target instanceof IThrowableEntity && ((IThrowableEntity)target).getThrower() != null && ((IThrowableEntity)target).getThrower().func_145782_y() == this.thrower.func_145782_y()) {
isDestruction = false;
}
if (isDestruction) {
target.field_70159_w = 0.0;
target.field_70181_x = 0.0;
target.field_70179_y = 0.0;
target.func_70106_y();
for (int var1 = 0; var1 < 10; ++var1) {
Random rand = this.getRand();
double var2 = rand.nextGaussian() * 0.02;
double var4 = rand.nextGaussian() * 0.02;
double var6 = rand.nextGaussian() * 0.02;
double var8 = 10.0;
this.field_70170_p.func_72869_a("explode", target.field_70165_t + (double)(rand.nextFloat() * target.field_70130_N * 2.0f) - (double)target.field_70130_N - var2 * var8, target.field_70163_u + (double)(rand.nextFloat() * target.field_70131_O) - var4 * var8, target.field_70161_v + (double)(rand.nextFloat() * target.field_70130_N * 2.0f) - (double)target.field_70130_N - var6 * var8, var2, var4, var6);
}
}
StylishRankManager.doAttack((Entity)this.thrower);
this.func_70106_y();
}
protected void attackEntity(Entity target) {
if (this.thrower != null) {
this.thrower.getEntityData().func_74768_a("LastHitSummonedSwords", this.func_145782_y());
}
this.func_70078_a(target);
if (!this.field_70170_p.field_72995_K) {
float magicDamage = 0.0f;
target.field_70172_ad = 0;
DamageSource ds = new EntityDamageSource("directMagic", this.getThrower()).func_76348_h().func_82726_p();
target.func_70097_a(ds, magicDamage);
if (this.blade != null && target instanceof EntityLivingBase && this.thrower != null && this.thrower instanceof EntityLivingBase) {
StylishRankManager.setNextAttackType((Entity)this.thrower, (String)StylishRankManager.AttackTypes.PhantomSword);
((ItemSlashBlade)this.blade.func_77973_b()).func_77644_a(this.blade, (EntityLivingBase)target, (EntityLivingBase)this.thrower);
target.field_70159_w = 0.0;
target.field_70181_x = 0.0;
target.field_70179_y = 0.0;
target.func_70024_g(0.0, 0.1, 0.0);
((EntityLivingBase)target).field_70737_aN = 1;
((ItemSlashBlade)this.blade.func_77973_b()).setDaunting((EntityLivingBase)target);
}
}
}
protected void blastAttackEntity(Entity target) {
if (!this.field_70170_p.field_72995_K) {
float magicDamage = 0.0f;
target.field_70172_ad = 0;
DamageSource ds = new EntityDamageSource("directMagic", this.getThrower()).func_76348_h().func_82726_p();
target.func_70097_a(ds, magicDamage);
if (this.blade != null && target instanceof EntityLivingBase && this.thrower != null && this.thrower instanceof EntityLivingBase) {
StylishRankManager.setNextAttackType((Entity)this.thrower, (String)StylishRankManager.AttackTypes.PhantomSword);
((ItemSlashBlade)this.blade.func_77973_b()).func_77644_a(this.blade, (EntityLivingBase)target, (EntityLivingBase)this.thrower);
target.field_70159_w = 0.0;
target.field_70181_x = 0.0;
target.field_70179_y = 0.0;
target.func_70024_g(0.0, 0.1, 0.0);
((EntityLivingBase)target).field_70737_aN = 1;
((ItemSlashBlade)this.blade.func_77973_b()).setDaunting((EntityLivingBase)target);
}
}
}
protected boolean onImpact(MovingObjectPosition mop) {
boolean result = true;
if (mop.field_72308_g != null) {
Entity target = mop.field_72308_g;
if (mop.hitInfo.equals(ItemSlashBlade.AttackableSelector)) {
this.attackEntity(target);
} else {
this.destructEntity(target);
}
} else if (!this.field_70170_p.func_72945_a((Entity)this, this.field_70121_D).isEmpty()) {
result = true;
}
return result;
}
public void spawnParticle() {
if (this.func_70090_H()) {
for (int l = 0; l < 4; ++l) {
float trailLength = 0.25f;
this.field_70170_p.func_72869_a("bubble", this.field_70165_t - this.field_70159_w * (double)trailLength, this.field_70163_u - this.field_70181_x * (double)trailLength, this.field_70161_v - this.field_70179_y * (double)trailLength, this.field_70159_w, this.field_70181_x, this.field_70179_y);
}
}
}
public void calculateSpeed() {
float speedReductionFactor = 1.1f;
if (this.func_70090_H()) {
speedReductionFactor = 1.0f;
}
this.field_70159_w *= (double)speedReductionFactor;
this.field_70181_x *= (double)speedReductionFactor;
this.field_70179_y *= (double)speedReductionFactor;
}
public void func_70071_h_() {
this.field_70142_S = this.field_70165_t;
this.field_70137_T = this.field_70163_u;
this.field_70136_U = this.field_70161_v;
super.func_70071_h_();
if (this.ridingEntity2 != null) {
this.func_70098_U();
} else {
if (this.field_70173_aa >= this.getLifeTime()) {
this.func_70106_y();
}
this.initRotation();
MovingObjectPosition movingobjectposition = this.getMovingObjectPosition();
if (movingobjectposition != null && this.onImpact(movingobjectposition)) {
return;
}
this.calculateSpeed();
this.doRotation();
if (this.getInterval() < this.field_70173_aa) {
this.func_70091_d(this.field_70159_w, this.field_70181_x, this.field_70179_y);
}
this.normalizeRotation();
this.spawnParticle();
}
}
public void func_70106_y() {
if (this.thrower != null && this.thrower instanceof EntityPlayer) {
((EntityPlayer)this.thrower).func_71009_b((Entity)this);
}
this.field_70170_p.func_72908_a(this.field_70169_q, this.field_70167_r, this.field_70166_s, "dig.glass", 0.25f, 1.6f);
AxisAlignedBB bb = this.field_70121_D.func_72314_b(1.0, 1.0, 1.0);
List list = this.field_70170_p.func_94576_a((Entity)this, bb, ItemSlashBlade.AttackableSelector);
list.removeAll(this.alreadyHitEntity);
for (Entity target : (java.util.List<Entity>)(java.util.List<?>)list) {
if (target == null) continue;
this.blastAttackEntity(target);
}
super.func_70106_y();
}
public Random getRand() {
return this.field_70146_Z;
}
public boolean func_70038_c(double par1, double par3, double par5) {
return false;
}
public void func_70091_d(double par1, double par3, double par5) {
super.func_70091_d(par1, par3, par5);
}
protected void func_70081_e(int par1) {
}
public boolean func_70072_I() {
return false;
}
public boolean func_70055_a(Material par1Material) {
return false;
}
public boolean func_70058_J() {
return false;
}
@SideOnly(value=Side.CLIENT)
public int func_70070_b(float par1) {
float f1 = 0.5f;
if (f1 < 0.0f) {
f1 = 0.0f;
}
if (f1 > 1.0f) {
f1 = 1.0f;
}
int i = super.func_70070_b(par1);
int j = i & 0xFF;
int k = i >> 16 & 0xFF;
if ((j += (int)(f1 * 15.0f * 16.0f)) > 240) {
j = 240;
}
return j | k << 16;
}
public float func_70013_c(float par1) {
float f1 = super.func_70013_c(par1);
float f2 = 0.9f;
f2 = f2 * f2 * f2 * f2;
return f1 * (1.0f - f2) + f2;
}
protected void func_70037_a(NBTTagCompound nbttagcompound) {
}
protected void func_70014_b(NBTTagCompound nbttagcompound) {
}
@SideOnly(value=Side.CLIENT)
public float func_70053_R() {
return 0.0f;
}
public Entity getRidingEntity() {
return this.ridingEntity2;
}
public void func_70078_a(Entity par1Entity) {
if (par1Entity != null) {
this.hitYaw = this.field_70177_z - par1Entity.field_70177_z;
this.hitPitch = this.field_70125_A - par1Entity.field_70125_A;
this.hitX = this.field_70165_t - par1Entity.field_70165_t;
this.hitY = this.field_70163_u - par1Entity.field_70163_u;
this.hitZ = this.field_70161_v - par1Entity.field_70161_v;
this.ridingEntity2 = par1Entity;
this.field_70173_aa = 0;
}
}
@SideOnly(value=Side.CLIENT)
public void func_70056_a(double par1, double par3, double par5, float par7, float par8, int par9) {
}
public void func_70063_aa() {
}
public boolean func_70027_ad() {
return false;
}
public boolean shouldRenderInPass(int pass) {
return pass == 1;
}
public void func_70110_aj() {
}
public void func_70186_c(double v, double v2, double v3, float v4, float v5) {
}
public Entity getThrower() {
int id;
if (this.thrower == null && (id = this.getThrowerEntityId()) != 0) {
this.thrower = this.field_70170_p.func_73045_a(id);
}
return this.thrower;
}
public void setThrower(Entity entity) {
if (entity != null) {
this.setThrowerEntityId(entity.func_145782_y());
}
this.thrower = entity;
}
}
@@ -0,0 +1,79 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.entity.EntityPhantomSwordBase
* net.minecraft.entity.Entity
* net.minecraft.entity.EntityLivingBase
* net.minecraft.potion.PotionEffect
* net.minecraft.util.DamageSource
* net.minecraft.util.EntityDamageSource
* net.minecraft.world.World
*/
package com.moe.allweapon.Entityadd;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.entity.EntityPhantomSwordBase;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.DamageSource;
import net.minecraft.util.EntityDamageSource;
import net.minecraft.world.World;
public class EntitySummonedSwordPotionEffectAdd
extends EntityPhantomSwordBase {
public EntitySummonedSwordPotionEffectAdd(World par1World) {
super(par1World);
}
public EntitySummonedSwordPotionEffectAdd(World par1World, EntityLivingBase entityLiving, float AttackLevel) {
super(par1World, entityLiving, AttackLevel);
}
public EntitySummonedSwordPotionEffectAdd(World par1World, EntityLivingBase entityLiving, float AttackLevel, float roll) {
super(par1World, entityLiving, AttackLevel, roll);
}
protected void func_70088_a() {
super.func_70088_a();
this.func_70096_w().func_75682_a(8, (Object)0);
}
public boolean getBurst() {
return this.func_70096_w().func_75683_a(8) != 0;
}
public void setBurst(boolean value) {
this.func_70096_w().func_75692_b(8, (Object)((byte)(value ? 1 : 0)));
}
protected void attackEntity(Entity target) {
if (this.getBurst()) {
this.field_70170_p.func_72885_a((Entity)this, this.field_70165_t, this.field_70163_u, this.field_70161_v, 1.0f, false, false);
}
if (!this.field_70170_p.field_72995_K) {
float magicDamage = 0.0f;
target.field_70172_ad = 0;
DamageSource ds = new EntityDamageSource("directMagic", this.getThrower()).func_76348_h().func_82726_p();
target.func_70097_a(ds, 1.0f);
if (this.blade != null && target instanceof EntityLivingBase && this.thrower != null && this.thrower instanceof EntityLivingBase) {
if (!target.func_70089_S()) {
// empty if block
}
target.field_70159_w = 0.0;
target.field_70181_x = 0.0;
target.field_70179_y = 0.0;
target.func_70024_g(0.0, 0.1, 0.0);
((EntityLivingBase)target).field_70737_aN = 0;
if (!this.getBurst()) {
((EntityLivingBase)target).func_70690_d(new PotionEffect(2, 100, 2));
}
((ItemSlashBlade)this.blade.func_77973_b()).setDaunting((EntityLivingBase)target);
}
}
this.func_70106_y();
}
}
@@ -0,0 +1,127 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBlade$ComboSequence
* mods.flammpfeil.slashblade.ability.StylishRankManager
* mods.flammpfeil.slashblade.ability.StylishRankManager$AttackTypes
* mods.flammpfeil.slashblade.specialattack.SpecialAttackBase
* net.minecraft.enchantment.Enchantment
* net.minecraft.enchantment.EnchantmentHelper
* net.minecraft.entity.Entity
* net.minecraft.entity.EntityLivingBase
* net.minecraft.entity.player.EntityPlayer
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.util.AxisAlignedBB
* net.minecraft.util.Vec3
* net.minecraft.world.World
*/
package com.moe.allweapon.SA;
import com.moe.allweapon.Entityadd.EntitySummonedSwordPotionEffectAdd;
import java.util.List;
import java.util.Random;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ability.StylishRankManager;
import mods.flammpfeil.slashblade.specialattack.SpecialAttackBase;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
public class SAbaoku
extends SpecialAttackBase {
public String toString() {
return "baoku";
}
public void doSpacialAttack(ItemStack stack, EntityPlayer player) {
World world = player.field_70170_p;
NBTTagCompound tag = ItemSlashBlade.getItemTagCompound((ItemStack)stack);
if (!world.field_72995_K) {
Entity tmp;
int cost = -50;
if (!ItemSlashBlade.ProudSoul.tryAdd(tag, Integer.valueOf(-50), false)) {
ItemSlashBlade.damageItem((ItemStack)stack, (int)5, (EntityLivingBase)player);
}
ItemSlashBlade blade = (ItemSlashBlade)stack.func_77973_b();
float baseModif = blade.getBaseAttackModifiers(tag);
int level = EnchantmentHelper.func_77506_a((int)Enchantment.field_77345_t.field_77352_x, (ItemStack)stack);
float magicDamage = baseModif;
int rank = StylishRankManager.getStylishRank((Entity)player);
Entity target = null;
int entityId = ItemSlashBlade.TargetEntityId.get(tag);
if (entityId != 0 && (tmp = world.func_73045_a(entityId)) != null && tmp.func_70032_d((Entity)player) < 30.0f) {
target = tmp;
}
if (target == null) {
target = this.getEntityToWatch(player);
}
if (target != null) {
ItemSlashBlade.setComboSequence((NBTTagCompound)tag, (ItemSlashBlade.ComboSequence)ItemSlashBlade.ComboSequence.SlashDim);
StylishRankManager.setNextAttackType((Entity)player, (String)StylishRankManager.AttackTypes.PhantomSword);
blade.attackTargetEntity(stack, target, player, Boolean.valueOf(true));
player.func_71009_b(target);
double o = target.field_70163_u + 10.0;
target.field_70159_w = 0.0;
target.field_70181_x = 0.0;
target.field_70179_y = 0.0;
if (target instanceof EntityLivingBase) {
blade.setDaunting((EntityLivingBase)target);
((EntityLivingBase)target).field_70737_aN = 0;
((EntityLivingBase)target).field_70172_ad = 0;
}
int count = 1 + StylishRankManager.getStylishRank((Entity)player);
Random rand = new Random();
for (int i = 0; i < 32; ++i) {
target.func_70107_b(target.field_70165_t, o, target.field_70161_v);
if (world.field_72995_K) continue;
boolean isBurst = i % 2 == 0;
float a = rand.nextInt(100);
float b = rand.nextInt(20);
float c = rand.nextInt(100);
EntitySummonedSwordPotionEffectAdd entityDrive = new EntitySummonedSwordPotionEffectAdd(world, (EntityLivingBase)player, magicDamage, 0.0f);
if (entityDrive == null) continue;
entityDrive.func_70012_b(target.field_70165_t + (double)(50.0f - a), target.field_70163_u + (double)b, target.field_70161_v + (double)(50.0f - c), target.field_70177_z + b * 36.0f, 0.0f);
entityDrive.setInterval(50);
entityDrive.setLifeTime(80);
entityDrive.setColor(0xFFFF00);
entityDrive.setTargetEntityId(target.func_145782_y());
world.func_72838_d((Entity)entityDrive);
}
}
ItemSlashBlade.setComboSequence((NBTTagCompound)tag, (ItemSlashBlade.ComboSequence)ItemSlashBlade.ComboSequence.Battou);
}
}
private Entity getEntityToWatch(EntityPlayer player) {
World world = player.field_70170_p;
Entity target = null;
for (int dist = 2; dist < 20; dist += 2) {
AxisAlignedBB bb = player.field_70121_D.func_72329_c();
Vec3 vec = player.func_70040_Z();
vec = vec.func_72432_b();
bb = bb.func_72314_b(2.0, 0.25, 2.0);
bb = bb.func_72317_d(vec.field_72450_a * (double)dist, vec.field_72448_b * (double)dist, vec.field_72449_c * (double)dist);
List list = world.func_94576_a((Entity)player, bb, ItemSlashBlade.AttackableSelector);
float distance = 30.0f;
for (Entity curEntity : (java.util.List<Entity>)(java.util.List<?>)list) {
float curDist = curEntity.func_70032_d((Entity)player);
if (!(curDist < distance)) continue;
target = curEntity;
distance = curDist;
}
if (target != null) break;
}
return target;
}
}
@@ -0,0 +1,315 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* mods.flammpfeil.slashblade.EntityDrive
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBlade$ComboSequence
* mods.flammpfeil.slashblade.ItemSlashBlade$SwordType
* mods.flammpfeil.slashblade.ability.StylishRankManager
* mods.flammpfeil.slashblade.ability.StylishRankManager$AttackTypes
* mods.flammpfeil.slashblade.ability.UntouchableTime
* mods.flammpfeil.slashblade.entity.EntityJudgmentCutManager
* mods.flammpfeil.slashblade.specialattack.IJustSpecialAttack
* mods.flammpfeil.slashblade.specialattack.ISuperSpecialAttack
* mods.flammpfeil.slashblade.specialattack.SpecialAttackBase
* net.minecraft.block.Block
* net.minecraft.enchantment.Enchantment
* net.minecraft.enchantment.EnchantmentHelper
* net.minecraft.entity.Entity
* net.minecraft.entity.EntityLivingBase
* net.minecraft.entity.player.EntityPlayer
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.util.AxisAlignedBB
* net.minecraft.util.MathHelper
* net.minecraft.util.MovingObjectPosition
* net.minecraft.util.MovingObjectPosition$MovingObjectType
* net.minecraft.util.Vec3
* net.minecraft.world.World
*/
package com.moe.allweapon.SA;
import com.moe.allweapon.Entityadd.EntitySlashDimensionAdd;
import java.util.EnumSet;
import java.util.List;
import mods.flammpfeil.slashblade.EntityDrive;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ability.StylishRankManager;
import mods.flammpfeil.slashblade.ability.UntouchableTime;
import mods.flammpfeil.slashblade.entity.EntityJudgmentCutManager;
import mods.flammpfeil.slashblade.specialattack.IJustSpecialAttack;
import mods.flammpfeil.slashblade.specialattack.ISuperSpecialAttack;
import mods.flammpfeil.slashblade.specialattack.SpecialAttackBase;
import net.minecraft.block.Block;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.MathHelper;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
public class SAfengxuan
extends SpecialAttackBase
implements IJustSpecialAttack,
ISuperSpecialAttack {
public String toString() {
return "fengxuan";
}
public void doSpacialAttack(ItemStack stack, EntityPlayer player) {
Entity tmp;
World world = player.field_70170_p;
NBTTagCompound tag = ItemSlashBlade.getItemTagCompound((ItemStack)stack);
Entity target = null;
int entityId = ItemSlashBlade.TargetEntityId.get(tag);
if (entityId != 0 && (tmp = world.func_73045_a(entityId)) != null && tmp.func_70032_d((Entity)player) < 30.0f) {
target = tmp;
}
if (target == null) {
target = this.getEntityToWatch(player);
}
if (target == null) {
ItemSlashBlade.setComboSequence((NBTTagCompound)tag, (ItemSlashBlade.ComboSequence)ItemSlashBlade.ComboSequence.SlashDim);
int cost = -20;
if (!ItemSlashBlade.ProudSoul.tryAdd(tag, Integer.valueOf(-20), false)) {
ItemSlashBlade.damageItem((ItemStack)stack, (int)10, (EntityLivingBase)player);
}
if (!player.field_70170_p.field_72995_K) {
int level = EnchantmentHelper.func_77506_a((int)Enchantment.field_77345_t.field_77352_x, (ItemStack)stack);
float magicDamage = 1.0f + ItemSlashBlade.AttackAmplifier.get(tag).floatValue() * (0.5f + (float)level / 5.0f);
EntitySlashDimensionAdd dim = new EntitySlashDimensionAdd(world, (EntityLivingBase)player, magicDamage);
if (dim != null) {
Vec3 tmppos;
Block block;
Vec3 pos = player.func_70040_Z();
float scale = 5.0f;
pos.field_72450_a *= (double)scale;
pos.field_72448_b *= (double)scale;
pos.field_72449_c *= (double)scale;
pos = pos.func_72441_c(player.field_70165_t, player.field_70163_u, player.field_70161_v);
pos = pos.func_72441_c(0.0, (double)player.func_70047_e(), 0.0);
Vec3 offset = Vec3.func_72443_a((double)player.field_70165_t, (double)player.field_70163_u, (double)player.field_70161_v).func_72441_c(0.0, (double)player.func_70047_e(), 0.0);
Vec3 look = player.func_70040_Z();
Vec3 offsettedLook = offset.func_72441_c(look.field_72450_a * 5.0, look.field_72448_b * 5.0, look.field_72449_c * 5.0);
MovingObjectPosition movingobjectposition = world.func_72933_a(offset, offsettedLook);
if (movingobjectposition != null && movingobjectposition.field_72313_a == MovingObjectPosition.MovingObjectType.BLOCK && (block = world.func_147439_a(movingobjectposition.field_72311_b, movingobjectposition.field_72312_c, movingobjectposition.field_72309_d)) != null && block.func_149703_v() && 1.0 < (tmppos = Vec3.func_72443_a((double)movingobjectposition.field_72307_f.field_72450_a, (double)movingobjectposition.field_72307_f.field_72448_b, (double)movingobjectposition.field_72307_f.field_72449_c)).func_72438_d(Vec3.func_72443_a((double)player.field_70165_t, (double)player.field_70163_u, (double)player.field_70161_v))) {
pos = tmppos;
}
dim.func_70107_b(pos.field_72450_a, pos.field_72448_b, pos.field_72449_c);
dim.setLifeTime(50);
dim.setColor(0xFFFFFF);
dim.setIsSlashDimension(true);
world.func_72838_d((Entity)dim);
}
world.func_72956_a((Entity)player, "allweapon:fengxuan", 1.0f, 1.0f);
}
} else {
ItemSlashBlade.setComboSequence((NBTTagCompound)tag, (ItemSlashBlade.ComboSequence)ItemSlashBlade.ComboSequence.SlashDim);
this.spawnParticle(world, target);
player.field_70170_p.func_72908_a(player.field_70165_t, player.field_70163_u, player.field_70161_v, "mob.endermen.portal", 0.5f, 1.0f);
int cost = -20;
if (!ItemSlashBlade.ProudSoul.tryAdd(tag, Integer.valueOf(-20), false)) {
ItemSlashBlade.damageItem((ItemStack)stack, (int)10, (EntityLivingBase)player);
}
AxisAlignedBB bb = target.field_70121_D.func_72329_c();
bb = bb.func_72314_b(2.0, 0.25, 2.0);
List list = world.func_94576_a((Entity)player, bb, ItemSlashBlade.AttackableSelector);
if (!ItemSlashBlade.AttackableSelector.func_82704_a(target)) {
list.add(target);
}
ItemSlashBlade blade = (ItemSlashBlade)stack.func_77973_b();
for (Entity curEntity : (java.util.List<Entity>)(java.util.List<?>)list) {
StylishRankManager.setNextAttackType((Entity)player, (String)StylishRankManager.AttackTypes.SlashDim);
blade.attackTargetEntity(stack, curEntity, player, Boolean.valueOf(true));
}
if (!target.field_70170_p.field_72995_K) {
int level = EnchantmentHelper.func_77506_a((int)Enchantment.field_77345_t.field_77352_x, (ItemStack)stack);
float magicDamage = 0.5f + ItemSlashBlade.AttackAmplifier.get(tag).floatValue() * ((float)level / 5.0f);
EntitySlashDimensionAdd dim = new EntitySlashDimensionAdd(world, (EntityLivingBase)player, magicDamage);
if (dim != null) {
dim.func_70107_b(target.field_70165_t, target.field_70163_u + (double)target.field_70131_O / 2.0, target.field_70161_v);
dim.setLifeTime(50);
dim.setColor(0xFFFFFF);
world.func_72838_d((Entity)dim);
}
world.func_72956_a((Entity)player, "allweapon:fengxuan", 1.0f, 1.0f);
}
}
}
private Entity getEntityToWatch(EntityPlayer player) {
World world = player.field_70170_p;
Entity target = null;
for (int dist = 2; dist < 20; dist += 2) {
AxisAlignedBB bb = player.field_70121_D.func_72329_c();
Vec3 vec = player.func_70040_Z();
vec = vec.func_72432_b();
bb = bb.func_72314_b(2.0, 0.25, 2.0);
bb = bb.func_72317_d(vec.field_72450_a * (double)dist, vec.field_72448_b * (double)dist, vec.field_72449_c * (double)dist);
List list = world.func_94576_a((Entity)player, bb, ItemSlashBlade.AttackableSelector);
float distance = 30.0f;
for (Entity curEntity : (java.util.List<Entity>)(java.util.List<?>)list) {
float curDist = curEntity.func_70032_d((Entity)player);
if (!(curDist < distance)) continue;
target = curEntity;
distance = curDist;
}
if (target != null) break;
}
return target;
}
private void spawnParticle(World world, Entity target) {
world.func_72869_a("largeexplode", target.field_70165_t, target.field_70163_u + (double)target.field_70131_O, target.field_70161_v, 3.0, 3.0, 3.0);
world.func_72869_a("largeexplode", target.field_70165_t + 1.0, target.field_70163_u + (double)target.field_70131_O + 1.0, target.field_70161_v, 3.0, 3.0, 3.0);
world.func_72869_a("largeexplode", target.field_70165_t, target.field_70163_u + (double)target.field_70131_O + 0.5, target.field_70161_v + 1.0, 3.0, 3.0, 3.0);
}
public void doJustSpacialAttack(ItemStack stack, EntityPlayer player) {
Entity tmp;
World world = player.field_70170_p;
NBTTagCompound tag = ItemSlashBlade.getItemTagCompound((ItemStack)stack);
Entity target = null;
int entityId = ItemSlashBlade.TargetEntityId.get(tag);
if (entityId != 0 && (tmp = world.func_73045_a(entityId)) != null && tmp.func_70032_d((Entity)player) < 30.0f) {
target = tmp;
}
if (target == null) {
target = this.getEntityToWatch(player);
}
if (target == null) {
ItemSlashBlade.setComboSequence((NBTTagCompound)tag, (ItemSlashBlade.ComboSequence)ItemSlashBlade.ComboSequence.SlashDim);
int cost = -20;
if (!ItemSlashBlade.ProudSoul.tryAdd(tag, Integer.valueOf(-20), false)) {
ItemSlashBlade.damageItem((ItemStack)stack, (int)10, (EntityLivingBase)player);
}
if (!player.field_70170_p.field_72995_K) {
Vec3 tmppos;
Block block;
Vec3 pos = player.func_70040_Z();
float scale = 5.0f;
pos.field_72450_a *= (double)scale;
pos.field_72448_b *= (double)scale;
pos.field_72449_c *= (double)scale;
pos = pos.func_72441_c(player.field_70165_t, player.field_70163_u, player.field_70161_v);
pos = pos.func_72441_c(0.0, (double)player.func_70047_e(), 0.0);
ItemSlashBlade blade = (ItemSlashBlade)stack.func_77973_b();
Vec3 offset = Vec3.func_72443_a((double)player.field_70165_t, (double)player.field_70163_u, (double)player.field_70161_v).func_72441_c(0.0, (double)player.func_70047_e(), 0.0);
Vec3 look = player.func_70040_Z();
Vec3 offsettedLook = offset.func_72441_c(look.field_72450_a * 5.0, look.field_72448_b * 5.0, look.field_72449_c * 5.0);
MovingObjectPosition movingobjectposition = world.func_72933_a(offset, offsettedLook);
if (movingobjectposition != null && movingobjectposition.field_72313_a == MovingObjectPosition.MovingObjectType.BLOCK && (block = world.func_147439_a(movingobjectposition.field_72311_b, movingobjectposition.field_72312_c, movingobjectposition.field_72309_d)) != null && block.func_149703_v() && 1.0 < (tmppos = Vec3.func_72443_a((double)movingobjectposition.field_72307_f.field_72450_a, (double)movingobjectposition.field_72307_f.field_72448_b, (double)movingobjectposition.field_72307_f.field_72449_c)).func_72438_d(Vec3.func_72443_a((double)player.field_70165_t, (double)player.field_70163_u, (double)player.field_70161_v))) {
pos = tmppos;
}
int level = EnchantmentHelper.func_77506_a((int)Enchantment.field_77345_t.field_77352_x, (ItemStack)stack);
float magicDamage = 1.0f + ItemSlashBlade.AttackAmplifier.get(tag).floatValue() * (0.5f + (float)level / 5.0f);
EntitySlashDimensionAdd dim = new EntitySlashDimensionAdd(world, (EntityLivingBase)player, magicDamage);
if (dim != null) {
dim.func_70107_b(pos.field_72450_a, pos.field_72448_b, pos.field_72449_c);
dim.setLifeTime(50);
dim.setIsSlashDimension(true);
dim.setColor(0xFFFFFF);
world.func_72838_d((Entity)dim);
}
world.func_72956_a((Entity)player, "allweapon:fengxuan", 1.0f, 1.0f);
magicDamage = 1.0f + ItemSlashBlade.AttackAmplifier.get(tag).floatValue() * ((float)level / 5.0f);
for (int i = 0; i < 5; ++i) {
EntityDrive entityDrive = new EntityDrive(world, (EntityLivingBase)player, Math.min(1.0f, magicDamage / 3.0f), false, 0.0f);
float rotationYaw = (float)(60 * i) + (entityDrive.getRand().nextFloat() - 0.5f) * 60.0f;
float rotationPitch = (entityDrive.getRand().nextFloat() - 0.5f) * 60.0f;
float fYawDtoR = rotationYaw / 180.0f * 3.141593f;
float fPitDtoR = rotationPitch / 180.0f * 3.141593f;
float fYVecOfst = 0.5f;
float motionX = -MathHelper.func_76126_a((float)fYawDtoR) * MathHelper.func_76134_b((float)fPitDtoR) * fYVecOfst * 2.0f;
float motionY = -MathHelper.func_76126_a((float)fPitDtoR) * fYVecOfst;
float motionZ = MathHelper.func_76134_b((float)fYawDtoR) * MathHelper.func_76134_b((float)fPitDtoR) * fYVecOfst * 2.0f;
entityDrive.func_70012_b(pos.field_72450_a - (double)motionX, pos.field_72448_b - (double)motionY, pos.field_72449_c - (double)motionZ, rotationYaw, rotationPitch);
entityDrive.setDriveVector(fYVecOfst);
entityDrive.setLifeTime(8);
entityDrive.setIsMultiHit(false);
int rank = StylishRankManager.getStylishRank((Entity)player);
if (5 <= rank) {
EnumSet type = blade.getSwordType(stack);
entityDrive.setIsSlashDimension(type.contains(ItemSlashBlade.SwordType.FiercerEdge));
}
entityDrive.setRoll(90.0f + 120.0f * (entityDrive.getRand().nextFloat() - 0.5f));
if (entityDrive == null) continue;
world.func_72838_d((Entity)entityDrive);
}
}
} else {
ItemSlashBlade.setComboSequence((NBTTagCompound)tag, (ItemSlashBlade.ComboSequence)ItemSlashBlade.ComboSequence.SlashDim);
player.field_70170_p.func_72908_a(player.field_70165_t, player.field_70163_u, player.field_70161_v, "mob.endermen.portal", 0.5f, 1.0f);
int cost = -20;
if (!ItemSlashBlade.ProudSoul.tryAdd(tag, Integer.valueOf(-20), false)) {
ItemSlashBlade.damageItem((ItemStack)stack, (int)10, (EntityLivingBase)player);
}
AxisAlignedBB bb = target.field_70121_D.func_72329_c();
bb = bb.func_72314_b(2.0, 0.25, 2.0);
List list = world.func_94576_a((Entity)player, bb, ItemSlashBlade.AttackableSelector);
if (!ItemSlashBlade.AttackableSelector.func_82704_a(target)) {
list.add(target);
}
ItemSlashBlade blade = (ItemSlashBlade)stack.func_77973_b();
for (Entity curEntity : (java.util.List<Entity>)(java.util.List<?>)list) {
StylishRankManager.setNextAttackType((Entity)player, (String)StylishRankManager.AttackTypes.SlashDim);
blade.attackTargetEntity(stack, curEntity, player, Boolean.valueOf(true));
player.func_71047_c(curEntity);
}
int level = EnchantmentHelper.func_77506_a((int)Enchantment.field_77345_t.field_77352_x, (ItemStack)stack);
float magicDamage = 1.0f + ItemSlashBlade.AttackAmplifier.get(tag).floatValue() * ((float)level / 5.0f);
if (level > 0) {
for (int i = 0; i < 5; ++i) {
EntityDrive entityDrive = new EntityDrive(world, (EntityLivingBase)player, Math.min(1.0f, magicDamage / 3.0f), false, 0.0f);
float rotationYaw = target.field_70177_z + (float)(60 * i) + (entityDrive.getRand().nextFloat() - 0.5f) * 60.0f;
float rotationPitch = (entityDrive.getRand().nextFloat() - 0.5f) * 60.0f;
float fYawDtoR = rotationYaw / 180.0f * 3.141593f;
float fPitDtoR = rotationPitch / 180.0f * 3.141593f;
float fYVecOfst = 0.5f;
float motionX = -MathHelper.func_76126_a((float)fYawDtoR) * MathHelper.func_76134_b((float)fPitDtoR) * fYVecOfst * 2.0f;
float motionY = -MathHelper.func_76126_a((float)fPitDtoR) * fYVecOfst;
float motionZ = MathHelper.func_76134_b((float)fYawDtoR) * MathHelper.func_76134_b((float)fPitDtoR) * fYVecOfst * 2.0f;
entityDrive.func_70012_b(target.field_70165_t - (double)motionX, target.field_70163_u + (double)target.func_70047_e() / 2.0 - (double)motionY, target.field_70161_v - (double)motionZ, rotationYaw, rotationPitch);
entityDrive.setDriveVector(fYVecOfst);
entityDrive.setLifeTime(8);
entityDrive.setIsMultiHit(false);
int rank = StylishRankManager.getStylishRank((Entity)player);
if (5 <= rank) {
EnumSet type = blade.getSwordType(stack);
entityDrive.setIsSlashDimension(type.contains(ItemSlashBlade.SwordType.FiercerEdge));
}
entityDrive.setRoll(90.0f + 120.0f * (entityDrive.getRand().nextFloat() - 0.5f));
if (entityDrive == null) continue;
world.func_72838_d((Entity)entityDrive);
}
}
if (!target.field_70170_p.field_72995_K) {
EntitySlashDimensionAdd dim = new EntitySlashDimensionAdd(world, (EntityLivingBase)player, magicDamage);
if (dim != null) {
dim.func_70107_b(target.field_70165_t, target.field_70163_u + (double)target.field_70131_O / 2.0, target.field_70161_v);
dim.setLifeTime(50);
dim.setIsSlashDimension(true);
dim.setColor(0xFFFFFF);
world.func_72838_d((Entity)dim);
}
world.func_72956_a((Entity)player, "allweapon:fengxuan", 1.0f, 1.0f);
}
}
}
public void doSuperSpecialAttack(ItemStack stack, EntityPlayer player) {
EntityJudgmentCutManager entityDA = new EntityJudgmentCutManager(player.field_70170_p, (EntityLivingBase)player);
if (entityDA != null) {
player.field_70170_p.func_72838_d((Entity)entityDA);
}
UntouchableTime.setUntouchableTime((Entity)player, (int)30, (boolean)true);
}
}
@@ -0,0 +1,72 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBlade$ComboSequence
* mods.flammpfeil.slashblade.ability.StylishRankManager
* mods.flammpfeil.slashblade.specialattack.SpecialAttackBase
* net.minecraft.enchantment.Enchantment
* net.minecraft.enchantment.EnchantmentHelper
* net.minecraft.entity.Entity
* net.minecraft.entity.EntityLivingBase
* net.minecraft.entity.player.EntityPlayer
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.world.World
*/
package com.moe.allweapon.SA;
import com.moe.allweapon.Entityadd.EntityDriveAdd;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ability.StylishRankManager;
import mods.flammpfeil.slashblade.specialattack.SpecialAttackBase;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
public class SAfuzhan
extends SpecialAttackBase {
public String toString() {
return "fuzhan";
}
public void doSpacialAttack(ItemStack stack, EntityPlayer player) {
World world = player.field_70170_p;
NBTTagCompound tag = ItemSlashBlade.getItemTagCompound((ItemStack)stack);
if (!world.field_72995_K) {
int cost = -10;
if (!ItemSlashBlade.ProudSoul.tryAdd(tag, Integer.valueOf(-10), false)) {
ItemSlashBlade.damageItem((ItemStack)stack, (int)5, (EntityLivingBase)player);
}
ItemSlashBlade blade = (ItemSlashBlade)stack.func_77973_b();
float baseModif = blade.getBaseAttackModifiers(tag);
int level = EnchantmentHelper.func_77506_a((int)Enchantment.field_77345_t.field_77352_x, (ItemStack)stack);
float magicDamage = baseModif;
int rank = StylishRankManager.getStylishRank((Entity)player);
if (5 <= rank) {
magicDamage += ItemSlashBlade.AttackAmplifier.get(tag).floatValue() * (0.5f + (float)level / 5.0f);
}
EntityDriveAdd entityDrive = new EntityDriveAdd(world, (EntityLivingBase)player, magicDamage, false, 0.0f - ItemSlashBlade.ComboSequence.Battou.swingDirection);
entityDrive.func_70015_d(100);
entityDrive.setColor(0xFF0000);
entityDrive.setc(Float.valueOf(40.0f));
entityDrive.setk(Float.valueOf(10.25f));
entityDrive.setg(Float.valueOf(10.0f));
entityDrive.setInitialSpeed(1.5f);
entityDrive.setLifeTime(50);
entityDrive.setParticle("flame");
if (entityDrive != null) {
world.func_72838_d((Entity)entityDrive);
}
}
world.func_72956_a((Entity)player, "allweapon:yanfuzhan", 1.0f, 1.0f);
ItemSlashBlade.setComboSequence((NBTTagCompound)tag, (ItemSlashBlade.ComboSequence)ItemSlashBlade.ComboSequence.Battou);
}
}
@@ -0,0 +1,92 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* mods.flammpfeil.slashblade.EntityDirectAttackDummy
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBlade$ComboSequence
* mods.flammpfeil.slashblade.specialattack.SpecialAttackBase
* net.minecraft.enchantment.Enchantment
* net.minecraft.enchantment.EnchantmentHelper
* net.minecraft.entity.Entity
* net.minecraft.entity.EntityLivingBase
* net.minecraft.entity.player.EntityPlayer
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.potion.Potion
* net.minecraft.potion.PotionEffect
* net.minecraft.world.World
*/
package com.moe.allweapon.SA;
import com.moe.allweapon.Entityadd.EntitySummonedButterfly;
import java.util.Random;
import mods.flammpfeil.slashblade.EntityDirectAttackDummy;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.specialattack.SpecialAttackBase;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.world.World;
public class SAhuanyingdie
extends SpecialAttackBase {
public String toString() {
return "huanyingdie";
}
public void doSpacialAttack(ItemStack stack, EntityPlayer player) {
World world = player.field_70170_p;
NBTTagCompound tag = ItemSlashBlade.getItemTagCompound((ItemStack)stack);
if (!world.field_72995_K) {
int cost = -20;
if (!ItemSlashBlade.ProudSoul.tryAdd(tag, Integer.valueOf(-20), false)) {
ItemSlashBlade.damageItem((ItemStack)stack, (int)10, (EntityLivingBase)player);
}
double playerDist = 5.0;
float attackDist = (float)(playerDist / 3.0);
if (!player.field_70122_E) {
playerDist *= (double)0.35f;
}
double a = -Math.sin(Math.toRadians(player.field_70177_z)) * playerDist;
double b = Math.cos(Math.toRadians(player.field_70177_z)) * playerDist;
player.field_70159_w = a;
player.field_70179_y = b;
ItemSlashBlade blade = (ItemSlashBlade)stack.func_77973_b();
player.func_70690_d(new PotionEffect(Potion.field_76420_g.func_76396_c(), 10, 0, true));
EntityDirectAttackDummy entityDA = new EntityDirectAttackDummy(world, (EntityLivingBase)player, false);
entityDA.setLifeTime(27);
if (entityDA != null) {
world.func_72838_d((Entity)entityDA);
}
}
world.func_72956_a((Entity)player, "allweapon:yanfan", 1.0f, 1.0f);
ItemSlashBlade.setComboSequence((NBTTagCompound)tag, (ItemSlashBlade.ComboSequence)ItemSlashBlade.ComboSequence.HiraTuki);
if (!world.field_72995_K) {
Random rand = new Random();
for (int i = 0; i < 12; ++i) {
float a = rand.nextInt(30);
float b = rand.nextInt(30);
float e = rand.nextInt(30);
ItemSlashBlade blade = (ItemSlashBlade)stack.func_77973_b();
float baseModif = blade.getBaseAttackModifiers(tag);
int level = EnchantmentHelper.func_77506_a((int)Enchantment.field_77345_t.field_77352_x, (ItemStack)stack);
float magicDamage = baseModif / 12.0f;
EntitySummonedButterfly entityDrive = new EntitySummonedButterfly(world, (EntityLivingBase)player, magicDamage += ItemSlashBlade.AttackAmplifier.get(tag).floatValue() * ((float)level / 12.0f), 0.0f);
if (entityDrive == null) continue;
entityDrive.func_70012_b(player.field_70165_t + (double)((15.0f - a) / 10.0f), player.field_70163_u + (double)((15.0f - b) / 10.0f) + (double)player.func_70047_e() / 2.0, player.field_70161_v + (double)((15.0f - e) / 10.0f), player.field_70177_z + (float)(i * 30), 0.0f);
entityDrive.setDriveVector((float)(1.0E-4 * (double)a * (double)i + 1.0E-4));
entityDrive.setInterval((i + 1) * 3);
entityDrive.setLifeTime(40);
entityDrive.setColor(65407);
world.func_72838_d((Entity)entityDrive);
}
}
}
}
@@ -0,0 +1,70 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBlade$ComboSequence
* mods.flammpfeil.slashblade.specialattack.SpecialAttackBase
* net.minecraft.enchantment.Enchantment
* net.minecraft.enchantment.EnchantmentHelper
* net.minecraft.entity.Entity
* net.minecraft.entity.EntityLivingBase
* net.minecraft.entity.player.EntityPlayer
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.world.World
*/
package com.moe.allweapon.SA;
import com.moe.allweapon.Entityadd.EntitySummonedButterfly;
import java.util.Random;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.specialattack.SpecialAttackBase;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
public class SAhuanyingdie2
extends SpecialAttackBase {
public String toString() {
return "huanyingdie2";
}
public void doSpacialAttack(ItemStack stack, EntityPlayer player) {
World world = player.field_70170_p;
NBTTagCompound tag = ItemSlashBlade.getItemTagCompound((ItemStack)stack);
if (!world.field_72995_K) {
int cost = -20;
if (!ItemSlashBlade.ProudSoul.tryAdd(tag, Integer.valueOf(-20), false)) {
ItemSlashBlade.damageItem((ItemStack)stack, (int)10, (EntityLivingBase)player);
}
}
world.func_72956_a((Entity)player, "allweapon:yanfan", 1.0f, 1.0f);
ItemSlashBlade.setComboSequence((NBTTagCompound)tag, (ItemSlashBlade.ComboSequence)ItemSlashBlade.ComboSequence.HiraTuki);
if (!world.field_72995_K) {
Random rand = new Random();
for (int i = 0; i < 24; ++i) {
float a = rand.nextInt(100);
float b = rand.nextInt(30);
float e = rand.nextInt(100);
ItemSlashBlade blade = (ItemSlashBlade)stack.func_77973_b();
float baseModif = blade.getBaseAttackModifiers(tag);
int level = EnchantmentHelper.func_77506_a((int)Enchantment.field_77345_t.field_77352_x, (ItemStack)stack);
float magicDamage = baseModif / 50.0f;
EntitySummonedButterfly entityDrive = new EntitySummonedButterfly(world, (EntityLivingBase)player, magicDamage += ItemSlashBlade.AttackAmplifier.get(tag).floatValue() * ((float)level / 50.0f), 0.0f);
if (entityDrive == null) continue;
entityDrive.func_70012_b(player.field_70165_t + (double)((50.0f - a) / 10.0f), player.field_70163_u + (double)((15.0f - b) / 10.0f) + (double)player.func_70047_e() / 2.0, player.field_70161_v + (double)((50.0f - e) / 10.0f), player.field_70177_z + (float)(i * 30), 0.0f);
entityDrive.setDriveVector((float)(1.0E-4 * (double)a * (double)i + 1.0E-4));
entityDrive.setInterval((i + 1) * 3);
entityDrive.setLifeTime(80);
entityDrive.setColor(0xFFFFFF);
world.func_72838_d((Entity)entityDrive);
}
}
}
}
@@ -0,0 +1,119 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* mods.flammpfeil.slashblade.EntityDirectAttackDummy
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBlade$ComboSequence
* mods.flammpfeil.slashblade.ability.StylishRankManager
* mods.flammpfeil.slashblade.ability.StylishRankManager$AttackTypes
* mods.flammpfeil.slashblade.specialattack.SpecialAttackBase
* net.minecraft.entity.Entity
* net.minecraft.entity.EntityLivingBase
* net.minecraft.entity.player.EntityPlayer
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.potion.Potion
* net.minecraft.potion.PotionEffect
* net.minecraft.util.AxisAlignedBB
* net.minecraft.util.Vec3
* net.minecraft.world.World
*/
package com.moe.allweapon.SA;
import java.util.List;
import mods.flammpfeil.slashblade.EntityDirectAttackDummy;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ability.StylishRankManager;
import mods.flammpfeil.slashblade.specialattack.SpecialAttackBase;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
public class SAliedi
extends SpecialAttackBase {
public String toString() {
return "liedi";
}
public void doSpacialAttack(ItemStack stack, EntityPlayer player) {
World world = player.field_70170_p;
NBTTagCompound tag = ItemSlashBlade.getItemTagCompound((ItemStack)stack);
double playerDist = 7.0;
float attackDist = (float)(playerDist / 3.0);
if (!player.field_70122_E) {
playerDist *= (double)0.35f;
}
player.field_70159_w = -Math.sin(Math.toRadians(player.field_70177_z)) * playerDist;
player.field_70179_y = Math.cos(Math.toRadians(player.field_70177_z)) * playerDist;
if (!world.field_72995_K) {
Entity tmp;
int cost = -20;
if (!ItemSlashBlade.ProudSoul.tryAdd(tag, Integer.valueOf(-20), false)) {
ItemSlashBlade.damageItem((ItemStack)stack, (int)10, (EntityLivingBase)player);
}
ItemSlashBlade blade = (ItemSlashBlade)stack.func_77973_b();
Entity target = null;
int entityId = ItemSlashBlade.TargetEntityId.get(tag);
if (entityId != 0 && (tmp = world.func_73045_a(entityId)) != null && tmp.func_70032_d((Entity)player) < 30.0f) {
target = tmp;
}
if (target == null) {
target = this.getEntityToWatch(player);
}
if (target != null) {
ItemSlashBlade.setComboSequence((NBTTagCompound)tag, (ItemSlashBlade.ComboSequence)ItemSlashBlade.ComboSequence.SlashDim);
StylishRankManager.setNextAttackType((Entity)player, (String)StylishRankManager.AttackTypes.PhantomSword);
blade.attackTargetEntity(stack, target, player, Boolean.valueOf(true));
player.func_71009_b(target);
target.field_70159_w = 0.0;
target.field_70181_x = 0.0;
target.field_70179_y = 0.0;
if (target instanceof EntityLivingBase) {
blade.setDaunting((EntityLivingBase)target);
((EntityLivingBase)target).field_70737_aN = 0;
((EntityLivingBase)target).field_70172_ad = 0;
}
player.func_70690_d(new PotionEffect(Potion.field_76420_g.func_76396_c(), 20, 3, true));
target.func_70107_b(target.field_70165_t, target.field_70163_u + 15.0, target.field_70161_v);
EntityDirectAttackDummy entityDA = new EntityDirectAttackDummy(world, (EntityLivingBase)player, false);
entityDA.setLifeTime(42);
if (entityDA != null) {
world.func_72838_d((Entity)entityDA);
}
}
world.func_72956_a((Entity)player, "random.explode", 1.0f, 1.0f);
ItemSlashBlade.setComboSequence((NBTTagCompound)tag, (ItemSlashBlade.ComboSequence)ItemSlashBlade.ComboSequence.HiraTuki);
}
}
private Entity getEntityToWatch(EntityPlayer player) {
World world = player.field_70170_p;
Entity target = null;
for (int dist = 2; dist < 20; dist += 2) {
AxisAlignedBB bb = player.field_70121_D.func_72329_c();
Vec3 vec = player.func_70040_Z();
vec = vec.func_72432_b();
bb = bb.func_72314_b(2.0, 0.25, 2.0);
bb = bb.func_72317_d(vec.field_72450_a * (double)dist, vec.field_72448_b * (double)dist, vec.field_72449_c * (double)dist);
List list = world.func_94576_a((Entity)player, bb, ItemSlashBlade.AttackableSelector);
float distance = 30.0f;
for (Entity curEntity : (java.util.List<Entity>)(java.util.List<?>)list) {
float curDist = curEntity.func_70032_d((Entity)player);
if (!(curDist < distance)) continue;
target = curEntity;
distance = curDist;
}
if (target != null) break;
}
return target;
}
}
@@ -0,0 +1,99 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBlade$ComboSequence
* mods.flammpfeil.slashblade.ability.StylishRankManager
* mods.flammpfeil.slashblade.ability.StylishRankManager$AttackTypes
* mods.flammpfeil.slashblade.specialattack.SpecialAttackBase
* net.minecraft.enchantment.Enchantment
* net.minecraft.enchantment.EnchantmentHelper
* net.minecraft.entity.Entity
* net.minecraft.entity.EntityLivingBase
* net.minecraft.entity.player.EntityPlayer
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.util.AxisAlignedBB
* net.minecraft.world.World
*/
package com.moe.allweapon.SA;
import com.moe.allweapon.Entityadd.EntityDriveAdd;
import java.util.List;
import java.util.Random;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ability.StylishRankManager;
import mods.flammpfeil.slashblade.specialattack.SpecialAttackBase;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.World;
public class SAoulaoula
extends SpecialAttackBase {
public static String AttackType = StylishRankManager.AttackTypes.registerAttackType((String)"OverSlash", (float)0.5f);
public String toString() {
return "oulaoula";
}
public void doSpacialAttack(ItemStack stack, EntityPlayer player) {
World world = player.field_70170_p;
NBTTagCompound tag = ItemSlashBlade.getItemTagCompound((ItemStack)stack);
player.field_70170_p.func_72956_a((Entity)player, "mob.blaze.hit", 0.2f, 0.6f);
if (!world.field_72995_K) {
int cost = -20;
if (!ItemSlashBlade.ProudSoul.tryAdd(tag, Integer.valueOf(-20), false)) {
ItemSlashBlade.damageItem((ItemStack)stack, (int)10, (EntityLivingBase)player);
}
ItemSlashBlade blade = (ItemSlashBlade)stack.func_77973_b();
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);
for (Entity curEntity : (java.util.List<Entity>)(java.util.List<?>)list) {
StylishRankManager.setNextAttackType((Entity)player, (String)StylishRankManager.AttackTypes.CircleSlash);
blade.attackTargetEntity(stack, curEntity, player, Boolean.valueOf(true));
player.func_71009_b(curEntity);
}
float baseModif = blade.getBaseAttackModifiers(tag);
int level = Math.max(1, EnchantmentHelper.func_77506_a((int)Enchantment.field_77345_t.field_77352_x, (ItemStack)stack));
float magicDamage = baseModif / 20.0f;
int rank = StylishRankManager.getStylishRank((Entity)player);
if (5 <= rank) {
magicDamage += ItemSlashBlade.AttackAmplifier.get(tag).floatValue() * (0.25f + (float)level / 5.0f) / 5.0f;
}
Random rand = new Random();
for (int o = 0; o < 10; ++o) {
world.func_72956_a((Entity)player, "allweapon:oulaoula", 1.0f, 1.0f);
for (int o1 = 0; o1 < 4; ++o1) {
float a = rand.nextInt(10);
float b = rand.nextInt(10);
float c = rand.nextInt(10);
float d = rand.nextInt(10);
float e = (float)((double)rand.nextFloat() * 0.25);
EntityDriveAdd entityDrive = new EntityDriveAdd(world, (EntityLivingBase)player, magicDamage, false, d * 18.0f);
if (entityDrive == null) continue;
entityDrive.setColor(0xFFFFFF);
entityDrive.setc(Float.valueOf(0.125f));
entityDrive.setk(Float.valueOf(0.35f));
entityDrive.setg(Float.valueOf(0.125f));
entityDrive.func_70012_b(player.field_70165_t + (double)((5.0f - a) / 10.0f), player.field_70163_u + (double)((5.0f - b) / 10.0f) + (double)player.func_70047_e() / 2.0, player.field_70161_v + (double)((5.0f - c) / 10.0f), player.field_70177_z, 0.0f);
entityDrive.setDriveVector((float)(0.003 * (double)o1 + 0.001));
entityDrive.setLifeTime((int)d * 5);
entityDrive.setIsMultiHit(false);
entityDrive.setRoll(d * 18.0f);
world.func_72838_d((Entity)entityDrive);
world.func_72956_a((Entity)player, "allweapon:oulaoula", 1.0f, 1.0f);
}
}
}
ItemSlashBlade.setComboSequence((NBTTagCompound)tag, (ItemSlashBlade.ComboSequence)ItemSlashBlade.ComboSequence.Battou);
}
}
@@ -0,0 +1,74 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBlade$ComboSequence
* mods.flammpfeil.slashblade.ability.StylishRankManager
* mods.flammpfeil.slashblade.specialattack.SpecialAttackBase
* net.minecraft.enchantment.Enchantment
* net.minecraft.enchantment.EnchantmentHelper
* net.minecraft.entity.Entity
* net.minecraft.entity.EntityLivingBase
* net.minecraft.entity.player.EntityPlayer
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.world.World
*/
package com.moe.allweapon.SA;
import com.moe.allweapon.Entityadd.EntityDriveAdd;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ability.StylishRankManager;
import mods.flammpfeil.slashblade.specialattack.SpecialAttackBase;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
public class SAqicai
extends SpecialAttackBase {
public String toString() {
return "qicaizhan";
}
public void doSpacialAttack(ItemStack stack, EntityPlayer player) {
World world = player.field_70170_p;
NBTTagCompound tag = ItemSlashBlade.getItemTagCompound((ItemStack)stack);
if (!world.field_72995_K) {
int cost = -10;
if (!ItemSlashBlade.ProudSoul.tryAdd(tag, Integer.valueOf(-10), false)) {
ItemSlashBlade.damageItem((ItemStack)stack, (int)5, (EntityLivingBase)player);
}
ItemSlashBlade blade = (ItemSlashBlade)stack.func_77973_b();
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[] speeds = new float[]{0.55f, 0.5f, 0.45f, 0.4f, 0.35f, 0.3f, 0.25f};
int[] colors = new int[]{0xFF0000, 0xFF7F00, 0xFFFF00, 65280, 65535, 0x4D4DFF, 10040013};
int rank = StylishRankManager.getStylishRank((Entity)player);
if (5 <= rank) {
magicDamage += ItemSlashBlade.AttackAmplifier.get(tag).floatValue() * (0.5f + (float)level / 5.0f);
}
for (int i = 0; i < 7; ++i) {
EntityDriveAdd entityDrive = new EntityDriveAdd(world, (EntityLivingBase)player, magicDamage, false, 0.0f - ItemSlashBlade.ComboSequence.Battou.swingDirection);
entityDrive.setColor(colors[i]);
entityDrive.setc(Float.valueOf(2.0f));
entityDrive.setk(Float.valueOf(0.45f));
entityDrive.setg(Float.valueOf(2.0f));
entityDrive.setInitialSpeed(speeds[i] / 5.0f);
entityDrive.setLifeTime(80);
entityDrive.setParticle("enchantmenttable");
if (entityDrive == null) continue;
world.func_72838_d((Entity)entityDrive);
}
}
world.func_72956_a((Entity)player, "allweapon:yanfan", 1.0f, 1.0f);
ItemSlashBlade.setComboSequence((NBTTagCompound)tag, (ItemSlashBlade.ComboSequence)ItemSlashBlade.ComboSequence.Battou);
}
}
@@ -0,0 +1,126 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBlade$ComboSequence
* mods.flammpfeil.slashblade.ability.StylishRankManager
* mods.flammpfeil.slashblade.ability.StylishRankManager$AttackTypes
* mods.flammpfeil.slashblade.specialattack.SpecialAttackBase
* net.minecraft.enchantment.Enchantment
* net.minecraft.enchantment.EnchantmentHelper
* net.minecraft.entity.Entity
* net.minecraft.entity.EntityLivingBase
* net.minecraft.entity.player.EntityPlayer
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.util.AxisAlignedBB
* net.minecraft.util.Vec3
* net.minecraft.world.World
*/
package com.moe.allweapon.SA;
import com.moe.allweapon.Entityadd.EntityDriveAdd;
import java.util.List;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ability.StylishRankManager;
import mods.flammpfeil.slashblade.specialattack.SpecialAttackBase;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
public class SAweizhan
extends SpecialAttackBase {
public String toString() {
return "weizhan";
}
public void doSpacialAttack(ItemStack stack, EntityPlayer player) {
World world = player.field_70170_p;
NBTTagCompound tag = ItemSlashBlade.getItemTagCompound((ItemStack)stack);
if (!world.field_72995_K) {
Entity tmp;
int cost = -10;
if (!ItemSlashBlade.ProudSoul.tryAdd(tag, Integer.valueOf(-10), false)) {
ItemSlashBlade.damageItem((ItemStack)stack, (int)5, (EntityLivingBase)player);
}
ItemSlashBlade blade = (ItemSlashBlade)stack.func_77973_b();
float baseModif = blade.getBaseAttackModifiers(tag);
int level = EnchantmentHelper.func_77506_a((int)Enchantment.field_77345_t.field_77352_x, (ItemStack)stack);
float magicDamage = baseModif;
int rank = StylishRankManager.getStylishRank((Entity)player);
Entity target = null;
int entityId = ItemSlashBlade.TargetEntityId.get(tag);
if (entityId != 0 && (tmp = world.func_73045_a(entityId)) != null && tmp.func_70032_d((Entity)player) < 30.0f) {
target = tmp;
}
if (target == null) {
target = this.getEntityToWatch(player);
}
if (target != null) {
ItemSlashBlade.setComboSequence((NBTTagCompound)tag, (ItemSlashBlade.ComboSequence)ItemSlashBlade.ComboSequence.SlashDim);
StylishRankManager.setNextAttackType((Entity)player, (String)StylishRankManager.AttackTypes.PhantomSword);
blade.attackTargetEntity(stack, target, player, Boolean.valueOf(true));
player.func_71009_b(target);
target.field_70159_w = 0.0;
target.field_70181_x = 0.0;
target.field_70179_y = 0.0;
if (target instanceof EntityLivingBase) {
blade.setDaunting((EntityLivingBase)target);
((EntityLivingBase)target).field_70737_aN = 0;
((EntityLivingBase)target).field_70172_ad = 0;
}
if (5 <= rank) {
magicDamage += ItemSlashBlade.AttackAmplifier.get(tag).floatValue() * (0.5f + (float)level / 5.0f);
}
for (int i = 0; i < 8; ++i) {
EntityDriveAdd entityDrive = new EntityDriveAdd(world, (EntityLivingBase)player, magicDamage, false, 0.0f - ItemSlashBlade.ComboSequence.Battou.swingDirection);
entityDrive.func_70034_d(i);
entityDrive.field_70165_t = target.field_70165_t;
entityDrive.field_70163_u = target.field_70163_u + 1.0;
entityDrive.field_70161_v = target.field_70161_v;
entityDrive.setColor(0xFF0000);
entityDrive.setc(Float.valueOf(0.0f));
entityDrive.setk(Float.valueOf(0.0f));
entityDrive.setg(Float.valueOf(0.0f));
entityDrive.setLifeTime(10);
entityDrive.setParticle("enchantmenttable");
if (entityDrive == null) continue;
world.func_72838_d((Entity)entityDrive);
}
}
world.func_72956_a((Entity)player, "allweapon:yanfuzhan", 1.0f, 1.0f);
ItemSlashBlade.setComboSequence((NBTTagCompound)tag, (ItemSlashBlade.ComboSequence)ItemSlashBlade.ComboSequence.Battou);
}
}
private Entity getEntityToWatch(EntityPlayer player) {
World world = player.field_70170_p;
Entity target = null;
for (int dist = 2; dist < 20; dist += 2) {
AxisAlignedBB bb = player.field_70121_D.func_72329_c();
Vec3 vec = player.func_70040_Z();
vec = vec.func_72432_b();
bb = bb.func_72314_b(2.0, 0.25, 2.0);
bb = bb.func_72317_d(vec.field_72450_a * (double)dist, vec.field_72448_b * (double)dist, vec.field_72449_c * (double)dist);
List list = world.func_94576_a((Entity)player, bb, ItemSlashBlade.AttackableSelector);
float distance = 30.0f;
for (Entity curEntity : (java.util.List<Entity>)(java.util.List<?>)list) {
float curDist = curEntity.func_70032_d((Entity)player);
if (!(curDist < distance)) continue;
target = curEntity;
distance = curDist;
}
if (target != null) break;
}
return target;
}
}
@@ -0,0 +1,72 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBlade$ComboSequence
* mods.flammpfeil.slashblade.ability.StylishRankManager
* mods.flammpfeil.slashblade.specialattack.SpecialAttackBase
* net.minecraft.enchantment.Enchantment
* net.minecraft.enchantment.EnchantmentHelper
* net.minecraft.entity.Entity
* net.minecraft.entity.EntityLivingBase
* net.minecraft.entity.player.EntityPlayer
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.world.World
*/
package com.moe.allweapon.SA;
import com.moe.allweapon.Entityadd.EntityDriveAdd;
import java.util.Random;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ability.StylishRankManager;
import mods.flammpfeil.slashblade.specialattack.SpecialAttackBase;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
public class SAxingbao
extends SpecialAttackBase {
public String toString() {
return "xingbao";
}
public void doSpacialAttack(ItemStack stack, EntityPlayer player) {
World world = player.field_70170_p;
NBTTagCompound tag = ItemSlashBlade.getItemTagCompound((ItemStack)stack);
if (!world.field_72995_K) {
if (!ItemSlashBlade.ProudSoul.tryAdd(tag, Integer.valueOf(-500), false)) {
ItemSlashBlade.damageItem((ItemStack)stack, (int)5, (EntityLivingBase)player);
}
ItemSlashBlade blade = (ItemSlashBlade)stack.func_77973_b();
float baseModif = blade.getBaseAttackModifiers(tag);
int level = EnchantmentHelper.func_77506_a((int)Enchantment.field_77345_t.field_77352_x, (ItemStack)stack);
float magicDamage = baseModif;
Random rand = new Random();
int rank = StylishRankManager.getStylishRank((Entity)player);
if (5 <= rank) {
magicDamage = baseModif + ItemSlashBlade.AttackAmplifier.get(tag).floatValue() * (0.5f + (float)level / 5.0f);
}
for (int i = 0; i < 9; ++i) {
float a = rand.nextInt(360);
EntityDriveAdd entityDrive = new EntityDriveAdd(world, (EntityLivingBase)player, magicDamage, false, a - ItemSlashBlade.ComboSequence.Battou.swingDirection);
entityDrive.setColor(0xFF0000);
entityDrive.setc(Float.valueOf(2.0f));
entityDrive.setk(Float.valueOf(0.45f));
entityDrive.setg(Float.valueOf(2.0f));
entityDrive.setInitialSpeed((float)i * 0.1f + 0.1f);
entityDrive.setLifeTime(50);
if (entityDrive == null) continue;
world.func_72838_d((Entity)entityDrive);
}
}
ItemSlashBlade.setComboSequence((NBTTagCompound)tag, (ItemSlashBlade.ComboSequence)ItemSlashBlade.ComboSequence.Battou);
}
}
@@ -0,0 +1,138 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBlade$ComboSequence
* mods.flammpfeil.slashblade.ability.StylishRankManager
* mods.flammpfeil.slashblade.ability.StylishRankManager$AttackTypes
* mods.flammpfeil.slashblade.specialattack.SpecialAttackBase
* net.minecraft.enchantment.Enchantment
* net.minecraft.enchantment.EnchantmentHelper
* net.minecraft.entity.Entity
* net.minecraft.entity.EntityLivingBase
* net.minecraft.entity.player.EntityPlayer
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.util.AxisAlignedBB
* net.minecraft.util.Vec3
* net.minecraft.world.World
*/
package com.moe.allweapon.SA;
import com.moe.allweapon.Entityadd.EntityDriveAdd;
import com.moe.allweapon.Entityadd.EntitySummonedSwordPotionEffectAdd;
import java.util.List;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ability.StylishRankManager;
import mods.flammpfeil.slashblade.specialattack.SpecialAttackBase;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
public class SAxuepo
extends SpecialAttackBase {
public String toString() {
return "xuepo";
}
public void doSpacialAttack(ItemStack stack, EntityPlayer player) {
World world = player.field_70170_p;
NBTTagCompound tag = ItemSlashBlade.getItemTagCompound((ItemStack)stack);
if (!world.field_72995_K) {
Entity tmp;
int cost = -50;
if (!ItemSlashBlade.ProudSoul.tryAdd(tag, Integer.valueOf(-50), false)) {
ItemSlashBlade.damageItem((ItemStack)stack, (int)5, (EntityLivingBase)player);
}
ItemSlashBlade blade = (ItemSlashBlade)stack.func_77973_b();
float baseModif = blade.getBaseAttackModifiers(tag);
int level = EnchantmentHelper.func_77506_a((int)Enchantment.field_77345_t.field_77352_x, (ItemStack)stack);
float magicDamage = baseModif;
int rank = StylishRankManager.getStylishRank((Entity)player);
if (5 <= rank) {
magicDamage += ItemSlashBlade.AttackAmplifier.get(tag).floatValue() * (0.5f + (float)level / 5.0f);
}
for (int i = 0; i < 1; ++i) {
EntityDriveAdd entityDrive = new EntityDriveAdd(world, (EntityLivingBase)player, magicDamage, false, 0.0f - ItemSlashBlade.ComboSequence.Battou.swingDirection);
entityDrive.setChangeTime(20);
entityDrive.setNextSpeed(1.8f);
entityDrive.setColor(0xFFFFFF);
entityDrive.setc(Float.valueOf(2.0f));
entityDrive.setk(Float.valueOf(0.5f));
entityDrive.setg(Float.valueOf(2.0f));
entityDrive.setInitialSpeed(0.008f);
entityDrive.setLifeTime(150);
entityDrive.setParticle("snowshovel");
if (entityDrive == null) continue;
world.func_72838_d((Entity)entityDrive);
}
Entity target = null;
int entityId = ItemSlashBlade.TargetEntityId.get(tag);
if (entityId != 0 && (tmp = world.func_73045_a(entityId)) != null && tmp.func_70032_d((Entity)player) < 30.0f) {
target = tmp;
}
if (target == null) {
target = this.getEntityToWatch(player);
}
if (target != null) {
ItemSlashBlade.setComboSequence((NBTTagCompound)tag, (ItemSlashBlade.ComboSequence)ItemSlashBlade.ComboSequence.SlashDim);
StylishRankManager.setNextAttackType((Entity)player, (String)StylishRankManager.AttackTypes.PhantomSword);
blade.attackTargetEntity(stack, target, player, Boolean.valueOf(true));
player.func_71009_b(target);
target.field_70159_w = 0.0;
target.field_70181_x = 0.0;
target.field_70179_y = 0.0;
if (target instanceof EntityLivingBase) {
blade.setDaunting((EntityLivingBase)target);
((EntityLivingBase)target).field_70737_aN = 0;
((EntityLivingBase)target).field_70172_ad = 0;
}
int count = 1 + StylishRankManager.getStylishRank((Entity)player);
for (int i = 0; i < 3; ++i) {
if (world.field_72995_K) continue;
boolean isBurst = i % 2 == 0;
EntitySummonedSwordPotionEffectAdd entityDrive = new EntitySummonedSwordPotionEffectAdd(world, (EntityLivingBase)player, magicDamage, 0.0f);
if (entityDrive == null) continue;
entityDrive.func_70012_b(player.field_70165_t, player.field_70163_u + (double)(i + 1) * 0.5, player.field_70161_v, player.field_70177_z, 0.0f);
entityDrive.setInterval(25);
entityDrive.setLifeTime(30);
entityDrive.setColor(0xFFFFFF);
entityDrive.setTargetEntityId(target.func_145782_y());
world.func_72838_d((Entity)entityDrive);
}
}
ItemSlashBlade.setComboSequence((NBTTagCompound)tag, (ItemSlashBlade.ComboSequence)ItemSlashBlade.ComboSequence.Battou);
}
}
private Entity getEntityToWatch(EntityPlayer player) {
World world = player.field_70170_p;
Entity target = null;
for (int dist = 2; dist < 20; dist += 2) {
AxisAlignedBB bb = player.field_70121_D.func_72329_c();
Vec3 vec = player.func_70040_Z();
vec = vec.func_72432_b();
bb = bb.func_72314_b(2.0, 0.25, 2.0);
bb = bb.func_72317_d(vec.field_72450_a * (double)dist, vec.field_72448_b * (double)dist, vec.field_72449_c * (double)dist);
List list = world.func_94576_a((Entity)player, bb, ItemSlashBlade.AttackableSelector);
float distance = 30.0f;
for (Entity curEntity : (java.util.List<Entity>)(java.util.List<?>)list) {
float curDist = curEntity.func_70032_d((Entity)player);
if (!(curDist < distance)) continue;
target = curEntity;
distance = curDist;
}
if (target != null) break;
}
return target;
}
}
@@ -0,0 +1,73 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBlade$ComboSequence
* mods.flammpfeil.slashblade.ability.StylishRankManager
* mods.flammpfeil.slashblade.specialattack.SpecialAttackBase
* net.minecraft.enchantment.Enchantment
* net.minecraft.enchantment.EnchantmentHelper
* net.minecraft.entity.Entity
* net.minecraft.entity.EntityLivingBase
* net.minecraft.entity.player.EntityPlayer
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.world.World
*/
package com.moe.allweapon.SA;
import com.moe.allweapon.Entityadd.EntityDriveAdd;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ability.StylishRankManager;
import mods.flammpfeil.slashblade.specialattack.SpecialAttackBase;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
public class SAyueyatianchong
extends SpecialAttackBase {
public String toString() {
return "yueyatianchong";
}
public void doSpacialAttack(ItemStack stack, EntityPlayer player) {
World world = player.field_70170_p;
NBTTagCompound tag = ItemSlashBlade.getItemTagCompound((ItemStack)stack);
if (!world.field_72995_K) {
int cost = -10;
if (!ItemSlashBlade.ProudSoul.tryAdd(tag, Integer.valueOf(-10), false)) {
ItemSlashBlade.damageItem((ItemStack)stack, (int)5, (EntityLivingBase)player);
}
ItemSlashBlade blade = (ItemSlashBlade)stack.func_77973_b();
float baseModif = blade.getBaseAttackModifiers(tag);
int level = EnchantmentHelper.func_77506_a((int)Enchantment.field_77345_t.field_77352_x, (ItemStack)stack);
float magicDamage = baseModif;
int rank = StylishRankManager.getStylishRank((Entity)player);
float[] speeds = new float[]{0.25f, 0.3f, 0.35f, 0.4f, 0.45f};
int[] colors = new int[]{0xFF0000, 16720896, 12326679, 9315107, 5123887};
for (int i = 0; i < 5; ++i) {
if (5 <= rank) {
magicDamage += ItemSlashBlade.AttackAmplifier.get(tag).floatValue() * (0.5f + (float)level / 5.0f);
}
EntityDriveAdd entityDrive = new EntityDriveAdd(world, (EntityLivingBase)player, magicDamage, false, 0.0f - ItemSlashBlade.ComboSequence.Battou.swingDirection);
entityDrive.setColor(0xFFFFFF);
entityDrive.setc(Float.valueOf((float)(0.15 * (double)i * (double)i * (double)i + 0.5)));
entityDrive.setk(Float.valueOf(0.25f));
entityDrive.setg(Float.valueOf((float)(0.15 * (double)i * (double)i * (double)i + 0.5)));
entityDrive.setInitialSpeed(speeds[i] / 5.0f);
entityDrive.setLifeTime(100);
if (entityDrive == null) continue;
world.func_72838_d((Entity)entityDrive);
}
}
world.func_72956_a((Entity)player, "allweapon:yueyatianchong", 1.0f, 1.0f);
ItemSlashBlade.setComboSequence((NBTTagCompound)tag, (ItemSlashBlade.ComboSequence)ItemSlashBlade.ComboSequence.Battou);
}
}
@@ -0,0 +1,73 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.relauncher.Side
* cpw.mods.fml.relauncher.SideOnly
* net.minecraft.client.renderer.Tessellator
* net.minecraft.client.renderer.entity.Render
* net.minecraft.entity.Entity
* net.minecraft.util.ResourceLocation
* org.lwjgl.opengl.GL11
*/
package com.moe.allweapon.render;
import com.moe.allweapon.Entityadd.EntityDriveAdd;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
@SideOnly(value=Side.CLIENT)
public class RenderDriveAdd
extends Render {
private static double[][] dVec = new double[][]{{0.0, 1.0, -0.5}, {0.0, 0.75, 0.0}, {0.1, 0.6, -0.15}, {0.0, 0.5, -0.25}, {-0.1, 0.6, -0.15}, {0.0, 0.0, 0.25}, {0.25, 0.0, 0.0}, {0.0, 0.0, -0.25}, {-0.25, 0.0, 0.0}, {0.0, -0.75, 0.0}, {0.1, -0.6, -0.15}, {0.0, -0.5, -0.25}, {-0.1, -0.6, -0.15}, {0.0, -1.0, -0.5}};
private static int[][] nVecPos = new int[][]{{0, 1, 2, 3}, {0, 3, 4, 1}, {1, 5, 6, 2}, {3, 2, 6, 7}, {3, 7, 8, 4}, {1, 4, 8, 5}, {6, 5, 9, 10}, {6, 10, 11, 7}, {8, 7, 11, 12}, {8, 12, 9, 5}, {10, 9, 13, 11}, {12, 11, 13, 9}};
public void func_76986_a(Entity entity, double d0, double d1, double d2, float f, float f1) {
if (entity instanceof EntityDriveAdd) {
this.doDriveRender((EntityDriveAdd)entity, d0, d1, d2, f, f1);
}
}
protected ResourceLocation func_110775_a(Entity var1) {
return null;
}
private void doDriveRender(EntityDriveAdd entityDrive, double dX, double dY, double dZ, float f, float f1) {
Tessellator tessellator = Tessellator.field_78398_a;
GL11.glDisable((int)3553);
GL11.glDisable((int)2896);
GL11.glEnable((int)3042);
GL11.glBlendFunc((int)770, (int)1);
GL11.glPushMatrix();
GL11.glTranslatef((float)((float)dX), (float)((float)dY), (float)((float)dZ));
GL11.glRotatef((float)entityDrive.field_70177_z, (float)0.0f, (float)1.0f, (float)0.0f);
GL11.glRotatef((float)(-entityDrive.field_70125_A), (float)1.0f, (float)0.0f, (float)0.0f);
GL11.glRotatef((float)entityDrive.getRoll(), (float)0.0f, (float)0.0f, (float)1.0f);
float c = entityDrive.getc();
float k = entityDrive.getk();
float g = entityDrive.getg();
GL11.glScalef((float)k, (float)c, (float)g);
float lifetime = entityDrive.getLifeTime();
float ticks = entityDrive.field_70173_aa;
tessellator.func_78382_b();
tessellator.func_78384_a(entityDrive.getColor(), (int)(255.0f * (float)Math.pow((lifetime - Math.min(lifetime, ticks)) / lifetime, 2.0)));
double dScale = 1.0;
for (int idx = 0; idx < nVecPos.length; ++idx) {
tessellator.func_78377_a(dVec[nVecPos[idx][0]][0] * dScale, dVec[nVecPos[idx][0]][1] * dScale, dVec[nVecPos[idx][0]][2] * dScale);
tessellator.func_78377_a(dVec[nVecPos[idx][1]][0] * dScale, dVec[nVecPos[idx][1]][1] * dScale, dVec[nVecPos[idx][1]][2] * dScale);
tessellator.func_78377_a(dVec[nVecPos[idx][2]][0] * dScale, dVec[nVecPos[idx][2]][1] * dScale, dVec[nVecPos[idx][2]][2] * dScale);
tessellator.func_78377_a(dVec[nVecPos[idx][3]][0] * dScale, dVec[nVecPos[idx][3]][1] * dScale, dVec[nVecPos[idx][3]][2] * dScale);
}
tessellator.func_78381_a();
GL11.glPopMatrix();
GL11.glDisable((int)3042);
GL11.glEnable((int)2896);
GL11.glEnable((int)3553);
}
}
@@ -0,0 +1,140 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* mods.flammpfeil.slashblade.client.model.obj.Util
* mods.flammpfeil.slashblade.client.renderer.GlStateManager
* net.minecraft.client.renderer.OpenGlHelper
* net.minecraft.client.renderer.entity.Render
* net.minecraft.client.renderer.texture.TextureManager
* net.minecraft.entity.Entity
* net.minecraft.util.ResourceLocation
* net.minecraftforge.client.model.AdvancedModelLoader
* net.minecraftforge.client.model.IModelCustom
* net.minecraftforge.client.model.obj.WavefrontObject
* org.lwjgl.opengl.GL11
*/
package com.moe.allweapon.render;
import com.moe.allweapon.Entityadd.EntitySlashDimensionAdd;
import java.awt.Color;
import mods.flammpfeil.slashblade.client.model.obj.Util;
import mods.flammpfeil.slashblade.client.renderer.GlStateManager;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.texture.TextureManager;
import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
import net.minecraftforge.client.model.obj.WavefrontObject;
import org.lwjgl.opengl.GL11;
public class RenderSlashDimensionAdd
extends Render {
public static IModelCustom model = null;
public static ResourceLocation modelLocation = new ResourceLocation("flammpfeil.slashblade", "model/util/SAhuixuanqiu/model.obj");
public static ResourceLocation textureLocation = new ResourceLocation("flammpfeil.slashblade", "model/util/SAhuixuanqiu/texture.png");
private TextureManager engine() {
return this.field_76990_c.field_78724_e;
}
public void func_76986_a(Entity entity, double x, double y, double z, float yaw, float partialRenderTick) {
this.renderModel(entity, x, y, z, yaw, partialRenderTick);
}
public void renderModel(Entity entity, double x, double y, double z, float yaw, float partialRenderTick) {
ResourceLocation modelLocation = new ResourceLocation("flammpfeil.slashblade", ((EntitySlashDimensionAdd)entity).getModel());
ResourceLocation textureLocation = new ResourceLocation("flammpfeil.slashblade", ((EntitySlashDimensionAdd)entity).getTexture());
if (model == null && (model = AdvancedModelLoader.loadModel((ResourceLocation)modelLocation)) instanceof WavefrontObject) {
Util.replaceFace((WavefrontObject)((WavefrontObject)model));
}
this.func_110777_b(entity);
GL11.glPushMatrix();
GL11.glPushAttrib((int)1048575);
GL11.glShadeModel((int)7425);
GL11.glDisable((int)2896);
GL11.glEnable((int)3042);
int color = ((EntitySlashDimensionAdd)entity).getColor();
int lifetime = 20;
if (entity instanceof EntitySlashDimensionAdd) {
color = ((EntitySlashDimensionAdd)entity).getColor();
lifetime = ((EntitySlashDimensionAdd)entity).getLifeTime();
}
boolean inverse = color < 0;
double deathTime = lifetime;
double baseAlpha = Math.sin(1.570796326794897 * (Math.min(deathTime, (double)((float)(lifetime - entity.field_70173_aa) - partialRenderTick)) / deathTime));
int seed = entity.getEntityData().func_74762_e("seed");
int baseColor = color;
Color col = new Color(baseColor);
float[] hsb = Color.RGBtoHSB(col.getRed(), col.getGreen(), col.getBlue(), null);
baseColor = Color.getHSBColor(0.5f + hsb[0], hsb[1], 0.2f).getRGB() & 0xFFFFFF;
baseColor |= (int)(102.0 * baseAlpha) << 24;
GL11.glTranslatef((float)((float)x), (float)((float)y), (float)((float)z));
float rotParTicks = 40.0f;
float rot = (float)entity.field_70173_aa % rotParTicks / rotParTicks * 360.0f + partialRenderTick * (360.0f / rotParTicks);
float scale = 0.01f;
GL11.glScalef((float)scale, (float)scale, (float)scale);
float lastx = OpenGlHelper.lastBrightnessX;
float lasty = OpenGlHelper.lastBrightnessY;
OpenGlHelper.func_77475_a((int)OpenGlHelper.field_77476_b, (float)240.0f, (float)240.0f);
Color tmpColor = new Color(baseColor, true);
GL11.glColor4f((float)((float)tmpColor.getRed() / 255.0f), (float)((float)tmpColor.getGreen() / 255.0f), (float)((float)tmpColor.getBlue() / 255.0f), (float)((float)tmpColor.getAlpha() / 255.0f));
OpenGlHelper.func_148821_a((int)770, (int)1, (int)1, (int)0);
GlStateManager.glBlendEquation((int)32779);
GL11.glPushMatrix();
for (int i = 0; i < 5; ++i) {
GL11.glScaled((double)0.95, (double)0.95, (double)0.95);
model.renderPart("base");
}
GL11.glPopMatrix();
int loop = 3;
for (int i = 0; i < loop; ++i) {
GL11.glPushMatrix();
float ticks = 15.0f;
float wave = ((float)entity.field_70173_aa + ticks / (float)loop * (float)i + partialRenderTick) % ticks;
double waveScale = 1.0 + 0.03 * (double)wave;
double rad = Math.PI * 2;
GL11.glScaled((double)waveScale, (double)waveScale, (double)waveScale);
Color tmpColor1 = new Color(color & 0xFFFFFF | (int)Math.min(0.0, 255.0 * Math.sin(rad)) << 24, true);
GL11.glColor4f((float)((float)tmpColor1.getRed() / 255.0f), (float)((float)tmpColor1.getGreen() / 255.0f), (float)((float)tmpColor1.getBlue() / 255.0f), (float)((float)tmpColor1.getAlpha() / 255.0f));
model.renderPart("base");
GL11.glPopMatrix();
}
GlStateManager.glBlendEquation((int)32774);
int windCount = 9;
for (int i = 0; i < windCount; ++i) {
GL11.glPushMatrix();
double rotWind = 0.0;
double offsetBase = 7.0;
double offset = (double)i * offsetBase;
double motionLen = offsetBase * (double)(windCount - 1);
double ticks = (float)entity.field_70173_aa + partialRenderTick + (float)seed;
double offsetTicks = ticks + offset;
double progress = offsetTicks % motionLen / motionLen;
double rad = Math.PI * 2;
Color tmpColor1 = new Color(color & 0xFFFFFF | (int)Math.min(0.0, 255.0 * Math.sin(rad *= progress)) << 24, true);
GL11.glColor4f((float)((float)tmpColor1.getRed() / 255.0f), (float)((float)tmpColor1.getGreen() / 255.0f), (float)((float)tmpColor1.getBlue() / 255.0f), (float)((float)tmpColor1.getAlpha() / 255.0f));
double windScale = 0.4 + progress;
GL11.glScaled((double)1.0, (double)1.0, (double)1.0);
GL11.glRotated((double)(360.0 / (double)windCount * (double)i), (double)0.0, (double)1.0, (double)0.0);
model.renderPart("wind");
GL11.glPopMatrix();
}
double rad = Math.PI * 2;
Color tmpColor1 = new Color(color & 0xFFFFFF | (int)Math.min(0.0, 255.0 * Math.sin(rad)) << 24, true);
GL11.glColor4f((float)((float)tmpColor1.getRed() / 255.0f), (float)((float)tmpColor1.getGreen() / 255.0f), (float)((float)tmpColor1.getBlue() / 255.0f), (float)((float)tmpColor1.getAlpha() / 255.0f));
OpenGlHelper.func_77475_a((int)OpenGlHelper.field_77476_b, (float)lastx, (float)lasty);
GL11.glDisable((int)3042);
GL11.glEnable((int)2896);
GL11.glShadeModel((int)7424);
GL11.glPopAttrib();
GL11.glPopMatrix();
}
protected ResourceLocation func_110775_a(Entity p_110775_1_) {
return textureLocation;
}
}
@@ -0,0 +1,71 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.relauncher.Side
* cpw.mods.fml.relauncher.SideOnly
* net.minecraft.client.renderer.Tessellator
* net.minecraft.client.renderer.entity.Render
* net.minecraft.entity.Entity
* net.minecraft.util.ResourceLocation
* org.lwjgl.opengl.GL11
*/
package com.moe.allweapon.render;
import com.moe.allweapon.Entityadd.EntitySummonedButterfly;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
@SideOnly(value=Side.CLIENT)
public class RenderSummonedButterfly
extends Render {
private static double[][] dVec = new double[][]{{1.05, 5.03, 22.63}, {2.36, 3.05, 8.4}, {3.83, 1.2, -5.34}, {5.4, -0.47, -18.09}, {7.13, -1.85, -29.36}, {9.07, -2.85, -38.66}, {12.52, -3.37, -47.44}, {21.05, -1.84, -51.88}, {30.57, 0.87, -50.69}, {39.45, 3.14, -51.22}, {42.36, 4.8, -45.76}, {47.93, 7.38, -39.0}, {55.35, 10.33, -32.93}, {59.25, 12.66, -24.99}, {59.61, 14.03, -17.16}, {58.07, 14.95, -9.08}, {55.23, 15.26, -2.54}, {51.3, 15.08, 2.69}, {46.49, 14.49, 6.9}, {41.03, 13.61, 10.33}, {35.13, 12.52, 13.24}, {29.02, 11.33, 15.89}, {35.81, 13.07, 15.54}, {45.37, 15.58, 15.38}, {55.78, 18.52, 16.53}, {61.65, 20.7, 20.35}, {63.76, 22.38, 27.2}, {66.06, 24.43, 36.03}, {68.45, 26.8, 46.65}, {70.12, 29.0, 57.46}, {70.21, 30.56, 66.88}, {65.14, 30.42, 74.24}, {54.81, 27.67, 74.13}, {46.95, 25.3, 72.35}, {38.75, 22.58, 68.98}, {30.12, 19.35, 63.18}, {21.03, 15.45, 54.08}, {11.39, 10.74, 40.85}, {-37.42, 3.13, -51.46}, {-28.53, 0.86, -50.94}, {-22.07, -1.09, -52.38}, {-15.97, -2.61, -51.86}, {-10.48, -3.39, -47.68}, {-7.03, -2.87, -38.9}, {-40.32, 4.79, -46.01}, {-5.09, -1.86, -29.6}, {-3.36, -0.48, -18.33}, {-45.89, 7.37, -39.24}, {-53.31, 10.32, -33.17}, {-57.22, 12.65, -25.24}, {-57.57, 14.02, -17.41}, {-56.03, 14.94, -9.32}, {-53.19, 15.25, -2.79}, {-49.26, 15.07, 2.45}, {-44.45, 14.48, 6.66}, {-38.99, 13.59, 10.08}, {-33.1, 12.51, 12.99}, {-1.79, 1.19, -5.58}, {-26.98, 11.32, 15.64}, {-0.32, 3.04, 8.16}, {-9.36, 10.73, 40.61}, {-33.77, 13.06, 15.29}, {-43.33, 15.57, 15.14}, {-53.75, 18.51, 16.29}, {-59.61, 20.69, 20.1}, {-61.72, 22.36, 26.95}, {-18.99, 15.44, 53.84}, {-64.02, 24.42, 35.79}, {-28.09, 19.34, 62.93}, {-66.42, 26.79, 46.41}, {-36.71, 22.57, 68.74}, {-44.92, 25.29, 72.11}, {-68.08, 28.99, 57.22}, {-52.77, 27.66, 73.88}, {-68.18, 30.55, 66.63}, {-63.1, 30.41, 74.0}, {0.98, 5.02, 22.39}};
private static int[][] nVecPos = new int[][]{{8, 9, 10}, {7, 8, 10}, {6, 7, 10}, {10, 5, 6}, {11, 4, 5}, {11, 5, 10}, {11, 3, 4}, {12, 3, 11}, {14, 3, 12}, {14, 12, 13}, {16, 3, 14}, {16, 14, 15}, {18, 3, 16}, {18, 16, 17}, {20, 3, 18}, {20, 18, 19}, {21, 2, 3}, {21, 3, 20}, {0, 1, 2}, {0, 2, 21}, {22, 37, 0}, {22, 0, 21}, {23, 37, 22}, {37, 23, 24}, {37, 24, 25}, {36, 37, 25}, {36, 25, 26}, {35, 36, 26}, {35, 26, 27}, {34, 35, 27}, {34, 27, 28}, {29, 33, 34}, {29, 34, 28}, {30, 32, 33}, {30, 33, 29}, {31, 32, 30}, {44, 38, 39}, {39, 40, 44}, {44, 40, 41}, {41, 42, 44}, {44, 42, 43}, {44, 43, 45}, {44, 45, 47}, {45, 46, 47}, {48, 47, 46}, {48, 46, 50}, {48, 50, 49}, {51, 50, 46}, {51, 46, 52}, {52, 46, 54}, {52, 54, 53}, {55, 54, 46}, {55, 46, 56}, {46, 57, 58}, {46, 58, 56}, {57, 59, 76}, {57, 76, 58}, {58, 76, 60}, {58, 60, 61}, {62, 61, 60}, {63, 62, 60}, {64, 63, 60}, {65, 64, 60}, {65, 60, 66}, {67, 65, 66}, {67, 66, 68}, {69, 67, 68}, {69, 68, 70}, {69, 70, 71}, {69, 71, 72}, {72, 71, 73}, {72, 73, 74}, {73, 75, 74}, {10, 9, 8}, {8, 7, 10}, {7, 6, 10}, {10, 6, 5}, {5, 4, 11}, {5, 11, 10}, {4, 3, 11}, {11, 3, 12}, {13, 12, 3}, {13, 3, 14}, {14, 3, 16}, {14, 16, 15}, {16, 3, 18}, {16, 18, 17}, {19, 18, 3}, {19, 3, 20}, {3, 2, 21}, {3, 21, 20}, {2, 1, 0}, {2, 0, 21}, {21, 0, 37}, {21, 37, 22}, {23, 22, 37}, {24, 23, 37}, {25, 24, 37}, {25, 37, 36}, {25, 36, 26}, {27, 26, 36}, {27, 36, 35}, {28, 27, 35}, {28, 35, 34}, {28, 34, 33}, {28, 33, 29}, {33, 32, 30}, {33, 30, 29}, {30, 32, 31}, {39, 38, 44}, {40, 39, 44}, {41, 40, 44}, {42, 41, 44}, {43, 42, 44}, {47, 45, 43}, {47, 43, 44}, {47, 46, 45}, {48, 46, 47}, {50, 46, 48}, {50, 48, 49}, {46, 50, 51}, {46, 51, 52}, {54, 46, 52}, {54, 52, 53}, {56, 46, 54}, {56, 54, 55}, {58, 57, 46}, {58, 46, 56}, {76, 59, 57}, {76, 57, 58}, {60, 76, 58}, {60, 58, 61}, {60, 61, 62}, {63, 60, 62}, {64, 60, 63}, {60, 64, 65}, {60, 65, 66}, {68, 66, 65}, {68, 65, 67}, {70, 68, 67}, {70, 67, 69}, {72, 71, 70}, {72, 70, 69}, {73, 71, 72}, {73, 72, 74}, {75, 73, 74}};
public void func_76986_a(Entity entity, double d0, double d1, double d2, float f, float f1) {
if (entity instanceof EntitySummonedButterfly) {
this.doDriveRender((EntitySummonedButterfly)entity, d0, d1, d2, f, f1);
}
}
protected ResourceLocation func_110775_a(Entity var1) {
return null;
}
private void doDriveRender(EntitySummonedButterfly entityPhantomSword, double dX, double dY, double dZ, float f, float f1) {
Tessellator tessellator = Tessellator.field_78398_a;
GL11.glDisable((int)3553);
GL11.glDisable((int)2896);
GL11.glEnable((int)3042);
GL11.glBlendFunc((int)770, (int)1);
GL11.glPushMatrix();
GL11.glTranslatef((float)((float)dX), (float)((float)dY), (float)((float)dZ));
GL11.glRotatef((float)entityPhantomSword.field_70177_z, (float)0.0f, (float)1.0f, (float)0.0f);
GL11.glRotatef((float)(-entityPhantomSword.field_70125_A), (float)1.0f, (float)0.0f, (float)0.0f);
GL11.glRotatef((float)entityPhantomSword.getRoll(), (float)0.0f, (float)0.0f, (float)1.0f);
float scale = 0.0045f;
GL11.glScalef((float)scale, (float)scale, (float)scale);
GL11.glScalef((float)0.5f, (float)0.5f, (float)1.0f);
float lifetime = entityPhantomSword.getLifeTime();
float ticks = entityPhantomSword.field_70173_aa;
tessellator.func_78371_b(4);
tessellator.func_78369_a(0.2f, 0.2f, 1.0f, 1.0f);
double dScale = 1.0;
for (int idx = 0; idx < nVecPos.length; ++idx) {
tessellator.func_78377_a(dVec[nVecPos[idx][0]][0] * dScale, dVec[nVecPos[idx][0]][1] * dScale, dVec[nVecPos[idx][0]][2] * dScale);
tessellator.func_78377_a(dVec[nVecPos[idx][1]][0] * dScale, dVec[nVecPos[idx][1]][1] * dScale, dVec[nVecPos[idx][1]][2] * dScale);
tessellator.func_78377_a(dVec[nVecPos[idx][2]][0] * dScale, dVec[nVecPos[idx][2]][1] * dScale, dVec[nVecPos[idx][2]][2] * dScale);
}
tessellator.func_78381_a();
GL11.glPopMatrix();
GL11.glDisable((int)3042);
GL11.glEnable((int)2896);
GL11.glEnable((int)3553);
}
}
@@ -0,0 +1,71 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.relauncher.Side
* cpw.mods.fml.relauncher.SideOnly
* net.minecraft.client.renderer.Tessellator
* net.minecraft.client.renderer.entity.Render
* net.minecraft.entity.Entity
* net.minecraft.util.ResourceLocation
* org.lwjgl.opengl.GL11
*/
package com.moe.allweapon.render;
import com.moe.allweapon.Entityadd.EntitySummonedSwordAdd;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
@SideOnly(value=Side.CLIENT)
public class RenderSummonedSwordAdd
extends Render {
private static double[][] dVec = new double[][]{{0.0, 0.0, 417.7431}, {0.0, -44.6113, 0.0}, {38.9907, 0.0, 50.0}, {0.0, 44.6113, 0.0}, {-38.9907, 0.0, 50.0}, {38.9907, 0.0, -50.0}, {-38.9907, 0.0, -50.0}, {0.0, 0.0, -214.0305}, {159.1439, 0.0, -49.6611}, {-159.1439, 0.0, -49.6611}};
private static int[][] nVecPos = new int[][]{{0, 2, 1}, {0, 3, 2}, {0, 4, 3}, {0, 1, 4}, {1, 5, 7}, {5, 3, 7}, {3, 6, 7}, {6, 1, 7}, {2, 8, 1}, {5, 8, 3}, {4, 9, 3}, {6, 9, 1}, {1, 8, 5}, {1, 9, 4}, {3, 8, 2}, {3, 9, 6}};
public void func_76986_a(Entity entity, double d0, double d1, double d2, float f, float f1) {
if (entity instanceof EntitySummonedSwordAdd) {
this.doDriveRender((EntitySummonedSwordAdd)entity, d0, d1, d2, f, f1);
}
}
protected ResourceLocation func_110775_a(Entity var1) {
return null;
}
private void doDriveRender(EntitySummonedSwordAdd entityPhantomSword, double dX, double dY, double dZ, float f, float f1) {
Tessellator tessellator = Tessellator.field_78398_a;
GL11.glDisable((int)3553);
GL11.glDisable((int)2896);
GL11.glEnable((int)3042);
GL11.glBlendFunc((int)770, (int)1);
GL11.glPushMatrix();
GL11.glTranslatef((float)((float)dX), (float)((float)dY), (float)((float)dZ));
GL11.glRotatef((float)entityPhantomSword.field_70177_z, (float)0.0f, (float)1.0f, (float)0.0f);
GL11.glRotatef((float)(-entityPhantomSword.field_70125_A), (float)1.0f, (float)0.0f, (float)0.0f);
GL11.glRotatef((float)entityPhantomSword.getRoll(), (float)0.0f, (float)0.0f, (float)1.0f);
float scale = 0.0045f;
GL11.glScalef((float)scale, (float)scale, (float)scale);
GL11.glScalef((float)0.5f, (float)0.5f, (float)1.0f);
float lifetime = entityPhantomSword.getLifeTime();
float ticks = entityPhantomSword.field_70173_aa;
tessellator.func_78371_b(4);
tessellator.func_78369_a(0.2f, 0.2f, 1.0f, 1.0f);
double dScale = 1.0;
for (int idx = 0; idx < nVecPos.length; ++idx) {
tessellator.func_78377_a(dVec[nVecPos[idx][0]][0] * dScale, dVec[nVecPos[idx][0]][1] * dScale, dVec[nVecPos[idx][0]][2] * dScale);
tessellator.func_78377_a(dVec[nVecPos[idx][1]][0] * dScale, dVec[nVecPos[idx][1]][1] * dScale, dVec[nVecPos[idx][1]][2] * dScale);
tessellator.func_78377_a(dVec[nVecPos[idx][2]][0] * dScale, dVec[nVecPos[idx][2]][1] * dScale, dVec[nVecPos[idx][2]][2] * dScale);
}
tessellator.func_78381_a();
GL11.glPopMatrix();
GL11.glDisable((int)3042);
GL11.glEnable((int)2896);
GL11.glEnable((int)3553);
}
}
+2
View File
@@ -0,0 +1,2 @@
Summary for /Users/yudiwang/TDLM/5fu/mods/【拔】优化万物皆可为兵刃beta.1.jar
Decompiled with CFR 0.152
@@ -0,0 +1,94 @@
作者:Moi_Meng
刀名 「20/100」
item.flammpfeil.slashblade.named.bailan.name=§a白兰剑§9「§l§e君§r§9」
item.flammpfeil.slashblade.named.baishiyue.name=§f白の契约
item.flammpfeil.slashblade.named.baishoujianwang.name=§7百兽剑王§9「§l§7巨狮§r§9」
item.flammpfeil.slashblade.named.baiyueding.name=§f白の约定
item.flammpfeil.slashblade.named.chanshizhe.name=夜空之剑§9「§l§8阐释者§r§9」
item.flammpfeil.slashblade.named.fengshen.name=§6奉神刀§9「§l§6鹿§r§9」
item.flammpfeil.slashblade.named.fengzhiying.name=§e不可视之刃§9「§l§f风之影§r§9」·风
item.flammpfeil.slashblade.named.guangjian.name=§e光剑§9「§l§5监视者§r§9」
item.flammpfeil.slashblade.named.huami.name=§a花之妖精§9「§l§d弥葵§r§9」·花
item.flammpfeil.slashblade.named.htkg.name=§f花天§7狂骨§9「§l§3花天§r§9」
item.flammpfeil.slashblade.named.jie.name=§5灾厄之源§9「§l§8劫§r§9」
item.flammpfeil.slashblade.named.jiyi.name=§4炎§c极§1必§b寒§9「§l极意§r§9」
item.flammpfeil.slashblade.named.lrrh.name=§c炎王§9「§l§c流刃若火§r§9」
item.flammpfeil.slashblade.named.lvluo.name=§a生机§9「§l§a绿萝§r§9」
item.flammpfeil.slashblade.named.qinggui.name=§2森森幽罗§9「§l§a青鬼§r§9」
item.flammpfeil.slashblade.named.xiaoyue.name=§6狗年专属§9「§l§e啸月§r§9」
item.flammpfeil.slashblade.named.xuezou.name=§b极寒刃§9「§l§f雪走§r§9」·雪
item.flammpfeil.slashblade.named.yingyue.name=§7欺骗者§9「§l§8影§f月§r§9」·月
item.flammpfeil.slashblade.named.youming.name=§0死神§9「§l§7幽之名§r§9」
item.flammpfeil.slashblade.named.zhanyue.name=§f白§9「§l§c天锁斩月§r§9」
剑技名 「12/20」
flammpfeil.slashblade.specialattack.baoku=§6追星剑
flammpfeil.slashblade.specialattack.fengxuan=§a风之棺
flammpfeil.slashblade.specialattack.fuzhan=§c炎§4极§e·抚斩
flammpfeil.slashblade.specialattack.huanyingdie=§d幻影蝶
flammpfeil.slashblade.specialattack.huanyingdie2=§a百谷幻 §d蝶
flammpfeil.slashblade.specialattack.liedi=§7裂地猛冲
flammpfeil.slashblade.specialattack.oulaoula=ほら!ほら!ほら!
flammpfeil.slashblade.specialattack.qicaizhan=§c虹§a极§e斩
flammpfeil.slashblade.specialattack.weizhan=§e一闪
flammpfeil.slashblade.specialattack.xingbao=§c星爆气流斩
flammpfeil.slashblade.specialattack.xuepo=§b冰魂雪魄
flammpfeil.slashblade.specialattack.yueyatianchong=§f白·§4月牙天冲
flammpfeil.slashblade.specialattack.suiji=§c随机大傻子!
成就
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.bailan=
§a白兰剑§9「§l§e君§r§9」achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.bailan.desc=白兰剑,君子之剑。
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.baishiyue=
§f白の契约achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.baishiyue.desc=§f白の契约
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.baishoujianwang=
§7百兽剑王§9「§l§7巨狮§r§9」achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.baishoujianwang.desc=§7百兽剑王§9「§l§7巨狮§r§9」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.baiyueding=
§f白の约定achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.baiyueding.desc=§f白の约定
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.chanshizhe=
夜空之剑§9「§l§8阐释者§r§9」achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.chanshizhe.desc=夜空之剑§9「§l§8阐释者§r§9」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.fengshen=
§6奉神刀§9「§l§6鹿§r§9」achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.fengshen.desc=§6奉神刀§9「§l§6鹿§r§9」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.fengzhiying=
§e不可视之刃§9「§l§f风之影§r§9」·风achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.fengzhiying.desc=§e不可视之刃§9「§l§f风之影§r§9」·风
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.guangjian=
§e光剑§9「§l§5监视者§r§9」achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.guangjian.desc=
§e光剑§9「§l§5监视者§r§9」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.huami=
§a花之妖精§9「§l§d弥葵§r§9」·花achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.huami.desc=§a花之妖精§9「§l§d弥葵§r§9」·花
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.htkg=
§f花天§7狂骨§9「§l§3花天§r§9」achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.htkg.desc=§f花天§7狂骨§9「§l§3花天§r§9」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.jie=
§5灾厄之源§9「§l§8劫§r§9」achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.jie.desc=§5灾厄之源§9「§l§8劫§r§9」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.jiyi=
§4炎§c极§1必§b寒§9「§l极意§r§9」achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.jiyi.desc=§4炎§c极§1必§b寒§9「§l极意§r§9」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.lrrh=
§c炎王§9「§l§c流刃若火§r§9」achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.lrrh.desc=§c炎王§9「§l§c流刃若火§r§9」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.lvluo=
§a生机§9「§l§a绿萝§r§9」achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.lvluo.desc=§a生机§9「§l§a绿萝§r§9」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.qinggui=
§2森森幽罗§9「§l§a青鬼§r§9」achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.qinggui.desc=§2森森幽罗§9「§l§a青鬼§r§9」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.xiaoyue=
§6狗年专属§9「§l§e啸月§r§9」achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.xiaoyue.desc=§6狗年专属§9「§l§e啸月§r§9」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.xuezou=
§b极寒刃§9「§l§f雪走§r§9」·雪achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.xuezou.desc=
§b极寒刃§9「§l§f雪走§r§9」·雪
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.yingyue=
§7欺骗者§9「§l§8影§f月§r§9」·月achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.yingyue.desc=§7欺骗者§9「§l§8影§f月§r§9」·月
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.youming=
§0死神§9「§l§7幽之名§r§9」achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.youming.desc=§0死神§9「§l§7幽之名§r§9」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.zhanyue=
§f白§9「§l§c天锁斩月§r§9」achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.zhanyue.desc=§f白§9「§l§c天锁斩月§r§9」
enchantment.level.20=§9「§l§6永恒级§r§9」
@@ -0,0 +1,7 @@
{
"yanfan": {"category": "master","sounds": ["yanfan"]},
"oulaoula": {"category": "master","sounds": ["oulaoula"]},
"yueyatianchong": {"category": "master","sounds": ["yueyatianchong"]},
"fengxuan": {"category": "master","sounds": ["fengxuan"]},
"yanfuzhan": {"category": "master","sounds": ["yanfuzhan"]}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 316 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 316 KiB

File diff suppressed because it is too large. Load diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 219 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 KiB

File diff suppressed because it is too large. Load diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

File diff suppressed because it is too large. Load diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 135 KiB

File diff suppressed because it is too large. Load diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 191 KiB

File diff suppressed because it is too large. Load diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

File diff suppressed because it is too large. Load diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 352 KiB

File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

File diff suppressed because it is too large. Load diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

File diff suppressed because it is too large. Load diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

File diff suppressed because it is too large. Load diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 318 KiB

File diff suppressed because it is too large. Load diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 485 KiB

File diff suppressed because it is too large. Load diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 339 KiB

@@ -0,0 +1,662 @@
# Created by Metasequoia
v -32.792900 -1.977200 -2.265600
v -32.792900 8.361300 -2.265600
v 41.740299 -1.959200 -2.265600
v 41.740299 9.180600 -2.265600
v 41.740299 -1.959200 2.265600
v 41.740299 9.180600 2.265600
v -32.792900 -1.977200 2.265600
v -32.792900 8.361300 2.265600
v -33.391998 -1.345900 -2.166000
v -32.792900 9.180600 0.000000
v -33.391998 -1.345900 2.166000
v -32.862598 3.508600 -3.208500
v -32.862598 3.508600 3.208500
v -285.119110 -27.109400 -2.265500
v -287.065887 -17.065201 0.000000
v -285.119110 -27.109400 2.265500
v -281.382904 -21.018600 -2.850000
v -283.458313 -21.018600 2.850000
v -290.654907 -28.209900 0.000000
v -289.953613 -22.433500 0.000000
v -225.926300 -15.766300 -2.265500
v -227.097397 -5.336400 0.000000
v -225.926300 -15.766300 2.265500
v -226.511795 -10.868600 -2.850000
v -226.511795 -10.868600 2.850000
v -169.955399 -8.001400 -2.265500
v -170.769104 2.478100 0.000000
v -169.955399 -8.001400 2.265500
v -170.362198 -3.078800 -2.850000
v -170.362198 -3.078800 2.850000
v -109.795502 -2.800300 -2.265500
v -110.225197 7.712300 0.000000
v -109.795502 -2.800300 2.265500
v -110.010300 2.139000 -2.850000
v -110.010300 2.139000 2.850000
v 41.740299 3.610700 -3.566900
v 41.740299 3.610700 3.566900
v -32.792900 9.180600 0.000000
v -32.792900 -2.302500 0.000000
v -32.792900 9.180600 0.000000
v -32.792900 8.361300 -2.265600
v -32.862598 3.508600 -3.208500
v -32.792900 9.180600 0.000000
v -32.862598 3.508600 3.208500
v -32.792900 8.361300 2.265600
v -24.290001 -1.971700 2.630100
v -24.159300 8.611100 2.630100
v -24.202200 3.539700 3.682300
v 34.577301 -1.963300 2.630100
v 34.423698 8.992600 2.630100
v 34.467701 3.587300 3.849300
v -24.290001 8.875300 -2.630100
v -24.159300 -1.707500 -2.630100
v -24.202200 3.363900 -3.682300
v 34.577301 8.866900 -2.630100
v 34.423698 -2.089000 -2.630100
v 34.467701 3.316300 -3.849300
v 0.000000 70.710701 0.000000
v 70.710701 0.000000 0.000000
v -70.710701 0.000000 0.000000
v 0.000000 -70.710602 0.000000
v 0.000000 55.656200 4.000000
v 55.656200 0.000000 4.000000
v -55.656101 0.000000 4.000000
v 0.000000 -55.656101 4.000000
v 0.000000 70.710701 0.000000
v 70.710701 0.000000 0.000000
v -70.710701 0.000000 0.000000
v 0.000000 -70.710602 0.000000
v 0.000000 55.656200 -4.000000
v 55.656200 0.000000 -4.000000
v -55.656101 0.000000 -4.000000
v 0.000000 -55.656101 -4.000000
v 0.000000 70.710701 0.000000
v 70.710701 0.000000 0.000000
v -70.710701 0.000000 0.000000
v 0.000000 -70.710602 0.000000
v 0.000000 55.656200 4.000000
v 55.656200 0.000000 4.000000
v -55.656101 0.000000 4.000000
v 0.000000 -55.656101 4.000000
v 0.000000 70.710701 0.000000
v 70.710701 0.000000 0.000000
v -70.710701 0.000000 0.000000
v 0.000000 -70.710602 0.000000
v 0.000000 55.656200 -4.000000
v 55.656200 0.000000 -4.000000
v -55.656101 0.000000 -4.000000
v 0.000000 -55.656101 -4.000000
v 0.000000 70.710701 0.000000
v 70.710701 0.000000 0.000000
v -70.710701 0.000000 0.000000
v 0.000000 -70.710602 0.000000
v 0.000000 55.656200 4.000000
v 55.656200 0.000000 4.000000
v -55.656101 0.000000 4.000000
v 0.000000 -55.656101 4.000000
v 0.000000 70.710701 0.000000
v 70.710701 0.000000 0.000000
v -70.710701 0.000000 0.000000
v 0.000000 -70.710602 0.000000
v 0.000000 55.656200 -4.000000
v 55.656200 0.000000 -4.000000
v -55.656101 0.000000 -4.000000
v 0.000000 -55.656101 -4.000000
v 0.000000 70.710701 0.000000
v 70.710701 0.000000 0.000000
v -70.710701 0.000000 0.000000
v 0.000000 -70.710602 0.000000
v 0.000000 55.656200 4.000000
v 55.656200 0.000000 4.000000
v -55.656101 0.000000 4.000000
v 0.000000 -55.656101 4.000000
v 0.000000 70.710701 0.000000
v 70.710701 0.000000 0.000000
v -70.710701 0.000000 0.000000
v 0.000000 -70.710602 0.000000
v 0.000000 55.656200 -4.000000
v 55.656200 0.000000 -4.000000
v -55.656101 0.000000 -4.000000
v 0.000000 -55.656101 -4.000000
v -35.451401 -3.580700 -3.002900
v -35.492500 10.802100 -3.002900
v -35.451401 -3.580700 3.002900
v -35.492500 10.802100 3.002900
v -35.143002 3.610700 -4.606400
v -35.143002 3.610700 4.606400
v -293.916687 -31.360500 -3.220100
v -297.122711 -16.274300 -3.220100
v -293.916687 -31.360500 3.220100
v -297.122711 -16.274300 3.220100
v -295.864502 -23.891701 -4.939600
v -295.864502 -23.891701 4.939600
v -225.326508 -18.312901 -3.325500
v -227.697296 -3.329800 -3.325500
v -225.326508 -18.312901 3.325500
v -227.697296 -3.329800 3.325500
v -226.511795 -10.821400 -5.574100
v -226.511795 -10.821400 5.574100
v -169.541702 -10.876500 -3.325500
v -171.182907 4.204000 -3.325500
v -169.541702 -10.876500 3.325500
v -171.182907 4.204000 3.325500
v -170.362198 -3.336300 -5.574100
v -170.362198 -3.336300 5.574100
v -109.579697 -5.895000 -3.325500
v -110.441002 9.249800 -3.325500
v -109.579697 -5.895000 3.325500
v -110.441002 9.249800 3.325500
v -110.010300 1.677400 -5.574100
v -110.010300 1.677400 5.574100
# 151 vertices
vt 0.02592 0.92981
vt 0.03420 0.87931
vt 0.06466 0.92981
vt 0.06696 0.92981
vt 0.02391 0.98636
vt 0.03980 0.98636
vt 0.99471 0.98636
vt 0.78071 0.98636
vt 0.99471 0.87931
vt 0.78071 0.87931
vt 0.19330 0.98636
vt 0.19162 0.92981
vt 0.18993 0.87931
vt 0.38574 0.92981
vt 0.38690 0.98636
vt 0.38456 0.87931
vt 0.77900 0.98636
vt 0.78050 0.92981
vt 0.55901 0.92981
vt 0.55963 0.98636
vt 0.55839 0.87931
vt 0.99471 0.92981
vt 0.96504 0.60532
vt 0.72126 0.60452
vt 0.72143 0.69680
vt 0.96463 0.70371
vt 0.96526 0.50523
vt 0.72088 0.50508
vt 0.06594 0.93470
vt 0.02729 0.93354
vt 0.08700 0.99325
vt 0.08584 0.95460
vt 0.14337 0.93688
vt 0.10472 0.93572
vt 0.08366 0.87717
vt 0.08481 0.91582
vt 0.86697 0.50554
vt 0.49610 0.13457
vt 0.12525 0.50554
vt 0.49610 0.87645
vt 0.22294 0.99491
vt 0.15749 0.92945
vt 0.19999 0.93058
vt 0.22181 0.95240
vt 0.28487 0.93298
vt 0.24237 0.93185
vt 0.21941 0.86752
vt 0.22055 0.91003
vt 0.86979 0.50469
vt 0.49827 0.13308
vt 0.12675 0.50469
vt 0.86458 0.50489
vt 0.12773 0.50489
vt 0.49616 0.87334
vt 0.06592 0.92648
vt 0.06301 0.92793
vt 0.07174 0.92793
vt 0.06883 0.92648
vt 0.07174 0.92357
vt 0.06883 0.92502
vt 0.06301 0.92357
vt 0.06592 0.92502
vt 0.80687 0.51953
vt 0.49162 0.04503
vt 0.17639 0.51953
vt 0.49162 0.99394
vt 0.07197 0.92048
vt 0.06240 0.92048
vt 0.06559 0.91888
vt 0.06878 0.91888
vt 0.07197 0.91569
vt 0.06878 0.91729
vt 0.06240 0.91569
vt 0.06559 0.91729
vt 0.80089 0.52596
vt 0.48773 0.05461
vt 0.17456 0.52596
vt 0.48773 0.99724
vt 0.32059 0.83080
vt 0.09060 0.83080
vt 0.09060 0.84761
vt 0.32059 0.84761
vt 0.32059 0.78416
vt 0.32059 0.76743
vt 0.09060 0.76743
vt 0.09060 0.78416
vt 0.09060 0.85992
vt 0.32059 0.85991
vt 0.32059 0.81400
vt 0.09060 0.81400
vt 0.32059 0.80095
vt 0.09060 0.80095
vt 0.51010 0.83080
vt 0.51010 0.84761
vt 0.51010 0.76743
vt 0.51010 0.78416
vt 0.51010 0.85991
vt 0.51010 0.81400
vt 0.51010 0.80095
vt 0.71233 0.83080
vt 0.71233 0.84761
vt 0.71233 0.76743
vt 0.71233 0.78416
vt 0.71233 0.85991
vt 0.71233 0.81400
vt 0.71233 0.80095
vt 0.04859 0.83858
vt 0.07307 0.83858
vt 0.06876 0.82179
vt 0.05290 0.82179
vt 0.05290 0.85537
vt 0.06876 0.85537
vt 0.96072 0.78416
vt 0.96072 0.76743
vt 0.96072 0.85991
vt 0.96072 0.84761
vt 0.96072 0.80095
vt 0.96072 0.81400
vt 0.96072 0.83080
vt 0.07259 0.79028
vt 0.04811 0.79028
vt 0.05241 0.80746
vt 0.06828 0.80746
vt 0.06828 0.77311
vt 0.05241 0.77311
# 125 texture vertices
vn -0.25982 -0.96179 -0.08631
vn -0.00715 0.65019 -0.75974
vn 0.00024 -1.00000 0.00000
vn -0.00382 0.99999 0.00000
vn 0.00314 -1.00000 0.00000
vn -0.01099 0.99994 0.00000
vn -0.16609 -0.16909 0.97151
vn -0.00033 0.98499 0.17263
vn -0.08508 -0.38917 -0.91723
vn -0.01071 0.47383 0.88055
vn -0.11413 -0.48265 0.86834
vn -0.04745 0.07809 -0.99582
vn -0.05159 -0.03062 0.99820
vn 0.19159 -0.98147 0.00000
vn -0.27385 0.38536 0.88120
vn 0.19046 -0.98169 0.00000
vn -0.13976 0.17518 -0.97456
vn -0.17240 0.17724 0.96895
vn 0.19498 -0.98081 0.00000
vn -0.41033 0.10140 0.90628
vn 0.01863 -0.11430 -0.99327
vn -0.07682 0.46847 0.88013
vn 0.01872 -0.11112 0.99363
vn -0.03566 0.23386 -0.97161
vn -0.01875 0.11529 0.99316
vn 0.01214 -0.11691 -0.99307
vn -0.04705 0.45312 0.89020
vn 0.01416 -0.11675 0.99306
vn -0.01719 0.17580 -0.98428
vn -0.02233 0.17538 0.98425
vn 0.01189 -0.43208 -0.90176
vn -0.02393 0.45443 0.89046
vn 0.00888 -0.32014 0.94733
vn -0.00496 0.06041 -0.99816
vn -0.01602 0.28125 0.95950
vn -0.00480 -0.00000 -0.99999
vn 1.00000 0.00000 0.00000
vn 0.00000 1.00000 0.00000
vn -0.22281 -0.97486 0.00000
vn -0.99987 0.01545 -0.00559
vn -0.99987 0.01545 0.00559
vn -0.00131 -0.20103 0.97958
vn -0.00219 0.21160 0.97735
vn -0.00285 0.00800 0.99996
vn 0.00003 -0.21454 0.97672
vn -0.00143 0.22002 0.97549
vn -0.00179 0.00541 0.99998
vn -0.00131 0.20103 -0.97958
vn -0.00219 -0.21160 -0.97735
vn -0.00285 -0.00800 -0.99996
vn 0.00003 0.21454 -0.97672
vn -0.00143 -0.22002 -0.97549
vn -0.00179 -0.00541 -0.99998
vn -0.08528 0.25586 0.96295
vn 0.25586 0.08529 0.96295
vn -0.25585 -0.08529 0.96295
vn 0.08529 -0.25586 0.96295
vn 0.06396 0.19188 0.97933
vn 0.15315 -0.05105 0.98688
vn -0.15315 0.05105 0.98688
vn -0.06396 -0.19188 0.97933
vn -0.08528 0.25586 -0.96295
vn 0.25586 0.08529 -0.96295
vn -0.25585 -0.08529 -0.96295
vn 0.08529 -0.25586 -0.96295
vn 0.06396 0.19188 -0.97933
vn 0.15315 -0.05105 -0.98688
vn -0.15315 0.05105 -0.98688
vn -0.06396 -0.19188 -0.97933
vn 0.03120 -0.99951 0.00000
vn -0.02071 0.99979 0.00000
vn 0.01565 -0.25129 0.96778
vn 0.00261 0.25141 0.96788
vn 0.01293 -0.00020 -0.99992
vn 0.01293 -0.00020 0.99992
vn 0.04180 -0.24811 -0.96783
vn -0.05126 0.24591 -0.96794
vn 0.04180 -0.24811 0.96783
vn -0.18329 0.98306 0.00000
vn -0.00875 -0.00211 -0.99996
vn -0.00875 -0.00211 0.99996
vn 0.04228 -0.28108 -0.95875
vn -0.04555 0.28056 -0.95875
vn 0.04464 -0.28071 0.95875
vn -0.16629 0.98608 0.00000
vn -0.00836 0.04109 -0.99912
vn 0.00277 -0.04240 0.99910
vn 0.02822 -0.28285 -0.95875
vn -0.03289 0.28233 -0.95875
vn 0.03289 -0.28234 0.95875
vn -0.11572 0.99328 0.00000
vn 0.00244 0.00026 -1.00000
vn -0.00244 -0.00027 1.00000
vn 0.01829 -0.28366 -0.95875
vn -0.01628 0.28377 -0.95875
vn 0.02004 -0.28355 0.95875
vn -0.05177 0.99866 0.00000
vn 0.00889 -0.04194 -0.99908
vn 0.00192 0.04200 0.99912
vn -0.35187 0.11384 -0.92910
vn -0.22064 0.34146 -0.91363
vn -0.38631 0.04690 -0.92118
vn -0.23697 0.01752 -0.97136
vn -0.26349 -0.01051 0.96461
vn -0.38631 0.04690 0.92118
vn 0.17133 -0.98521 0.00000
vn 0.15439 -0.98801 0.00000
vn -0.08045 0.46327 -0.88256
vn 0.12036 -0.99273 0.00000
vn 0.10326 -0.99465 0.00000
vn -0.05487 0.45248 -0.89008
vn 0.05962 -0.99822 0.00000
vn 0.04634 -0.99893 0.00000
vn -0.00934 0.49242 -0.87031
vn -0.02501 0.46382 -0.88557
vn -0.00216 -0.19854 -0.98009
vn -0.16609 -0.16909 -0.97151
vn -0.00354 0.20917 -0.97787
vn -0.00404 0.06500 0.99788
vn -0.00216 -0.19854 0.98009
vn -0.00374 0.20919 0.97787
vn -0.00250 0.22750 0.97377
vn -0.39742 -0.90832 0.13042
vn -0.72954 -0.67699 -0.09720
vn -0.72954 -0.67699 0.09720
vn 0.16869 -0.98567 0.00000
vn 0.18687 -0.98238 0.00000
vn 0.18687 -0.98238 0.00000
vn 0.15043 -0.98862 0.00000
vn -0.14923 0.98880 0.00000
vn -0.05126 0.24591 0.96794
vn -0.04289 0.28098 0.95875
vn 0.11572 -0.99328 0.00000
vn 0.09927 -0.99506 0.00000
vn -0.09926 0.99506 0.00000
vn -0.02822 0.28284 0.95875
vn 0.06562 -0.99784 0.00000
vn 0.04842 -0.99883 0.00000
vn -0.05177 0.99866 0.00000
vn -0.01265 0.28398 0.95875
vn -0.97487 -0.22276 0.00000
vn -0.98121 -0.19294 0.00000
vn -0.96764 -0.25235 0.00000
vn -0.98663 -0.16297 0.00000
vn 0.03120 -0.99951 0.00000
vn -0.02071 0.99979 0.00000
vn 0.00261 0.25141 -0.96788
vn 0.01565 -0.25129 -0.96778
vn 0.99984 0.01810 0.00000
vn 0.99992 -0.01239 0.00000
vn 0.99882 0.04854 0.00000
vn 0.99882 0.04854 0.00000
vn 0.99908 -0.04285 0.00000
vn 0.99908 -0.04285 0.00000
# 154 normal vertices
g blade
f 18/3/18 15/2/15 20/1/20
f 15/2/101 17/4/17 20/1/100
f 14/6/14 16/6/16 19/5/19
f 1/8/1 3/7/3 5/7/5
f 8/10/8 6/9/6 4/9/4
f 14/6/103 19/5/102 20/1/100
f 17/4/17 14/6/103 20/1/100
f 16/6/104 18/3/18 20/1/20
f 19/5/105 16/6/104 20/1/20
f 17/4/17 24/12/24 21/11/21
f 14/6/103 17/4/17 21/11/21
f 18/3/18 16/6/104 23/11/23
f 25/12/25 18/3/18 23/11/23
f 16/6/16 14/6/14 21/11/106
f 23/11/107 16/6/16 21/11/106
f 18/3/18 25/12/25 22/13/22
f 15/2/15 18/3/18 22/13/22
f 17/4/17 15/2/101 22/13/108
f 24/12/24 17/4/17 22/13/108
f 21/11/21 24/12/24 29/14/29
f 26/15/26 21/11/21 29/14/29
f 25/12/25 23/11/23 28/15/28
f 30/14/30 25/12/25 28/15/28
f 23/11/107 21/11/106 26/15/109
f 28/15/110 23/11/107 26/15/109
f 22/13/22 25/12/25 30/14/30
f 27/16/27 22/13/22 30/14/30
f 24/12/24 22/13/108 27/16/111
f 29/14/29 24/12/24 27/16/111
f 34/19/34 12/18/12 9/17/9
f 31/20/31 34/19/34 9/17/9
f 26/15/26 29/14/29 34/19/34
f 31/20/31 26/15/26 34/19/34
f 33/20/33 11/17/11 13/18/13
f 35/19/35 33/20/33 13/18/13
f 30/14/30 28/15/28 33/20/33
f 35/19/35 30/14/30 33/20/33
f 28/15/110 26/15/109 31/20/112
f 33/20/113 28/15/110 31/20/112
f 35/19/35 13/18/13 10/10/10
f 32/21/32 35/19/35 10/10/10
f 27/16/27 30/14/30 35/19/35
f 32/21/32 27/16/27 35/19/35
f 32/21/115 10/10/114 12/18/12
f 34/19/34 32/21/115 12/18/12
f 29/14/29 27/16/111 32/21/115
f 34/19/34 29/14/29 32/21/115
f 12/18/12 36/22/36 3/7/116
f 1/8/117 12/18/12 3/7/116
f 12/18/12 2/10/2 4/9/118
f 36/22/36 12/18/12 4/9/118
f 3/7/37 36/22/37 37/22/37
f 5/7/37 3/7/37 37/22/37
f 36/22/37 4/9/37 6/9/37
f 37/22/37 36/22/37 6/9/37
f 5/7/120 37/22/119 13/18/13
f 7/8/7 5/7/120 13/18/13
f 37/22/119 6/9/122 8/10/121
f 13/18/13 37/22/119 8/10/121
f 4/9/4 38/10/38 8/10/8
f 4/9/4 2/10/2 38/10/38
f 5/7/5 39/8/39 1/8/1
f 5/7/5 7/8/123 39/8/39
f 31/20/31 9/17/9 39/8/39
f 39/8/39 11/17/11 33/20/33
f 31/20/112 39/8/39 33/20/113
f 40/10/40 41/10/40 42/18/40
f 43/10/41 44/18/41 45/10/41
f 1/8/117 9/17/9 12/18/12
f 1/8/1 39/8/39 9/17/124
f 39/8/39 7/8/123 11/17/125
f 7/8/7 13/18/13 11/17/11
f 47/25/43 48/24/44 51/23/47
f 50/26/46 47/25/43 51/23/47
f 46/28/42 49/27/45 51/23/47
f 48/24/44 46/28/42 51/23/47
f 53/25/49 54/24/50 57/23/53
f 56/26/52 53/25/49 57/23/53
f 52/28/48 55/27/51 57/23/53
f 54/24/50 52/28/48 57/23/53
g item_blade
f 59/31/55 58/30/54 62/29/58
f 63/32/59 59/31/55 62/29/58
f 61/33/57 59/31/55 63/32/59
f 65/34/61 61/33/57 63/32/59
f 60/35/56 61/33/57 65/34/61
f 64/36/60 60/35/56 65/34/61
f 58/30/54 60/35/56 64/36/60
f 62/29/58 58/30/54 64/36/60
f 64/39/60 65/38/61 63/37/59
f 62/40/58 64/39/60 63/37/59
f 70/43/66 66/42/62 67/41/63
f 71/44/67 70/43/66 67/41/63
f 71/44/67 67/41/63 69/45/65
f 73/46/69 71/44/67 69/45/65
f 73/46/69 69/45/65 68/47/64
f 72/48/68 73/46/69 68/47/64
f 72/48/68 68/47/64 66/42/62
f 70/43/66 72/48/68 66/42/62
f 71/51/67 73/50/69 72/49/68
f 70/54/66 71/53/67 72/52/68
g item_damaged
f 75/57/55 74/56/54 78/55/58
f 79/58/59 75/57/55 78/55/58
f 77/59/57 75/57/55 79/58/59
f 81/60/61 77/59/57 79/58/59
f 76/61/56 77/59/57 81/60/61
f 80/62/60 76/61/56 81/60/61
f 74/56/54 76/61/56 80/62/60
f 78/55/58 74/56/54 80/62/60
f 80/65/60 81/64/61 79/63/59
f 78/66/58 80/65/60 79/63/59
f 86/69/66 82/68/62 83/67/63
f 87/70/67 86/69/66 83/67/63
f 87/70/67 83/67/63 85/71/65
f 89/72/69 87/70/67 85/71/65
f 89/72/69 85/71/65 84/73/64
f 88/74/68 89/72/69 84/73/64
f 88/74/68 84/73/64 82/68/62
f 86/69/66 88/74/68 82/68/62
f 87/77/67 89/76/69 88/75/68
f 86/78/66 87/77/67 88/75/68
g item_bladens
f 91/57/55 90/56/54 94/55/58
f 95/58/59 91/57/55 94/55/58
f 93/59/57 91/57/55 95/58/59
f 97/60/61 93/59/57 95/58/59
f 92/61/56 93/59/57 97/60/61
f 96/62/60 92/61/56 97/60/61
f 90/56/54 92/61/56 96/62/60
f 94/55/58 90/56/54 96/62/60
f 96/65/60 97/64/61 95/63/59
f 94/66/58 96/65/60 95/63/59
f 102/69/66 98/68/62 99/67/63
f 103/70/67 102/69/66 99/67/63
f 103/70/67 99/67/63 101/71/65
f 105/72/69 103/70/67 101/71/65
f 105/72/69 101/71/65 100/73/64
f 104/74/68 105/72/69 100/73/64
f 104/74/68 100/73/64 98/68/62
f 102/69/66 104/74/68 98/68/62
f 103/77/67 105/76/69 104/75/68
f 102/78/66 103/77/67 104/75/68
g item_back
f 107/57/55 106/56/54 110/55/58
f 111/58/59 107/57/55 110/55/58
f 109/59/57 107/57/55 111/58/59
f 113/60/61 109/59/57 111/58/59
f 108/61/56 109/59/57 113/60/61
f 112/62/60 108/61/56 113/60/61
f 106/56/54 108/61/56 112/62/60
f 110/55/58 106/56/54 112/62/60
f 112/65/60 113/64/61 111/63/59
f 110/66/58 112/65/60 111/63/59
f 118/69/66 114/68/62 115/67/63
f 119/70/67 118/69/66 115/67/63
f 119/70/67 115/67/63 117/71/65
f 121/72/69 119/70/67 117/71/65
f 121/72/69 117/71/65 116/73/64
f 120/74/68 121/72/69 116/73/64
f 120/74/68 116/73/64 114/68/62
f 118/69/66 120/74/68 114/68/62
f 119/77/67 121/76/69 120/75/68
f 118/78/66 119/77/67 120/75/68
g sheath
f 128/81/76 132/80/80 138/79/86
f 134/82/82 128/81/76 138/79/86
f 130/85/78 136/84/84 139/83/87
f 133/86/81 130/85/78 139/83/87
f 130/87/128 128/81/127 134/82/126
f 136/88/129 130/87/128 134/82/126
f 129/90/77 135/89/83 138/79/86
f 132/80/80 129/90/77 138/79/86
f 129/90/79 131/92/79 137/91/85
f 135/89/130 129/90/79 137/91/85
f 131/92/131 133/86/81 139/83/87
f 137/91/132 131/92/131 139/83/87
f 134/82/82 138/79/86 144/93/92
f 140/94/88 134/82/82 144/93/92
f 139/83/87 136/84/84 142/95/90
f 145/96/93 139/83/87 142/95/90
f 136/88/129 134/82/126 140/94/133
f 142/97/134 136/88/129 140/94/133
f 138/79/86 135/89/83 141/98/89
f 144/93/92 138/79/86 141/98/89
f 135/89/130 137/91/85 143/99/91
f 141/98/135 135/89/130 143/99/91
f 137/91/132 139/83/87 145/96/93
f 143/99/136 137/91/132 145/96/93
f 140/94/88 144/93/92 150/100/98
f 146/101/94 140/94/88 150/100/98
f 145/96/93 142/95/90 148/102/96
f 151/103/99 145/96/93 148/102/96
f 142/97/134 140/94/133 146/101/137
f 148/104/138 142/97/134 146/101/137
f 144/93/92 141/98/89 147/105/95
f 150/100/98 144/93/92 147/105/95
f 141/98/135 143/99/91 149/106/97
f 147/105/139 141/98/135 149/106/97
f 143/99/136 145/96/93 151/103/99
f 149/106/140 143/99/136 151/103/99
f 130/109/143 133/108/142 132/107/141
f 128/110/143 130/109/143 132/107/141
f 133/108/142 131/112/144 129/111/144
f 132/107/141 133/108/142 129/111/144
f 124/114/72 127/113/75 151/103/99
f 148/102/96 124/114/72 151/103/99
f 122/116/70 124/115/145 148/104/138
f 146/101/137 122/116/70 148/104/138
f 125/117/73 149/106/140 151/103/99
f 127/113/75 125/117/73 151/103/99
f 123/118/71 147/105/139 149/106/97
f 125/117/146 123/118/71 149/106/97
f 123/118/147 126/119/74 150/100/98
f 147/105/95 123/118/147 150/100/98
f 122/116/148 146/101/94 150/100/98
f 126/119/74 122/116/148 150/100/98
f 125/122/151 127/121/150 126/120/149
f 123/123/152 125/122/151 126/120/149
f 127/121/150 124/125/154 122/124/153
f 126/120/149 127/121/150 122/124/153
# 216 elements
Binary file not shown.

After

Width:  |  Height:  |  Size: 889 KiB

File diff suppressed because it is too large. Load diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

File diff suppressed because it is too large. Load diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

File diff suppressed because it is too large. Load diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

File diff suppressed because it is too large. Load diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 376 KiB

File diff suppressed because it is too large. Load diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 667 KiB

Loaded 100 of 105 files, more files were not shown because too many files have changed in this diff. Show more