mirror of
https://github.com/Xiao-MoMi/Custom-Nameplates.git
synced 2025-12-19 15:09:23 +00:00
2.2.0.8
This commit is contained in:
10
build.gradle
10
build.gradle
@@ -4,7 +4,7 @@ plugins {
|
|||||||
}
|
}
|
||||||
|
|
||||||
group = 'net.momirealms'
|
group = 'net.momirealms'
|
||||||
version = '2.2.0.7.3'
|
version = '2.2.0.8'
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
maven {name = "aliyun-repo"; url = "https://maven.aliyun.com/repository/public/"}
|
maven {name = "aliyun-repo"; url = "https://maven.aliyun.com/repository/public/"}
|
||||||
@@ -29,10 +29,11 @@ dependencies {
|
|||||||
compileOnly ('org.geysermc.floodgate:api:2.0-SNAPSHOT')
|
compileOnly ('org.geysermc.floodgate:api:2.0-SNAPSHOT')
|
||||||
compileOnly ('net.md-5:bungeecord-api:1.19-R0.1-SNAPSHOT')
|
compileOnly ('net.md-5:bungeecord-api:1.19-R0.1-SNAPSHOT')
|
||||||
compileOnly ('com.github.LoneDev6:api-itemsadder:3.2.3c')
|
compileOnly ('com.github.LoneDev6:api-itemsadder:3.2.3c')
|
||||||
implementation ('net.kyori:adventure-api:4.13.1')
|
compileOnly ('com.github.FrancoBM12:API-MagicCosmetics:2.2.0')
|
||||||
|
implementation ('net.kyori:adventure-api:4.14.0')
|
||||||
implementation ('net.kyori:adventure-platform-bukkit:4.3.0')
|
implementation ('net.kyori:adventure-platform-bukkit:4.3.0')
|
||||||
implementation ('net.kyori:adventure-text-minimessage:4.13.1')
|
implementation ('net.kyori:adventure-text-minimessage:4.14.0')
|
||||||
implementation ('net.kyori:adventure-text-serializer-gson:4.13.1')
|
implementation ('net.kyori:adventure-text-serializer-gson:4.14.0')
|
||||||
implementation ("org.bstats:bstats-bukkit:3.0.1")
|
implementation ("org.bstats:bstats-bukkit:3.0.1")
|
||||||
implementation fileTree (dir:'libs',includes:['BiomeAPI.jar'])
|
implementation fileTree (dir:'libs',includes:['BiomeAPI.jar'])
|
||||||
}
|
}
|
||||||
@@ -61,6 +62,7 @@ processResources {
|
|||||||
shadowJar {
|
shadowJar {
|
||||||
relocate ('net.kyori', 'net.momirealms.customnameplates.libs.net.kyori')
|
relocate ('net.kyori', 'net.momirealms.customnameplates.libs.net.kyori')
|
||||||
relocate ('org.bstats', 'net.momirealms.customnameplates.libs.org.bstats')
|
relocate ('org.bstats', 'net.momirealms.customnameplates.libs.org.bstats')
|
||||||
|
relocate ('net.momirealms', 'net.momirealms.customnameplates.libs.net.momirealms')
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.register("delete", Delete).get().delete("build/libs/"+project.name+"-"+project.version+".jar")
|
tasks.register("delete", Delete).get().delete("build/libs/"+project.name+"-"+project.version+".jar")
|
||||||
|
|||||||
BIN
libs/oraxen-api.jar
Normal file
BIN
libs/oraxen-api.jar
Normal file
Binary file not shown.
@@ -0,0 +1,63 @@
|
|||||||
|
package net.momirealms.customnameplates.listener.compatibility;
|
||||||
|
|
||||||
|
import com.francobm.magicosmetics.api.Cosmetic;
|
||||||
|
import com.francobm.magicosmetics.api.CosmeticType;
|
||||||
|
import com.francobm.magicosmetics.api.MagicAPI;
|
||||||
|
import com.francobm.magicosmetics.cache.cosmetics.Hat;
|
||||||
|
import com.francobm.magicosmetics.events.CosmeticChangeEquipEvent;
|
||||||
|
import com.francobm.magicosmetics.events.CosmeticEquipEvent;
|
||||||
|
import com.francobm.magicosmetics.events.CosmeticUnEquipEvent;
|
||||||
|
import net.momirealms.customnameplates.object.armorstand.ArmorStandManager;
|
||||||
|
import net.momirealms.customnameplates.object.nameplate.mode.EntityTag;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
|
||||||
|
public class MagicCosmeticsListener implements Listener {
|
||||||
|
|
||||||
|
private final EntityTag entityTag;
|
||||||
|
|
||||||
|
public MagicCosmeticsListener(EntityTag entityTag) {
|
||||||
|
this.entityTag = entityTag;
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onChangeCos(CosmeticChangeEquipEvent event) {
|
||||||
|
final Cosmetic cosmetic = event.getNewCosmetic();
|
||||||
|
final Player player = event.getPlayer();
|
||||||
|
if (cosmetic instanceof Hat hat) {
|
||||||
|
ArmorStandManager asm = entityTag.getArmorStandManager(player);
|
||||||
|
if (asm != null) {
|
||||||
|
asm.setHatOffset(hat.getOffSetY());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onEquip(CosmeticEquipEvent event) {
|
||||||
|
final Cosmetic cosmetic = event.getCosmetic();
|
||||||
|
final Player player = event.getPlayer();
|
||||||
|
if (cosmetic instanceof Hat hat) {
|
||||||
|
ArmorStandManager asm = entityTag.getArmorStandManager(player);
|
||||||
|
if (asm != null) {
|
||||||
|
asm.setHatOffset(hat.getOffSetY());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onUnEquip(CosmeticUnEquipEvent event) {
|
||||||
|
final Player player = event.getPlayer();
|
||||||
|
if (event.getCosmeticType() == CosmeticType.HAT) {
|
||||||
|
ArmorStandManager asm = entityTag.getArmorStandManager(player);
|
||||||
|
if (asm != null) {
|
||||||
|
asm.setHatOffset(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//TODO Lack an event
|
||||||
|
public void onJoin(Player player) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -205,7 +205,6 @@ public class ChatBubblesManager extends EntityTag {
|
|||||||
@Override
|
@Override
|
||||||
public void onJoin(Player player) {
|
public void onJoin(Player player) {
|
||||||
super.onJoin(player);
|
super.onJoin(player);
|
||||||
super.createArmorStandManager(player);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -214,6 +213,10 @@ public class ChatBubblesManager extends EntityTag {
|
|||||||
coolDownMap.remove(player);
|
coolDownMap.remove(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void init(Player player) {
|
||||||
|
createArmorStandManager(player);
|
||||||
|
}
|
||||||
|
|
||||||
private boolean isCoolDown(Player player, int lines) {
|
private boolean isCoolDown(Player player, int lines) {
|
||||||
long time = System.currentTimeMillis();
|
long time = System.currentTimeMillis();
|
||||||
if (time - (coolDownMap.getOrDefault(player, time - (long) coolDown * lines)) < (long) coolDown * lines) return true;
|
if (time - (coolDownMap.getOrDefault(player, time - (long) coolDown * lines)) < (long) coolDown * lines) return true;
|
||||||
|
|||||||
@@ -162,6 +162,8 @@ public class NameplateManager extends Function {
|
|||||||
contentMap.put(new ConditionalText(requirements, text), offset);
|
contentMap.put(new ConditionalText(requirements, text), offset);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else if (mode == DisplayMode.TEXT_DISPLAY) {
|
||||||
|
|
||||||
} else if (mode == DisplayMode.DISABLE) {
|
} else if (mode == DisplayMode.DISABLE) {
|
||||||
this.nameplateTag = new DisableNameplate(plugin);
|
this.nameplateTag = new DisableNameplate(plugin);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ public class ArmorStandManager {
|
|||||||
private final Vector<Player> nearbyPlayers;
|
private final Vector<Player> nearbyPlayers;
|
||||||
private Player[] nearbyPlayerArray ;
|
private Player[] nearbyPlayerArray ;
|
||||||
private final Player owner;
|
private final Player owner;
|
||||||
|
private double hatOffset;
|
||||||
|
|
||||||
public ArmorStandManager(Player owner) {
|
public ArmorStandManager(Player owner) {
|
||||||
this.owner = owner;
|
this.owner = owner;
|
||||||
@@ -170,4 +171,13 @@ public class ArmorStandManager {
|
|||||||
fakeArmorStand.teleport();
|
fakeArmorStand.teleport();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public double getHatOffset() {
|
||||||
|
return hatOffset;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHatOffset(double hatOffset) {
|
||||||
|
this.hatOffset = hatOffset;
|
||||||
|
teleport();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -204,6 +204,7 @@ public class FakeArmorStand {
|
|||||||
else y += 1.8;
|
else y += 1.8;
|
||||||
}
|
}
|
||||||
else y += 0.2;
|
else y += 0.2;
|
||||||
|
y += asm.getHatOffset();
|
||||||
return new Location(null, x, y, z);
|
return new Location(null, x, y, z);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -20,5 +20,6 @@ package net.momirealms.customnameplates.object.nameplate.mode;
|
|||||||
public enum DisplayMode {
|
public enum DisplayMode {
|
||||||
TEAM,
|
TEAM,
|
||||||
ARMOR_STAND,
|
ARMOR_STAND,
|
||||||
|
TEXT_DISPLAY,
|
||||||
DISABLE
|
DISABLE
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ package net.momirealms.customnameplates.object.nameplate.mode;
|
|||||||
|
|
||||||
import net.momirealms.customnameplates.CustomNameplates;
|
import net.momirealms.customnameplates.CustomNameplates;
|
||||||
import net.momirealms.customnameplates.listener.EntityTagListener;
|
import net.momirealms.customnameplates.listener.EntityTagListener;
|
||||||
|
import net.momirealms.customnameplates.listener.compatibility.MagicCosmeticsListener;
|
||||||
import net.momirealms.customnameplates.object.armorstand.ArmorStandManager;
|
import net.momirealms.customnameplates.object.armorstand.ArmorStandManager;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.GameMode;
|
import org.bukkit.GameMode;
|
||||||
@@ -34,10 +35,14 @@ public abstract class EntityTag extends AbstractNameplateTag {
|
|||||||
|
|
||||||
protected EntityTagListener entityTagListener;
|
protected EntityTagListener entityTagListener;
|
||||||
protected PacketsHandler handler;
|
protected PacketsHandler handler;
|
||||||
|
protected MagicCosmeticsListener magicCosmeticsListener;
|
||||||
|
|
||||||
protected EntityTag(CustomNameplates plugin) {
|
protected EntityTag(CustomNameplates plugin) {
|
||||||
super(plugin);
|
super(plugin);
|
||||||
this.entityTagListener = new EntityTagListener(this);
|
this.entityTagListener = new EntityTagListener(this);
|
||||||
|
if (Bukkit.getPluginManager().getPlugin("MagicCosmetics") != null) {
|
||||||
|
this.magicCosmeticsListener = new MagicCosmeticsListener(this);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -45,6 +50,7 @@ public abstract class EntityTag extends AbstractNameplateTag {
|
|||||||
super.load();
|
super.load();
|
||||||
handler.load();
|
handler.load();
|
||||||
Bukkit.getPluginManager().registerEvents(entityTagListener, CustomNameplates.getInstance());
|
Bukkit.getPluginManager().registerEvents(entityTagListener, CustomNameplates.getInstance());
|
||||||
|
if (magicCosmeticsListener != null) Bukkit.getPluginManager().registerEvents(magicCosmeticsListener, CustomNameplates.getInstance());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -56,11 +62,13 @@ public abstract class EntityTag extends AbstractNameplateTag {
|
|||||||
}
|
}
|
||||||
armorStandManagerMap.clear();
|
armorStandManagerMap.clear();
|
||||||
HandlerList.unregisterAll(entityTagListener);
|
HandlerList.unregisterAll(entityTagListener);
|
||||||
|
if (magicCosmeticsListener != null) HandlerList.unregisterAll(magicCosmeticsListener);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onJoin(Player player) {
|
public void onJoin(Player player) {
|
||||||
handler.onJoin(player);
|
handler.onJoin(player);
|
||||||
|
init(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -72,6 +80,10 @@ public abstract class EntityTag extends AbstractNameplateTag {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void init(Player player) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public ArmorStandManager createArmorStandManager(Player player) {
|
public ArmorStandManager createArmorStandManager(Player player) {
|
||||||
ArmorStandManager asm = new ArmorStandManager(player);
|
ArmorStandManager asm = new ArmorStandManager(player);
|
||||||
armorStandManagerMap.put(player, asm);
|
armorStandManagerMap.put(player, asm);
|
||||||
|
|||||||
@@ -56,14 +56,17 @@ public class ArmorStandTag extends EntityTag {
|
|||||||
@Override
|
@Override
|
||||||
public void onJoin(Player player) {
|
public void onJoin(Player player) {
|
||||||
super.onJoin(player);
|
super.onJoin(player);
|
||||||
ArmorStandManager asm = createArmorStandManager(player);
|
|
||||||
asm.initNameplateArmorStands();
|
|
||||||
for (Player viewer : Bukkit.getOnlinePlayers()) {
|
for (Player viewer : Bukkit.getOnlinePlayers()) {
|
||||||
spawnArmorStands(viewer, player);
|
spawnArmorStands(viewer, player);
|
||||||
spawnArmorStands(player, viewer);
|
spawnArmorStands(player, viewer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void init(Player player) {
|
||||||
|
ArmorStandManager asm = createArmorStandManager(player);
|
||||||
|
asm.initNameplateArmorStands();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void loadToAllPlayers() {
|
public void loadToAllPlayers() {
|
||||||
super.loadToAllPlayers();
|
super.loadToAllPlayers();
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ softdepend:
|
|||||||
- TAB
|
- TAB
|
||||||
- Oraxen
|
- Oraxen
|
||||||
- TrChat
|
- TrChat
|
||||||
|
- MagicCosmetics
|
||||||
commands:
|
commands:
|
||||||
customnameplates:
|
customnameplates:
|
||||||
usage: /customnameplates
|
usage: /customnameplates
|
||||||
|
|||||||
Reference in New Issue
Block a user