初始化 NegoreRouse 反编译源码
No files matched your search
@@ -0,0 +1,3 @@
|
||||
build/
|
||||
*.class
|
||||
.DS_Store
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -0,0 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
cd "$(dirname "$0")"
|
||||
exec ./scripts/build.sh "$@"
|
||||
@@ -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=空·「织罗空间的维度平行线」
|
||||
|
After Width: | Height: | Size: 1.9 MiB |
|
After Width: | Height: | Size: 2.3 MiB |
|
After Width: | Height: | Size: 8.9 MiB |
|
After Width: | Height: | Size: 3.2 MiB |
|
After Width: | Height: | Size: 3.3 MiB |
|
After Width: | Height: | Size: 3.0 MiB |
|
After Width: | Height: | Size: 2.2 MiB |
|
After Width: | Height: | Size: 3.2 MiB |
|
After Width: | Height: | Size: 3.2 MiB |
|
After Width: | Height: | Size: 1.3 MiB |
|
After Width: | Height: | Size: 6.6 KiB |
|
After Width: | Height: | Size: 5.2 KiB |
|
After Width: | Height: | Size: 6.0 KiB |
|
After Width: | Height: | Size: 5.2 KiB |
|
After Width: | Height: | Size: 6.6 KiB |
|
After Width: | Height: | Size: 6.6 KiB |
|
After Width: | Height: | Size: 7.1 KiB |
|
After Width: | Height: | Size: 6.6 KiB |
|
After Width: | Height: | Size: 6.6 KiB |
@@ -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": []
|
||||
}
|
||||
]
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||