-1
所以我試圖編輯一個.jar文件中的類文件(該.jar文件有一個其他幾個類,但我只是試圖編輯這一個)。我爲這個特定的類使用了源代碼.java,並且我無法將其編譯到一個類中,因爲編譯器會調用錯誤,因爲它正在從包中調用事物。如何將已編輯的java文件編譯爲屬於包的一部分的類文件[與Minecraft相關]
有誰知道問題是什麼?
另外,如果有人知道一個程序,它將允許我直接編輯.jar文件中的.class文件的代碼,而無需進行所有的反編譯和重新編譯,這將非常有幫助。
的額外信息
- .jar文件是國防部的Minecraft我掀起了一個朋友。
原來的.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; } }
文件的代碼我編輯:
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