[FEAT] APIs for Player Revive mod and Whitelist changes
This commit is contained in:
@@ -6,6 +6,8 @@ dependencies {
|
||||
modImplementation("maven.modrinth:vanishmod:${vanishmod}")
|
||||
|
||||
modImplementation("me.shedaniel.cloth:cloth-config-forge:${cloth_config}")
|
||||
modImplementation("unimaven.curseforge:playerrevive-266890:${player_revive}")
|
||||
modImplementation("unimaven.curseforge:creativecore-257814:${creative_core}")
|
||||
|
||||
// Do not edit or remove
|
||||
implementation project(":Common")
|
||||
|
@@ -2,6 +2,7 @@ package com.hypherionmc.craterlib;
|
||||
|
||||
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;
|
||||
@@ -37,5 +38,9 @@ public class CraterLib {
|
||||
if (ModloaderEnvironment.INSTANCE.isModLoaded("vmod")) {
|
||||
MinecraftForge.EVENT_BUS.register(new Vanish());
|
||||
}
|
||||
|
||||
if (ModloaderEnvironment.INSTANCE.isModLoaded("playerrevive")) {
|
||||
MinecraftForge.EVENT_BUS.register(new PlayerReviveEvents());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -3,6 +3,8 @@ 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 {
|
||||
@@ -19,4 +21,30 @@ public class ForgeCompatHelper implements CompatUtils {
|
||||
public String getSkinUUID(BridgedPlayer player) {
|
||||
return player.getStringUUID();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPlayerBleeding(BridgedPlayer player) {
|
||||
if (!ModloaderEnvironment.INSTANCE.isModLoaded("playerrevive"))
|
||||
return false;
|
||||
|
||||
return PlayerReviveServer.isBleeding(player.toMojangServerPlayer());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean playerBledOut(BridgedPlayer player) {
|
||||
if (!ModloaderEnvironment.INSTANCE.isModLoaded("playerrevive"))
|
||||
return false;
|
||||
|
||||
IBleeding bleeding = PlayerReviveServer.getBleeding(player.toMojangServerPlayer());
|
||||
return bleeding != null && bleeding.bledOut();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean playerRevived(BridgedPlayer player) {
|
||||
if (!ModloaderEnvironment.INSTANCE.isModLoaded("playerrevive"))
|
||||
return false;
|
||||
|
||||
IBleeding bleeding = PlayerReviveServer.getBleeding(player.toMojangServerPlayer());
|
||||
return bleeding != null && bleeding.revived();
|
||||
}
|
||||
}
|
||||
|
@@ -0,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())));
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user