-1
したがって、.jarファイルにあるクラスファイルを編集しようとしています(.jarファイルには他のクラスはほとんどありませんが、私はこれを編集しようとしています)。私はこの特定のクラスにソース.javaを使用しました。クラスからコンパイルするときにエラーが発生するため、コンパイルに問題があります。編集済みのJavaファイルをパッケージの一部であるクラスクラスファイルにコンパイルする方法[Minecraft関連]
問題が何であるかは誰か知りませんか?
また、逆コンパイルと再コンパイルを一切行わずに.jarファイルの.classファイルのコードを直接編集できるプログラムを知っていれば、本当に役に立ちます。
追加情報
- .jarファイルは、私は友人のためにアップ泡立てよMinecraftのmodのです。
元の.classのコード(作品):ファイルの
package pw.cinque.cpsmod; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.TickEvent; import cpw.mods.fml.common.gameevent.TickEvent$ClientTickEvent; import net.minecraftforge.client.event.MouseEvent; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.TickEvent; import net.minecraftforge.client.event.MouseEvent; import pw.cinque.cpsmod.CPSMod; public class ClickListener { public ClickListener() {} private boolean hasClickedThisTick = false; @cpw.mods.fml.common.eventhandler.SubscribeEvent public void onMouse(MouseEvent event) { if (button != 0) { return; } if ((CPSMod.preventDoubleclicks) && (buttonstate) && (hasClickedThisTick)) { event.setCanceled(true); return; } if (buttonstate) { hasClickedThisTick = true; CPSMod.addClick(); } } @cpw.mods.fml.common.eventhandler.SubscribeEvent public void onClientTick(cpw.mods.fml.common.gameevent.TickEvent.ClientTickEvent event) { hasClickedThisTick = false; } }
コードIは、編集:
package pw.cinque.cpsmod; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.TickEvent; import cpw.mods.fml.common.gameevent.TickEvent$ClientTickEvent; import net.minecraftforge.client.event.MouseEvent; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.TickEvent; import net.minecraftforge.client.event.MouseEvent; import pw.cinque.cpsmod.CPSMod; public class ClickListener { private boolean hasClickedThisTick = false; int newVar = 0; @SubscribeEvent public void onMouse(MouseEvent event) { if (event.button != 0) { return; } if (CPSMod.preventDoubleclicks && event.buttonstate && this.hasClickedThisTick) { event.setCanceled(true); return; } if (event.buttonstate) { this.hasClickedThisTick = true; CPSMod.addClick(); newVar = CPSMod.getClicks(); if(newVar > 5) { CPSMod.addClick(); } } } @SubscribeEvent public void onClientTick(TickEvent.ClientTickEvent event) { this.hasClickedThisTick = false; } }
をこれらは、私はそれをコンパイルしようとすると、私が取得エラーメッセージです。
ClickListener.java:2: error: package cpw.mods.fml.common.eventhandler does not exist import cpw.mods.fml.common.eventhandler.SubscribeEvent; ^ ClickListener.java:3: error: package cpw.mods.fml.common.gameevent does not exist import cpw.mods.fml.common.gameevent.TickEvent; ^ ClickListener.java:4: error: package cpw.mods.fml.common.gameevent does not exist import cpw.mods.fml.common.gameevent.TickEvent$ClientTickEvent; ^ ClickListener.java:5: error: package net.minecraftforge.client.event does not exist import net.minecraftforge.client.event.MouseEvent; ^ ClickListener.java:7: error: package cpw.mods.fml.common.eventhandler does not exist import cpw.mods.fml.common.eventhandler.SubscribeEvent; ^ ClickListener.java:8: error: package cpw.mods.fml.common.gameevent does not exist import cpw.mods.fml.common.gameevent.TickEvent; ^ ClickListener.java:9: error: package net.minecraftforge.client.event does not exist import net.minecraftforge.client.event.MouseEvent; ^ ClickListener.java:10: error: cannot find symbol import pw.cinque.cpsmod.CPSMod; ^ symbol: class CPSMod location: package pw.cinque.cpsmod ClickListener.java:17: error: cannot find symbol public void onMouse(MouseEvent event) { ^ symbol: class MouseEvent location: class ClickListener ClickListener.java:40: error: package TickEvent does not exist public void onClientTick(TickEvent.ClientTickEvent event) { ^ ClickListener.java:16: error: cannot find symbol @SubscribeEvent ^ symbol: class SubscribeEvent location: class ClickListener ClickListener.java:39: error: cannot find symbol @SubscribeEvent ^ symbol: class SubscribeEvent location: class ClickListener ClickListener.java:21: error: cannot find symbol if (CPSMod.preventDoubleclicks && event.buttonstate && this.hasClickedThisTick) { ^ symbol: variable CPSMod location: class ClickListener ClickListener.java:25: error: illegal start of type if (event.buttonstate) { ^ ClickListener.java:27: error: cannot find symbol CPSMod.addClick(); ^ symbol: variable CPSMod location: class ClickListener ClickListener.java:28: error: cannot find symbol gay = CPSMod.getClicks(); ^ symbol: variable CPSMod location: class ClickListener ClickListener.java:33: error: cannot find symbol CPSMod.addClick(); ^ symbol: variable CPSMod location: class ClickListener 17 errors