@@ -0,0 +1,30 @@
|
||||
package org.bukkit.craftbukkit.advancement;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import net.minecraft.server.Advancement;
|
||||
import org.bukkit.NamespacedKey;
|
||||
import org.bukkit.craftbukkit.util.CraftNamespacedKey;
|
||||
|
||||
public class CraftAdvancement implements org.bukkit.advancement.Advancement {
|
||||
|
||||
private final Advancement handle;
|
||||
|
||||
public CraftAdvancement(Advancement handle) {
|
||||
this.handle = handle;
|
||||
}
|
||||
|
||||
public Advancement getHandle() {
|
||||
return handle;
|
||||
}
|
||||
|
||||
@Override
|
||||
public NamespacedKey getKey() {
|
||||
return CraftNamespacedKey.fromMinecraft(handle.getName());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<String> getCriteria() {
|
||||
return Collections.unmodifiableCollection(handle.getCriteria().keySet());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package org.bukkit.craftbukkit.advancement;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import net.minecraft.server.AdvancementDataPlayer;
|
||||
import net.minecraft.server.CriterionProgress;
|
||||
import org.bukkit.advancement.Advancement;
|
||||
import org.bukkit.advancement.AdvancementProgress;
|
||||
|
||||
public class CraftAdvancementProgress implements AdvancementProgress {
|
||||
|
||||
private final CraftAdvancement advancement;
|
||||
private final AdvancementDataPlayer playerData;
|
||||
private final net.minecraft.server.AdvancementProgress handle;
|
||||
|
||||
public CraftAdvancementProgress(CraftAdvancement advancement, AdvancementDataPlayer player, net.minecraft.server.AdvancementProgress handle) {
|
||||
this.advancement = advancement;
|
||||
this.playerData = player;
|
||||
this.handle = handle;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Advancement getAdvancement() {
|
||||
return advancement;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isDone() {
|
||||
return handle.isDone();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean awardCriteria(String criteria) {
|
||||
return playerData.grantCriteria(advancement.getHandle(), criteria);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean revokeCriteria(String criteria) {
|
||||
return playerData.revokeCritera(advancement.getHandle(), criteria);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Date getDateAwarded(String criteria) {
|
||||
CriterionProgress criterion = handle.getCriterionProgress(criteria);
|
||||
return (criterion == null) ? null : criterion.getDate();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<String> getRemainingCriteria() {
|
||||
return Collections.unmodifiableCollection(Lists.newArrayList(handle.getRemainingCriteria()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<String> getAwardedCriteria() {
|
||||
return Collections.unmodifiableCollection(Lists.newArrayList(handle.getAwardedCriteria()));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user