Skip to content

Commit

Permalink
+ 双端消息修复
Browse files Browse the repository at this point in the history
  • Loading branch information
cnlimiter committed Nov 2, 2023
1 parent af9aa00 commit 64f4ee8
Show file tree
Hide file tree
Showing 13 changed files with 96 additions and 53 deletions.
8 changes: 8 additions & 0 deletions forge/src/main/java/cn/evole/mods/mcbot/Const.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
package cn.evole.mods.mcbot;

//#if MC >= 11700
import net.minecraftforge.fml.ModList;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.fml.javafmlmod.FMLModContainer;
import net.minecraftforge.fml.loading.FMLLoader;
import net.minecraftforge.fml.loading.FMLPaths;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
//#else
Expand All @@ -23,5 +28,8 @@ public class Const {
//#endif
public static boolean isShutdown = false;

public static boolean isLoad(String modId){
return ModList.get().isLoaded(modId);
}

}
16 changes: 8 additions & 8 deletions forge/src/main/java/cn/evole/mods/mcbot/IMcBot.java
Original file line number Diff line number Diff line change
Expand Up @@ -109,17 +109,17 @@ public void onServerTick(MinecraftServer server) {
public void onServerChat(Level level, Player player, String msg) {
IChatEvent.register(level, player, msg);
}
public void onPlayerLogIn(Player player) {
IPlayerEvent.loggedIn(player);
public void onPlayerLogIn(Level level, Player player) {
IPlayerEvent.loggedIn(level, player);
}

public void onPlayerLogOut(Player player) {
IPlayerEvent.loggedOut(player);
public void onPlayerLogOut(Level level, Player player) {
IPlayerEvent.loggedOut(level, player);
}
public void onPlayerDeath(DamageSource source, ServerPlayer player) {
IPlayerEvent.death(source, player);
public void onPlayerDeath(Level level, DamageSource source, ServerPlayer player) {
IPlayerEvent.death(level, source, player);
}
public void onPlayerAdvancement(Player player, Advancement advancement) {
IPlayerEvent.advancement(player, advancement);
public void onPlayerAdvancement(Level level, Player player, Advancement advancement) {
IPlayerEvent.advancement(level, player, advancement);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level;
//#if MC >= 11800
import net.minecraftforge.common.ForgeI18n;
//#elseif MC < 11700
Expand All @@ -23,8 +24,11 @@
* Version: 1.0
*/
public class IPlayerEvent {
public static void loggedIn(Player player) {
if (IMcBot.config.getStatus().isSJoinEnable() && IMcBot.config.getStatus().isSEnable()) {
public static void loggedIn(Level level, Player player) {
if (IMcBot.config.getStatus().isSJoinEnable()
&& IMcBot.config.getStatus().isSEnable()
&& !level.isClientSide
) {
if (IMcBot.config.getCommon().isGuildOn() && !IMcBot.config.getCommon().getChannelIdList().isEmpty()) {
for (String id : IMcBot.config.getCommon().getChannelIdList())
IMcBot.bot.sendGuildMsg(IMcBot.config.getCommon().getGuildId(), id, player.getDisplayName().getString() + " 加入了服务器");
Expand All @@ -34,10 +38,11 @@ public static void loggedIn(Player player) {
}
}
}
public static void loggedOut(Player player) {


if (IMcBot.config.getStatus().isSLeaveEnable() && IMcBot.config.getStatus().isSEnable()) {
public static void loggedOut(Level level, Player player) {
if (IMcBot.config.getStatus().isSLeaveEnable()
&& IMcBot.config.getStatus().isSEnable()
&& !level.isClientSide
) {
if (IMcBot.config.getCommon().isGuildOn() && !IMcBot.config.getCommon().getChannelIdList().isEmpty()) {
for (String id : IMcBot.config.getCommon().getChannelIdList())
IMcBot.bot.sendGuildMsg(IMcBot.config.getCommon().getGuildId(), id, player.getDisplayName().getString() + " 离开了服务器");
Expand All @@ -47,8 +52,12 @@ public static void loggedOut(Player player) {
}
}
}
public static void death(DamageSource source, ServerPlayer player) {
if (player != null && IMcBot.config.getStatus().isSDeathEnable() && IMcBot.config.getStatus().isSEnable()) {
public static void death(Level level, DamageSource source, ServerPlayer player) {
if (player != null
&& IMcBot.config.getStatus().isSDeathEnable()
&& IMcBot.config.getStatus().isSEnable()
&& !level.isClientSide
) {
LivingEntity livingEntity2 = player.getKillCredit();
String msg = "";

Expand Down Expand Up @@ -84,9 +93,12 @@ public static void death(DamageSource source, ServerPlayer player) {
}
}

public static void advancement(Player player, Advancement advancement) {

if (IMcBot.config.getStatus().isSAdvanceEnable() && advancement.getDisplay() != null && IMcBot.config.getStatus().isSEnable()) {
public static void advancement(Level level, Player player, Advancement advancement) {
if (IMcBot.config.getStatus().isSAdvanceEnable()
&& advancement.getDisplay() != null
&& IMcBot.config.getStatus().isSEnable()
&& !level.isClientSide
) {
String msg = ForgeI18n.parseMessage("mcbot.chat.type.advancement." + advancement.getDisplay().getFrame().getName(), player.getDisplayName().getString(), ForgeI18n.parseMessage(advancement.getDisplay().getTitle().getString()));

if (IMcBot.config.getCommon().isGuildOn() && !IMcBot.config.getCommon().getChannelIdList().isEmpty()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public static String replace(String msg) {
val data = matcher.group(2);
switch (type) {
case "image": {
if (IMcBot.config.getCommon().isImageOn()) {
if (IMcBot.config.getCommon().isImageOn() && Const.isLoad("chatimage")) {
val url = Arrays.stream(data.split(","))//具体数据分割
.filter(it -> it.startsWith("url"))//非空判断
.map(it -> it.substring(it.indexOf('=') + 1))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,22 +66,24 @@ public void onServerStopped(@NotNull FMLServerStoppedEvent event){

@SubscribeEvent
public void onPlayerIn(PlayerEvent.@NotNull PlayerLoggedInEvent event){
this.mcBot.onPlayerLogIn(event.getPlayer());
this.mcBot.onPlayerLogIn(event.getPlayer().level, event.getPlayer());
}
@SubscribeEvent
public void onPlayerOut(PlayerEvent.@NotNull PlayerLoggedOutEvent event){
this.mcBot.onPlayerLogOut(event.getPlayer());
this.mcBot.onPlayerLogOut(event.getPlayer().level, event.getPlayer());
}
@SubscribeEvent
public void onPlayerDeath(@NotNull LivingDeathEvent event){
if (event.getEntity() instanceof ServerPlayer)
this.mcBot.onPlayerDeath(
event.getSource(),
(ServerPlayer) event.getEntity());
event.getEntity().level,
event.getSource(),
(ServerPlayer) event.getEntity());
}
@SubscribeEvent
public void onPlayerAdvancement(@NotNull AdvancementEvent event){
this.mcBot.onPlayerAdvancement(
event.getPlayer().level,
event.getPlayer(),
event.getAdvancement()
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,22 +66,24 @@ public void onServerStopped(@NotNull FMLServerStoppedEvent event){

@SubscribeEvent
public void onPlayerIn(PlayerEvent.@NotNull PlayerLoggedInEvent event){
this.mcBot.onPlayerLogIn(event.getPlayer());
this.mcBot.onPlayerLogIn(event.getPlayer().level, event.getPlayer());
}
@SubscribeEvent
public void onPlayerOut(PlayerEvent.@NotNull PlayerLoggedOutEvent event){
this.mcBot.onPlayerLogOut(event.getPlayer());
this.mcBot.onPlayerLogOut(event.getPlayer().level, event.getPlayer());
}
@SubscribeEvent
public void onPlayerDeath(@NotNull LivingDeathEvent event){
if (event.getEntity() instanceof ServerPlayer)
this.mcBot.onPlayerDeath(
event.getEntity().level,
event.getSource(),
(ServerPlayer) event.getEntity());
}
@SubscribeEvent
public void onPlayerAdvancement(@NotNull AdvancementEvent event){
this.mcBot.onPlayerAdvancement(
event.getPlayer().level,
event.getPlayer(),
event.getAdvancement()
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,22 +67,24 @@ public void onServerStopped(@NotNull FMLServerStoppedEvent event){

@SubscribeEvent
public void onPlayerIn(PlayerEvent.@NotNull PlayerLoggedInEvent event){
this.mcBot.onPlayerLogIn(event.getPlayer());
this.mcBot.onPlayerLogIn(event.getPlayer().level, event.getPlayer());
}
@SubscribeEvent
public void onPlayerOut(PlayerEvent.@NotNull PlayerLoggedOutEvent event){
this.mcBot.onPlayerLogOut(event.getPlayer());
this.mcBot.onPlayerLogOut(event.getPlayer().level, event.getPlayer());
}
@SubscribeEvent
public void onPlayerDeath(@NotNull LivingDeathEvent event){
if (event.getEntity() instanceof ServerPlayer)
this.mcBot.onPlayerDeath(
event.getEntity().level,
event.getSource(),
(ServerPlayer) event.getEntity());
}
@SubscribeEvent
public void onPlayerAdvancement(@NotNull AdvancementEvent event){
this.mcBot.onPlayerAdvancement(
event.getPlayer().level,
event.getPlayer(),
event.getAdvancement()
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,22 +70,24 @@ public void onServerStopped(@NotNull FMLServerStoppedEvent event){

@SubscribeEvent
public void onPlayerIn(PlayerEvent.@NotNull PlayerLoggedInEvent event){
this.mcBot.onPlayerLogIn(event.getPlayer());
this.mcBot.onPlayerLogIn(event.getPlayer().level, event.getPlayer());
}
@SubscribeEvent
public void onPlayerOut(PlayerEvent.@NotNull PlayerLoggedOutEvent event){
this.mcBot.onPlayerLogOut(event.getPlayer());
this.mcBot.onPlayerLogOut(event.getPlayer().level, event.getPlayer());
}
@SubscribeEvent
public void onPlayerDeath(@NotNull LivingDeathEvent event){
if (event.getEntity() instanceof ServerPlayer serverPlayer)
this.mcBot.onPlayerDeath(
event.getEntity().level,
event.getSource(),
serverPlayer);
}
@SubscribeEvent
public void onPlayerAdvancement(@NotNull AdvancementEvent event){
this.mcBot.onPlayerAdvancement(
event.getPlayer().level,
event.getPlayer(),
event.getAdvancement()
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,22 +71,24 @@ public void onServerStopped(@NotNull ServerStoppedEvent event){

@SubscribeEvent
public void onPlayerIn(PlayerEvent.@NotNull PlayerLoggedInEvent event){
this.mcBot.onPlayerLogIn(event.getPlayer());
this.mcBot.onPlayerLogIn(event.getPlayer().level, event.getPlayer());
}
@SubscribeEvent
public void onPlayerOut(PlayerEvent.@NotNull PlayerLoggedOutEvent event){
this.mcBot.onPlayerLogOut(event.getPlayer());
this.mcBot.onPlayerLogOut(event.getPlayer().level, event.getPlayer());
}
@SubscribeEvent
public void onPlayerDeath(@NotNull LivingDeathEvent event){
if (event.getEntity() instanceof ServerPlayer serverPlayer)
this.mcBot.onPlayerDeath(
event.getSource(),
serverPlayer);
event.getEntity().level,
event.getSource(),
serverPlayer);
}
@SubscribeEvent
public void onPlayerAdvancement(@NotNull AdvancementEvent event){
this.mcBot.onPlayerAdvancement(
event.getPlayer().level,
event.getPlayer(),
event.getAdvancement()
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,22 +70,24 @@ public void onServerStopped(@NotNull ServerStoppedEvent event){

@SubscribeEvent
public void onPlayerIn(PlayerEvent.@NotNull PlayerLoggedInEvent event){
this.mcBot.onPlayerLogIn(event.getEntity());
this.mcBot.onPlayerLogIn(event.getEntity().level, event.getEntity());
}
@SubscribeEvent
public void onPlayerOut(PlayerEvent.@NotNull PlayerLoggedOutEvent event){
this.mcBot.onPlayerLogOut(event.getEntity());
this.mcBot.onPlayerLogOut(event.getEntity().level, event.getEntity());
}
@SubscribeEvent
public void onPlayerDeath(@NotNull LivingDeathEvent event){
if (event.getEntity() instanceof ServerPlayer serverPlayer)
this.mcBot.onPlayerDeath(
event.getEntity().level,
event.getSource(),
serverPlayer);
}
@SubscribeEvent
public void onPlayerAdvancement(@NotNull AdvancementEvent.AdvancementEarnEvent event){
this.mcBot.onPlayerAdvancement(
event.getEntity().level,
event.getEntity(),
event.getAdvancement()
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,22 +70,24 @@ public void onServerStopped(@NotNull ServerStoppedEvent event){

@SubscribeEvent
public void onPlayerIn(PlayerEvent.@NotNull PlayerLoggedInEvent event){
this.mcBot.onPlayerLogIn(event.getEntity());
this.mcBot.onPlayerLogIn(event.getEntity().level, event.getEntity());
}
@SubscribeEvent
public void onPlayerOut(PlayerEvent.@NotNull PlayerLoggedOutEvent event){
this.mcBot.onPlayerLogOut(event.getEntity());
this.mcBot.onPlayerLogOut(event.getEntity().level, event.getEntity());
}
@SubscribeEvent
public void onPlayerDeath(@NotNull LivingDeathEvent event){
if (event.getEntity() instanceof ServerPlayer serverPlayer)
this.mcBot.onPlayerDeath(
event.getEntity().level,
event.getSource(),
serverPlayer);
}
@SubscribeEvent
public void onPlayerAdvancement(@NotNull AdvancementEvent.AdvancementEarnEvent event){
this.mcBot.onPlayerAdvancement(
event.getEntity().level,
event.getEntity(),
event.getAdvancement()
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,22 +70,24 @@ public void onServerStopped(@NotNull ServerStoppedEvent event){

@SubscribeEvent
public void onPlayerIn(PlayerEvent.@NotNull PlayerLoggedInEvent event){
this.mcBot.onPlayerLogIn(event.getEntity());
this.mcBot.onPlayerLogIn(event.getEntity().level, event.getEntity());
}
@SubscribeEvent
public void onPlayerOut(PlayerEvent.@NotNull PlayerLoggedOutEvent event){
this.mcBot.onPlayerLogOut(event.getEntity());
this.mcBot.onPlayerLogOut(event.getEntity().level, event.getEntity());
}
@SubscribeEvent
public void onPlayerDeath(@NotNull LivingDeathEvent event){
if (event.getEntity() instanceof ServerPlayer serverPlayer)
this.mcBot.onPlayerDeath(
event.getEntity().level,
event.getSource(),
serverPlayer);
}
@SubscribeEvent
public void onPlayerAdvancement(@NotNull AdvancementEvent.AdvancementEarnEvent event){
this.mcBot.onPlayerAdvancement(
event.getEntity().level,
event.getEntity(),
event.getAdvancement()
);
Expand Down
Loading

0 comments on commit 64f4ee8

Please sign in to comment.