WHEN WILL THIS END!

This commit is contained in:
Kam committed 2025-01-29 21:50:55 -05:00
1 parent 06275fffa6
commit d91d4668d6
26 files changed
+322 -343

No files matched your search

+3 -5
View File
@@ -6,11 +6,9 @@ import foxz.commandhelper.annotations.SubCommand;
import foxz.commandhelper.permissions.OpOnly;
import foxz.commandhelper.permissions.ParamCheck;
import kamkeel.npcs.controllers.SyncMaster;
import kamkeel.npcs.network.PacketUtil;
import net.minecraft.entity.player.EntityPlayerMP;
import noppes.npcs.Server;
import noppes.npcs.constants.EnumPacketClient;
import noppes.npcs.controllers.QuestController;
import noppes.npcs.controllers.SyncController;
import noppes.npcs.controllers.data.PlayerData;
import noppes.npcs.controllers.data.Quest;
import noppes.npcs.controllers.data.QuestData;
@@ -59,8 +57,8 @@ public class CmdQuest extends ChMcLogger{
playerdata.questData.activeQuests.put(questid, questdata);
playerdata.save();
if(playerdata.player != null){
Server.sendData((EntityPlayerMP)playerdata.player, EnumPacketClient.MESSAGE, "quest.newquest", quest.title);
Server.sendData((EntityPlayerMP)playerdata.player, EnumPacketClient.CHAT, "quest.newquest", ": ", quest.title);
PacketUtil.sendAchievement((EntityPlayerMP) playerdata.player, false, "quest.newquest", quest.title);
PacketUtil.sendChatAlert((EntityPlayerMP) playerdata.player, "quest.newquest", ": ", quest.title);
}
playerdata.updateClient = true;
}
@@ -1,10 +1,9 @@
package kamkeel.npcs.command;
import kamkeel.npcs.network.PacketUtil;
import net.minecraft.command.CommandException;
import net.minecraft.command.ICommandSender;
import net.minecraft.entity.player.EntityPlayerMP;
import noppes.npcs.Server;
import noppes.npcs.constants.EnumPacketClient;
import noppes.npcs.constants.EnumQuestRepeat;
import noppes.npcs.controllers.PlayerDataController;
import noppes.npcs.controllers.QuestController;
@@ -93,8 +92,8 @@ public class QuestCategoryCommand extends CommandKamkeelBase {
playerdata.questData.finishedQuests.put(quest.id, sender.getEntityWorld().getTotalWorldTime());
if(playerdata.player != null){
Server.sendData((EntityPlayerMP)playerdata.player, EnumPacketClient.MESSAGE, "quest.completed", quest.title);
Server.sendData((EntityPlayerMP)playerdata.player, EnumPacketClient.CHAT, "quest.completed", ": ", quest.title);
PacketUtil.sendAchievement((EntityPlayerMP) playerdata.player, false, "quest.completed", quest.title);
PacketUtil.sendChatAlert((EntityPlayerMP) playerdata.player, "quest.completed", ": ", quest.title);
}
count++;
}
@@ -185,8 +184,8 @@ public class QuestCategoryCommand extends CommandKamkeelBase {
count++;
if(playerdata.player != null && questData.sendAlerts){
Server.sendData((EntityPlayerMP)playerdata.player, EnumPacketClient.MESSAGE, "quest.newquest", quest.title);
Server.sendData((EntityPlayerMP)playerdata.player, EnumPacketClient.CHAT, "quest.newquest", ": ", quest.title);
PacketUtil.sendAchievement((EntityPlayerMP) playerdata.player, false, "quest.newquest", quest.title);
PacketUtil.sendChatAlert((EntityPlayerMP) playerdata.player, "quest.newquest", ": ", quest.title);
}
}
}
@@ -1,18 +1,16 @@
package kamkeel.npcs.command;
import kamkeel.npcs.controllers.SyncMaster;
import kamkeel.npcs.network.PacketUtil;
import net.minecraft.command.CommandException;
import net.minecraft.command.ICommandSender;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import noppes.npcs.Server;
import noppes.npcs.api.handler.data.IQuestObjective;
import noppes.npcs.constants.EnumPacketClient;
import noppes.npcs.constants.EnumQuestCompletion;
import noppes.npcs.constants.EnumQuestRepeat;
import noppes.npcs.controllers.PlayerDataController;
import noppes.npcs.controllers.QuestController;
import noppes.npcs.controllers.SyncController;
import noppes.npcs.controllers.data.Party;
import noppes.npcs.controllers.data.PlayerData;
import noppes.npcs.controllers.data.Quest;
@@ -66,8 +64,8 @@ public class QuestCommand extends CommandKamkeelBase {
playerdata.questData.activeQuests.put(questid, questdata);
playerdata.save();
if(playerdata.player != null && questdata.sendAlerts){
Server.sendData((EntityPlayerMP)playerdata.player, EnumPacketClient.MESSAGE, "quest.newquest", quest.title);
Server.sendData((EntityPlayerMP)playerdata.player, EnumPacketClient.CHAT, "quest.newquest", ": ", quest.title);
PacketUtil.sendAchievement((EntityPlayerMP) playerdata.player, false, "quest.newquest", quest.title);
PacketUtil.sendChatAlert((EntityPlayerMP) playerdata.player, "quest.newquest", ": ", quest.title);
}
playerdata.updateClient = true;
sendResult(sender, String.format("Started Quest \u00A7e%d\u00A77 for Player '\u00A7b%s\u00A77'", questid, playerdata.playername));
@@ -112,8 +110,8 @@ public class QuestCommand extends CommandKamkeelBase {
playerdata.save();
if(playerdata.player != null){
Server.sendData((EntityPlayerMP)playerdata.player, EnumPacketClient.MESSAGE, "quest.completed", quest.title);
Server.sendData((EntityPlayerMP)playerdata.player, EnumPacketClient.CHAT, "quest.completed", ": ", quest.title);
PacketUtil.sendAchievement((EntityPlayerMP) playerdata.player, false, "quest.completed", quest.title);
PacketUtil.sendChatAlert((EntityPlayerMP) playerdata.player, "quest.completed", ": ", quest.title);
}
playerdata.updateClient = true;
sendResult(sender, String.format("Finished Quest \u00A7e%d\u00A77 for Player '\u00A7b%s\u00A77'", questid, playerdata.playername));
@@ -1,20 +0,0 @@
package kamkeel.npcs.network;
import kamkeel.npcs.network.packets.client.large.LargeScrollGroupPacket;
import kamkeel.npcs.network.packets.client.large.LargeScrollDataPacket;
import net.minecraft.entity.player.EntityPlayerMP;
import java.util.Map;
public class KamUtilServer {
public static void sendScrollData(EntityPlayerMP player, Map<String, Integer> map) {
LargeScrollDataPacket packet = new LargeScrollDataPacket(map);
PacketHandler.Instance.sendToPlayer(packet, player);
}
public static void sendScrollGroup(EntityPlayerMP player, Map<String,Integer> map){
LargeScrollGroupPacket packet = new LargeScrollGroupPacket(map);
PacketHandler.Instance.sendToPlayer(packet, player);
}
}
@@ -6,17 +6,24 @@ import cpw.mods.fml.common.network.FMLNetworkEvent;
import cpw.mods.fml.common.network.NetworkRegistry;
import cpw.mods.fml.common.network.internal.FMLProxyPacket;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import kamkeel.npcs.network.enums.EnumPacketType;
import kamkeel.npcs.network.packets.client.AchievementPacket;
import kamkeel.npcs.network.packets.client.ChatAlertPacket;
import kamkeel.npcs.network.packets.client.ChatBubblePacket;
import kamkeel.npcs.network.packets.client.large.LargeScrollDataPacket;
import kamkeel.npcs.network.packets.client.large.LargeScrollGroupPacket;
import kamkeel.npcs.network.packets.client.large.LargeScrollListPacket;
import kamkeel.npcs.network.packets.client.large.sync.LargeSyncPacket;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.network.NetHandlerPlayServer;
import noppes.npcs.CustomNpcs;
import noppes.npcs.LogWriter;
import noppes.npcs.constants.EnumPacketClient;
import java.io.IOException;
import java.util.*;
public final class PacketHandler {
@@ -45,6 +52,11 @@ public final class PacketHandler {
LARGE_PACKET.registerPacket(new LargeScrollDataPacket());
LARGE_PACKET.registerPacket(new LargeScrollListPacket());
LARGE_PACKET.registerPacket(new LargeSyncPacket());
// Client Packets
CLIENT_PACKET.registerPacket(new ChatBubblePacket());
CLIENT_PACKET.registerPacket(new ChatAlertPacket());
CLIENT_PACKET.registerPacket(new AchievementPacket());
}
private void registerChannels() {
@@ -159,16 +171,7 @@ public final class PacketHandler {
sendAllPackets(packet, eventChannel::sendToAll);
}
public void sendToAllAround(AbstractPacket packet, NetworkRegistry.TargetPoint point) {
FMLEventChannel eventChannel = getEventChannel(packet);
if (eventChannel == null) {
LogWriter.error("Error: Event channel is null for packet: " + packet.getClass().getName());
return;
}
sendAllPackets(packet, p -> eventChannel.sendToAllAround(p, point));
}
public void sendToDimension(AbstractPacket packet, int dimensionId) {
public void sendToDimension(AbstractPacket packet, final int dimensionId) {
FMLEventChannel eventChannel = getEventChannel(packet);
if (eventChannel == null) {
LogWriter.error("Error: Event channel is null for packet: " + packet.getClass().getName());
@@ -177,6 +180,16 @@ public final class PacketHandler {
sendAllPackets(packet, p -> eventChannel.sendToDimension(p, dimensionId));
}
public void sendTracking(AbstractPacket packet, final Entity entity) {
FMLEventChannel eventChannel = getEventChannel(packet);
if (eventChannel == null) {
LogWriter.error("Error: Event channel is null for packet: " + packet.getClass().getName());
return;
}
final NetworkRegistry.TargetPoint point = new NetworkRegistry.TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 60);
sendAllPackets(packet, p -> eventChannel.sendToAllAround(p, point));
}
// Simple functional interface to unify the "send" action
private interface SendAction {
void send(FMLProxyPacket proxy);
@@ -0,0 +1,39 @@
package kamkeel.npcs.network;
import kamkeel.npcs.network.packets.client.ChatAlertPacket;
import kamkeel.npcs.network.packets.client.AchievementPacket;
import kamkeel.npcs.network.packets.client.large.LargeScrollGroupPacket;
import kamkeel.npcs.network.packets.client.large.LargeScrollDataPacket;
import kamkeel.npcs.network.packets.client.large.LargeScrollListPacket;
import net.minecraft.entity.player.EntityPlayerMP;
import java.util.List;
import java.util.Map;
public class PacketUtil {
public static void sendScrollData(EntityPlayerMP player, Map<String, Integer> map) {
LargeScrollDataPacket packet = new LargeScrollDataPacket(map);
PacketHandler.Instance.sendToPlayer(packet, player);
}
public static void sendScrollGroup(EntityPlayerMP player, Map<String,Integer> map){
LargeScrollGroupPacket packet = new LargeScrollGroupPacket(map);
PacketHandler.Instance.sendToPlayer(packet, player);
}
public static void sendList(EntityPlayerMP player, List<String> list){
LargeScrollListPacket packet = new LargeScrollListPacket(list);
PacketHandler.Instance.sendToPlayer(packet, player);
}
public static void sendChatAlert(EntityPlayerMP playerMP, final Object... obs){
ChatAlertPacket packet = new ChatAlertPacket(obs);
PacketHandler.Instance.sendToPlayer(packet, playerMP);
}
public static void sendAchievement(EntityPlayerMP playerMP, boolean isParty, String description, String message){
AchievementPacket packet = new AchievementPacket(isParty, description, message);
PacketHandler.Instance.sendToPlayer(packet, playerMP);
}
}
@@ -3,8 +3,8 @@ package kamkeel.npcs.network.enums;
// Packets to the Client
public enum EnumClientPacket {
SYNC,
CHAT,
MESSAGE,
CHAT_ALERT,
ACHIEVEMENT,
PARTY_MESSAGE,
SYNCRECIPES_ADD,
SYNCRECIPES_WORKBENCH,
@@ -35,7 +35,6 @@ public enum EnumClientPacket {
CLONER,
TELEPORTER,
OPEN_BOOK,
DIALOG_DUMMY,
CONFIG,
ISGUIOPEN,
SCRIPT_OVERLAY_DATA,
@@ -0,0 +1,71 @@
package kamkeel.npcs.network.packets.client;
import cpw.mods.fml.common.ObfuscationReflectionHelper;
import cpw.mods.fml.relauncher.Side;
import io.netty.buffer.ByteBuf;
import kamkeel.npcs.network.AbstractPacket;
import kamkeel.npcs.network.PacketChannel;
import kamkeel.npcs.network.PacketHandler;
import kamkeel.npcs.network.enums.EnumClientPacket;
import kamkeel.npcs.util.ByteBufUtils;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.achievement.GuiAchievement;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.stats.Achievement;
import net.minecraft.util.StatCollector;
import noppes.npcs.CustomItems;
import noppes.npcs.CustomNpcs;
import noppes.npcs.client.MessageAchievement;
import noppes.npcs.config.ConfigClient;
import java.io.IOException;
public final class AchievementPacket extends AbstractPacket {
public static final String packetName = "Client|Achievement";
private boolean isParty;
private String description;
private String message;
public AchievementPacket() {}
public AchievementPacket(boolean isParty, String description, String message) {
this.isParty = isParty;
this.description = description;
this.message = message;
}
@Override
public Enum getType() {
return EnumClientPacket.ACHIEVEMENT;
}
@Override
public PacketChannel getChannel() {
return PacketHandler.CLIENT_PACKET;
}
@Override
public void sendData(ByteBuf out) throws IOException {
out.writeBoolean(this.isParty);
ByteBufUtils.writeString(out, this.description);
ByteBufUtils.writeString(out, this.message);
}
@Override
public void receiveData(ByteBuf in, EntityPlayer player) throws IOException {
if(!ConfigClient.BannerAlerts)
return;
if(CustomNpcs.side() != Side.CLIENT)
return;
boolean isNotParty = !in.readBoolean();
String description = StatCollector.translateToLocal(ByteBufUtils.readString(in));
String message = ByteBufUtils.readString(in);
Achievement ach = isNotParty ? new MessageAchievement(message, description) : new MessageAchievement(CustomItems.bag == null ? Items.paper : CustomItems.bag, message, description);
Minecraft.getMinecraft().guiAchievement.func_146256_a(ach);
ObfuscationReflectionHelper.setPrivateValue(GuiAchievement.class, Minecraft.getMinecraft().guiAchievement, ach.getDescription(), 4);
}
}
@@ -6,21 +6,29 @@ import kamkeel.npcs.network.AbstractPacket;
import kamkeel.npcs.network.PacketChannel;
import kamkeel.npcs.network.PacketHandler;
import kamkeel.npcs.network.enums.EnumClientPacket;
import kamkeel.npcs.util.ByteBufUtils;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.ChatComponentTranslation;
import noppes.npcs.CustomNpcs;
import noppes.npcs.Server;
import noppes.npcs.config.ConfigClient;
import java.io.IOException;
public final class ChatPacket extends AbstractPacket {
public static final String packetName = "Client|Chat";
public final class ChatAlertPacket extends AbstractPacket {
public static final String packetName = "Client|ChatAlert";
public ChatPacket() {}
private Object[] objects;
public ChatAlertPacket() {}
public ChatAlertPacket(final Object... obs) {
this.objects = obs;
}
@Override
public Enum getType() {
return EnumClientPacket.CHAT;
return EnumClientPacket.CHAT_ALERT;
}
@Override
@@ -30,11 +38,14 @@ public final class ChatPacket extends AbstractPacket {
@Override
public void sendData(ByteBuf out) throws IOException {
// TODO: Send Packet
ByteBufUtils.fillBuffer(out, this.objects);
}
@Override
public void receiveData(ByteBuf in, EntityPlayer player) throws IOException {
if(!ConfigClient.ChatAlerts)
return;
if(CustomNpcs.side() != Side.CLIENT)
return;
@@ -6,13 +6,13 @@ import kamkeel.npcs.network.AbstractPacket;
import kamkeel.npcs.network.PacketChannel;
import kamkeel.npcs.network.PacketHandler;
import kamkeel.npcs.network.enums.EnumClientPacket;
import kamkeel.npcs.util.ByteBufUtils;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.ChatComponentTranslation;
import noppes.npcs.CustomNpcs;
import noppes.npcs.NoppesStringUtils;
import noppes.npcs.Server;
import noppes.npcs.client.RenderChatMessages;
import noppes.npcs.entity.EntityNPCInterface;
@@ -21,8 +21,17 @@ import java.io.IOException;
public final class ChatBubblePacket extends AbstractPacket {
public static final String packetName = "Client|ChatBubble";
private int entityId;
private String text;
private boolean hideText;
public ChatBubblePacket() {}
public ChatBubblePacket(int entityId, String text, boolean hideText) {
this.entityId = entityId;
this.text = text;
this.hideText = hideText;
}
@Override
public Enum getType() {
@@ -36,7 +45,9 @@ public final class ChatBubblePacket extends AbstractPacket {
@Override
public void sendData(ByteBuf out) throws IOException {
// TODO: Send Packet
out.writeInt(this.entityId);
ByteBufUtils.writeString(out, this.text);
out.writeBoolean(this.hideText);
}
@Override
@@ -45,12 +56,13 @@ public final class ChatBubblePacket extends AbstractPacket {
return;
Entity entity = Minecraft.getMinecraft().theWorld.getEntityByID(in.readInt());
if(entity == null || !(entity instanceof EntityNPCInterface))
if(!(entity instanceof EntityNPCInterface))
return;
EntityNPCInterface npc = (EntityNPCInterface) entity;
if(npc.messages == null)
npc.messages = new RenderChatMessages();
String text = NoppesStringUtils.formatText(Server.readString(in), player, npc);
String text = NoppesStringUtils.formatText(ByteBufUtils.readString(in), player, npc);
npc.messages.addMessage(text, npc);
if(in.readBoolean())
@@ -1,41 +0,0 @@
package kamkeel.npcs.network.packets.client;
import io.netty.buffer.ByteBuf;
import kamkeel.npcs.network.AbstractPacket;
import kamkeel.npcs.network.PacketChannel;
import kamkeel.npcs.network.PacketHandler;
import kamkeel.npcs.network.enums.EnumClientPacket;
import net.minecraft.entity.player.EntityPlayer;
import noppes.npcs.Server;
import noppes.npcs.client.NoppesUtil;
import noppes.npcs.entity.EntityDialogNpc;
import java.io.IOException;
public final class DialogDummyPacket extends AbstractPacket {
public static final String packetName = "Client|DialogDummy";
public DialogDummyPacket() {}
@Override
public Enum getType() {
return EnumClientPacket.DIALOG_DUMMY;
}
@Override
public PacketChannel getChannel() {
return PacketHandler.CLIENT_PACKET;
}
@Override
public void sendData(ByteBuf out) throws IOException {
// TODO: Send Packet
}
@Override
public void receiveData(ByteBuf in, EntityPlayer player) throws IOException {
EntityDialogNpc npc = new EntityDialogNpc(player.worldObj);
npc.display.name = Server.readString(in);
NoppesUtil.openDialog(Server.readNBT(in), npc, player);
}
}
@@ -5,11 +5,14 @@ import kamkeel.npcs.network.AbstractPacket;
import kamkeel.npcs.network.PacketChannel;
import kamkeel.npcs.network.PacketHandler;
import kamkeel.npcs.network.enums.EnumClientPacket;
import kamkeel.npcs.util.ByteBufUtils;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import noppes.npcs.Server;
import noppes.npcs.client.NoppesUtil;
import noppes.npcs.entity.EntityDialogNpc;
import noppes.npcs.entity.EntityNPCInterface;
import java.io.IOException;
@@ -17,8 +20,18 @@ import java.io.IOException;
public final class DialogPacket extends AbstractPacket {
public static final String packetName = "Client|Dialog";
private String dummyName;
private int entityID;
private NBTTagCompound compound;
public DialogPacket() {}
public DialogPacket(String dummyName, int entityID, NBTTagCompound compound) {
this.dummyName = dummyName;
this.entityID = entityID;
this.compound = compound;
}
@Override
public Enum getType() {
return EnumClientPacket.DIALOG;
@@ -31,15 +44,29 @@ public final class DialogPacket extends AbstractPacket {
@Override
public void sendData(ByteBuf out) throws IOException {
// TODO: Send Packet
out.writeInt(this.entityID);
ByteBufUtils.writeString(out, this.dummyName);
ByteBufUtils.writeNBT(out, this.compound);
}
@Override
public void receiveData(ByteBuf in, EntityPlayer player) throws IOException {
Entity entity = Minecraft.getMinecraft().theWorld.getEntityByID(in.readInt());
if (!(entity instanceof EntityNPCInterface)) {
return;
int entityID = in.readInt();
String name = ByteBufUtils.readString(in);
NBTTagCompound tagCompound = ByteBufUtils.readNBT(in);
// Dummy NPC
if(entityID == -1){
EntityDialogNpc npc = new EntityDialogNpc(player.worldObj);
npc.display.name = name;
NoppesUtil.openDialog(tagCompound, npc, player);
}
else {
Entity entity = Minecraft.getMinecraft().theWorld.getEntityByID(entityID);
if (!(entity instanceof EntityNPCInterface)) {
return;
}
NoppesUtil.openDialog(tagCompound, (EntityNPCInterface) entity, player);
}
NoppesUtil.openDialog(Server.readNBT(in), (EntityNPCInterface) entity, player);
}
}
@@ -16,8 +16,13 @@ import java.io.IOException;
public final class EditNpcPacket extends AbstractPacket {
public static final String packetName = "Client|EditNpc";
int entityId;
public EditNpcPacket() {}
public EditNpcPacket(int entityId) {
this.entityId = entityId;
}
@Override
public Enum getType() {
return EnumClientPacket.EDIT_NPC;
@@ -30,7 +35,7 @@ public final class EditNpcPacket extends AbstractPacket {
@Override
public void sendData(ByteBuf out) throws IOException {
// TODO: Send Packet
out.writeInt(this.entityId);
}
@Override
@@ -1,53 +0,0 @@
package kamkeel.npcs.network.packets.client;
import cpw.mods.fml.common.ObfuscationReflectionHelper;
import cpw.mods.fml.relauncher.Side;
import io.netty.buffer.ByteBuf;
import kamkeel.npcs.network.AbstractPacket;
import kamkeel.npcs.network.PacketChannel;
import kamkeel.npcs.network.PacketHandler;
import kamkeel.npcs.network.enums.EnumClientPacket;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.achievement.GuiAchievement;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.stats.Achievement;
import net.minecraft.util.StatCollector;
import noppes.npcs.CustomNpcs;
import noppes.npcs.Server;
import java.io.IOException;
public final class MessagePacket extends AbstractPacket {
public static final String packetName = "Client|Message";
public MessagePacket() {}
@Override
public Enum getType() {
return EnumClientPacket.MESSAGE;
}
@Override
public PacketChannel getChannel() {
return PacketHandler.CLIENT_PACKET;
}
@Override
public void sendData(ByteBuf out) throws IOException {
// TODO: Send Packet
}
@Override
public void receiveData(ByteBuf in, EntityPlayer player) throws IOException {
if(CustomNpcs.side() != Side.CLIENT)
return;
// TODO: Fix Message Packet
// String description = StatCollector.translateToLocal(Server.readString(in));
// String message = Server.readString(in);
// Achievement achievement = new Achievement(message, description);
// GuiAchievement guiAchievement = Minecraft.getMinecraft().guiAchievement;
// guiAchievement.func_146256_a(achievement);
// ObfuscationReflectionHelper.setPrivateValue(GuiAchievement.class, guiAchievement, achievement.getDescription(), 4);
}
}
@@ -5,6 +5,7 @@ import kamkeel.npcs.network.AbstractPacket;
import kamkeel.npcs.network.PacketChannel;
import kamkeel.npcs.network.PacketHandler;
import kamkeel.npcs.network.enums.EnumClientPacket;
import kamkeel.npcs.util.ByteBufUtils;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
@@ -18,8 +19,14 @@ import java.io.IOException;
public final class RolePacket extends AbstractPacket {
public static final String packetName = "Client|Role";
private NBTTagCompound compound;
public RolePacket() {}
public RolePacket(NBTTagCompound compound) {
this.compound = compound;
}
@Override
public Enum getType() {
return EnumClientPacket.ROLE;
@@ -32,12 +39,12 @@ public final class RolePacket extends AbstractPacket {
@Override
public void sendData(ByteBuf out) throws IOException {
// TODO: Send Packet
ByteBufUtils.writeNBT(out, this.compound);
}
@Override
public void receiveData(ByteBuf in, EntityPlayer player) throws IOException {
NBTTagCompound compound = Server.readNBT(in);
NBTTagCompound compound = ByteBufUtils.readNBT(in);
Entity entity = Minecraft.getMinecraft().theWorld.getEntityByID(compound.getInteger("EntityId"));
if (entity instanceof EntityNPCInterface) {
EntityNPCInterface npc = (EntityNPCInterface) entity;
@@ -9,8 +9,6 @@ import net.minecraft.network.PacketBuffer;
import net.minecraft.village.MerchantRecipeList;
import noppes.npcs.LogWriter;
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
@@ -18,10 +16,7 @@ import java.util.Map;
public class ByteBufUtils extends cpw.mods.fml.common.network.ByteBufUtils {
// TODO: Modify this to check if it a large packet so we don't need the condition at the bottom or make two
// differnt methods one for fillBuffer normal and one fillLargeBuffer
public static boolean fillBuffer(ByteBuf buffer, Enum enu, Object... obs) throws IOException{
buffer.writeInt(enu.ordinal());
public static void fillBuffer(ByteBuf buffer, Object... obs) throws IOException{
for(Object ob : obs){
if(ob == null)
continue;
@@ -66,12 +61,7 @@ public class ByteBufUtils extends cpw.mods.fml.common.network.ByteBufUtils {
else if(ob instanceof NBTTagCompound)
writeNBT(buffer, (NBTTagCompound) ob);
}
if(buffer.array().length >= 32767){
LogWriter.error("Packet " + enu + " was too big to be send");
LogWriter.script( "Issue occurred with the following Packet - " + enu + ":\n" + Arrays.toString(obs));
return false;
}
return true;
return;
}
public static void writeIntArray(ByteBuf buffer, int[] arr) {
+50 -71
View File
@@ -2,6 +2,12 @@ package noppes.npcs;
import io.netty.buffer.ByteBuf;
import kamkeel.npcs.controllers.SyncMaster;
import kamkeel.npcs.network.PacketHandler;
import kamkeel.npcs.network.PacketUtil;
import kamkeel.npcs.network.packets.client.DialogPacket;
import kamkeel.npcs.network.packets.client.EditNpcPacket;
import kamkeel.npcs.network.packets.client.RolePacket;
import kamkeel.npcs.util.ByteBufUtils;
import net.minecraft.command.server.CommandBlockLogic;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityList;
@@ -14,7 +20,6 @@ import net.minecraft.entity.projectile.EntityThrowable;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompressedStreamTools;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.server.MinecraftServer;
import net.minecraft.tileentity.MobSpawnerBaseLogic;
@@ -42,45 +47,45 @@ import noppes.npcs.scripted.NpcAPI;
import noppes.npcs.scripted.ScriptSound;
import noppes.npcs.scripted.event.DialogEvent;
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.IOException;
import java.text.DecimalFormat;
import java.util.*;
import java.util.zip.GZIPOutputStream;
import static kamkeel.npcs.network.KamUtilServer.sendScrollData;
import static kamkeel.npcs.network.PacketUtil.sendScrollData;
import static kamkeel.npcs.network.PacketUtil.sendScrollGroup;
public class NoppesUtilServer {
private static HashMap<String,Quest> editingQuests = new HashMap<String,Quest>();
public static void setEditingNpc(EntityPlayer player, EntityNPCInterface npc){
PlayerData data = PlayerDataController.Instance.getPlayerData(player);
data.editingNpc = npc;
if(npc != null)
Server.sendDataChecked((EntityPlayerMP)player, EnumPacketClient.EDIT_NPC, npc.getEntityId());
}
public static EntityNPCInterface getEditingNpc(EntityPlayer player){
PlayerData data = PlayerDataController.Instance.getPlayerData(player);
return data.editingNpc;
PlayerData data = PlayerDataController.Instance.getPlayerData(player);
data.editingNpc = npc;
if(npc != null)
PacketHandler.Instance.sendToPlayer(new EditNpcPacket(npc.getEntityId()), (EntityPlayerMP)player);
}
public static EntityNPCInterface getEditingNpc(EntityPlayer player){
PlayerData data = PlayerDataController.Instance.getPlayerData(player);
return data.editingNpc;
}
public static void setEditingQuest(EntityPlayer player, Quest quest) {
editingQuests.put(player.getCommandSenderName(), quest);
}
public static void setEditingQuest(EntityPlayer player, Quest quest) {
editingQuests.put(player.getCommandSenderName(), quest);
}
public static Quest getEditingQuest(EntityPlayer player){
return editingQuests.get(player.getCommandSenderName());
return editingQuests.get(player.getCommandSenderName());
}
public static void sendRoleData(EntityPlayer player, EntityNPCInterface npc){
if(npc.advanced.role == EnumRoleType.None)
return;
NBTTagCompound comp = new NBTTagCompound();
npc.roleInterface.writeToNBT(comp);
comp.setInteger("EntityId", npc.getEntityId());
comp.setInteger("Role", npc.advanced.role.ordinal());
Server.sendData((EntityPlayerMP)player, EnumPacketClient.ROLE, comp);
if(npc.advanced.role == EnumRoleType.None)
return;
NBTTagCompound comp = new NBTTagCompound();
npc.roleInterface.writeToNBT(comp);
comp.setInteger("EntityId", npc.getEntityId());
comp.setInteger("Role", npc.advanced.role.ordinal());
PacketHandler.Instance.sendToPlayer(new RolePacket(comp), (EntityPlayerMP)player);
}
public static void sendFactionDataAll(EntityPlayerMP player) {
@@ -187,11 +192,12 @@ public class NoppesUtilServer {
if(npc instanceof EntityDialogNpc || dia.id < 0){
dialog.hideNPC = true;
Server.sendData((EntityPlayerMP)player, EnumPacketClient.DIALOG_DUMMY, npc.getCommandSenderName(), dialog.writeToNBT(new NBTTagCompound()));
PacketHandler.Instance.sendToPlayer(new DialogPacket(npc.getCommandSenderName(), -1, dialog.writeToNBT(new NBTTagCompound())), (EntityPlayerMP)player);
}
else
Server.sendData((EntityPlayerMP)player, EnumPacketClient.DIALOG, npc.getEntityId(), dialog.writeToNBT(new NBTTagCompound()));
dia.factionOptions.addPoints(player);
PacketHandler.Instance.sendToPlayer(new DialogPacket("Real", npc.getEntityId(), dialog.writeToNBT(new NBTTagCompound())), (EntityPlayerMP)player);
dia.factionOptions.addPoints(player);
if(dialog.hasQuest())
PlayerQuestController.addActiveQuest(new QuestData(dialog.getQuest()),player);
if(!dialog.command.isEmpty()){
@@ -266,9 +272,6 @@ public class NoppesUtilServer {
player.destroyCurrentEquippedItem();
}
public static DataOutputStream getDataOutputStream(ByteArrayOutputStream stream) throws IOException{
return new DataOutputStream(new GZIPOutputStream(stream));
}
public static void sendOpenGui(EntityPlayer player,
EnumGuiType gui, EntityNPCInterface npc) {
sendOpenGui(player, gui, npc, 0, 0, 0);
@@ -292,14 +295,14 @@ public class NoppesUtilServer {
return;
}
else{
Server.sendDataChecked((EntityPlayerMP)player, EnumPacketClient.GUI, gui.ordinal(), i, j, k);
BOB.sendDataChecked((EntityPlayerMP)player, EnumPacketClient.GUI, gui.ordinal(), i, j, k);
}
ArrayList<String> list = getScrollData(player, gui, npc);
if(list == null || list.isEmpty())
return;
Server.sendData((EntityPlayerMP)player, EnumPacketClient.SCROLL_LIST, list);
}
PacketUtil.sendList((EntityPlayerMP)player, list);
}
public static void sendOpenGuiNoDelay(final EntityPlayer player,
final EnumGuiType gui, final EntityNPCInterface npc, final int i, final int j, final int k) {
@@ -314,13 +317,13 @@ public class NoppesUtilServer {
return;
}
else{
Server.sendDataChecked((EntityPlayerMP)player, EnumPacketClient.GUI, gui.ordinal(), i, j, k);
BOB.sendDataChecked((EntityPlayerMP)player, EnumPacketClient.GUI, gui.ordinal(), i, j, k);
}
ArrayList<String> list = getScrollData(player, gui, npc);
if(list == null || list.isEmpty())
return;
Server.sendData((EntityPlayerMP)player, EnumPacketClient.SCROLL_LIST, list);
PacketUtil.sendList((EntityPlayerMP)player, list);
}
@@ -356,14 +359,14 @@ public class NoppesUtilServer {
return null;
}
public static void spawnParticle(Entity entity,String particle,int dimension){
Server.sendAssociatedData(entity, EnumPacketClient.PARTICLE, entity.posX, entity.posY, entity.posZ, entity.height, entity.width, entity.yOffset, particle);
BOB.sendAssociatedData(entity, EnumPacketClient.PARTICLE, entity.posX, entity.posY, entity.posZ, entity.height, entity.width, entity.yOffset, particle);
}
public static void spawnScriptedParticle(NBTTagCompound compound, int dimensionId){
List<EntityPlayer> list = MinecraftServer.getServer().getConfigurationManager().playerEntityList;
for (EntityPlayer player : list) {
if (player.worldObj.provider.dimensionId == dimensionId) {
Server.sendData((EntityPlayerMP) player, EnumPacketClient.SCRIPTED_PARTICLE, compound);
BOB.sendData((EntityPlayerMP) player, EnumPacketClient.SCRIPTED_PARTICLE, compound);
}
}
}
@@ -411,7 +414,7 @@ public class NoppesUtilServer {
}
public static void deleteNpc(EntityNPCInterface npc,EntityPlayer player) {
Server.sendAssociatedData(npc, EnumPacketClient.DELETE_NPC, npc.getEntityId());
BOB.sendAssociatedData(npc, EnumPacketClient.DELETE_NPC, npc.getEntityId());
}
public static void createMobSpawner(int x, int y, int z, NBTTagCompound comp, EntityPlayer player) {
@@ -515,7 +518,7 @@ public class NoppesUtilServer {
int id = buffer.readInt();
if(EnumPlayerData.values().length <= id)
return;
String name = Server.readString(buffer);
String name = ByteBufUtils.readString(buffer);
EnumPlayerData type = EnumPlayerData.values()[id];
EntityPlayer pl = MinecraftServer.getServer().getConfigurationManager().func_152612_a(name);
PlayerData playerdata = null;
@@ -596,29 +599,6 @@ public class NoppesUtilServer {
}
sendScrollData(player, map);
}
// public static void sendScrollData(EntityPlayerMP player, Map<String,Integer> map){
// Map<String, Integer> send = new HashMap<String, Integer>();
// for(String key : map.keySet()){
// send.put(key, map.get(key));
// if(send.size() == 100){
// Server.sendData(player, EnumPacketClient.SCROLL_DATA_PART, send);
// send = new HashMap<String, Integer>();
// }
// }
// Server.sendData(player, EnumPacketClient.SCROLL_DATA, send);
// }
public static void sendScrollGroup(EntityPlayerMP player, Map<String,Integer> map){
Map<String, Integer> send = new HashMap<String, Integer>();
for(String key : map.keySet()){
send.put(key, map.get(key));
if(send.size() == 100){
Server.sendData(player, EnumPacketClient.SCROLL_GROUP_PART, send);
send = new HashMap<String, Integer>();
}
}
Server.sendData(player, EnumPacketClient.SCROLL_GROUP, send);
}
public static void sendDialogData(EntityPlayerMP player, DialogCategory category) {
if(category == null)
@@ -693,8 +673,7 @@ public class NoppesUtilServer {
NBTTagCompound compound = option.writeNBT();
compound.setInteger("Position", pos);
Server.sendData((EntityPlayerMP)player, EnumPacketClient.GUI_DATA, compound);
BOB.sendData((EntityPlayerMP)player, EnumPacketClient.GUI_DATA, compound);
}
}
@@ -730,13 +709,13 @@ public class NoppesUtilServer {
public static void setClonerGui(EntityPlayerMP player, int x, int y, int z){
if(player == null)
return;
Server.sendData(player, EnumPacketClient.CLONER, x, y, z);
BOB.sendData(player, EnumPacketClient.CLONER, x, y, z);
}
public static void setTeleporterGUI(EntityPlayerMP player){
if(player == null)
return;
Server.sendData(player, EnumPacketClient.TELEPORTER);
BOB.sendData(player, EnumPacketClient.TELEPORTER);
}
public static void setRecipeGui(EntityPlayerMP player, RecipeCarpentry recipe){
@@ -748,13 +727,13 @@ public class NoppesUtilServer {
ContainerManageRecipes container = (ContainerManageRecipes) player.openContainer;
container.setRecipe(recipe);
Server.sendData(player, EnumPacketClient.GUI_DATA, recipe.writeNBT());
BOB.sendData(player, EnumPacketClient.GUI_DATA, recipe.writeNBT());
}
public static void sendBank(EntityPlayerMP player,Bank bank) {
NBTTagCompound compound = new NBTTagCompound();
bank.writeEntityToNBT(compound);
Server.sendData(player, EnumPacketClient.GUI_DATA, compound);
BOB.sendData(player, EnumPacketClient.GUI_DATA, compound);
if(player.openContainer instanceof ContainerManageBanks){
((ContainerManageBanks)player.openContainer).setBank(bank);
@@ -780,14 +759,14 @@ public class NoppesUtilServer {
}
public static void sendGuiError(EntityPlayer player, int i) {
Server.sendData((EntityPlayerMP)player, EnumPacketClient.GUI_ERROR, i, new NBTTagCompound());
BOB.sendData((EntityPlayerMP)player, EnumPacketClient.GUI_ERROR, i, new NBTTagCompound());
}
public static void sendGuiClose(EntityPlayerMP player, int i, NBTTagCompound comp) {
if(player.openContainer != player.inventoryContainer){
player.openContainer = player.inventoryContainer;
}
Server.sendData(player, EnumPacketClient.GUI_CLOSE, i, comp);
BOB.sendData(player, EnumPacketClient.GUI_CLOSE, i, comp);
}
public static Entity spawnCloneWithProtection(NBTTagCompound compound, int x, int y,
@@ -829,7 +808,7 @@ public class NoppesUtilServer {
public static Entity spawnClone(NBTTagCompound compound, int x, int y,
int z, World worldObj) {
Entity entity = NoppesUtilServer.getEntityFromNBT(compound,x,y,z,worldObj);
Entity entity = getEntityFromNBT(compound,x,y,z,worldObj);
if(entity == null){
return null;
}
@@ -6,7 +6,7 @@ import cpw.mods.fml.common.network.FMLNetworkEvent.ServerCustomPacketEvent;
import cpw.mods.fml.relauncher.Side;
import foxz.utils.Market;
import io.netty.buffer.ByteBuf;
import kamkeel.npcs.network.KamUtilServer;
import kamkeel.npcs.network.PacketUtil;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityList;
import net.minecraft.entity.passive.EntityVillager;
@@ -103,7 +103,7 @@ public class PacketHandlerServer{
WorldProvider provider = DimensionManager.createProviderFor(id);
map.put(provider.getDimensionName(), id);
}
KamUtilServer.sendScrollData(player, map);
PacketUtil.sendScrollData(player, map);
} else if(type == EnumPacketServer.TagsGet){
NoppesUtilServer.sendTagDataAll(player);
} else if (type == EnumPacketServer.NpcTagsGet) {
@@ -585,7 +585,7 @@ public class PacketHandlerServer{
Server.sendData(player, EnumPacketClient.GUI_DATA, compound);
}
else if(type == EnumPacketServer.DialogCategoriesGet){
KamUtilServer.sendScrollData(player, DialogController.Instance.getScroll());
PacketUtil.sendScrollData(player, DialogController.Instance.getScroll());
}
else if(type == EnumPacketServer.DialogsGetFromDialog){
Dialog dialog = DialogController.Instance.dialogs.get(buffer.readInt());
@@ -798,7 +798,7 @@ public class PacketHandlerServer{
NoppesUtilServer.setRecipeGui(player,recipe);
}
else if(type == EnumPacketServer.NaturalSpawnGetAll){
KamUtilServer.sendScrollData(player, SpawnController.Instance.getScroll());
PacketUtil.sendScrollData(player, SpawnController.Instance.getScroll());
}
else if(type == EnumPacketServer.NaturalSpawnGet){
SpawnData spawn = SpawnController.Instance.getSpawnData(buffer.readInt());
@@ -811,21 +811,21 @@ public class PacketHandlerServer{
data.readNBT(Server.readNBT(buffer));
SpawnController.Instance.saveSpawnData(data);
KamUtilServer.sendScrollData(player, SpawnController.Instance.getScroll());
PacketUtil.sendScrollData(player, SpawnController.Instance.getScroll());
}
else if(type == EnumPacketServer.NaturalSpawnRemove){
SpawnController.Instance.removeSpawnData(buffer.readInt());
KamUtilServer.sendScrollData(player, SpawnController.Instance.getScroll());
PacketUtil.sendScrollData(player, SpawnController.Instance.getScroll());
}
else if(type == EnumPacketServer.DialogCategorySave){
DialogCategory category = new DialogCategory();
category.readNBT(Server.readNBT(buffer));
DialogController.Instance.saveCategory(category);
KamUtilServer.sendScrollData(player, DialogController.Instance.getScroll());
PacketUtil.sendScrollData(player, DialogController.Instance.getScroll());
}
else if(type == EnumPacketServer.DialogCategoryRemove){
DialogController.Instance.removeCategory(buffer.readInt());
KamUtilServer.sendScrollData(player, DialogController.Instance.getScroll());
PacketUtil.sendScrollData(player, DialogController.Instance.getScroll());
}
else if(type == EnumPacketServer.DialogCategoryGet){
DialogCategory category = DialogController.Instance.categories.get(buffer.readInt());
@@ -58,41 +58,7 @@ public class PacketHandlerClient extends PacketHandlerServer{
}
private void client(ByteBuf buffer, final EntityPlayer player, EnumPacketClient type) throws IOException{
if(type == EnumPacketClient.CHATBUBBLE){
Entity entity = Minecraft.getMinecraft().theWorld.getEntityByID(buffer.readInt());
if(entity == null || !(entity instanceof EntityNPCInterface))
return;
EntityNPCInterface npc = (EntityNPCInterface) entity;
if(npc.messages == null)
npc.messages = new RenderChatMessages();
String text = NoppesStringUtils.formatText(Server.readString(buffer), player, npc);
npc.messages.addMessage(text, npc);
if(buffer.readBoolean())
player.addChatMessage(new ChatComponentTranslation(npc.getCommandSenderName() + ": " + text));
}
else if(type == EnumPacketClient.CHAT){
if(!ConfigClient.ChatAlerts)
return;
String message = "";
String str;
while((str = Server.readString(buffer)) != null && !str.isEmpty())
message += StatCollector.translateToLocal(str);
player.addChatMessage(new ChatComponentTranslation(message));
}
else if(type == EnumPacketClient.MESSAGE || type == EnumPacketClient.PARTY_MESSAGE){
if(!ConfigClient.BannerAlerts)
return;
String description = StatCollector.translateToLocal(Server.readString(buffer));
String message = Server.readString(buffer);
Achievement ach = type == EnumPacketClient.MESSAGE ? new MessageAchievement(message, description) : new MessageAchievement(CustomItems.bag == null ? Items.paper : CustomItems.bag, message, description);
Minecraft.getMinecraft().guiAchievement.func_146256_a(ach);
ObfuscationReflectionHelper.setPrivateValue(GuiAchievement.class, Minecraft.getMinecraft().guiAchievement, ach.getDescription(), 4);
}
else if(type == EnumPacketClient.SYNCRECIPES_ADD){
if(type == EnumPacketClient.SYNCRECIPES_ADD){
NBTTagList list = Server.readNBT(buffer).getTagList("recipes", 10);
if(list == null)
return;
@@ -181,21 +147,6 @@ public class PacketHandlerClient extends PacketHandlerServer{
return;
((EntityNPCInterface)entity).delete();
}
else if(type == EnumPacketClient.SCROLL_LIST){
NoppesUtil.setScrollList(buffer);
}
else if(type == EnumPacketClient.SCROLL_DATA){
NoppesUtil.setScrollData(buffer);
}
else if(type == EnumPacketClient.SCROLL_DATA_PART){
NoppesUtil.addScrollData(buffer);
}
else if(type == EnumPacketClient.SCROLL_GROUP){
NoppesUtil.setScrollGroup(buffer);
}
else if(type == EnumPacketClient.SCROLL_GROUP_PART){
NoppesUtil.addScrollGroup(buffer);
}
else if(type == EnumPacketClient.SCROLL_SELECTED){
GuiScreen gui = Minecraft.getMinecraft().currentScreen;
if(gui == null || !(gui instanceof IScrollData))
@@ -2,9 +2,6 @@ package
noppes.npcs.constants;
public enum EnumPacketClient {
CHAT,
MESSAGE,
PARTY_MESSAGE,
SYNCRECIPES_ADD,
SYNCRECIPES_WORKBENCH,
DIALOG,
@@ -18,11 +15,6 @@ public enum EnumPacketClient {
SCRIPTED_PARTICLE,
PARTICLE,
DELETE_NPC,
SCROLL_LIST,
SCROLL_DATA,
SCROLL_DATA_PART,
SCROLL_GROUP,
SCROLL_GROUP_PART,
SCROLL_SELECTED,
GUI_REDSTONE,
GUI_WAYPOINT,
@@ -30,7 +22,6 @@ public enum EnumPacketClient {
GUI_ERROR,
GUI_CLOSE,
VILLAGER_LIST,
CHATBUBBLE,
SYNCRECIPES_CARPENTRYBENCH,
CLONE,
CLONER,
@@ -1,5 +1,6 @@
package noppes.npcs.controllers;
import kamkeel.npcs.network.PacketUtil;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.nbt.NBTTagCompound;
@@ -68,8 +69,8 @@ public class PartyController {
playerData.partyUUID = null;
if(player != null){
sendInviteData((EntityPlayerMP) player);
Server.sendData((EntityPlayerMP) player, EnumPacketClient.PARTY_MESSAGE, "party.disbandAlert");
Server.sendData((EntityPlayerMP) player, EnumPacketClient.CHAT, "\u00A7c", "party.disbandMessage", "!");
PacketUtil.sendAchievement((EntityPlayerMP) player, true, "party.disbandAlert", "");
PacketUtil.sendChatAlert((EntityPlayerMP) player, "\u00A7c", "party.disbandMessage", "!");
}
}
}
@@ -84,14 +85,14 @@ public class PartyController {
for(String name : party.getPlayerNames()){
EntityPlayer playerMP = NoppesUtilServer.getPlayerByName(name);
if(playerMP != null){
Server.sendData((EntityPlayerMP) playerMP, EnumPacketClient.PARTY_MESSAGE, "party.kickOtherAlert", kickPlayerName);
Server.sendData((EntityPlayerMP) playerMP, EnumPacketClient.CHAT, "\u00A7e", kickPlayerName, " \u00A74", "party.kickOtherChat", "!");
PacketUtil.sendAchievement((EntityPlayerMP) playerMP, true, "party.kickOtherAlert", kickPlayerName);
PacketUtil.sendChatAlert((EntityPlayerMP) playerMP, "\u00A7e", kickPlayerName, " \u00A74", "party.kickOtherChat", "!");
}
}
if(kickPlayer != null){
Server.sendData((EntityPlayerMP) kickPlayer, EnumPacketClient.PARTY_MESSAGE, "party.kickYouAlert", "");
Server.sendData((EntityPlayerMP) kickPlayer, EnumPacketClient.CHAT, "\u00A74", "party.kickYouChat", "!");
PacketUtil.sendAchievement((EntityPlayerMP) kickPlayer, true, "party.kickYouAlert", "");
PacketUtil.sendChatAlert((EntityPlayerMP) kickPlayer, "\u00A74", "party.kickYouChat", "!");
}
}
@@ -102,12 +103,12 @@ public class PartyController {
for(String name : party.getPlayerNames()){
EntityPlayer playerMP = NoppesUtilServer.getPlayerByName(name);
if(playerMP != null){
Server.sendData((EntityPlayerMP) playerMP, EnumPacketClient.PARTY_MESSAGE, "party.leaveOtherAlert", leavingPlayer.getCommandSenderName());
Server.sendData((EntityPlayerMP) playerMP, EnumPacketClient.CHAT, "\u00A7e", leavingPlayer.getCommandSenderName(), " \u00A7c", "party.leaveOtherChat", "!");
PacketUtil.sendAchievement((EntityPlayerMP) playerMP, true, "party.leaveOtherAlert", leavingPlayer.getCommandSenderName());
PacketUtil.sendChatAlert((EntityPlayerMP) playerMP, "\u00A7e", leavingPlayer.getCommandSenderName(), " \u00A7c", "party.leaveOtherChat", "!");
}
}
Server.sendData((EntityPlayerMP) leavingPlayer, EnumPacketClient.PARTY_MESSAGE, "party.leaveYouAlert", "");
Server.sendData((EntityPlayerMP) leavingPlayer, EnumPacketClient.CHAT, "\u00A7c", "party.leaveYouChat", "!");
PacketUtil.sendAchievement((EntityPlayerMP) leavingPlayer, true, "party.leaveYouAlert", "");
PacketUtil.sendChatAlert((EntityPlayerMP) leavingPlayer, "\u00A7c", "party.leaveYouChat", "!");
}
public void pingPartyUpdate(Party party){
@@ -183,9 +184,7 @@ public class PartyController {
System.arraycopy(chatAlerts, 0, args, 1, chatAlerts.length);
args[args.length - 1] = "!"; // Add "!" at the end
// Pass args to Server.sendData using spread operator
Server.sendData((EntityPlayerMP) playerMP, EnumPacketClient.CHAT, args);
PacketUtil.sendChatAlert((EntityPlayerMP) playerMP, args);
}
}
}
@@ -1,13 +1,12 @@
package noppes.npcs.controllers;
import kamkeel.npcs.network.PacketUtil;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.util.ChatComponentTranslation;
import noppes.npcs.EventHooks;
import noppes.npcs.NoppesStringUtils;
import noppes.npcs.NoppesUtilServer;
import noppes.npcs.Server;
import noppes.npcs.constants.EnumPacketClient;
import noppes.npcs.constants.EnumQuestRepeat;
import noppes.npcs.constants.EnumQuestType;
import noppes.npcs.controllers.data.PlayerData;
@@ -45,8 +44,8 @@ public class PlayerQuestController {
data.activeQuests.put(questData.quest.id,questData);
if (questData.sendAlerts) {
Server.sendData((EntityPlayerMP) player, EnumPacketClient.MESSAGE, "quest.newquest", questData.quest.title);
Server.sendData((EntityPlayerMP) player, EnumPacketClient.CHAT, "quest.newquest", ": ", questData.quest.title);
PacketUtil.sendAchievement((EntityPlayerMP) player, false, "quest.newquest", questData.quest.title);
PacketUtil.sendChatAlert((EntityPlayerMP) player, "quest.newquest", ": ", questData.quest.title);
}
playerData.updateClient = true;
} else {
@@ -76,8 +75,8 @@ public class PlayerQuestController {
}
}
if (questData != null && questData.sendAlerts) {
Server.sendData((EntityPlayerMP) player, EnumPacketClient.MESSAGE, "quest.completed", questData.quest.title);
Server.sendData((EntityPlayerMP) player, EnumPacketClient.CHAT, "quest.completed", ": ", questData.quest.title);
PacketUtil.sendAchievement((EntityPlayerMP) player, false, "quest.completed", questData.quest.title);
PacketUtil.sendChatAlert((EntityPlayerMP) player, "quest.completed", ": ", questData.quest.title);
}
playerdata.updateClient = true;
}
@@ -98,8 +97,8 @@ public class PlayerQuestController {
}
}
if (questData != null && questData.sendAlerts) {
Server.sendData((EntityPlayerMP) player, EnumPacketClient.MESSAGE, "quest.completed", questData.quest.title);
Server.sendData((EntityPlayerMP) player, EnumPacketClient.CHAT, "quest.completed", ": ", questData.quest.title);
PacketUtil.sendAchievement((EntityPlayerMP) player, false, "quest.completed", questData.quest.title);
PacketUtil.sendChatAlert((EntityPlayerMP) player, "quest.completed", ": ", questData.quest.title);
}
playerdata.updateClient = true;
}
@@ -1,6 +1,7 @@
package noppes.npcs.controllers.data;
import kamkeel.npcs.addon.DBCAddon;
import kamkeel.npcs.network.PacketUtil;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
@@ -11,11 +12,9 @@ import net.minecraftforge.common.IExtendedEntityProperties;
import noppes.npcs.CustomNpcs;
import noppes.npcs.LogWriter;
import noppes.npcs.PacketHandlerServer;
import noppes.npcs.Server;
import noppes.npcs.api.entity.ICustomNpc;
import noppes.npcs.api.handler.*;
import noppes.npcs.config.ConfigMain;
import noppes.npcs.constants.EnumPacketClient;
import noppes.npcs.constants.EnumRoleType;
import noppes.npcs.controllers.PartyController;
import noppes.npcs.controllers.PlayerDataController;
@@ -265,8 +264,9 @@ public class PlayerData implements IExtendedEntityProperties, IPlayerData {
public void inviteToParty(Party party) {
if (party != null && this.partyUUID == null && !this.partyInvites.contains(party.getPartyUUID())) {
this.partyInvites.add(party.getPartyUUID());
Server.sendData((EntityPlayerMP)this.player, EnumPacketClient.PARTY_MESSAGE, "party.inviteAlert", party.getPartyLeader().getCommandSenderName());
Server.sendData((EntityPlayerMP)this.player, EnumPacketClient.CHAT, "\u00A7a", "party.inviteChat", " ", party.getPartyLeader().getCommandSenderName(), "!");
PacketUtil.sendAchievement((EntityPlayerMP) player, true, "party.inviteAlert", party.getPartyLeader().getCommandSenderName());
PacketUtil.sendChatAlert((EntityPlayerMP) player, "\u00A7a", "party.inviteChat", " ", party.getPartyLeader().getCommandSenderName(), "!");
}
}
@@ -1,5 +1,6 @@
package noppes.npcs.controllers.data;
import kamkeel.npcs.network.PacketUtil;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.nbt.NBTTagCompound;
@@ -217,9 +218,9 @@ public class PlayerQuestData implements IPlayerQuestData {
return;
QuestData questdata = new QuestData(quest);
activeQuests.put(id, questdata);
Server.sendData((EntityPlayerMP)parent.player, EnumPacketClient.MESSAGE, "quest.newquest", quest.title);
Server.sendData((EntityPlayerMP)parent.player, EnumPacketClient.CHAT, "quest.newquest", ": ", quest.title);
PacketUtil.sendAchievement((EntityPlayerMP) parent.player, false, "quest.newquest", quest.title);
PacketUtil.sendChatAlert((EntityPlayerMP) parent.player, "quest.newquest", ": ", quest.title);
parent.updateClient = true;
}
@@ -7,6 +7,8 @@ import cpw.mods.fml.relauncher.SideOnly;
import io.netty.buffer.ByteBuf;
import kamkeel.npcs.addon.DBCAddon;
import kamkeel.npcs.addon.client.DBCClient;
import kamkeel.npcs.network.PacketHandler;
import kamkeel.npcs.network.packets.client.ChatBubblePacket;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.Minecraft;
@@ -1022,7 +1024,8 @@ public abstract class EntityNPCInterface extends EntityCreature implements IEnti
if(!line.getSound().isEmpty()){
Server.sendData((EntityPlayerMP)player, EnumPacketClient.PLAY_SOUND, line.getSound(), (float)posX, (float)posY, (float)posZ);
}
Server.sendData((EntityPlayerMP)player, EnumPacketClient.CHATBUBBLE, this.getEntityId(), line.getText(), !line.hideText());
PacketHandler.Instance.sendToPlayer(new ChatBubblePacket(this.getEntityId(), line.getText(), !line.hideText()), (EntityPlayerMP)player);
}
public boolean getAlwaysRenderNameTagForRender(){
return true;
@@ -1,5 +1,6 @@
package noppes.npcs.scripted.entity;
import kamkeel.npcs.network.PacketUtil;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.Item;
@@ -45,7 +46,6 @@ import noppes.npcs.util.ValueUtil;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
public class ScriptPlayer<T extends EntityPlayerMP> extends ScriptLivingBase<T> implements IPlayer {
public T player;
@@ -263,8 +263,9 @@ public class ScriptPlayer<T extends EntityPlayerMP> extends ScriptLivingBase<T>
return;
QuestData questdata = new QuestData(quest);
data.questData.activeQuests.put(id, questdata);
Server.sendData((EntityPlayerMP)player, EnumPacketClient.MESSAGE, "quest.newquest", quest.title);
Server.sendData((EntityPlayerMP)player, EnumPacketClient.CHAT, "quest.newquest", ": ", quest.title);
PacketUtil.sendAchievement((EntityPlayerMP) player, false, "quest.newquest", quest.title);
PacketUtil.sendChatAlert((EntityPlayerMP) player, "quest.newquest", ": ", quest.title);
data.updateClient = true;
}