fix: баги
- откат Nukkit-Mot - добавлен try-catch на отправку пакета
This commit is contained in:
Binary file not shown.
@@ -32,6 +32,14 @@ public class EntityMethod {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Player getPlayerToLong(long ent){
|
||||||
|
for (Level level : InnerCoreServer.server.getLevels().values())
|
||||||
|
for (Player entity : level.getPlayers().values())
|
||||||
|
if(entity.getId() == ent)
|
||||||
|
return entity;
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
public static EntityHuman getEntityHumanToLong(long ent){
|
public static EntityHuman getEntityHumanToLong(long ent){
|
||||||
for (Level level : InnerCoreServer.server.getLevels().values())
|
for (Level level : InnerCoreServer.server.getLevels().values())
|
||||||
for (Entity entity : level.getEntities())
|
for (Entity entity : level.getEntities())
|
||||||
|
|||||||
@@ -32,6 +32,8 @@ public class CustomItemClass extends Item implements ItemDurable {
|
|||||||
|
|
||||||
CompoundTag tag = getOrCreateNamedTag();
|
CompoundTag tag = getOrCreateNamedTag();
|
||||||
|
|
||||||
|
// tag.putInt("Damage", max_damage);
|
||||||
|
|
||||||
CompoundTag components = tag.getCompound("components");
|
CompoundTag components = tag.getCompound("components");
|
||||||
if(components == null){
|
if(components == null){
|
||||||
components = new CompoundTag();
|
components = new CompoundTag();
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
package com.zhekasmirnov.apparatus.multiplayer.server;
|
package com.zhekasmirnov.apparatus.multiplayer.server;
|
||||||
|
|
||||||
|
import cn.nukkit.Player;
|
||||||
import cn.nukkit.network.protocol.SetLocalPlayerAsInitializedPacket;
|
import cn.nukkit.network.protocol.SetLocalPlayerAsInitializedPacket;
|
||||||
|
import com.reider745.InnerCoreServer;
|
||||||
|
import com.reider745.entity.EntityMethod;
|
||||||
import com.zhekasmirnov.apparatus.multiplayer.Network;
|
import com.zhekasmirnov.apparatus.multiplayer.Network;
|
||||||
import com.zhekasmirnov.apparatus.multiplayer.ThreadTypeMarker;
|
import com.zhekasmirnov.apparatus.multiplayer.ThreadTypeMarker;
|
||||||
import com.zhekasmirnov.apparatus.multiplayer.channel.ChannelInterface;
|
import com.zhekasmirnov.apparatus.multiplayer.channel.ChannelInterface;
|
||||||
@@ -8,6 +11,7 @@ import com.zhekasmirnov.apparatus.multiplayer.channel.data.DataChannel;
|
|||||||
import com.zhekasmirnov.apparatus.util.Java8BackComp;
|
import com.zhekasmirnov.apparatus.util.Java8BackComp;
|
||||||
import com.zhekasmirnov.horizon.runtime.logger.Logger;
|
import com.zhekasmirnov.horizon.runtime.logger.Logger;
|
||||||
import com.zhekasmirnov.innercore.api.InnerCoreConfig;
|
import com.zhekasmirnov.innercore.api.InnerCoreConfig;
|
||||||
|
import com.zhekasmirnov.innercore.api.log.ICLog;
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@@ -191,11 +195,31 @@ public class ConnectedClient extends Thread implements ChannelInterface.OnPacket
|
|||||||
|
|
||||||
|
|
||||||
public void send(String name, Object data) {
|
public void send(String name, Object data) {
|
||||||
channel.send(name, data);
|
try{
|
||||||
|
channel.send(name, data);
|
||||||
|
}catch (Exception e){
|
||||||
|
ICLog.e("Network", "error send "+playerUid, e);
|
||||||
|
|
||||||
|
final Player player = EntityMethod.getPlayerToLong(playerUid);
|
||||||
|
if(player != null)
|
||||||
|
player.kick();
|
||||||
|
else
|
||||||
|
ICLog.i("Network", "error kick player");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public<T> void send(String name, T data, Class<T> dataType) {
|
public<T> void send(String name, T data, Class<T> dataType) {
|
||||||
channel.send(name, data, dataType);
|
try{
|
||||||
|
channel.send(name, data, dataType);
|
||||||
|
}catch (Exception e){
|
||||||
|
ICLog.e("Network", "error send "+playerUid, e);
|
||||||
|
|
||||||
|
final Player player = EntityMethod.getPlayerToLong(playerUid);
|
||||||
|
if(player != null)
|
||||||
|
player.kick();
|
||||||
|
else
|
||||||
|
ICLog.i("Network", "error kick player");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sendMessage(String message) {
|
public void sendMessage(String message) {
|
||||||
|
|||||||
Reference in New Issue
Block a user