-
-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
JAD varnaming problem #88
Comments
Maybe this is because method parameter names are declared in SRG mappings, so could please add an option to regenerate method parameter names? |
You've provided no context, and your first post doesnt actually explain what you're doing. |
(the flag is patched in by us, you can use it with -jvn) |
I tried with "-dgs=1 -rsy=1 -asc=1 -bsm=1 -iec=1 -jvn=1 -udv=0 -ump=0", but the result is bad: arguments in lambda is not JAD style, method parameter names is JAD style in code but not in declaration. Code fragment decompiled by ForgeFlower with "-dgs=1 -rsy=1 -asc=1 -bsm=1 -iec=1 -jvn=1 -udv=0 -ump=0" public void remove(ServerPlayer var1) {
ServerLevel serverlevel = serverplayer.getLevel();
serverplayer.awardStat(Stats.LEAVE_GAME); // 'serverplayer' is actually 'var1'
this.save(serverplayer);
if (serverplayer.isPassenger()) {
Entity entity = serverplayer.getRootVehicle();
if (entity.hasExactlyOnePlayerPassenger()) {
LOGGER.debug("Removing player mount");
serverplayer.stopRiding();
entity.getPassengersAndSelf().forEach((var0) -> var0.setRemoved(Entity.RemovalReason.UNLOADED_WITH_PLAYER));
}
}
...
}
...
protected void save(ServerPlayer var1) {
this.playerIo.save(serverplayer);
ServerStatsCounter serverstatscounter = this.stats.get(serverplayer.getUUID());
if (serverstatscounter != null) {
serverstatscounter.save();
}
PlayerAdvancements playeradvancements = this.advancements.get(serverplayer.getUUID());
if (playeradvancements != null) {
playeradvancements.save();
}
} I wrote a JAD name generator that generates JAD style names and writes them to LVT. Then use ForgeFlower with "-dgs=1 -rsy=1 -asc=1 -bsm=1 -iec=1" to decompile, the result is good. (at least better than above) Code fragment decompiled by ForgeFlower with "-dgs=1 -rsy=1 -asc=1 -bsm=1 -iec=1" and my JAD name generator public void remove(ServerPlayer serverplayer) {
ServerLevel serverlevel = serverplayer.getLevel();
serverplayer.awardStat(Stats.LEAVE_GAME);
this.save(serverplayer);
if (serverplayer.isPassenger()) {
Entity entity = serverplayer.getRootVehicle();
if (entity.hasExactlyOnePlayerPassenger()) {
LOGGER.debug("Removing player mount");
serverplayer.stopRiding();
entity.getPassengersAndSelf().forEach((entity) -> entity.setRemoved(Entity.RemovalReason.UNLOADED_WITH_PLAYER));
}
}
...
}
...
protected void save(ServerPlayer serverplayer) {
this.playerIo.save(serverplayer);
ServerStatsCounter serverstatscounter = this.stats.get(serverplayer.getUUID());
if (serverstatscounter != null) {
serverstatscounter.save();
}
PlayerAdvancements playeradvancements = this.advancements.get(serverplayer.getUUID());
if (playeradvancements != null) {
playeradvancements.save();
}
} |
JAD var generator won't regenerate the parameter names of the method. Because of this, parameter names may conflict with the generated names.
The text was updated successfully, but these errors were encountered: