Skip to content

Commit 33dd16d

Browse files
authored
Merge pull request #283 from Multiverse/fix/hk2-contract
Fix @contract annotation
2 parents ad3aca4 + e1f9b23 commit 33dd16d

File tree

3 files changed

+13
-8
lines changed

3 files changed

+13
-8
lines changed

src/main/java/org/mvplugins/multiverse/netherportals/commands/NetherPortalsCommand.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
package org.mvplugins.multiverse.netherportals.commands;
22

3-
import org.mvplugins.multiverse.core.command.MVCommandManager;
43
import org.mvplugins.multiverse.core.command.MultiverseCommand;
54
import org.mvplugins.multiverse.external.acf.commands.annotation.CommandAlias;
6-
import org.mvplugins.multiverse.external.jetbrains.annotations.NotNull;
7-
import org.mvplugins.multiverse.external.jvnet.hk2.annotations.Contract;
5+
import org.jvnet.hk2.annotations.Contract;
86

97
/**
108
* Base class for all NetherPortals commands.

src/main/java/org/mvplugins/multiverse/netherportals/listeners/MVNPListener.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package org.mvplugins.multiverse.netherportals.listeners;
22

33
import org.bukkit.event.Listener;
4-
import org.mvplugins.multiverse.external.jvnet.hk2.annotations.Contract;
4+
import org.jvnet.hk2.annotations.Contract;
55

66
@Contract
77
public interface MVNPListener extends Listener {

src/main/java/org/mvplugins/multiverse/netherportals/listeners/MVNPPlayerListener.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.mvplugins.multiverse.netherportals.listeners;
22

33
import com.dumptruckman.minecraft.util.Logging;
4+
import org.mvplugins.multiverse.external.vavr.control.Try;
45
import org.mvplugins.multiverse.netherportals.MultiverseNetherPortals;
56
import org.mvplugins.multiverse.netherportals.utils.EndPlatformCreator;
67
import org.mvplugins.multiverse.netherportals.utils.MVLinkChecker;
@@ -49,8 +50,14 @@ public MVNPPlayerListener(
4950
this.worldManager = worldManager;
5051
this.endPlatformCreator = endPlatformCreator;
5152

52-
this.enterNetherAdvancement = this.plugin.getServer().getAdvancement(NamespacedKey.minecraft("story/enter_the_nether"));
53-
this.enterEndAdvancement = this.plugin.getServer().getAdvancement(NamespacedKey.minecraft("story/enter_the_end"));
53+
this.enterNetherAdvancement = tryGetAdvancement("story/enter_the_nether");
54+
this.enterEndAdvancement = tryGetAdvancement("story/enter_the_end");
55+
}
56+
57+
private Advancement tryGetAdvancement(String advancementName) {
58+
return Try.of(() -> this.plugin.getServer().getAdvancement(NamespacedKey.minecraft(advancementName)))
59+
.recover(e -> null)
60+
.getOrNull();
5461
}
5562

5663
@EventHandler
@@ -133,9 +140,9 @@ public void onPlayerPortal(PlayerPortalEvent event) {
133140
}
134141

135142
// Advancements need to be triggered manually
136-
if (type == PortalType.NETHER && event.getTo().getWorld().getEnvironment() == World.Environment.NETHER) {
143+
if (type == PortalType.NETHER && event.getTo().getWorld().getEnvironment() == World.Environment.NETHER && enterNetherAdvancement != null) {
137144
awardAdvancement(player, enterNetherAdvancement, ENTER_NETHER_CRITERIA);
138-
} else if (type == PortalType.ENDER && event.getTo().getWorld().getEnvironment() == World.Environment.THE_END) {
145+
} else if (type == PortalType.ENDER && event.getTo().getWorld().getEnvironment() == World.Environment.THE_END && enterEndAdvancement != null) {
139146
awardAdvancement(player, enterEndAdvancement, ENTER_END_CRITERIA);
140147
}
141148
}

0 commit comments

Comments
 (0)