Skip to content

Commit e20bf44

Browse files
committed
[FEAT] Add APIs from PR #24
1 parent 53624ad commit e20bf44

59 files changed

Lines changed: 1150 additions & 61 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

commit.sha

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
357eb30e497febaa9fef3bf963c555864b75269b
1+
ee0dcbaa9492ab06cb09b08fc402e684fb5e4cb5

versions/1.18.2/build.gradle.kts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -237,10 +237,10 @@ if (multimined.platformEnabled("paper")) {
237237
artifact.set(tasks.named("remapPaperJar").get())
238238
loaders.set(listOf("paper"))
239239
}
240-
}
241240

242-
tasks.named("publishCurseforgePaper") { enabled = false }
243-
tasks.named("publishModrinthPaper") { enabled = false }
241+
tasks.named("publishCurseforgePaper") { enabled = false }
242+
tasks.named("publishModrinthPaper") { enabled = false }
243+
}
244244
// endregion
245245

246246
// region Maven Publishing

versions/1.18.2/src/main/java/com/hypherionmc/craterlib/nojang/advancements/BridgedAdvancement.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,8 @@ public Optional<BridgedDisplayInfo> displayInfo() {
1818
return Optional.empty();
1919
}
2020

21+
public Advancement toMojang() {
22+
return internal;
23+
}
24+
2125
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package com.hypherionmc.craterlib.nojang.advancements;
2+
3+
import lombok.RequiredArgsConstructor;
4+
import net.minecraft.advancements.Advancement;
5+
6+
@RequiredArgsConstructor(staticName = "of")
7+
public class BridgedAdvancementHolder {
8+
9+
private final Advancement internal;
10+
11+
public BridgedAdvancement value() {
12+
return BridgedAdvancement.of(internal);
13+
}
14+
15+
public Advancement toMojang() {
16+
return internal;
17+
}
18+
}
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
package com.hypherionmc.craterlib.nojang.advancements;
2+
3+
import com.hypherionmc.craterlib.utils.ChatUtils;
4+
import lombok.RequiredArgsConstructor;
5+
import net.kyori.adventure.text.Component;
6+
import net.minecraft.advancements.AdvancementProgress;
7+
import org.jetbrains.annotations.Nullable;
8+
9+
import java.time.Instant;
10+
11+
@RequiredArgsConstructor(staticName = "of")
12+
public class BridgedAdvancementProgress {
13+
14+
private final AdvancementProgress internal;
15+
16+
public boolean isDone() {
17+
return internal.isDone();
18+
}
19+
20+
public boolean hasProgress() {
21+
return internal.hasProgress();
22+
}
23+
24+
public float getPercent() {
25+
return internal.getPercent();
26+
}
27+
28+
public Component getProgressText() {
29+
if (internal.getProgressText() == null) return Component.empty();
30+
return Component.translatable(internal.getProgressText());
31+
}
32+
33+
public Iterable<String> getRemainingCriteria() {
34+
return internal.getRemainingCriteria();
35+
}
36+
37+
public Iterable<String> getCompletedCriteria() {
38+
return internal.getCompletedCriteria();
39+
}
40+
41+
@Nullable
42+
public Instant getFirstProgressDate() {
43+
return internal.getFirstProgressDate().toInstant();
44+
}
45+
46+
public int compareTo(BridgedAdvancementProgress other) {
47+
return internal.compareTo(other.internal);
48+
}
49+
50+
public AdvancementProgress toMojang() {
51+
return internal;
52+
}
53+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.hypherionmc.craterlib.nojang.advancements;
2+
3+
import lombok.RequiredArgsConstructor;
4+
import net.minecraft.server.PlayerAdvancements;
5+
6+
@RequiredArgsConstructor(staticName = "of")
7+
public class BridgedPlayerAdvancements {
8+
9+
private final PlayerAdvancements internal;
10+
11+
public BridgedAdvancementProgress getOrStartProgress(BridgedAdvancementHolder advancement) {
12+
return BridgedAdvancementProgress.of(internal.getOrStartProgress(advancement.toMojang()));
13+
}
14+
15+
public PlayerAdvancements toMojang() {
16+
return internal;
17+
}
18+
19+
}

versions/1.18.2/src/main/java/com/hypherionmc/craterlib/nojang/client/server/BridgedIntegratedServer.java

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
11
package com.hypherionmc.craterlib.nojang.client.server;
22

3+
import com.hypherionmc.craterlib.nojang.advancements.BridgedAdvancementHolder;
4+
import com.hypherionmc.craterlib.nojang.advancements.BridgedPlayerAdvancements;
35
import lombok.RequiredArgsConstructor;
6+
import net.minecraft.advancements.Advancement;
47
import net.minecraft.client.server.IntegratedServer;
58

9+
import java.util.Collection;
10+
import java.util.LinkedList;
11+
import java.util.UUID;
12+
613
@RequiredArgsConstructor(staticName = "of")
714
public class BridgedIntegratedServer {
815

@@ -16,4 +23,21 @@ public IntegratedServer toMojang() {
1623
return internal;
1724
}
1825

19-
}
26+
public BridgedPlayerAdvancements getPlayerAdvancements(UUID uuid) {
27+
return BridgedPlayerAdvancements.of(internal.getPlayerList().getPlayer(uuid).getAdvancements());
28+
}
29+
30+
public Collection<BridgedAdvancementHolder> getAdvancements() {
31+
Collection<Advancement> ah = internal.getAdvancements().getAllAdvancements();
32+
LinkedList<BridgedAdvancementHolder> ret = new LinkedList<>();
33+
for(Advancement a: ah) {
34+
BridgedAdvancementHolder bah = BridgedAdvancementHolder.of(a);
35+
ret.add(bah);
36+
}
37+
return ret;
38+
}
39+
40+
public boolean isHardcore() {
41+
return internal.isHardcore();
42+
}
43+
}

versions/1.18.2/src/main/java/com/hypherionmc/craterlib/nojang/server/BridgedMinecraftServer.java

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.hypherionmc.craterlib.nojang.server;
22

3+
import com.hypherionmc.craterlib.nojang.advancements.BridgedAdvancementHolder;
4+
import com.hypherionmc.craterlib.nojang.advancements.BridgedPlayerAdvancements;
35
import com.hypherionmc.craterlib.nojang.authlib.BridgedGameProfile;
46
import com.hypherionmc.craterlib.nojang.client.multiplayer.BridgedClientLevel;
57
import com.hypherionmc.craterlib.nojang.commands.BridgedFakePlayer;
@@ -10,13 +12,13 @@
1012
import net.kyori.adventure.text.Component;
1113
import net.minecraft.SharedConstants;
1214
import net.minecraft.Util;
15+
import net.minecraft.advancements.Advancement;
1316
import net.minecraft.network.chat.ChatType;
1417
import net.minecraft.server.MinecraftServer;
1518
import net.minecraft.server.players.UserBanListEntry;
1619
import net.minecraft.server.players.UserWhiteListEntry;
1720

18-
import java.util.ArrayList;
19-
import java.util.List;
21+
import java.util.*;
2022

2123
@RequiredArgsConstructor(staticName = "of")
2224
public class BridgedMinecraftServer {
@@ -81,7 +83,7 @@ public List<BridgedPlayer> getPlayers() {
8183
}
8284

8385
public BridgedGameRules getGameRules() {
84-
return BridgedGameRules.bridge(internal.getGameRules());
86+
return BridgedGameRules.bridge(internal.getWorldData().getGameRules());
8587
}
8688

8789
public void banPlayer(BridgedGameProfile profile) {
@@ -96,4 +98,21 @@ public MinecraftServer toMojang() {
9698
return internal;
9799
}
98100

101+
public BridgedPlayerAdvancements getPlayerAdvancements(UUID uuid) {
102+
return BridgedPlayerAdvancements.of(internal.getPlayerList().getPlayer(uuid).getAdvancements());
103+
}
104+
105+
public Collection<BridgedAdvancementHolder> getAdvancements() {
106+
Collection<Advancement> ah = internal.getAdvancements().getAllAdvancements();
107+
LinkedList<BridgedAdvancementHolder> ret = new LinkedList<>();
108+
for(Advancement a: ah) {
109+
BridgedAdvancementHolder bah = BridgedAdvancementHolder.of(a);
110+
ret.add(bah);
111+
}
112+
return ret;
113+
}
114+
115+
public boolean isHardcore() {
116+
return internal.isHardcore();
117+
}
99118
}

versions/1.19.2/build.gradle.kts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -237,10 +237,10 @@ if (multimined.platformEnabled("paper")) {
237237
artifact.set(tasks.named("remapPaperJar").get())
238238
loaders.set(listOf("paper"))
239239
}
240-
}
241240

242-
tasks.named("publishCurseforgePaper") { enabled = false }
243-
tasks.named("publishModrinthPaper") { enabled = false }
241+
tasks.named("publishCurseforgePaper") { enabled = false }
242+
tasks.named("publishModrinthPaper") { enabled = false }
243+
}
244244
// endregion
245245

246246
// region Maven Publishing

versions/1.19.2/src/main/java/com/hypherionmc/craterlib/nojang/advancements/BridgedAdvancement.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,8 @@ public Optional<BridgedDisplayInfo> displayInfo() {
1818
return Optional.empty();
1919
}
2020

21+
public Advancement toMojang() {
22+
return internal;
23+
}
24+
2125
}

0 commit comments

Comments
 (0)