Skip to content

Commit 4c38b08

Browse files
committed
Modern platform support
Signed-off-by: Christopher White <[email protected]>
1 parent 462d7dd commit 4c38b08

File tree

10 files changed

+147
-2
lines changed

10 files changed

+147
-2
lines changed

buildSrc/src/main/kotlin/buildlogic.java-conventions.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ repositories {
1919
}
2020

2121
dependencies {
22-
implementation("tc.oc.pgm:util:0.16-SNAPSHOT") { isTransitive = false }
2322
implementation("com.zaxxer:HikariCP:2.4.1") { isTransitive = false }
2423
implementation("fr.minuskube.inv:smart-invs:1.2.7") { isTransitive = false }
2524

@@ -32,6 +31,7 @@ dependencies {
3231
implementation("org.reflections:reflections:0.10.2")
3332

3433
compileOnly("tc.oc.pgm:core:0.16-SNAPSHOT")
34+
compileOnly("tc.oc.pgm:util:0.16-SNAPSHOT")
3535
compileOnly("tc.oc.occ:AFK:1.0.0-SNAPSHOT")
3636
compileOnly("tc.oc.occ:Environment:1.0.0-SNAPSHOT")
3737
compileOnly("org.incendo:cloud-annotations:2.0.0")

core/build.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ dependencies {
1212
implementation(project(":util"))
1313

1414
runtimeOnly(project(":platform-sportpaper")) { exclude("*") }
15+
runtimeOnly(project(":platform-modern")) { exclude("*") }
1516
}
1617

1718
tasks.named<ShadowJar>("shadowJar") {
@@ -22,6 +23,7 @@ tasks.named<ShadowJar>("shadowJar") {
2223
minimize {
2324
// Exclude from minimization as they're required at runtime
2425
exclude(project(":platform-sportpaper"))
26+
exclude(project(":platform-modern"))
2527
}
2628

2729
dependencies {
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
plugins {
2+
id("buildlogic.java-conventions")
3+
id("io.papermc.paperweight.userdev") version "1.7.4"
4+
}
5+
6+
dependencies {
7+
implementation(project(":util"))
8+
paperweight.paperDevBundle("1.21.1-R0.1-SNAPSHOT")
9+
}
10+
11+
paperweight.reobfArtifactConfiguration = io.papermc.paperweight.userdev.ReobfArtifactConfiguration.MOJANG_PRODUCTION
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package dev.pgm.community.platform.modern;
2+
3+
import static dev.pgm.community.util.Supports.Variant.PAPER;
4+
5+
import dev.pgm.community.util.Effects;
6+
import dev.pgm.community.util.Supports;
7+
import org.bukkit.Location;
8+
import org.bukkit.entity.Player;
9+
import org.bukkit.entity.TNTPrimed;
10+
11+
@Supports(value = PAPER, minVersion = "1.20.6")
12+
public class ModernEffects implements Effects {
13+
@Override
14+
public void dummy() {}
15+
16+
@Override
17+
public void tntRainExplode(TNTPrimed tnt) {}
18+
19+
@Override
20+
public void mobSpawnEffect(Location loc) {}
21+
22+
@Override
23+
public void explosionEffect(Location loc) {}
24+
25+
@Override
26+
public void batTakeoffSound(Player player) {}
27+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package dev.pgm.community.platform.modern;
2+
3+
import static dev.pgm.community.util.Supports.Variant.PAPER;
4+
5+
import dev.pgm.community.util.EntityUtils;
6+
import dev.pgm.community.util.Supports;
7+
import net.minecraft.world.entity.Entity;
8+
import net.minecraft.world.entity.PathfinderMob;
9+
import org.bukkit.Location;
10+
import org.bukkit.craftbukkit.entity.CraftEntity;
11+
import org.bukkit.entity.LivingEntity;
12+
13+
@Supports(value = PAPER, minVersion = "1.20.6")
14+
public class ModernEntityUtils implements EntityUtils {
15+
@Override
16+
public void follow(LivingEntity mob, Location location, float speed) {
17+
Entity handle = ((CraftEntity) mob).getHandle();
18+
if (handle instanceof PathfinderMob pathfinderMob) {
19+
pathfinderMob
20+
.getNavigation()
21+
.moveTo(location.getX(), location.getY(), location.getZ(), speed);
22+
}
23+
}
24+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package dev.pgm.community.platform.modern;
2+
3+
import static dev.pgm.community.util.Supports.Variant.PAPER;
4+
5+
import dev.pgm.community.util.EventUtils;
6+
import dev.pgm.community.util.Supports;
7+
import org.bukkit.entity.FishHook;
8+
import org.bukkit.event.player.PlayerFishEvent;
9+
10+
@Supports(value = PAPER, minVersion = "1.20.6")
11+
public class ModernEventUtils implements EventUtils {
12+
@Override
13+
public FishHook getFishHook(PlayerFishEvent fishEvent) {
14+
return fishEvent.getHook();
15+
}
16+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package dev.pgm.community.platform.modern;
2+
3+
import static dev.pgm.community.util.Supports.Variant.PAPER;
4+
5+
import dev.pgm.community.util.InventoryUtils;
6+
import dev.pgm.community.util.Supports;
7+
import java.util.Random;
8+
import org.bukkit.Material;
9+
import org.bukkit.attribute.Attribute;
10+
import org.bukkit.attribute.AttributeModifier;
11+
import org.bukkit.inventory.ItemStack;
12+
import org.bukkit.inventory.meta.ItemMeta;
13+
14+
@Supports(value = PAPER, minVersion = "1.20.6")
15+
public class ModernInventoryUtils implements InventoryUtils {
16+
@Override
17+
public void addAttributeModifier(ItemMeta meta, Attribute attribute, AttributeModifier modifier) {
18+
meta.addAttributeModifier(attribute, modifier);
19+
}
20+
21+
@Override
22+
public ItemStack getRandomPotion(boolean splash, Random random) {
23+
return new ItemStack(Material.POTION);
24+
}
25+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package dev.pgm.community.platform.modern;
2+
3+
import static dev.pgm.community.util.Supports.Priority.HIGHEST;
4+
import static dev.pgm.community.util.Supports.Variant.PAPER;
5+
6+
import dev.pgm.community.util.Platform;
7+
import dev.pgm.community.util.Supports;
8+
import org.bukkit.plugin.Plugin;
9+
10+
@Supports(value = PAPER, minVersion = "1.20.6", priority = HIGHEST)
11+
public class ModernPlatform implements Platform.Manifest {
12+
@Override
13+
public void onEnable(Plugin plugin) {}
14+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package dev.pgm.community.platform.modern;
2+
3+
import static dev.pgm.community.util.Supports.Variant.PAPER;
4+
5+
import dev.pgm.community.util.PlayerUtils;
6+
import dev.pgm.community.util.Supports;
7+
import org.bukkit.craftbukkit.entity.CraftPlayer;
8+
import org.bukkit.entity.Player;
9+
import tc.oc.pgm.platform.modern.util.Skins;
10+
import tc.oc.pgm.util.skin.Skin;
11+
12+
@Supports(value = PAPER, minVersion = "1.20.6")
13+
public class ModernPlayerUtils implements PlayerUtils {
14+
@Override
15+
public Skin getPlayerSkin(Player player) {
16+
CraftPlayer craftPlayer = (CraftPlayer) player;
17+
return Skins.fromProfile(craftPlayer.getProfile());
18+
}
19+
20+
@Override
21+
public void setFakeNameAndSkin(Player player, Player viewer, String displayName, String nick) {
22+
// TODO
23+
}
24+
}

settings.gradle.kts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ rootProject.name = "community"
22

33
include(":util")
44
include(":platform-sportpaper")
5+
include(":platform-modern")
56
include(":core")
67

7-
project(":platform-sportpaper").projectDir = file("platform/platform-sportpaper")
8+
project(":platform-sportpaper").projectDir = file("platform/platform-sportpaper")
9+
project(":platform-modern").projectDir = file("platform/platform-modern")

0 commit comments

Comments
 (0)