[FEAT] APIs for Player Revive mod and Whitelist changes

This commit is contained in:
2025-02-01 15:30:30 +02:00
parent 74701a7817
commit a4aa7108e5
202 changed files with 2410 additions and 96 deletions

View File

@@ -8,8 +8,8 @@
+ modImplementation("maven.modrinth:vanishmod:${vanishmod}")
modImplementation("me.shedaniel.cloth:cloth-config-forge:${cloth_config}")
@@ -109,8 +109,8 @@
modImplementation("unimaven.curseforge:playerrevive-266890:${player_revive}")
@@ -111,8 +111,8 @@
setVersionType("release")
setChangelog(rootProject.file("changelog.md"))
setProjectVersion("${minecraft_version}-${project.version}")

View File

@@ -1,20 +1,25 @@
--- a/Forge/src/main/java/com/hypherionmc/craterlib/CraterLib.java
+++ b/Forge/src/main/java/com/hypherionmc/craterlib/CraterLib.java
@@ -2,6 +2,7 @@
@@ -2,6 +2,8 @@
import com.hypherionmc.craterlib.api.events.client.LateInitEvent;
import com.hypherionmc.craterlib.common.ForgeServerEvents;
+import com.hypherionmc.craterlib.compat.PlayerReviveEvents;
+import com.hypherionmc.craterlib.compat.Vanish;
import com.hypherionmc.craterlib.core.event.CraterEventBus;
import com.hypherionmc.craterlib.core.networking.CraterPacketNetwork;
import com.hypherionmc.craterlib.core.networking.data.PacketSide;
@@ -32,5 +33,9 @@
@@ -32,5 +34,13 @@
LateInitEvent event = new LateInitEvent(new BridgedMinecraft(), BridgedOptions.of(Minecraft.getInstance().options));
CraterEventBus.INSTANCE.postEvent(event);
});
+
+ if (ModloaderEnvironment.INSTANCE.isModLoaded("vmod")) {
+ MinecraftForge.EVENT_BUS.register(new Vanish());
+ }
+
+ if (ModloaderEnvironment.INSTANCE.isModLoaded("playerrevive")) {
+ MinecraftForge.EVENT_BUS.register(new PlayerReviveEvents());
+ }
}
}

View File

@@ -1,11 +1,13 @@
--- a/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java
+++ b/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java
@@ -1,13 +1,18 @@
@@ -1,15 +1,20 @@
package com.hypherionmc.craterlib.common;
import com.hypherionmc.craterlib.core.platform.CompatUtils;
+import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment;
import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer;
import team.creative.playerrevive.api.IBleeding;
import team.creative.playerrevive.server.PlayerReviveServer;
+import redstonedubstep.mods.vanishmod.VanishUtil;
public class ForgeCompatHelper implements CompatUtils {

View File

@@ -0,0 +1,26 @@
--- /dev/null
+++ b/Forge/src/main/java/com/hypherionmc/craterlib/compat/PlayerReviveEvents.java
@@ -1,0 +1,23 @@
+package com.hypherionmc.craterlib.compat;
+
+import com.hypherionmc.craterlib.core.event.CraterEventBus;
+import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer;
+import lombok.NoArgsConstructor;
+import net.minecraftforge.eventbus.api.SubscribeEvent;
+import team.creative.playerrevive.api.event.PlayerBleedOutEvent;
+import team.creative.playerrevive.api.event.PlayerRevivedEvent;
+
+@NoArgsConstructor
+public class PlayerReviveEvents {
+
+ @SubscribeEvent
+ public void playerRevived(PlayerRevivedEvent event) {
+ CraterEventBus.INSTANCE.postEvent(com.hypherionmc.craterlib.api.events.compat.PlayerRevivedEvent.of(BridgedPlayer.of(event.getPlayer())));
+ }
+
+ @SubscribeEvent
+ public void playerBledOutEvent(PlayerBleedOutEvent event) {
+ CraterEventBus.INSTANCE.postEvent(com.hypherionmc.craterlib.api.events.compat.PlayerRevivedEvent.of(BridgedPlayer.of(event.getPlayer())));
+ }
+
+}