初始化反编译源码
No files matched your search
@@ -0,0 +1 @@
|
||||
5fu/mods/【拔】优化万物皆可为兵刃beta.1.jar
|
||||
@@ -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.
|
||||
@@ -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 "$@"
|
||||
@@ -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"
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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"]}
|
||||
}
|
||||
|
After Width: | Height: | Size: 316 KiB |
|
After Width: | Height: | Size: 316 KiB |
|
After Width: | Height: | Size: 219 KiB |
|
After Width: | Height: | Size: 238 KiB |
|
After Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 135 KiB |
|
After Width: | Height: | Size: 191 KiB |
|
After Width: | Height: | Size: 85 KiB |
|
After Width: | Height: | Size: 352 KiB |
|
After Width: | Height: | Size: 256 KiB |
|
After Width: | Height: | Size: 65 KiB |
|
After Width: | Height: | Size: 2.5 MiB |
|
After Width: | Height: | Size: 318 KiB |
|
After Width: | Height: | Size: 485 KiB |
|
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
|
||||
|
||||
|
After Width: | Height: | Size: 889 KiB |
|
After Width: | Height: | Size: 99 KiB |
|
After Width: | Height: | Size: 183 KiB |
|
After Width: | Height: | Size: 132 KiB |
|
After Width: | Height: | Size: 376 KiB |
|
After Width: | Height: | Size: 667 KiB |