初始化反编译源码

This commit is contained in:
layue13 committed 2026-06-30 04:06:59 +08:00
commit 2d1299efa1
17 files changed
+7497

No files matched your search

+1
View File
@@ -0,0 +1 @@
5fu/mods/[BD]MistRaven_Mist _Raven-The_Deathly_Hallow-0.0.0.jar
+13
View File
@@ -0,0 +1,13 @@
# mistraven-decompiled
Fallback decompile of `5fu/mods/[BD]MistRaven_Mist _Raven-The_Deathly_Hallow-0.0.0.jar`.
- Detected modid(s): `mistraven`
- Original jar: `original/[BD]MistRaven_Mist _Raven-The_Deathly_Hallow-0.0.0.jar`
- Decompiled Java: `src/main/java`
- Extracted resources: `src/main/resources`
Build entries:
- `./build.sh` reliably recreates `build/libs/[BD]MistRaven_Mist _Raven-The_Deathly_Hallow-0.0.0.jar` from the preserved original jar.
- `./compile-decompiled.sh` attempts to compile the CFR output with Java 8 using jars from `../5fu/mods` and `../_downloaded-deps` as classpath. CFR output for old obfuscated/private mods may require manual cleanup before this succeeds.
Executable
+10
View File
@@ -0,0 +1,10 @@
#!/usr/bin/env bash
set -euo pipefail
cd "$(dirname "$0")"
if [[ ! -x ./compile-decompiled.sh ]]; then
echo "Missing full-source build entry: ./compile-decompiled.sh" >&2
exit 2
fi
exec ./compile-decompiled.sh "$@"
+43
View File
@@ -0,0 +1,43 @@
#!/usr/bin/env bash
set -euo pipefail
cd "$(dirname "$0")"
mkdir -p build/classes build/logs build/libs
ROOT="$(pwd)"
TDLM_ROOT="$(cd "$ROOT/../.." && pwd)"
CP="${CP:-}"
if [ -z "$CP" ]; then
CP_ENTRIES=()
for jar in \
"$TDLM_ROOT/modsource/IndustrialCraft2/build/rfg/srg_patched_minecraft-classes.jar" \
"$TDLM_ROOT/Uranium/eclipse/cauldron/build/libs/cauldron.jar" \
"$TDLM_ROOT/Uranium/build/tmp/deobfuscateJar/deobfed.jar" \
"$TDLM_ROOT/modsource/CodeChickenCore/build/rfg/srg_merged_minecraft.jar"; do
[ -f "$jar" ] && CP_ENTRIES+=("$jar")
done
for dir in "$TDLM_ROOT/Uranium/build/bundle/libraries" "$TDLM_ROOT/Uranium-server-run/mods" "$TDLM_ROOT/client/mods" "$TDLM_ROOT/_downloaded-deps" "$TDLM_ROOT/modsource/ImmersiveEngineering/externalLibs" "$TDLM_ROOT/modsource/CodeChickenCore/run/client/mods" "$TDLM_ROOT/modsource/CodeChickenCore/run/mods" "$TDLM_ROOT/modsource/Mekanism-Community-Edition/libs" "$TDLM_ROOT/modsource/ExtraBotany/libs"; do
if [ -d "$dir" ]; then
while IFS= read -r jar; do
case "$jar" in
*-deobf.jar) continue ;;
esac
CP_ENTRIES+=("$jar")
done < <(find "$dir" -name '*.jar' -type f | sort)
fi
done
if [ ${#CP_ENTRIES[@]} -eq 0 ]; then
echo "no dependency jars found for decompiled build" >&2
exit 1
fi
CP="$(IFS=:; echo "${CP_ENTRIES[*]}")"
fi
find src/main/java -name '*.java' > build/sources.list
if [ ! -s build/sources.list ]; then
echo "no decompiled java sources found" >&2
exit 1
fi
javac -source 8 -target 8 -encoding UTF-8 -cp "$CP" -d build/classes @build/sources.list 2>&1 | tee build/logs/javac.log
if [ -d src/main/resources ]; then
( cd src/main/resources && tar cf - . ) | ( cd build/classes && tar xf - )
fi
jar cf "build/libs/[BD]MistRaven_Mist _Raven-The_Deathly_Hallow-0.0.0.jar" -C build/classes .
echo "compiled build/libs/[BD]MistRaven_Mist _Raven-The_Deathly_Hallow-0.0.0.jar"
View File
Whitespace-only changes.
@@ -0,0 +1,120 @@
/*
* 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 mods.flammpfeil.slashblade.mistraven;
import java.awt.Color;
import java.util.List;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ability.StylishRankManager;
import mods.flammpfeil.slashblade.mistraven.EntityAvada;
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 AvadaKedavra
extends SpecialAttackBase {
public String toString() {
return "avadakedavra";
}
public void doSpacialAttack(ItemStack stack, EntityPlayer player) {
World world = player.field_70170_p;
NBTTagCompound tag = ItemSlashBlade.getItemTagCompound((ItemStack)stack);
if (!world.field_72995_K) {
Entity tmp;
ItemSlashBlade blade = (ItemSlashBlade)stack.func_77973_b();
Entity target = null;
int entityId = ItemSlashBlade.TargetEntityId.get(tag);
if (entityId != 0 && (tmp = world.func_73045_a(entityId)) != null && tmp.func_70032_d((Entity)player) < 30.0f) {
target = tmp;
}
if (target == null) {
target = this.getEntityToWatch(player);
}
if (target != null) {
ItemSlashBlade.setComboSequence((NBTTagCompound)tag, (ItemSlashBlade.ComboSequence)ItemSlashBlade.ComboSequence.SlashDim);
int cost = -40;
if (!ItemSlashBlade.ProudSoul.tryAdd(tag, Integer.valueOf(-40), false)) {
ItemSlashBlade.damageItem((ItemStack)stack, (int)10, (EntityLivingBase)player);
}
StylishRankManager.setNextAttackType((Entity)player, (String)StylishRankManager.AttackTypes.PhantomSword);
blade.attackTargetEntity(stack, target, player, Boolean.valueOf(true));
player.func_71009_b(target);
target.field_70159_w = 0.0;
target.field_70181_x = 0.0;
target.field_70179_y = 0.0;
if (target instanceof EntityLivingBase) {
blade.setDaunting((EntityLivingBase)target);
((EntityLivingBase)target).field_70737_aN = 0;
((EntityLivingBase)target).field_70172_ad = 0;
}
int level = EnchantmentHelper.func_77506_a((int)Enchantment.field_77345_t.field_77352_x, (ItemStack)stack);
float magicDamage = 1.0f + ItemSlashBlade.AttackAmplifier.get(tag).floatValue() * ((float)level / 5.0f);
int count = 1 + StylishRankManager.getStylishRank((Entity)player);
for (int i = 0; i < count; ++i) {
if (world.field_72995_K) continue;
boolean isBurst = i % 2 == 0;
EntityAvada entityDrive = new EntityAvada(world, (EntityLivingBase)player, magicDamage, 90.0f);
if (entityDrive == null) continue;
entityDrive.setInterval(7 + i * 2);
entityDrive.setLifeTime(30);
int color = Color.WHITE.getRGB();
entityDrive.setColor(color);
entityDrive.setBurst(isBurst);
entityDrive.setTargetEntityId(target.func_145782_y());
world.func_72838_d((Entity)entityDrive);
}
}
}
ItemSlashBlade.setComboSequence((NBTTagCompound)tag, (ItemSlashBlade.ComboSequence)ItemSlashBlade.ComboSequence.Kiriorosi);
}
private Entity getEntityToWatch(EntityPlayer player) {
World world = player.field_70170_p;
Entity target = null;
for (int dist = 2; dist < 20; dist += 2) {
AxisAlignedBB bb = player.field_70121_D.func_72329_c();
Vec3 vec = player.func_70040_Z();
vec = vec.func_72432_b();
bb = bb.func_72314_b(2.0, 0.25, 2.0);
bb = bb.func_72317_d(vec.field_72450_a * (double)dist, vec.field_72448_b * (double)dist, vec.field_72449_c * (double)dist);
List list = world.func_94576_a((Entity)player, bb, ItemSlashBlade.AttackableSelector);
float distance = 30.0f;
for (Entity curEntity : (java.util.List<Entity>)(java.util.List<?>)list) {
float curDist = curEntity.func_70032_d((Entity)player);
if (!(curDist < distance)) continue;
target = curEntity;
distance = curDist;
}
if (target != null) break;
}
return target;
}
}
@@ -0,0 +1,41 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.client.registry.RenderingRegistry
* cpw.mods.fml.common.event.FMLInitializationEvent
* cpw.mods.fml.common.event.FMLPostInitializationEvent
* cpw.mods.fml.common.event.FMLPreInitializationEvent
* mods.flammpfeil.slashblade.client.renderer.RenderPhantomSwordBase
* net.minecraft.client.renderer.entity.Render
*/
package mods.flammpfeil.slashblade.mistraven;
import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import mods.flammpfeil.slashblade.client.renderer.RenderPhantomSwordBase;
import mods.flammpfeil.slashblade.mistraven.CommonProxy;
import mods.flammpfeil.slashblade.mistraven.EntityAvada;
import net.minecraft.client.renderer.entity.Render;
public class ClientProxy
extends CommonProxy {
@Override
public void preInit(FMLPreInitializationEvent event) {
super.preInit(event);
}
@Override
public void init(FMLInitializationEvent event) {
super.init(event);
RenderingRegistry.registerEntityRenderingHandler(EntityAvada.class, (Render)new RenderPhantomSwordBase());
}
@Override
public void postInit(FMLPostInitializationEvent event) {
super.postInit(event);
}
}
@@ -0,0 +1,86 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.event.FMLInitializationEvent
* cpw.mods.fml.common.event.FMLPostInitializationEvent
* cpw.mods.fml.common.event.FMLPreInitializationEvent
* cpw.mods.fml.common.eventhandler.SubscribeEvent
* cpw.mods.fml.common.registry.EntityRegistry
* cpw.mods.fml.common.registry.GameRegistry
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ItemSlashBladeNamed
* mods.flammpfeil.slashblade.RecipeAwakeBlade
* mods.flammpfeil.slashblade.SlashBlade
* mods.flammpfeil.slashblade.named.event.LoadEvent$InitEvent
* net.minecraft.enchantment.Enchantment
* net.minecraft.init.Blocks
* net.minecraft.item.Item
* net.minecraft.item.Item$ToolMaterial
* net.minecraft.item.ItemStack
* net.minecraft.item.crafting.IRecipe
* net.minecraft.nbt.NBTTagCompound
*/
package mods.flammpfeil.slashblade.mistraven;
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.EntityRegistry;
import cpw.mods.fml.common.registry.GameRegistry;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ItemSlashBladeNamed;
import mods.flammpfeil.slashblade.RecipeAwakeBlade;
import mods.flammpfeil.slashblade.SlashBlade;
import mods.flammpfeil.slashblade.mistraven.AvadaKedavra;
import mods.flammpfeil.slashblade.mistraven.EntityAvada;
import mods.flammpfeil.slashblade.mistraven.mistraven;
import mods.flammpfeil.slashblade.named.event.LoadEvent;
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;
public class CommonProxy {
public void preInit(FMLPreInitializationEvent event) {
SlashBlade.InitEventBus.register((Object)this);
}
public void init(FMLInitializationEvent event) {
EntityRegistry.registerModEntity(EntityAvada.class, (String)"SAAvada", (int)23, (Object)mistraven.instance, (int)250, (int)200, (boolean)true);
}
public void postInit(FMLPostInitializationEvent event) {
}
@SubscribeEvent
public void init(LoadEvent.InitEvent event) {
String name = "flammpfeil.slashblade.named.mistraven";
ItemStack customblade = new ItemStack((Item)SlashBlade.bladeNamed, 1, 0);
NBTTagCompound tag = new NBTTagCompound();
customblade.func_77982_d(tag);
ItemSlashBlade.specialAttacks.put(42, new AvadaKedavra());
ItemSlashBladeNamed.CurrentItemName.set(tag, name);
ItemSlashBladeNamed.CustomMaxDamage.set(tag, Integer.valueOf(42));
ItemSlashBlade.setBaseAttackModifier((NBTTagCompound)tag, (float)(7.0f + Item.ToolMaterial.EMERALD.func_78000_c()));
ItemSlashBladeNamed.IsDefaultBewitched.set(tag, Boolean.valueOf(true));
ItemSlashBlade.SpecialAttackType.set(tag, Integer.valueOf(42));
ItemSlashBlade.TextureName.set(tag, "named/mistraven/texture");
ItemSlashBlade.ModelName.set(tag, "named/mistraven/model");
GameRegistry.registerCustomItemStack((String)name, (ItemStack)customblade);
ItemSlashBladeNamed.NamedBlades.add(name);
customblade.func_77966_a(Enchantment.field_77338_j, 10);
customblade.func_77966_a(Enchantment.field_77347_r, 10);
ItemStack blade = SlashBlade.getCustomBlade((String)name);
ItemStack required = SlashBlade.getCustomBlade((String)"slashbladeWood");
NBTTagCompound regtag = ItemSlashBlade.getItemTagCompound((ItemStack)required);
ItemSlashBlade.KillCount.set(regtag, Integer.valueOf(60));
required.func_77966_a(Enchantment.field_77338_j, 1);
RecipeAwakeBlade recipe = new RecipeAwakeBlade(blade, required, new Object[]{"QGO", "GBG", " GQ", Character.valueOf('G'), "ingotGold", Character.valueOf('O'), new ItemStack(Blocks.field_150343_Z), Character.valueOf('Q'), new ItemStack(Blocks.field_150368_y), Character.valueOf('B'), required});
SlashBlade.addRecipe((String)name, (IRecipe)recipe);
}
}
@@ -0,0 +1,86 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* mods.flammpfeil.slashblade.ItemSlashBlade
* mods.flammpfeil.slashblade.ability.StylishRankManager
* mods.flammpfeil.slashblade.ability.StylishRankManager$AttackTypes
* mods.flammpfeil.slashblade.entity.EntityPhantomSwordBase
* net.minecraft.entity.Entity
* net.minecraft.entity.EntityLivingBase
* net.minecraft.potion.Potion
* net.minecraft.potion.PotionEffect
* net.minecraft.util.DamageSource
* net.minecraft.util.EntityDamageSource
* net.minecraft.world.World
*/
package mods.flammpfeil.slashblade.mistraven;
import mods.flammpfeil.slashblade.ItemSlashBlade;
import mods.flammpfeil.slashblade.ability.StylishRankManager;
import mods.flammpfeil.slashblade.entity.EntityPhantomSwordBase;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.DamageSource;
import net.minecraft.util.EntityDamageSource;
import net.minecraft.world.World;
public class EntityAvada
extends EntityPhantomSwordBase {
public EntityAvada(World par1World) {
super(par1World);
}
public EntityAvada(World par1World, EntityLivingBase entityLiving, float AttackLevel) {
super(par1World, entityLiving, AttackLevel);
}
public EntityAvada(World par1World, EntityLivingBase entityLiving, float AttackLevel, float roll) {
super(par1World, entityLiving, AttackLevel, roll);
}
protected void func_70088_a() {
super.func_70088_a();
this.func_70096_w().func_75682_a(8, (Object)0);
}
public boolean getBurst() {
return this.func_70096_w().func_75683_a(8) != 0;
}
public void setBurst(boolean value) {
this.func_70096_w().func_75692_b(8, (Object)(value ? (byte)1 : 0));
}
protected void attackEntity(Entity target) {
if (this.getBurst()) {
this.field_70170_p.func_72885_a((Entity)this, this.field_70165_t, this.field_70163_u, this.field_70161_v, 1.0f, false, false);
}
if (!this.field_70170_p.field_72995_K) {
float magicDamage = Math.max(1.0f, this.AttackLevel);
target.field_70172_ad = 0;
DamageSource ds = new EntityDamageSource("directMagic", this.getThrower()).func_76348_h().func_82726_p();
target.func_70097_a(ds, magicDamage);
if (this.blade != null && target instanceof EntityLivingBase && this.thrower != null && this.thrower instanceof EntityLivingBase) {
StylishRankManager.setNextAttackType((Entity)this.thrower, (String)StylishRankManager.AttackTypes.PhantomSword);
((ItemSlashBlade)this.blade.func_77973_b()).func_77644_a(this.blade, (EntityLivingBase)target, (EntityLivingBase)this.thrower);
if (!target.func_70089_S()) {
((EntityLivingBase)this.thrower).func_70691_i(1.0f);
}
((EntityLivingBase)target).field_70737_aN = 1;
((EntityLivingBase)target).func_70645_a(DamageSource.field_76380_i);
((EntityLivingBase)target).func_70106_y();
((EntityLivingBase)target).func_70606_j(0.0f);
((EntityLivingBase)target).func_70097_a(DamageSource.field_76380_i, Float.MAX_VALUE);
if (!this.getBurst()) {
((EntityLivingBase)target).func_70690_d(new PotionEffect(Potion.field_82731_v.func_76396_c(), 100, 1));
}
((ItemSlashBlade)this.blade.func_77973_b()).setDaunting((EntityLivingBase)target);
}
}
this.func_70106_y();
}
}
@@ -0,0 +1,47 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* cpw.mods.fml.common.Mod
* cpw.mods.fml.common.Mod$EventHandler
* cpw.mods.fml.common.Mod$Instance
* cpw.mods.fml.common.SidedProxy
* cpw.mods.fml.common.event.FMLInitializationEvent
* cpw.mods.fml.common.event.FMLPostInitializationEvent
* cpw.mods.fml.common.event.FMLPreInitializationEvent
*/
package mods.flammpfeil.slashblade.mistraven;
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 mods.flammpfeil.slashblade.mistraven.CommonProxy;
@Mod(modid="mistraven", name="Mist Raven:The Deathly Hallow", version="0.0.0", dependencies="required-after:flammpfeil.slashblade")
public class mistraven {
public static final String MODID = "mistraven";
public static final String MODNAME = "Mist Raven:The Deathly Hallow";
public static final String version = "0.0.0";
@Mod.Instance(value="mistraven")
public static mistraven instance;
@SidedProxy(clientSide="mods.flammpfeil.slashblade.mistraven.ClientProxy", serverSide="mods.flammpfeil.slashblade.mistraven.CommonProxy")
public static CommonProxy proxy;
@Mod.EventHandler
public void preInit(FMLPreInitializationEvent event) {
proxy.preInit(event);
}
@Mod.EventHandler
public void init(FMLInitializationEvent event) {
proxy.init(event);
}
@Mod.EventHandler
public void postInit(FMLPostInitializationEvent event) {
proxy.postInit(event);
}
}
+2
View File
@@ -0,0 +1,2 @@
Summary for /Users/yudiwang/TDLM/5fu/mods/[BD]MistRaven_Mist _Raven-The_Deathly_Hallow-0.0.0.jar
Decompiled with CFR 0.152
File diff suppressed because it is too large. Load diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 492 KiB

@@ -0,0 +1,4 @@
flammpfeil.slashblade.named.mistraven=Mist Raven:The Deathly Hallows
item.flammpfeil.slashblade.named.mistraven.name=Mist Raven
flammpfeil.slashblade.specialattack.avadakedavra=§6Avada Kedavra
@@ -0,0 +1,4 @@
flammpfeil.slashblade.named.mistraven=寒鸦
item.flammpfeil.slashblade.named.mistraven.name=寒鸦
flammpfeil.slashblade.specialattack.avadakedavra=§6阿瓦达索命
+16
View File
@@ -0,0 +1,16 @@
[
{
"modid": "mistraven",
"name": "Mist Raven:The Deathly Hallow",
"description": "Mist Raven:The Deathly Hallow.",
"version": "1.0",
"mcversion": "1.7.10",
"url": "",
"updateUrl": "",
"authorList": [""],
"credits": "",
"logoFile": "",
"screenshots": [],
"dependencies": []
}
]