Use AdvancementHolder when hooking into other awards

This commit is contained in:
Frank 2023-12-19 15:26:39 +01:00
parent 95a1a21f04
commit 6cf4d7fccb
3 changed files with 5 additions and 5 deletions

View file

@ -1,6 +1,6 @@
package org.betterx.betterend.events;
import net.minecraft.advancements.Advancement;
import net.minecraft.advancements.AdvancementHolder;
import net.minecraft.server.level.ServerPlayer;
import net.fabricmc.fabric.api.event.Event;
@ -17,5 +17,5 @@ public interface PlayerAdvancementsCallback {
}
);
void onAdvancementComplete(ServerPlayer player, Advancement advancement, String criterionName);
void onAdvancementComplete(ServerPlayer player, AdvancementHolder advancement, String criterionName);
}

View file

@ -28,7 +28,7 @@ public class Integrations {
PlayerAdvancementsCallback.PLAYER_ADVANCEMENT_COMPLETE.register((player, advancement, criterionName) -> {
ResourceLocation advId = new ResourceLocation("minecraft:end/enter_end_gateway");
if (advId.equals(advancement.getId())) {
if (advId.equals(advancement.id())) {
player.addItem(new ItemStack(GuideBookItem.GUIDE_BOOK));
}
});

View file

@ -2,7 +2,7 @@ package org.betterx.betterend.mixin.common;
import org.betterx.betterend.events.PlayerAdvancementsCallback;
import net.minecraft.advancements.Advancement;
import net.minecraft.advancements.AdvancementHolder;
import net.minecraft.server.PlayerAdvancements;
import net.minecraft.server.level.ServerPlayer;
@ -19,7 +19,7 @@ public abstract class PlayerAdvancementsMixin {
private ServerPlayer player;
@Inject(method = "award", at = @At(value = "INVOKE", target = "Lnet/minecraft/advancements/AdvancementRewards;grant(Lnet/minecraft/server/level/ServerPlayer;)V", shift = Shift.AFTER))
public void be_award(Advancement advancement, String criterionName, CallbackInfoReturnable<Boolean> info) {
public void be_award(AdvancementHolder advancement, String criterionName, CallbackInfoReturnable<Boolean> info) {
PlayerAdvancementsCallback.PLAYER_ADVANCEMENT_COMPLETE.invoker()
.onAdvancementComplete(
player,