Skip to content

Commit

Permalink
More advancement clearing
Browse files Browse the repository at this point in the history
  • Loading branch information
fullwall committed May 19, 2018
1 parent 2ea94ae commit fd413fa
Showing 1 changed file with 19 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
package net.citizensnpcs.nms.v1_12_R1.util;

import java.io.File;
import java.lang.reflect.Field;
import java.util.Set;

import net.citizensnpcs.util.NMS;
import net.minecraft.server.v1_12_R1.Advancement;
import net.minecraft.server.v1_12_R1.AdvancementDataPlayer;
import net.minecraft.server.v1_12_R1.AdvancementProgress;
Expand All @@ -11,6 +14,7 @@
public class EmptyAdvancementDataPlayer extends AdvancementDataPlayer {
public EmptyAdvancementDataPlayer(MinecraftServer minecraftserver, File file, EntityPlayer entityplayer) {
super(minecraftserver, file, entityplayer);
this.b();
}

@Override
Expand All @@ -27,6 +31,17 @@ public void a(EntityPlayer entityplayer) {

@Override
public void b() {
this.a();
this.data.clear();
try {
((Set) G.get(this)).clear();
((Set) H.get(this)).clear();
((Set) I.get(this)).clear();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}

@Override
Expand All @@ -51,4 +66,8 @@ public boolean grantCriteria(Advancement advancement, String s) {
public boolean revokeCritera(Advancement advancement, String s) {
return false;
}

private static final Field G = NMS.getField(AdvancementDataPlayer.class, "g");
private static final Field H = NMS.getField(AdvancementDataPlayer.class, "h");
private static final Field I = NMS.getField(AdvancementDataPlayer.class, "i");
}

0 comments on commit fd413fa

Please sign in to comment.