Skip to content

Commit da00187

Browse files
committed
version alpha-1.2
1 parent 652b6e8 commit da00187

12 files changed

Lines changed: 133 additions & 110 deletions

File tree

.idea/misc.xml

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api/build.gradle.kts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ plugins {
44
}
55

66
group = "io.github.lumine1909"
7-
version = "alpha-1.1"
7+
version = "alpha-1.2"
88

99
repositories {
1010
mavenCentral()
@@ -16,7 +16,7 @@ repositories {
1616
dependencies {
1717
testImplementation(platform("org.junit:junit-bom:5.9.1"))
1818
testImplementation("org.junit.jupiter:junit-jupiter")
19-
compileOnly("org.spigotmc:spigot-api:1.13.2-R0.1-SNAPSHOT")
19+
compileOnly("org.spigotmc:spigot-api:1.16.5-R0.1-SNAPSHOT")
2020
}
2121

2222
tasks.test {
@@ -37,7 +37,7 @@ publishing {
3737
register<MavenPublication>("gpr") {
3838
groupId = "io.github.lumine1909"
3939
artifactId = "registry-api"
40-
version = "alpha-1.1"
40+
version = "alpha-1.2"
4141
from(components["java"])
4242
}
4343
}

build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ plugins {
55
}
66

77
group = "io.github.lumine1909"
8-
version = "alpha-1.1"
8+
version = "alpha-1.2"
99

1010
repositories {
1111
mavenCentral()
@@ -18,7 +18,7 @@ repositories {
1818
dependencies {
1919
testImplementation(platform("org.junit:junit-bom:5.9.1"))
2020
testImplementation("org.junit.jupiter:junit-jupiter")
21-
compileOnly("org.spigotmc:spigot-api:1.13.2-R0.1-SNAPSHOT")
21+
compileOnly("org.spigotmc:spigot-api:1.16.5-R0.1-SNAPSHOT")
2222
implementation(project(":api"))
2323
}
2424
tasks {

example-plugin/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ repositories {
1515
dependencies {
1616
testImplementation(platform("org.junit:junit-bom:5.9.1"))
1717
testImplementation("org.junit.jupiter:junit-jupiter")
18-
compileOnly("org.spigotmc:spigot-api:1.13.2-R0.1-SNAPSHOT")
18+
compileOnly("org.spigotmc:spigot-api:1.16.5-R0.1-SNAPSHOT")
1919
implementation(project(":api"))
2020
}
2121

src/main/java/io/github/lumine1909/RegistryAPIPlugin.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@
88
import org.bukkit.plugin.ServicePriority;
99
import org.bukkit.plugin.java.JavaPlugin;
1010

11+
import java.lang.reflect.Constructor;
12+
import java.util.Arrays;
13+
1114
public class RegistryAPIPlugin extends JavaPlugin {
1215
BiomeManager biomeManager;
1316
public static RegistryAPIPlugin plugin;
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package io.github.lumine1909;
2+
3+
import java.util.Optional;
4+
5+
public class Util {
6+
public static Optional<?> wrapOptional(Object value) {
7+
return Optional.ofNullable(value);
8+
}
9+
public static Object unWrapOptional(Optional<?> optional) {
10+
return optional.orElse(null);
11+
}
12+
}

src/main/java/io/github/lumine1909/objects/WrappedBiome.java

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,11 @@
44
import io.github.lumine1909.api.objects.BiomeColor;
55
import io.github.lumine1909.api.objects.ResourceKey;
66

7+
import java.util.Optional;
8+
79
import static io.github.lumine1909.RegistryAPIPlugin.plugin;
810
import static io.github.lumine1909.reflection.Reflection.*;
11+
import static io.github.lumine1909.Util.*;
912

1013
public class WrappedBiome implements Biome {
1114
private final Object nmsBiome;
@@ -17,20 +20,16 @@ public WrappedBiome(BiomeColor color, ResourceKey key) {
1720
FBiomeBase_generationSettings.get(OBiome_Plains));
1821
MBiomeBase_Builder_mobSpawnSettings.invoke(biomeBuilder,
1922
FBiomeBase_mobSettings.get(OBiome_Plains));
20-
MBiomeBase_Builder_temperature.invoke(biomeBuilder, 0.7F);
21-
MBiomeBase_Builder_downfall.invoke(biomeBuilder, 0.8F);
22-
Object biomeFogBuilder = CtBiomeFog_Builder.newInstance();
23-
if (color.getGrassColor() != -1) {
24-
MBiomeFog_Builder_grassColor.invoke(biomeFogBuilder, color.getGrassColor());
25-
}
26-
if (color.getFoliageColor() != -1) {
27-
MBiomeFog_Builder_foliageColor.invoke(biomeFogBuilder, color.getFoliageColor());
28-
}
29-
MBiomeFog_Builder_fogColor.invoke(biomeFogBuilder, color.getFogColor());
30-
MBiomeFog_Builder_skyColor.invoke(biomeFogBuilder, color.getSkyColor());
31-
MBiomeFog_Builder_waterColor.invoke(biomeFogBuilder, color.getWaterColor());
32-
MBiomeFog_Builder_waterFogColor.invoke(biomeFogBuilder, color.getWaterFogColor());
33-
MBiomeBase_Builder_specialEffects.invoke(biomeBuilder, MBiomeFog_Builder_build.invoke(biomeFogBuilder));
23+
FBiomeBase_Builder_temperature.set(biomeBuilder, 0.7F);
24+
FBiomeBase_Builder_downfall.set(biomeBuilder, 0.8F);
25+
Object biomeFog = CtBiomeFog.newInstance(
26+
color.getFogColor(), color.getWaterColor(), color.getWaterFogColor(), color.getSkyColor(),
27+
wrapOptional(color.getFoliageColor() == -1 ? null : color.getFoliageColor()),
28+
wrapOptional(color.getGrassColor() == -1 ? null : color.getGrassColor()),
29+
OBiomeFog_GrassColor_none,
30+
Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty()
31+
);
32+
MBiomeBase_Builder_specialEffects.invoke(biomeBuilder, biomeFog);
3433
nmsBiome = MBiomeBase_Builder_build.invoke(biomeBuilder);
3534
plugin.getBiomeManager().registerBiome(this, key);
3635
}

src/main/java/io/github/lumine1909/reflection/ConstructorAccessor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public ConstructorAccessor(Class<?> clazz, int index, Class<?>... arguments) {
2020
}
2121
public ConstructorAccessor(Class<?> clazz, Class<?>... arguments) {
2222
try {
23-
constructor = clazz.getConstructor(arguments);
23+
constructor = clazz.getDeclaredConstructor(arguments);
2424
constructor.setAccessible(true);
2525
} catch (Exception e) {
2626
e.printStackTrace();

src/main/java/io/github/lumine1909/reflection/FieldAccessor.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public FieldAccessor(Class<?> clazz, String name) {
2626
field = clazz.getDeclaredField(name);
2727
field.setAccessible(true);
2828
} catch (Exception e) {
29-
e.printStackTrace();
29+
throw new RuntimeException(e);
3030
}
3131
}
3232

@@ -42,17 +42,16 @@ public Object get(Object o) {
4242
field.setAccessible(true);
4343
return field.get(o);
4444
} catch (Exception e) {
45-
e.printStackTrace();
45+
throw new RuntimeException(e);
4646
}
47-
return null;
4847
}
4948

5049
public void set(Object o, Object value) {
5150
try {
5251
field.setAccessible(true);
5352
field.set(o, value);
5453
} catch (Exception e) {
55-
e.printStackTrace();
54+
throw new RuntimeException(e);
5655
}
5756
}
5857
}

src/main/java/io/github/lumine1909/reflection/MethodAccessor.java

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,9 @@
55

66
public class MethodAccessor {
77
private Method method = null;
8-
public MethodAccessor(Class<?> clazz, int index, Class<?> returnType, Class<?>... arguments) {
8+
public MethodAccessor(Class<?> clazz, Class<?> returnType, Class<?>... arguments) {
99
for (Method m : clazz.getDeclaredMethods()) {
1010
if (m.getReturnType().equals(returnType) && m.getParameterCount() == arguments.length && Arrays.equals(m.getParameterTypes(), arguments)) {
11-
if (index > 0) {
12-
index--;
13-
continue;
14-
}
1511
method = m;
1612
method.setAccessible(true);
1713
return;
@@ -23,7 +19,7 @@ public MethodAccessor(Class<?> clazz, String name, Class<?>... arguments) {
2319
method = clazz.getDeclaredMethod(name, arguments);
2420
method.setAccessible(true);
2521
} catch (Exception e) {
26-
e.printStackTrace();
22+
throw new RuntimeException(e);
2723
}
2824
}
2925
public Method getMethod() {
@@ -37,8 +33,7 @@ public Object invoke(Object object, Object... arguments) {
3733
method.setAccessible(true);
3834
return method.invoke(object, arguments);
3935
} catch (Exception e) {
40-
e.printStackTrace();
36+
throw new RuntimeException(e);
4137
}
42-
return null;
4338
}
4439
}

0 commit comments

Comments
 (0)