我有一些想要编辑的Java(它是一个Minecraft mod) 我反编译了.class 文件(使用jd-gui),编辑了我想要的内容,然后尝试重新编译(使用javac)。
我有数百个错误。虽然我只编辑了几行,所以我尝试编译未编辑的.java,就像它们来自反编译器一样。同样的事情,数百个错误。
对Java知之甚少,所以我确定我犯了一些错误。为什么它不能编译尚未从有效的工作 .class 文件中编辑的代码?
这是我得到的示例:
ReiMinimap.java:451: illegal start of expression
switch (???)
^
ReiMinimap.java:451: ';' expected
switch (???)
^
ReiMinimap.java:451: illegal start of expression
switch (???)
^
ReiMinimap.java:451: illegal start of expression
switch (???)
^
ReiMinimap.java:451: illegal start of expression
switch (???)
^
ReiMinimap.java:452: illegal start of expression
{
^
ReiMinimap.java:452: : expected
{
^
ReiMinimap.java:453: ';' expected
case 49:
^
ReiMinimap.java:453: ')' expected
case 49:
^
ReiMinimap.java:454: illegal start of expression
this.allowCavemap = true;
^
ReiMinimap.java:454: ';' expected
this.allowCavemap = true;
^
ReiMinimap.java:454: illegal start of expression
this.allowCavemap = true;
^
ReiMinimap.java:454: ';' expected
this.allowCavemap = true;
^
ReiMinimap.java:456: orphaned case
case 50:
^
ReiMinimap.java:308: 'try' without 'catch' or 'finally'
try { if (paramMinecraft == null);
^
ReiMinimap.java:499: illegal start of type
else
^
ReiMinimap.java:499: ';' expected
else
^
ReiMinimap.java:501: illegal start of type
this.chatWelcomed = true;
^
ReiMinimap.java:501: <identifier> expected
this.chatWelcomed = true;
^
ReiMinimap.java:501: ';' expected
this.chatWelcomed = true;
^
ReiMinimap.java:501: illegal start of type
this.chatWelcomed = true;
^
ReiMinimap.java:501: <identifier> expected
this.chatWelcomed = true;
^
还有一些代码:
if ((!this.chatWelcomed) && (System.currentTimeMillis() < this.chatTime + 10000L))
{
Object localObject1;
for (localObject2 = this.chatLineList.iterator(); ((Iterator)localObject2).hasNext(); ) { localObject1 = (ahe)((Iterator)localObject2).next();
if ((localObject1 == null) || (this.chatLineLast == localObject1)) break;
Matcher localMatcher1 = Pattern.compile("§0§0((?:§[1-9a-d])+)§e§f").matcher(((ahe)localObject1).a);
while (localMatcher1.find())
{
this.chatWelcomed = true;
for (??? : localMatcher1.group(1).toCharArray())
{
switch (???)
{
case 49:
this.allowCavemap = true;
break;
case 50:
this.allowEntityPlayer = true;
break;
case 51:
this.allowEntityAnimal = true;
break;
case 52:
this.allowEntityMob = true;
break;
case 53:
this.allowEntitySlime = true;
break;
case 54:
this.allowEntitySquid = true;
break;
case 55:
this.allowEntityLiving = true;
}
}
}