初始化 NegoreRouse 反编译源码

This commit is contained in:
Yudi Wang committed 2026-06-27 20:22:02 +08:00
commit 31b817c4a0
114 files changed
+101452

No files matched your search

+3
View File
@@ -0,0 +1,3 @@
build/
*.class
.DS_Store
+54
View File
@@ -0,0 +1,54 @@
# NegoreRouse 1.7.10 R3 decompile notes
## Real target
The local GitHub source that is publicly available for `NegoreRouse` is the 1.12.2 line, not the 1.7.10 R3 jar used by this pack. The 1.7.10 R3 artifact was therefore treated as a binary-only mod and decompiled locally.
## Source artifact
- Upstream mod page: MC百科 `class/1077`, listing Forge 1.7.10/1.12.2 and SlashBlade as the required dependency.
- Original release post archive: MCBBS thread `tid=771469`, R3 update dated 2018-06-01.
- Download recovered from the Blue folder `b00z8efxg`, password `NeRo`.
- Downloaded zip: `../_downloaded-deps/negorerouse/2018-06-02-NegoreRouse-r3-real.zip`
- Zip SHA-256: `963870505a2f523ac056b6e50fbe8a801670a0a0594b24c01e9db36353be32d4`
- Extracted original jar: `original/SlashBlade-NegoreRouse-r3-official.jar`
- Jar SHA-256: `da7cf4ac8470e754f9991eddfca02a3237f1eee8da798b1c84dd2d7d150a0798`
The jar contains classes and resources, but no embedded Java source files.
## Decompiler
Decompiled with local CFR 0.152:
```sh
java -jar /Users/yudiwang/TDLM/tools/cfr-0.152.jar \
/Users/yudiwang/TDLM/NegoreRouse-1.7.10-r3-decompiled/original/SlashBlade-NegoreRouse-r3-official.jar \
--outputdir /Users/yudiwang/TDLM/NegoreRouse-1.7.10-r3-decompiled/src \
--silent true
```
## Build entry
Use this entry:
```sh
cd /Users/yudiwang/TDLM/NegoreRouse-1.7.10-r3-decompiled
./scripts/build.sh
```
The script compiles directly against the local CodeChickenCore RFG Minecraft jars plus local SlashBlade and IndustrialCraft2 jars, then packages resources and classes into:
```text
build/libs/SlashBlade-NegoreRouse-r3-TDLM-built.jar
```
## Compile restoration notes
Minimal source changes were made only where decompilation or compile namespace differences prevented rebuilding:
- Restored multiple CFR-broken `check` local variable assignments in special-effect classes.
- Replaced raw collection enhanced-for loops with explicit `Object` casts where CFR emitted uncompilable generic loops.
- Replaced Forge-added `Entity.getEntityData()` usage in the teleport cancel helper with an in-memory weak map because the available SRG compile jar does not expose that Forge patch method.
- Replaced Forge-added `Block.isAir(...)` calls with collision-bounding-box checks in projectile/entity movement code.
- Restored the `CreativeTabs` constructor path through reflective `getNextID()` lookup.
- Restored `ShapedOreRecipe` calls to the compile-time method names exposed by the local Forge jar.
+45
View File
@@ -0,0 +1,45 @@
# Security and performance notes
## Reviewed boundary
This pass focused on player-controlled inputs and per-tick amplification:
- client-to-server SimpleNetworkWrapper messages
- IC2 EU blade server actions
- client-only key input classes on dedicated servers
- skill entity AABB scans and entity spawning
- drop and recipe hooks
## Fixed issues
### EU blade range attack packet spam
The original `MessageSMSRangeAttack` payload is empty, so a modified client can send it without using the normal key path. The server checked the held item and charge level, but did not actually consume EU before spawning `EntityMagneticStorm`.
Fix:
- require `ElectricItem.manager.use(..., 2000000.0, player)` to succeed
- add a 10 tick item-NBT cooldown before another range attack can spawn
### EU blade tier packet free cycling
The original tier-change path set the tier before calling IC2 energy use and did not check the return value. A modified client could cycle tiers even when the energy use failed.
Fix:
- compute target tier and cost first
- set the tier only after `ElectricItem.manager.use(...)` succeeds
- add a 4 tick item-NBT cooldown
### Dedicated server client-class loading
The original `CommonProxy` registered key input handlers when IC2 was loaded. Those handlers reference `net.minecraft.client.*`, so a dedicated server can load client-only classes from common init.
Fix:
- remove key-input handler registration from `CommonProxy`
- register the handlers from `ClientProxy` after common init
## Remaining risk
The custom skill entities still do per-tick AABB scans while alive. Their lifetimes are bounded, and the packet-spawn path now has both EU cost and cooldown. A deeper gameplay-balance pass could reduce particle counts and entity counts further, but that would change visible effects more aggressively than this hardening pass.
Executable
+4
View File
@@ -0,0 +1,4 @@
#!/usr/bin/env bash
set -euo pipefail
cd "$(dirname "$0")"
exec ./scripts/build.sh "$@"
Binary file not shown.
+2
View File
@@ -0,0 +1,2 @@
Manifest-Version: 1.0
@@ -0,0 +1,108 @@
#神残魂
item.flammpfeil.slashblade.proudsoul.ItemAritemis.name=神残魂
item.flammpfeil.slashblade.proudsoul.ItemHercules.name=神残魂
item.flammpfeil.slashblade.proudsoul.ItemChronos.name=神残魂
item.flammpfeil.slashblade.proudsoul.ItemErebus.name=神残魂
item.flammpfeil.slashblade.proudsoul.ItemSoul.name=凝聚神魂
item.flammpfeil.slashblade.proudsoul.ItemTartarus.name=神残魂
item.flammpfeil.slashblade.proudsoul.ItemChaos.name=神残魂
itemGroup.flammpfeil.slashblade.NegoreRouse=神の残魂
#刀之铭
item.flammpfeil.slashblade.named.artemis.name=§6阿尔忒弥斯§1「影月」
item.flammpfeil.slashblade.named.hercules.name=§6海格力斯§e「闪耀之星」
item.flammpfeil.slashblade.named.nier.name=§6尼尔§f「永恒旋转之枪」
item.flammpfeil.slashblade.named.chronos.name=§6伊恩§7「永恒时光之轮·永劫根源魔枪」
item.flammpfeil.slashblade.named.erebus.name=§6厄瑞波斯§8「永黯沉寂」
item.flammpfeil.slashblade.named.chronosn.name=§6柯罗诺斯§c「永境之主」
item.flammpfeil.slashblade.named.protogenoi.name=§6普洛托革诺伊§5「始源」
item.flammpfeil.slashblade.named.tartarus.name=§4塔耳塔洛斯§4「狱渊之锁」
item.flammpfeil.slashblade.named.chaos.name=§4卡俄斯§0「溟濛万象」
item.flammpfeil.slashblade.named.antauge.name=§4安托则斯§d「冥光万法」
#刀之技
slashblade.seffect.name.Oracle=§a§l神谕
slashblade.seffect.name.BurstDrive2=§7§l爆裂性
slashblade.seffect.name.NegativeDivinePower=§7§l负向神力
slashblade.seffect.name.AbsolutePower=§a§l绝对神力
slashblade.seffect.name.To_flash_back=§c§l回溯
slashblade.seffect.name.Purgatory=§4§l禁锢
#刀之成
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.artemis=§6阿尔忒弥斯§1「影月」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.hercules=§6海格力斯§e「闪耀之星
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.nier=§6尼尔§f「永恒旋转之枪」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.chronos=§6伊恩§7「永恒时光之轮·永劫根源魔枪」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.erebus=§6厄瑞波斯§8「永黯沉寂」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.chronosn=§6柯罗诺斯§c「永境之主」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.protogenoi=§6普洛托革诺伊§5「始源」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.tartarus=§4塔耳塔洛斯§4「狱渊之锁」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.chaos= §4卡俄斯§0「溟濛万象」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.antauge=§4安托则斯§d「冥光万法」
#刀之就
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.artemis.desc=§1§l冽耀的新月
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.hercules.desc=§6§l纷繁的尽头
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.nier.desc=§f§l曼妙的螺旋
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.chronos.desc=§7§l雕镂的岁月
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.erebus.desc=§8§l永夜的丧钟
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.chronosn.desc=§c§l缄默的苍境
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.protogenoi.desc=§5§l万物的溯源
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.tartarus.desc=§4§l狱渊的枷锁
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.chaos.desc=§0§l溟濛的万象
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.antauge.desc=§5§l冥光的万法
#技之铭
flammpfeil.slashblade.specialattack.sa_1=虚·「开辟千山的翠绿地平线」
flammpfeil.slashblade.specialattack.sa_2=绝·「焚驱万海的拂晓水平线」
flammpfeil.slashblade.specialattack.sa_3=极·「轰震星宿的环宇天界线」
flammpfeil.slashblade.specialattack.sa_4=空·「织罗空间的维度平行线」
@@ -0,0 +1,108 @@
#神残魂
item.flammpfeil.slashblade.proudsoul.ItemAritemis.name=神残魂
item.flammpfeil.slashblade.proudsoul.ItemHercules.name=神残魂
item.flammpfeil.slashblade.proudsoul.ItemChronos.name=神残魂
item.flammpfeil.slashblade.proudsoul.ItemErebus.name=神残魂
item.flammpfeil.slashblade.proudsoul.ItemSoul.name=凝聚神魂
item.flammpfeil.slashblade.proudsoul.ItemTartarus.name=神残魂
item.flammpfeil.slashblade.proudsoul.ItemChaos.name=神残魂
itemGroup.flammpfeil.slashblade.NegoreRouse=神の残魂
#刀之铭
item.flammpfeil.slashblade.named.artemis.name=§6阿尔忒弥斯§1「影月」
item.flammpfeil.slashblade.named.hercules.name=§6海格力斯§e「闪耀之星」
item.flammpfeil.slashblade.named.nier.name=§6尼尔§f「永恒旋转之枪」
item.flammpfeil.slashblade.named.chronos.name=§6伊恩§7「永恒时光之轮·永劫根源魔枪」
item.flammpfeil.slashblade.named.erebus.name=§6厄瑞波斯§8「永黯沉寂」
item.flammpfeil.slashblade.named.chronosn.name=§6柯罗诺斯§c「永境之主」
item.flammpfeil.slashblade.named.protogenoi.name=§6普洛托革诺伊§5「始源」
item.flammpfeil.slashblade.named.tartarus.name=§4塔耳塔洛斯§4「狱渊之锁」
item.flammpfeil.slashblade.named.chaos.name=§4卡俄斯§0「溟濛万象」
item.flammpfeil.slashblade.named.antauge.name=§4安托则斯§d「冥光万法」
#刀之技
slashblade.seffect.name.Oracle=§a§l神谕
slashblade.seffect.name.BurstDrive2=§7§l爆裂性
slashblade.seffect.name.NegativeDivinePower=§7§l负向神力
slashblade.seffect.name.AbsolutePower=§a§l绝对神力
slashblade.seffect.name.To_flash_back=§c§l回溯
slashblade.seffect.name.Purgatory=§4§l禁锢
#刀之成
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.artemis=§6阿尔忒弥斯§1「影月」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.hercules=§6海格力斯§e「闪耀之星
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.nier=§6尼尔§f「永恒旋转之枪」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.chronos=§6伊恩§7「永恒时光之轮·永劫根源魔枪」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.erebus=§6厄瑞波斯§8「永黯沉寂」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.chronosn=§6柯罗诺斯§c「永境之主」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.protogenoi=§6普洛托革诺伊§5「始源」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.tartarus=§4塔耳塔洛斯§4「狱渊之锁」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.chaos= §4卡俄斯§0「溟濛万象」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.antauge=§4安托则斯§d「冥光万法」
#刀之就
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.artemis.desc=§1§l冽耀的新月
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.hercules.desc=§6§l纷繁的尽头
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.nier.desc=§f§l曼妙的螺旋
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.chronos.desc=§7§l雕镂的岁月
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.erebus.desc=§8§l永夜的丧钟
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.chronosn.desc=§c§l缄默的苍境
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.protogenoi.desc=§5§l万物的溯源
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.tartarus.desc=§4§l狱渊的枷锁
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.chaos.desc=§0§l溟濛的万象
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.antauge.desc=§5§l冥光的万法
#技之铭
flammpfeil.slashblade.specialattack.sa_1=虚·「开辟千山的翠绿地平线」
flammpfeil.slashblade.specialattack.sa_2=绝·「焚驱万海的拂晓水平线」
flammpfeil.slashblade.specialattack.sa_3=极·「轰震星宿的环宇天界线」
flammpfeil.slashblade.specialattack.sa_4=空·「织罗空间的维度平行线」
@@ -0,0 +1,108 @@
#神残魂
item.flammpfeil.slashblade.proudsoul.ItemAritemis.name=神残魂
item.flammpfeil.slashblade.proudsoul.ItemHercules.name=神残魂
item.flammpfeil.slashblade.proudsoul.ItemChronos.name=神残魂
item.flammpfeil.slashblade.proudsoul.ItemErebus.name=神残魂
item.flammpfeil.slashblade.proudsoul.ItemSoul.name=凝聚神魂
item.flammpfeil.slashblade.proudsoul.ItemTartarus.name=神残魂
item.flammpfeil.slashblade.proudsoul.ItemChaos.name=神残魂
itemGroup.flammpfeil.slashblade.NegoreRouse=神の残魂
#刀之铭
item.flammpfeil.slashblade.named.artemis.name=§6阿尔忒弥斯§1「影月」
item.flammpfeil.slashblade.named.hercules.name=§6海格力斯§e「闪耀之星」
item.flammpfeil.slashblade.named.nier.name=§6尼尔§f「永恒旋转之枪」
item.flammpfeil.slashblade.named.chronos.name=§6伊恩§7「永恒时光之轮·永劫根源魔枪」
item.flammpfeil.slashblade.named.erebus.name=§6厄瑞波斯§8「永黯沉寂」
item.flammpfeil.slashblade.named.chronosn.name=§6柯罗诺斯§c「永境之主」
item.flammpfeil.slashblade.named.protogenoi.name=§6普洛托革诺伊§5「始源」
item.flammpfeil.slashblade.named.tartarus.name=§4塔耳塔洛斯§4「狱渊之锁」
item.flammpfeil.slashblade.named.chaos.name=§4卡俄斯§0「溟濛万象」
item.flammpfeil.slashblade.named.antauge.name=§4安托则斯§d「冥光万法」
#刀之技
slashblade.seffect.name.Oracle=§a§l神谕
slashblade.seffect.name.BurstDrive2=§7§l爆裂性
slashblade.seffect.name.NegativeDivinePower=§7§l负向神力
slashblade.seffect.name.AbsolutePower=§a§l绝对神力
slashblade.seffect.name.To_flash_back=§c§l回溯
slashblade.seffect.name.Purgatory=§4§l禁锢
#刀之成
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.artemis=§6阿尔忒弥斯§1「影月」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.hercules=§6海格力斯§e「闪耀之星
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.nier=§6尼尔§f「永恒旋转之枪」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.chronos=§6伊恩§7「永恒时光之轮·永劫根源魔枪」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.erebus=§6厄瑞波斯§8「永黯沉寂」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.chronosn=§6柯罗诺斯§c「永境之主」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.protogenoi=§6普洛托革诺伊§5「始源」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.tartarus=§4塔耳塔洛斯§4「狱渊之锁」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.chaos= §4卡俄斯§0「溟濛万象」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.antauge=§4安托则斯§d「冥光万法」
#刀之就
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.artemis.desc=§1§l冽耀的新月
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.hercules.desc=§6§l纷繁的尽头
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.nier.desc=§f§l曼妙的螺旋
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.chronos.desc=§7§l雕镂的岁月
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.erebus.desc=§8§l永夜的丧钟
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.chronosn.desc=§c§l缄默的苍境
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.protogenoi.desc=§5§l万物的溯源
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.tartarus.desc=§4§l狱渊的枷锁
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.chaos.desc=§0§l溟濛的万象
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.antauge.desc=§5§l冥光的万法
#技之铭
flammpfeil.slashblade.specialattack.sa_1=虚·「开辟千山的翠绿地平线」
flammpfeil.slashblade.specialattack.sa_2=绝·「焚驱万海的拂晓水平线」
flammpfeil.slashblade.specialattack.sa_3=极·「轰震星宿的环宇天界线」
flammpfeil.slashblade.specialattack.sa_4=空·「织罗空间的维度平行线」
@@ -0,0 +1,108 @@
#神残魂
item.flammpfeil.slashblade.proudsoul.ItemAritemis.name=神残魂
item.flammpfeil.slashblade.proudsoul.ItemHercules.name=神残魂
item.flammpfeil.slashblade.proudsoul.ItemChronos.name=神残魂
item.flammpfeil.slashblade.proudsoul.ItemErebus.name=神残魂
item.flammpfeil.slashblade.proudsoul.ItemSoul.name=凝聚神魂
item.flammpfeil.slashblade.proudsoul.ItemTartarus.name=神残魂
item.flammpfeil.slashblade.proudsoul.ItemChaos.name=神残魂
itemGroup.flammpfeil.slashblade.NegoreRouse=神の残魂
#刀之铭
item.flammpfeil.slashblade.named.artemis.name=§6阿尔忒弥斯§1「影月」
item.flammpfeil.slashblade.named.hercules.name=§6海格力斯§e「闪耀之星」
item.flammpfeil.slashblade.named.nier.name=§6尼尔§f「永恒旋转之枪」
item.flammpfeil.slashblade.named.chronos.name=§6伊恩§7「永恒时光之轮·永劫根源魔枪」
item.flammpfeil.slashblade.named.erebus.name=§6厄瑞波斯§8「永黯沉寂」
item.flammpfeil.slashblade.named.chronosn.name=§6柯罗诺斯§c「永境之主」
item.flammpfeil.slashblade.named.protogenoi.name=§6普洛托革诺伊§5「始源」
item.flammpfeil.slashblade.named.tartarus.name=§4塔耳塔洛斯§4「狱渊之锁」
item.flammpfeil.slashblade.named.chaos.name=§4卡俄斯§0「溟濛万象」
item.flammpfeil.slashblade.named.antauge.name=§4安托则斯§d「冥光万法」
#刀之技
slashblade.seffect.name.Oracle=§a§l神谕
slashblade.seffect.name.BurstDrive2=§7§l爆裂性
slashblade.seffect.name.NegativeDivinePower=§7§l负向神力
slashblade.seffect.name.AbsolutePower=§a§l绝对神力
slashblade.seffect.name.To_flash_back=§c§l回溯
slashblade.seffect.name.Purgatory=§4§l禁锢
#刀之成
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.artemis=§6阿尔忒弥斯§1「影月」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.hercules=§6海格力斯§e「闪耀之星
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.nier=§6尼尔§f「永恒旋转之枪」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.chronos=§6伊恩§7「永恒时光之轮·永劫根源魔枪」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.erebus=§6厄瑞波斯§8「永黯沉寂」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.chronosn=§6柯罗诺斯§c「永境之主」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.protogenoi=§6普洛托革诺伊§5「始源」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.tartarus=§4塔耳塔洛斯§4「狱渊之锁」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.chaos= §4卡俄斯§0「溟濛万象」
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.antauge=§4安托则斯§d「冥光万法」
#刀之就
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.artemis.desc=§1§l冽耀的新月
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.hercules.desc=§6§l纷繁的尽头
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.nier.desc=§f§l曼妙的螺旋
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.chronos.desc=§7§l雕镂的岁月
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.erebus.desc=§8§l永夜的丧钟
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.chronosn.desc=§c§l缄默的苍境
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.protogenoi.desc=§5§l万物的溯源
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.tartarus.desc=§4§l狱渊的枷锁
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.chaos.desc=§0§l溟濛的万象
achievement.flammpfeil.slashblade.flammpfeil.slashblade.named.antauge.desc=§5§l冥光的万法
#技之铭
flammpfeil.slashblade.specialattack.sa_1=虚·「开辟千山的翠绿地平线」
flammpfeil.slashblade.specialattack.sa_2=绝·「焚驱万海的拂晓水平线」
flammpfeil.slashblade.specialattack.sa_3=极·「轰震星宿的环宇天界线」
flammpfeil.slashblade.specialattack.sa_4=空·「织罗空间的维度平行线」
File diff suppressed because it is too large. Load diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

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

After

Width:  |  Height:  |  Size: 2.3 MiB

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

After

Width:  |  Height:  |  Size: 8.9 MiB

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

After

Width:  |  Height:  |  Size: 3.2 MiB

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

After

Width:  |  Height:  |  Size: 3.3 MiB

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

After

Width:  |  Height:  |  Size: 3.0 MiB

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

After

Width:  |  Height:  |  Size: 2.2 MiB

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

After

Width:  |  Height:  |  Size: 3.2 MiB

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

After

Width:  |  Height:  |  Size: 3.2 MiB

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

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

+16
View File
@@ -0,0 +1,16 @@
[
{
"modid": "NegoreRouse",
"name": "NegoreRouse",
"description": "NegoreRouse.",
"version": "1.0.0",
"mcversion": "1.7.10",
"url": "",
"updateUrl": "",
"authorList": ["Fish"],
"credits": "a mod of the minecraft",
"logoFile": "",
"screenshots": [],
"dependencies": []
}
]
+81
View File
@@ -0,0 +1,81 @@
#!/usr/bin/env bash
set -euo pipefail
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
TDLM_ROOT="$(cd "$ROOT/.." && pwd)"
BUILD_DIR="$ROOT/build"
CLASSES_DIR="$BUILD_DIR/classes"
STAGE_DIR="$BUILD_DIR/stage"
LIBS_DIR="$BUILD_DIR/libs"
SOURCES_LIST="$BUILD_DIR/sources.list"
OUT_JAR="$LIBS_DIR/SlashBlade-NegoreRouse-r3-TDLM-built.jar"
first_existing() {
for path in "$@"; do
if [[ -f "$path" ]]; then
printf '%s\n' "$path"
return 0
fi
done
return 1
}
first_find() {
local base="$1"
local pattern="$2"
if [[ -d "$base" ]]; then
find "$base" -type f -name "$pattern" | sort | tail -n 1
fi
}
require_file() {
local label="$1"
local path="$2"
if [[ -z "$path" || ! -f "$path" ]]; then
printf 'Missing %s: %s\n' "$label" "${path:-<not found>}" >&2
exit 1
fi
}
MC_SRG="${MC_SRG:-$TDLM_ROOT/CodeChickenCore/build/rfg/srg_merged_minecraft.jar}"
FORGE_BIN="${FORGE_BIN:-$TDLM_ROOT/CodeChickenCore/build/rfg/recompiled_minecraft-1.7.10.jar}"
SLASH_RUNTIME="${SLASH_RUNTIME:-$(first_existing \
"$TDLM_ROOT/SlashBlade/build/libs/SlashBlade-mc1.7.10-r87.jar" \
"$TDLM_ROOT/.codex/uranium-server-run-20260625-105138/mods/SlashBlade-mc1.7.10-r87.jar" \
|| true)}"
IC2_RUNTIME="${IC2_RUNTIME:-$(first_existing \
"$TDLM_ROOT/IndustrialCraft2/build/libs/IC2-40e07a0-main+40e07a0e63-dirty.jar" \
"$TDLM_ROOT/.codex/uranium-server-run-20260625-105138/mods/IC2-40e07a0-main+40e07a0e63-dirty.jar" \
"$(first_find "$TDLM_ROOT/IndustrialCraft2/build/libs" 'IC2-*-dirty.jar')" \
|| true)}"
GUAVA="${GUAVA:-$(first_find "$HOME/.gradle/caches/modules-2/files-2.1/com.google.guava/guava/17.0" 'guava-17.0.jar')}"
NETTY="${NETTY:-$(first_find "$HOME/.gradle/caches/modules-2/files-2.1/io.netty/netty-all/4.0.10.Final" 'netty-all-4.0.10.Final.jar')}"
LWJGL="${LWJGL:-$(first_find "$HOME/.gradle/caches/modules-2/files-2.1/org.lwjgl.lwjgl/lwjgl/2.9.1" 'lwjgl-2.9.1.jar')}"
LWJGL_UTIL="${LWJGL_UTIL:-$(first_find "$HOME/.gradle/caches/modules-2/files-2.1/org.lwjgl.lwjgl/lwjgl_util/2.9.1" 'lwjgl_util-2.9.1.jar')}"
require_file "CodeChickenCore SRG Minecraft jar" "$MC_SRG"
require_file "CodeChickenCore recompiled Minecraft jar" "$FORGE_BIN"
require_file "SlashBlade 1.7.10 runtime jar" "$SLASH_RUNTIME"
require_file "IndustrialCraft2 runtime jar" "$IC2_RUNTIME"
require_file "Guava 17.0" "$GUAVA"
require_file "Netty 4.0.10.Final" "$NETTY"
require_file "LWJGL 2.9.1" "$LWJGL"
require_file "LWJGL util 2.9.1" "$LWJGL_UTIL"
rm -rf "$CLASSES_DIR" "$STAGE_DIR" "$LIBS_DIR"
mkdir -p "$CLASSES_DIR" "$STAGE_DIR" "$LIBS_DIR"
find "$ROOT/src" -name '*.java' | sort > "$SOURCES_LIST"
CP="$MC_SRG:$SLASH_RUNTIME:$IC2_RUNTIME:$FORGE_BIN:$GUAVA:$NETTY:$LWJGL:$LWJGL_UTIL"
javac -encoding UTF-8 -source 8 -target 8 -cp "$CP" -d "$CLASSES_DIR" @"$SOURCES_LIST"
cp -R "$ROOT/resources/." "$STAGE_DIR/"
cp -R "$CLASSES_DIR/." "$STAGE_DIR/"
if [[ -f "$STAGE_DIR/META-INF/MANIFEST.MF" ]]; then
(cd "$STAGE_DIR" && jar cfm "$OUT_JAR" META-INF/MANIFEST.MF .)
else
(cd "$STAGE_DIR" && jar cf "$OUT_JAR" .)
fi
printf '%s\n' "$OUT_JAR"
@@ -0,0 +1,29 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* net.minecraft.entity.player.EntityPlayer
* net.minecraft.item.Item
* net.minecraft.item.ItemStack
*/
package NegoreRouse.mods.slashblade.Black;
import NegoreRouse.mods.slashblade.NegoreRouseTab;
import java.util.List;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
public class ItemAritemis
extends Item {
public void func_77624_a(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) {
super.func_77624_a(par1ItemStack, par2EntityPlayer, par3List, par4);
par3List.add("\u95c3\u57ae\u76b5\u8e47\u6391\u8ba5\u93c2\ufffd");
par3List.add("SE:\u7ec1\u70b6\u76b6\u922a\ufffd");
}
public ItemAritemis() {
this.func_77637_a(NegoreRouseTab.NegoreTab);
}
}
@@ -0,0 +1,29 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* net.minecraft.entity.player.EntityPlayer
* net.minecraft.item.Item
* net.minecraft.item.ItemStack
*/
package NegoreRouse.mods.slashblade.Black;
import NegoreRouse.mods.slashblade.NegoreRouseTab;
import java.util.List;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
public class ItemChaos
extends Item {
public void func_77624_a(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) {
super.func_77624_a(par1ItemStack, par2EntityPlayer, par3List, par4);
par3List.add("\u9357\u2032\u7e3f\u93c2\ufffd");
par3List.add("SE:\u7ec1\u70b6\u76b6\u922a\ufffd");
}
public ItemChaos() {
this.func_77637_a(NegoreRouseTab.NegoreTab);
}
}
@@ -0,0 +1,29 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* net.minecraft.entity.player.EntityPlayer
* net.minecraft.item.Item
* net.minecraft.item.ItemStack
*/
package NegoreRouse.mods.slashblade.Black;
import NegoreRouse.mods.slashblade.NegoreRouseTab;
import java.util.List;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
public class ItemChronos
extends Item {
public void func_77624_a(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) {
super.func_77624_a(par1ItemStack, par2EntityPlayer, par3List, par4);
par3List.add("\u93cc\ue21c\u7d8f\u7487\u70d8\u67c9");
par3List.add("SE:\u7ec1\u70b6\u76b6\u922a\ufffd");
}
public ItemChronos() {
this.func_77637_a(NegoreRouseTab.NegoreTab);
}
}
@@ -0,0 +1,29 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* net.minecraft.entity.player.EntityPlayer
* net.minecraft.item.Item
* net.minecraft.item.ItemStack
*/
package NegoreRouse.mods.slashblade.Black;
import NegoreRouse.mods.slashblade.NegoreRouseTab;
import java.util.List;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
public class ItemDimensity
extends Item {
public void func_77624_a(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) {
super.func_77624_a(par1ItemStack, par2EntityPlayer, par3List, par4);
par3List.add("Unknown");
par3List.add("SE:Unknown");
}
public ItemDimensity() {
this.func_77637_a(NegoreRouseTab.NegoreTab);
}
}
@@ -0,0 +1,29 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* net.minecraft.entity.player.EntityPlayer
* net.minecraft.item.Item
* net.minecraft.item.ItemStack
*/
package NegoreRouse.mods.slashblade.Black;
import NegoreRouse.mods.slashblade.NegoreRouseTab;
import java.util.List;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
public class ItemErebus
extends Item {
public void func_77624_a(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) {
super.func_77624_a(par1ItemStack, par2EntityPlayer, par3List, par4);
par3List.add("\u9358\u52ed\u61ba\u5a09\u3221\u67c9");
par3List.add("SE:\u7490\u71b7\u609c\u7ec1\u70b2\u59cf");
}
public ItemErebus() {
this.func_77637_a(NegoreRouseTab.NegoreTab);
}
}
@@ -0,0 +1,29 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* net.minecraft.entity.player.EntityPlayer
* net.minecraft.item.Item
* net.minecraft.item.ItemStack
*/
package NegoreRouse.mods.slashblade.Black;
import NegoreRouse.mods.slashblade.NegoreRouseTab;
import java.util.List;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
public class ItemFate_star
extends Item {
public void func_77624_a(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) {
super.func_77624_a(par1ItemStack, par2EntityPlayer, par3List, par4);
par3List.add("\u95c3\u57ae\u5d21\u9352\ufffd");
par3List.add("SE:\u7f01\u6fc6\ue1ee\u7ec1\u70b2\u59cf");
}
public ItemFate_star() {
this.func_77637_a(NegoreRouseTab.NegoreTab);
}
}
@@ -0,0 +1,29 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* net.minecraft.entity.player.EntityPlayer
* net.minecraft.item.Item
* net.minecraft.item.ItemStack
*/
package NegoreRouse.mods.slashblade.Black;
import NegoreRouse.mods.slashblade.NegoreRouseTab;
import java.util.List;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
public class ItemHercules
extends Item {
public void func_77624_a(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) {
super.func_77624_a(par1ItemStack, par2EntityPlayer, par3List, par4);
par3List.add("\u5a34\u950b\u7278\u9354\u6d99\u67c9");
par3List.add("SE:\u7ec1\u70b6\u76b6\u922a\ufffd");
}
public ItemHercules() {
this.func_77637_a(NegoreRouseTab.NegoreTab);
}
}
@@ -0,0 +1,29 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* net.minecraft.entity.player.EntityPlayer
* net.minecraft.item.Item
* net.minecraft.item.ItemStack
*/
package NegoreRouse.mods.slashblade.Black;
import NegoreRouse.mods.slashblade.NegoreRouseTab;
import java.util.List;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
public class ItemSoul_mix
extends Item {
public void func_77624_a(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) {
super.func_77624_a(par1ItemStack, par2EntityPlayer, par3List, par4);
par3List.add("\u93c5\ue1bd\u7907\u93b5\u6a40\u6f7b\u7487\u8f70\u7d1b");
par3List.add("SE:\u7f01\u6fc6\ue1ee\u7ec1\u70b2\u59cf");
}
public ItemSoul_mix() {
this.func_77637_a(NegoreRouseTab.NegoreTab);
}
}
@@ -0,0 +1,29 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* net.minecraft.entity.player.EntityPlayer
* net.minecraft.item.Item
* net.minecraft.item.ItemStack
*/
package NegoreRouse.mods.slashblade.Black;
import NegoreRouse.mods.slashblade.NegoreRouseTab;
import java.util.List;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
public class ItemTartarus
extends Item {
public void func_77624_a(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) {
super.func_77624_a(par1ItemStack, par2EntityPlayer, par3List, par4);
par3List.add("\u6fc9\u65c7\ufffd\u51b2\ue519\u5a32\u6d99\u67c9");
par3List.add("SE:\u7ec2\u4f80\u6558");
}
public ItemTartarus() {
this.func_77637_a(NegoreRouseTab.NegoreTab);
}
}
@@ -0,0 +1,83 @@
/*
* 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.entity.EntityBladeStand
* mods.flammpfeil.slashblade.named.event.LoadEvent$InitEvent
* mods.flammpfeil.slashblade.named.event.LoadEvent$PostInitEvent
* mods.flammpfeil.slashblade.specialeffect.ISpecialEffect
* mods.flammpfeil.slashblade.specialeffect.SpecialEffects
* mods.flammpfeil.slashblade.stats.AchievementList
* mods.flammpfeil.slashblade.util.SlashBladeEvent$BladeStandAttack
* mods.flammpfeil.slashblade.util.SlashBladeHooks
* net.minecraft.item.Item
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package NegoreRouse.mods.slashblade.Blade;
import NegoreRouse.mods.slashblade.specialeffect.Eternity;
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.entity.EntityBladeStand;
import mods.flammpfeil.slashblade.named.event.LoadEvent;
import mods.flammpfeil.slashblade.specialeffect.ISpecialEffect;
import mods.flammpfeil.slashblade.specialeffect.SpecialEffects;
import mods.flammpfeil.slashblade.stats.AchievementList;
import mods.flammpfeil.slashblade.util.SlashBladeEvent;
import mods.flammpfeil.slashblade.util.SlashBladeHooks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class Aeon {
public static ItemSlashBladeNamed bladeNamed;
public static ISpecialEffect Eternity;
String name = "flammpfeil.slashblade.named.aeon";
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
ItemStack customblade = new ItemStack((Item)SlashBlade.bladeNamed, 1, 0);
NBTTagCompound tag = new NBTTagCompound();
customblade.func_77982_d(tag);
ItemSlashBladeNamed.CurrentItemName.set(tag, this.name);
ItemSlashBladeNamed.CustomMaxDamage.set(tag, Integer.valueOf(1));
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(false));
ItemSlashBlade.TextureName.set(tag, "named/negorerouse/aeon");
ItemSlashBlade.ModelName.set(tag, "named/negorerouse/aeon");
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(3004));
ItemSlashBlade.BaseAttackModifier.set(tag, Float.valueOf(1.0E8f));
ItemSlashBlade.SummonedSwordColor.set(tag, Integer.valueOf(0xFFFF00));
ItemSlashBlade.ProudSoul.set(tag, Integer.valueOf(999999999));
ItemSlashBlade.KillCount.set(tag, Integer.valueOf(999999999));
SpecialEffects.addEffect((ItemStack)customblade, (ISpecialEffect)Eternity);
GameRegistry.registerCustomItemStack((String)this.name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add(this.name);
AchievementList.registerCraftingAchievement((String)this.name, (ItemStack)customblade, (Achievement)AchievementList.getAchievement((String)"buildSlashBlade"));
}
@SubscribeEvent
public void postinit(LoadEvent.PostInitEvent event) {
SlashBladeHooks.EventBus.register((Object)this);
}
@SubscribeEvent
public void onBladeStandAttack(SlashBladeEvent.BladeStandAttack event) {
EntityBladeStand Stand = event.entityBladeStand;
}
static {
Eternity = SpecialEffects.register((ISpecialEffect)new Eternity());
}
}
@@ -0,0 +1,92 @@
/*
* 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.specialeffect.ISpecialEffect
* mods.flammpfeil.slashblade.specialeffect.SpecialEffects
* mods.flammpfeil.slashblade.stats.AchievementList
* net.minecraft.enchantment.Enchantment
* net.minecraft.init.Blocks
* net.minecraft.init.Items
* net.minecraft.item.Item
* net.minecraft.item.ItemStack
* net.minecraft.item.crafting.IRecipe
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package NegoreRouse.mods.slashblade.Blade;
import NegoreRouse.mods.slashblade.Blade.Artemis;
import NegoreRouse.mods.slashblade.NegoreRouse;
import NegoreRouse.mods.slashblade.RecipeNegoreRouse;
import NegoreRouse.mods.slashblade.specialeffect.Fate;
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.specialeffect.ISpecialEffect;
import mods.flammpfeil.slashblade.specialeffect.SpecialEffects;
import mods.flammpfeil.slashblade.stats.AchievementList;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class Ananke {
public static ItemSlashBladeNamed bladeNamed;
public static ISpecialEffect Fate;
String name2 = "flammpfeil.slashblade.named.nyx";
String name = "flammpfeil.slashblade.named.ananke";
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
ItemStack customblade = new ItemStack((Item)SlashBlade.bladeNamed, 1, 0);
NBTTagCompound tag = new NBTTagCompound();
customblade.func_77982_d(tag);
ItemSlashBladeNamed.CurrentItemName.set(tag, this.name);
ItemSlashBladeNamed.CustomMaxDamage.set(tag, Integer.valueOf(1000));
ItemSlashBlade.AttackAmplifier.set(tag, Float.valueOf(9999999.0f));
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBlade.TextureName.set(tag, "named/negorerouse/ananke");
ItemSlashBlade.ModelName.set(tag, "named/negorerouse/nyx");
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(3008));
ItemSlashBlade.ProudSoul.set(tag, Integer.valueOf(40000));
ItemSlashBlade.BaseAttackModifier.set(tag, Float.valueOf(36.0f));
ItemSlashBlade.SummonedSwordColor.set(tag, Integer.valueOf(13467442));
SpecialEffects.addEffect((ItemStack)customblade, (ISpecialEffect)Artemis.Oracle);
SpecialEffects.addEffect((ItemStack)customblade, (ISpecialEffect)Artemis.AbsolutePower);
SpecialEffects.addEffect((ItemStack)customblade, (ISpecialEffect)Fate);
GameRegistry.registerCustomItemStack((String)this.name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add(this.name);
customblade.func_77966_a(Enchantment.field_77347_r, 5);
customblade.func_77966_a(Enchantment.field_77345_t, 9);
customblade.func_77966_a(Enchantment.field_77334_n, 3);
customblade.func_77966_a(Enchantment.field_77339_k, 10);
customblade.func_77966_a(Enchantment.field_77337_m, 2);
AchievementList.registerCraftingAchievement((String)this.name, (ItemStack)customblade, (Achievement)AchievementList.getAchievement((String)this.name2));
ItemStack custombladeReqiredF = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)this.name2, (int)1);
NBTTagCompound reqTag = ItemSlashBlade.getItemTagCompound((ItemStack)custombladeReqiredF);
ItemSlashBlade.ProudSoul.set(reqTag, Integer.valueOf(40000));
ItemStack blackblade = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)this.name, (int)1);
ItemStack itemTinyBladeSoulStr = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)"tiny_bladesoul", (int)1);
RecipeNegoreRouse recipe = new RecipeNegoreRouse(blackblade, custombladeReqiredF, "ECS", "ZXZ", "TYE", Character.valueOf('E'), new ItemStack(NegoreRouse.ItemSoul_mix), Character.valueOf('C'), new ItemStack(Blocks.field_150343_Z), Character.valueOf('S'), new ItemStack(Items.field_151048_u), Character.valueOf('Z'), new ItemStack(NegoreRouse.ItemFate_star), Character.valueOf('X'), custombladeReqiredF, Character.valueOf('T'), new ItemStack(Items.field_151010_B), Character.valueOf('Y'), new ItemStack(Blocks.field_150340_R));
SlashBlade.addRecipe((String)"ananke", (IRecipe)recipe);
}
static {
Fate = SpecialEffects.register((ISpecialEffect)new Fate());
}
}
@@ -0,0 +1,91 @@
/*
* 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.specialeffect.ISpecialEffect
* mods.flammpfeil.slashblade.specialeffect.SpecialEffects
* mods.flammpfeil.slashblade.stats.AchievementList
* net.minecraft.enchantment.Enchantment
* net.minecraft.init.Blocks
* net.minecraft.init.Items
* net.minecraft.item.Item
* net.minecraft.item.ItemStack
* net.minecraft.item.crafting.IRecipe
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package NegoreRouse.mods.slashblade.Blade;
import NegoreRouse.mods.slashblade.Blade.Artemis;
import NegoreRouse.mods.slashblade.Blade.Protogenoi;
import NegoreRouse.mods.slashblade.NegoreRouse;
import NegoreRouse.mods.slashblade.RecipeNegoreRouse;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import java.util.Random;
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.specialeffect.ISpecialEffect;
import mods.flammpfeil.slashblade.specialeffect.SpecialEffects;
import mods.flammpfeil.slashblade.stats.AchievementList;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class Antauge {
public static ItemSlashBladeNamed bladeNamed;
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
String name = "flammpfeil.slashblade.named.antauge";
String name2 = "flammpfeil.slashblade.named.muramasa";
ItemStack customblade = new ItemStack((Item)SlashBlade.bladeNamed, 1, 0);
NBTTagCompound tag = new NBTTagCompound();
customblade.func_77982_d(tag);
Random rand = new Random();
float min = 0.0f;
float max = 74.0f;
float i = min + rand.nextFloat() * (max - min);
ItemSlashBladeNamed.CurrentItemName.set(tag, name);
ItemSlashBladeNamed.CustomMaxDamage.set(tag, Integer.valueOf(260));
ItemSlashBlade.setBaseAttackModifier((NBTTagCompound)tag, (float)(0.0f + i));
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBlade.TextureName.set(tag, "named/negorerouse/antauge");
ItemSlashBlade.ModelName.set(tag, "named/negorerouse/antauge");
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(2));
ItemSlashBlade.ProudSoul.set(tag, Integer.valueOf(15000));
ItemSlashBlade.BaseAttackModifier.set(tag, Float.valueOf(0.0f + i));
ItemSlashBlade.SummonedSwordColor.set(tag, Integer.valueOf(0xFFFF00));
SpecialEffects.addEffect((ItemStack)customblade, (ISpecialEffect)Artemis.Oracle);
SpecialEffects.addEffect((ItemStack)customblade, (ISpecialEffect)Protogenoi.To_flash_back);
GameRegistry.registerCustomItemStack((String)name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add(name);
customblade.func_77966_a(Enchantment.field_77347_r, 4);
customblade.func_77966_a(Enchantment.field_77338_j, 7);
customblade.func_77966_a(Enchantment.field_77334_n, 5);
customblade.func_77966_a(Enchantment.field_77339_k, 8);
AchievementList.registerCraftingAchievement((String)name, (ItemStack)customblade, (Achievement)AchievementList.getAchievement((String)"buildSlashBlade"));
ItemStack custombladeReqiredF = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)name2, (int)1);
NBTTagCompound reqTag = ItemSlashBlade.getItemTagCompound((ItemStack)custombladeReqiredF);
ItemSlashBlade.ProudSoul.set(reqTag, Integer.valueOf(15000));
ItemStack blackblade = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)name, (int)1);
ItemStack itemSphereBladeSoulStr = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)"sphere_bladesoul", (int)1);
ItemStack itemIngotBladeSoulStr = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)"ingot_bladesoul", (int)1);
RecipeNegoreRouse recipe = new RecipeNegoreRouse(blackblade, custombladeReqiredF, "ZXC", "VBN", "ASD", Character.valueOf('Z'), itemSphereBladeSoulStr, Character.valueOf('X'), new ItemStack(NegoreRouse.ItemChaos), Character.valueOf('C'), new ItemStack(Items.field_151156_bN), Character.valueOf('V'), new ItemStack(Blocks.field_150426_aN), Character.valueOf('N'), new ItemStack(Items.field_151042_j), Character.valueOf('A'), new ItemStack(Items.field_151062_by), Character.valueOf('S'), new ItemStack(NegoreRouse.ItemHercules), Character.valueOf('D'), itemIngotBladeSoulStr, Character.valueOf('B'), custombladeReqiredF);
SlashBlade.addRecipe((String)"antauge", (IRecipe)recipe);
}
}
@@ -0,0 +1,118 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.Loader
* 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.specialeffect.ISpecialEffect
* mods.flammpfeil.slashblade.specialeffect.SpecialEffects
* mods.flammpfeil.slashblade.stats.AchievementList
* net.minecraft.enchantment.Enchantment
* net.minecraft.init.Blocks
* net.minecraft.init.Items
* net.minecraft.item.Item
* net.minecraft.item.ItemStack
* net.minecraft.item.crafting.IRecipe
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package NegoreRouse.mods.slashblade.Blade;
import NegoreRouse.mods.slashblade.NegoreRouse;
import NegoreRouse.mods.slashblade.RecipeNegoreRouse;
import NegoreRouse.mods.slashblade.SA.SA_1;
import NegoreRouse.mods.slashblade.SA.SA_2;
import NegoreRouse.mods.slashblade.SA.SA_3;
import NegoreRouse.mods.slashblade.SA.SA_4;
import NegoreRouse.mods.slashblade.SA.SA_5;
import NegoreRouse.mods.slashblade.SA.SA_8;
import NegoreRouse.mods.slashblade.SA.SA_9;
import NegoreRouse.mods.slashblade.specialeffect.AbsolutePower;
import NegoreRouse.mods.slashblade.specialeffect.NegativeDivinePower;
import NegoreRouse.mods.slashblade.specialeffect.Oracle;
import cpw.mods.fml.common.Loader;
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.specialeffect.ISpecialEffect;
import mods.flammpfeil.slashblade.specialeffect.SpecialEffects;
import mods.flammpfeil.slashblade.stats.AchievementList;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class Artemis {
public static ItemSlashBladeNamed bladeNamed;
public static ISpecialEffect Oracle;
public static ISpecialEffect NegativeDivinePower;
public static ISpecialEffect AbsolutePower;
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
String name = "flammpfeil.slashblade.named.artemis";
String name2 = "flammpfeil.slashblade.named.nihil";
String name3 = "flammpfeil.slashblade.named.muramasa";
ItemSlashBlade.specialAttacks.put(3001, new SA_1());
ItemSlashBlade.specialAttacks.put(3002, new SA_2());
ItemSlashBlade.specialAttacks.put(3003, new SA_3());
ItemSlashBlade.specialAttacks.put(3004, new SA_4());
ItemSlashBlade.specialAttacks.put(3005, new SA_5());
ItemSlashBlade.specialAttacks.put(3008, new SA_8());
if (Loader.isModLoaded((String)"IC2")) {
ItemSlashBlade.specialAttacks.put(3009, new SA_9());
}
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(50));
ItemSlashBlade.setBaseAttackModifier((NBTTagCompound)tag, (float)14.0f);
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBlade.TextureName.set(tag, "named/negorerouse/artemis");
ItemSlashBlade.ModelName.set(tag, "named/negorerouse/artemis");
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(6));
ItemSlashBlade.ProudSoul.set(tag, Integer.valueOf(2000));
ItemSlashBlade.BaseAttackModifier.set(tag, Float.valueOf(14.0f));
ItemSlashBlade.SummonedSwordColor.set(tag, Integer.valueOf(65535));
SpecialEffects.addEffect((ItemStack)customblade, (ISpecialEffect)Oracle);
GameRegistry.registerCustomItemStack((String)name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add(name);
customblade.func_77966_a(Enchantment.field_77347_r, 3);
customblade.func_77966_a(Enchantment.field_77345_t, 5);
customblade.func_77966_a(Enchantment.field_151370_z, 3);
AchievementList.registerCraftingAchievement((String)name, (ItemStack)customblade, (Achievement)AchievementList.getAchievement((String)"buildSlashBlade"));
if (Loader.isModLoaded((String)"flammpfeil.nihil")) {
ItemStack custombladeReqiredF = SlashBlade.getCustomBlade((String)name2);
ItemStack blackblade = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)name, (int)1);
RecipeNegoreRouse recipe = new RecipeNegoreRouse(blackblade, custombladeReqiredF, " AS", "ABA", "ZA ", Character.valueOf('A'), new ItemStack(NegoreRouse.ItemAritemis), Character.valueOf('S'), new ItemStack(Items.field_151131_as), Character.valueOf('Z'), new ItemStack(Blocks.field_150484_ah), Character.valueOf('B'), custombladeReqiredF);
SlashBlade.addRecipe((String)"artemis", (IRecipe)recipe);
} else {
ItemStack custombladeReqiredF = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)name3, (int)1);
NBTTagCompound reqTag = ItemSlashBlade.getItemTagCompound((ItemStack)custombladeReqiredF);
ItemSlashBlade.ProudSoul.set(reqTag, Integer.valueOf(2000));
ItemStack blackblade = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)name, (int)1);
RecipeNegoreRouse recipe2 = new RecipeNegoreRouse(blackblade, custombladeReqiredF, " AS", "ABA", "ZA ", Character.valueOf('A'), new ItemStack(NegoreRouse.ItemAritemis), Character.valueOf('S'), new ItemStack(Items.field_151131_as), Character.valueOf('Z'), new ItemStack(Blocks.field_150484_ah), Character.valueOf('B'), custombladeReqiredF);
SlashBlade.addRecipe((String)"artemis", (IRecipe)recipe2);
}
}
static {
Oracle = SpecialEffects.register((ISpecialEffect)new Oracle());
NegativeDivinePower = SpecialEffects.register((ISpecialEffect)new NegativeDivinePower());
AbsolutePower = SpecialEffects.register((ISpecialEffect)new AbsolutePower());
}
}
@@ -0,0 +1,85 @@
/*
* 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.specialeffect.ISpecialEffect
* mods.flammpfeil.slashblade.specialeffect.SpecialEffects
* mods.flammpfeil.slashblade.stats.AchievementList
* net.minecraft.enchantment.Enchantment
* net.minecraft.init.Blocks
* net.minecraft.init.Items
* net.minecraft.item.Item
* net.minecraft.item.ItemStack
* net.minecraft.item.crafting.IRecipe
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package NegoreRouse.mods.slashblade.Blade;
import NegoreRouse.mods.slashblade.Blade.Artemis;
import NegoreRouse.mods.slashblade.NegoreRouse;
import NegoreRouse.mods.slashblade.RecipeNegoreRouse;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import java.util.Random;
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.specialeffect.ISpecialEffect;
import mods.flammpfeil.slashblade.specialeffect.SpecialEffects;
import mods.flammpfeil.slashblade.stats.AchievementList;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class Chaos {
public static ItemSlashBladeNamed bladeNamed;
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
String name = "flammpfeil.slashblade.named.chaos";
String name2 = "flammpfeil.slashblade.named.chronos";
ItemStack customblade = new ItemStack((Item)SlashBlade.bladeNamed, 1, 0);
NBTTagCompound tag = new NBTTagCompound();
customblade.func_77982_d(tag);
Random rand = new Random();
float min = 1.0f;
float max = 99.0f;
float i = min + rand.nextFloat() * (max - min);
ItemSlashBladeNamed.CurrentItemName.set(tag, name);
ItemSlashBladeNamed.CustomMaxDamage.set(tag, Integer.valueOf(10000));
ItemSlashBlade.setBaseAttackModifier((NBTTagCompound)tag, (float)(1.0f + i));
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBlade.TextureName.set(tag, "named/negorerouse/chaos");
ItemSlashBlade.ModelName.set(tag, "named/negorerouse/chaos");
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(1));
ItemSlashBlade.ProudSoul.set(tag, Integer.valueOf(10000));
ItemSlashBlade.BaseAttackModifier.set(tag, Float.valueOf(1.0f + i));
ItemSlashBlade.SummonedSwordColor.set(tag, Integer.valueOf(0xEAEAAE));
SpecialEffects.addEffect((ItemStack)customblade, (ISpecialEffect)Artemis.Oracle);
GameRegistry.registerCustomItemStack((String)name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add(name);
customblade.func_77966_a(Enchantment.field_77338_j, 10);
AchievementList.registerCraftingAchievement((String)name, (ItemStack)customblade, (Achievement)AchievementList.getAchievement((String)name2));
ItemStack custombladeReqiredF = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)name2, (int)1);
NBTTagCompound reqTag = ItemSlashBlade.getItemTagCompound((ItemStack)custombladeReqiredF);
ItemSlashBlade.ProudSoul.set(reqTag, Integer.valueOf(10000));
ItemStack blackblade = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)name, (int)1);
ItemStack itemTinyBladeSoulStr = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)"tiny_bladesoul", (int)1);
RecipeNegoreRouse recipe = new RecipeNegoreRouse(blackblade, custombladeReqiredF, " XC", "ASD", "VXK", Character.valueOf('X'), new ItemStack(NegoreRouse.ItemChaos), Character.valueOf('C'), new ItemStack(Items.field_151156_bN), Character.valueOf('A'), new ItemStack(Blocks.field_150368_y), Character.valueOf('D'), new ItemStack(NegoreRouse.ItemChronos), Character.valueOf('V'), itemTinyBladeSoulStr, Character.valueOf('K'), new ItemStack(Blocks.field_150340_R), Character.valueOf('S'), custombladeReqiredF);
SlashBlade.addRecipe((String)"chaos", (IRecipe)recipe);
}
}
@@ -0,0 +1,84 @@
/*
* 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.specialeffect.ISpecialEffect
* mods.flammpfeil.slashblade.specialeffect.SpecialEffects
* mods.flammpfeil.slashblade.stats.AchievementList
* net.minecraft.enchantment.Enchantment
* net.minecraft.init.Blocks
* net.minecraft.item.Item
* net.minecraft.item.ItemStack
* net.minecraft.item.crafting.IRecipe
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package NegoreRouse.mods.slashblade.Blade;
import NegoreRouse.mods.slashblade.Blade.Artemis;
import NegoreRouse.mods.slashblade.NegoreRouse;
import NegoreRouse.mods.slashblade.RecipeNegoreRouse;
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.specialeffect.ISpecialEffect;
import mods.flammpfeil.slashblade.specialeffect.SpecialEffects;
import mods.flammpfeil.slashblade.stats.AchievementList;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class Chronos {
public static ItemSlashBladeNamed bladeNamed;
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
String name = "flammpfeil.slashblade.named.chronos";
String name2 = "flammpfeil.slashblade.named.nier";
String name3 = "flammpfeil.slashblade.named.yuzukitukumo";
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(80));
ItemSlashBlade.setBaseAttackModifier((NBTTagCompound)tag, (float)15.0f);
ItemSlashBlade.AttackAmplifier.set(tag, Float.valueOf(2.0f));
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBlade.TextureName.set(tag, "named/negorerouse/chronos");
ItemSlashBlade.ModelName.set(tag, "named/negorerouse/chronos");
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(7));
ItemSlashBlade.ProudSoul.set(tag, Integer.valueOf(10000));
ItemSlashBlade.SummonedSwordColor.set(tag, Integer.valueOf(0x2F4F4F));
SpecialEffects.addEffect((ItemStack)customblade, (ISpecialEffect)Artemis.Oracle);
GameRegistry.registerCustomItemStack((String)name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add(name);
customblade.func_77966_a(Enchantment.field_77347_r, 3);
customblade.func_77966_a(Enchantment.field_77338_j, 5);
customblade.func_77966_a(Enchantment.field_77345_t, 10);
customblade.func_77966_a(Enchantment.field_77339_k, 5);
AchievementList.registerCraftingAchievement((String)name, (ItemStack)customblade, (Achievement)AchievementList.getAchievement((String)name2));
ItemStack itemSphereBladeSoul = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)"sphere_bladesoul", (int)1);
ItemStack itemIngotBladeSoul = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)"ingot_bladesoul", (int)1);
ItemStack custombladeReqiredF = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)name2, (int)1);
NBTTagCompound reqTag = ItemSlashBlade.getItemTagCompound((ItemStack)custombladeReqiredF);
ItemSlashBlade.KillCount.set(reqTag, Integer.valueOf(1000));
ItemSlashBlade.ProudSoul.set(reqTag, Integer.valueOf(2000));
ItemStack blackblade = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)name, (int)1);
RecipeNegoreRouse recipe = new RecipeNegoreRouse(blackblade, custombladeReqiredF, "ZX ", "SBD", " XH", Character.valueOf('Z'), itemSphereBladeSoul, Character.valueOf('X'), new ItemStack(NegoreRouse.ItemChronos), Character.valueOf('S'), new ItemStack(Blocks.field_150484_ah), Character.valueOf('H'), itemIngotBladeSoul, Character.valueOf('D'), GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)name3, (int)1), Character.valueOf('B'), custombladeReqiredF);
SlashBlade.addRecipe((String)"chronos", (IRecipe)recipe);
}
}
@@ -0,0 +1,85 @@
/*
* 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.specialeffect.ISpecialEffect
* mods.flammpfeil.slashblade.specialeffect.SpecialEffects
* mods.flammpfeil.slashblade.stats.AchievementList
* net.minecraft.enchantment.Enchantment
* net.minecraft.init.Blocks
* net.minecraft.init.Items
* net.minecraft.item.Item
* net.minecraft.item.ItemStack
* net.minecraft.item.crafting.IRecipe
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package NegoreRouse.mods.slashblade.Blade;
import NegoreRouse.mods.slashblade.Blade.Artemis;
import NegoreRouse.mods.slashblade.NegoreRouse;
import NegoreRouse.mods.slashblade.RecipeNegoreRouse;
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.specialeffect.ISpecialEffect;
import mods.flammpfeil.slashblade.specialeffect.SpecialEffects;
import mods.flammpfeil.slashblade.stats.AchievementList;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class Chronos_n {
public static ItemSlashBladeNamed bladeNamed;
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
String name = "flammpfeil.slashblade.named.chronosn";
String name2 = "flammpfeil.slashblade.named.erebus";
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(320));
ItemSlashBlade.setBaseAttackModifier((NBTTagCompound)tag, (float)25.0f);
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBlade.TextureName.set(tag, "named/negorerouse/chronosn");
ItemSlashBlade.ModelName.set(tag, "named/negorerouse/chronosn");
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(2));
ItemSlashBlade.ProudSoul.set(tag, Integer.valueOf(20000));
ItemSlashBlade.BaseAttackModifier.set(tag, Float.valueOf(25.0f));
ItemSlashBlade.SummonedSwordColor.set(tag, Integer.valueOf(0xFFFF00));
SpecialEffects.addEffect((ItemStack)customblade, (ISpecialEffect)Artemis.Oracle);
SpecialEffects.addEffect((ItemStack)customblade, (ISpecialEffect)Artemis.AbsolutePower);
GameRegistry.registerCustomItemStack((String)name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add(name);
customblade.func_77966_a(Enchantment.field_77347_r, 5);
customblade.func_77966_a(Enchantment.field_77338_j, 10);
customblade.func_77966_a(Enchantment.field_77334_n, 5);
customblade.func_77966_a(Enchantment.field_77339_k, 5);
customblade.func_77966_a(Enchantment.field_77335_o, 5);
AchievementList.registerCraftingAchievement((String)name, (ItemStack)customblade, (Achievement)AchievementList.getAchievement((String)name2));
ItemStack custombladeReqiredF = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)name2, (int)1);
NBTTagCompound reqTag = ItemSlashBlade.getItemTagCompound((ItemStack)custombladeReqiredF);
ItemSlashBlade.ProudSoul.set(reqTag, Integer.valueOf(20000));
ItemStack blackblade = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)name, (int)1);
ItemStack itemProudSoul = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)"proudsoul", (int)1);
RecipeNegoreRouse recipe = new RecipeNegoreRouse(blackblade, custombladeReqiredF, "TAY", "SBD", "UAI", Character.valueOf('A'), new ItemStack(NegoreRouse.ItemChronos), Character.valueOf('T'), new ItemStack(Items.field_151113_aN), Character.valueOf('Y'), itemProudSoul, Character.valueOf('U'), new ItemStack(Blocks.field_150462_ai), Character.valueOf('I'), new ItemStack(Items.field_151122_aG), Character.valueOf('S'), new ItemStack(Blocks.field_150343_Z), Character.valueOf('D'), new ItemStack(Blocks.field_150368_y), Character.valueOf('B'), custombladeReqiredF);
SlashBlade.addRecipe((String)"chronosn", (IRecipe)recipe);
}
}
@@ -0,0 +1,136 @@
/*
* 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.entity.EntityBladeStand
* mods.flammpfeil.slashblade.entity.EntityBladeStand$StandType
* mods.flammpfeil.slashblade.named.event.LoadEvent$InitEvent
* mods.flammpfeil.slashblade.named.event.LoadEvent$PostInitEvent
* mods.flammpfeil.slashblade.specialeffect.ISpecialEffect
* mods.flammpfeil.slashblade.specialeffect.SpecialEffects
* mods.flammpfeil.slashblade.stats.AchievementList
* mods.flammpfeil.slashblade.util.SlashBladeEvent$OnEntityBladeStandUpdateEvent
* mods.flammpfeil.slashblade.util.SlashBladeHooks
* net.minecraft.block.material.Material
* net.minecraft.enchantment.Enchantment
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package NegoreRouse.mods.slashblade.Blade;
import NegoreRouse.mods.slashblade.Blade.Artemis;
import NegoreRouse.mods.slashblade.CommonProxy;
import NegoreRouse.mods.slashblade.specialeffect.Empty;
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.entity.EntityBladeStand;
import mods.flammpfeil.slashblade.named.event.LoadEvent;
import mods.flammpfeil.slashblade.specialeffect.ISpecialEffect;
import mods.flammpfeil.slashblade.specialeffect.SpecialEffects;
import mods.flammpfeil.slashblade.stats.AchievementList;
import mods.flammpfeil.slashblade.util.SlashBladeEvent;
import mods.flammpfeil.slashblade.util.SlashBladeHooks;
import net.minecraft.block.material.Material;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class Chronos_sy {
public static ItemSlashBladeNamed bladeNamed;
public static ISpecialEffect Empty;
String name2 = "flammpfeil.slashblade.named.chronos";
String name = "flammpfeil.slashblade.named.chronossy";
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
ItemStack customblade = new ItemStack(CommonProxy.Chronos_sy, 1, 0);
NBTTagCompound tag = new NBTTagCompound();
customblade.func_77982_d(tag);
ItemSlashBladeNamed.CurrentItemName.set(tag, this.name);
ItemSlashBladeNamed.CustomMaxDamage.set(tag, Integer.valueOf(1));
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBlade.TextureName.set(tag, "named/negorerouse/chronossy");
ItemSlashBlade.ModelName.set(tag, "named/negorerouse/chronossy");
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(3004));
ItemSlashBlade.IsDestructable.set(tag, Boolean.valueOf(true));
ItemSlashBlade.BaseAttackModifier.set(tag, Float.valueOf(Float.POSITIVE_INFINITY));
ItemSlashBlade.SummonedSwordColor.set(tag, Integer.valueOf(16740039));
SpecialEffects.addEffect((ItemStack)customblade, (ISpecialEffect)Artemis.AbsolutePower);
SpecialEffects.addEffect((ItemStack)customblade, (ISpecialEffect)Empty);
GameRegistry.registerCustomItemStack((String)this.name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add(this.name);
customblade.func_77966_a(Enchantment.field_77338_j, 100);
AchievementList.registerCraftingAchievement((String)this.name, (ItemStack)customblade, (Achievement)AchievementList.getAchievement((String)this.name2));
}
@SubscribeEvent
public void postinit(LoadEvent.PostInitEvent event) {
SlashBladeHooks.EventBus.register((Object)this);
}
@SubscribeEvent
public void onBladeStandLava(SlashBladeEvent.OnEntityBladeStandUpdateEvent event) {
EntityBladeStand Stand = event.entityBladeStand;
int x = (int)Stand.field_70165_t;
int y = (int)Stand.field_70163_u;
int z = (int)Stand.field_70161_v;
if (!Stand.hasBlade()) {
return;
}
if (EntityBladeStand.getType((EntityBladeStand)Stand) != EntityBladeStand.StandType.Naked) {
return;
}
if (!Stand.func_70058_J()) {
return;
}
for (int i = 0; i <= 2; ++i) {
if (Stand.field_70170_p.func_147439_a(x, y + i, z).func_149688_o() != Material.field_151587_i) {
return;
}
if (Stand.field_70170_p.func_147439_a(x + 1, y + i, z).func_149688_o() != Material.field_151587_i) {
return;
}
if (Stand.field_70170_p.func_147439_a(x - 1, y + i, z).func_149688_o() != Material.field_151587_i) {
return;
}
if (Stand.field_70170_p.func_147439_a(x, y + i, z + 1).func_149688_o() != Material.field_151587_i) {
return;
}
if (Stand.field_70170_p.func_147439_a(x, y + i, z - 1).func_149688_o() != Material.field_151587_i) {
return;
}
if (Stand.field_70170_p.func_147439_a(x + 1, y + i, z + 1).func_149688_o() != Material.field_151587_i) {
return;
}
if (Stand.field_70170_p.func_147439_a(x + 1, y + i, z - 1).func_149688_o() != Material.field_151587_i) {
return;
}
if (Stand.field_70170_p.func_147439_a(x - 1, y + i, z + 1).func_149688_o() != Material.field_151587_i) {
return;
}
if (Stand.field_70170_p.func_147439_a(x - 1, y + i, z - 1).func_149688_o() == Material.field_151587_i) continue;
return;
}
ItemStack StandBlade = Stand.getBlade();
ItemStack resultBlade = SlashBlade.getCustomBlade((String)this.name);
ItemStack targetBlade = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)this.name2, (int)1);
if (StandBlade.func_77977_a().equals(targetBlade.func_77977_a())) {
Stand.setBlade(resultBlade);
}
}
static {
Empty = SpecialEffects.register((ISpecialEffect)new Empty());
}
}
@@ -0,0 +1,150 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.Loader
* 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.entity.EntityBladeStand
* mods.flammpfeil.slashblade.entity.EntityBladeStand$StandType
* mods.flammpfeil.slashblade.named.event.LoadEvent$InitEvent
* mods.flammpfeil.slashblade.named.event.LoadEvent$PostInitEvent
* mods.flammpfeil.slashblade.specialeffect.ISpecialEffect
* mods.flammpfeil.slashblade.specialeffect.SpecialEffects
* mods.flammpfeil.slashblade.stats.AchievementList
* mods.flammpfeil.slashblade.util.SlashBladeEvent$OnEntityBladeStandUpdateEvent
* mods.flammpfeil.slashblade.util.SlashBladeHooks
* net.minecraft.block.material.Material
* net.minecraft.enchantment.Enchantment
* net.minecraft.item.Item
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package NegoreRouse.mods.slashblade.Blade;
import NegoreRouse.mods.slashblade.Blade.Artemis;
import cpw.mods.fml.common.Loader;
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.entity.EntityBladeStand;
import mods.flammpfeil.slashblade.named.event.LoadEvent;
import mods.flammpfeil.slashblade.specialeffect.ISpecialEffect;
import mods.flammpfeil.slashblade.specialeffect.SpecialEffects;
import mods.flammpfeil.slashblade.stats.AchievementList;
import mods.flammpfeil.slashblade.util.SlashBladeEvent;
import mods.flammpfeil.slashblade.util.SlashBladeHooks;
import net.minecraft.block.material.Material;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class Deligun {
public static ItemSlashBladeNamed bladeNamed;
String name2 = "flammpfeil.slashblade.named.nihilul";
String name3 = "flammpfeil.slashblade.named.yamato";
String name = "flammpfeil.slashblade.named.deligun";
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
ItemStack customblade = new ItemStack((Item)SlashBlade.bladeNamed, 1, 0);
NBTTagCompound tag = new NBTTagCompound();
customblade.func_77982_d(tag);
ItemSlashBladeNamed.CurrentItemName.set(tag, this.name);
ItemSlashBladeNamed.CustomMaxDamage.set(tag, Integer.valueOf(130));
ItemSlashBlade.AttackAmplifier.set(tag, Float.valueOf(2.0f));
ItemSlashBlade.setBaseAttackModifier((NBTTagCompound)tag, (float)27.0f);
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBlade.TextureName.set(tag, "named/negorerouse/deligun");
ItemSlashBlade.ModelName.set(tag, "named/negorerouse/deligun");
if (Loader.isModLoaded((String)"flammpfeil.slashblade.kamuy")) {
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(36));
} else {
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(1));
}
ItemSlashBlade.ProudSoul.set(tag, Integer.valueOf(3500));
ItemSlashBlade.BaseAttackModifier.set(tag, Float.valueOf(27.0f));
ItemSlashBlade.SummonedSwordColor.set(tag, Integer.valueOf(0xADEAEA));
SpecialEffects.addEffect((ItemStack)customblade, (ISpecialEffect)Artemis.Oracle);
GameRegistry.registerCustomItemStack((String)this.name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add(this.name);
customblade.func_77966_a(Enchantment.field_77338_j, 7);
if (Loader.isModLoaded((String)"flammpfeil.nihil")) {
AchievementList.registerCraftingAchievement((String)this.name, (ItemStack)customblade, (Achievement)AchievementList.getAchievement((String)this.name2));
} else {
AchievementList.registerCraftingAchievement((String)this.name, (ItemStack)customblade, (Achievement)AchievementList.getAchievement((String)this.name3));
}
}
@SubscribeEvent
public void postinit(LoadEvent.PostInitEvent event) {
SlashBladeHooks.EventBus.register((Object)this);
}
@SubscribeEvent
public void onBladeStandWater(SlashBladeEvent.OnEntityBladeStandUpdateEvent event) {
EntityBladeStand Stand = event.entityBladeStand;
int x = (int)Stand.field_70165_t;
int y = (int)Stand.field_70163_u;
int z = (int)Stand.field_70161_v;
if (!Stand.hasBlade()) {
return;
}
if (EntityBladeStand.getType((EntityBladeStand)Stand) != EntityBladeStand.StandType.Naked) {
return;
}
if (!Stand.func_70072_I()) {
return;
}
for (int i = 0; i <= 2; ++i) {
if (Stand.field_70170_p.func_147439_a(x, y + i, z).func_149688_o() != Material.field_151586_h) {
return;
}
if (Stand.field_70170_p.func_147439_a(x + 1, y + i, z).func_149688_o() != Material.field_151586_h) {
return;
}
if (Stand.field_70170_p.func_147439_a(x - 1, y + i, z).func_149688_o() != Material.field_151586_h) {
return;
}
if (Stand.field_70170_p.func_147439_a(x, y + i, z + 1).func_149688_o() != Material.field_151586_h) {
return;
}
if (Stand.field_70170_p.func_147439_a(x, y + i, z - 1).func_149688_o() != Material.field_151586_h) {
return;
}
if (Stand.field_70170_p.func_147439_a(x + 1, y + i, z + 1).func_149688_o() != Material.field_151586_h) {
return;
}
if (Stand.field_70170_p.func_147439_a(x + 1, y + i, z - 1).func_149688_o() != Material.field_151586_h) {
return;
}
if (Stand.field_70170_p.func_147439_a(x - 1, y + i, z + 1).func_149688_o() != Material.field_151586_h) {
return;
}
if (Stand.field_70170_p.func_147439_a(x - 1, y + i, z - 1).func_149688_o() == Material.field_151586_h) continue;
return;
}
ItemStack StandBlade = Stand.getBlade();
ItemStack resultBlade = SlashBlade.getCustomBlade((String)this.name);
if (Loader.isModLoaded((String)"flammpfeil.nihil")) {
ItemStack targetBlade = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)this.name2, (int)1);
if (StandBlade.func_77977_a().equals(targetBlade.func_77977_a())) {
Stand.setBlade(resultBlade);
}
} else {
ItemStack targetBlade = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)this.name3, (int)1);
if (StandBlade.func_77977_a().equals(targetBlade.func_77977_a())) {
Stand.setBlade(resultBlade);
}
}
}
}
@@ -0,0 +1,86 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.eventhandler.SubscribeEvent
* cpw.mods.fml.common.registry.GameRegistry
* ic2.core.Ic2Items
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBladeNamed
* mods.flammpfeil.slashblade.SlashBlade
* mods.flammpfeil.slashblade.named.event.LoadEvent$InitEvent
* mods.flammpfeil.slashblade.specialeffect.ISpecialEffect
* mods.flammpfeil.slashblade.specialeffect.SpecialEffects
* mods.flammpfeil.slashblade.stats.AchievementList
* net.minecraft.enchantment.Enchantment
* net.minecraft.item.ItemStack
* net.minecraft.item.crafting.IRecipe
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package NegoreRouse.mods.slashblade.Blade.EUBlade;
import NegoreRouse.mods.slashblade.Blade.Artemis;
import NegoreRouse.mods.slashblade.Blade.EUBlade.ItemEUBlade;
import NegoreRouse.mods.slashblade.CommonProxy;
import NegoreRouse.mods.slashblade.RecipeNegoreRouse;
import NegoreRouse.mods.slashblade.specialeffect.Clear;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import ic2.core.Ic2Items;
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.specialeffect.ISpecialEffect;
import mods.flammpfeil.slashblade.specialeffect.SpecialEffects;
import mods.flammpfeil.slashblade.stats.AchievementList;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class Artemis_s {
public static ItemSlashBladeNamed bladeNamed;
public static ISpecialEffect Clear;
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
String name = "flammpfeil.slashblade.named.artemiss";
String name2 = "flammpfeil.slashblade.named.artemis";
ItemStack customblade = new ItemStack(CommonProxy.EuBlade, 1, 0);
NBTTagCompound tag = new NBTTagCompound();
customblade.func_77982_d(tag);
ItemEUBlade.tier.set(tag, Integer.valueOf(1));
ItemEUBlade.Charge.set(tag, Integer.valueOf(200000000));
ItemSlashBladeNamed.CurrentItemName.set(tag, name);
ItemSlashBladeNamed.CustomMaxDamage.set(tag, Integer.valueOf(100));
ItemSlashBlade.setBaseAttackModifier((NBTTagCompound)tag, (float)20.0f);
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBlade.TextureName.set(tag, "named/negorerouse/artemiss");
ItemSlashBlade.ModelName.set(tag, "named/negorerouse/artemiss");
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(3009));
ItemSlashBlade.ProudSoul.set(tag, Integer.valueOf(3500));
ItemSlashBlade.SummonedSwordColor.set(tag, Integer.valueOf(0xFF0000));
GameRegistry.registerCustomItemStack((String)name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add(name);
SpecialEffects.addEffect((ItemStack)customblade, (ISpecialEffect)Artemis.Oracle);
SpecialEffects.addEffect((ItemStack)customblade, (ISpecialEffect)Clear);
customblade.func_77966_a(Enchantment.field_77347_r, 4);
customblade.func_77966_a(Enchantment.field_77345_t, 7);
customblade.func_77966_a(Enchantment.field_151370_z, 1);
customblade.func_77966_a(Enchantment.field_77336_l, 3);
customblade.func_77966_a(Enchantment.field_77334_n, 3);
AchievementList.registerCraftingAchievement((String)name, (ItemStack)customblade, (Achievement)AchievementList.getAchievement((String)name2));
ItemStack Blade = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)name, (int)1);
ItemStack Slashblade = SlashBlade.getCustomBlade((String)name2);
RecipeNegoreRouse recipe = new RecipeNegoreRouse(Blade, Slashblade, "XSX", "AGD", "XSX", Character.valueOf('X'), Ic2Items.iridiumPlate, Character.valueOf('S'), Ic2Items.ElectricKineticGenerator, Character.valueOf('A'), Ic2Items.advancedCircuit, Character.valueOf('G'), Slashblade, Character.valueOf('D'), Ic2Items.uraniumBlock);
SlashBlade.addRecipe((String)"artemiss", (IRecipe)recipe);
}
static {
Clear = SpecialEffects.register((ISpecialEffect)new Clear());
}
}
@@ -0,0 +1,239 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* ic2.api.item.ElectricItem
* ic2.api.item.IElectricItem
* ic2.api.item.IItemHudInfo
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBladeNamed
* mods.flammpfeil.slashblade.TagPropertyAccessor$TagPropertyIntegerWithRange
* net.minecraft.block.Block
* net.minecraft.entity.Entity
* net.minecraft.entity.EntityLivingBase
* net.minecraft.entity.player.EntityPlayer
* net.minecraft.item.Item
* net.minecraft.item.Item$ToolMaterial
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.util.StatCollector
* net.minecraft.world.World
*/
package NegoreRouse.mods.slashblade.Blade.EUBlade;
import NegoreRouse.mods.slashblade.SA.entity.EntityMagneticStorm;
import ic2.api.item.ElectricItem;
import ic2.api.item.IElectricItem;
import ic2.api.item.IItemHudInfo;
import java.util.LinkedList;
import java.util.List;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ItemSlashBladeNamed;
import mods.flammpfeil.slashblade.TagPropertyAccessor;
import net.minecraft.block.Block;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
public class ItemEUBlade
extends ItemSlashBladeNamed
implements IElectricItem,
IItemHudInfo {
public static final TagPropertyAccessor.TagPropertyIntegerWithRange primary = new TagPropertyAccessor.TagPropertyIntegerWithRange("primarytier", 0, 3);
public static final TagPropertyAccessor.TagPropertyIntegerWithRange tier = new TagPropertyAccessor.TagPropertyIntegerWithRange("tier", 0, 3);
public static int maxCharge = 200000000;
public static final TagPropertyAccessor.TagPropertyIntegerWithRange Charge = new TagPropertyAccessor.TagPropertyIntegerWithRange("charge", 0, maxCharge);
public static int maxTransfer = 2048;
private static final double SMS_RANGE_ATTACK_COST = 2000000.0;
private static final long SMS_RANGE_ATTACK_COOLDOWN_TICKS = 10L;
private static final long SMS_TIER_COOLDOWN_TICKS = 4L;
private static final String SMS_RANGE_ATTACK_NEXT_TICK = "negorerouse.smsRangeAttackNextTick";
private static final String SMS_TIER_NEXT_TICK = "negorerouse.smsTierNextTick";
public ItemEUBlade(Item.ToolMaterial par2EnumToolMaterial, float baseAttackModifiers, int MaxCharge) {
super(par2EnumToolMaterial, baseAttackModifiers);
maxCharge = MaxCharge;
}
public boolean canProvideEnergy(ItemStack itemStack) {
return true;
}
public Item getChargedItem(ItemStack itemStack) {
return this;
}
public Item getEmptyItem(ItemStack itemStack) {
return this;
}
public double getMaxCharge(ItemStack itemStack) {
return maxCharge;
}
public int getTier(ItemStack itemStack) {
NBTTagCompound tag = ItemSlashBlade.getItemTagCompound((ItemStack)itemStack);
return tier.get(tag);
}
public double getTransferLimit(ItemStack itemStack) {
return maxTransfer;
}
public void func_77624_a(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) {
super.func_77624_a(par1ItemStack, par2EntityPlayer, par3List, par4);
NBTTagCompound tag = ItemSlashBlade.getItemTagCompound((ItemStack)par1ItemStack);
par3List.add(StatCollector.func_74838_a((String)"ic2.item.tooltip.PowerTier") + " " + tier.get(tag));
par3List.add("\u8930\u64b3\u58a0\u9422\u7538\u567a\u951b\ufffd" + (int)ElectricItem.manager.getCharge(par1ItemStack) + "/" + maxCharge);
}
public List getHudInfo(ItemStack itemStack) {
NBTTagCompound tag = ItemSlashBlade.getItemTagCompound((ItemStack)itemStack);
LinkedList<String> info = new LinkedList<String>();
info.add(ElectricItem.manager.getToolTip(itemStack));
info.add(StatCollector.func_74838_a((String)"ic2.item.tooltip.PowerTier") + " " + tier.get(tag));
return info;
}
private static boolean isOnCooldown(NBTTagCompound tag, World world, String key) {
return tag.func_74763_f(key) > world.func_82737_E();
}
private static void setCooldown(NBTTagCompound tag, World world, String key, long ticks) {
tag.func_74772_a(key, world.func_82737_E() + ticks);
}
public void doSMSRangeAttack(ItemStack item, World World2, EntityPlayer Player) {
NBTTagCompound tag = ItemSlashBlade.getItemTagCompound((ItemStack)item);
if (World2.field_72995_K) {
return;
}
if (tier.get(tag) != 3) {
return;
}
if (ItemEUBlade.isOnCooldown(tag, World2, SMS_RANGE_ATTACK_NEXT_TICK)) {
return;
}
if (!ElectricItem.manager.use(item, SMS_RANGE_ATTACK_COST, (EntityLivingBase)Player)) {
return;
}
if (IsBroken.get(tag).booleanValue()) {
return;
}
int targetid = ItemSlashBlade.TargetEntityId.get(tag);
EntityMagneticStorm entityDrive = new EntityMagneticStorm(World2, (EntityLivingBase)Player, 7.5f, 0.0f);
if (entityDrive != null) {
entityDrive.setColor(0xC0C0C0);
entityDrive.setLifeTime(30);
entityDrive.setTargetEntityId(targetid);
World2.func_72838_d((Entity)entityDrive);
}
ItemEUBlade.setCooldown(tag, World2, SMS_RANGE_ATTACK_NEXT_TICK, SMS_RANGE_ATTACK_COOLDOWN_TICKS);
item.func_77964_b(item.func_77960_j() - 1);
}
public void func_77663_a(ItemStack sitem, World par2World, Entity par3Entity, int indexOfMainSlot, boolean isCurrent) {
super.func_77663_a(sitem, par2World, par3Entity, indexOfMainSlot, isCurrent);
if (!par2World.field_72995_K) {
NBTTagCompound tag = ItemSlashBlade.getItemTagCompound((ItemStack)sitem);
int Time = ItemEUBlade.checkTime(par2World.func_72820_D());
if (Time == -1) {
sitem.func_77978_p().func_74780_a("charge", 2.0E8);
IsBroken.set(tag, Boolean.valueOf(false));
}
if (sitem.func_77978_p().func_74769_h("charge") < 2000000.0) {
IsBroken.set(tag, Boolean.valueOf(true));
} else {
IsBroken.set(tag, Boolean.valueOf(false));
}
if (!IsBroken.get(tag).booleanValue() && tier.get(tag) == 0) {
tier.set(tag, Integer.valueOf(1));
}
if (IsBroken.get(tag).booleanValue()) {
tier.set(tag, Integer.valueOf(0));
ItemSlashBlade.setBaseAttackModifier((NBTTagCompound)tag, (float)2.0f);
return;
}
if (tier.get(tag) == 1) {
ItemSlashBlade.setBaseAttackModifier((NBTTagCompound)tag, (float)20.0f);
} else if (tier.get(tag) == 2) {
ItemSlashBlade.setBaseAttackModifier((NBTTagCompound)tag, (float)30.0f);
} else if (tier.get(tag) == 3) {
ItemSlashBlade.setBaseAttackModifier((NBTTagCompound)tag, (float)40.0f);
}
sitem.func_77964_b(100 - (int)sitem.func_77978_p().func_74769_h("charge") / 2000000);
}
}
public void doChangeTier(ItemStack sitem, World par2World, EntityPlayer Player) {
if (!par2World.field_72995_K) {
NBTTagCompound tag = ItemSlashBlade.getItemTagCompound((ItemStack)sitem);
int nextTier = 0;
double cost = 0.0;
if (IsBroken.get(tag).booleanValue()) {
return;
}
if (ItemEUBlade.isOnCooldown(tag, par2World, SMS_TIER_NEXT_TICK)) {
return;
}
if (tier.get(tag) == 0) {
return;
}
if (tier.get(tag) == 1) {
nextTier = 2;
cost = 6144.0;
} else if (tier.get(tag) == 2) {
nextTier = 3;
cost = 18432.0;
} else if (tier.get(tag) == 3) {
nextTier = 1;
cost = 2048.0;
}
if (nextTier != 0 && ElectricItem.manager.use(sitem, cost, (EntityLivingBase)Player)) {
tier.set(tag, Integer.valueOf(nextTier));
ItemEUBlade.setCooldown(tag, par2World, SMS_TIER_NEXT_TICK, SMS_TIER_COOLDOWN_TICKS);
}
}
}
public boolean func_150894_a(ItemStack par1ItemStack, World par2World, Block block, int par4, int par5, int par6, EntityLivingBase par7EntityLiving) {
NBTTagCompound tag = ItemSlashBlade.getItemTagCompound((ItemStack)par1ItemStack);
if ((double)block.func_149712_f(par2World, par4, par5, par6) != 0.0) {
if (par7EntityLiving != null) {
ElectricItem.manager.use(par1ItemStack, (double)maxTransfer, par7EntityLiving);
} else {
ElectricItem.manager.discharge(par1ItemStack, (double)maxTransfer, tier.get(tag).intValue(), true, false, false);
}
}
return true;
}
public boolean func_77644_a(ItemStack stack, EntityLivingBase par2EntityLivingBase, EntityLivingBase par3EntityLivingBase) {
NBTTagCompound tag = ItemSlashBlade.getItemTagCompound((ItemStack)stack);
if (tier.get(tag) == 1) {
ElectricItem.manager.use(stack, 2048.0, par3EntityLivingBase);
} else if (tier.get(tag) == 2) {
ElectricItem.manager.use(stack, 6144.0, par3EntityLivingBase);
} else if (tier.get(tag) == 3) {
ElectricItem.manager.use(stack, 18432.0, par3EntityLivingBase);
} else if (tier.get(tag) == 0) {
ElectricItem.manager.use(stack, 1000.0, par3EntityLivingBase);
}
return super.func_77644_a(stack, par2EntityLivingBase, par3EntityLivingBase);
}
public static int checkTime(long time) {
if ((time %= 24000L) <= 13000L) {
return 1;
}
if (time >= 13001L) {
return -1;
}
return 0;
}
}
@@ -0,0 +1,88 @@
/*
* 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.specialeffect.ISpecialEffect
* mods.flammpfeil.slashblade.specialeffect.SpecialEffects
* mods.flammpfeil.slashblade.stats.AchievementList
* net.minecraft.enchantment.Enchantment
* net.minecraft.init.Blocks
* net.minecraft.init.Items
* net.minecraft.item.Item
* net.minecraft.item.ItemStack
* net.minecraft.item.crafting.IRecipe
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package NegoreRouse.mods.slashblade.Blade;
import NegoreRouse.mods.slashblade.Blade.Artemis;
import NegoreRouse.mods.slashblade.NegoreRouse;
import NegoreRouse.mods.slashblade.RecipeNegoreRouse;
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.specialeffect.ISpecialEffect;
import mods.flammpfeil.slashblade.specialeffect.SpecialEffects;
import mods.flammpfeil.slashblade.stats.AchievementList;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class Erebus {
public static ItemSlashBladeNamed bladeNamed;
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
String name = "flammpfeil.slashblade.named.erebus";
String name2 = "flammpfeil.slashblade.named.chronos";
String name3 = "flammpfeil.slashblade.named.sabigatana";
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(160));
ItemSlashBlade.setBaseAttackModifier((NBTTagCompound)tag, (float)20.0f);
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBlade.TextureName.set(tag, "named/negorerouse/erebus");
ItemSlashBlade.ModelName.set(tag, "named/negorerouse/erebus");
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(6));
ItemSlashBlade.ProudSoul.set(tag, Integer.valueOf(5000));
ItemSlashBlade.BaseAttackModifier.set(tag, Float.valueOf(20.0f));
ItemSlashBlade.SummonedSwordColor.set(tag, Integer.valueOf(0xFFFFFF));
SpecialEffects.addEffect((ItemStack)customblade, (ISpecialEffect)Artemis.Oracle);
SpecialEffects.addEffect((ItemStack)customblade, (ISpecialEffect)Artemis.NegativeDivinePower);
SpecialEffects.addEffect((ItemStack)customblade, (ISpecialEffect)SpecialEffects.WitherEdge);
GameRegistry.registerCustomItemStack((String)name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add(name);
customblade.func_77966_a(Enchantment.field_77347_r, 2);
customblade.func_77966_a(Enchantment.field_77338_j, 5);
customblade.func_77966_a(Enchantment.field_77334_n, 3);
customblade.func_77966_a(Enchantment.field_77339_k, 5);
customblade.func_77966_a(Enchantment.field_77335_o, 3);
AchievementList.registerCraftingAchievement((String)name, (ItemStack)customblade, (Achievement)AchievementList.getAchievement((String)name2));
ItemStack itemSphereBladeSoul = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)"sphere_bladesoul", (int)1);
ItemStack itemIngotBladeSoul = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)"ingot_bladesoul", (int)1);
ItemStack custombladeReqiredF = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)name2, (int)1);
NBTTagCompound reqTag = ItemSlashBlade.getItemTagCompound((ItemStack)custombladeReqiredF);
ItemSlashBlade.ProudSoul.set(reqTag, Integer.valueOf(5000));
ItemStack blackblade = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)name, (int)1);
RecipeNegoreRouse recipe = new RecipeNegoreRouse(blackblade, custombladeReqiredF, "ZXK", "SBD", " XH", Character.valueOf('Z'), itemSphereBladeSoul, Character.valueOf('X'), new ItemStack(NegoreRouse.ItemErebus), Character.valueOf('S'), new ItemStack(Blocks.field_150343_Z), Character.valueOf('K'), new ItemStack(Items.field_151156_bN), Character.valueOf('H'), itemIngotBladeSoul, Character.valueOf('D'), GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)name3, (int)1), Character.valueOf('B'), custombladeReqiredF);
SlashBlade.addRecipe((String)"erebus", (IRecipe)recipe);
}
}
@@ -0,0 +1,112 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.Loader
* 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.specialeffect.ISpecialEffect
* mods.flammpfeil.slashblade.specialeffect.SpecialEffects
* mods.flammpfeil.slashblade.stats.AchievementList
* net.minecraft.enchantment.Enchantment
* net.minecraft.init.Items
* net.minecraft.item.Item
* net.minecraft.item.ItemStack
* net.minecraft.item.crafting.IRecipe
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package NegoreRouse.mods.slashblade.Blade;
import NegoreRouse.mods.slashblade.Blade.Artemis;
import NegoreRouse.mods.slashblade.NegoreRouse;
import NegoreRouse.mods.slashblade.RecipeNegoreRouse;
import NegoreRouse.mods.slashblade.specialeffect.BurstDrive2;
import cpw.mods.fml.common.Loader;
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.specialeffect.ISpecialEffect;
import mods.flammpfeil.slashblade.specialeffect.SpecialEffects;
import mods.flammpfeil.slashblade.stats.AchievementList;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class Hercules {
public static ItemSlashBladeNamed bladeNamed;
public static ISpecialEffect BurstDrive2;
String name = "flammpfeil.slashblade.named.hercules";
String name2 = "flammpfeil.slashblade.named.artemis";
String name3 = "flammpfeil.slashblade.named.lrrh";
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
ItemStack customblade = new ItemStack((Item)SlashBlade.bladeNamed, 1, 0);
NBTTagCompound tag = new NBTTagCompound();
customblade.func_77982_d(tag);
ItemSlashBladeNamed.CurrentItemName.set(tag, this.name);
ItemSlashBladeNamed.CustomMaxDamage.set(tag, Integer.valueOf(60));
ItemSlashBlade.setBaseAttackModifier((NBTTagCompound)tag, (float)17.0f);
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBlade.TextureName.set(tag, "named/negorerouse/hercules");
ItemSlashBlade.ModelName.set(tag, "named/negorerouse/hercules");
if (Loader.isModLoaded((String)"flammpfeil.slashblade.blademaster")) {
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(32));
} else {
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(6));
}
ItemSlashBlade.KillCount.set(tag, Integer.valueOf(1000));
ItemSlashBlade.ProudSoul.set(tag, Integer.valueOf(2000));
ItemSlashBlade.BaseAttackModifier.set(tag, Float.valueOf(17.0f));
ItemSlashBlade.SummonedSwordColor.set(tag, Integer.valueOf(0xFF0000));
SpecialEffects.addEffect((ItemStack)customblade, (ISpecialEffect)Artemis.Oracle);
SpecialEffects.addEffect((ItemStack)customblade, (ISpecialEffect)BurstDrive2);
GameRegistry.registerCustomItemStack((String)this.name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add(this.name);
customblade.func_77966_a(Enchantment.field_77347_r, 3);
customblade.func_77966_a(Enchantment.field_77345_t, 5);
customblade.func_77966_a(Enchantment.field_77334_n, 2);
customblade.func_77966_a(Enchantment.field_77329_d, 1);
customblade.func_77966_a(Enchantment.field_77339_k, 3);
AchievementList.registerCraftingAchievement((String)this.name, (ItemStack)customblade, (Achievement)AchievementList.getAchievement((String)this.name2));
if (Loader.isModLoaded((String)"allweapon")) {
ItemStack itemSphereBladeSoul = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)"sphere_bladesoul", (int)1);
ItemStack custombladeReqiredG = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)this.name2, (int)1);
ItemStack custombladeReqiredF = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)this.name3, (int)1);
NBTTagCompound reqTag = ItemSlashBlade.getItemTagCompound((ItemStack)custombladeReqiredF);
ItemStack resultBlade = SlashBlade.getCustomBlade((String)this.name3);
resultBlade.func_77982_d(reqTag);
ItemSlashBlade.TextureName.set(reqTag, "named/lrrh/texture");
ItemSlashBlade.ModelName.set(reqTag, "named/lrrh/model");
ItemStack blackblade = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)this.name, (int)1);
RecipeNegoreRouse recipe = new RecipeNegoreRouse(blackblade, custombladeReqiredF, " X ", "XSX", " G ", Character.valueOf('X'), new ItemStack(NegoreRouse.ItemHercules), Character.valueOf('G'), custombladeReqiredF, Character.valueOf('S'), custombladeReqiredG);
SlashBlade.addRecipe((String)"hercules", (IRecipe)recipe);
} else {
ItemStack itemSphereBladeSoul = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)"sphere_bladesoul", (int)1);
ItemStack custombladeReqiredF = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)this.name2, (int)1);
NBTTagCompound reqTag = ItemSlashBlade.getItemTagCompound((ItemStack)custombladeReqiredF);
ItemSlashBlade.KillCount.set(reqTag, Integer.valueOf(1000));
ItemSlashBlade.ProudSoul.set(reqTag, Integer.valueOf(2000));
ItemStack blackblade = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)this.name, (int)1);
RecipeNegoreRouse recipe = new RecipeNegoreRouse(blackblade, custombladeReqiredF, " AS", "ABA", "ZA ", Character.valueOf('A'), new ItemStack(NegoreRouse.ItemHercules), Character.valueOf('S'), itemSphereBladeSoul, Character.valueOf('Z'), new ItemStack(Items.field_151129_at), Character.valueOf('B'), custombladeReqiredF);
SlashBlade.addRecipe((String)"hercules", (IRecipe)recipe);
}
}
static {
BurstDrive2 = SpecialEffects.register((ISpecialEffect)new BurstDrive2());
}
}
@@ -0,0 +1,42 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* mods.flammpfeil.slashblade.ItemSlashBladeNamed
* net.minecraft.entity.Entity
* net.minecraft.entity.EntityLivingBase
* net.minecraft.item.Item$ToolMaterial
* net.minecraft.item.ItemStack
* net.minecraft.util.DamageSource
* net.minecraft.util.EntityDamageSource
*/
package NegoreRouse.mods.slashblade.Blade;
import mods.flammpfeil.slashblade.ItemSlashBladeNamed;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.DamageSource;
import net.minecraft.util.EntityDamageSource;
public class ItemChronos_Sy
extends ItemSlashBladeNamed {
public ItemChronos_Sy(Item.ToolMaterial par2EnumToolMaterial, float baseAttackModifiers) {
super(par2EnumToolMaterial, baseAttackModifiers);
}
public boolean func_77644_a(ItemStack stack, EntityLivingBase par2EntityLivingBase, EntityLivingBase par3EntityLivingBase) {
if (!par2EntityLivingBase.field_70128_L && par2EntityLivingBase.func_110143_aJ() > 0.0f) {
par2EntityLivingBase.field_70172_ad = 0;
DamageSource ds = new EntityDamageSource("Chronos", (Entity)par3EntityLivingBase).func_82726_p().func_76348_h().func_76359_i().func_151518_m();
par2EntityLivingBase.func_110142_aN().func_94547_a(ds, par2EntityLivingBase.func_110143_aJ(), par2EntityLivingBase.func_110143_aJ());
par2EntityLivingBase.func_70606_j(0.0f);
par2EntityLivingBase.func_70645_a((DamageSource)new EntityDamageSource("Chronos", (Entity)par3EntityLivingBase));
par3EntityLivingBase.func_70062_b(0, null);
return super.func_77644_a(stack, par2EntityLivingBase, par3EntityLivingBase);
}
return false;
}
}
@@ -0,0 +1,88 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.Loader
* 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.specialeffect.ISpecialEffect
* mods.flammpfeil.slashblade.specialeffect.SpecialEffects
* mods.flammpfeil.slashblade.stats.AchievementList
* net.minecraft.enchantment.Enchantment
* net.minecraft.init.Items
* net.minecraft.item.Item
* net.minecraft.item.ItemStack
* net.minecraft.item.crafting.IRecipe
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package NegoreRouse.mods.slashblade.Blade;
import NegoreRouse.mods.slashblade.Blade.Artemis;
import NegoreRouse.mods.slashblade.NegoreRouse;
import NegoreRouse.mods.slashblade.RecipeNegoreRouse;
import cpw.mods.fml.common.Loader;
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.specialeffect.ISpecialEffect;
import mods.flammpfeil.slashblade.specialeffect.SpecialEffects;
import mods.flammpfeil.slashblade.stats.AchievementList;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class Nier {
public static ItemSlashBladeNamed bladeNamed;
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
String name = "flammpfeil.slashblade.named.nier";
String name2 = "flammpfeil.slashblade.named.crimsoncherry";
String name3 = "flammpfeil.slashblade.named.muramasa";
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(20));
ItemSlashBlade.setBaseAttackModifier((NBTTagCompound)tag, (float)9.0f);
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBlade.TextureName.set(tag, "named/negorerouse/nier");
ItemSlashBlade.ModelName.set(tag, "named/negorerouse/nier");
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(4));
ItemSlashBlade.BaseAttackModifier.set(tag, Float.valueOf(9.0f));
ItemSlashBlade.SummonedSwordColor.set(tag, Integer.valueOf(0xC0C0C0));
SpecialEffects.addEffect((ItemStack)customblade, (ISpecialEffect)Artemis.Oracle);
SpecialEffects.addEffect((ItemStack)customblade, (ISpecialEffect)SpecialEffects.WitherEdge);
GameRegistry.registerCustomItemStack((String)name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add(name);
customblade.func_77966_a(Enchantment.field_77347_r, 1);
customblade.func_77966_a(Enchantment.field_77345_t, 8);
customblade.func_77966_a(Enchantment.field_77339_k, 5);
AchievementList.registerCraftingAchievement((String)name, (ItemStack)customblade, (Achievement)AchievementList.getAchievement((String)"buildSlashBlade"));
if (Loader.isModLoaded((String)"flammpfeil.nihil")) {
ItemStack custombladeReqiredF = SlashBlade.getCustomBlade((String)name2);
ItemStack blackblade = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)name, (int)1);
RecipeNegoreRouse recipe = new RecipeNegoreRouse(blackblade, custombladeReqiredF, "SA ", "ABA", "Z X", Character.valueOf('A'), new ItemStack(NegoreRouse.ItemChronos), Character.valueOf('S'), new ItemStack(Items.field_151079_bi), Character.valueOf('Z'), new ItemStack(Items.field_151061_bv), Character.valueOf('X'), new ItemStack(Items.field_151166_bC), Character.valueOf('B'), custombladeReqiredF);
SlashBlade.addRecipe((String)"nier", (IRecipe)recipe);
} else {
ItemStack custombladeReqiredG = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)name3, (int)1);
NBTTagCompound reqTag = ItemSlashBlade.getItemTagCompound((ItemStack)custombladeReqiredG);
ItemStack blackblade = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)name, (int)1);
RecipeNegoreRouse recipe = new RecipeNegoreRouse(blackblade, custombladeReqiredG, "SA ", "ABA", "Z X", Character.valueOf('A'), new ItemStack(NegoreRouse.ItemChronos), Character.valueOf('S'), new ItemStack(Items.field_151079_bi), Character.valueOf('Z'), new ItemStack(Items.field_151061_bv), Character.valueOf('X'), new ItemStack(Items.field_151166_bC), Character.valueOf('B'), custombladeReqiredG);
SlashBlade.addRecipe((String)"nier", (IRecipe)recipe);
}
}
}
@@ -0,0 +1,126 @@
/*
* 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.named.event.LoadEvent$PostInitEvent
* mods.flammpfeil.slashblade.specialeffect.ISpecialEffect
* mods.flammpfeil.slashblade.specialeffect.SpecialEffects
* mods.flammpfeil.slashblade.stats.AchievementList
* mods.flammpfeil.slashblade.util.SlashBladeEvent$BladeStandAttack
* mods.flammpfeil.slashblade.util.SlashBladeHooks
* net.minecraft.enchantment.Enchantment
* net.minecraft.entity.boss.EntityWither
* net.minecraft.item.Item
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package NegoreRouse.mods.slashblade.Blade;
import NegoreRouse.mods.slashblade.Blade.Artemis;
import NegoreRouse.mods.slashblade.specialeffect.Phantom;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import java.util.Random;
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.specialeffect.ISpecialEffect;
import mods.flammpfeil.slashblade.specialeffect.SpecialEffects;
import mods.flammpfeil.slashblade.stats.AchievementList;
import mods.flammpfeil.slashblade.util.SlashBladeEvent;
import mods.flammpfeil.slashblade.util.SlashBladeHooks;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.entity.boss.EntityWither;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class Nyx {
public static ItemSlashBladeNamed bladeNamed;
public static ISpecialEffect Phantom;
String name2 = "flammpfeil.slashblade.named.chronosn";
String name = "flammpfeil.slashblade.named.nyx";
int time = 0;
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
ItemStack customblade = new ItemStack((Item)SlashBlade.bladeNamed, 1, 0);
NBTTagCompound tag = new NBTTagCompound();
customblade.func_77982_d(tag);
Random rand = new Random();
float min = 0.0f;
float max = 999.0f;
float i = min + rand.nextFloat() * (max - min);
ItemSlashBladeNamed.CurrentItemName.set(tag, this.name);
ItemSlashBladeNamed.CustomMaxDamage.set(tag, Integer.valueOf(270));
ItemSlashBlade.AttackAmplifier.set(tag, Float.valueOf(4.0f));
ItemSlashBlade.setBaseAttackModifier((NBTTagCompound)tag, (float)(1.0f + i));
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBlade.TextureName.set(tag, "named/negorerouse/nyx");
ItemSlashBlade.ModelName.set(tag, "named/negorerouse/nyx");
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(3005));
ItemSlashBlade.ProudSoul.set(tag, Integer.valueOf(7000));
ItemSlashBlade.BaseAttackModifier.set(tag, Float.valueOf(1.0f + i));
ItemSlashBlade.SummonedSwordColor.set(tag, Integer.valueOf(0x7F00FF));
SpecialEffects.addEffect((ItemStack)customblade, (ISpecialEffect)Artemis.Oracle);
SpecialEffects.addEffect((ItemStack)customblade, (ISpecialEffect)Phantom);
GameRegistry.registerCustomItemStack((String)this.name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add(this.name);
customblade.func_77966_a(Enchantment.field_77347_r, 7);
customblade.func_77966_a(Enchantment.field_77345_t, 9);
customblade.func_77966_a(Enchantment.field_77339_k, 10);
customblade.func_77966_a(Enchantment.field_77337_m, 5);
AchievementList.registerCraftingAchievement((String)this.name, (ItemStack)customblade, (Achievement)AchievementList.getAchievement((String)this.name2));
}
@SubscribeEvent
public void postinit(LoadEvent.PostInitEvent event) {
SlashBladeHooks.EventBus.register((Object)this);
}
@SubscribeEvent
public void onBladeStandAttack(SlashBladeEvent.BladeStandAttack event) {
if (!event.entityBladeStand.hasBlade()) {
return;
}
if (!(event.damageSource.func_76346_g() instanceof EntityWither)) {
return;
}
if (!event.damageSource.func_94541_c()) {
return;
}
if (!event.damageSource.func_76355_l().equals("explosion.player")) {
return;
}
ItemStack targetBlade = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)this.name2, (int)1);
if (!event.blade.func_77977_a().equals(targetBlade.func_77977_a())) {
return;
}
if (this.time == 0) {
this.time = 1;
return;
}
if (this.time == 1) {
this.time = 2;
return;
}
if (this.time >= 2) {
ItemStack resultBlade = SlashBlade.getCustomBlade((String)this.name);
event.entityBladeStand.setBlade(resultBlade);
}
}
static {
Phantom = SpecialEffects.register((ISpecialEffect)new Phantom());
}
}
@@ -0,0 +1,86 @@
/*
* 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.specialeffect.ISpecialEffect
* mods.flammpfeil.slashblade.specialeffect.SpecialEffects
* mods.flammpfeil.slashblade.stats.AchievementList
* net.minecraft.enchantment.Enchantment
* net.minecraft.init.Blocks
* net.minecraft.item.Item
* net.minecraft.item.ItemStack
* net.minecraft.item.crafting.IRecipe
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package NegoreRouse.mods.slashblade.Blade;
import NegoreRouse.mods.slashblade.Blade.Artemis;
import NegoreRouse.mods.slashblade.NegoreRouse;
import NegoreRouse.mods.slashblade.RecipeNegoreRouse;
import NegoreRouse.mods.slashblade.specialeffect.To_flash_back;
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.specialeffect.ISpecialEffect;
import mods.flammpfeil.slashblade.specialeffect.SpecialEffects;
import mods.flammpfeil.slashblade.stats.AchievementList;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class Protogenoi {
public static ItemSlashBladeNamed bladeNamed;
public static ISpecialEffect To_flash_back;
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
String name = "flammpfeil.slashblade.named.protogenoi";
String name2 = "flammpfeil.slashblade.named.chronosn";
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(999));
ItemSlashBlade.setBaseAttackModifier((NBTTagCompound)tag, (float)50.0f);
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBlade.TextureName.set(tag, "named/negorerouse/protogenoi");
ItemSlashBlade.ModelName.set(tag, "named/negorerouse/protogenoi");
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(3003));
ItemSlashBlade.ProudSoul.set(tag, Integer.valueOf(50000));
ItemSlashBlade.BaseAttackModifier.set(tag, Float.valueOf(50.0f));
ItemSlashBlade.SummonedSwordColor.set(tag, Integer.valueOf(0x7F00FF));
SpecialEffects.addEffect((ItemStack)customblade, (ISpecialEffect)Artemis.Oracle);
SpecialEffects.addEffect((ItemStack)customblade, (ISpecialEffect)Artemis.AbsolutePower);
SpecialEffects.addEffect((ItemStack)customblade, (ISpecialEffect)To_flash_back);
GameRegistry.registerCustomItemStack((String)name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add(name);
customblade.func_77966_a(Enchantment.field_77347_r, 10);
AchievementList.registerCraftingAchievement((String)name, (ItemStack)customblade, (Achievement)AchievementList.getAchievement((String)name2));
ItemStack custombladeReqiredF = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)name2, (int)1);
NBTTagCompound reqTag = ItemSlashBlade.getItemTagCompound((ItemStack)custombladeReqiredF);
ItemSlashBlade.ProudSoul.set(reqTag, Integer.valueOf(50000));
ItemStack blackblade = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)name, (int)1);
ItemStack itemSphereBladeSoulStr = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)"sphere_bladesoul", (int)1);
RecipeNegoreRouse recipe = new RecipeNegoreRouse(blackblade, custombladeReqiredF, "FAF", "XSX", "FAF", Character.valueOf('A'), new ItemStack(NegoreRouse.ItemSoul_mix), Character.valueOf('F'), new ItemStack(Blocks.field_150381_bn), Character.valueOf('X'), itemSphereBladeSoulStr, Character.valueOf('S'), custombladeReqiredF);
SlashBlade.addRecipe((String)"protogenoi", (IRecipe)recipe);
}
static {
To_flash_back = SpecialEffects.register((ISpecialEffect)new To_flash_back());
}
}
@@ -0,0 +1,87 @@
/*
* 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.specialeffect.ISpecialEffect
* mods.flammpfeil.slashblade.specialeffect.SpecialEffects
* mods.flammpfeil.slashblade.stats.AchievementList
* net.minecraft.enchantment.Enchantment
* net.minecraft.init.Blocks
* net.minecraft.init.Items
* net.minecraft.item.Item
* net.minecraft.item.ItemStack
* net.minecraft.item.crafting.IRecipe
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.stats.Achievement
*/
package NegoreRouse.mods.slashblade.Blade;
import NegoreRouse.mods.slashblade.Blade.Artemis;
import NegoreRouse.mods.slashblade.NegoreRouse;
import NegoreRouse.mods.slashblade.RecipeNegoreRouse;
import NegoreRouse.mods.slashblade.specialeffect.Purgatory;
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.specialeffect.ISpecialEffect;
import mods.flammpfeil.slashblade.specialeffect.SpecialEffects;
import mods.flammpfeil.slashblade.stats.AchievementList;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.Achievement;
public class Tartarus {
public static ItemSlashBladeNamed bladeNamed;
public static ISpecialEffect Purgatory;
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
String name = "flammpfeil.slashblade.named.tartarus";
String name2 = "flammpfeil.slashblade.named.erebus";
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(90));
ItemSlashBlade.setBaseAttackModifier((NBTTagCompound)tag, (float)25.0f);
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBlade.TextureName.set(tag, "named/negorerouse/tartarus");
ItemSlashBlade.ModelName.set(tag, "named/negorerouse/tartarus");
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(3002));
ItemSlashBlade.ProudSoul.set(tag, Integer.valueOf(5000));
ItemSlashBlade.BaseAttackModifier.set(tag, Float.valueOf(25.0f));
ItemSlashBlade.SummonedSwordColor.set(tag, Integer.valueOf(12326679));
SpecialEffects.addEffect((ItemStack)customblade, (ISpecialEffect)Artemis.Oracle);
SpecialEffects.addEffect((ItemStack)customblade, (ISpecialEffect)Artemis.NegativeDivinePower);
SpecialEffects.addEffect((ItemStack)customblade, (ISpecialEffect)Purgatory);
GameRegistry.registerCustomItemStack((String)name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add(name);
customblade.func_77966_a(Enchantment.field_77338_j, 10);
AchievementList.registerCraftingAchievement((String)name, (ItemStack)customblade, (Achievement)AchievementList.getAchievement((String)name2));
ItemStack custombladeReqiredF = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)name2, (int)1);
NBTTagCompound reqTag = ItemSlashBlade.getItemTagCompound((ItemStack)custombladeReqiredF);
ItemSlashBlade.ProudSoul.set(reqTag, Integer.valueOf(5000));
ItemStack blackblade = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)name, (int)1);
RecipeNegoreRouse recipe = new RecipeNegoreRouse(blackblade, custombladeReqiredF, "ZXC", "VBN", "MXF", Character.valueOf('X'), new ItemStack(NegoreRouse.ItemTartarus), Character.valueOf('Z'), new ItemStack(Items.field_151073_bk), Character.valueOf('C'), new ItemStack(Blocks.field_150343_Z), Character.valueOf('V'), new ItemStack(Blocks.field_150424_aL), Character.valueOf('N'), new ItemStack(Items.field_151075_bm), Character.valueOf('M'), new ItemStack(Items.field_151144_bL, 1, 1), Character.valueOf('F'), new ItemStack(Items.field_151072_bj), Character.valueOf('B'), custombladeReqiredF);
SlashBlade.addRecipe((String)"tartarus", (IRecipe)recipe);
}
static {
Purgatory = SpecialEffects.register((ISpecialEffect)new Purgatory());
}
}
@@ -0,0 +1,87 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.client.registry.ClientRegistry
* cpw.mods.fml.client.registry.RenderingRegistry
* cpw.mods.fml.common.Loader
* cpw.mods.fml.common.event.FMLInitializationEvent
* cpw.mods.fml.common.event.FMLPostInitializationEvent
* cpw.mods.fml.common.event.FMLPreInitializationEvent
* mods.flammpfeil.slashblade.ItemRendererBaseWeapon
* net.minecraft.client.renderer.entity.Render
* net.minecraft.client.settings.KeyBinding
* net.minecraft.item.Item
* net.minecraftforge.client.IItemRenderer
* net.minecraftforge.client.MinecraftForgeClient
*/
package NegoreRouse.mods.slashblade;
import NegoreRouse.mods.slashblade.CommonProxy;
import NegoreRouse.mods.slashblade.SA.entity.EntityDriveEx;
import NegoreRouse.mods.slashblade.SA.entity.EntityDriveEx_Zx;
import NegoreRouse.mods.slashblade.SA.entity.EntityDrive_Time;
import NegoreRouse.mods.slashblade.SA.entity.EntityMagneticStorm;
import NegoreRouse.mods.slashblade.SA.entity.EntityNegoreSA;
import NegoreRouse.mods.slashblade.SA.entity.Twelve.EntityPhantomSwordTwelve;
import NegoreRouse.mods.slashblade.SA.entity.Twelve.RenderPhantomSwordTwelve;
import NegoreRouse.mods.slashblade.SA.render.RenderDriveEx;
import NegoreRouse.mods.slashblade.SA.render.RenderDriveEx_Zx;
import NegoreRouse.mods.slashblade.SA.render.RenderDrive_Time;
import NegoreRouse.mods.slashblade.SA.render.RenderMagneticStorm;
import NegoreRouse.mods.slashblade.specialmagneticStorm.IMagneticStorm;
import NegoreRouse.mods.slashblade.specialmagneticStorm.MagneticStorm;
import NegoreRouse.mods.slashblade.specialmagneticStorm.MagneticStormTier;
import cpw.mods.fml.client.registry.ClientRegistry;
import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import mods.flammpfeil.slashblade.ItemRendererBaseWeapon;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.settings.KeyBinding;
import net.minecraft.item.Item;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.MinecraftForgeClient;
public class ClientProxy
extends CommonProxy {
@Override
public void preInit(FMLPreInitializationEvent event) {
super.preInit(event);
RenderingRegistry.registerEntityRenderingHandler(EntityDriveEx.class, (Render)new RenderDriveEx());
RenderingRegistry.registerEntityRenderingHandler(EntityNegoreSA.class, (Render)new RenderDriveEx());
RenderingRegistry.registerEntityRenderingHandler(EntityDriveEx_Zx.class, (Render)new RenderDriveEx_Zx());
RenderingRegistry.registerEntityRenderingHandler(EntityMagneticStorm.class, (Render)new RenderMagneticStorm());
RenderingRegistry.registerEntityRenderingHandler(EntityDrive_Time.class, (Render)new RenderDrive_Time());
RenderingRegistry.registerEntityRenderingHandler(EntityPhantomSwordTwelve.class, (Render)new RenderPhantomSwordTwelve());
ItemRendererBaseWeapon renderer = new ItemRendererBaseWeapon();
MinecraftForgeClient.registerItemRenderer((Item)CommonProxy.Chronos_sy, (IItemRenderer)renderer);
if (Loader.isModLoaded((String)"IC2")) {
MinecraftForgeClient.registerItemRenderer((Item)CommonProxy.EuBlade, (IItemRenderer)renderer);
}
}
@Override
public void init(FMLInitializationEvent event) {
if (Loader.isModLoaded((String)"IC2")) {
ClientRegistry.registerKeyBinding((KeyBinding)IMagneticStorm.specialMagneticStorm);
ClientRegistry.registerKeyBinding((KeyBinding)IMagneticStorm.specialMagneticStormTier);
}
super.init(event);
if (Loader.isModLoaded((String)"IC2")) {
MinecraftForge.EVENT_BUS.register((Object)new MagneticStorm());
FMLCommonHandler.instance().bus().register((Object)new MagneticStorm());
MinecraftForge.EVENT_BUS.register((Object)new MagneticStormTier());
FMLCommonHandler.instance().bus().register((Object)new MagneticStormTier());
}
}
@Override
public void postInit(FMLPostInitializationEvent event) {
super.postInit(event);
}
}
@@ -0,0 +1,106 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.FMLCommonHandler
* cpw.mods.fml.common.Loader
* cpw.mods.fml.common.event.FMLInitializationEvent
* cpw.mods.fml.common.event.FMLPostInitializationEvent
* cpw.mods.fml.common.event.FMLPreInitializationEvent
* cpw.mods.fml.common.registry.EntityRegistry
* cpw.mods.fml.common.registry.GameRegistry
* mods.flammpfeil.slashblade.SlashBlade
* net.minecraft.item.Item
* net.minecraft.item.Item$ToolMaterial
* net.minecraftforge.common.MinecraftForge
*/
package NegoreRouse.mods.slashblade;
import NegoreRouse.mods.slashblade.Blade.Aeon;
import NegoreRouse.mods.slashblade.Blade.Ananke;
import NegoreRouse.mods.slashblade.Blade.Antauge;
import NegoreRouse.mods.slashblade.Blade.Artemis;
import NegoreRouse.mods.slashblade.Blade.Chaos;
import NegoreRouse.mods.slashblade.Blade.Chronos;
import NegoreRouse.mods.slashblade.Blade.Chronos_n;
import NegoreRouse.mods.slashblade.Blade.Chronos_sy;
import NegoreRouse.mods.slashblade.Blade.Deligun;
import NegoreRouse.mods.slashblade.Blade.EUBlade.Artemis_s;
import NegoreRouse.mods.slashblade.Blade.EUBlade.ItemEUBlade;
import NegoreRouse.mods.slashblade.Blade.Erebus;
import NegoreRouse.mods.slashblade.Blade.Hercules;
import NegoreRouse.mods.slashblade.Blade.ItemChronos_Sy;
import NegoreRouse.mods.slashblade.Blade.Nier;
import NegoreRouse.mods.slashblade.Blade.Nyx;
import NegoreRouse.mods.slashblade.Blade.Protogenoi;
import NegoreRouse.mods.slashblade.Blade.Tartarus;
import NegoreRouse.mods.slashblade.LivingDropEvent;
import NegoreRouse.mods.slashblade.LivingDropsHandler;
import NegoreRouse.mods.slashblade.NegoreRouse;
import NegoreRouse.mods.slashblade.Network.SMSRangeAttackHandler;
import NegoreRouse.mods.slashblade.SA.ability.EnderTeleportCanceller;
import NegoreRouse.mods.slashblade.SA.entity.EntityDriveEx;
import NegoreRouse.mods.slashblade.SA.entity.EntityDriveEx_Zx;
import NegoreRouse.mods.slashblade.SA.entity.EntityDrive_Time;
import NegoreRouse.mods.slashblade.SA.entity.EntityMagneticStorm;
import NegoreRouse.mods.slashblade.SA.entity.EntityNegoreSA;
import NegoreRouse.mods.slashblade.SA.entity.Twelve.EntityPhantomSwordTwelve;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.Loader;
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 cpw.mods.fml.common.registry.GameRegistry;
import mods.flammpfeil.slashblade.SlashBlade;
import net.minecraft.item.Item;
import net.minecraftforge.common.MinecraftForge;
public class CommonProxy {
public static EnderTeleportCanceller enderTeleportCanceller;
public static Item EuBlade;
public static Item Chronos_sy;
public void preInit(FMLPreInitializationEvent event) {
SlashBlade.InitEventBus.register((Object)new Artemis());
SlashBlade.InitEventBus.register((Object)new Hercules());
SlashBlade.InitEventBus.register((Object)new Nier());
SlashBlade.InitEventBus.register((Object)new Chronos());
SlashBlade.InitEventBus.register((Object)new Erebus());
SlashBlade.InitEventBus.register((Object)new Chronos_n());
SlashBlade.InitEventBus.register((Object)new Protogenoi());
SlashBlade.InitEventBus.register((Object)new Tartarus());
SlashBlade.InitEventBus.register((Object)new Chaos());
SlashBlade.InitEventBus.register((Object)new Antauge());
SlashBlade.InitEventBus.register((Object)new Deligun());
Chronos_sy = new ItemChronos_Sy(Item.ToolMaterial.IRON, 4.0f).func_111206_d("flammpfeil.slashblade:proudsoul");
GameRegistry.registerItem((Item)Chronos_sy, (String)"Chronos_sy");
SlashBlade.InitEventBus.register((Object)new Chronos_sy());
SlashBlade.InitEventBus.register((Object)new Aeon());
SlashBlade.InitEventBus.register((Object)new Nyx());
SlashBlade.InitEventBus.register((Object)new Ananke());
SlashBlade.InitEventBus.register((Object)NegoreRouse.instance);
EntityRegistry.registerModEntity(EntityDriveEx.class, (String)"DriveExM1", (int)1, (Object)NegoreRouse.instance, (int)250, (int)1, (boolean)true);
EntityRegistry.registerModEntity(EntityNegoreSA.class, (String)"NegoreSAM1", (int)2, (Object)NegoreRouse.instance, (int)250, (int)1, (boolean)true);
EntityRegistry.registerModEntity(EntityDriveEx_Zx.class, (String)"DriveEx_ZxM1", (int)3, (Object)NegoreRouse.instance, (int)250, (int)1, (boolean)true);
EntityRegistry.registerModEntity(EntityMagneticStorm.class, (String)"MagneticStormM1", (int)4, (Object)NegoreRouse.instance, (int)250, (int)1, (boolean)true);
EntityRegistry.registerModEntity(EntityDrive_Time.class, (String)"DriveTimeM1", (int)5, (Object)NegoreRouse.instance, (int)250, (int)1, (boolean)true);
EntityRegistry.registerModEntity(EntityPhantomSwordTwelve.class, (String)"PhantomSwordTwelveM1", (int)6, (Object)NegoreRouse.instance, (int)250, (int)1, (boolean)true);
if (Loader.isModLoaded((String)"IC2")) {
EuBlade = new ItemEUBlade(Item.ToolMaterial.IRON, 4.0f, 200000000).func_111206_d("flammpfeil.slashblade:proudsoul");
GameRegistry.registerItem((Item)EuBlade, (String)"EUBlade");
SlashBlade.InitEventBus.register((Object)new Artemis_s());
}
}
public void init(FMLInitializationEvent event) {
enderTeleportCanceller = new EnderTeleportCanceller();
MinecraftForge.EVENT_BUS.register((Object)enderTeleportCanceller);
MinecraftForge.EVENT_BUS.register((Object)new LivingDropsHandler());
MinecraftForge.EVENT_BUS.register((Object)new LivingDropEvent());
SMSRangeAttackHandler.init();
}
public void postInit(FMLPostInitializationEvent event) {
}
}
@@ -0,0 +1,20 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.eventhandler.SubscribeEvent
* net.minecraftforge.event.entity.living.LivingDropsEvent
*/
package NegoreRouse.mods.slashblade;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.event.entity.living.LivingDropsEvent;
public class LivingDropEvent {
public static double rand;
@SubscribeEvent
public void onPassiveDrop(LivingDropsEvent event) {
}
}
@@ -0,0 +1,33 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.eventhandler.SubscribeEvent
* net.minecraft.entity.monster.EntityBlaze
* net.minecraft.entity.monster.EntityEnderman
* net.minecraftforge.event.entity.living.LivingDropsEvent
*/
package NegoreRouse.mods.slashblade;
import NegoreRouse.mods.slashblade.NegoreRouse;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import net.minecraft.entity.monster.EntityBlaze;
import net.minecraft.entity.monster.EntityEnderman;
import net.minecraftforge.event.entity.living.LivingDropsEvent;
public class LivingDropsHandler {
public static double rand;
@SubscribeEvent
public void onPassiveDrop(LivingDropsEvent event) {
if (event.source.func_76355_l().equals("player") && event.entity.field_70170_p.field_73012_v.nextFloat() < 0.2f) {
if (event.entityLiving instanceof EntityEnderman) {
event.entityLiving.func_145779_a(NegoreRouse.ItemAritemis, 2);
}
if (event.entityLiving instanceof EntityBlaze) {
event.entityLiving.func_145779_a(NegoreRouse.ItemHercules, 1);
}
}
}
}
@@ -0,0 +1,108 @@
/*
* 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
* cpw.mods.fml.common.registry.GameRegistry
* mods.flammpfeil.slashblade.SlashBlade
* mods.flammpfeil.slashblade.named.event.LoadEvent$PostInitEvent
* net.minecraft.block.Block
* net.minecraft.init.Blocks
* net.minecraft.init.Items
* net.minecraft.item.Item
* net.minecraft.item.ItemStack
*/
package NegoreRouse.mods.slashblade;
import NegoreRouse.mods.slashblade.Black.ItemAritemis;
import NegoreRouse.mods.slashblade.Black.ItemChaos;
import NegoreRouse.mods.slashblade.Black.ItemChronos;
import NegoreRouse.mods.slashblade.Black.ItemErebus;
import NegoreRouse.mods.slashblade.Black.ItemFate_star;
import NegoreRouse.mods.slashblade.Black.ItemHercules;
import NegoreRouse.mods.slashblade.Black.ItemSoul_mix;
import NegoreRouse.mods.slashblade.Black.ItemTartarus;
import NegoreRouse.mods.slashblade.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;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import mods.flammpfeil.slashblade.SlashBlade;
import mods.flammpfeil.slashblade.named.event.LoadEvent;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
@Mod(modid="negorerouse", name="NegoreRouse", version="1.0.0", dependencies="required-after:flammpfeil.slashblade;after:flammpfeil.nihil;after:flammpfeil.slashblade.blademaster;after:allweapon;after:BambooMod;after:Thaumcraft;after:IC2;after:flammpfeil.slashblade.kamuy")
public class NegoreRouse {
public static Item ItemAritemis = new ItemAritemis().func_77655_b("flammpfeil.slashblade.proudsoul.ItemAritemis").func_111206_d("negorerouse:bluespirit");
public static Item ItemChronos = new ItemChronos().func_77655_b("flammpfeil.slashblade.proudsoul.ItemChronos").func_111206_d("negorerouse:redspirit");
public static Item ItemHercules = new ItemHercules().func_77655_b("flammpfeil.slashblade.proudsoul.ItemHercules").func_111206_d("negorerouse:goldenspirit");
public static Item ItemSoul_mix = new ItemSoul_mix().func_77655_b("flammpfeil.slashblade.proudsoul.ItemSoul").func_111206_d("negorerouse:pinkspirit");
public static Item ItemErebus = new ItemErebus().func_77655_b("flammpfeil.slashblade.proudsoul.ItemErebus").func_111206_d("negorerouse:blackspirit");
public static Item ItemTartarus = new ItemTartarus().func_77655_b("flammpfeil.slashblade.proudsoul.ItemTartarus").func_111206_d("negorerouse:redspirit2");
public static Item ItemChaos = new ItemChaos().func_77655_b("flammpfeil.slashblade.proudsoul.ItemChaos").func_111206_d("negorerouse:blackgoldenspirit");
public static Item ItemDimensity = new ItemAritemis().func_77655_b("flammpfeil.slashblade.proudsoul.ItemDimensity").func_111206_d("negorerouse:dimensity");
public static Item ItemFate_star = new ItemFate_star().func_77655_b("flammpfeil.slashblade.proudsoul.ItemFate").func_111206_d("negorerouse:fatestar");
public static final String MODID = "negorerouse";
public static final String NAME = "NegoreRouse";
public static final String VERSION = "1.0.0";
public static final String Aritemis = "flammpfeil.slashblade.proudsoul.ItemAritemis";
public static final String Hercules = "flammpfeil.slashblade.proudsoul.ItemHercules";
@Mod.Instance(value="negorerouse")
public static NegoreRouse instance;
@SidedProxy(clientSide="NegoreRouse.mods.slashblade.ClientProxy", serverSide="NegoreRouse.mods.slashblade.CommonProxy")
public static CommonProxy proxy;
public void initializeItemRenderer() {
}
@Mod.EventHandler
public void preInit(FMLPreInitializationEvent event) {
GameRegistry.registerItem((Item)ItemChronos, (String)"Chronos");
GameRegistry.registerItem((Item)ItemHercules, (String)"hercules");
GameRegistry.registerItem((Item)ItemAritemis, (String)"aritemis");
GameRegistry.registerItem((Item)ItemSoul_mix, (String)"Soul_mix");
GameRegistry.registerItem((Item)ItemErebus, (String)"Erebus");
GameRegistry.registerItem((Item)ItemTartarus, (String)"Tartarus");
GameRegistry.registerItem((Item)ItemChaos, (String)"Chaos");
GameRegistry.registerItem((Item)ItemFate_star, (String)"FateStar");
GameRegistry.registerItem((Item)ItemDimensity, (String)"Dimensity");
proxy.preInit(event);
}
@Mod.EventHandler
public void init(FMLInitializationEvent event) {
proxy.init(event);
}
@Mod.EventHandler
public void postInit(FMLPostInitializationEvent event) {
ItemStack itemIngotBladeSoul = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)"ingot_bladesoul", (int)1);
ItemStack itemSphereBladeSoul = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)"sphere_bladesoul", (int)1);
ItemStack itemProudSoul = GameRegistry.findItemStack((String)"flammpfeil.slashblade", (String)"proudsoul", (int)1);
ItemStack Sword = SlashBlade.getCustomBlade((String)"flammpfeil.slashblade.named.doutanuki");
GameRegistry.addShapedRecipe((ItemStack)new ItemStack(ItemChronos, 1), (Object[])new Object[]{"ZXC", "ASD", "QWE", Character.valueOf('Z'), new ItemStack(Blocks.field_150475_bE), Character.valueOf('X'), itemSphereBladeSoul, Character.valueOf('C'), new ItemStack(Items.field_151043_k), Character.valueOf('A'), new ItemStack(Blocks.field_150343_Z), Character.valueOf('S'), new ItemStack(Items.field_151061_bv), Character.valueOf('D'), new ItemStack(Items.field_151005_D), Character.valueOf('Q'), new ItemStack(Blocks.field_150339_S), Character.valueOf('W'), itemProudSoul, Character.valueOf('E'), new ItemStack(Blocks.field_150451_bX)});
GameRegistry.addShapedRecipe((ItemStack)new ItemStack(ItemErebus, 1), (Object[])new Object[]{" Z ", "ASD", " X ", Character.valueOf('Z'), itemSphereBladeSoul, Character.valueOf('A'), new ItemStack(Blocks.field_150424_aL), Character.valueOf('S'), new ItemStack(Blocks.field_150386_bk), Character.valueOf('D'), new ItemStack(Blocks.field_150343_Z), Character.valueOf('X'), itemProudSoul});
GameRegistry.addShapedRecipe((ItemStack)new ItemStack(ItemSoul_mix, 1), (Object[])new Object[]{"ZXS", "ADA", "GHJ", Character.valueOf('Z'), new ItemStack(Items.field_151061_bv), Character.valueOf('X'), itemSphereBladeSoul, Character.valueOf('S'), new ItemStack(ItemChaos), Character.valueOf('A'), itemIngotBladeSoul, Character.valueOf('D'), new ItemStack(ItemChronos), Character.valueOf('G'), new ItemStack(ItemChronos), Character.valueOf('H'), itemProudSoul, Character.valueOf('J'), new ItemStack(Items.field_151156_bN)});
GameRegistry.addShapedRecipe((ItemStack)new ItemStack(ItemTartarus, 1), (Object[])new Object[]{"ZXZ", "ASD", "ZXZ", Character.valueOf('X'), new ItemStack(ItemErebus), Character.valueOf('Z'), new ItemStack(Items.field_151129_at), Character.valueOf('A'), new ItemStack(Blocks.field_150425_aM), Character.valueOf('S'), Sword, Character.valueOf('D'), new ItemStack(Items.field_151075_bm)});
GameRegistry.addShapedRecipe((ItemStack)new ItemStack(ItemChaos, 1), (Object[])new Object[]{"ZXC", "VBN", "A D", Character.valueOf('B'), new ItemStack(ItemChronos), Character.valueOf('Z'), new ItemStack(Blocks.field_150335_W), Character.valueOf('X'), new ItemStack(Blocks.field_150410_aZ), Character.valueOf('C'), new ItemStack(Items.field_151111_aL), Character.valueOf('V'), new ItemStack(Items.field_151065_br), Character.valueOf('N'), new ItemStack(Blocks.field_150339_S), Character.valueOf('A'), new ItemStack((Block)Blocks.field_150438_bZ), Character.valueOf('D'), new ItemStack(Items.field_151066_bu)});
GameRegistry.addShapedRecipe((ItemStack)new ItemStack(ItemFate_star, 1), (Object[])new Object[]{"ZXC", "ASD", "QWE", Character.valueOf('Z'), new ItemStack(Items.field_151137_ax), Character.valueOf('X'), new ItemStack(Blocks.field_150343_Z), Character.valueOf('C'), new ItemStack(Items.field_151012_L), Character.valueOf('A'), new ItemStack(ItemChronos), Character.valueOf('S'), new ItemStack(Items.field_151156_bN), Character.valueOf('D'), new ItemStack(ItemSoul_mix), Character.valueOf('Q'), new ItemStack(Items.field_151065_br), Character.valueOf('W'), new ItemStack(Blocks.field_150368_y), Character.valueOf('E'), new ItemStack(Blocks.field_150426_aN)});
proxy.postInit(event);
}
@SubscribeEvent
public void postinit(LoadEvent.PostInitEvent event) {
}
}
@@ -0,0 +1,34 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* net.minecraft.creativetab.CreativeTabs
* net.minecraft.item.Item
*/
package NegoreRouse.mods.slashblade;
import NegoreRouse.mods.slashblade.NegoreRouse;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
public class NegoreRouseTab
extends CreativeTabs {
public static NegoreRouseTab NegoreTab = new NegoreRouseTab();
public NegoreRouseTab() {
super(NegoreRouseTab.nextTabId(), "flammpfeil.slashblade.NegoreRouse");
}
private static int nextTabId() {
try {
return (Integer)CreativeTabs.class.getMethod("getNextID", new Class[0]).invoke(null, new Object[0]);
}
catch (Exception ignored) {
return CreativeTabs.field_78032_a.length - 1;
}
}
public Item func_78016_d() {
return NegoreRouse.ItemAritemis;
}
}
@@ -0,0 +1,41 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.network.NetworkRegistry
* cpw.mods.fml.common.network.simpleimpl.IMessage
* cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper
* cpw.mods.fml.relauncher.Side
* cpw.mods.fml.relauncher.SideOnly
*/
package NegoreRouse.mods.slashblade.Network;
import NegoreRouse.mods.slashblade.Network.message.MessageSMSRangeAttack;
import NegoreRouse.mods.slashblade.Network.message.MessageSMSRangeAttackHandler;
import NegoreRouse.mods.slashblade.Network.message.MessageSMSTier;
import NegoreRouse.mods.slashblade.Network.message.MessageSMSTierHandler;
import cpw.mods.fml.common.network.NetworkRegistry;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class SMSRangeAttackHandler {
public static final SimpleNetworkWrapper INSTANCE = NetworkRegistry.INSTANCE.newSimpleChannel("negorerouse");
public static void init() {
INSTANCE.registerMessage(MessageSMSRangeAttackHandler.class, MessageSMSRangeAttack.class, 0, Side.SERVER);
INSTANCE.registerMessage(MessageSMSTierHandler.class, MessageSMSTier.class, 1, Side.SERVER);
}
@SideOnly(value=Side.CLIENT)
public static void useSMSRangeAttack() {
INSTANCE.sendToServer((IMessage)new MessageSMSRangeAttack());
}
@SideOnly(value=Side.CLIENT)
public static void useSMSTier() {
INSTANCE.sendToServer((IMessage)new MessageSMSTier());
}
}
@@ -0,0 +1,21 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.network.simpleimpl.IMessage
* io.netty.buffer.ByteBuf
*/
package NegoreRouse.mods.slashblade.Network.message;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import io.netty.buffer.ByteBuf;
public class MessageSMSRangeAttack
implements IMessage {
public void fromBytes(ByteBuf buf) {
}
public void toBytes(ByteBuf buf) {
}
}
@@ -0,0 +1,37 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.network.simpleimpl.IMessage
* cpw.mods.fml.common.network.simpleimpl.IMessageHandler
* cpw.mods.fml.common.network.simpleimpl.MessageContext
* net.minecraft.entity.player.EntityPlayer
* net.minecraft.entity.player.EntityPlayerMP
* net.minecraft.item.ItemStack
* net.minecraft.world.World
*/
package NegoreRouse.mods.slashblade.Network.message;
import NegoreRouse.mods.slashblade.Blade.EUBlade.ItemEUBlade;
import NegoreRouse.mods.slashblade.Network.message.MessageSMSRangeAttack;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
public class MessageSMSRangeAttackHandler
implements IMessageHandler<MessageSMSRangeAttack, IMessage> {
public IMessage onMessage(MessageSMSRangeAttack message, MessageContext ctx) {
EntityPlayerMP entityPlayer = ctx.getServerHandler().field_147369_b;
ItemStack stack = entityPlayer.func_70694_bm();
World world = entityPlayer.field_70170_p;
if (stack != null && stack.func_77973_b() instanceof ItemEUBlade) {
((ItemEUBlade)stack.func_77973_b()).doSMSRangeAttack(stack, world, (EntityPlayer)entityPlayer);
}
return null;
}
}
@@ -0,0 +1,21 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.network.simpleimpl.IMessage
* io.netty.buffer.ByteBuf
*/
package NegoreRouse.mods.slashblade.Network.message;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import io.netty.buffer.ByteBuf;
public class MessageSMSTier
implements IMessage {
public void fromBytes(ByteBuf buf) {
}
public void toBytes(ByteBuf buf) {
}
}
@@ -0,0 +1,37 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.network.simpleimpl.IMessage
* cpw.mods.fml.common.network.simpleimpl.IMessageHandler
* cpw.mods.fml.common.network.simpleimpl.MessageContext
* net.minecraft.entity.player.EntityPlayer
* net.minecraft.entity.player.EntityPlayerMP
* net.minecraft.item.ItemStack
* net.minecraft.world.World
*/
package NegoreRouse.mods.slashblade.Network.message;
import NegoreRouse.mods.slashblade.Blade.EUBlade.ItemEUBlade;
import NegoreRouse.mods.slashblade.Network.message.MessageSMSTier;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
public class MessageSMSTierHandler
implements IMessageHandler<MessageSMSTier, IMessage> {
public IMessage onMessage(MessageSMSTier message, MessageContext ctx) {
EntityPlayerMP entityPlayer = ctx.getServerHandler().field_147369_b;
ItemStack stack = entityPlayer.func_70694_bm();
World world = entityPlayer.field_70170_p;
if (stack != null && stack.func_77973_b() instanceof ItemEUBlade) {
((ItemEUBlade)stack.func_77973_b()).doChangeTier(stack, world, (EntityPlayer)entityPlayer);
}
return null;
}
}
@@ -0,0 +1,234 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBladeNamed
* mods.flammpfeil.slashblade.SlashBlade
* mods.flammpfeil.slashblade.TagPropertyAccessor
* net.minecraft.enchantment.Enchantment
* net.minecraft.enchantment.EnchantmentHelper
* net.minecraft.inventory.InventoryCrafting
* net.minecraft.item.ItemStack
* net.minecraft.nbt.NBTTagCompound
* net.minecraft.world.World
* net.minecraftforge.oredict.ShapedOreRecipe
*/
package NegoreRouse.mods.slashblade;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Map;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ItemSlashBladeNamed;
import mods.flammpfeil.slashblade.SlashBlade;
import mods.flammpfeil.slashblade.TagPropertyAccessor;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.inventory.InventoryCrafting;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import net.minecraftforge.oredict.OreDictionary;
import net.minecraftforge.oredict.ShapedOreRecipe;
public class RecipeNegoreRouse
extends ShapedOreRecipe {
private static final Field SHAPED_INPUT = shapedField("input");
private static final Field SHAPED_WIDTH = shapedField("width");
private static final Field SHAPED_HEIGHT = shapedField("height");
private static final Field SHAPED_MIRRORED = shapedField("mirrored");
ItemStack requiredStateBlade = null;
public RecipeNegoreRouse(ItemStack result, ItemStack requiredStateBlade, Object ... recipe) {
super(result, recipe);
this.requiredStateBlade = requiredStateBlade;
}
int tagValueCompare(TagPropertyAccessor access, NBTTagCompound reqTag, NBTTagCompound srcTag) {
return access.get(reqTag).compareTo(access.get(srcTag));
}
public boolean func_77569_a(InventoryCrafting inv, World world) {
boolean result = this.matchesShapedOre(inv);
if (result && this.requiredStateBlade != null) {
for (int idx = 0; idx < inv.func_70302_i_(); ++idx) {
ItemStack curIs = inv.func_70301_a(idx);
if (curIs == null || !(curIs.func_77973_b() instanceof ItemSlashBlade) || !curIs.func_77942_o()) continue;
Map oldItemEnchants = EnchantmentHelper.func_82781_a((ItemStack)this.requiredStateBlade);
for (Object enchantObj : oldItemEnchants.entrySet()) {
Map.Entry enchant = (Map.Entry)enchantObj;
int level = EnchantmentHelper.func_77506_a((int)((Integer)enchant.getKey()), (ItemStack)curIs);
if (level >= (Integer)enchant.getValue()) continue;
return false;
}
NBTTagCompound reqTag = ItemSlashBlade.getItemTagCompound((ItemStack)this.requiredStateBlade);
NBTTagCompound srcTag = ItemSlashBlade.getItemTagCompound((ItemStack)curIs);
if (!curIs.func_77977_a().equals(this.requiredStateBlade.func_77977_a())) {
return false;
}
if (0 < this.tagValueCompare((TagPropertyAccessor)ItemSlashBlade.ProudSoul, reqTag, srcTag)) {
return false;
}
if (0 < this.tagValueCompare((TagPropertyAccessor)ItemSlashBlade.KillCount, reqTag, srcTag)) {
return false;
}
if (0 >= this.tagValueCompare((TagPropertyAccessor)ItemSlashBlade.RepairCount, reqTag, srcTag)) break;
return false;
}
}
return result;
}
private static Field shapedField(String name) {
try {
Field field = ShapedOreRecipe.class.getDeclaredField(name);
field.setAccessible(true);
return field;
}
catch (ReflectiveOperationException e) {
throw new RuntimeException("Unable to access ShapedOreRecipe." + name, e);
}
}
private Object[] shapedInput() {
try {
return (Object[])SHAPED_INPUT.get(this);
}
catch (IllegalAccessException e) {
throw new RuntimeException(e);
}
}
private int shapedWidth() {
try {
return SHAPED_WIDTH.getInt(this);
}
catch (IllegalAccessException e) {
throw new RuntimeException(e);
}
}
private int shapedHeight() {
try {
return SHAPED_HEIGHT.getInt(this);
}
catch (IllegalAccessException e) {
throw new RuntimeException(e);
}
}
private boolean shapedMirrored() {
try {
return SHAPED_MIRRORED.getBoolean(this);
}
catch (IllegalAccessException e) {
throw new RuntimeException(e);
}
}
private boolean matchesShapedOre(InventoryCrafting inv) {
int width = this.shapedWidth();
int height = this.shapedHeight();
for (int x = 0; x <= 3 - width; ++x) {
for (int y = 0; y <= 3 - height; ++y) {
if (this.checkShapedOreMatch(inv, x, y, false)) {
return true;
}
if (this.shapedMirrored() && this.checkShapedOreMatch(inv, x, y, true)) {
return true;
}
}
}
return false;
}
private boolean checkShapedOreMatch(InventoryCrafting inv, int startX, int startY, boolean mirror) {
Object[] input = this.shapedInput();
int width = this.shapedWidth();
int height = this.shapedHeight();
for (int x = 0; x < 3; ++x) {
for (int y = 0; y < 3; ++y) {
int subX = x - startX;
int subY = y - startY;
Object target = null;
if (subX >= 0 && subY >= 0 && subX < width && subY < height) {
target = mirror ? input[width - subX - 1 + subY * width] : input[subX + subY * width];
}
ItemStack slot = inv.func_70463_b(x, y);
if (target instanceof ItemStack) {
if (!OreDictionary.itemMatches((ItemStack)target, slot, false)) {
return false;
}
}
else if (target instanceof ArrayList) {
boolean matched = false;
Iterator iterator = ((ArrayList)target).iterator();
while (iterator.hasNext() && !matched) {
matched = OreDictionary.itemMatches((ItemStack)iterator.next(), slot, false);
}
if (!matched) {
return false;
}
}
else if (target == null && slot != null) {
return false;
}
}
}
return true;
}
public ItemStack func_77572_b(InventoryCrafting var1) {
ItemStack result = super.getCraftingResult(var1);
for (int idx = 0; idx < var1.func_70302_i_(); ++idx) {
String key;
ItemStack tmp;
ItemStack curIs = var1.func_70301_a(idx);
if (curIs == null || !(curIs.func_77973_b() instanceof ItemSlashBlade) || !curIs.func_77942_o()) continue;
NBTTagCompound oldTag = curIs.func_77978_p();
oldTag = (NBTTagCompound)oldTag.func_74737_b();
NBTTagCompound newTag = ItemSlashBlade.getItemTagCompound((ItemStack)result);
if (ItemSlashBladeNamed.CurrentItemName.exists(newTag) && (tmp = SlashBlade.getCustomBlade((String)(key = ItemSlashBladeNamed.CurrentItemName.get(newTag)))) != null) {
result = tmp;
}
newTag = ItemSlashBlade.getItemTagCompound((ItemStack)result);
ItemSlashBlade.KillCount.set(newTag, ItemSlashBlade.KillCount.get(oldTag));
ItemSlashBlade.ProudSoul.set(newTag, ItemSlashBlade.ProudSoul.get(oldTag));
ItemSlashBlade.RepairCount.set(newTag, ItemSlashBlade.RepairCount.get(oldTag));
if (oldTag.func_74764_b("adjustX")) {
newTag.func_74776_a("adjustX", oldTag.func_74760_g("adjustX"));
}
if (oldTag.func_74764_b("adjustY")) {
newTag.func_74776_a("adjustY", oldTag.func_74760_g("adjustY"));
}
if (oldTag.func_74764_b("adjustZ")) {
newTag.func_74776_a("adjustZ", oldTag.func_74760_g("adjustZ"));
}
Map newItemEnchants = EnchantmentHelper.func_82781_a((ItemStack)result);
Map oldItemEnchants = EnchantmentHelper.func_82781_a((ItemStack)curIs);
Iterator iterator = oldItemEnchants.keySet().iterator();
while (iterator.hasNext()) {
int enchantIndex = (Integer)iterator.next();
Enchantment enchantment = Enchantment.field_77331_b[enchantIndex];
int destLevel = newItemEnchants.containsKey(enchantIndex) ? (Integer)newItemEnchants.get(enchantIndex) : 0;
int srcLevel = (Integer)oldItemEnchants.get(enchantIndex);
srcLevel = Math.max(srcLevel, destLevel);
boolean canApplyFlag = enchantment.func_92089_a(result);
if (!canApplyFlag) continue;
Iterator iterator2 = newItemEnchants.keySet().iterator();
while (iterator2.hasNext()) {
int curEnchantIndex = (Integer)iterator2.next();
if (curEnchantIndex == enchantIndex || enchantment.func_77326_a(Enchantment.field_77331_b[curEnchantIndex])) continue;
canApplyFlag = false;
break;
}
if (!canApplyFlag) continue;
newItemEnchants.put(enchantIndex, srcLevel);
}
EnchantmentHelper.func_82782_a((Map)newItemEnchants, (ItemStack)result);
}
return result;
}
}
@@ -0,0 +1,97 @@
/*
* 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.world.World
*/
package NegoreRouse.mods.slashblade.SA;
import NegoreRouse.mods.slashblade.SA.entity.EntityNegoreSA;
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 SA_1
extends SpecialAttackBase {
public static String AttackType = StylishRankManager.AttackTypes.registerAttackType((String)"SA_1", (float)0.5f);
public String toString() {
return "sa_1";
}
public void doSpacialAttack(ItemStack stack, EntityPlayer player) {
World world = player.field_70170_p;
NBTTagCompound tag = ItemSlashBlade.getItemTagCompound((ItemStack)stack);
player.func_85030_a("random.explode", 1.0f, 1.5f);
for (int i = 0; i < 50; ++i) {
double d0 = player.func_70681_au().nextGaussian() * 0.02;
double d1 = player.func_70681_au().nextGaussian() * 0.02;
double d2 = player.func_70681_au().nextGaussian() * 0.02;
double d3 = 10.0;
player.field_70170_p.func_72869_a("happyVillager", player.field_70165_t + ((double)(player.func_70681_au().nextFloat() * player.field_70130_N * 2.0f - player.field_70130_N) - d0 * d3) * 2.0, player.field_70163_u, player.field_70161_v + ((double)(player.func_70681_au().nextFloat() * player.field_70130_N * 2.0f - player.field_70130_N) - d2 * d3) * 2.0, d0, d1, d2);
}
if (player.func_70027_ad()) {
player.func_85030_a("random.fizz", 0.7f, 1.6f + (player.func_70681_au().nextFloat() - player.func_70681_au().nextFloat()) * 0.4f);
player.func_70066_B();
}
if (!world.field_72995_K) {
int cost = -20;
if (!ItemSlashBlade.ProudSoul.tryAdd(tag, Integer.valueOf(cost), false)) {
stack.func_77972_a(10, (EntityLivingBase)player);
}
ItemSlashBlade blade = (ItemSlashBlade)stack.func_77973_b();
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 * 1.5f;
int rank = StylishRankManager.getStylishRank((Entity)player);
if (5 <= rank) {
magicDamage += ItemSlashBlade.AttackAmplifier.get(tag).floatValue() * (1.1f + (float)level / 3.0f);
}
if (7 <= rank) {
magicDamage *= 2.0f;
}
int maxCol = 3;
int maxCount = 3;
double radBaseRot = Math.toRadians(player.field_70177_z);
double radRot = Math.PI * 2 / (double)(maxCount += rank / 4 * 3);
for (int j = 0; j < maxCol; ++j) {
for (int i = 0; i < maxCount; ++i) {
EntityNegoreSA entityDrive;
if (world.field_72995_K || (entityDrive = new EntityNegoreSA(world, (EntityLivingBase)player, magicDamage, false, 0.0f)) == null) continue;
entityDrive.func_70012_b(player.field_70165_t, player.field_70163_u + (double)player.func_70047_e() / 2.0, player.field_70161_v, player.field_70177_z + (float)(15 * ((int)Math.floor(maxCount / 2) + 1 - i)), player.field_70125_A);
entityDrive.setColor(3329330);
entityDrive.setDriveVector(1.2f + (float)(j * 2 / 5));
entityDrive.setIsMultiHit(true);
entityDrive.setLifeTime(50);
entityDrive.setRoll(90.0f + ItemSlashBlade.ComboSequence.Iai.swingDirection);
entityDrive.setSpeedByTimeEvent(0.1f, 1.05f, 10 + j * 4 + i);
entityDrive.setParticle("happyVillager");
entityDrive.setSound("random.explode");
world.func_72838_d((Entity)entityDrive);
}
}
}
ItemSlashBlade.setComboSequence((NBTTagCompound)tag, (ItemSlashBlade.ComboSequence)ItemSlashBlade.ComboSequence.Battou);
}
}
@@ -0,0 +1,97 @@
/*
* 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.world.World
*/
package NegoreRouse.mods.slashblade.SA;
import NegoreRouse.mods.slashblade.SA.entity.EntityNegoreSA;
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 SA_2
extends SpecialAttackBase {
public static String AttackType = StylishRankManager.AttackTypes.registerAttackType((String)"SA_2", (float)0.5f);
public String toString() {
return "sa_2";
}
public void doSpacialAttack(ItemStack stack, EntityPlayer player) {
World world = player.field_70170_p;
NBTTagCompound tag = ItemSlashBlade.getItemTagCompound((ItemStack)stack);
player.func_85030_a("fire.fire", 1.0f, 1.5f);
for (int i = 0; i < 50; ++i) {
double d0 = player.func_70681_au().nextGaussian() * 0.02;
double d1 = player.func_70681_au().nextGaussian() * 0.02;
double d2 = player.func_70681_au().nextGaussian() * 0.02;
double d3 = 10.0;
player.field_70170_p.func_72869_a("flame", player.field_70165_t + ((double)(player.func_70681_au().nextFloat() * player.field_70130_N * 2.0f - player.field_70130_N) - d0 * d3) * 2.0, player.field_70163_u, player.field_70161_v + ((double)(player.func_70681_au().nextFloat() * player.field_70130_N * 2.0f - player.field_70130_N) - d2 * d3) * 2.0, d0, d1, d2);
}
if (player.func_70027_ad()) {
player.func_85030_a("random.fizz", 0.7f, 1.6f + (player.func_70681_au().nextFloat() - player.func_70681_au().nextFloat()) * 0.4f);
player.func_70066_B();
}
if (!world.field_72995_K) {
int cost = -20;
if (!ItemSlashBlade.ProudSoul.tryAdd(tag, Integer.valueOf(cost), false)) {
stack.func_77972_a(10, (EntityLivingBase)player);
}
ItemSlashBlade blade = (ItemSlashBlade)stack.func_77973_b();
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 * 1.5f;
int rank = StylishRankManager.getStylishRank((Entity)player);
if (5 <= rank) {
magicDamage += ItemSlashBlade.AttackAmplifier.get(tag).floatValue() * (2.2f + (float)level / 2.0f);
}
if (7 <= rank) {
magicDamage *= 2.0f;
}
int maxCol = 3;
int maxCount = 3;
double radBaseRot = Math.toRadians(player.field_70177_z);
double radRot = Math.PI * 2 / (double)(maxCount += rank / 4 * 3);
for (int j = 0; j < maxCol; ++j) {
for (int i = 0; i < maxCount; ++i) {
EntityNegoreSA entityDrive;
if (world.field_72995_K || (entityDrive = new EntityNegoreSA(world, (EntityLivingBase)player, magicDamage, false, 0.0f)) == null) continue;
entityDrive.func_70012_b(player.field_70165_t, player.field_70163_u + (double)player.func_70047_e() / 2.0, player.field_70161_v, player.field_70177_z + (float)(15 * ((int)Math.floor(maxCount / 2) + 1 - i)), player.field_70125_A);
entityDrive.setColor(255);
entityDrive.setDriveVector(1.2f + (float)(j * 2 / 5));
entityDrive.setIsMultiHit(true);
entityDrive.setLifeTime(50);
entityDrive.setRoll(0.0f);
entityDrive.setSpeedByTimeEvent(0.1f, 1.05f, 10 + j * 4 + i);
entityDrive.setParticle("flame");
entityDrive.setSound("fire.fire");
world.func_72838_d((Entity)entityDrive);
}
}
}
ItemSlashBlade.setComboSequence((NBTTagCompound)tag, (ItemSlashBlade.ComboSequence)ItemSlashBlade.ComboSequence.Battou);
}
}
@@ -0,0 +1,111 @@
/*
* 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.world.World
*/
package NegoreRouse.mods.slashblade.SA;
import NegoreRouse.mods.slashblade.SA.entity.EntityNegoreSA;
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 SA_3
extends SpecialAttackBase {
public static String AttackType = StylishRankManager.AttackTypes.registerAttackType((String)"SA_3", (float)0.5f);
public String toString() {
return "sa_3";
}
public void doSpacialAttack(ItemStack stack, EntityPlayer player) {
World world = player.field_70170_p;
NBTTagCompound tag = ItemSlashBlade.getItemTagCompound((ItemStack)stack);
player.func_85030_a("ambient.weather.thunder", 1.0f, 1.5f);
for (int i = 0; i < 50; ++i) {
double d0 = player.func_70681_au().nextGaussian() * 0.02;
double d1 = player.func_70681_au().nextGaussian() * 0.02;
double d2 = player.func_70681_au().nextGaussian() * 0.02;
double d3 = 10.0;
player.field_70170_p.func_72869_a("witchMagic", player.field_70165_t + ((double)(player.func_70681_au().nextFloat() * player.field_70130_N * 2.0f - player.field_70130_N) - d0 * d3) * 2.0, player.field_70163_u, player.field_70161_v + ((double)(player.func_70681_au().nextFloat() * player.field_70130_N * 2.0f - player.field_70130_N) - d2 * d3) * 2.0, d0, d1, d2);
}
if (player.func_70027_ad()) {
player.func_85030_a("random.fizz", 0.7f, 1.6f + (player.func_70681_au().nextFloat() - player.func_70681_au().nextFloat()) * 0.4f);
player.func_70066_B();
}
if (!world.field_72995_K) {
int cost = -20;
if (!ItemSlashBlade.ProudSoul.tryAdd(tag, Integer.valueOf(cost), false)) {
stack.func_77972_a(10, (EntityLivingBase)player);
}
ItemSlashBlade blade = (ItemSlashBlade)stack.func_77973_b();
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 * 1.5f;
int rank = StylishRankManager.getStylishRank((Entity)player);
if (5 <= rank) {
magicDamage += ItemSlashBlade.AttackAmplifier.get(tag).floatValue() * (3.3f + (float)level / 1.0f);
}
if (7 <= rank) {
magicDamage *= 2.0f;
}
int maxCol = 3;
int maxCount = 3;
double radBaseRot = Math.toRadians(player.field_70177_z);
double radRot = Math.PI * 2 / (double)(maxCount += rank / 4 * 3);
for (int j = 0; j < maxCol; ++j) {
for (int i = 0; i < maxCount; ++i) {
EntityNegoreSA entityDrive_vA;
if (world.field_72995_K) continue;
EntityNegoreSA entityDrive = new EntityNegoreSA(world, (EntityLivingBase)player, magicDamage, false, 0.0f);
if (entityDrive != null) {
entityDrive.func_70012_b(player.field_70165_t, player.field_70163_u + (double)player.func_70047_e() / 2.0, player.field_70161_v, player.field_70177_z + (float)(15 * ((int)Math.floor(maxCount / 2) + 1 - i)), player.field_70125_A);
entityDrive.setColor(0x7F00FF);
entityDrive.setDriveVector(1.2f + (float)(j * 2 / 5));
entityDrive.setIsMultiHit(true);
entityDrive.setLifeTime(50);
entityDrive.setRoll(0.0f);
entityDrive.setSpeedByTimeEvent(0.1f, 1.05f, 10 + j * 4 + i);
entityDrive.setParticle("witchMagic");
entityDrive.setSound("ambient.weather.thunder");
world.func_72838_d((Entity)entityDrive);
}
if ((entityDrive_vA = new EntityNegoreSA(world, (EntityLivingBase)player, magicDamage, false, 0.0f)) == null) continue;
entityDrive_vA.func_70012_b(player.field_70165_t, player.field_70163_u + (double)player.func_70047_e() / 2.0, player.field_70161_v, player.field_70177_z + (float)(15 * ((int)Math.floor(maxCount / 2) + 1 - i)), player.field_70125_A);
entityDrive_vA.setColor(0x7F00FF);
entityDrive_vA.setDriveVector(1.2f + (float)(j * 2 / 5));
entityDrive_vA.setIsMultiHit(true);
entityDrive_vA.setLifeTime(50);
entityDrive_vA.setRoll(90.0f + ItemSlashBlade.ComboSequence.Iai.swingDirection);
entityDrive_vA.setSpeedByTimeEvent(0.1f, 1.05f, 10 + j * 4 + i);
entityDrive_vA.setParticle("witchMagic");
entityDrive_vA.setSound("ambient.weather.thunder");
world.func_72838_d((Entity)entityDrive_vA);
}
}
}
ItemSlashBlade.setComboSequence((NBTTagCompound)tag, (ItemSlashBlade.ComboSequence)ItemSlashBlade.ComboSequence.Battou);
}
}
@@ -0,0 +1,107 @@
/*
* 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.world.World
*/
package NegoreRouse.mods.slashblade.SA;
import NegoreRouse.mods.slashblade.SA.entity.EntityDriveEx_Zx;
import NegoreRouse.mods.slashblade.SA.entity.EntityNegoreSA;
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 SA_4
extends SpecialAttackBase {
public static String AttackType = StylishRankManager.AttackTypes.registerAttackType((String)"SA_4", (float)0.5f);
public String toString() {
return "sa_4";
}
public void doSpacialAttack(ItemStack stack, EntityPlayer player) {
World world = player.field_70170_p;
NBTTagCompound tag = ItemSlashBlade.getItemTagCompound((ItemStack)stack);
player.func_85030_a("random.anvil_break", 1.0f, 1.5f);
for (int i = 0; i < 50; ++i) {
double d0 = player.func_70681_au().nextGaussian() * 0.02;
double d1 = player.func_70681_au().nextGaussian() * 0.02;
double d2 = player.func_70681_au().nextGaussian() * 0.02;
double d3 = 10.0;
player.field_70170_p.func_72869_a("largesmoke", player.field_70165_t + ((double)(player.func_70681_au().nextFloat() * player.field_70130_N * 2.0f - player.field_70130_N) - d0 * d3) * 2.0, player.field_70163_u, player.field_70161_v + ((double)(player.func_70681_au().nextFloat() * player.field_70130_N * 2.0f - player.field_70130_N) - d2 * d3) * 2.0, d0, d1, d2);
}
if (player.func_70027_ad()) {
player.func_85030_a("random.fizz", 0.7f, 1.6f + (player.func_70681_au().nextFloat() - player.func_70681_au().nextFloat()) * 0.4f);
player.func_70066_B();
}
if (!world.field_72995_K) {
int cost = -20;
if (!ItemSlashBlade.ProudSoul.tryAdd(tag, Integer.valueOf(cost), false)) {
stack.func_77972_a(10, (EntityLivingBase)player);
}
ItemSlashBlade blade = (ItemSlashBlade)stack.func_77973_b();
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 * 1.5f;
int rank = StylishRankManager.getStylishRank((Entity)player);
if (5 <= rank) {
magicDamage += ItemSlashBlade.AttackAmplifier.get(tag).floatValue() * (3.3f + (float)level / 1.0f);
}
if (7 <= rank) {
magicDamage *= 2.0f;
}
int maxCol = 3;
int maxCount = 3;
double radBaseRot = Math.toRadians(player.field_70177_z);
double radRot = Math.PI * 2 / (double)(maxCount += rank / 4 * 3);
for (int j = 0; j < maxCol; ++j) {
for (int i = 0; i < maxCount; ++i) {
EntityDriveEx_Zx entityDrive_vA;
if (world.field_72995_K) continue;
EntityNegoreSA entityDrive = new EntityNegoreSA(world, (EntityLivingBase)player, magicDamage, false, 0.0f);
if (entityDrive != null) {
entityDrive.func_70012_b(player.field_70165_t, player.field_70163_u + (double)player.func_70047_e() / 2.0, player.field_70161_v, player.field_70177_z + (float)(15 * ((int)Math.floor(maxCount / 2) + 1 - i)), player.field_70125_A);
entityDrive.setColor(6045747);
entityDrive.setDriveVector(1.2f + (float)(j * 2 / 5));
entityDrive.setIsMultiHit(false);
entityDrive.setLifeTime(50);
entityDrive.setRoll(45.0f);
entityDrive.setSpeedByTimeEvent(0.1f, 1.05f, 10 + j * 4 + i);
entityDrive.setParticle("largesmoke");
entityDrive.setSound("random.anvil_break");
world.func_72838_d((Entity)entityDrive);
}
if ((entityDrive_vA = new EntityDriveEx_Zx(world, (EntityLivingBase)player, cost, false, 0.0f)) == null) continue;
entityDrive_vA.setColor(6045747);
entityDrive_vA.setIsMultiHit(true);
entityDrive_vA.setLifeTime(100);
entityDrive_vA.setRoll(90.0f);
world.func_72838_d((Entity)entityDrive_vA);
}
}
}
ItemSlashBlade.setComboSequence((NBTTagCompound)tag, (ItemSlashBlade.ComboSequence)ItemSlashBlade.ComboSequence.Battou);
}
}
@@ -0,0 +1,134 @@
/*
* 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.world.World
*/
package NegoreRouse.mods.slashblade.SA;
import NegoreRouse.mods.slashblade.SA.entity.EntityDrive_Time;
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 SA_5
extends SpecialAttackBase {
public static String AttackType = StylishRankManager.AttackTypes.registerAttackType((String)"SA_5", (float)0.5f);
public String toString() {
return "sa_5";
}
public void doSpacialAttack(ItemStack stack, EntityPlayer player) {
World world = player.field_70170_p;
NBTTagCompound tag = ItemSlashBlade.getItemTagCompound((ItemStack)stack);
world.func_72956_a((Entity)player, "negorerouse:blade", 1.0f, 1.0f);
for (int i = 0; i < 50; ++i) {
double d0 = player.func_70681_au().nextGaussian() * 0.02;
double d1 = player.func_70681_au().nextGaussian() * 0.02;
double d2 = player.func_70681_au().nextGaussian() * 0.02;
double d3 = 10.0;
player.field_70170_p.func_72869_a("magicCrit", player.field_70165_t + ((double)(player.func_70681_au().nextFloat() * player.field_70130_N * 2.0f - player.field_70130_N) - d0 * d3) * 2.0, player.field_70163_u, player.field_70161_v + ((double)(player.func_70681_au().nextFloat() * player.field_70130_N * 2.0f - player.field_70130_N) - d2 * d3) * 2.0, d0, d1, d2);
}
if (player.func_70027_ad()) {
player.func_85030_a("random.fizz", 0.7f, 1.6f + (player.func_70681_au().nextFloat() - player.func_70681_au().nextFloat()) * 0.4f);
player.func_70066_B();
}
if (!world.field_72995_K) {
int cost = -20;
if (!ItemSlashBlade.ProudSoul.tryAdd(tag, Integer.valueOf(cost), false)) {
stack.func_77972_a(10, (EntityLivingBase)player);
}
ItemSlashBlade blade = (ItemSlashBlade)stack.func_77973_b();
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 * 2.5f;
int rank = StylishRankManager.getStylishRank((Entity)player);
if (5 <= rank) {
magicDamage += ItemSlashBlade.AttackAmplifier.get(tag).floatValue() * (3.3f + (float)level / 1.0f);
}
if (7 <= rank) {
magicDamage *= 2.0f;
}
int maxCount = 3;
maxCount += rank / 4 * 3;
if (!world.field_72995_K) {
int Time;
EntityDrive_Time entityDrive2;
EntityDrive_Time entityDrive = new EntityDrive_Time(world, (EntityLivingBase)player, magicDamage, true, 0.0f);
if (entityDrive != null) {
entityDrive.setScale(10.0f);
entityDrive.func_70012_b(player.field_70165_t, player.field_70163_u + (double)player.func_70047_e() / 2.0, player.field_70161_v, player.field_70177_z + (float)(15 * ((int)Math.floor(maxCount / 2) + 1)), player.field_70125_A);
entityDrive.setColor(7021454);
entityDrive.setInitialSpeed(2.05f);
entityDrive.setLifeTime(50);
world.func_72838_d((Entity)entityDrive);
}
if ((entityDrive2 = new EntityDrive_Time(world, (EntityLivingBase)player, magicDamage, true, 90.0f)) != null) {
entityDrive2.setScale(10.0f);
entityDrive2.func_70012_b(player.field_70165_t, player.field_70163_u + (double)player.func_70047_e() / 2.0 - 0.75, player.field_70161_v, player.field_70177_z + (float)(15 * ((int)Math.floor(maxCount / 2) + 1)), player.field_70125_A);
entityDrive2.setColor(0xFFFFFF);
entityDrive2.setInitialSpeed(2.05f);
entityDrive2.setLifeTime(50);
world.func_72838_d((Entity)entityDrive2);
}
if ((Time = SA_5.checkTime(world.func_72820_D())) == 1) {
world.func_72877_b(13001L);
} else if (Time == -1) {
world.func_72877_b(0L);
} else {
EntityDrive_Time entityDrive4;
EntityDrive_Time entityDrive3 = new EntityDrive_Time(world, (EntityLivingBase)player, magicDamage, true, 0.0f);
if (entityDrive3 != null) {
entityDrive3.setScale(10.0f);
entityDrive3.func_70012_b(player.field_70165_t, player.field_70163_u + (double)player.func_70047_e() / 2.0, player.field_70161_v, player.field_70177_z + (float)(15 * ((int)Math.floor(maxCount / 2) + 1)), player.field_70125_A);
entityDrive3.setColor(7021454);
entityDrive3.setInitialSpeed(2.05f);
entityDrive3.setLifeTime(50);
world.func_72838_d((Entity)entityDrive3);
}
if ((entityDrive4 = new EntityDrive_Time(world, (EntityLivingBase)player, magicDamage, true, 90.0f)) != null) {
entityDrive4.setScale(10.0f);
entityDrive4.func_70012_b(player.field_70165_t, player.field_70163_u + (double)player.func_70047_e() / 2.0 - 0.75, player.field_70161_v, player.field_70177_z + (float)(15 * ((int)Math.floor(maxCount / 2) + 1)), player.field_70125_A);
entityDrive4.setColor(0xFFFFFF);
entityDrive4.setInitialSpeed(2.05f);
entityDrive4.setLifeTime(50);
world.func_72838_d((Entity)entityDrive4);
}
}
}
}
ItemSlashBlade.setComboSequence((NBTTagCompound)tag, (ItemSlashBlade.ComboSequence)ItemSlashBlade.ComboSequence.Battou);
}
public static int checkTime(long time) {
if ((time %= 24000L) <= 13000L) {
return 1;
}
if (time >= 13001L) {
return -1;
}
return 0;
}
}
@@ -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 NegoreRouse.mods.slashblade.SA;
import NegoreRouse.mods.slashblade.SA.entity.Twelve.EntityPhantomSwordTwelve;
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 SA_8
extends SpecialAttackBase {
public static String AttackType = StylishRankManager.AttackTypes.registerAttackType((String)"SA_8", (float)0.5f);
public String toString() {
return "sa_8";
}
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) {
world.func_72956_a((Entity)player, "negorerouse:blade", 1.0f, 1.0f);
for (int i = 0; i < 50; ++i) {
double d0 = player.func_70681_au().nextGaussian() * 0.02;
double d1 = player.func_70681_au().nextGaussian() * 0.02;
double d2 = player.func_70681_au().nextGaussian() * 0.02;
double d3 = 10.0;
player.field_70170_p.func_72869_a("magicCrit", player.field_70165_t + ((double)(player.func_70681_au().nextFloat() * player.field_70130_N * 2.0f - player.field_70130_N) - d0 * d3) * 2.0, player.field_70163_u, player.field_70161_v + ((double)(player.func_70681_au().nextFloat() * player.field_70130_N * 2.0f - player.field_70130_N) - d2 * d3) * 2.0, d0, d1, d2);
}
if (!world.field_72995_K) {
int cost = -20;
if (!ItemSlashBlade.ProudSoul.tryAdd(tag, Integer.valueOf(cost), false)) {
stack.func_77972_a(10, (EntityLivingBase)player);
}
ItemSlashBlade blade = (ItemSlashBlade)stack.func_77973_b();
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 * 2.5f;
int rank = StylishRankManager.getStylishRank((Entity)player);
if (5 <= rank) {
magicDamage += ItemSlashBlade.AttackAmplifier.get(tag).floatValue() * (3.3f + (float)level / 1.0f);
}
if (7 <= rank) {
magicDamage *= 2.0f;
}
int maxCol = 12;
int maxCount = 3;
double radBaseRot = Math.toRadians(player.field_70177_z);
double radRot = Math.PI * 2 / (double)(maxCount += rank / 4 * 3);
for (int j = 0; j < maxCol; ++j) {
EntityPhantomSwordTwelve entityDrive;
if (world.field_72995_K || (entityDrive = new EntityPhantomSwordTwelve(world, (EntityLivingBase)player, magicDamage, 0.0f)) == null) continue;
entityDrive.setColor(7377883);
entityDrive.setDriveVector(1.2f + (float)(j * 2 / 5));
entityDrive.setLifeTime(30);
entityDrive.setRoll(0.0f);
entityDrive.setTargetEntityId(entityId);
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 (Object curEntityObj : list) {
Entity curEntity = (Entity)curEntityObj;
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,139 @@
/*
* 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 NegoreRouse.mods.slashblade.SA;
import NegoreRouse.mods.slashblade.Blade.EUBlade.ItemEUBlade;
import NegoreRouse.mods.slashblade.SA.entity.EntityMagneticStorm;
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 SA_9
extends SpecialAttackBase {
public static String AttackType = StylishRankManager.AttackTypes.registerAttackType((String)"SA_9", (float)0.5f);
public String toString() {
return "sa_9";
}
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 && stack.func_77973_b() instanceof ItemEUBlade) {
player.func_85030_a("random.anvil_break", 1.0f, 1.5f);
for (int i = 0; i < 50; ++i) {
double d0 = player.func_70681_au().nextGaussian() * 0.02;
double d1 = player.func_70681_au().nextGaussian() * 0.02;
double d2 = player.func_70681_au().nextGaussian() * 0.02;
double d3 = 10.0;
player.field_70170_p.func_72869_a("flame", player.field_70165_t + ((double)(player.func_70681_au().nextFloat() * player.field_70130_N * 2.0f - player.field_70130_N) - d0 * d3) * 2.0, player.field_70163_u, player.field_70161_v + ((double)(player.func_70681_au().nextFloat() * player.field_70130_N * 2.0f - player.field_70130_N) - d2 * d3) * 2.0, d0, d1, d2);
}
if (!world.field_72995_K) {
int cost = -20;
if (!ItemSlashBlade.ProudSoul.tryAdd(tag, Integer.valueOf(cost), false)) {
stack.func_77972_a(10, (EntityLivingBase)player);
}
ItemSlashBlade blade = (ItemSlashBlade)stack.func_77973_b();
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 * 2.5f;
int rank = StylishRankManager.getStylishRank((Entity)player);
if (5 <= rank) {
magicDamage += ItemSlashBlade.AttackAmplifier.get(tag).floatValue() * (3.3f + (float)level / 1.0f);
}
if (7 <= rank) {
magicDamage *= 2.0f;
}
int maxCol = 2;
int maxCount = 3;
double radBaseRot = Math.toRadians(player.field_70177_z);
double radRot = Math.PI * 2 / (double)(maxCount += rank / 4 * 3);
for (int j = 0; j < maxCol; ++j) {
for (int i = 0; i < maxCount; ++i) {
EntityMagneticStorm entityDrive2;
if (world.field_72995_K) continue;
EntityMagneticStorm entityDrive = new EntityMagneticStorm(world, (EntityLivingBase)player, magicDamage, 0.0f);
if (entityDrive != null) {
entityDrive.setColor(Short.MAX_VALUE);
entityDrive.setDriveVector(1.2f + (float)(j * 2 / 5));
entityDrive.setLifeTime(30);
entityDrive.setRoll(0.0f);
entityDrive.setTargetEntityId(entityId);
world.func_72838_d((Entity)entityDrive);
}
if ((entityDrive2 = new EntityMagneticStorm(world, (EntityLivingBase)player, magicDamage, 0.0f)) == null) continue;
entityDrive2.setColor(0xC0C0C0);
entityDrive2.setDriveVector(1.2f + (float)(j * 2 / 5));
entityDrive2.setLifeTime(30);
entityDrive2.setRoll(0.0f);
entityDrive2.setTargetEntityId(entityId);
world.func_72838_d((Entity)entityDrive2);
}
}
}
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 (Object curEntityObj : list) {
Entity curEntity = (Entity)curEntityObj;
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,55 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.eventhandler.SubscribeEvent
* net.minecraft.entity.Entity
* net.minecraft.entity.EntityLivingBase
* net.minecraft.entity.monster.EntityEnderman
* net.minecraft.nbt.NBTTagCompound
* net.minecraftforge.event.entity.living.EnderTeleportEvent
*/
package NegoreRouse.mods.slashblade.SA.ability;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import java.util.Collections;
import java.util.Map;
import java.util.WeakHashMap;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.monster.EntityEnderman;
import net.minecraftforge.event.entity.living.EnderTeleportEvent;
public class EnderTeleportCanceller {
public static final String CancelingTimesStr = "SB.NegoreRouse.WarpCancel";
private static final Map<Entity, Long> cancelUntil = Collections.synchronizedMap(new WeakHashMap<Entity, Long>());
public static void setTeleportCancel(Entity target, int ticks) {
if (!(target instanceof EntityEnderman)) {
return;
}
cancelUntil.put(target, target.field_70170_p.func_82737_E() + (long)ticks);
}
@SubscribeEvent
public void EnderTeleportEventHandler(EnderTeleportEvent event) {
EntityLivingBase target = event.entityLiving;
if (target == null) {
return;
}
Long timeoutValue = cancelUntil.get((Entity)target);
if (timeoutValue == null) {
return;
}
long timeout = timeoutValue;
long now = target.field_70170_p.func_82737_E();
if (timeout == 0L) {
return;
}
if (now < timeout && timeout - now < 12000L) {
event.setCanceled(true);
} else {
cancelUntil.remove((Entity)target);
}
}
}
@@ -0,0 +1,447 @@
/*
* 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 NegoreRouse.mods.slashblade.SA.entity;
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.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 EntityDriveEx
extends Entity
implements IThrowableEntity {
protected Entity thrower;
protected ItemStack blade = null;
protected List<Entity> alreadyHitEntity = new ArrayList<Entity>();
protected float AttackLevel = 0.0f;
public EntityDriveEx(World par1World) {
super(par1World);
}
public EntityDriveEx(World par1World, EntityLivingBase entityLiving, float AttackLevel, boolean multiHit, float roll) {
this(par1World, entityLiving, AttackLevel, multiHit);
this.setRoll(roll);
}
public EntityDriveEx(World par1World, EntityLivingBase entityLiving, float AttackLevel, boolean multiHit) {
this(par1World, entityLiving, AttackLevel);
this.setIsMultiHit(multiHit);
}
public EntityDriveEx(World par1World, EntityLivingBase entityLiving, float AttackLevel) {
this(par1World);
this.AttackLevel = AttackLevel;
this.field_70129_M = entityLiving.func_70047_e() / 2.0f;
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(2.0f, 1.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(6, (Object)20);
this.func_70096_w().func_75682_a(10, (Object)0x3333FF);
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(26, (Object)1);
}
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 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 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 void setSpeedByTimeEvent(float initSpeed, float nextSpeed, int changeTime) {
this.setInitSpeed(initSpeed);
this.setNextSpeed(nextSpeed);
this.setChangeTime(changeTime);
}
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_() {
int nPosZ;
int nPosY;
int nPosX;
Block nBlock;
if (this.thrower == 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;
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 (Object curEntityObj : list) {
Entity curEntity = (Entity)curEntityObj;
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.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 (Object curEntityObj : list) {
Entity curEntity = (Entity)curEntityObj;
this.onImpact(curEntity, magicDamage);
}
}
if ((nBlock = this.field_70170_p.func_147439_a(nPosX = MathHelper.func_76128_c((double)this.field_70165_t), nPosY = MathHelper.func_76128_c((double)this.field_70163_u), nPosZ = MathHelper.func_76128_c((double)this.field_70161_v))).func_149668_a(this.field_70170_p, nPosX, nPosY, nPosZ) != null) {
this.func_70106_y();
}
double m_x = this.field_70159_w;
double m_y = this.field_70181_x;
double m_z = this.field_70179_y;
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 onImpact(Entity target, float damage) {
if (target != null) {
if (target.field_70170_p.field_72995_K) {
return;
}
target.field_70172_ad = 0;
DamageSource ds = new EntityDamageSource("directMagic", this.getThrower()).func_76348_h().func_82726_p();
target.func_70097_a(ds, damage);
if (this.blade != null && target instanceof EntityLivingBase) {
((ItemSlashBlade)this.blade.func_77973_b()).func_77644_a(this.blade, (EntityLivingBase)target, (EntityLivingBase)this.thrower);
}
}
}
public void playParticle() {
String particle = this.getParticle();
if (particle != null && !particle.equals("")) {
Random rand = new Random();
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(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);
}
}
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,342 @@
/*
* 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.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 NegoreRouse.mods.slashblade.SA.entity;
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.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.MathHelper;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
public class EntityDriveEx_Zx
extends Entity
implements IThrowableEntity {
protected Entity thrower;
protected ItemStack blade = null;
protected List<Entity> alreadyHitEntity = new ArrayList<Entity>();
protected float AttackLevel = 0.0f;
public EntityDriveEx_Zx(World par1World) {
super(par1World);
}
public EntityDriveEx_Zx(World par1World, EntityLivingBase entityLiving, float AttackLevel, boolean multiHit, float roll) {
this(par1World, entityLiving, AttackLevel, multiHit);
this.setRoll(roll);
}
public EntityDriveEx_Zx(World par1World, EntityLivingBase entityLiving, float AttackLevel, boolean multiHit) {
this(par1World, entityLiving, AttackLevel);
this.setIsMultiHit(multiHit);
}
public EntityDriveEx_Zx(World par1World, EntityLivingBase entityLiving, float AttackLevel) {
this(par1World);
this.AttackLevel = AttackLevel;
this.field_70129_M = entityLiving.func_70047_e() / 2.0f;
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(1.0f, 2.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(6, (Object)20);
this.func_70096_w().func_75682_a(7, (Object)0);
this.func_70096_w().func_75682_a(10, (Object)0x3333FF);
}
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 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 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_() {
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 (Object curEntityObj : list) {
Entity curEntity = (Entity)curEntityObj;
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.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 (Object curEntityObj : list) {
Entity curEntity = (Entity)curEntityObj;
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);
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))).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;
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);
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;
}
}
@@ -0,0 +1,351 @@
/*
* 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.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 NegoreRouse.mods.slashblade.SA.entity;
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.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.MathHelper;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
public class EntityDrive_Time
extends Entity
implements IThrowableEntity {
protected Entity thrower;
protected ItemStack blade = null;
protected List<Entity> alreadyHitEntity = new ArrayList<Entity>();
protected float AttackLevel = 0.0f;
public EntityDrive_Time(World par1World) {
super(par1World);
}
public EntityDrive_Time(World par1World, EntityLivingBase entityLiving, float AttackLevel, boolean multiHit, float roll) {
this(par1World, entityLiving, AttackLevel, multiHit);
this.setRoll(roll);
}
public EntityDrive_Time(World par1World, EntityLivingBase entityLiving, float AttackLevel, boolean multiHit) {
this(par1World, entityLiving, AttackLevel);
this.setIsMultiHit(multiHit);
}
public EntityDrive_Time(World par1World, EntityLivingBase entityLiving, float AttackLevel) {
this(par1World);
this.AttackLevel = AttackLevel;
this.field_70129_M = entityLiving.func_70047_e() / 2.0f;
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(1.0f, 2.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(6, (Object)20);
this.func_70096_w().func_75682_a(7, (Object)0);
this.func_70096_w().func_75682_a(8, (Object)0x3333FF);
this.func_70096_w().func_75682_a(9, (Object)Float.valueOf(1.0f));
}
public float getScale() {
return this.func_70096_w().func_111145_d(9);
}
public void setScale(float Color) {
this.func_70096_w().func_75692_b(9, (Object)Float.valueOf(Color));
}
public int getColor() {
return this.func_70096_w().func_75679_c(8);
}
public void setColor(int Color) {
this.func_70096_w().func_75692_b(8, (Object)Color);
}
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)(isMultiHit ? (byte)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)(isSlashDimension ? (byte)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 * (float)Math.PI;
float fPitDtoR = this.field_70125_A / 180.0f * (float)Math.PI;
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_() {
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 = 15.0;
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 (Object curEntityObj : list) {
Entity curEntity = (Entity)curEntityObj;
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.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 (Object curEntityObj : list) {
Entity curEntity = (Entity)curEntityObj;
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);
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))).func_149668_a(this.field_70170_p, nPosX, nPosY, nPosZ) != null) {
this.func_70106_y();
}
}
this.field_70159_w *= (double)1.05f;
this.field_70181_x *= (double)1.05f;
this.field_70179_y *= (double)1.05f;
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);
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;
}
}
@@ -0,0 +1,448 @@
/*
* 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.util.Vec3
* net.minecraft.world.IBlockAccess
* net.minecraft.world.World
*/
package NegoreRouse.mods.slashblade.SA.entity;
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.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.util.Vec3;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
public class EntityMagneticStorm
extends Entity
implements IThrowableEntity {
protected Entity thrower;
protected ItemStack blade = null;
protected List<Entity> alreadyHitEntity = new ArrayList<Entity>();
protected float AttackLevel = 0.0f;
float speed = 0.0f;
float iniYaw = Float.NaN;
float iniPitch = Float.NaN;
double hitX;
double hitY;
double hitZ;
float hitYaw;
float hitPitch;
Entity ridingEntity2 = null;
public EntityMagneticStorm(World par1World) {
super(par1World);
}
public EntityMagneticStorm(World par1World, EntityLivingBase entityLiving, float AttackLevel, float roll) {
this(par1World, entityLiving, AttackLevel);
this.setRoll(roll);
}
public EntityMagneticStorm(World par1World, EntityLivingBase entityLiving, float AttackLevel) {
this(par1World);
this.AttackLevel = AttackLevel;
this.field_70129_M = entityLiving.func_70047_e() / 2.0f;
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(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(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)0x3333FF);
}
public int getColor() {
return this.func_70096_w().func_75679_c(7);
}
public void setColor(int Color) {
this.func_70096_w().func_75692_b(7, (Object)Color);
}
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 void doTargeting() {
Entity target;
int targetid = this.getTargetEntityId();
if (targetid != 0 && (target = this.field_70170_p.func_73045_a(targetid)) != null) {
if (Float.isNaN(this.iniPitch)) {
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);
}
}
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 * (float)Math.PI;
float fPitDtoR = this.iniPitch / 180.0f * (float)Math.PI;
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_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 >= this.getLifeTime()) {
if (!ridingEntity.field_70128_L) {
float magicDamage = Math.max(1.0f, this.AttackLevel / 2.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) {
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);
}
}
this.func_70106_y();
}
}
public void func_70071_h_() {
if (this.ridingEntity2 != null) {
this.func_70098_U();
} else {
Block nBlock;
Entity target;
this.field_70142_S = this.field_70165_t;
this.field_70137_T = this.field_70163_u;
this.field_70136_U = this.field_70161_v;
double dAmbit = 0.75;
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 (Object curEntityObj : list) {
Entity curEntity = (Entity)curEntityObj;
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);
this.func_70106_y();
return;
}
}
List list = this.field_70170_p.func_94576_a(this.getThrower(), bb, ItemSlashBlade.AttackableSelector);
list.removeAll(this.alreadyHitEntity);
if (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);
}
this.alreadyHitEntity.addAll(list);
Vec3 vec31 = Vec3.func_72443_a((double)this.field_70165_t, (double)this.field_70163_u, (double)this.field_70161_v);
Vec3 vec3 = 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));
double d0 = 10.0;
Entity hitEntity = null;
for (Object curEntityObj : list) {
Entity curEntity = (Entity)curEntityObj;
double d1;
if (!curEntity.func_70067_L() || !((d1 = (double)curEntity.func_70032_d((Entity)this)) < d0) && d0 != 0.0) continue;
hitEntity = curEntity;
d0 = d1;
}
if (hitEntity != null) {
float magicDamage = Math.max(1.0f, this.AttackLevel);
hitEntity.field_70172_ad = 0;
DamageSource ds = new EntityDamageSource("MagneticStorm", this.getThrower()).func_82726_p().func_76348_h().func_76359_i().func_151518_m();
hitEntity.func_70097_a(ds, magicDamage);
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.blade != null && hitEntity instanceof EntityLivingBase) {
StylishRankManager.setNextAttackType((Entity)this.thrower, (String)StylishRankManager.AttackTypes.PhantomSword);
((ItemSlashBlade)this.blade.func_77973_b()).func_77644_a(this.blade, (EntityLivingBase)hitEntity, (EntityLivingBase)this.thrower);
}
this.func_70078_a(hitEntity);
}
int nPosX = MathHelper.func_76128_c((double)this.field_70165_t);
int nPosY = MathHelper.func_76128_c((double)this.field_70163_u);
int nPosZ = MathHelper.func_76128_c((double)this.field_70161_v);
if (this.ridingEntity2 == null && (nBlock = this.field_70170_p.func_147439_a(nPosX, nPosY, nPosZ)).func_149668_a(this.field_70170_p, nPosX, nPosY, nPosZ) != null) {
this.func_70106_y();
return;
}
if (7 < this.field_70173_aa) {
this.field_70165_t += this.field_70159_w;
this.field_70163_u += this.field_70181_x;
this.field_70161_v += this.field_70179_y;
} else {
this.doTargeting();
}
this.func_70107_b(this.field_70165_t, this.field_70163_u, this.field_70161_v);
if (this.field_70173_aa >= this.getLifeTime()) {
this.func_70106_y();
}
}
}
public void func_70106_y() {
if (this.thrower instanceof EntityPlayer) {
((EntityPlayer)this.thrower).func_71009_b((Entity)this);
}
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) {
}
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) {
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 = Math.max(0, this.getLifeTime() - 20);
}
}
@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;
}
}
@@ -0,0 +1,81 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.relauncher.ReflectionHelper
* mods.flammpfeil.slashblade.ItemSlashBlade
* net.minecraft.entity.Entity
* net.minecraft.entity.EntityLivingBase
* net.minecraft.entity.monster.EntityEnderman
* net.minecraft.util.DamageSource
* net.minecraft.util.EntityDamageSource
* net.minecraft.world.World
*/
package NegoreRouse.mods.slashblade.SA.entity;
import NegoreRouse.mods.slashblade.SA.ability.EnderTeleportCanceller;
import NegoreRouse.mods.slashblade.SA.entity.EntityDriveEx;
import cpw.mods.fml.relauncher.ReflectionHelper;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.monster.EntityEnderman;
import net.minecraft.util.DamageSource;
import net.minecraft.util.EntityDamageSource;
import net.minecraft.world.World;
public class EntityNegoreSA
extends EntityDriveEx {
public EntityNegoreSA(World par1World) {
super(par1World);
}
public EntityNegoreSA(World par1World, EntityLivingBase entityLiving, float AttackLevel, boolean multiHit, float roll) {
super(par1World, entityLiving, AttackLevel, multiHit, roll);
this.setRoll(roll);
}
public EntityNegoreSA(World par1World, EntityLivingBase entityLiving, float AttackLevel, boolean multiHit) {
super(par1World, entityLiving, AttackLevel, multiHit);
}
public EntityNegoreSA(World par1World, EntityLivingBase entityLiving, float AttackLevel) {
super(par1World, entityLiving, AttackLevel);
}
@Override
public void onImpact(Entity curEntity, float damage) {
EnderTeleportCanceller.setTeleportCancel(curEntity, 100);
this.spawnParticle(curEntity);
if (!curEntity.field_70170_p.field_72995_K) {
curEntity.field_70172_ad = 0;
DamageSource ds = new EntityDamageSource("drown", this.getThrower()).func_76348_h().func_82726_p();
curEntity.func_70097_a(ds, damage);
}
if (curEntity.func_70027_ad()) {
curEntity.func_85030_a("random.fizz", 0.7f, 1.6f + (this.field_70146_Z.nextFloat() - this.field_70146_Z.nextFloat()) * 0.4f);
byte data = curEntity.func_70096_w().func_75683_a(0);
boolean flag = false;
int offset = 0;
if (flag) {
curEntity.func_70096_w().func_75692_b(0, (Object)((byte)(data | 1 << offset)));
} else {
curEntity.func_70096_w().func_75692_b(0, (Object)((byte)(data & ~(1 << offset))));
}
}
if (!curEntity.field_70170_p.field_72995_K && this.blade != null && curEntity instanceof EntityLivingBase) {
((ItemSlashBlade)this.blade.func_77973_b()).func_77644_a(this.blade, (EntityLivingBase)curEntity, (EntityLivingBase)this.thrower);
}
if (curEntity instanceof EntityEnderman) {
((EntityEnderman)curEntity).func_70784_b(null);
((EntityEnderman)curEntity).func_70819_e(false);
ReflectionHelper.setPrivateValue(EntityEnderman.class, (EntityEnderman)curEntity, false, "isAggressive", "field_104003_g");
}
}
private void spawnParticle(Entity target) {
target.field_70170_p.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);
target.field_70170_p.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);
target.field_70170_p.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);
}
}
@@ -0,0 +1,457 @@
/*
* 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.effect.EntityLightningBolt
* 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.Vec3
* net.minecraft.world.IBlockAccess
* net.minecraft.world.World
*/
package NegoreRouse.mods.slashblade.SA.entity.Twelve;
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.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.effect.EntityLightningBolt;
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.Vec3;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
public class EntityPhantomSwordTwelve
extends Entity
implements IThrowableEntity {
protected Entity thrower;
protected ItemStack blade = null;
protected List<Entity> alreadyHitEntity = new ArrayList<Entity>();
protected float AttackLevel = 0.0f;
float speed = 0.0f;
float iniYaw = Float.NaN;
float iniPitch = Float.NaN;
double hitX;
double hitY;
double hitZ;
float hitYaw;
float hitPitch;
Entity ridingEntity2 = null;
public EntityPhantomSwordTwelve(World par1World) {
super(par1World);
}
public EntityPhantomSwordTwelve(World par1World, EntityLivingBase entityLiving, float AttackLevel, float roll) {
this(par1World, entityLiving, AttackLevel);
this.setRoll(roll);
}
public EntityPhantomSwordTwelve(World par1World, EntityLivingBase entityLiving, float AttackLevel) {
this(par1World);
this.AttackLevel = AttackLevel;
this.field_70129_M = entityLiving.func_70047_e() / 2.0f;
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(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(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)0x3333FF);
}
public int getColor() {
return this.func_70096_w().func_75679_c(7);
}
public void setColor(int Color) {
this.func_70096_w().func_75692_b(7, (Object)Color);
}
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 void doTargeting() {
Entity target;
int targetid = this.getTargetEntityId();
if (targetid != 0 && (target = this.field_70170_p.func_73045_a(targetid)) != null) {
if (Float.isNaN(this.iniPitch)) {
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);
}
}
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 * (float)Math.PI;
float fPitDtoR = this.iniPitch / 180.0f * (float)Math.PI;
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_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 >= this.getLifeTime()) {
if (!ridingEntity.field_70128_L) {
float magicDamage = Math.max(1.0f, this.AttackLevel / 2.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) {
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);
}
}
this.func_70106_y();
}
}
public void func_70071_h_() {
if (this.ridingEntity2 != null) {
this.func_70098_U();
} else {
Block nBlock;
Entity target;
this.field_70142_S = this.field_70165_t;
this.field_70137_T = this.field_70163_u;
this.field_70136_U = this.field_70161_v;
double dAmbit = 0.75;
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 (Object curEntityObj : list) {
Entity curEntity = (Entity)curEntityObj;
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);
this.func_70106_y();
return;
}
}
List list = this.field_70170_p.func_94576_a(this.getThrower(), bb, ItemSlashBlade.AttackableSelector);
list.removeAll(this.alreadyHitEntity);
if (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);
}
this.alreadyHitEntity.addAll(list);
Vec3 vec31 = Vec3.func_72443_a((double)this.field_70165_t, (double)this.field_70163_u, (double)this.field_70161_v);
Vec3 vec3 = 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));
double d0 = 10.0;
Entity hitEntity = null;
for (Object curEntityObj : list) {
Entity curEntity = (Entity)curEntityObj;
double d1;
if (!curEntity.func_70067_L() || !((d1 = (double)curEntity.func_70032_d((Entity)this)) < d0) && d0 != 0.0) continue;
hitEntity = curEntity;
d0 = d1;
}
if (hitEntity != null) {
float magicDamage = Math.max(1.0f, this.AttackLevel);
hitEntity.field_70172_ad = 0;
DamageSource ds = new EntityDamageSource("directMagic", this.getThrower()).func_76348_h().func_82726_p();
hitEntity.func_70097_a(ds, magicDamage);
Random rand = new Random();
int min = 1;
int max = 10;
int Explosion2 = min + rand.nextInt() * (max - min);
if (Explosion2 <= 5) {
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);
}
this.field_70170_p.func_72838_d((Entity)new EntityLightningBolt(this.field_70170_p, hitEntity.field_70165_t, hitEntity.field_70163_u, hitEntity.field_70161_v));
if (this.blade != null && hitEntity instanceof EntityLivingBase) {
StylishRankManager.setNextAttackType((Entity)this.thrower, (String)StylishRankManager.AttackTypes.PhantomSword);
((ItemSlashBlade)this.blade.func_77973_b()).func_77644_a(this.blade, (EntityLivingBase)hitEntity, (EntityLivingBase)this.thrower);
}
this.func_70078_a(hitEntity);
}
int nPosX = MathHelper.func_76128_c((double)this.field_70165_t);
int nPosY = MathHelper.func_76128_c((double)this.field_70163_u);
int nPosZ = MathHelper.func_76128_c((double)this.field_70161_v);
if (this.ridingEntity2 == null && (nBlock = this.field_70170_p.func_147439_a(nPosX, nPosY, nPosZ)).func_149668_a(this.field_70170_p, nPosX, nPosY, nPosZ) != null) {
this.func_70106_y();
return;
}
if (7 < this.field_70173_aa) {
this.field_70165_t += this.field_70159_w;
this.field_70163_u += this.field_70181_x;
this.field_70161_v += this.field_70179_y;
} else {
this.doTargeting();
}
this.func_70107_b(this.field_70165_t, this.field_70163_u, this.field_70161_v);
if (this.field_70173_aa >= this.getLifeTime()) {
this.func_70106_y();
}
}
}
public void func_70106_y() {
if (this.thrower instanceof EntityPlayer) {
((EntityPlayer)this.thrower).func_71009_b((Entity)this);
}
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) {
}
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) {
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 = Math.max(0, this.getLifeTime() - 20);
}
}
@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;
}
}
@@ -0,0 +1,92 @@
/*
* 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 NegoreRouse.mods.slashblade.SA.entity.Twelve;
import NegoreRouse.mods.slashblade.SA.entity.Twelve.EntityPhantomSwordTwelve;
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 RenderPhantomSwordTwelve
extends Render {
private static double[][] dVec = new double[][]{{0.0, 0.0, 417.7431}, {0.0, -44.6113, -30.0}, {38.9907, 0.0, -20.0}, {0.0, 44.6113, -30.0}, {-38.9907, 0.0, -20.0}, {30.9907, 0.0, -50.0}, {-30.9907, 0.0, -50.0}, {0.0, 0.0, -214.0305}, {159.1439, 0.0, -30.0}, {-159.1439, 0.0, -30.0}};
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 EntityPhantomSwordTwelve) {
this.doDriveRender((EntityPhantomSwordTwelve)entity, d0, d1, d2, f, f1);
}
}
protected ResourceLocation func_110775_a(Entity var1) {
return null;
}
private void doDriveRender(EntityPhantomSwordTwelve 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);
int color = entityPhantomSword.getColor();
boolean inverse = color < 0;
color = Math.abs(color);
if (!inverse) {
GL11.glBlendFunc((int)770, (int)1);
} else {
GL11.glBlendFunc((int)775, (int)0);
}
GL11.glPushMatrix();
GL11.glTranslatef((float)((float)dX), (float)((float)dY), (float)((float)dZ));
GL11.glRotatef((float)this.lerpDegrees(entityPhantomSword.field_70126_B, entityPhantomSword.field_70177_z, f1), (float)0.0f, (float)1.0f, (float)0.0f);
GL11.glRotatef((float)(-this.lerpDegrees(entityPhantomSword.field_70127_C, entityPhantomSword.field_70125_A, f1)), (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_78384_a(color, 255);
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);
}
float lerp(float start, float end, float percent) {
return start + percent * (end - start);
}
float lerpDegrees(float start, float end, float percent) {
float diff;
for (diff = end - start; diff < -180.0f; diff += 360.0f) {
}
while (diff >= 180.0f) {
diff -= 360.0f;
}
return start + percent * diff;
}
}
@@ -0,0 +1,70 @@
/*
* 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 NegoreRouse.mods.slashblade.SA.render;
import NegoreRouse.mods.slashblade.SA.entity.EntityDriveEx;
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 RenderDriveEx
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 EntityDriveEx) {
this.doDriveRender((EntityDriveEx)entity, d0, d1, d2, f, f1);
}
}
protected ResourceLocation func_110775_a(Entity var1) {
return null;
}
private void doDriveRender(EntityDriveEx 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);
GL11.glScalef((float)0.25f, (float)1.0f, (float)1.0f);
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,70 @@
/*
* 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 NegoreRouse.mods.slashblade.SA.render;
import NegoreRouse.mods.slashblade.SA.entity.EntityDriveEx_Zx;
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 RenderDriveEx_Zx
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 EntityDriveEx_Zx) {
this.doDriveRender((EntityDriveEx_Zx)entity, d0, d1, d2, f, f1);
}
}
protected ResourceLocation func_110775_a(Entity var1) {
return null;
}
private void doDriveRender(EntityDriveEx_Zx 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);
GL11.glScalef((float)0.5f, (float)2.0f, (float)2.0f);
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,70 @@
/*
* 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 NegoreRouse.mods.slashblade.SA.render;
import NegoreRouse.mods.slashblade.SA.entity.EntityDrive_Time;
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 RenderDrive_Time
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 EntityDrive_Time) {
this.doDriveRender((EntityDrive_Time)entity, d0, d1, d2, f, f1);
}
}
protected ResourceLocation func_110775_a(Entity var1) {
return null;
}
private void doDriveRender(EntityDrive_Time 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);
GL11.glScalef((float)(0.25f * entityDrive.getScale()), (float)(1.0f * entityDrive.getScale()), (float)(1.0f * entityDrive.getScale()));
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,92 @@
/*
* 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 NegoreRouse.mods.slashblade.SA.render;
import NegoreRouse.mods.slashblade.SA.entity.EntityMagneticStorm;
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 RenderMagneticStorm
extends Render {
private static double[][] dVec = new double[][]{{0.0, 0.0, 417.7431}, {0.0, -44.6113, -30.0}, {38.9907, 0.0, -20.0}, {0.0, 44.6113, -30.0}, {-38.9907, 0.0, -20.0}, {30.9907, 0.0, -50.0}, {-30.9907, 0.0, -50.0}, {0.0, 0.0, -214.0305}, {159.1439, 0.0, -30.0}, {-159.1439, 0.0, -30.0}};
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 EntityMagneticStorm) {
this.doDriveRender((EntityMagneticStorm)entity, d0, d1, d2, f, f1);
}
}
protected ResourceLocation func_110775_a(Entity var1) {
return null;
}
private void doDriveRender(EntityMagneticStorm 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);
int color = entityPhantomSword.getColor();
boolean inverse = color < 0;
color = Math.abs(color);
if (!inverse) {
GL11.glBlendFunc((int)770, (int)1);
} else {
GL11.glBlendFunc((int)775, (int)0);
}
GL11.glPushMatrix();
GL11.glTranslatef((float)((float)dX), (float)((float)dY), (float)((float)dZ));
GL11.glRotatef((float)this.lerpDegrees(entityPhantomSword.field_70126_B, entityPhantomSword.field_70177_z, f1), (float)0.0f, (float)1.0f, (float)0.0f);
GL11.glRotatef((float)(-this.lerpDegrees(entityPhantomSword.field_70127_C, entityPhantomSword.field_70125_A, f1)), (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_78384_a(color, 255);
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);
}
float lerp(float start, float end, float percent) {
return start + percent * (end - start);
}
float lerpDegrees(float start, float end, float percent) {
float diff;
for (diff = end - start; diff < -180.0f; diff += 360.0f) {
}
while (diff >= 180.0f) {
diff -= 360.0f;
}
return start + percent * diff;
}
}
@@ -0,0 +1,126 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.eventhandler.SubscribeEvent
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBlade$ComboSequence
* mods.flammpfeil.slashblade.specialeffect.ISpecialEffect
* mods.flammpfeil.slashblade.specialeffect.SpecialEffects
* mods.flammpfeil.slashblade.util.SlashBladeEvent$OnUpdateEvent
* mods.flammpfeil.slashblade.util.SlashBladeHooks
* net.minecraft.entity.Entity
* 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 NegoreRouse.mods.slashblade.specialeffect;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.specialeffect.ISpecialEffect;
import mods.flammpfeil.slashblade.specialeffect.SpecialEffects;
import mods.flammpfeil.slashblade.util.SlashBladeEvent;
import mods.flammpfeil.slashblade.util.SlashBladeHooks;
import net.minecraft.entity.Entity;
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 AbsolutePower
implements ISpecialEffect {
static final String EffectKey = "AbsolutePower";
protected int PowerLevel = 50;
public void setBurstLevel(int level) {
this.PowerLevel = level;
}
private boolean useBlade(ItemSlashBlade.ComboSequence sequence) {
if (sequence.useScabbard) {
return false;
}
if (sequence == ItemSlashBlade.ComboSequence.None) {
return false;
}
return sequence != ItemSlashBlade.ComboSequence.Noutou;
}
@SubscribeEvent
public void onUpdateItemSlashBlade(SlashBladeEvent.OnUpdateEvent event) {
if (!SpecialEffects.isPlayer((Entity)event.entity)) {
return;
}
EntityPlayer player = (EntityPlayer)event.entity;
ItemStack blade = event.blade;
NBTTagCompound tag = ItemSlashBlade.getItemTagCompound((ItemStack)blade);
if (ItemSlashBlade.IsBroken.get(tag).booleanValue()) {
return;
}
switch (SpecialEffects.isEffective((EntityPlayer)player, (ItemStack)event.blade, (ISpecialEffect)this).ordinal()) {
case 0: {
return;
}
case 1: {
return;
}
case 2: {
double d0 = player.func_70681_au().nextGaussian() * 0.02;
double d1 = player.func_70681_au().nextGaussian() * 0.02;
double d2 = player.func_70681_au().nextGaussian() * 0.02;
double d3 = 10.0;
player.field_70170_p.func_72869_a("crit", player.field_70165_t + ((double)(player.func_70681_au().nextFloat() * player.field_70130_N * 2.0f - player.field_70130_N) - d0 * d3) * 2.0, player.field_70163_u, player.field_70161_v + ((double)(player.func_70681_au().nextFloat() * player.field_70130_N * 2.0f - player.field_70130_N) - d2 * d3) * 2.0, d0, d1, d2);
}
}
ItemSlashBlade.ComboSequence seq = ItemSlashBlade.getComboSequence((NBTTagCompound)tag);
if (!this.useBlade(seq)) {
return;
}
PotionEffect haste = player.func_70660_b(Potion.field_76422_e);
int check = haste != null ? (haste.func_76458_c() != 1 ? 3 : 4) : 2;
if (player.field_110158_av != check) {
return;
}
this.doAddAttack(event.blade, player, seq);
}
public void doAddAttack(ItemStack stack, EntityPlayer player, ItemSlashBlade.ComboSequence setCombo) {
NBTTagCompound tag = ItemSlashBlade.getItemTagCompound((ItemStack)stack);
World world = player.field_70170_p;
for (int i = 0; i < 50; ++i) {
double d0 = player.func_70681_au().nextGaussian() * 0.02;
double d1 = player.func_70681_au().nextGaussian() * 0.02;
double d2 = player.func_70681_au().nextGaussian() * 0.02;
double d3 = 10.0;
player.field_70170_p.func_72869_a("witchMagic", player.field_70165_t + ((double)(player.func_70681_au().nextFloat() * player.field_70130_N * 2.0f - player.field_70130_N) - d0 * d3) * 2.0, player.field_70163_u, player.field_70161_v + ((double)(player.func_70681_au().nextFloat() * player.field_70130_N * 2.0f - player.field_70130_N) - d2 * d3) * 2.0, d0, d1, d2);
}
if (!world.field_72995_K) {
// empty if block
}
double d0 = player.func_70681_au().nextGaussian() * 0.02;
double d1 = player.func_70681_au().nextGaussian() * 0.02;
double d2 = player.func_70681_au().nextGaussian() * 0.02;
double d3 = 10.0;
player.field_70170_p.func_72869_a("crit", player.field_70165_t + ((double)(player.func_70681_au().nextFloat() * player.field_70130_N * 2.0f - player.field_70130_N) - d0 * d3) * 2.0, player.field_70163_u, player.field_70161_v + ((double)(player.func_70681_au().nextFloat() * player.field_70130_N * 2.0f - player.field_70130_N) - d2 * d3) * 2.0, d0, d1, d2);
player.func_70690_d(new PotionEffect(1, 60, 1));
player.func_70690_d(new PotionEffect(16, 60, 1));
}
public void register() {
SlashBladeHooks.EventBus.register((Object)this);
}
public int getDefaultRequiredLevel() {
return this.PowerLevel;
}
public String getEffectKey() {
return EffectKey;
}
}
Loaded 100 of 114 files, more files were not shown because too many files have changed in this diff. Show more