public static void grantCriterion(EntityPlayerMP player, ResourceLocation advancementId, String criterion) { PlayerAdvancements advancements = player.getAdvancements(); AdvancementManager manager = player.getServerWorld().getAdvancementManager(); Advancement advancement = manager.getAdvancement(advancementId); if(advancement != null) { advancements.grantCriterion(advancement, criterion); } }
private boolean hasRelicAlready(EntityPlayer player, int relic) { if(relic < 0 || relic > relicStacks.length || !(player instanceof EntityPlayerMP)) return true; EntityPlayerMP mpPlayer = (EntityPlayerMP) player; Item item = relicStacks[relic].getItem(); ResourceLocation advId = ((IRelic) item).getAdvancement(); if(advId != null) { Advancement adv = mpPlayer.getServerWorld().getAdvancementManager().getAdvancement(advId); return adv != null && mpPlayer.getAdvancements().getProgress(adv).isDone(); } return false; }
@Override public Advancement getAdvancementOnPickup(ItemStack stack, EntityPlayer player, EntityItem item) { MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance(); return server.getAdvancementManager().getAdvancement(new ResourceLocation(Wizardry.MODID, "advancements/advancement_devildust.json")); }
public static void syncPlayer(EntityPlayerMP player, boolean showToast) { PlayerAdvancements advancements = player.getAdvancements(); if(advancements == null) return; AdvancementManager manager = player.getServer().getAdvancementManager(); List<String> completed = new LinkedList<>(); for(ResourceLocation res : syncedAdvancements) { Advancement adv = manager.getAdvancement(res); AdvancementProgress p = advancements.getProgress(adv); if(p.isDone()) completed.add(res.toString()); } String[] completedArr = completed.toArray(new String[0]); NetworkHandler.INSTANCE.sendTo(new MessageSyncAdvancements(completedArr, showToast), player); }
Advancement advAdvancement = manager.getAdvancement(advResource);
Advancement advancement = server.getAdvancementManager().getAdvancement(new ResourceLocation(Wizardry.MODID, "advancements/advancement_crunch.json")); if (advancement == null) return; AdvancementProgress progress = ((EntityPlayerMP) entity).getAdvancements().getProgress(advancement);