Posted December 6, 2024Dec 6 public SetPlayerSpawn(Player player, BlockPos Pos) { ServerPlayer Server_Player = (ServerPlayer) player; Server_Player.setRespawnPosition(Server_Player.getRespawnDimension(), Pos, 0.0F, true, true); ResourceLocation advancementId = new ResourceLocation( TheDeadRise.MODID,"advancements:spawntrigger"); Advancement advancement = Server_Player.getServer().getAdvancements().getAdvancement(advancementId); AdvancementProgress progress = Server_Player.getAdvancements().getOrStartProgress(advancement); for (String criterion : progress.getRemainingCriteria()) { Server_Player.getAdvancements().award(advancement, criterion); } if(advancement == null) { Server_Player.sendSystemMessage(Component.literal("shit is not working")); } else { Server_Player.sendSystemMessage(Component.literal("shit is sorta working")); } } I'm trying to figure out if I'm doing something wrong with the resource location or something else. It's a simple problem, but I keep running into issues. Any help or guidance would be greatly appreciated! Also the game is not crashing at all if advancement is null. Edited December 12, 2024Dec 12 by TheCursedModder more details
December 7, 2024Dec 7 We might need more context. Are you trying to programatically trigger a custom advancement?
December 12, 2024Dec 12 Author Oh I forgot to update the title. I figured out the issue and I'm rather embarrassed to say that it was a file path issue. The game already knew I was accessing the achievements so I wasn't suppose to include advancements in the file path. Minecraft file paths have always confused me a little bit... ResourceLocation advancementId = new ResourceLocation( TheDeadRise.MODID,"adventure/spawntrigger");
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.