mirror of
https://git.krews.org/morningstar/Arcturus-Community.git
synced 2024-11-27 00:40:52 +01:00
Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
1a973c9c4e
@ -4,6 +4,7 @@ import com.eu.habbo.Emulator;
|
||||
import com.eu.habbo.core.RoomUserPetComposer;
|
||||
import com.eu.habbo.habbohotel.achievements.AchievementManager;
|
||||
import com.eu.habbo.habbohotel.bots.Bot;
|
||||
import com.eu.habbo.habbohotel.gameclients.GameClient;
|
||||
import com.eu.habbo.habbohotel.games.Game;
|
||||
import com.eu.habbo.habbohotel.games.battlebanzai.BattleBanzaiGame;
|
||||
import com.eu.habbo.habbohotel.games.football.FootballGame;
|
||||
@ -40,6 +41,7 @@ import com.eu.habbo.messages.outgoing.rooms.pets.RoomPetComposer;
|
||||
import com.eu.habbo.messages.outgoing.rooms.promotions.RoomPromotionMessageComposer;
|
||||
import com.eu.habbo.messages.outgoing.rooms.users.*;
|
||||
import com.eu.habbo.messages.outgoing.users.MutedWhisperComposer;
|
||||
import com.eu.habbo.plugin.Event;
|
||||
import com.eu.habbo.plugin.events.navigator.NavigatorRoomCreatedEvent;
|
||||
import com.eu.habbo.plugin.events.rooms.RoomUncachedEvent;
|
||||
import com.eu.habbo.plugin.events.rooms.UserVoteRoomEvent;
|
||||
@ -710,9 +712,20 @@ public class RoomManager {
|
||||
List<Habbo> habbos = new ArrayList<>();
|
||||
if (!room.getCurrentHabbos().isEmpty()) {
|
||||
|
||||
Collection<Habbo> habbosToSendEnter = room.getCurrentHabbos().values();
|
||||
|
||||
room.sendComposer(new RoomUsersComposer(habbo).compose());
|
||||
room.sendComposer(new RoomUserStatusComposer(habbo.getRoomUnit()).compose());
|
||||
if (Emulator.getPluginManager().isRegistered(HabboAddedToRoomEvent.class, false)) {
|
||||
HabboAddedToRoomEvent event = Emulator.getPluginManager().fireEvent(new HabboAddedToRoomEvent(habbo, room, habbosToSendEnter));
|
||||
habbosToSendEnter = event.habbosToSendEnter;
|
||||
}
|
||||
|
||||
for (Habbo habboToSendEnter : habbosToSendEnter) {
|
||||
GameClient client = habboToSendEnter.getClient();
|
||||
if (client != null) {
|
||||
client.sendResponse(new RoomUsersComposer(habbo).compose());
|
||||
habboToSendEnter.getClient().sendResponse(new RoomUserStatusComposer(habbo.getRoomUnit()).compose());
|
||||
}
|
||||
}
|
||||
|
||||
for (Habbo h : room.getHabbos()) {
|
||||
if (!h.getRoomUnit().isInvisible()) {
|
||||
@ -890,10 +903,6 @@ public class RoomManager {
|
||||
if (!habbo.getHabboStats().nux && (room.isOwner(habbo) || room.isPublicRoom())) {
|
||||
UserNuxEvent.handle(habbo);
|
||||
}
|
||||
|
||||
if (Emulator.getPluginManager().isRegistered(HabboAddedToRoomEvent.class, false)) {
|
||||
Emulator.getPluginManager().fireEvent(new HabboAddedToRoomEvent(habbo, room));
|
||||
}
|
||||
}
|
||||
|
||||
void logEnter(Habbo habbo, Room room) {
|
||||
|
7
src/main/java/com/eu/habbo/messages/NoAuthMessage.java
Normal file
7
src/main/java/com/eu/habbo/messages/NoAuthMessage.java
Normal file
@ -0,0 +1,7 @@
|
||||
package com.eu.habbo.messages;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
public @interface NoAuthMessage {}
|
@ -156,11 +156,20 @@ public class PacketManager {
|
||||
if (client == null || Emulator.isShuttingDown)
|
||||
return;
|
||||
|
||||
if (client.getHabbo() == null && !(packet.getMessageId() == Incoming.SecureLoginEvent || packet.getMessageId() == Incoming.MachineIDEvent))
|
||||
return;
|
||||
|
||||
try {
|
||||
if (this.isRegistered(packet.getMessageId())) {
|
||||
Class<? extends MessageHandler> handlerClass = this.incoming.get(packet.getMessageId());
|
||||
|
||||
if (handlerClass == null) throw new Exception("Unknown message " + packet.getMessageId());
|
||||
|
||||
if (client.getHabbo() == null && !handlerClass.isAnnotationPresent(NoAuthMessage.class)) {
|
||||
if (DEBUG_SHOW_PACKETS) {
|
||||
Emulator.getLogging().logPacketLine("[" + Logging.ANSI_CYAN + "CLIENT" + Logging.ANSI_RESET + "][" + Logging.ANSI_RED + "NOT LOGGED IN" + Logging.ANSI_RESET + "][" + packet.getMessageId() + "] => " + packet.getMessageBody());
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (PacketManager.DEBUG_SHOW_PACKETS)
|
||||
Emulator.getLogging().logPacketLine("[" + Logging.ANSI_CYAN + "CLIENT" + Logging.ANSI_RESET + "][" + packet.getMessageId() + "] => " + packet.getMessageBody());
|
||||
|
||||
@ -168,7 +177,7 @@ public class PacketManager {
|
||||
System.out.println(("[" + Logging.ANSI_CYAN + "CLIENT" + Logging.ANSI_RESET + "][" + client.getHabbo().getHabboInfo().getUsername() + "][" + packet.getMessageId() + "] => " + packet.getMessageBody()));
|
||||
}
|
||||
|
||||
final MessageHandler handler = this.incoming.get(packet.getMessageId()).newInstance();
|
||||
final MessageHandler handler = handlerClass.newInstance();
|
||||
|
||||
handler.client = client;
|
||||
handler.packet = packet;
|
||||
@ -184,7 +193,7 @@ public class PacketManager {
|
||||
}
|
||||
} else {
|
||||
if (PacketManager.DEBUG_SHOW_PACKETS)
|
||||
Emulator.getLogging().logPacketLine("[" + Logging.ANSI_CYAN + "CLIENT" + Logging.ANSI_RESET + "][" + Logging.ANSI_RED + "UNDEFINED" + Logging.ANSI_RESET + "][" + packet.getMessageId() + "] => " + packet.getMessageBody());
|
||||
Emulator.getLogging().logPacketLine("[" + Logging.ANSI_CYAN + "CLIENT" + Logging.ANSI_RESET + "][" + Logging.ANSI_YELLOW + "UNDEFINED" + Logging.ANSI_RESET + "][" + packet.getMessageId() + "] => " + packet.getMessageBody());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
Emulator.getLogging().logErrorLine(e);
|
||||
|
@ -1,8 +1,10 @@
|
||||
package com.eu.habbo.messages.incoming.handshake;
|
||||
|
||||
import com.eu.habbo.messages.NoAuthMessage;
|
||||
import com.eu.habbo.messages.incoming.MessageHandler;
|
||||
import com.eu.habbo.messages.outgoing.handshake.MachineIDComposer;
|
||||
|
||||
@NoAuthMessage
|
||||
public class MachineIDEvent extends MessageHandler {
|
||||
|
||||
@Override
|
||||
|
@ -1,7 +1,9 @@
|
||||
package com.eu.habbo.messages.incoming.handshake;
|
||||
|
||||
import com.eu.habbo.messages.NoAuthMessage;
|
||||
import com.eu.habbo.messages.incoming.MessageHandler;
|
||||
|
||||
@NoAuthMessage
|
||||
public class ReleaseVersionEvent extends MessageHandler {
|
||||
|
||||
@Override
|
||||
|
@ -6,6 +6,7 @@ import com.eu.habbo.habbohotel.navigation.NavigatorSavedSearch;
|
||||
import com.eu.habbo.habbohotel.permissions.Permission;
|
||||
import com.eu.habbo.habbohotel.users.Habbo;
|
||||
import com.eu.habbo.habbohotel.users.HabboManager;
|
||||
import com.eu.habbo.messages.NoAuthMessage;
|
||||
import com.eu.habbo.messages.ServerMessage;
|
||||
import com.eu.habbo.messages.incoming.MessageHandler;
|
||||
import com.eu.habbo.messages.outgoing.achievements.AchievementListComposer;
|
||||
@ -31,6 +32,7 @@ import com.eu.habbo.plugin.events.users.UserLoginEvent;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@NoAuthMessage
|
||||
public class SecureLoginEvent extends MessageHandler {
|
||||
|
||||
|
||||
|
@ -3,14 +3,18 @@ package com.eu.habbo.plugin.events.users;
|
||||
import com.eu.habbo.habbohotel.rooms.Room;
|
||||
import com.eu.habbo.habbohotel.users.Habbo;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
public class HabboAddedToRoomEvent extends UserEvent {
|
||||
|
||||
public final Room room;
|
||||
public final Collection<Habbo> habbosToSendEnter;
|
||||
|
||||
|
||||
public HabboAddedToRoomEvent(Habbo habbo, Room room) {
|
||||
public HabboAddedToRoomEvent(Habbo habbo, Room room, Collection<Habbo> habbosToSendEnter) {
|
||||
super(habbo);
|
||||
|
||||
this.room = room;
|
||||
this.habbosToSendEnter = habbosToSendEnter;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user