Skip to content

Commit e5513d7

Browse files
committed
add NamespaceIdentifier to Core API
1 parent 53cb35a commit e5513d7

1 file changed

Lines changed: 52 additions & 0 deletions

File tree

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
package net.ornithemc.osl.core.api.util;
2+
3+
import java.util.Objects;
4+
5+
public final class NamespacedIdentifier {
6+
7+
public static NamespacedIdentifier fromMinecraft(String identifier) {
8+
return new NamespacedIdentifier("minecraft", identifier);
9+
}
10+
11+
public static NamespacedIdentifier from(String namespace, String identifier) {
12+
return new NamespacedIdentifier(namespace, identifier);
13+
}
14+
15+
private final String namespace;
16+
private final String identifier;
17+
18+
private NamespacedIdentifier(String namespace, String identifier) {
19+
this.namespace = namespace;
20+
this.identifier = identifier;
21+
}
22+
23+
@Override
24+
public boolean equals(Object o) {
25+
if (this == o) {
26+
return true;
27+
}
28+
if (!(o instanceof NamespacedIdentifier)) {
29+
return false;
30+
}
31+
NamespacedIdentifier id = (NamespacedIdentifier) o;
32+
return namespace.equals(id.namespace) && identifier.equals(id.identifier);
33+
}
34+
35+
@Override
36+
public int hashCode() {
37+
return Objects.hash(namespace, identifier);
38+
}
39+
40+
@Override
41+
public String toString() {
42+
return namespace + ":" + identifier;
43+
}
44+
45+
public String getNamespace() {
46+
return namespace;
47+
}
48+
49+
public String getIdentifier() {
50+
return identifier;
51+
}
52+
}

0 commit comments

Comments
 (0)