From e2b0299aec184e2eae2c5ac2b6f41e7dffc66fe8 Mon Sep 17 00:00:00 2001 From: Stankman Date: Mon, 24 Jul 2023 17:53:40 -0500 Subject: [PATCH] Fixed Permissions Reloading and more cleanup --- .../eu/habbo/habbohotel/bots/BotManager.java | 8 +- .../habbohotel/campaign/CalendarManager.java | 2 +- .../habbohotel/catalog/CatalogManager.java | 4 +- .../habbohotel/commands/CommandsManager.java | 13 +- .../commands/list/CalendarCommand.java | 2 +- .../commands/list/ChatTypeCommand.java | 2 +- .../list/EmptyBotsInventoryCommand.java | 2 +- .../commands/list/EmptyInventoryCommand.java | 2 +- .../list/EmptyPetsInventoryCommand.java | 2 +- .../commands/list/EnableCommand.java | 2 +- .../commands/list/FreezeBotsCommand.java | 2 +- .../habbohotel/commands/list/LayCommand.java | 2 +- .../commands/list/MimicCommand.java | 4 +- .../commands/list/RoomKickCommand.java | 2 +- .../commands/list/SoftKickCommand.java | 2 +- .../habbohotel/commands/list/TestCommand.java | 31 ---- .../commands/list/UnloadRoomCommand.java | 2 +- .../commands/list/UserInfoCommand.java | 6 +- .../gameclients/GameClientManager.java | 2 +- .../interactions/InteractionGuildGate.java | 2 +- .../interactions/InteractionJukeBox.java | 14 +- .../interactions/InteractionMusicDisc.java | 6 +- .../games/InteractionGameTimer.java | 2 +- .../InteractionBattleBanzaiPuck.java | 11 +- .../WiredEffectChangeFurniDirection.java | 2 +- .../wired/effects/WiredEffectKickRoom.java | 2 +- .../habbohotel/modtool/ModToolManager.java | 6 +- .../habbo/habbohotel/modtool/WordFilter.java | 2 +- .../navigation/NavigatorHotelFilter.java | 4 +- .../navigation/NavigatorPublicFilter.java | 2 +- .../navigation/NavigatorRoomAdsFilter.java | 2 +- .../permissions/PermissionCommand.java | 6 +- .../permissions/PermissionGroup.java | 54 +++--- .../permissions/PermissionsManager.java | 42 ++++- .../com/eu/habbo/habbohotel/rooms/Room.java | 159 ++++-------------- .../habbohotel/rooms/RoomChatMessage.java | 8 +- .../eu/habbo/habbohotel/rooms/RoomInfo.java | 2 +- .../habbohotel/rooms/RoomItemManager.java | 13 +- .../eu/habbo/habbohotel/rooms/RoomLayout.java | 85 +++------- .../habbo/habbohotel/rooms/RoomManager.java | 12 +- .../habbohotel/rooms/RoomRightsManager.java | 2 +- ...{TraxManager.java => RoomTraxManager.java} | 4 +- .../habbohotel/rooms/RoomUnitManager.java | 6 +- .../habbohotel/rooms/entities/RoomEntity.java | 1 + .../rooms/entities/units/RoomUnit.java | 8 +- .../entities/units/types/RoomAvatar.java | 33 ++-- .../rooms/entities/units/types/RoomPet.java | 2 +- .../com/eu/habbo/habbohotel/users/Habbo.java | 21 +-- .../habbo/habbohotel/users/HabboManager.java | 4 +- .../ambassadors/AmbassadorAlertEvent.java | 2 +- .../ambassadors/FollowFriendEvent.java | 2 +- .../incoming/camera/RenderRoomEvent.java | 2 +- .../camera/RenderRoomThumbnailEvent.java | 2 +- .../incoming/catalog/PurchaseEvent.java | 4 +- .../PurchaseFromCatalogAsGiftEvent.java | 6 +- .../catalog/PurchaseFromCatalogEvent.java | 8 +- .../catalog/recycler/PresentOpenEvent.java | 2 +- .../UpdateFloorPropertiesEvent.java | 4 +- .../incoming/friends/AcceptFriendEvent.java | 4 +- .../incoming/friends/RequestFriendEvent.java | 4 +- .../incoming/friends/VisitUserEvent.java | 2 +- .../guides/GuideSessionOnDutyUpdateEvent.java | 6 +- .../guilds/AddAdminRightsToMemberEvent.java | 2 +- .../guilds/ApproveMembershipRequestEvent.java | 2 +- .../incoming/guilds/CreateGuildEvent.java | 2 +- .../incoming/guilds/DeactivateGuildEvent.java | 2 +- .../incoming/guilds/GetGuildMembersEvent.java | 2 +- .../guilds/GetMemberGuildItemCountEvent.java | 2 +- .../incoming/guilds/KickMemberEvent.java | 2 +- .../guilds/RejectMembershipRequestEvent.java | 2 +- .../RemoveAdminRightsFromMemberEvent.java | 2 +- .../guilds/UpdateGuildBadgeEvent.java | 2 +- .../guilds/UpdateGuildColorsEvent.java | 2 +- .../guilds/UpdateGuildIdentityEvent.java | 2 +- .../guilds/UpdateGuildSettingsEvent.java | 2 +- .../guilds/forums/GetMessagesEvent.java | 2 +- .../guilds/forums/ModerateMessageEvent.java | 2 +- .../guilds/forums/ModerateThreadEvent.java | 2 +- .../guilds/forums/PostMessageEvent.java | 2 +- .../guilds/forums/UpdateThreadEvent.java | 2 +- .../incoming/handshake/SSOTicketEvent.java | 2 +- .../modtool/CloseIssueDefaultActionEvent.java | 2 +- .../incoming/modtool/CloseIssuesEvent.java | 2 +- .../incoming/modtool/GetCfhChatlogEvent.java | 2 +- .../modtool/GetModeratorRoomInfoEvent.java | 2 +- .../modtool/GetModeratorUserInfoEvent.java | 2 +- .../incoming/modtool/GetRoomChatlogEvent.java | 2 +- .../incoming/modtool/GetRoomVisitsEvent.java | 2 +- .../incoming/modtool/GetUserChatlogEvent.java | 2 +- .../incoming/modtool/ModAlertEvent.java | 2 +- .../incoming/modtool/ModBanEvent.java | 2 +- .../incoming/modtool/ModMessageEvent.java | 2 +- .../incoming/modtool/ModMuteEvent.java | 2 +- .../ModToolRequestRoomUserChatlogEvent.java | 2 +- .../modtool/ModToolSanctionEvent.java | 2 +- .../incoming/modtool/ModToolWarnEvent.java | 2 +- .../incoming/modtool/ModTradingLockEvent.java | 2 +- .../incoming/modtool/ModerateRoomEvent.java | 2 +- .../modtool/ModeratorActionEvent.java | 2 +- .../incoming/modtool/PickIssuesEvent.java | 2 +- .../incoming/modtool/ReleaseIssuesEvent.java | 2 +- .../navigator/NewNavigatorSearchEvent.java | 2 +- .../rooms/GetFlatControllersEvent.java | 2 +- .../incoming/rooms/RemoveAllRightsEvent.java | 2 +- .../rooms/RequestRoomPropertySet.java | 2 +- .../SetRoomBackgroundColorDataEvent.java | 2 +- .../rooms/SubmitRoomToCompetitionEvent.java | 2 +- .../incoming/rooms/ToggleStaffPickEvent.java | 2 +- .../incoming/rooms/bots/CommandBotEvent.java | 4 +- .../GetBotCommandConfigurationDataEvent.java | 2 +- .../rooms/items/AddSpamWallPostItEvent.java | 2 +- .../rooms/items/MoveWallItemEvent.java | 2 +- .../rooms/items/PickupObjectEvent.java | 2 +- .../incoming/rooms/items/RemoveItemEvent.java | 2 +- .../rooms/items/SetObjectDataEvent.java | 2 +- .../items/jukebox/AddJukeboxDiskEvent.java | 2 +- .../jukebox/GetJukeboxPlayListEvent.java | 5 - .../items/jukebox/GetNowPlayingEvent.java | 5 - .../rooms/items/jukebox/JukeBoxEventOne.java | 5 - .../rooms/items/jukebox/JukeboxEvent.java | 10 +- .../items/jukebox/RemoveJukeboxDiskEvent.java | 4 +- .../RentableSpaceCancelRentEvent.java | 2 +- .../rooms/items/youtube/YoutubeEvent.java | 2 +- .../incoming/rooms/pets/PlacePetEvent.java | 4 +- .../rooms/pets/RemovePetFromFlatEvent.java | 4 +- .../rooms/promotions/EditEventEvent.java | 2 +- .../rooms/promotions/PurchaseRoomAdEvent.java | 4 +- .../rooms/users/AssignRightsEvent.java | 2 +- .../rooms/users/RemoveRightsEvent.java | 2 +- .../rooms/users/RoomUserKickEvent.java | 6 +- .../rooms/users/RoomUserMuteEvent.java | 2 +- .../incoming/rooms/users/SignEvent.java | 7 +- .../incoming/trading/OpenTradingEvent.java | 2 +- .../users/SetChatStylePreferenceEvent.java | 2 +- .../incoming/wired/UpdateActionEvent.java | 2 +- .../incoming/wired/UpdateConditionEvent.java | 2 +- .../incoming/wired/UpdateTriggerEvent.java | 2 +- .../catalog/CatalogPagesListComposer.java | 2 +- .../friends/MessengerInitComposer.java | 2 +- .../HabboGroupDetailsMessageComposer.java | 2 +- .../forums/ForumDataMessageComposer.java | 2 +- .../modtool/ModeratorInitMessageComposer.java | 16 +- .../outgoing/users/UserPerksComposer.java | 10 +- .../users/UserRightsMessageComposer.java | 2 +- .../com/eu/habbo/plugin/PluginManager.java | 6 +- .../threading/runnables/CannonKickAction.java | 2 +- .../runnables/OneWayGateActionOne.java | 2 +- .../threading/runnables/PetFollowHabbo.java | 2 +- .../threading/runnables/RoomTrashing.java | 143 ---------------- 149 files changed, 395 insertions(+), 639 deletions(-) rename src/main/java/com/eu/habbo/habbohotel/rooms/{TraxManager.java => RoomTraxManager.java} (99%) delete mode 100644 src/main/java/com/eu/habbo/threading/runnables/RoomTrashing.java diff --git a/src/main/java/com/eu/habbo/habbohotel/bots/BotManager.java b/src/main/java/com/eu/habbo/habbohotel/bots/BotManager.java index de953f17..d5470959 100644 --- a/src/main/java/com/eu/habbo/habbohotel/bots/BotManager.java +++ b/src/main/java/com/eu/habbo/habbohotel/bots/BotManager.java @@ -112,8 +112,8 @@ public class BotManager { return; if (room != null && bot != null && habbo != null) { - if (room.getRoomInfo().isRoomOwner(habbo) || habbo.hasRight(Permission.ACC_ANYROOMOWNER) || habbo.hasRight(Permission.ACC_PLACEFURNI)) { - if (room.getRoomUnitManager().getCurrentRoomBots().size() >= Room.MAXIMUM_BOTS && !habbo.hasRight(Permission.ACC_UNLIMITED_BOTS)) { + if (room.getRoomInfo().isRoomOwner(habbo) || habbo.hasPermissionRight(Permission.ACC_ANYROOMOWNER) || habbo.hasPermissionRight(Permission.ACC_PLACEFURNI)) { + if (room.getRoomUnitManager().getCurrentRoomBots().size() >= Room.MAXIMUM_BOTS && !habbo.hasPermissionRight(Permission.ACC_UNLIMITED_BOTS)) { habbo.getClient().sendResponse(new BotErrorComposer(BotErrorComposer.ROOM_ERROR_MAX_BOTS)); return; } @@ -184,8 +184,8 @@ public class BotManager { if (pickedUpEvent.isCancelled()) return; - if (habbo == null || (bot.getOwnerId() == habbo.getHabboInfo().getId() || habbo.hasRight(Permission.ACC_ANYROOMOWNER))) { - if (habbo != null && !habbo.hasRight(Permission.ACC_UNLIMITED_BOTS) && habbo.getInventory().getBotsComponent().getBots().size() >= BotManager.MAXIMUM_BOT_INVENTORY_SIZE) { + if (habbo == null || (bot.getOwnerId() == habbo.getHabboInfo().getId() || habbo.hasPermissionRight(Permission.ACC_ANYROOMOWNER))) { + if (habbo != null && !habbo.hasPermissionRight(Permission.ACC_UNLIMITED_BOTS) && habbo.getInventory().getBotsComponent().getBots().size() >= BotManager.MAXIMUM_BOT_INVENTORY_SIZE) { habbo.alert(Emulator.getTexts().getValue("error.bots.max.inventory").replace("%amount%", BotManager.MAXIMUM_BOT_INVENTORY_SIZE + "")); return; } diff --git a/src/main/java/com/eu/habbo/habbohotel/campaign/CalendarManager.java b/src/main/java/com/eu/habbo/habbohotel/campaign/CalendarManager.java index 39e8d5e3..149edffa 100644 --- a/src/main/java/com/eu/habbo/habbohotel/campaign/CalendarManager.java +++ b/src/main/java/com/eu/habbo/habbohotel/campaign/CalendarManager.java @@ -122,7 +122,7 @@ public class CalendarManager { if (object == null) return; long daysBetween = ChronoUnit.DAYS.between(new Timestamp(campaign.getStartTimestamp() * 1000L).toInstant(), new Date().toInstant()); - if (((daysBetween >= 0 && daysBetween <= campaign.getTotalDays()) && (((daysBetween - day <= 2 || !campaign.getLockExpired()) && daysBetween - day >= 0)) || (force && habbo.hasRight(Permission.ACC_CALENDAR_FORCE)))) { + if (((daysBetween >= 0 && daysBetween <= campaign.getTotalDays()) && (((daysBetween - day <= 2 || !campaign.getLockExpired()) && daysBetween - day >= 0)) || (force && habbo.hasPermissionRight(Permission.ACC_CALENDAR_FORCE)))) { if (Emulator.getPluginManager().fireEvent(new UserClaimRewardEvent(habbo, campaign, day, object, force)).isCancelled()) { return; } diff --git a/src/main/java/com/eu/habbo/habbohotel/catalog/CatalogManager.java b/src/main/java/com/eu/habbo/habbohotel/catalog/CatalogManager.java index 6d5eac7f..2434c6c6 100644 --- a/src/main/java/com/eu/habbo/habbohotel/catalog/CatalogManager.java +++ b/src/main/java/com/eu/habbo/habbohotel/catalog/CatalogManager.java @@ -1050,12 +1050,12 @@ public class CatalogManager { UserCatalogItemPurchasedEvent purchasedEvent = new UserCatalogItemPurchasedEvent(habbo, item, itemsList, totalCredits, totalPoints, badges); Emulator.getPluginManager().fireEvent(purchasedEvent); - if (!free && !habbo.getClient().getHabbo().hasRight(Permission.ACC_INFINITE_CREDITS) && purchasedEvent.getTotalCredits() > 0) { + if (!free && !habbo.getClient().getHabbo().hasPermissionRight(Permission.ACC_INFINITE_CREDITS) && purchasedEvent.getTotalCredits() > 0) { habbo.getClient().getHabbo().getHabboInfo().addCredits(-purchasedEvent.getTotalCredits()); habbo.getClient().sendResponse(new CreditBalanceComposer(habbo.getClient().getHabbo())); } - if (!free && !habbo.getClient().getHabbo().hasRight(Permission.ACC_INFINITE_POINTS) && purchasedEvent.getTotalPoints() > 0) { + if (!free && !habbo.getClient().getHabbo().hasPermissionRight(Permission.ACC_INFINITE_POINTS) && purchasedEvent.getTotalPoints() > 0) { habbo.getClient().getHabbo().getHabboInfo().addCurrencyAmount(item.getPointsType(), -purchasedEvent.getTotalPoints()); habbo.getClient().sendResponse(new HabboActivityPointNotificationMessageComposer(habbo.getClient().getHabbo().getHabboInfo().getCurrencyAmount(item.getPointsType()), -purchasedEvent.getTotalPoints(), item.getPointsType())); } diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/CommandsManager.java b/src/main/java/com/eu/habbo/habbohotel/commands/CommandsManager.java index 8217405f..186db286 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/CommandsManager.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/CommandsManager.java @@ -87,13 +87,16 @@ public class CommandsManager { String commandKey = parts[0]; Room currentRoom = gameClient.getHabbo().getRoomUnit().getRoom(); - boolean hasRights = currentRoom != null && - (currentRoom.getRoomRightsManager().hasRights(gameClient.getHabbo())) || - gameClient.getHabbo().hasRight(Permission.ACC_PLACEFURNI) || - currentRoom.getRoomInfo().getGuild().getId() > 0 && currentRoom.getGuildRightLevel(gameClient.getHabbo()).isEqualOrGreaterThan(RoomRightLevels.GUILD_RIGHTS); + if(currentRoom == null) { + return false; + } - if (!gameClient.getHabbo().canExecuteCommand(commandKey, hasRights)) { + boolean hasRights = (currentRoom.getRoomRightsManager().hasRights(gameClient.getHabbo())) || gameClient.getHabbo().hasPermissionRight(Permission.ACC_PLACEFURNI) || (currentRoom.getRoomInfo().hasGuild() && currentRoom.getGuildRightLevel(gameClient.getHabbo()).isEqualOrGreaterThan(RoomRightLevels.GUILD_RIGHTS)); + + boolean canExecuteCommand = gameClient.getHabbo().canExecuteCommand(commandKey, hasRights); + + if (!canExecuteCommand) { return false; } diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/list/CalendarCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/list/CalendarCommand.java index d996bebc..ae2b119a 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/list/CalendarCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/list/CalendarCommand.java @@ -22,7 +22,7 @@ public class CalendarCommand extends Command { if (Emulator.getConfig().getBoolean("hotel.calendar.enabled")) { String campaignName = Emulator.getConfig().getValue("hotel.calendar.default"); - if (params.length > 1 && gameClient.getHabbo().hasCommand("cmd_calendar_staff")) { + if (params.length > 1 && gameClient.getHabbo().canExecuteCommand("cmd_calendar_staff")) { campaignName = params[1]; } diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/list/ChatTypeCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/list/ChatTypeCommand.java index 95e25cef..5bca58a5 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/list/ChatTypeCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/list/ChatTypeCommand.java @@ -33,7 +33,7 @@ public class ChatTypeCommand extends Command { return true; } - if (!gameClient.getHabbo().hasRight(Permission.ACC_ANYCHATCOLOR)) { + if (!gameClient.getHabbo().hasPermissionRight(Permission.ACC_ANYCHATCOLOR)) { for (String s : Emulator.getConfig().getValue("commands.cmd_chatcolor.banned_numbers").split(";")) { if (Integer.parseInt(s) == chatColor) { gameClient.getHabbo().whisper(getTextsValue("commands.error.cmd_chatcolor.banned"), RoomChatMessageBubbles.ALERT); diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/list/EmptyBotsInventoryCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/list/EmptyBotsInventoryCommand.java index d2364227..f6be437c 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/list/EmptyBotsInventoryCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/list/EmptyBotsInventoryCommand.java @@ -32,7 +32,7 @@ public class EmptyBotsInventoryCommand extends Command { if (params.length >= 2 && params[1].equalsIgnoreCase(getTextsValue("generic.yes"))) { - Habbo habbo = (params.length == 3 && gameClient.getHabbo().hasRight(Permission.ACC_EMPTY_OTHERS)) ? Emulator.getGameEnvironment().getHabboManager().getHabbo(params[2]) : gameClient.getHabbo(); + Habbo habbo = (params.length == 3 && gameClient.getHabbo().hasPermissionRight(Permission.ACC_EMPTY_OTHERS)) ? Emulator.getGameEnvironment().getHabboManager().getHabbo(params[2]) : gameClient.getHabbo(); if (habbo != null) { TIntObjectHashMap bots = new TIntObjectHashMap<>(); diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/list/EmptyInventoryCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/list/EmptyInventoryCommand.java index d6dd555b..9e77470c 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/list/EmptyInventoryCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/list/EmptyInventoryCommand.java @@ -34,7 +34,7 @@ public class EmptyInventoryCommand extends Command { if (params.length >= 2 && params[1].equalsIgnoreCase(getTextsValue("generic.yes"))) { - Habbo habbo = (params.length == 3 && gameClient.getHabbo().hasRight(Permission.ACC_EMPTY_OTHERS)) ? Emulator.getGameEnvironment().getHabboManager().getHabbo(params[2]) : gameClient.getHabbo(); + Habbo habbo = (params.length == 3 && gameClient.getHabbo().hasPermissionRight(Permission.ACC_EMPTY_OTHERS)) ? Emulator.getGameEnvironment().getHabboManager().getHabbo(params[2]) : gameClient.getHabbo(); if (habbo != null) { TIntObjectMap items = new TIntObjectHashMap<>(); diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/list/EmptyPetsInventoryCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/list/EmptyPetsInventoryCommand.java index 7c74e237..e35daa20 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/list/EmptyPetsInventoryCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/list/EmptyPetsInventoryCommand.java @@ -32,7 +32,7 @@ public class EmptyPetsInventoryCommand extends Command { if (params.length >= 2 && params[1].equalsIgnoreCase(getTextsValue("generic.yes"))) { - Habbo habbo = (params.length == 3 && gameClient.getHabbo().hasRight(Permission.ACC_EMPTY_OTHERS)) ? Emulator.getGameEnvironment().getHabboManager().getHabbo(params[2]) : gameClient.getHabbo(); + Habbo habbo = (params.length == 3 && gameClient.getHabbo().hasPermissionRight(Permission.ACC_EMPTY_OTHERS)) ? Emulator.getGameEnvironment().getHabboManager().getHabbo(params[2]) : gameClient.getHabbo(); if (habbo != null) { TIntObjectHashMap pets = new TIntObjectHashMap<>(habbo.getInventory().getPetsComponent().getPets()); diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/list/EnableCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/list/EnableCommand.java index fad0c8d9..bfe37b2a 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/list/EnableCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/list/EnableCommand.java @@ -31,7 +31,7 @@ public class EnableCommand extends Command { if (target == null) { return true; } - if (target == gameClient.getHabbo() || gameClient.getHabbo().hasRight(Permission.ACC_ENABLE_OTHERS)) { + if (target == gameClient.getHabbo() || gameClient.getHabbo().hasPermissionRight(Permission.ACC_ENABLE_OTHERS)) { try { if (target.getRoomUnit().getRoom() != null && target.getHabboInfo().getRiding() == null) { if (Emulator.getGameEnvironment().getPermissionsManager().isEffectBlocked(effectId, target.getHabboInfo().getPermissionGroup().getId())) { diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/list/FreezeBotsCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/list/FreezeBotsCommand.java index ced95a10..3737ee87 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/list/FreezeBotsCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/list/FreezeBotsCommand.java @@ -17,7 +17,7 @@ public class FreezeBotsCommand extends Command { } if (gameClient.getHabbo().getHabboInfo().getId() == gameClient.getHabbo().getRoomUnit().getRoom().getRoomInfo().getOwnerInfo().getId() - || gameClient.getHabbo().hasRight(Permission.ACC_ANYROOMOWNER)) { + || gameClient.getHabbo().hasPermissionRight(Permission.ACC_ANYROOMOWNER)) { gameClient.getHabbo().getRoomUnit().getRoom().setAllowBotsWalk(!gameClient.getHabbo().getRoomUnit().getRoom().isAllowBotsWalk()); gameClient.getHabbo().whisper(gameClient.getHabbo().getRoomUnit().getRoom().isAllowBotsWalk() ? getTextsValue("commands.succes.cmd_freeze_bots.unfrozen") : getTextsValue("commands.succes.cmd_freeze_bots.frozen"), RoomChatMessageBubbles.ALERT); } else { diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/list/LayCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/list/LayCommand.java index 62b402bd..3f2b7d54 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/list/LayCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/list/LayCommand.java @@ -20,7 +20,7 @@ public class LayCommand extends Command { return true; gameClient.getHabbo().getRoomUnit().setCmdLayEnabled(true); - gameClient.getHabbo().getRoomUnit().getRoom().updateHabbo(gameClient.getHabbo()); + gameClient.getHabbo().getRoomUnit().getRoom().updateRoomUnit(gameClient.getHabbo().getRoomUnit()); gameClient.getHabbo().getRoomUnit().setCmdSitEnabled(true); gameClient.getHabbo().getRoomUnit().setBodyRotation(RoomRotation.values()[gameClient.getHabbo().getRoomUnit().getBodyRotation().getValue() - gameClient.getHabbo().getRoomUnit().getBodyRotation().getValue() % 2]); diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/list/MimicCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/list/MimicCommand.java index 752146a7..f2053acd 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/list/MimicCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/list/MimicCommand.java @@ -29,10 +29,10 @@ public class MimicCommand extends Command { if (habbo == gameClient.getHabbo()) { gameClient.getHabbo().whisper(getTextsValue("commands.error.cmd_mimic.not_self"), RoomChatMessageBubbles.ALERT); return true; - } else if (habbo.hasRight(Permission.ACC_NOT_MIMICED) && !gameClient.getHabbo().hasRight(Permission.ACC_NOT_MIMICED)) { + } else if (habbo.hasPermissionRight(Permission.ACC_NOT_MIMICED) && !gameClient.getHabbo().hasPermissionRight(Permission.ACC_NOT_MIMICED)) { gameClient.getHabbo().whisper(replaceUser(getTextsValue("commands.error.cmd_mimic.blocked"), params[1]).replace("%gender_name%", getGenderName(habbo)), RoomChatMessageBubbles.ALERT); return true; - } else if (!habbo.hasRight(Permission.ACC_MIMIC_UNREDEEMED) && FigureUtil.hasBlacklistedClothing(habbo.getHabboInfo().getLook(), gameClient.getHabbo().getForbiddenClothing())) { + } else if (!habbo.hasPermissionRight(Permission.ACC_MIMIC_UNREDEEMED) && FigureUtil.hasBlacklistedClothing(habbo.getHabboInfo().getLook(), gameClient.getHabbo().getForbiddenClothing())) { gameClient.getHabbo().whisper(getTextsValue("commands.error.cmd_mimic.forbidden_clothing"), RoomChatMessageBubbles.ALERT); return true; } else { diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/list/RoomKickCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/list/RoomKickCommand.java index 924d5c52..aa8d24ca 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/list/RoomKickCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/list/RoomKickCommand.java @@ -25,7 +25,7 @@ public class RoomKickCommand extends Command { } for (Habbo habbo : room.getRoomUnitManager().getRoomHabbos()) { - if (!(habbo.hasRight(Permission.ACC_UNKICKABLE) || habbo.hasRight(Permission.ACC_SUPPORTTOOL) || room.getRoomInfo().isRoomOwner(habbo))) { + if (!(habbo.hasPermissionRight(Permission.ACC_UNKICKABLE) || habbo.hasPermissionRight(Permission.ACC_SUPPORTTOOL) || room.getRoomInfo().isRoomOwner(habbo))) { room.kickHabbo(habbo, true); } } diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/list/SoftKickCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/list/SoftKickCommand.java index 3cb717c7..7e97d4c1 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/list/SoftKickCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/list/SoftKickCommand.java @@ -29,7 +29,7 @@ public class SoftKickCommand extends Command { final Room room = gameClient.getHabbo().getRoomUnit().getRoom(); - if (room != null && (!(habbo.hasRight(Permission.ACC_UNKICKABLE) || habbo.hasRight(Permission.ACC_SUPPORTTOOL) || room.getRoomInfo().isRoomOwner(habbo)))) { + if (room != null && (!(habbo.hasPermissionRight(Permission.ACC_UNKICKABLE) || habbo.hasPermissionRight(Permission.ACC_SUPPORTTOOL) || room.getRoomInfo().isRoomOwner(habbo)))) { room.kickHabbo(habbo, false); } return true; diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/list/TestCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/list/TestCommand.java index 6647cc5e..a7c05e22 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/list/TestCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/list/TestCommand.java @@ -1,10 +1,7 @@ package com.eu.habbo.habbohotel.commands.list; -import com.eu.habbo.Emulator; import com.eu.habbo.habbohotel.commands.Command; import com.eu.habbo.habbohotel.gameclients.GameClient; -import com.eu.habbo.habbohotel.permissions.Permission; -import com.eu.habbo.messages.ServerMessage; public class TestCommand extends Command { public TestCommand() { @@ -13,34 +10,6 @@ public class TestCommand extends Command { @Override public boolean handle(GameClient gameClient, String[] params) { - if (gameClient.getHabbo() != null || !gameClient.getHabbo().hasRight(Permission.ACC_SUPPORTTOOL) || !Emulator.debugging) - return false; - - int header = Integer.parseInt(params[1]); - - ServerMessage message = new ServerMessage(header); - - for (int i = 1; i < params.length; i++) { - String[] data = params[i].split(":"); - - if (data[0].equalsIgnoreCase("b")) { - message.appendBoolean(data[1].equalsIgnoreCase("1")); - } else if (data[0].equalsIgnoreCase("s")) { - if (data.length > 1) { - message.appendString(data[1]); - } else { - message.appendString(""); - } - } else if (data[0].equals("i")) { - message.appendInt(Integer.parseInt(data[1])); - } else if (data[0].equalsIgnoreCase("by")) { - message.appendByte(Integer.parseInt(data[1])); - } else if (data[0].equalsIgnoreCase("sh")) { - message.appendShort(Integer.parseInt(data[1])); - } - } - - gameClient.sendResponse(message); return true; } diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/list/UnloadRoomCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/list/UnloadRoomCommand.java index 31245b31..f8bb0e38 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/list/UnloadRoomCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/list/UnloadRoomCommand.java @@ -15,7 +15,7 @@ public class UnloadRoomCommand extends Command { public boolean handle(GameClient gameClient, String[] params) { Room room = gameClient.getHabbo().getRoomUnit().getRoom(); - if (room != null && (room.getRoomInfo().isRoomOwner(gameClient.getHabbo()) || (room.getRoomInfo().hasGuild() && room.getGuildRightLevel(gameClient.getHabbo()).equals(RoomRightLevels.GUILD_ADMIN))) || gameClient.getHabbo().hasRight(Permission.ACC_ANYROOMOWNER)) { + if (room != null && (room.getRoomInfo().isRoomOwner(gameClient.getHabbo()) || (room.getRoomInfo().hasGuild() && room.getGuildRightLevel(gameClient.getHabbo()).equals(RoomRightLevels.GUILD_ADMIN))) || gameClient.getHabbo().hasPermissionRight(Permission.ACC_ANYROOMOWNER)) { room.dispose(); return true; } diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/list/UserInfoCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/list/UserInfoCommand.java index 6b89e602..9637e77b 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/list/UserInfoCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/list/UserInfoCommand.java @@ -44,9 +44,9 @@ public class UserInfoCommand extends Command { getTextsValue("command.cmd_userinfo.motto") + ": " + habbo.getMotto().replace("<", "[").replace(">", "]") + "\r" + getTextsValue("command.cmd_userinfo.rank") + ": " + habbo.getPermissionGroup().getName() + " (" + habbo.getPermissionGroup().getId() + ") \r" + getTextsValue("command.cmd_userinfo.online") + ": " + (onlineHabbo == null ? getTextsValue("generic.no") : getTextsValue("generic.yes")) + "\r" + - ((habbo.getPermissionGroup().hasRight(Permission.ACC_HIDE_MAIL, true)) ? "" : getTextsValue("command.cmd_userinfo.email") + ": " + habbo.getMail() + "\r") + - ((habbo.getPermissionGroup().hasRight(Permission.ACC_HIDE_IP, true)) ? "" : getTextsValue("command.cmd_userinfo.ip_register") + ": " + habbo.getIpRegister() + "\r") + - ((habbo.getPermissionGroup().hasRight(Permission.ACC_HIDE_IP, true)) || onlineHabbo == null ? "" : getTextsValue("command.cmd_userinfo.ip_current") + ": " + onlineHabbo.getHabboInfo().getIpLogin() + "\r") + + ((habbo.getPermissionGroup().hasPermissionRight(Permission.ACC_HIDE_MAIL, true)) ? "" : getTextsValue("command.cmd_userinfo.email") + ": " + habbo.getMail() + "\r") + + ((habbo.getPermissionGroup().hasPermissionRight(Permission.ACC_HIDE_IP, true)) ? "" : getTextsValue("command.cmd_userinfo.ip_register") + ": " + habbo.getIpRegister() + "\r") + + ((habbo.getPermissionGroup().hasPermissionRight(Permission.ACC_HIDE_IP, true)) || onlineHabbo == null ? "" : getTextsValue("command.cmd_userinfo.ip_current") + ": " + onlineHabbo.getHabboInfo().getIpLogin() + "\r") + (onlineHabbo != null ? getTextsValue("command.cmd_userinfo.achievement_score") + ": " + onlineHabbo.getHabboStats().getAchievementScore() + "\r" : "")); ModToolBan ban = Emulator.getGameEnvironment().getModToolManager().checkForBan(habbo.getId()); diff --git a/src/main/java/com/eu/habbo/habbohotel/gameclients/GameClientManager.java b/src/main/java/com/eu/habbo/habbohotel/gameclients/GameClientManager.java index 354429a3..e39b5fc3 100644 --- a/src/main/java/com/eu/habbo/habbohotel/gameclients/GameClientManager.java +++ b/src/main/java/com/eu/habbo/habbohotel/gameclients/GameClientManager.java @@ -152,7 +152,7 @@ public class GameClientManager { continue; if (client.getHabbo() != null) { - if (client.getHabbo().hasRight(minPermission)) { + if (client.getHabbo().hasPermissionRight(minPermission)) { client.sendResponse(message); } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionGuildGate.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionGuildGate.java index 04dbcf76..802049a1 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionGuildGate.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionGuildGate.java @@ -37,7 +37,7 @@ public class InteractionGuildGate extends InteractionGuildFurni implements Condi Habbo habbo = room.getRoomUnitManager().getHabboByRoomUnit(roomUnit); - return habbo != null && (habbo.getHabboStats().hasGuild(super.getGuildId()) || habbo.hasRight(Permission.ACC_GUILDGATE)); + return habbo != null && (habbo.getHabboStats().hasGuild(super.getGuildId()) || habbo.hasPermissionRight(Permission.ACC_GUILDGATE)); } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionJukeBox.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionJukeBox.java index 32550f6e..ccc4287c 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionJukeBox.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionJukeBox.java @@ -3,8 +3,8 @@ package com.eu.habbo.habbohotel.items.interactions; import com.eu.habbo.habbohotel.gameclients.GameClient; import com.eu.habbo.habbohotel.items.Item; import com.eu.habbo.habbohotel.rooms.Room; -import com.eu.habbo.habbohotel.rooms.entities.units.RoomUnit; import com.eu.habbo.habbohotel.rooms.entities.items.RoomItem; +import com.eu.habbo.habbohotel.rooms.entities.units.RoomUnit; import com.eu.habbo.messages.ServerMessage; import java.sql.ResultSet; @@ -48,10 +48,10 @@ public class InteractionJukeBox extends RoomItem { if (client != null && objects.length == 1) { if ((Integer) objects[0] == 0) { - if (room.getTraxManager().isPlaying()) { - room.getTraxManager().stop(); + if (room.getRoomTraxManager().isPlaying()) { + room.getRoomTraxManager().stop(); } else { - room.getTraxManager().play(0, client.getHabbo()); + room.getRoomTraxManager().play(0, client.getHabbo()); } } } @@ -61,14 +61,14 @@ public class InteractionJukeBox extends RoomItem { public void onPickUp(Room room) { super.onPickUp(room); this.setExtradata("0"); - room.getTraxManager().removeTraxOnRoom(this); + room.getRoomTraxManager().removeTraxOnRoom(this); } @Override public void onPlace(Room room) { super.onPlace(room); - room.getTraxManager().addTraxOnRoom(this); - if (room.getTraxManager().isPlaying()) { + room.getRoomTraxManager().addTraxOnRoom(this); + if (room.getRoomTraxManager().isPlaying()) { this.setExtradata("1"); } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionMusicDisc.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionMusicDisc.java index 4781c84d..d81205aa 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionMusicDisc.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionMusicDisc.java @@ -2,8 +2,8 @@ package com.eu.habbo.habbohotel.items.interactions; import com.eu.habbo.habbohotel.items.Item; import com.eu.habbo.habbohotel.rooms.Room; -import com.eu.habbo.habbohotel.rooms.entities.units.RoomUnit; import com.eu.habbo.habbohotel.rooms.entities.items.RoomItem; +import com.eu.habbo.habbohotel.rooms.entities.units.RoomUnit; import com.eu.habbo.messages.ServerMessage; import lombok.extern.slf4j.Slf4j; @@ -74,13 +74,13 @@ public class InteractionMusicDisc extends RoomItem { public void onPlace(Room room) { super.onPlace(room); - room.getTraxManager().sendUpdatedSongList(); + room.getRoomTraxManager().sendUpdatedSongList(); } @Override public void onPickUp(Room room) { super.onPickUp(room); - room.getTraxManager().sendUpdatedSongList(); + room.getRoomTraxManager().sendUpdatedSongList(); } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/InteractionGameTimer.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/InteractionGameTimer.java index 4e78d220..4be41c87 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/InteractionGameTimer.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/InteractionGameTimer.java @@ -232,7 +232,7 @@ public class InteractionGameTimer extends RoomItem implements Runnable { Emulator.getThreading().run(new GameTimer(this), 1000); } } else if (client != null) { - if (!(room.getRoomRightsManager().hasRights(client.getHabbo()) || client.getHabbo().hasRight(Permission.ACC_ANYROOMOWNER))) + if (!(room.getRoomRightsManager().hasRights(client.getHabbo()) || client.getHabbo().hasPermissionRight(Permission.ACC_ANYROOMOWNER))) return; InteractionGameTimerAction state = InteractionGameTimerAction.START_STOP; diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/battlebanzai/InteractionBattleBanzaiPuck.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/battlebanzai/InteractionBattleBanzaiPuck.java index ff46ef08..b30ecadc 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/battlebanzai/InteractionBattleBanzaiPuck.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/battlebanzai/InteractionBattleBanzaiPuck.java @@ -127,11 +127,14 @@ public class InteractionBattleBanzaiPuck extends InteractionPushable { @Override public boolean validMove(Room room, RoomTile from, RoomTile to) { - if (to == null) return false; + if (to == null) { + return false; + } + RoomItem topItem = room.getRoomItemManager().getTopItemAt(to.getX(), to.getY(), this); - return !(!room.getLayout().tileWalkable(to.getX(), to.getY()) || (topItem != null && (!topItem.getBaseItem().allowStack() || topItem.getBaseItem().allowSit() || topItem.getBaseItem().allowLay()))); - - //return !(!room.getLayout().tileWalkable(to.x, to.y) || (topItem != null && (!topItem.getBaseItem().setAllowStack() || topItem.getBaseItem().allowSit() || topItem.getBaseItem().allowLay()))); + + return !(!room.getLayout().tileWalkable(to) || (topItem != null && (!topItem.getBaseItem().allowStack() || topItem.getBaseItem().allowSit() || topItem.getBaseItem().allowLay()))); + //return !(!room.getLayout().tileWalkable(to.x, to.y) || (topItem != null && (!topItem.getBaseItem().setAllowStack() || topItem.getBaseItem().allowSit() || topItem.getBaseItem().allowLay()))); } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectChangeFurniDirection.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectChangeFurniDirection.java index 314e81e9..38da5f61 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectChangeFurniDirection.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectChangeFurniDirection.java @@ -87,7 +87,7 @@ public class WiredEffectChangeFurniDirection extends InteractionWiredEffect { RoomTile targetTile = room.getLayout().getTileInFront(room.getLayout().getTile(item.getX(), item.getY()), setting.getDirection().getValue()); int count = 1; - while ((targetTile == null || targetTile.getState() == RoomTileState.INVALID || !room.tileWalkable(targetTile) || room.getRoomItemManager().furnitureFitsAt(targetTile, item, item.getRotation(), false) != FurnitureMovementError.NONE) && count < 8) { + while ((targetTile == null || targetTile.getState() == RoomTileState.INVALID || !room.getLayout().tileWalkable(targetTile) || room.getRoomItemManager().furnitureFitsAt(targetTile, item, item.getRotation(), false) != FurnitureMovementError.NONE) && count < 8) { setting.setDirection(this.nextDirection(setting.getDirection())); RoomTile tile = room.getLayout().getTileInFront(room.getLayout().getTile(item.getX(), item.getY()), setting.getDirection().getValue()); diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectKickRoom.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectKickRoom.java index fde18241..12523f21 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectKickRoom.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectKickRoom.java @@ -33,7 +33,7 @@ public class WiredEffectKickRoom extends InteractionWiredEffect { Habbo habbo = room.getRoomUnitManager().getHabboByRoomUnit(roomUnit); if (habbo != null) { - if (habbo.hasRight(Permission.ACC_UNKICKABLE)) { + if (habbo.hasPermissionRight(Permission.ACC_UNKICKABLE)) { habbo.whisper(Emulator.getTexts().getValue("hotel.wired.kickexception.unkickable")); return true; } diff --git a/src/main/java/com/eu/habbo/habbohotel/modtool/ModToolManager.java b/src/main/java/com/eu/habbo/habbohotel/modtool/ModToolManager.java index 651513a1..27e7c1d5 100644 --- a/src/main/java/com/eu/habbo/habbohotel/modtool/ModToolManager.java +++ b/src/main/java/com/eu/habbo/habbohotel/modtool/ModToolManager.java @@ -386,7 +386,7 @@ public class ModToolManager { } public void alert(Habbo moderator, Habbo target, String message, SupportUserAlertedReason reason) { - if (!moderator.hasRight(Permission.ACC_SUPPORTTOOL)) { + if (!moderator.hasPermissionRight(Permission.ACC_SUPPORTTOOL)) { ScripterManager.scripterDetected(moderator.getClient(), Emulator.getTexts().getValue("scripter.warning.modtools.alert").replace("%username%", moderator.getHabboInfo().getUsername()).replace("%message%", message)); return; } @@ -401,7 +401,7 @@ public class ModToolManager { } public void kick(Habbo moderator, Habbo target, String message) { - if (moderator.hasRight(Permission.ACC_SUPPORTTOOL) && !target.hasRight(Permission.ACC_UNKICKABLE)) { + if (moderator.hasPermissionRight(Permission.ACC_SUPPORTTOOL) && !target.hasPermissionRight(Permission.ACC_UNKICKABLE)) { if (target.getRoomUnit().getRoom() != null) { Emulator.getGameEnvironment().getRoomManager().leaveRoom(target, target.getRoomUnit().getRoom()); } @@ -484,7 +484,7 @@ public class ModToolManager { if (roomActionEvent.isKickUsers()) { for (Habbo habbo : room.getRoomUnitManager().getRoomHabbos()) { - if (!(habbo.hasRight(Permission.ACC_UNKICKABLE) || habbo.hasRight(Permission.ACC_SUPPORTTOOL) || room.getRoomInfo().isRoomOwner(habbo))) { + if (!(habbo.hasPermissionRight(Permission.ACC_UNKICKABLE) || habbo.hasPermissionRight(Permission.ACC_SUPPORTTOOL) || room.getRoomInfo().isRoomOwner(habbo))) { room.kickHabbo(habbo, false); } } diff --git a/src/main/java/com/eu/habbo/habbohotel/modtool/WordFilter.java b/src/main/java/com/eu/habbo/habbohotel/modtool/WordFilter.java index 8310645f..5c625d03 100644 --- a/src/main/java/com/eu/habbo/habbohotel/modtool/WordFilter.java +++ b/src/main/java/com/eu/habbo/habbohotel/modtool/WordFilter.java @@ -125,7 +125,7 @@ public class WordFilter { public String filter(String message, Habbo habbo) { String filteredMessage = message; - if (!Emulator.getConfig().getBoolean("hotel.wordfilter.enabled", true) || (habbo != null && habbo.hasRight(Permission.ACC_CHAT_NO_FILTER))) { + if (!Emulator.getConfig().getBoolean("hotel.wordfilter.enabled", true) || (habbo != null && habbo.hasPermissionRight(Permission.ACC_CHAT_NO_FILTER))) { return message; } if (Emulator.getConfig().getBoolean("hotel.wordfilter.normalise")) { diff --git a/src/main/java/com/eu/habbo/habbohotel/navigation/NavigatorHotelFilter.java b/src/main/java/com/eu/habbo/habbohotel/navigation/NavigatorHotelFilter.java index 012cce5f..7ae56f39 100644 --- a/src/main/java/com/eu/habbo/habbohotel/navigation/NavigatorHotelFilter.java +++ b/src/main/java/com/eu/habbo/habbohotel/navigation/NavigatorHotelFilter.java @@ -19,7 +19,7 @@ public class NavigatorHotelFilter extends NavigatorFilter { @Override public List getResult(Habbo habbo) { - boolean showInvisible = habbo.hasRight(Permission.ACC_ENTERANYROOM) || habbo.hasRight(Permission.ACC_ANYROOMOWNER); + boolean showInvisible = habbo.hasPermissionRight(Permission.ACC_ENTERANYROOM) || habbo.hasPermissionRight(Permission.ACC_ANYROOMOWNER); List resultLists = new ArrayList<>(); int i = 0; @@ -41,7 +41,7 @@ public class NavigatorHotelFilter extends NavigatorFilter { @Override public List getResult(Habbo habbo, NavigatorFilterField filterField, String value, int roomCategory) { - boolean showInvisible = habbo.hasRight(Permission.ACC_ENTERANYROOM) || habbo.hasRight(Permission.ACC_ANYROOMOWNER); + boolean showInvisible = habbo.hasPermissionRight(Permission.ACC_ENTERANYROOM) || habbo.hasPermissionRight(Permission.ACC_ANYROOMOWNER); if (!filterField.getDatabaseQuery().isEmpty()) { List resultLists = new ArrayList<>(); int i = 0; diff --git a/src/main/java/com/eu/habbo/habbohotel/navigation/NavigatorPublicFilter.java b/src/main/java/com/eu/habbo/habbohotel/navigation/NavigatorPublicFilter.java index 1a50fd4a..8b2a02be 100644 --- a/src/main/java/com/eu/habbo/habbohotel/navigation/NavigatorPublicFilter.java +++ b/src/main/java/com/eu/habbo/habbohotel/navigation/NavigatorPublicFilter.java @@ -16,7 +16,7 @@ public class NavigatorPublicFilter extends NavigatorFilter { @Override public List getResult(Habbo habbo) { - boolean showInvisible = habbo.hasRight(Permission.ACC_ENTERANYROOM) || habbo.hasRight(Permission.ACC_ANYROOMOWNER); + boolean showInvisible = habbo.hasPermissionRight(Permission.ACC_ENTERANYROOM) || habbo.hasPermissionRight(Permission.ACC_ANYROOMOWNER); List resultLists = new ArrayList<>(); int i = 0; diff --git a/src/main/java/com/eu/habbo/habbohotel/navigation/NavigatorRoomAdsFilter.java b/src/main/java/com/eu/habbo/habbohotel/navigation/NavigatorRoomAdsFilter.java index 84baf63f..7ca46762 100644 --- a/src/main/java/com/eu/habbo/habbohotel/navigation/NavigatorRoomAdsFilter.java +++ b/src/main/java/com/eu/habbo/habbohotel/navigation/NavigatorRoomAdsFilter.java @@ -16,7 +16,7 @@ public class NavigatorRoomAdsFilter extends NavigatorFilter { @Override public List getResult(Habbo habbo) { - boolean showInvisible = habbo.hasRight(Permission.ACC_ENTERANYROOM) || habbo.hasRight(Permission.ACC_ANYROOMOWNER); + boolean showInvisible = habbo.hasPermissionRight(Permission.ACC_ENTERANYROOM) || habbo.hasPermissionRight(Permission.ACC_ANYROOMOWNER); List resultList = new ArrayList<>(); resultList.add(new SearchResultList(0, "categories", "", SearchAction.NONE, habbo.getHabboStats().getNavigatorWindowSettings().getListModeForCategory("categories", ListMode.LIST), habbo.getHabboStats().getNavigatorWindowSettings().getDisplayModeForCategory("official-root", DisplayMode.VISIBLE), Emulator.getGameEnvironment().getNavigatorManager().getRoomsForCategory("categories", habbo), false, showInvisible, DisplayOrder.ACTIVITY, 0)); return resultList; diff --git a/src/main/java/com/eu/habbo/habbohotel/permissions/PermissionCommand.java b/src/main/java/com/eu/habbo/habbohotel/permissions/PermissionCommand.java index b0326644..15355970 100644 --- a/src/main/java/com/eu/habbo/habbohotel/permissions/PermissionCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/permissions/PermissionCommand.java @@ -1,17 +1,17 @@ package com.eu.habbo.habbohotel.permissions; import lombok.Getter; +import lombok.extern.slf4j.Slf4j; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Arrays; +@Slf4j +@Getter public class PermissionCommand { - @Getter private final String name; - private final String description; - @Getter private final String[] keys; public PermissionCommand(ResultSet set) throws SQLException { diff --git a/src/main/java/com/eu/habbo/habbohotel/permissions/PermissionGroup.java b/src/main/java/com/eu/habbo/habbohotel/permissions/PermissionGroup.java index 39966284..87ea6450 100644 --- a/src/main/java/com/eu/habbo/habbohotel/permissions/PermissionGroup.java +++ b/src/main/java/com/eu/habbo/habbohotel/permissions/PermissionGroup.java @@ -4,7 +4,10 @@ import com.eu.habbo.Emulator; import lombok.Getter; import lombok.extern.slf4j.Slf4j; -import java.sql.*; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; import java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -29,8 +32,8 @@ public class PermissionGroup { private final String prefix; @Getter private final String prefixColor; - private final Map commands; - private final Map rights; + private final Map commands; + private final Map rights; @Getter final Map timers; @@ -57,13 +60,19 @@ public class PermissionGroup { } private void loadCommands(Map commandsAvailable) { + this.commands.clear(); + try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("SELECT * FROM permission_group_commands WHERE group_id = ?")) { statement.setInt(1, this.id); try(ResultSet set = statement.executeQuery()) { while (set.next()) { String commandName = set.getString("command_name"); PermissionCommand command = commandsAvailable.values().stream().filter(commandAvailable -> commandAvailable.getName().equalsIgnoreCase(commandName)).findFirst().orElse(null); - this.commands.put(command, PermissionSetting.fromString(set.getString("setting_type"))); + + if(command != null) { + PermissionSetting setting = PermissionSetting.fromString(set.getString("setting_type")); + this.commands.put(command.getName(), setting); + } } } } catch (SQLException e) { @@ -72,13 +81,18 @@ public class PermissionGroup { } private void loadRights(Map rightsAvailable) { + this.rights.clear(); + try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("SELECT * FROM permission_group_rights WHERE group_id = ?")) { statement.setInt(1, this.id); try(ResultSet set = statement.executeQuery()) { while (set.next()) { String rightName = set.getString("right_name"); PermissionRight right = rightsAvailable.values().stream().filter(rightAvailable -> rightAvailable.getName().equalsIgnoreCase(rightName)).findFirst().orElse(null); - this.rights.put(right, PermissionSetting.fromString(set.getString("setting_type"))); + + if(right != null) { + this.rights.put(right.getName(), PermissionSetting.fromString(set.getString("setting_type"))); + } } } } catch (SQLException e) { @@ -87,6 +101,8 @@ public class PermissionGroup { } private void loadTimers() { + this.timers.clear(); + try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("SELECT * FROM permission_group_timers WHERE group_id = ? ORDER BY id ASC")) { statement.setInt(1, this.id); try(ResultSet set = statement.executeQuery()) { @@ -112,22 +128,22 @@ public class PermissionGroup { return true; } - PermissionSetting setting = this.commands.get(command); - return setting == PermissionSetting.ALLOWED || (setting == PermissionSetting.HAS_ROOM_RIGHTS && hasRoomRights); - } + if(this.commands.containsKey(command.getName())) { + PermissionSetting setting = this.commands.get(command.getName()); - public boolean hasCommand(String name, boolean hasRoomRights) { - PermissionCommand command = Emulator.getGameEnvironment().getPermissionsManager().getCommand(name); - if (this.commands.containsKey(command)) { - PermissionSetting setting = this.commands.get(command); - return (setting == PermissionSetting.ALLOWED || (setting == PermissionSetting.HAS_ROOM_RIGHTS && hasRoomRights)); + if(setting == null) { + return false; + } + + return setting == PermissionSetting.ALLOWED || (setting == PermissionSetting.HAS_ROOM_RIGHTS && hasRoomRights); } + return false; } - public boolean hasRight(String name, boolean hasRoomRights) { + public boolean hasPermissionRight(String name, boolean hasRoomRights) { PermissionRight right = Emulator.getGameEnvironment().getPermissionsManager().getRight(name); - if(this.rights.containsKey(right)) { + if(right != null && this.rights.containsKey(right)) { PermissionSetting setting = this.rights.get(right); return (setting == PermissionSetting.ALLOWED || (setting == PermissionSetting.HAS_ROOM_RIGHTS && hasRoomRights)); } @@ -143,14 +159,14 @@ public class PermissionGroup { return 0; } - public List getCommands() { - Collection fixedCommands = Emulator.getGameEnvironment().getPermissionsManager().getFixedCommands(); - Set commands = this.commands.keySet(); + public List getCommands() { + Collection fixedCommands = Emulator.getGameEnvironment().getPermissionsManager().getFixedCommands(); + Set commands = this.commands.keySet(); return Stream.concat(fixedCommands.stream(), commands.stream()).collect(Collectors.toList()); } - public Set getRights() { + public Set getRights() { return this.rights.keySet(); } diff --git a/src/main/java/com/eu/habbo/habbohotel/permissions/PermissionsManager.java b/src/main/java/com/eu/habbo/habbohotel/permissions/PermissionsManager.java index 87baed35..83661432 100644 --- a/src/main/java/com/eu/habbo/habbohotel/permissions/PermissionsManager.java +++ b/src/main/java/com/eu/habbo/habbohotel/permissions/PermissionsManager.java @@ -10,12 +10,14 @@ import java.sql.SQLException; import java.sql.Statement; import java.util.Collection; import java.util.HashMap; +import java.util.HashSet; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.stream.Stream; @Slf4j public class PermissionsManager { - private final Map permissionGroups; + private final ConcurrentHashMap permissionGroups; private final Map permissionCommands; private final Map fixedCommands; private final Map permissionRights; @@ -23,7 +25,7 @@ public class PermissionsManager { public PermissionsManager() { long millis = System.currentTimeMillis(); - this.permissionGroups = new HashMap<>(); + this.permissionGroups = new ConcurrentHashMap<>(); this.permissionCommands = new HashMap<>(); this.fixedCommands = new HashMap<>(); this.permissionRights = new HashMap<>(); @@ -37,21 +39,34 @@ public class PermissionsManager { this.loadPermissionRights(); this.loadPermissionGroups(); this.loadEnables(); + log.info(this.permissionGroups.size() + " ranks, " + this.permissionCommands.size() + " commands " + this.permissionRights.size() + " rights -> Loaded!"); } + /** + * Load permission groups information, commands and rights + */ private void loadPermissionGroups() { + HashSet currentGroupIds = new HashSet<>(); try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); Statement statement = connection.createStatement(); ResultSet set = statement.executeQuery("SELECT * FROM permission_groups ORDER BY id ASC")) { while (set.next()) { PermissionGroup permissionGroup = new PermissionGroup(set, this.permissionCommands, this.permissionRights); this.permissionGroups.put(permissionGroup.getId(), permissionGroup); + currentGroupIds.add(permissionGroup.getId()); } } catch (SQLException e) { log.error("Caught SQL exception", e); } + + this.permissionGroups.entrySet().removeIf(entry -> !currentGroupIds.contains(entry.getKey())); } + /** + * Load every available command in the database + */ private void loadPermissionCommands() { + this.permissionCommands.clear(); + this.loadFixedCommands(); try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); Statement statement = connection.createStatement(); ResultSet set = statement.executeQuery("SELECT * FROM permission_commands")) { @@ -62,8 +77,14 @@ public class PermissionsManager { } catch (SQLException e) { log.error("Caught SQL exception", e); } + + log.info("Loaded {} available commands!", this.permissionCommands.size()); } + /** + * Load fixed commands, any command that doesn't require a permission + * these commands are always available for any user + */ private void loadFixedCommands() { String[] fixedCommandNames = { "cmd_about", @@ -75,7 +96,8 @@ public class PermissionsManager { "cmd_mute_pets", "cmd_plugins", "cmd_sit", - "cmd_stand" + "cmd_stand", + "cmd_test" }; for(String command : fixedCommandNames) { @@ -86,11 +108,19 @@ public class PermissionsManager { } } + /** + * Add a fixed command through plugins if you want to include a fixed command + * on main source make use of `loadFixedCommands()` instead + * + * @param fixedCommand A command that will be always available to any user + */ public void addFixedCommand(PermissionCommand fixedCommand) { this.fixedCommands.put(fixedCommand.getName(), fixedCommand); } private void loadPermissionRights() { + this.permissionRights.clear(); + try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); Statement statement = connection.createStatement(); ResultSet set = statement.executeQuery("SELECT * FROM permission_rights")) { while (set.next()) { PermissionRight permissionRight = new PermissionRight(set); @@ -99,6 +129,8 @@ public class PermissionsManager { } catch (SQLException e) { log.error("Caught SQL exception", e); } + + log.info("Loaded {} available rights!", this.permissionRights.size()); } private void loadEnables() { @@ -140,8 +172,8 @@ public class PermissionsManager { .orElseGet(() -> null); } - public Collection getFixedCommands() { - return this.fixedCommands.values(); + public Collection getFixedCommands() { + return this.fixedCommands.keySet(); } public boolean isFixedCommand(String name) { diff --git a/src/main/java/com/eu/habbo/habbohotel/rooms/Room.java b/src/main/java/com/eu/habbo/habbohotel/rooms/Room.java index f8fb995b..e884a59f 100644 --- a/src/main/java/com/eu/habbo/habbohotel/rooms/Room.java +++ b/src/main/java/com/eu/habbo/habbohotel/rooms/Room.java @@ -55,7 +55,6 @@ import com.eu.habbo.plugin.events.users.UserRolledEvent; import com.eu.habbo.plugin.events.users.UsernameTalkEvent; import com.eu.habbo.threading.runnables.YouAreAPirate; import gnu.trove.TCollections; -import gnu.trove.iterator.TIntObjectIterator; import gnu.trove.map.TIntIntMap; import gnu.trove.map.TIntObjectMap; import gnu.trove.map.hash.TIntIntHashMap; @@ -91,7 +90,7 @@ public class Room implements Comparable, ISerialize, Runnable { @Getter private final RoomRightsManager roomRightsManager; @Getter - private TraxManager traxManager; + private RoomTraxManager roomTraxManager; private static final String CAUGHT_EXCEPTION = "Caught exception"; public static final Comparator SORT_SCORE = (o1, o2) -> o2.roomInfo.getScore() - o1.roomInfo.getScore(); public static final Comparator SORT_ID = (o1, o2) -> o2.roomInfo.getId() - o1.roomInfo.getId(); @@ -122,7 +121,6 @@ public class Room implements Comparable, ISerialize, Runnable { private final TIntIntMap furniOwnerCount; @Getter private final THashSet wordFilterWords; - private final TIntObjectMap roomItems; private final Object loadLock = new Object(); //Use appropriately. Could potentially cause memory leaks when used incorrectly. public volatile boolean preventUnloading = false; @@ -206,7 +204,6 @@ public class Room implements Comparable, ISerialize, Runnable { this.allowEffects = true; this.furniOwnerNames = TCollections.synchronizedMap(new TIntObjectHashMap<>(0)); this.furniOwnerCount = TCollections.synchronizedMap(new TIntIntHashMap(0)); - this.roomItems = TCollections.synchronizedMap(new TIntObjectHashMap<>(0)); this.wordFilterWords = new THashSet<>(0); this.mutedHabbos = new TIntIntHashMap(); @@ -232,10 +229,6 @@ public class Room implements Comparable, ISerialize, Runnable { this.loadLayout(); this.roomRightsManager.load(connection); - - //TODO Deprecated - this.loadItems(connection); - this.roomItemManager.load(connection); this.loadHeightmap(); this.roomUnitManager.load(connection); @@ -249,10 +242,10 @@ public class Room implements Comparable, ISerialize, Runnable { log.error(CAUGHT_EXCEPTION, e); } - this.traxManager = new TraxManager(this); + this.roomTraxManager = new RoomTraxManager(this); if (this.roomInfo.isJukeboxEnabled()) { - this.traxManager.play(0); + this.roomTraxManager.play(0); for (RoomItem item : this.roomSpecialTypes.getItemsOfType(InteractionJukeBox.class)) { this.updateItem(item.setExtradata("1")); } @@ -299,28 +292,6 @@ public class Room implements Comparable, ISerialize, Runnable { } } - private synchronized void loadItems(Connection connection) { - this.roomItems.clear(); - - try (PreparedStatement statement = connection.prepareStatement("SELECT * FROM items WHERE room_id = ?")) { - statement.setInt(1, this.roomInfo.getId()); - try (ResultSet set = statement.executeQuery()) { - while (set.next()) { - RoomItem item = Emulator.getGameEnvironment().getItemManager().loadHabboItem(set); - this.getRoomItemManager().addRoomItem(item); - } - } - } catch (SQLException e) { - log.error(CAUGHT_SQL_EXCEPTION, e); - } catch (Exception e) { - log.error(CAUGHT_EXCEPTION, e); - } - - if (this.getRoomItemManager().getCurrentItems().size() > Room.MAXIMUM_FURNI) { - log.error("Room ID: {} has exceeded the furniture limit ({} > {}).", this.roomInfo.getId(), this.getRoomItemManager().getCurrentItems().size(), Room.MAXIMUM_FURNI); - } - } - private synchronized void loadWordFilter(Connection connection) { this.wordFilterWords.clear(); @@ -406,25 +377,6 @@ public class Room implements Comparable, ISerialize, Runnable { return result; } - public boolean tileWalkable(RoomTile t) { - return this.tileWalkable(t.getX(), t.getY()); - } - - public boolean tileWalkable(short x, short y) { - boolean walkable = this.layout.tileWalkable(x, y); - RoomTile tile = this.getLayout().getTile(x, y); - - if ((walkable && tile != null) && (this.roomUnitManager.areRoomUnitsAt(tile) && !this.roomInfo.isAllowWalkthrough())) { - walkable = false; - } - - return walkable; - } - - public void updateHabbo(Habbo habbo) { - this.updateRoomUnit(habbo.getRoomUnit()); - } - public void updateRoomUnit(RoomUnit roomUnit) { RoomItem item = this.roomItemManager.getTopItemAt(roomUnit.getCurrentPosition().getX(), roomUnit.getCurrentPosition().getY()); @@ -566,8 +518,8 @@ public class Room implements Comparable, ISerialize, Runnable { if (this.loaded) { try { - if (this.traxManager != null && !this.traxManager.disposed()) { - this.traxManager.dispose(); + if (this.roomTraxManager != null && !this.roomTraxManager.disposed()) { + this.roomTraxManager.dispose(); } this.roomCycleTask.cancel(false); @@ -592,35 +544,17 @@ public class Room implements Comparable, ISerialize, Runnable { this.roomUnitManager.removeAllPetsExceptRoomOwner(); - synchronized (this.roomItems) { - TIntObjectIterator iterator = this.roomItems.iterator(); - - - for (int i = this.roomItems.size(); i-- > 0; ) { - try { - iterator.advance(); - - if (iterator.value().needsUpdate()) - iterator.value().run(); - } catch (NoSuchElementException e) { - break; - } - } - } + this.roomItemManager.dispose(); if (this.roomSpecialTypes != null) { this.roomSpecialTypes.dispose(); } - synchronized (this.roomItems) { - this.roomItems.clear(); - } - synchronized (this.habboQueue) { this.habboQueue.clear(); } - this.roomUnitManager.dispose(this); + this.roomUnitManager.dispose(); } catch (Exception e) { log.error(CAUGHT_EXCEPTION, e); } @@ -851,6 +785,7 @@ public class Room implements Comparable, ISerialize, Runnable { } if (this.cycleRoomUnit(habbo.getRoomUnit())) { + habbo.getRoomUnit().setStatusUpdateNeeded(false); updatedUnit.add(habbo.getRoomUnit()); } } @@ -883,6 +818,7 @@ public class Room implements Comparable, ISerialize, Runnable { if (this.cycleRoomUnit(bot.getRoomUnit())) { + bot.getRoomUnit().setStatusUpdateNeeded(false); updatedUnit.add(bot.getRoomUnit()); } @@ -905,6 +841,7 @@ public class Room implements Comparable, ISerialize, Runnable { } if (this.cycleRoomUnit(pet.getRoomUnit())) { + pet.getRoomUnit().setStatusUpdateNeeded(false); updatedUnit.add(pet.getRoomUnit()); } @@ -938,7 +875,7 @@ public class Room implements Comparable, ISerialize, Runnable { RoomItem newRoller = null; - RoomTile rollerTile = this.getLayout().getTile(roller.getX(), roller.getY()); + RoomTile rollerTile = this.layout.getTile(roller.getX(), roller.getY()); if (rollerTile == null) return true; @@ -1164,7 +1101,7 @@ public class Room implements Comparable, ISerialize, Runnable { this.sendComposer(new UserUpdateComposer(updatedUnit).compose()); } - this.traxManager.cycle(); + this.roomTraxManager.cycle(); } else { if (this.roomIdleCycles < 60) @@ -1199,32 +1136,23 @@ public class Room implements Comparable, ISerialize, Runnable { } private boolean cycleRoomUnit(RoomUnit unit) { - boolean update = unit.isStatusUpdateNeeded(); - - if (unit.hasStatus(RoomUnitStatus.SIGN)) { - this.sendComposer(new UserUpdateComposer(unit).compose()); - unit.removeStatus(RoomUnitStatus.SIGN); - } - + //Si esta caminando y su path no es nulo ni esta vacio if (unit.isWalking() && unit.getPath() != null && !unit.getPath().isEmpty()) { - if (!unit.cycle(this)) { - return true; - } + unit.cycle(this); + //Si no esta caminando o su path tiene errores } else { + //Y tiene el status de move, quitaselo y ocupa update if (unit.hasStatus(RoomUnitStatus.MOVE) && !unit.isAnimateWalk()) { unit.removeStatus(RoomUnitStatus.MOVE); - - update = true; } if (!unit.isWalking() && !unit.isCmdSitEnabled()) { - RoomTile thisTile = this.getLayout().getTile(unit.getCurrentPosition().getX(), unit.getCurrentPosition().getY()); + RoomTile thisTile = this.layout.getTile(unit.getCurrentPosition().getX(), unit.getCurrentPosition().getY()); RoomItem topItem = this.roomItemManager.getTallestChair(thisTile); if (topItem == null || !topItem.getBaseItem().allowSit()) { if (unit.hasStatus(RoomUnitStatus.SIT)) { unit.removeStatus(RoomUnitStatus.SIT); - update = true; } } else if (thisTile.getState() == RoomTileState.SIT && (!unit.hasStatus(RoomUnitStatus.SIT) || unit.isSitUpdate())) { if(unit instanceof RoomAvatar roomAvatar) { @@ -1245,7 +1173,6 @@ public class Room implements Comparable, ISerialize, Runnable { if (topItem == null || !topItem.getBaseItem().allowLay()) { if (unit.hasStatus(RoomUnitStatus.LAY)) { unit.removeStatus(RoomUnitStatus.LAY); - update = true; } } else { if (!unit.hasStatus(RoomUnitStatus.LAY)) { @@ -1257,16 +1184,11 @@ public class Room implements Comparable, ISerialize, Runnable { } else { unit.setLocation(this.layout.getTile(topItem.getX(), unit.getCurrentPosition().getY())); } - update = true; } } } - if (update) { - unit.setStatusUpdateNeeded(false); - } - - return update; + return unit.isStatusUpdateNeeded(); } public void setDiagonalMoveEnabled(boolean moveDiagonally) { @@ -1441,7 +1363,7 @@ public class Room implements Comparable, ISerialize, Runnable { THashSet habbos = new THashSet<>(); for (short x = item.getX(); x < item.getX() + item.getBaseItem().getLength(); x++) { for (short y = item.getY(); y < item.getY() + item.getBaseItem().getWidth(); y++) { - RoomTile tile = this.getLayout().getTile(x, y); + RoomTile tile = this.layout.getTile(x, y); habbos.addAll(this.roomUnitManager.getHabbosAt(tile)); } } @@ -1453,7 +1375,7 @@ public class Room implements Comparable, ISerialize, Runnable { THashSet bots = new THashSet<>(); for (short x = item.getX(); x < item.getX() + item.getBaseItem().getLength(); x++) { for (short y = item.getY(); y < item.getY() + item.getBaseItem().getWidth(); y++) { - RoomTile tile = this.getLayout().getTile(x, y); + RoomTile tile = this.layout.getTile(x, y); bots.addAll(this.roomUnitManager.getBotsAt(tile)); } } @@ -1465,7 +1387,7 @@ public class Room implements Comparable, ISerialize, Runnable { THashSet pets = new THashSet<>(); for (short x = item.getX(); x < item.getX() + item.getBaseItem().getLength(); x++) { for (short y = item.getY(); y < item.getY() + item.getBaseItem().getWidth(); y++) { - RoomTile tile = this.getLayout().getTile(x, y); + RoomTile tile = this.layout.getTile(x, y); pets.addAll(this.roomUnitManager.getPetsAt(tile)); } } @@ -1601,7 +1523,7 @@ public class Room implements Comparable, ISerialize, Runnable { if (roomChatMessage == null || roomChatMessage.getMessage() == null || roomChatMessage.getMessage().equals("")) return; - if (!habbo.hasRight(Permission.ACC_NOMUTE) && (!MUTEAREA_CAN_WHISPER || chatType != RoomChatType.WHISPER)) { + if (!habbo.hasPermissionRight(Permission.ACC_NOMUTE) && (!MUTEAREA_CAN_WHISPER || chatType != RoomChatType.WHISPER)) { for (RoomItem area : this.getRoomSpecialTypes().getItemsOfType(InteractionMuteArea.class)) { if (((InteractionMuteArea) area).inSquare(habbo.getRoomUnit().getCurrentPosition())) { return; @@ -1609,13 +1531,13 @@ public class Room implements Comparable, ISerialize, Runnable { } } - if (!this.wordFilterWords.isEmpty() && !habbo.hasRight(Permission.ACC_CHAT_NO_FILTER)) { + if (!this.wordFilterWords.isEmpty() && !habbo.hasPermissionRight(Permission.ACC_CHAT_NO_FILTER)) { for (String string : this.wordFilterWords) { roomChatMessage.setMessage(roomChatMessage.getMessage().replaceAll("(?i)" + Pattern.quote(string), "bobba")); } } - if (!habbo.hasRight(Permission.ACC_NOMUTE)) { + if (!habbo.hasPermissionRight(Permission.ACC_NOMUTE)) { if (this.isMuted() && !this.roomRightsManager.hasRights(habbo)) { return; } @@ -1641,7 +1563,7 @@ public class Room implements Comparable, ISerialize, Runnable { } } - if (!habbo.hasRight(Permission.ACC_CHAT_NO_FLOOD)) { + if (!habbo.hasPermissionRight(Permission.ACC_CHAT_NO_FLOOD)) { final int chatCounter = habbo.getHabboStats().getChatCounter().addAndGet(1); if (chatCounter > 3) { @@ -1705,13 +1627,13 @@ public class Room implements Comparable, ISerialize, Runnable { continue; } - if (h.hasRight(Permission.ACC_SEE_WHISPERS)) { + if (h.hasPermissionRight(Permission.ACC_SEE_WHISPERS)) { h.getClient().sendResponse(staffMessage); } } } else if (chatType == RoomChatType.TALK) { ServerMessage message = new ChatMessageComposer(roomChatMessage).compose(); - boolean noChatLimit = habbo.hasRight(Permission.ACC_CHAT_NO_LIMIT); + boolean noChatLimit = habbo.hasPermissionRight(Permission.ACC_CHAT_NO_LIMIT); for (Habbo h : this.roomUnitManager.getRoomHabbos()) { if ((h.getRoomUnit().getCurrentPosition().distance(habbo.getRoomUnit().getCurrentPosition()) <= this.roomInfo.getChatDistance() || @@ -1813,7 +1735,7 @@ public class Room implements Comparable, ISerialize, Runnable { * @param tentRectangle The whole tent area from where the sending Habbo is saying something */ private void showTentChatMessageOutsideTentIfPermitted(Habbo receivingHabbo, RoomChatMessage roomChatMessage, Rectangle tentRectangle) { - if (receivingHabbo != null && receivingHabbo.hasRight(Permission.ACC_SEE_TENTCHAT) && tentRectangle != null && !RoomLayout.tileInSquare(tentRectangle, receivingHabbo.getRoomUnit().getCurrentPosition())) { + if (receivingHabbo != null && receivingHabbo.hasPermissionRight(Permission.ACC_SEE_TENTCHAT) && tentRectangle != null && !RoomLayout.tileInSquare(tentRectangle, receivingHabbo.getRoomUnit().getCurrentPosition())) { RoomChatMessage staffChatMessage = new RoomChatMessage(roomChatMessage); staffChatMessage.setMessage("[" + Emulator.getTexts().getValue("hotel.room.tent.prefix") + "] " + staffChatMessage.getMessage()); final ServerMessage staffMessage = new WhisperMessageComposer(staffChatMessage).compose(); @@ -1869,7 +1791,6 @@ public class Room implements Comparable, ISerialize, Runnable { } public double getStackHeight(short x, short y, boolean calculateHeightmap, RoomItem exclude) { - if (x < 0 || y < 0 || this.layout == null) return calculateHeightmap ? Short.MAX_VALUE : 0.0; @@ -1922,7 +1843,7 @@ public class Room implements Comparable, ISerialize, Runnable { } public boolean canSitOrLayAt(int x, int y) { - RoomTile tile = this.getLayout().getTile((short) x, (short) y); + RoomTile tile = this.layout.getTile((short) x, (short) y); if(tile == null) { return false; @@ -1937,7 +1858,7 @@ public class Room implements Comparable, ISerialize, Runnable { } public boolean canSitAt(int x, int y) { - RoomTile tile = this.getLayout().getTile((short) x, (short) y); + RoomTile tile = this.layout.getTile((short) x, (short) y); if(tile == null) { return false; @@ -2110,7 +2031,7 @@ public class Room implements Comparable, ISerialize, Runnable { public boolean isBanned(Habbo habbo) { RoomBan ban = this.bannedHabbos.get(habbo.getHabboInfo().getId()); - boolean banned = ban != null && ban.getEndTimestamp() > Emulator.getIntUnixTimestamp() && !habbo.hasRight(Permission.ACC_ANYROOMOWNER) && !habbo.hasRight(Permission.ACC_ENTERANYROOM); + boolean banned = ban != null && ban.getEndTimestamp() > Emulator.getIntUnixTimestamp() && !habbo.hasPermissionRight(Permission.ACC_ANYROOMOWNER) && !habbo.hasPermissionRight(Permission.ACC_ENTERANYROOM); if (!banned && ban != null) { this.unbanHabbo(habbo.getHabboInfo().getId()); @@ -2135,7 +2056,7 @@ public class Room implements Comparable, ISerialize, Runnable { if (item != null && item.getRoomId() == this.roomInfo.getId() && item.getBaseItem() != null) { if (item.getBaseItem().getType() == FurnitureType.FLOOR) { this.sendComposer(new ObjectUpdateMessageComposer(item).compose()); - this.updateTiles(this.getLayout().getTilesAt(this.layout.getTile(item.getX(), item.getY()), item.getBaseItem().getWidth(), item.getBaseItem().getLength(), item.getRotation())); + this.updateTiles(this.layout.getTilesAt(this.layout.getTile(item.getX(), item.getY()), item.getBaseItem().getWidth(), item.getBaseItem().getLength(), item.getRotation())); } else if (item.getBaseItem().getType() == FurnitureType.WALL) { this.sendComposer(new ItemUpdateMessageComposer(item).compose()); } @@ -2153,7 +2074,7 @@ public class Room implements Comparable, ISerialize, Runnable { if (item.getBaseItem().getType() == FurnitureType.FLOOR) { if (this.layout == null) return; - this.updateTiles(this.getLayout().getTilesAt(this.layout.getTile(item.getX(), item.getY()), item.getBaseItem().getWidth(), item.getBaseItem().getLength(), item.getRotation())); + this.updateTiles(this.layout.getTilesAt(this.layout.getTile(item.getX(), item.getY()), item.getBaseItem().getWidth(), item.getBaseItem().getLength(), item.getRotation())); if (item instanceof InteractionMultiHeight interactionMultiHeight) { interactionMultiHeight.updateUnitsOnItem(this); @@ -2168,7 +2089,7 @@ public class Room implements Comparable, ISerialize, Runnable { public int getUserUniqueFurniCount(int userId) { THashSet items = new THashSet<>(); - for (RoomItem item : this.roomItems.valueCollection()) { + for (RoomItem item : this.roomItemManager.getCurrentItems().values()) { if (!items.contains(item.getBaseItem()) && item.getOwnerId() == userId) items.add(item.getBaseItem()); } @@ -2193,16 +2114,10 @@ public class Room implements Comparable, ISerialize, Runnable { public void refreshGuildColors(Guild guild) { if (guild.getRoomId() == this.roomInfo.getId()) { - TIntObjectIterator iterator = this.roomItems.iterator(); + Iterator iterator = this.roomItemManager.getCurrentItems().values().iterator(); for (int i = this.roomItemManager.getCurrentItems().size(); i-- > 0; ) { - try { - iterator.advance(); - } catch (Exception e) { - break; - } - - RoomItem roomItem = iterator.value(); + RoomItem roomItem = iterator.next(); if (roomItem instanceof InteractionGuildFurni interactionGuildFurni && interactionGuildFurni.getGuildId() == guild.getId()) { this.updateItem(roomItem); @@ -2214,7 +2129,7 @@ public class Room implements Comparable, ISerialize, Runnable { public void refreshGuildRightsInRoom() { for (Habbo habbo : this.roomUnitManager.getRoomHabbos()) { if ((habbo.getRoomUnit().getRoom() == this && habbo.getHabboInfo().getId() != this.roomInfo.getOwnerInfo().getId()) - && (!(habbo.hasRight(Permission.ACC_ANYROOMOWNER) || habbo.hasRight(Permission.ACC_MOVEROTATE)))) + && (!(habbo.hasPermissionRight(Permission.ACC_ANYROOMOWNER) || habbo.hasPermissionRight(Permission.ACC_MOVEROTATE)))) this.getRoomRightsManager().refreshRightsForHabbo(habbo); } } diff --git a/src/main/java/com/eu/habbo/habbohotel/rooms/RoomChatMessage.java b/src/main/java/com/eu/habbo/habbohotel/rooms/RoomChatMessage.java index e8d0aeca..c3dfb3f7 100644 --- a/src/main/java/com/eu/habbo/habbohotel/rooms/RoomChatMessage.java +++ b/src/main/java/com/eu/habbo/habbohotel/rooms/RoomChatMessage.java @@ -60,7 +60,7 @@ public class RoomChatMessage implements Runnable, ISerialize, DatabaseLoggable { this.bubble = RoomChatMessageBubbles.NORMAL; } - if (!message.client.getHabbo().hasRight(Permission.ACC_ANYCHATCOLOR)) { + if (!message.client.getHabbo().hasPermissionRight(Permission.ACC_ANYCHATCOLOR)) { for (Integer i : RoomChatMessage.BANNED_BUBBLES) { if (i == this.bubble.getType()) { this.bubble = RoomChatMessageBubbles.NORMAL; @@ -155,7 +155,7 @@ public class RoomChatMessage implements Runnable, ISerialize, DatabaseLoggable { @Override public void serialize(ServerMessage message) { if (this.habbo != null && this.bubble.isOverridable()) { - if (!this.habbo.hasRight(Permission.ACC_ANYCHATCOLOR)) { + if (!this.habbo.hasPermissionRight(Permission.ACC_ANYCHATCOLOR)) { for (Integer i : RoomChatMessage.BANNED_BUBBLES) { if (i == this.bubble.getType()) { this.bubble = RoomChatMessageBubbles.NORMAL; @@ -166,7 +166,7 @@ public class RoomChatMessage implements Runnable, ISerialize, DatabaseLoggable { } if (!this.getBubble().getPermission().isEmpty()) { - if (this.habbo != null && !this.habbo.hasRight(this.getBubble().getPermission())) { + if (this.habbo != null && !this.habbo.hasPermissionRight(this.getBubble().getPermission())) { this.bubble = RoomChatMessageBubbles.NORMAL; } } @@ -191,7 +191,7 @@ public class RoomChatMessage implements Runnable, ISerialize, DatabaseLoggable { } if (Emulator.getConfig().getBoolean("hotel.wordfilter.enabled", true) && Emulator.getConfig().getBoolean("hotel.wordfilter.rooms")) { - if (!this.habbo.hasRight(Permission.ACC_CHAT_NO_FILTER)) { + if (!this.habbo.hasPermissionRight(Permission.ACC_CHAT_NO_FILTER)) { if (!Emulator.getGameEnvironment().getWordFilter().autoReportCheck(this)) { if (!Emulator.getGameEnvironment().getWordFilter().hideMessageCheck(this.message)) { Emulator.getGameEnvironment().getWordFilter().filter(this, this.habbo); diff --git a/src/main/java/com/eu/habbo/habbohotel/rooms/RoomInfo.java b/src/main/java/com/eu/habbo/habbohotel/rooms/RoomInfo.java index 25464bb7..ac7f27b4 100644 --- a/src/main/java/com/eu/habbo/habbohotel/rooms/RoomInfo.java +++ b/src/main/java/com/eu/habbo/habbohotel/rooms/RoomInfo.java @@ -197,7 +197,7 @@ public class RoomInfo { } public boolean isRoomOwner(Habbo owner) { - return this.ownerInfo.getId() == owner.getHabboInfo().getId() || owner.hasRight(Permission.ACC_ANYROOMOWNER); + return this.ownerInfo.getId() == owner.getHabboInfo().getId() || owner.hasPermissionRight(Permission.ACC_ANYROOMOWNER); } public String[] filterAnything() { diff --git a/src/main/java/com/eu/habbo/habbohotel/rooms/RoomItemManager.java b/src/main/java/com/eu/habbo/habbohotel/rooms/RoomItemManager.java index db0b8345..7aef2ba5 100644 --- a/src/main/java/com/eu/habbo/habbohotel/rooms/RoomItemManager.java +++ b/src/main/java/com/eu/habbo/habbohotel/rooms/RoomItemManager.java @@ -232,7 +232,7 @@ public class RoomItemManager { return FurnitureMovementError.MAX_SOUNDFURNI; } else if (tile == null || tile.getState() == RoomTileState.INVALID) { return FurnitureMovementError.INVALID_MOVE; - } else if (this.room.getRoomRightsManager().hasRights(habbo) || this.room.getGuildRightLevel(habbo).isEqualOrGreaterThan(RoomRightLevels.GUILD_RIGHTS) || habbo.hasRight(Permission.ACC_MOVEROTATE)) { + } else if (this.room.getRoomRightsManager().hasRights(habbo) || this.room.getGuildRightLevel(habbo).isEqualOrGreaterThan(RoomRightLevels.GUILD_RIGHTS) || habbo.hasPermissionRight(Permission.ACC_MOVEROTATE)) { return FurnitureMovementError.NONE; } @@ -1089,4 +1089,15 @@ public class RoomItemManager { this.addUndefined(item); } } + + public void dispose() { + this.currentItems.values().parallelStream() + .filter(RoomItem::needsUpdate) + .forEach(roomItem -> { + roomItem.run(); + this.currentItems.remove(roomItem.getId()); + }); + + this.currentItems.clear(); + } } diff --git a/src/main/java/com/eu/habbo/habbohotel/rooms/RoomLayout.java b/src/main/java/com/eu/habbo/habbohotel/rooms/RoomLayout.java index 0ebba443..8969b489 100644 --- a/src/main/java/com/eu/habbo/habbohotel/rooms/RoomLayout.java +++ b/src/main/java/com/eu/habbo/habbohotel/rooms/RoomLayout.java @@ -3,6 +3,8 @@ package com.eu.habbo.habbohotel.rooms; import com.eu.habbo.Emulator; import com.eu.habbo.habbohotel.rooms.entities.units.RoomUnit; import gnu.trove.set.hash.THashSet; +import lombok.Getter; +import lombok.Setter; import lombok.extern.slf4j.Slf4j; import java.awt.*; @@ -17,16 +19,30 @@ public class RoomLayout { public static double MAXIMUM_STEP_HEIGHT = 1.1; public static boolean ALLOW_FALLING = true; public boolean CANMOVEDIAGONALY = true; + @Getter private String name; + @Getter + @Setter private short doorX; + @Getter + @Setter private short doorY; + @Getter private short doorZ; + @Getter + @Setter private int doorDirection; + @Getter + @Setter private String heightmap; + @Getter private int mapSize; + @Getter private int mapSizeX; + @Getter private int mapSizeY; private RoomTile[][] roomTiles; + @Getter private RoomTile doorTile; private final Room room; @@ -143,62 +159,6 @@ public class RoomLayout { } } - public String getName() { - return this.name; - } - - public short getDoorX() { - return this.doorX; - } - - public void setDoorX(short doorX) { - this.doorX = doorX; - } - - public short getDoorY() { - return this.doorY; - } - - public void setDoorY(short doorY) { - this.doorY = doorY; - } - - public int getDoorZ() { - return this.doorZ; - } - - public RoomTile getDoorTile() { - return this.doorTile; - } - - public int getDoorDirection() { - return this.doorDirection; - } - - public void setDoorDirection(int doorDirection) { - this.doorDirection = doorDirection; - } - - public String getHeightmap() { - return this.heightmap; - } - - public void setHeightmap(String heightMap) { - this.heightmap = heightMap; - } - - public int getMapSize() { - return this.mapSize; - } - - public int getMapSizeX() { - return this.mapSizeX; - } - - public int getMapSizeY() { - return this.mapSizeY; - } - public short getHeightAtSquare(int x, int y) { if (x < 0 || y < 0 || @@ -241,8 +201,19 @@ public class RoomLayout { return !(x < 0 || y < 0 || x >= this.getMapSizeX() || y >= this.getMapSizeY()); } + public boolean tileWalkable(RoomTile tile) { + return this.tileWalkable(tile.getX(), tile.getY()); + } + public boolean tileWalkable(short x, short y) { - return this.tileExists(x, y) && this.roomTiles[x][y].getState() == RoomTileState.OPEN && this.roomTiles[x][y].isWalkable(); + boolean walkable = false; + + if(this.tileExists(x, y)) { + RoomTile tile = this.getTile(x, y); + walkable = tile.getState().equals(RoomTileState.OPEN) && tile.isWalkable() && (this.room.getRoomUnitManager().areRoomUnitsAt(tile) && !this.room.getRoomInfo().isAllowWalkthrough()); + } + + return walkable; } public boolean isVoidTile(short x, short y) { diff --git a/src/main/java/com/eu/habbo/habbohotel/rooms/RoomManager.java b/src/main/java/com/eu/habbo/habbohotel/rooms/RoomManager.java index d300ab2d..1c346abc 100644 --- a/src/main/java/com/eu/habbo/habbohotel/rooms/RoomManager.java +++ b/src/main/java/com/eu/habbo/habbohotel/rooms/RoomManager.java @@ -491,13 +491,13 @@ public class RoomManager { } //If Habbo is banned AND doesn't have Permissions can't enter to room - if (room.isBanned(habbo) && !room.getRoomInfo().isRoomOwner(habbo) && !habbo.hasRight(Permission.ACC_ENTERANYROOM)) { + if (room.isBanned(habbo) && !room.getRoomInfo().isRoomOwner(habbo) && !habbo.hasPermissionRight(Permission.ACC_ENTERANYROOM)) { habbo.getClient().sendResponse(new CantConnectMessageComposer(CantConnectMessageComposer.ROOM_ERROR_BANNED)); return; } //If room is full AND user doesn't have Permissions can't enter to room - if (room.getRoomUnitManager().getRoomHabbosCount() >= room.getRoomInfo().getMaxUsers() && !room.getRoomRightsManager().hasRights(habbo) && !habbo.hasRight(Permission.ACC_FULLROOMS)) { + if (room.getRoomUnitManager().getRoomHabbosCount() >= room.getRoomInfo().getMaxUsers() && !room.getRoomRightsManager().hasRights(habbo) && !habbo.hasPermissionRight(Permission.ACC_FULLROOMS)) { habbo.getClient().sendResponse(new CantConnectMessageComposer(CantConnectMessageComposer.ROOM_ERROR_GUESTROOM_FULL)); return; } @@ -517,7 +517,7 @@ public class RoomManager { * If habbo has permissions open room * If habbo has guild rights open room */ - if (forceEnter || room.getRoomInfo().isRoomOwner(habbo) || room.getRoomInfo().getState() == RoomState.OPEN || habbo.hasRight(Permission.ACC_ENTERANYROOM) || room.getRoomRightsManager().hasRights(habbo) || (room.getRoomInfo().getState().equals(RoomState.INVISIBLE) && room.getRoomRightsManager().hasRights(habbo)) || (room.getRoomInfo().hasGuild() && room.getGuildRightLevel(habbo).isGreaterThan(RoomRightLevels.GUILD_RIGHTS))) { + if (forceEnter || room.getRoomInfo().isRoomOwner(habbo) || room.getRoomInfo().getState() == RoomState.OPEN || habbo.hasPermissionRight(Permission.ACC_ENTERANYROOM) || room.getRoomRightsManager().hasRights(habbo) || (room.getRoomInfo().getState().equals(RoomState.INVISIBLE) && room.getRoomRightsManager().hasRights(habbo)) || (room.getRoomInfo().hasGuild() && room.getGuildRightLevel(habbo).isGreaterThan(RoomRightLevels.GUILD_RIGHTS))) { this.openRoom(habbo, room, spawnLocation); } else if (room.getRoomInfo().getState() == RoomState.LOCKED) { boolean habbosWithRights = false; @@ -627,7 +627,7 @@ public class RoomManager { habbo.getClient().sendResponse(new RoomRatingComposer(room.getRoomInfo().getScore(), !this.hasVotedForRoom(habbo, room))); - roomHabbo.setFastWalkEnabled(roomHabbo.isFastWalkEnabled() && habbo.hasCommand("cmd_fastwalk", room.getRoomRightsManager().hasRights(habbo))); + roomHabbo.setFastWalkEnabled(roomHabbo.isFastWalkEnabled() && habbo.canExecuteCommand("cmd_fastwalk", room.getRoomRightsManager().hasRights(habbo))); if (room.isPromoted()) { habbo.getClient().sendResponse(new RoomEventComposer(room, room.getPromotion())); @@ -1368,7 +1368,7 @@ public class RoomManager { Habbo habbo = Emulator.getGameEnvironment().getHabboManager().getHabbo(userId); if (habbo != null) { - if (habbo.hasRight(Permission.ACC_UNKICKABLE)) { + if (habbo.hasPermissionRight(Permission.ACC_UNKICKABLE)) { return; } @@ -1377,7 +1377,7 @@ public class RoomManager { HabboInfo info = HabboManager.getOfflineHabboInfo(userId); if (info != null) { - if (info.getPermissionGroup().hasRight(Permission.ACC_UNKICKABLE, false)) { + if (info.getPermissionGroup().hasPermissionRight(Permission.ACC_UNKICKABLE, false)) { return; } name = info.getUsername(); diff --git a/src/main/java/com/eu/habbo/habbohotel/rooms/RoomRightsManager.java b/src/main/java/com/eu/habbo/habbohotel/rooms/RoomRightsManager.java index d69e5f17..dfbb3c12 100644 --- a/src/main/java/com/eu/habbo/habbohotel/rooms/RoomRightsManager.java +++ b/src/main/java/com/eu/habbo/habbohotel/rooms/RoomRightsManager.java @@ -186,7 +186,7 @@ public class RoomRightsManager { } } - if (habbo.hasRight(Permission.ACC_ANYROOMOWNER) || this.room.getRoomInfo().isRoomOwner(habbo)) { + if (habbo.hasPermissionRight(Permission.ACC_ANYROOMOWNER) || this.room.getRoomInfo().isRoomOwner(habbo)) { habbo.getClient().sendResponse(new YouAreOwnerMessageComposer()); flatCtrl = RoomRightLevels.MODERATOR; } else if (this.hasRights(habbo) && !this.room.getRoomInfo().hasGuild()) { diff --git a/src/main/java/com/eu/habbo/habbohotel/rooms/TraxManager.java b/src/main/java/com/eu/habbo/habbohotel/rooms/RoomTraxManager.java similarity index 99% rename from src/main/java/com/eu/habbo/habbohotel/rooms/TraxManager.java rename to src/main/java/com/eu/habbo/habbohotel/rooms/RoomTraxManager.java index aa4df6af..4c84821f 100644 --- a/src/main/java/com/eu/habbo/habbohotel/rooms/TraxManager.java +++ b/src/main/java/com/eu/habbo/habbohotel/rooms/RoomTraxManager.java @@ -29,7 +29,7 @@ import java.util.List; import java.util.stream.Collectors; @Slf4j -public class TraxManager implements Disposable { +public class RoomTraxManager implements Disposable { public static int NORMAL_JUKEBOX_LIMIT = 10; public static int LARGE_JUKEBOX_LIMIT = 20; private final Room room; @@ -47,7 +47,7 @@ public class TraxManager implements Disposable { private boolean disposed = false; - public TraxManager(Room room) { + public RoomTraxManager(Room room) { this.room = room; //Check if room has a Jukebox already on DB diff --git a/src/main/java/com/eu/habbo/habbohotel/rooms/RoomUnitManager.java b/src/main/java/com/eu/habbo/habbohotel/rooms/RoomUnitManager.java index 0e4dcbed..4a2c87f2 100644 --- a/src/main/java/com/eu/habbo/habbohotel/rooms/RoomUnitManager.java +++ b/src/main/java/com/eu/habbo/habbohotel/rooms/RoomUnitManager.java @@ -416,12 +416,12 @@ public class RoomUnitManager { } } - public void dispose(Room room) { + public void dispose() { for(Habbo habbo : this.currentRoomHabbos.values()) { - Emulator.getGameEnvironment().getRoomManager().leaveRoom(habbo, room); + Emulator.getGameEnvironment().getRoomManager().leaveRoom(habbo, this.room); } - room.sendComposer(new CloseConnectionMessageComposer().compose()); + this.room.sendComposer(new CloseConnectionMessageComposer().compose()); this.currentRoomHabbos.clear(); diff --git a/src/main/java/com/eu/habbo/habbohotel/rooms/entities/RoomEntity.java b/src/main/java/com/eu/habbo/habbohotel/rooms/entities/RoomEntity.java index 781ba10e..c4665a0b 100644 --- a/src/main/java/com/eu/habbo/habbohotel/rooms/entities/RoomEntity.java +++ b/src/main/java/com/eu/habbo/habbohotel/rooms/entities/RoomEntity.java @@ -26,6 +26,7 @@ public abstract class RoomEntity implements IRoomEntity { public synchronized void incrementTilesMoved() { this.tilesMoved++; } + public synchronized void decrementTilesMoved() { this.tilesMoved--; } diff --git a/src/main/java/com/eu/habbo/habbohotel/rooms/entities/units/RoomUnit.java b/src/main/java/com/eu/habbo/habbohotel/rooms/entities/units/RoomUnit.java index 2914f22e..ef25ca41 100644 --- a/src/main/java/com/eu/habbo/habbohotel/rooms/entities/units/RoomUnit.java +++ b/src/main/java/com/eu/habbo/habbohotel/rooms/entities/units/RoomUnit.java @@ -263,8 +263,12 @@ public abstract class RoomUnit extends RoomEntity { } public RoomUnit removeStatus(RoomUnitStatus key) { - this.statuses.remove(key); - this.statusUpdateNeeded = true; + String statusRemoved = this.statuses.remove(key); + + if(statusRemoved != null) { + this.statusUpdateNeeded = true; + } + return this; } diff --git a/src/main/java/com/eu/habbo/habbohotel/rooms/entities/units/types/RoomAvatar.java b/src/main/java/com/eu/habbo/habbohotel/rooms/entities/units/types/RoomAvatar.java index 0286fcfc..3d9e61e4 100644 --- a/src/main/java/com/eu/habbo/habbohotel/rooms/entities/units/types/RoomAvatar.java +++ b/src/main/java/com/eu/habbo/habbohotel/rooms/entities/units/types/RoomAvatar.java @@ -59,6 +59,11 @@ public class RoomAvatar extends RoomUnit { @Override public boolean cycle(Room room) { try { + if (this.hasStatus(RoomUnitStatus.SIGN)) { + this.getRoom().sendComposer(new UserUpdateComposer(this).compose()); + this.removeStatus(RoomUnitStatus.SIGN); + } + Habbo habboT = room.getRoomUnitManager().getHabboByRoomUnit(this); if (!this.isWalking() && !this.isKicked() && this.removeStatus(RoomUnitStatus.MOVE) == null && habboT != null) { @@ -66,9 +71,6 @@ public class RoomAvatar extends RoomUnit { return true; } - if (this.removeStatus(RoomUnitStatus.SIT) != null || this.removeStatus(RoomUnitStatus.MOVE) != null || this.removeStatus(RoomUnitStatus.LAY) != null) - this.setStatusUpdateNeeded(true); - for (Map.Entry set : this.getStatuses().entrySet()) { if (set.getKey().isRemoveWhenWalking()) { this.removeStatus(set.getKey()); @@ -76,27 +78,28 @@ public class RoomAvatar extends RoomUnit { } if (this.getPath() == null || this.getPath().isEmpty()) { - this.setStatusUpdateNeeded(true); return true; } boolean canFastWalk = habboT == null || habboT.getHabboInfo().getRiding() == null; RoomTile next = this.getPath().poll(); - boolean overrideChecks = next != null && this.canOverrideTile(next); + + boolean overrideTile = next != null && this.canOverrideTile(next); if (this.getPath().isEmpty()) { this.setSitUpdate(true); - if (next != null && room.getRoomUnitManager().areRoomUnitsAt(next) && !overrideChecks) { - this.setStatusUpdateNeeded(false); + if (next != null && room.getRoomUnitManager().areRoomUnitsAt(next) && !overrideTile) { return false; } } Deque peekPath = room.getLayout().findPath(this.getCurrentPosition(), this.getPath().peek(), this.getGoalLocation(), this); - if (peekPath == null) peekPath = new LinkedList<>(); + if (peekPath == null) { + peekPath = new LinkedList<>(); + } if (peekPath.size() >= 3) { if (this.getPath().isEmpty()) { @@ -156,14 +159,13 @@ public class RoomAvatar extends RoomUnit { RoomItem item = room.getRoomItemManager().getTopItemAt(next.getX(), next.getY()); double height = next.getStackHeight() - this.getCurrentPosition().getStackHeight(); - if (!room.tileWalkable(next) || (!RoomLayout.ALLOW_FALLING && height < -RoomLayout.MAXIMUM_STEP_HEIGHT) || (next.getState() == RoomTileState.OPEN && height > RoomLayout.MAXIMUM_STEP_HEIGHT)) { - this.setRoom(room); + + if (!room.getLayout().tileWalkable(next) || (!RoomLayout.ALLOW_FALLING && height < -RoomLayout.MAXIMUM_STEP_HEIGHT) || (next.getState() == RoomTileState.OPEN && height > RoomLayout.MAXIMUM_STEP_HEIGHT)) { this.getPath().clear(); this.findPath(); if (this.getPath().isEmpty()) { this.removeStatus(RoomUnitStatus.MOVE); - this.setStatusUpdateNeeded(false); return false; } next = this.getPath().pop(); @@ -179,9 +181,8 @@ public class RoomAvatar extends RoomUnit { item = tallestChair; } - if (next.equals(this.getGoalLocation()) && next.getState() == RoomTileState.SIT && !overrideChecks && (item == null || item.getZ() - this.getCurrentZ() > RoomLayout.MAXIMUM_STEP_HEIGHT)) { + if (next.equals(this.getGoalLocation()) && next.getState() == RoomTileState.SIT && !overrideTile && (item == null || item.getZ() - this.getCurrentZ() > RoomLayout.MAXIMUM_STEP_HEIGHT)) { this.removeStatus(RoomUnitStatus.MOVE); - this.setStatusUpdateNeeded(false); return false; } @@ -199,6 +200,7 @@ public class RoomAvatar extends RoomUnit { this.incrementTilesMoved(); RoomRotation oldRotation = this.getBodyRotation(); + this.setRotation(RoomRotation.values()[Rotation.Calculate(this.getCurrentPosition().getX(), this.getCurrentPosition().getY(), next.getX(), next.getY())]); if (item != null) { if (item != roomItem || !RoomLayout.pointInSquare(item.getX(), item.getY(), item.getX() + item.getBaseItem().getWidth() - 1, item.getY() + item.getBaseItem().getLength() - 1, this.getCurrentPosition().getX(), this.getCurrentPosition().getY())) { @@ -215,7 +217,6 @@ public class RoomAvatar extends RoomUnit { conditionalGate.onRejected(this, this.getRoom(), new Object[]{}); } - this.setStatusUpdateNeeded(false); return false; } } else { @@ -273,16 +274,14 @@ public class RoomAvatar extends RoomUnit { } } - this.setStatusUpdateNeeded(false); return false; } catch (Exception e) { log.error("Caught exception", e); - this.setStatusUpdateNeeded(false); return false; } } - + public void setDance(DanceType danceType) { if (this.danceType != danceType) { boolean isDancing = !this.danceType.equals(DanceType.NONE); diff --git a/src/main/java/com/eu/habbo/habbohotel/rooms/entities/units/types/RoomPet.java b/src/main/java/com/eu/habbo/habbohotel/rooms/entities/units/types/RoomPet.java index 50af859f..53efc1a1 100644 --- a/src/main/java/com/eu/habbo/habbohotel/rooms/entities/units/types/RoomPet.java +++ b/src/main/java/com/eu/habbo/habbohotel/rooms/entities/units/types/RoomPet.java @@ -92,7 +92,7 @@ public class RoomPet extends RoomUnit { RoomItem item = room.getRoomItemManager().getTopItemAt(next.getX(), next.getY()); double height = next.getStackHeight() - this.getCurrentPosition().getStackHeight(); - if (!room.tileWalkable(next) || (!RoomLayout.ALLOW_FALLING && height < -RoomLayout.MAXIMUM_STEP_HEIGHT) || (next.getState() == RoomTileState.OPEN && height > RoomLayout.MAXIMUM_STEP_HEIGHT)) { + if (!room.getLayout().tileWalkable(next) || (!RoomLayout.ALLOW_FALLING && height < -RoomLayout.MAXIMUM_STEP_HEIGHT) || (next.getState() == RoomTileState.OPEN && height > RoomLayout.MAXIMUM_STEP_HEIGHT)) { this.setRoom(room); this.getPath().clear(); this.findPath(); diff --git a/src/main/java/com/eu/habbo/habbohotel/users/Habbo.java b/src/main/java/com/eu/habbo/habbohotel/users/Habbo.java index a5b1535f..6d9b98e2 100644 --- a/src/main/java/com/eu/habbo/habbohotel/users/Habbo.java +++ b/src/main/java/com/eu/habbo/habbohotel/users/Habbo.java @@ -193,28 +193,19 @@ public class Habbo extends Unit implements Runnable { } public boolean canExecuteCommand(String key) { - return this.getHabboInfo().getPermissionGroup().canExecuteCommand(key, false); + return this.canExecuteCommand(key, false); } public boolean canExecuteCommand(String key, boolean hasRoomRights) { return this.getHabboInfo().getPermissionGroup().canExecuteCommand(key, hasRoomRights); } - public boolean hasCommand(String key) { - return this.hasCommand(key, false); + public boolean hasPermissionRight(String key) { + return this.hasPermissionRight(key, false); } - - public boolean hasCommand(String name, boolean hasRoomRights) { - return this.getHabboInfo().getPermissionGroup().hasCommand(name, hasRoomRights); - } - - public boolean hasRight(String key) { - return this.hasRight(key, false); - } - - public boolean hasRight(String key, boolean hasRoomRights) { - return this.getHabboInfo().getPermissionGroup().hasRight(key, hasRoomRights); + public boolean hasPermissionRight(String key, boolean hasRoomRights) { + return this.getHabboInfo().getPermissionGroup().hasPermissionRight(key, hasRoomRights); } @@ -403,7 +394,7 @@ public class Habbo extends Unit implements Runnable { return; } - if (!this.hasRight(Permission.ACC_NO_MUTE)) { + if (!this.hasPermissionRight(Permission.ACC_NO_MUTE)) { int remaining = this.habboStats.addMuteTime(seconds); this.client.sendResponse(new FloodControlMessageComposer(remaining)); this.client.sendResponse(new RemainingMutePeriodComposer(remaining)); diff --git a/src/main/java/com/eu/habbo/habbohotel/users/HabboManager.java b/src/main/java/com/eu/habbo/habbohotel/users/HabboManager.java index 5795b45a..ef88b747 100644 --- a/src/main/java/com/eu/habbo/habbohotel/users/HabboManager.java +++ b/src/main/java/com/eu/habbo/habbohotel/users/HabboManager.java @@ -177,7 +177,7 @@ public class HabboManager { public void sendPacketToHabbosWithPermission(ServerMessage message, String perm) { synchronized (this.onlineHabbos) { for (Habbo habbo : this.onlineHabbos.values()) { - if (habbo.hasRight(perm)) { + if (habbo.hasPermissionRight(perm)) { habbo.getClient().sendResponse(message); } } @@ -262,7 +262,7 @@ public class HabboManager { habbo.getClient().sendResponse(new UserRightsMessageComposer(habbo)); habbo.getClient().sendResponse(new UserPerksComposer(habbo)); - if (habbo.hasRight(Permission.ACC_SUPPORTTOOL)) { + if (habbo.hasPermissionRight(Permission.ACC_SUPPORTTOOL)) { habbo.getClient().sendResponse(new ModeratorInitMessageComposer(habbo)); } habbo.getHabboInfo().run(); diff --git a/src/main/java/com/eu/habbo/messages/incoming/ambassadors/AmbassadorAlertEvent.java b/src/main/java/com/eu/habbo/messages/incoming/ambassadors/AmbassadorAlertEvent.java index 35bc2470..183cabae 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/ambassadors/AmbassadorAlertEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/ambassadors/AmbassadorAlertEvent.java @@ -12,7 +12,7 @@ import com.eu.habbo.plugin.events.support.SupportUserAlertedReason; public class AmbassadorAlertEvent extends MessageHandler { @Override public void handle() { - if (!this.client.getHabbo().hasRight(Permission.ACC_AMBASSADOR)) { + if (!this.client.getHabbo().hasPermissionRight(Permission.ACC_AMBASSADOR)) { ScripterManager.scripterDetected(this.client, Emulator.getTexts().getValue("scripter.warning.modtools.alert").replace("%username%", client.getHabbo().getHabboInfo().getUsername()).replace("%message%", "${notification.ambassador.alert.warning.message}")); return; } diff --git a/src/main/java/com/eu/habbo/messages/incoming/ambassadors/FollowFriendEvent.java b/src/main/java/com/eu/habbo/messages/incoming/ambassadors/FollowFriendEvent.java index 7fbd9fc6..16a316fc 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/ambassadors/FollowFriendEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/ambassadors/FollowFriendEvent.java @@ -9,7 +9,7 @@ import com.eu.habbo.messages.outgoing.rooms.RoomForwardMessageComposer; public class FollowFriendEvent extends MessageHandler { @Override public void handle() { - if (this.client.getHabbo().hasRight(Permission.ACC_AMBASSADOR)) { + if (this.client.getHabbo().hasPermissionRight(Permission.ACC_AMBASSADOR)) { String username = this.packet.readString(); Habbo habbo = Emulator.getGameEnvironment().getHabboManager().getHabbo(username); diff --git a/src/main/java/com/eu/habbo/messages/incoming/camera/RenderRoomEvent.java b/src/main/java/com/eu/habbo/messages/incoming/camera/RenderRoomEvent.java index 87b4b354..bcb4d0ea 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/camera/RenderRoomEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/camera/RenderRoomEvent.java @@ -10,7 +10,7 @@ import com.eu.habbo.util.crypto.ZIP; public class RenderRoomEvent extends MessageHandler { @Override public void handle() { - if (!this.client.getHabbo().hasRight(Permission.ACC_CAMERA)) { + if (!this.client.getHabbo().hasPermissionRight(Permission.ACC_CAMERA)) { this.client.getHabbo().alert(Emulator.getTexts().getValue("camera.permission")); return; } diff --git a/src/main/java/com/eu/habbo/messages/incoming/camera/RenderRoomThumbnailEvent.java b/src/main/java/com/eu/habbo/messages/incoming/camera/RenderRoomThumbnailEvent.java index f95d53bd..32bf44cd 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/camera/RenderRoomThumbnailEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/camera/RenderRoomThumbnailEvent.java @@ -11,7 +11,7 @@ import com.eu.habbo.util.crypto.ZIP; public class RenderRoomThumbnailEvent extends MessageHandler { @Override public void handle() { - if (!this.client.getHabbo().hasRight(Permission.ACC_CAMERA)) { + if (!this.client.getHabbo().hasPermissionRight(Permission.ACC_CAMERA)) { this.client.getHabbo().alert(Emulator.getTexts().getValue("camera.permission")); return; } diff --git a/src/main/java/com/eu/habbo/messages/incoming/catalog/PurchaseEvent.java b/src/main/java/com/eu/habbo/messages/incoming/catalog/PurchaseEvent.java index 508253eb..cd76b923 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/catalog/PurchaseEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/catalog/PurchaseEvent.java @@ -19,10 +19,10 @@ public abstract class PurchaseEvent extends MessageHandler { if (this.client.getHabbo().getHabboInfo().getCredits() < totalCredits) return; - if (!this.client.getHabbo().hasRight(Permission.ACC_INFINITE_CREDITS)) + if (!this.client.getHabbo().hasPermissionRight(Permission.ACC_INFINITE_CREDITS)) this.client.getHabbo().giveCredits(-totalCredits); - if (!this.client.getHabbo().hasRight(Permission.ACC_INFINITE_POINTS)) + if (!this.client.getHabbo().hasPermissionRight(Permission.ACC_INFINITE_POINTS)) this.client.getHabbo().givePoints(deal.getPointsType(), -totalDuckets); diff --git a/src/main/java/com/eu/habbo/messages/incoming/catalog/PurchaseFromCatalogAsGiftEvent.java b/src/main/java/com/eu/habbo/messages/incoming/catalog/PurchaseFromCatalogAsGiftEvent.java index 830d410b..c3c0995a 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/catalog/PurchaseFromCatalogAsGiftEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/catalog/PurchaseFromCatalogAsGiftEvent.java @@ -347,15 +347,15 @@ public class PurchaseFromCatalogAsGiftEvent extends MessageHandler { AchievementManager.progressAchievement(userId, Emulator.getGameEnvironment().getAchievementManager().getAchievement("GiftReceiver")); } - if (!this.client.getHabbo().hasRight(Permission.ACC_INFINITE_CREDITS)) { + if (!this.client.getHabbo().hasPermissionRight(Permission.ACC_INFINITE_CREDITS)) { if (totalCredits > 0) { this.client.getHabbo().giveCredits(-totalCredits); } } if (totalPoints > 0) { - if (item.getPointsType() == 0 && !this.client.getHabbo().hasRight(Permission.ACC_INFINITE_PIXELS)) { + if (item.getPointsType() == 0 && !this.client.getHabbo().hasPermissionRight(Permission.ACC_INFINITE_PIXELS)) { this.client.getHabbo().givePixels(-totalPoints); - } else if (!this.client.getHabbo().hasRight(Permission.ACC_INFINITE_POINTS)) { + } else if (!this.client.getHabbo().hasPermissionRight(Permission.ACC_INFINITE_POINTS)) { this.client.getHabbo().givePoints(item.getPointsType(), -totalPoints); } this.client.sendResponse(new HabboActivityPointNotificationMessageComposer(this.client.getHabbo().getHabboInfo().getCurrencyAmount(item.getPointsType()), -totalPoints, item.getPointsType())); diff --git a/src/main/java/com/eu/habbo/messages/incoming/catalog/PurchaseFromCatalogEvent.java b/src/main/java/com/eu/habbo/messages/incoming/catalog/PurchaseFromCatalogEvent.java index b0652399..7f4c5de9 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/catalog/PurchaseFromCatalogEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/catalog/PurchaseFromCatalogEvent.java @@ -100,11 +100,11 @@ public class PurchaseFromCatalogEvent extends PurchaseEvent { return; } ((RoomBundleLayout) page).buyRoom(this.client.getHabbo()); - if (!this.client.getHabbo().hasRight(Permission.ACC_INFINITE_CREDITS)) { //if the player has this perm disabled + if (!this.client.getHabbo().hasPermissionRight(Permission.ACC_INFINITE_CREDITS)) { //if the player has this perm disabled this.client.getHabbo().getHabboInfo().addCredits(-roomBundleItem.getCredits()); // takes their credits away this.client.sendResponse(new CreditBalanceComposer(this.client.getHabbo())); // Sends the updated currency composer window } - if (!this.client.getHabbo().hasRight(Permission.ACC_INFINITE_POINTS)) { //if the player has this perm disabled + if (!this.client.getHabbo().hasPermissionRight(Permission.ACC_INFINITE_POINTS)) { //if the player has this perm disabled this.client.getHabbo().getHabboInfo().addCurrencyAmount(roomBundleItem.getPointsType(), -roomBundleItem.getPoints()); // takes their points away this.client.sendResponse(new ActivityPointsMessageComposer(this.client.getHabbo())); // Sends the updated currency composer window } @@ -172,13 +172,13 @@ public class PurchaseFromCatalogEvent extends PurchaseEvent { item = page.getCatalogItem(itemId); // temp patch, can a dev with better knowledge than me look into this asap pls. if (page instanceof BotsLayout) { - if (!this.client.getHabbo().hasRight(Permission.ACC_UNLIMITED_BOTS) && this.client.getHabbo().getInventory().getBotsComponent().getBots().size() >= BotManager.MAXIMUM_BOT_INVENTORY_SIZE) { + if (!this.client.getHabbo().hasPermissionRight(Permission.ACC_UNLIMITED_BOTS) && this.client.getHabbo().getInventory().getBotsComponent().getBots().size() >= BotManager.MAXIMUM_BOT_INVENTORY_SIZE) { this.client.getHabbo().alert(Emulator.getTexts().getValue("error.bots.max.inventory").replace("%amount%", BotManager.MAXIMUM_BOT_INVENTORY_SIZE + "")); return; } } if (page instanceof PetsLayout) { // checks it's the petlayout - if (!this.client.getHabbo().hasRight(Permission.ACC_UNLIMITED_PETS) && this.client.getHabbo().getInventory().getPetsComponent().getPets().size() >= PetManager.MAXIMUM_PET_INVENTORY_SIZE) { + if (!this.client.getHabbo().hasPermissionRight(Permission.ACC_UNLIMITED_PETS) && this.client.getHabbo().getInventory().getPetsComponent().getPets().size() >= PetManager.MAXIMUM_PET_INVENTORY_SIZE) { this.client.getHabbo().alert(Emulator.getTexts().getValue("error.pets.max.inventory").replace("%amount%", PetManager.MAXIMUM_PET_INVENTORY_SIZE + "")); return; } diff --git a/src/main/java/com/eu/habbo/messages/incoming/catalog/recycler/PresentOpenEvent.java b/src/main/java/com/eu/habbo/messages/incoming/catalog/recycler/PresentOpenEvent.java index 613c6c33..14d0c0c4 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/catalog/recycler/PresentOpenEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/catalog/recycler/PresentOpenEvent.java @@ -22,7 +22,7 @@ public class PresentOpenEvent extends MessageHandler { if (room == null) return; - if (room.getRoomInfo().getOwnerInfo().getId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasRight(Permission.ACC_ANYROOMOWNER)) { + if (room.getRoomInfo().getOwnerInfo().getId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasPermissionRight(Permission.ACC_ANYROOMOWNER)) { int id = this.packet.readInt(); RoomItem item = room.getRoomItemManager().getRoomItemById(id); diff --git a/src/main/java/com/eu/habbo/messages/incoming/floorplaneditor/UpdateFloorPropertiesEvent.java b/src/main/java/com/eu/habbo/messages/incoming/floorplaneditor/UpdateFloorPropertiesEvent.java index 0720bc16..df4c02b2 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/floorplaneditor/UpdateFloorPropertiesEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/floorplaneditor/UpdateFloorPropertiesEvent.java @@ -23,7 +23,7 @@ public class UpdateFloorPropertiesEvent extends MessageHandler { @Override public void handle() { - if (!this.client.getHabbo().hasRight(Permission.ACC_FLOORPLAN_EDITOR)) { + if (!this.client.getHabbo().hasPermissionRight(Permission.ACC_FLOORPLAN_EDITOR)) { this.client.sendResponse(new HabboBroadcastMessageComposer(Emulator.getTexts().getValue("floorplan.permission"))); return; } @@ -33,7 +33,7 @@ public class UpdateFloorPropertiesEvent extends MessageHandler { if (room == null) return; - if (room.getRoomInfo().getOwnerInfo().getId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasRight(Permission.ACC_ANYROOMOWNER)) { + if (room.getRoomInfo().getOwnerInfo().getId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasPermissionRight(Permission.ACC_ANYROOMOWNER)) { StringJoiner errors = new StringJoiner("
"); String map = this.packet.readString(); map = map.replace("X", "x"); diff --git a/src/main/java/com/eu/habbo/messages/incoming/friends/AcceptFriendEvent.java b/src/main/java/com/eu/habbo/messages/incoming/friends/AcceptFriendEvent.java index 19b443a5..8f55d0e3 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/friends/AcceptFriendEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/friends/AcceptFriendEvent.java @@ -65,12 +65,12 @@ public class AcceptFriendEvent extends MessageHandler { continue; } - if(this.client.getHabbo().getMessenger().getFriends().size() >= this.client.getHabbo().getHabboStats().getMaxFriends() && !this.client.getHabbo().hasRight(Permission.ACC_INFINITE_FRIENDS)) { + if(this.client.getHabbo().getMessenger().getFriends().size() >= this.client.getHabbo().getHabboStats().getMaxFriends() && !this.client.getHabbo().hasPermissionRight(Permission.ACC_INFINITE_FRIENDS)) { this.client.sendResponse(new MessengerErrorComposer(MessengerErrorComposer.FRIEND_LIST_OWN_FULL)); break; } - if(target.getMessenger().getFriends().size() >= target.getHabboStats().getMaxFriends() && !target.hasRight(Permission.ACC_INFINITE_FRIENDS)) { + if(target.getMessenger().getFriends().size() >= target.getHabboStats().getMaxFriends() && !target.hasPermissionRight(Permission.ACC_INFINITE_FRIENDS)) { this.client.sendResponse(new MessengerErrorComposer(MessengerErrorComposer.FRIEND_LIST_TARGET_FULL)); continue; } diff --git a/src/main/java/com/eu/habbo/messages/incoming/friends/RequestFriendEvent.java b/src/main/java/com/eu/habbo/messages/incoming/friends/RequestFriendEvent.java index a299ac62..eb969b52 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/friends/RequestFriendEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/friends/RequestFriendEvent.java @@ -64,13 +64,13 @@ public class RequestFriendEvent extends MessageHandler { } // You can only have x friends - if (this.client.getHabbo().getMessenger().getFriends().values().size() >= this.client.getHabbo().getHabboStats().getMaxFriends() && !this.client.getHabbo().hasRight(Permission.ACC_INFINITE_FRIENDS)) { + if (this.client.getHabbo().getMessenger().getFriends().values().size() >= this.client.getHabbo().getHabboStats().getMaxFriends() && !this.client.getHabbo().hasPermissionRight(Permission.ACC_INFINITE_FRIENDS)) { this.client.sendResponse(new MessengerErrorComposer(MessengerErrorComposer.FRIEND_LIST_OWN_FULL)); return; } // Check if targets friendlist is full - if (targetHabbo.getMessenger().getFriends().values().size() >= targetHabbo.getHabboStats().getMaxFriends() && !targetHabbo.hasRight(Permission.ACC_INFINITE_FRIENDS)) { + if (targetHabbo.getMessenger().getFriends().values().size() >= targetHabbo.getHabboStats().getMaxFriends() && !targetHabbo.hasPermissionRight(Permission.ACC_INFINITE_FRIENDS)) { this.client.sendResponse(new MessengerErrorComposer(MessengerErrorComposer.FRIEND_LIST_TARGET_FULL)); return; } diff --git a/src/main/java/com/eu/habbo/messages/incoming/friends/VisitUserEvent.java b/src/main/java/com/eu/habbo/messages/incoming/friends/VisitUserEvent.java index ab51be7f..f3363673 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/friends/VisitUserEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/friends/VisitUserEvent.java @@ -30,7 +30,7 @@ public class VisitUserEvent extends MessageHandler { return; } - if (habbo.getHabboStats().isBlockFollowing() && !this.client.getHabbo().hasRight(Permission.ACC_CAN_STALK)) { + if (habbo.getHabboStats().isBlockFollowing() && !this.client.getHabbo().hasPermissionRight(Permission.ACC_CAN_STALK)) { this.client.sendResponse(new FollowFriendFailedComposer(FollowFriendFailedComposer.FRIEND_BLOCKED_STALKING)); return; } diff --git a/src/main/java/com/eu/habbo/messages/incoming/guides/GuideSessionOnDutyUpdateEvent.java b/src/main/java/com/eu/habbo/messages/incoming/guides/GuideSessionOnDutyUpdateEvent.java index a3a50337..f0ad7d85 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/guides/GuideSessionOnDutyUpdateEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/guides/GuideSessionOnDutyUpdateEvent.java @@ -15,13 +15,13 @@ public class GuideSessionOnDutyUpdateEvent extends MessageHandler { boolean helperRequests = this.packet.readBoolean(); boolean bullyReports = this.packet.readBoolean(); - if (!this.client.getHabbo().hasRight(Permission.ACC_HELPER_USE_GUIDE_TOOL)) + if (!this.client.getHabbo().hasPermissionRight(Permission.ACC_HELPER_USE_GUIDE_TOOL)) return; - if (helperRequests && !this.client.getHabbo().hasRight(Permission.ACC_HELPER_GIVE_GUIDE_TOURS)) + if (helperRequests && !this.client.getHabbo().hasPermissionRight(Permission.ACC_HELPER_GIVE_GUIDE_TOURS)) helperRequests = false; - if (bullyReports && !this.client.getHabbo().hasRight(Permission.ACC_HELPER_JUDGE_CHAT_REVIEWS)) + if (bullyReports && !this.client.getHabbo().hasPermissionRight(Permission.ACC_HELPER_JUDGE_CHAT_REVIEWS)) bullyReports = false; if (helperRequests) { diff --git a/src/main/java/com/eu/habbo/messages/incoming/guilds/AddAdminRightsToMemberEvent.java b/src/main/java/com/eu/habbo/messages/incoming/guilds/AddAdminRightsToMemberEvent.java index ed67736f..fce7cd7d 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/guilds/AddAdminRightsToMemberEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/guilds/AddAdminRightsToMemberEvent.java @@ -18,7 +18,7 @@ public class AddAdminRightsToMemberEvent extends MessageHandler { Guild guild = Emulator.getGameEnvironment().getGuildManager().getGuild(guildId); - if (guild != null && (guild.getOwnerId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasRight(Permission.ACC_GUILD_ADMIN))) { + if (guild != null && (guild.getOwnerId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasPermissionRight(Permission.ACC_GUILD_ADMIN))) { Emulator.getGameEnvironment().getGuildManager().setAdmin(guild, userId); Habbo habbo = Emulator.getGameEnvironment().getHabboManager().getHabbo(userId); diff --git a/src/main/java/com/eu/habbo/messages/incoming/guilds/ApproveMembershipRequestEvent.java b/src/main/java/com/eu/habbo/messages/incoming/guilds/ApproveMembershipRequestEvent.java index 53fd051d..7d87c024 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/guilds/ApproveMembershipRequestEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/guilds/ApproveMembershipRequestEvent.java @@ -30,7 +30,7 @@ public class ApproveMembershipRequestEvent extends MessageHandler { else userInfo = habbo.getHabboInfo(); - if (userInfo == null || groupMember == null || userId == this.client.getHabbo().getHabboInfo().getId() || (!this.client.getHabbo().hasRight(Permission.ACC_GUILD_ADMIN) && guild.getOwnerId() != this.client.getHabbo().getHabboInfo().getId() && !groupMember.getRank().equals(GuildRank.ADMIN) && !groupMember.getRank().equals(GuildRank.OWNER))) + if (userInfo == null || groupMember == null || userId == this.client.getHabbo().getHabboInfo().getId() || (!this.client.getHabbo().hasPermissionRight(Permission.ACC_GUILD_ADMIN) && guild.getOwnerId() != this.client.getHabbo().getHabboInfo().getId() && !groupMember.getRank().equals(GuildRank.ADMIN) && !groupMember.getRank().equals(GuildRank.OWNER))) return; if (!userInfo.getHabboStats().hasGuild(guild.getId())) { diff --git a/src/main/java/com/eu/habbo/messages/incoming/guilds/CreateGuildEvent.java b/src/main/java/com/eu/habbo/messages/incoming/guilds/CreateGuildEvent.java index 0cbdf539..998afd70 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/guilds/CreateGuildEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/guilds/CreateGuildEvent.java @@ -31,7 +31,7 @@ public class CreateGuildEvent extends GuildBadgeEvent { return; } - if (!this.client.getHabbo().hasRight(Permission.ACC_INFINITE_CREDITS)) { + if (!this.client.getHabbo().hasPermissionRight(Permission.ACC_INFINITE_CREDITS)) { int guildPrice = Emulator.getConfig().getInt("catalog.guild.price"); if (this.client.getHabbo().getHabboInfo().getCredits() >= guildPrice) { this.client.getHabbo().giveCredits(-guildPrice); diff --git a/src/main/java/com/eu/habbo/messages/incoming/guilds/DeactivateGuildEvent.java b/src/main/java/com/eu/habbo/messages/incoming/guilds/DeactivateGuildEvent.java index d2637bfb..98e5f5ba 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/guilds/DeactivateGuildEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/guilds/DeactivateGuildEvent.java @@ -20,7 +20,7 @@ public class DeactivateGuildEvent extends MessageHandler { Guild guild = Emulator.getGameEnvironment().getGuildManager().getGuild(guildId); if (guild != null) { - if (guild.getOwnerId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasRight(Permission.ACC_GUILD_ADMIN)) //TODO Add staff permission override. + if (guild.getOwnerId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasPermissionRight(Permission.ACC_GUILD_ADMIN)) //TODO Add staff permission override. { THashSet members = Emulator.getGameEnvironment().getGuildManager().getGuildMembers(guild.getId()); diff --git a/src/main/java/com/eu/habbo/messages/incoming/guilds/GetGuildMembersEvent.java b/src/main/java/com/eu/habbo/messages/incoming/guilds/GetGuildMembersEvent.java index 1fdfe6f4..5f284bb7 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/guilds/GetGuildMembersEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/guilds/GetGuildMembersEvent.java @@ -19,7 +19,7 @@ public class GetGuildMembersEvent extends MessageHandler { Guild g = Emulator.getGameEnvironment().getGuildManager().getGuild(groupId); if (g != null) { - boolean isAdmin = this.client.getHabbo().hasRight(Permission.ACC_GUILD_ADMIN); + boolean isAdmin = this.client.getHabbo().hasPermissionRight(Permission.ACC_GUILD_ADMIN); if (!isAdmin && this.client.getHabbo().getHabboStats().hasGuild(g.getId())) { GuildMember member = Emulator.getGameEnvironment().getGuildManager().getGuildMember(g, this.client.getHabbo()); isAdmin = member != null && (member.getRank().equals(GuildRank.OWNER) || member.getRank().equals(GuildRank.ADMIN)); diff --git a/src/main/java/com/eu/habbo/messages/incoming/guilds/GetMemberGuildItemCountEvent.java b/src/main/java/com/eu/habbo/messages/incoming/guilds/GetMemberGuildItemCountEvent.java index 9fb09b0a..f906d76d 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/guilds/GetMemberGuildItemCountEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/guilds/GetMemberGuildItemCountEvent.java @@ -19,7 +19,7 @@ public class GetMemberGuildItemCountEvent extends MessageHandler { if (guild == null) return; GuildMember member = Emulator.getGameEnvironment().getGuildManager().getGuildMember(guild, this.client.getHabbo()); - if (userId == this.client.getHabbo().getHabboInfo().getId() || guild.getOwnerId() == this.client.getHabbo().getHabboInfo().getId() || (member != null && (member.getRank().equals(GuildRank.OWNER) || member.getRank().equals(GuildRank.ADMIN))) || this.client.getHabbo().hasRight(Permission.ACC_GUILD_ADMIN)) { + if (userId == this.client.getHabbo().getHabboInfo().getId() || guild.getOwnerId() == this.client.getHabbo().getHabboInfo().getId() || (member != null && (member.getRank().equals(GuildRank.OWNER) || member.getRank().equals(GuildRank.ADMIN))) || this.client.getHabbo().hasPermissionRight(Permission.ACC_GUILD_ADMIN)) { Room room = Emulator.getGameEnvironment().getRoomManager().getRoom(guild.getRoomId()); int count = 0; if (room != null) { diff --git a/src/main/java/com/eu/habbo/messages/incoming/guilds/KickMemberEvent.java b/src/main/java/com/eu/habbo/messages/incoming/guilds/KickMemberEvent.java index 50e1b524..6223a6bd 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/guilds/KickMemberEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/guilds/KickMemberEvent.java @@ -24,7 +24,7 @@ public class KickMemberEvent extends MessageHandler { if (guild != null) { GuildMember member = Emulator.getGameEnvironment().getGuildManager().getGuildMember(guild, this.client.getHabbo()); - if (userId == this.client.getHabbo().getHabboInfo().getId() || guild.getOwnerId() == this.client.getHabbo().getHabboInfo().getId() || member.getRank().equals(GuildRank.OWNER) || member.getRank().equals(GuildRank.ADMIN) || this.client.getHabbo().hasRight(Permission.ACC_GUILD_ADMIN)) { + if (userId == this.client.getHabbo().getHabboInfo().getId() || guild.getOwnerId() == this.client.getHabbo().getHabboInfo().getId() || member.getRank().equals(GuildRank.OWNER) || member.getRank().equals(GuildRank.ADMIN) || this.client.getHabbo().hasPermissionRight(Permission.ACC_GUILD_ADMIN)) { Habbo habbo = Emulator.getGameEnvironment().getHabboManager().getHabbo(userId); GuildRemovedMemberEvent removedMemberEvent = new GuildRemovedMemberEvent(guild, userId, habbo); Emulator.getPluginManager().fireEvent(removedMemberEvent); diff --git a/src/main/java/com/eu/habbo/messages/incoming/guilds/RejectMembershipRequestEvent.java b/src/main/java/com/eu/habbo/messages/incoming/guilds/RejectMembershipRequestEvent.java index 62b74fdf..6fae2b7d 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/guilds/RejectMembershipRequestEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/guilds/RejectMembershipRequestEvent.java @@ -23,7 +23,7 @@ public class RejectMembershipRequestEvent extends MessageHandler { if (guild != null) { GuildMember member = Emulator.getGameEnvironment().getGuildManager().getGuildMember(guild, this.client.getHabbo()); - if (userId == this.client.getHabbo().getHabboInfo().getId() || guild.getOwnerId() == this.client.getHabbo().getHabboInfo().getId() || member.getRank().equals(GuildRank.ADMIN)|| member.getRank().equals(GuildRank.OWNER) || this.client.getHabbo().hasRight(Permission.ACC_GUILD_ADMIN)) { + if (userId == this.client.getHabbo().getHabboInfo().getId() || guild.getOwnerId() == this.client.getHabbo().getHabboInfo().getId() || member.getRank().equals(GuildRank.ADMIN)|| member.getRank().equals(GuildRank.OWNER) || this.client.getHabbo().hasPermissionRight(Permission.ACC_GUILD_ADMIN)) { guild.decreaseRequestCount(); Emulator.getGameEnvironment().getGuildManager().removeMember(guild, userId); this.client.sendResponse(new GuildMembersComposer(guild, Emulator.getGameEnvironment().getGuildManager().getGuildMembers(guild, 0, 0, ""), this.client.getHabbo(), 0, 0, "", true, Emulator.getGameEnvironment().getGuildManager().getGuildMembersCount(guild, 0, ""))); diff --git a/src/main/java/com/eu/habbo/messages/incoming/guilds/RemoveAdminRightsFromMemberEvent.java b/src/main/java/com/eu/habbo/messages/incoming/guilds/RemoveAdminRightsFromMemberEvent.java index 3e9c8ba7..8eb4c250 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/guilds/RemoveAdminRightsFromMemberEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/guilds/RemoveAdminRightsFromMemberEvent.java @@ -19,7 +19,7 @@ public class RemoveAdminRightsFromMemberEvent extends MessageHandler { Guild guild = Emulator.getGameEnvironment().getGuildManager().getGuild(guildId); if (guild != null) { - if (guild.getOwnerId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasRight(Permission.ACC_GUILD_ADMIN)) { + if (guild.getOwnerId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasPermissionRight(Permission.ACC_GUILD_ADMIN)) { int userId = this.packet.readInt(); Room room = Emulator.getGameEnvironment().getRoomManager().getActiveRoomById(guild.getRoomId()); diff --git a/src/main/java/com/eu/habbo/messages/incoming/guilds/UpdateGuildBadgeEvent.java b/src/main/java/com/eu/habbo/messages/incoming/guilds/UpdateGuildBadgeEvent.java index 4148080c..e1ddab4f 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/guilds/UpdateGuildBadgeEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/guilds/UpdateGuildBadgeEvent.java @@ -13,7 +13,7 @@ public class UpdateGuildBadgeEvent extends GuildBadgeEvent { Guild guild = Emulator.getGameEnvironment().getGuildManager().getGuild(guildId); if (guild != null) { - if (guild.getOwnerId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasRight(Permission.ACC_GUILD_ADMIN)) { + if (guild.getOwnerId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasPermissionRight(Permission.ACC_GUILD_ADMIN)) { Room room = Emulator.getGameEnvironment().getRoomManager().getActiveRoomById(guild.getRoomId()); if (room == null || room.getRoomInfo().getId() != guild.getRoomId()) diff --git a/src/main/java/com/eu/habbo/messages/incoming/guilds/UpdateGuildColorsEvent.java b/src/main/java/com/eu/habbo/messages/incoming/guilds/UpdateGuildColorsEvent.java index faa95180..7df79c8b 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/guilds/UpdateGuildColorsEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/guilds/UpdateGuildColorsEvent.java @@ -15,7 +15,7 @@ public class UpdateGuildColorsEvent extends MessageHandler { Guild guild = Emulator.getGameEnvironment().getGuildManager().getGuild(guildId); if (guild != null) { - if (guild.getOwnerId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasRight(Permission.ACC_GUILD_ADMIN)) { + if (guild.getOwnerId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasPermissionRight(Permission.ACC_GUILD_ADMIN)) { GuildChangedColorsEvent colorsEvent = new GuildChangedColorsEvent(guild, this.packet.readInt(), this.packet.readInt()); Emulator.getPluginManager().fireEvent(colorsEvent); diff --git a/src/main/java/com/eu/habbo/messages/incoming/guilds/UpdateGuildIdentityEvent.java b/src/main/java/com/eu/habbo/messages/incoming/guilds/UpdateGuildIdentityEvent.java index 4047240f..324b9c44 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/guilds/UpdateGuildIdentityEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/guilds/UpdateGuildIdentityEvent.java @@ -15,7 +15,7 @@ public class UpdateGuildIdentityEvent extends MessageHandler { Guild guild = Emulator.getGameEnvironment().getGuildManager().getGuild(guildId); if (guild != null) { - if (guild.getOwnerId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasRight(Permission.ACC_GUILD_ADMIN)) { + if (guild.getOwnerId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasPermissionRight(Permission.ACC_GUILD_ADMIN)) { GuildChangedNameEvent nameEvent = new GuildChangedNameEvent(guild, this.packet.readString(), this.packet.readString()); Emulator.getPluginManager().fireEvent(nameEvent); diff --git a/src/main/java/com/eu/habbo/messages/incoming/guilds/UpdateGuildSettingsEvent.java b/src/main/java/com/eu/habbo/messages/incoming/guilds/UpdateGuildSettingsEvent.java index 895fec66..ffa95de7 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/guilds/UpdateGuildSettingsEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/guilds/UpdateGuildSettingsEvent.java @@ -16,7 +16,7 @@ public class UpdateGuildSettingsEvent extends MessageHandler { Guild guild = Emulator.getGameEnvironment().getGuildManager().getGuild(guildId); if (guild != null) { - if (guild.getOwnerId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasRight(Permission.ACC_GUILD_ADMIN)) { + if (guild.getOwnerId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasPermissionRight(Permission.ACC_GUILD_ADMIN)) { GuildChangedSettingsEvent settingsEvent = new GuildChangedSettingsEvent(guild, this.packet.readInt(), this.packet.readInt() == 0); Emulator.getPluginManager().fireEvent(settingsEvent); diff --git a/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/GetMessagesEvent.java b/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/GetMessagesEvent.java index 81b7c012..e6c6f8fd 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/GetMessagesEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/GetMessagesEvent.java @@ -27,7 +27,7 @@ public class GetMessagesEvent extends MessageHandler { Guild guild = Emulator.getGameEnvironment().getGuildManager().getGuild(guildId); ForumThread thread = ForumThread.getById(threadId); - boolean hasStaffPermissions = this.client.getHabbo().hasRight(Permission.ACC_MODTOOL_TICKET_Q); + boolean hasStaffPermissions = this.client.getHabbo().hasPermissionRight(Permission.ACC_MODTOOL_TICKET_Q); if (guild == null || thread == null) { this.client.sendResponse(new ErrorReportComposer(404)); return; diff --git a/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/ModerateMessageEvent.java b/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/ModerateMessageEvent.java index 5a23932d..66d8074a 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/ModerateMessageEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/ModerateMessageEvent.java @@ -37,7 +37,7 @@ public class ModerateMessageEvent extends MessageHandler { return; } - boolean hasStaffPermissions = this.client.getHabbo().hasRight(Permission.ACC_MODTOOL_TICKET_Q); + boolean hasStaffPermissions = this.client.getHabbo().hasPermissionRight(Permission.ACC_MODTOOL_TICKET_Q); GuildMember member = Emulator.getGameEnvironment().getGuildManager().getGuildMember(guildId, this.client.getHabbo().getHabboInfo().getId()); if (member == null) { diff --git a/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/ModerateThreadEvent.java b/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/ModerateThreadEvent.java index fa36ff78..a53e4c5f 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/ModerateThreadEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/ModerateThreadEvent.java @@ -33,7 +33,7 @@ public class ModerateThreadEvent extends MessageHandler { } GuildMember member = Emulator.getGameEnvironment().getGuildManager().getGuildMember(guildId, this.client.getHabbo().getHabboInfo().getId()); - boolean hasStaffPerms = this.client.getHabbo().hasRight(Permission.ACC_MODTOOL_TICKET_Q); // check for if they have staff perm + boolean hasStaffPerms = this.client.getHabbo().hasPermissionRight(Permission.ACC_MODTOOL_TICKET_Q); // check for if they have staff perm boolean isGuildAdmin = (guild.getOwnerId() == this.client.getHabbo().getHabboInfo().getId() || member.getRank().equals(GuildRank.ADMIN)); diff --git a/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/PostMessageEvent.java b/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/PostMessageEvent.java index 90723b3d..915dcd38 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/PostMessageEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/PostMessageEvent.java @@ -39,7 +39,7 @@ public class PostMessageEvent extends MessageHandler { return; } - boolean isStaff = this.client.getHabbo().hasRight(Permission.ACC_MODTOOL_TICKET_Q); + boolean isStaff = this.client.getHabbo().hasPermissionRight(Permission.ACC_MODTOOL_TICKET_Q); GuildMember member = Emulator.getGameEnvironment().getGuildManager().getGuildMember(guildId, this.client.getHabbo().getHabboInfo().getId()); diff --git a/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/UpdateThreadEvent.java b/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/UpdateThreadEvent.java index 9f3b433b..10f5d877 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/UpdateThreadEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/UpdateThreadEvent.java @@ -30,7 +30,7 @@ public class UpdateThreadEvent extends MessageHandler { return; } - boolean isStaff = this.client.getHabbo().hasRight(Permission.ACC_MODTOOL_TICKET_Q); + boolean isStaff = this.client.getHabbo().hasPermissionRight(Permission.ACC_MODTOOL_TICKET_Q); GuildMember member = Emulator.getGameEnvironment().getGuildManager().getGuildMember(guildId, this.client.getHabbo().getHabboInfo().getId()); if (member == null) { diff --git a/src/main/java/com/eu/habbo/messages/incoming/handshake/SSOTicketEvent.java b/src/main/java/com/eu/habbo/messages/incoming/handshake/SSOTicketEvent.java index 7b4ddfdb..1b5694c9 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/handshake/SSOTicketEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/handshake/SSOTicketEvent.java @@ -217,7 +217,7 @@ public class SSOTicketEvent extends MessageHandler { messages.add(new ScrSendUserInfoComposer(this.client.getHabbo(), SubscriptionHabboClub.HABBO_CLUB, ScrSendUserInfoComposer.RESPONSE_TYPE_LOGIN).compose()); - if (this.client.getHabbo().hasRight(Permission.ACC_SUPPORTTOOL)) { + if (this.client.getHabbo().hasPermissionRight(Permission.ACC_SUPPORTTOOL)) { messages.add(new ModeratorInitMessageComposer(this.client.getHabbo()).compose()); } diff --git a/src/main/java/com/eu/habbo/messages/incoming/modtool/CloseIssueDefaultActionEvent.java b/src/main/java/com/eu/habbo/messages/incoming/modtool/CloseIssueDefaultActionEvent.java index 50458749..8801cc1d 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/modtool/CloseIssueDefaultActionEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/modtool/CloseIssueDefaultActionEvent.java @@ -9,7 +9,7 @@ import com.eu.habbo.messages.incoming.MessageHandler; public class CloseIssueDefaultActionEvent extends MessageHandler { @Override public void handle() { - if (this.client.getHabbo().hasRight(Permission.ACC_SUPPORTTOOL)) { + if (this.client.getHabbo().hasPermissionRight(Permission.ACC_SUPPORTTOOL)) { int issueId = this.packet.readInt(); int unknown = this.packet.readInt(); int category = this.packet.readInt(); diff --git a/src/main/java/com/eu/habbo/messages/incoming/modtool/CloseIssuesEvent.java b/src/main/java/com/eu/habbo/messages/incoming/modtool/CloseIssuesEvent.java index 48b78115..e31d03b1 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/modtool/CloseIssuesEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/modtool/CloseIssuesEvent.java @@ -10,7 +10,7 @@ import com.eu.habbo.messages.incoming.MessageHandler; public class CloseIssuesEvent extends MessageHandler { @Override public void handle() { - if (this.client.getHabbo().hasRight(Permission.ACC_SUPPORTTOOL)) { + if (this.client.getHabbo().hasPermissionRight(Permission.ACC_SUPPORTTOOL)) { int state = this.packet.readInt(); int something = this.packet.readInt(); int ticketId = this.packet.readInt(); diff --git a/src/main/java/com/eu/habbo/messages/incoming/modtool/GetCfhChatlogEvent.java b/src/main/java/com/eu/habbo/messages/incoming/modtool/GetCfhChatlogEvent.java index de8dd024..e7c525b3 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/modtool/GetCfhChatlogEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/modtool/GetCfhChatlogEvent.java @@ -15,7 +15,7 @@ import java.util.stream.Collectors; public class GetCfhChatlogEvent extends MessageHandler { @Override public void handle() { - if (this.client.getHabbo().hasRight(Permission.ACC_SUPPORTTOOL)) { + if (this.client.getHabbo().hasPermissionRight(Permission.ACC_SUPPORTTOOL)) { ModToolIssue issue = Emulator.getGameEnvironment().getModToolManager().getTicket(this.packet.readInt()); if (issue != null) { diff --git a/src/main/java/com/eu/habbo/messages/incoming/modtool/GetModeratorRoomInfoEvent.java b/src/main/java/com/eu/habbo/messages/incoming/modtool/GetModeratorRoomInfoEvent.java index e9058210..1ab7715a 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/modtool/GetModeratorRoomInfoEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/modtool/GetModeratorRoomInfoEvent.java @@ -10,7 +10,7 @@ import com.eu.habbo.messages.outgoing.modtool.ModeratorRoomInfoComposer; public class GetModeratorRoomInfoEvent extends MessageHandler { @Override public void handle() { - if (this.client.getHabbo().hasRight(Permission.ACC_SUPPORTTOOL)) { + if (this.client.getHabbo().hasPermissionRight(Permission.ACC_SUPPORTTOOL)) { int roomId = this.packet.readInt(); Room room = Emulator.getGameEnvironment().getRoomManager().getActiveRoomById(roomId); diff --git a/src/main/java/com/eu/habbo/messages/incoming/modtool/GetModeratorUserInfoEvent.java b/src/main/java/com/eu/habbo/messages/incoming/modtool/GetModeratorUserInfoEvent.java index 5b234a01..f0f0f3ef 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/modtool/GetModeratorUserInfoEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/modtool/GetModeratorUserInfoEvent.java @@ -9,7 +9,7 @@ import com.eu.habbo.messages.incoming.MessageHandler; public class GetModeratorUserInfoEvent extends MessageHandler { @Override public void handle() { - if (this.client.getHabbo().hasRight(Permission.ACC_SUPPORTTOOL)) { + if (this.client.getHabbo().hasPermissionRight(Permission.ACC_SUPPORTTOOL)) { ModToolManager.requestUserInfo(this.client, this.packet); } else { ScripterManager.scripterDetected(this.client, Emulator.getTexts().getValue("scripter.warning.userinfo").replace("%username%", this.client.getHabbo().getHabboInfo().getUsername())); diff --git a/src/main/java/com/eu/habbo/messages/incoming/modtool/GetRoomChatlogEvent.java b/src/main/java/com/eu/habbo/messages/incoming/modtool/GetRoomChatlogEvent.java index 01f8f452..739a07c6 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/modtool/GetRoomChatlogEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/modtool/GetRoomChatlogEvent.java @@ -10,7 +10,7 @@ import com.eu.habbo.messages.outgoing.modtool.RoomChatlogComposer; public class GetRoomChatlogEvent extends MessageHandler { @Override public void handle() { - if (this.client.getHabbo().hasRight(Permission.ACC_SUPPORTTOOL)) { + if (this.client.getHabbo().hasPermissionRight(Permission.ACC_SUPPORTTOOL)) { this.packet.readInt(); Room room = Emulator.getGameEnvironment().getRoomManager().getActiveRoomById(this.packet.readInt()); diff --git a/src/main/java/com/eu/habbo/messages/incoming/modtool/GetRoomVisitsEvent.java b/src/main/java/com/eu/habbo/messages/incoming/modtool/GetRoomVisitsEvent.java index 449df7c5..03dd2445 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/modtool/GetRoomVisitsEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/modtool/GetRoomVisitsEvent.java @@ -9,7 +9,7 @@ import com.eu.habbo.messages.outgoing.modtool.RoomVisitsComposer; public class GetRoomVisitsEvent extends MessageHandler { @Override public void handle() { - if (this.client.getHabbo().hasRight(Permission.ACC_SUPPORTTOOL)) { + if (this.client.getHabbo().hasPermissionRight(Permission.ACC_SUPPORTTOOL)) { int userId = this.packet.readInt(); HabboInfo habboInfo = Emulator.getGameEnvironment().getHabboManager().getHabboInfo(userId); diff --git a/src/main/java/com/eu/habbo/messages/incoming/modtool/GetUserChatlogEvent.java b/src/main/java/com/eu/habbo/messages/incoming/modtool/GetUserChatlogEvent.java index 355ae337..c7cf5143 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/modtool/GetUserChatlogEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/modtool/GetUserChatlogEvent.java @@ -10,7 +10,7 @@ import com.eu.habbo.messages.outgoing.modtool.UserChatlogComposer; public class GetUserChatlogEvent extends MessageHandler { @Override public void handle() { - if (this.client.getHabbo().hasRight(Permission.ACC_SUPPORTTOOL)) { + if (this.client.getHabbo().hasPermissionRight(Permission.ACC_SUPPORTTOOL)) { int userId = this.packet.readInt(); String username = HabboManager.getOfflineHabboInfo(userId).getUsername(); diff --git a/src/main/java/com/eu/habbo/messages/incoming/modtool/ModAlertEvent.java b/src/main/java/com/eu/habbo/messages/incoming/modtool/ModAlertEvent.java index 99df9398..65b030b4 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/modtool/ModAlertEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/modtool/ModAlertEvent.java @@ -18,7 +18,7 @@ public class ModAlertEvent extends MessageHandler { String message = this.packet.readString(); int cfhTopic = this.packet.readInt(); - if (!this.client.getHabbo().hasRight(Permission.ACC_SUPPORTTOOL)) return; + if (!this.client.getHabbo().hasPermissionRight(Permission.ACC_SUPPORTTOOL)) return; Habbo habbo = Emulator.getGameEnvironment().getHabboManager().getHabbo(userId); if (habbo == null) { diff --git a/src/main/java/com/eu/habbo/messages/incoming/modtool/ModBanEvent.java b/src/main/java/com/eu/habbo/messages/incoming/modtool/ModBanEvent.java index 8e3ec701..fe872516 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/modtool/ModBanEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/modtool/ModBanEvent.java @@ -52,7 +52,7 @@ public class ModBanEvent extends MessageHandler { case BAN_AVATAR_ONLY_100_YEARS: duration = Emulator.getIntUnixTimestamp(); } - if (!this.client.getHabbo().hasRight(Permission.ACC_SUPPORTTOOL)) { + if (!this.client.getHabbo().hasPermissionRight(Permission.ACC_SUPPORTTOOL)) { ScripterManager.scripterDetected(this.client, Emulator.getTexts().getValue("scripter.warning.modtools.ban").replace("%username%", this.client.getHabbo().getHabboInfo().getUsername())); return; } diff --git a/src/main/java/com/eu/habbo/messages/incoming/modtool/ModMessageEvent.java b/src/main/java/com/eu/habbo/messages/incoming/modtool/ModMessageEvent.java index 6b041f63..73c795d1 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/modtool/ModMessageEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/modtool/ModMessageEvent.java @@ -10,7 +10,7 @@ import com.eu.habbo.plugin.events.support.SupportUserAlertedReason; public class ModMessageEvent extends MessageHandler { @Override public void handle() { - if (this.client.getHabbo().hasRight(Permission.ACC_SUPPORTTOOL)) { + if (this.client.getHabbo().hasPermissionRight(Permission.ACC_SUPPORTTOOL)) { Habbo alertedUser = Emulator.getGameEnvironment().getHabboManager().getHabbo(this.packet.readInt()); if (alertedUser != null) diff --git a/src/main/java/com/eu/habbo/messages/incoming/modtool/ModMuteEvent.java b/src/main/java/com/eu/habbo/messages/incoming/modtool/ModMuteEvent.java index 4bca6e02..f83917c4 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/modtool/ModMuteEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/modtool/ModMuteEvent.java @@ -20,7 +20,7 @@ public class ModMuteEvent extends MessageHandler { String message = this.packet.readString(); int cfhTopic = this.packet.readInt(); - if (!this.client.getHabbo().hasRight(Permission.ACC_SUPPORTTOOL)) return; + if (!this.client.getHabbo().hasPermissionRight(Permission.ACC_SUPPORTTOOL)) return; Habbo habbo = Emulator.getGameEnvironment().getHabboManager().getHabbo(userId); if (habbo == null) { diff --git a/src/main/java/com/eu/habbo/messages/incoming/modtool/ModToolRequestRoomUserChatlogEvent.java b/src/main/java/com/eu/habbo/messages/incoming/modtool/ModToolRequestRoomUserChatlogEvent.java index 0dcf9b93..d98d76ea 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/modtool/ModToolRequestRoomUserChatlogEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/modtool/ModToolRequestRoomUserChatlogEvent.java @@ -11,7 +11,7 @@ import com.eu.habbo.messages.outgoing.modtool.RoomChatlogComposer; public class ModToolRequestRoomUserChatlogEvent extends MessageHandler { @Override public void handle() { - if (this.client.getHabbo().hasRight(Permission.ACC_SUPPORTTOOL)) { + if (this.client.getHabbo().hasPermissionRight(Permission.ACC_SUPPORTTOOL)) { int userId = this.packet.readInt(); Habbo habbo = Emulator.getGameEnvironment().getHabboManager().getHabbo(userId); diff --git a/src/main/java/com/eu/habbo/messages/incoming/modtool/ModToolSanctionEvent.java b/src/main/java/com/eu/habbo/messages/incoming/modtool/ModToolSanctionEvent.java index a9c62836..df40a20c 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/modtool/ModToolSanctionEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/modtool/ModToolSanctionEvent.java @@ -9,7 +9,7 @@ import com.eu.habbo.threading.runnables.UpdateModToolIssue; public class ModToolSanctionEvent extends MessageHandler { @Override public void handle() { - if (this.client.getHabbo().hasRight(Permission.ACC_SUPPORTTOOL)) { + if (this.client.getHabbo().hasPermissionRight(Permission.ACC_SUPPORTTOOL)) { int ticketId = this.packet.readInt(); int unknownInt = this.packet.readInt(); int categoryId = this.packet.readInt(); diff --git a/src/main/java/com/eu/habbo/messages/incoming/modtool/ModToolWarnEvent.java b/src/main/java/com/eu/habbo/messages/incoming/modtool/ModToolWarnEvent.java index ee1e38aa..6d0e3224 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/modtool/ModToolWarnEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/modtool/ModToolWarnEvent.java @@ -10,7 +10,7 @@ import com.eu.habbo.plugin.events.support.SupportUserAlertedReason; public class ModToolWarnEvent extends MessageHandler { @Override public void handle() { - if (this.client.getHabbo().hasRight(Permission.ACC_SUPPORTTOOL)) { + if (this.client.getHabbo().hasPermissionRight(Permission.ACC_SUPPORTTOOL)) { Habbo alertedUser = Emulator.getGameEnvironment().getHabboManager().getHabbo(this.packet.readInt()); if (alertedUser != null) diff --git a/src/main/java/com/eu/habbo/messages/incoming/modtool/ModTradingLockEvent.java b/src/main/java/com/eu/habbo/messages/incoming/modtool/ModTradingLockEvent.java index 2a0fbf6f..0f0f649a 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/modtool/ModTradingLockEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/modtool/ModTradingLockEvent.java @@ -19,7 +19,7 @@ public class ModTradingLockEvent extends MessageHandler { int duration = this.packet.readInt(); int cfhTopic = this.packet.readInt(); - if (this.client.getHabbo().hasRight(Permission.ACC_SUPPORTTOOL)) { + if (this.client.getHabbo().hasPermissionRight(Permission.ACC_SUPPORTTOOL)) { Habbo habbo = Emulator.getGameEnvironment().getHabboManager().getHabbo(userId); if (habbo != null) { diff --git a/src/main/java/com/eu/habbo/messages/incoming/modtool/ModerateRoomEvent.java b/src/main/java/com/eu/habbo/messages/incoming/modtool/ModerateRoomEvent.java index 882b918c..8ee92553 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/modtool/ModerateRoomEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/modtool/ModerateRoomEvent.java @@ -9,7 +9,7 @@ import com.eu.habbo.messages.incoming.MessageHandler; public class ModerateRoomEvent extends MessageHandler { @Override public void handle() { - if (this.client.getHabbo().hasRight(Permission.ACC_SUPPORTTOOL)) { + if (this.client.getHabbo().hasPermissionRight(Permission.ACC_SUPPORTTOOL)) { Room room = Emulator.getGameEnvironment().getRoomManager().getActiveRoomById(this.packet.readInt()); if (room != null) { diff --git a/src/main/java/com/eu/habbo/messages/incoming/modtool/ModeratorActionEvent.java b/src/main/java/com/eu/habbo/messages/incoming/modtool/ModeratorActionEvent.java index f58da46c..7437889d 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/modtool/ModeratorActionEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/modtool/ModeratorActionEvent.java @@ -9,7 +9,7 @@ import com.eu.habbo.messages.incoming.MessageHandler; public class ModeratorActionEvent extends MessageHandler { @Override public void handle() { - if (this.client.getHabbo().hasRight(Permission.ACC_SUPPORTTOOL)) { + if (this.client.getHabbo().hasPermissionRight(Permission.ACC_SUPPORTTOOL)) { int type = this.packet.readInt(); Room room = this.client.getHabbo().getRoomUnit().getRoom(); diff --git a/src/main/java/com/eu/habbo/messages/incoming/modtool/PickIssuesEvent.java b/src/main/java/com/eu/habbo/messages/incoming/modtool/PickIssuesEvent.java index df10877e..832298f1 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/modtool/PickIssuesEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/modtool/PickIssuesEvent.java @@ -13,7 +13,7 @@ public class PickIssuesEvent extends MessageHandler { @Override public void handle() { - if (this.client.getHabbo().hasRight(Permission.ACC_SUPPORTTOOL)) { + if (this.client.getHabbo().hasPermissionRight(Permission.ACC_SUPPORTTOOL)) { this.packet.readInt(); ModToolIssue issue = Emulator.getGameEnvironment().getModToolManager().getTicket(this.packet.readInt()); diff --git a/src/main/java/com/eu/habbo/messages/incoming/modtool/ReleaseIssuesEvent.java b/src/main/java/com/eu/habbo/messages/incoming/modtool/ReleaseIssuesEvent.java index 2a832cfc..a6554ea5 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/modtool/ReleaseIssuesEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/modtool/ReleaseIssuesEvent.java @@ -10,7 +10,7 @@ import com.eu.habbo.messages.incoming.MessageHandler; public class ReleaseIssuesEvent extends MessageHandler { @Override public void handle() { - if (this.client.getHabbo().hasRight(Permission.ACC_SUPPORTTOOL)) { + if (this.client.getHabbo().hasPermissionRight(Permission.ACC_SUPPORTTOOL)) { int count = this.packet.readInt(); while (count != 0) { diff --git a/src/main/java/com/eu/habbo/messages/incoming/navigator/NewNavigatorSearchEvent.java b/src/main/java/com/eu/habbo/messages/incoming/navigator/NewNavigatorSearchEvent.java index 484bae60..dc5b6117 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/navigator/NewNavigatorSearchEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/navigator/NewNavigatorSearchEvent.java @@ -128,7 +128,7 @@ public class NewNavigatorSearchEvent extends MessageHandler { } } - SearchResultList list = new SearchResultList(0, "query", "", SearchAction.NONE, ListMode.LIST, DisplayMode.VISIBLE, new ArrayList<>(searchRooms.values()), true, this.client.getHabbo().hasRight(Permission.ACC_ENTERANYROOM) || this.client.getHabbo().hasRight(Permission.ACC_ANYROOMOWNER), DisplayOrder.ACTIVITY, -1); + SearchResultList list = new SearchResultList(0, "query", "", SearchAction.NONE, ListMode.LIST, DisplayMode.VISIBLE, new ArrayList<>(searchRooms.values()), true, this.client.getHabbo().hasPermissionRight(Permission.ACC_ENTERANYROOM) || this.client.getHabbo().hasPermissionRight(Permission.ACC_ANYROOMOWNER), DisplayOrder.ACTIVITY, -1); nList.add(list); return nList; } diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/GetFlatControllersEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/GetFlatControllersEvent.java index 32874859..d02b8377 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/GetFlatControllersEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/GetFlatControllersEvent.java @@ -13,7 +13,7 @@ public class GetFlatControllersEvent extends MessageHandler { if (room == null) return; - if (room.getRoomInfo().getOwnerInfo().getId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasRight(Permission.ACC_ANYROOMOWNER)) { + if (room.getRoomInfo().getOwnerInfo().getId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasPermissionRight(Permission.ACC_ANYROOMOWNER)) { this.client.sendResponse(new FlatControllersComposer(room)); } } diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/RemoveAllRightsEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/RemoveAllRightsEvent.java index ba0dfc2c..a2b43d4d 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/RemoveAllRightsEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/RemoveAllRightsEvent.java @@ -17,7 +17,7 @@ public class RemoveAllRightsEvent extends MessageHandler { if (room == null || room.getRoomInfo().getId() != this.packet.readInt()) return; - if (room.getRoomInfo().getOwnerInfo().getId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasRight(Permission.ACC_ANYROOMOWNER)) { + if (room.getRoomInfo().getOwnerInfo().getId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasPermissionRight(Permission.ACC_ANYROOMOWNER)) { room.getRoomRightsManager().getRights().forEach(value -> { Habbo habbo = room.getRoomUnitManager().getRoomHabboById(value); diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/RequestRoomPropertySet.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/RequestRoomPropertySet.java index 8f735bee..2f771bfd 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/RequestRoomPropertySet.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/RequestRoomPropertySet.java @@ -17,7 +17,7 @@ public class RequestRoomPropertySet extends MessageHandler { Room room = this.client.getHabbo().getRoomUnit().getRoom(); - if (room.getRoomInfo().getOwnerInfo().getId() == this.client.getHabbo().getHabboInfo().getId() || room.getRoomRightsManager().hasRights(this.client.getHabbo()) || this.client.getHabbo().hasRight(Permission.ACC_PLACEFURNI)) { + if (room.getRoomInfo().getOwnerInfo().getId() == this.client.getHabbo().getHabboInfo().getId() || room.getRoomRightsManager().hasRights(this.client.getHabbo()) || this.client.getHabbo().hasPermissionRight(Permission.ACC_PLACEFURNI)) { int itemId = this.packet.readInt(); RoomItem item = this.client.getHabbo().getInventory().getItemsComponent().getHabboItem(itemId); diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/SetRoomBackgroundColorDataEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/SetRoomBackgroundColorDataEvent.java index a32d7ddf..cd81a0e0 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/SetRoomBackgroundColorDataEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/SetRoomBackgroundColorDataEvent.java @@ -16,7 +16,7 @@ public class SetRoomBackgroundColorDataEvent extends MessageHandler { if (room == null) return; - if (room.getRoomRightsManager().hasRights(this.client.getHabbo()) || this.client.getHabbo().hasRight(Permission.ACC_PLACEFURNI)) { + if (room.getRoomRightsManager().hasRights(this.client.getHabbo()) || this.client.getHabbo().hasPermissionRight(Permission.ACC_PLACEFURNI)) { RoomItem item = room.getRoomItemManager().getRoomItemById(itemId); if (item == null) diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/SubmitRoomToCompetitionEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/SubmitRoomToCompetitionEvent.java index 25c9d8fe..6fd1c161 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/SubmitRoomToCompetitionEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/SubmitRoomToCompetitionEvent.java @@ -12,7 +12,7 @@ import com.eu.habbo.messages.outgoing.rooms.GetGuestRoomResultComposer; public class SubmitRoomToCompetitionEvent extends MessageHandler { @Override public void handle() { - if (this.client.getHabbo().hasRight(Permission.ACC_STAFF_PICK)) { + if (this.client.getHabbo().hasPermissionRight(Permission.ACC_STAFF_PICK)) { int roomId = this.packet.readInt(); Room room = Emulator.getGameEnvironment().getRoomManager().getActiveRoomById(roomId); diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/ToggleStaffPickEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/ToggleStaffPickEvent.java index 9c4ca8d4..4cafbafe 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/ToggleStaffPickEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/ToggleStaffPickEvent.java @@ -12,7 +12,7 @@ import com.eu.habbo.messages.outgoing.rooms.GetGuestRoomResultComposer; public class ToggleStaffPickEvent extends MessageHandler { @Override public void handle() throws Exception { - if (this.client.getHabbo().hasRight(Permission.ACC_STAFF_PICK)) { + if (this.client.getHabbo().hasPermissionRight(Permission.ACC_STAFF_PICK)) { int roomId = this.packet.readInt(); Room room = Emulator.getGameEnvironment().getRoomManager().getActiveRoomById(roomId); diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/bots/CommandBotEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/bots/CommandBotEvent.java index 1290c6de..ab11a546 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/bots/CommandBotEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/bots/CommandBotEvent.java @@ -26,7 +26,7 @@ public class CommandBotEvent extends MessageHandler { if (room == null) return; - if (room.getRoomInfo().getOwnerInfo().getId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasRight(Permission.ACC_ANYROOMOWNER)) { + if (room.getRoomInfo().getOwnerInfo().getId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasPermissionRight(Permission.ACC_ANYROOMOWNER)) { int botId = this.packet.readInt(); Bot bot = room.getRoomUnitManager().getRoomBotById(Math.abs(botId)); @@ -74,7 +74,7 @@ public class CommandBotEvent extends MessageHandler { String result = Emulator.getGameEnvironment().getWordFilter().filter(s, this.client.getHabbo()); if (!result.isEmpty()) { - if (!this.client.getHabbo().hasRight(Permission.ACC_CHAT_NO_FILTER)) { + if (!this.client.getHabbo().hasPermissionRight(Permission.ACC_CHAT_NO_FILTER)) { result = Emulator.getGameEnvironment().getWordFilter().filter(result, this.client.getHabbo()); } diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/bots/GetBotCommandConfigurationDataEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/bots/GetBotCommandConfigurationDataEvent.java index f88fc392..7c9f337b 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/bots/GetBotCommandConfigurationDataEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/bots/GetBotCommandConfigurationDataEvent.java @@ -14,7 +14,7 @@ public class GetBotCommandConfigurationDataEvent extends MessageHandler { if (room == null) return; - if (room.getRoomInfo().getOwnerInfo().getId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasRight(Permission.ACC_ANYROOMOWNER)) { + if (room.getRoomInfo().getOwnerInfo().getId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasPermissionRight(Permission.ACC_ANYROOMOWNER)) { int botId = this.packet.readInt(); Bot bot = room.getRoomUnitManager().getRoomBotById(Math.abs(botId)); diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/AddSpamWallPostItEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/AddSpamWallPostItEvent.java index b492b970..583ddae5 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/AddSpamWallPostItEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/AddSpamWallPostItEvent.java @@ -22,7 +22,7 @@ public class AddSpamWallPostItEvent extends MessageHandler { this.packet.readString(); String color = this.packet.readString(); if (itemId == -1234) { - if (this.client.getHabbo().hasCommand("cmd_multi")) { + if (this.client.getHabbo().canExecuteCommand("cmd_multi")) { String[] commands = this.packet.readString().split("\r"); Arrays.stream(commands) diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/MoveWallItemEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/MoveWallItemEvent.java index 4c80574a..d8869f6d 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/MoveWallItemEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/MoveWallItemEvent.java @@ -17,7 +17,7 @@ public class MoveWallItemEvent extends MessageHandler { if (room == null) return; - if (!room.getRoomRightsManager().hasRights(this.client.getHabbo()) && !this.client.getHabbo().hasRight(Permission.ACC_PLACEFURNI)) { + if (!room.getRoomRightsManager().hasRights(this.client.getHabbo()) && !this.client.getHabbo().hasPermissionRight(Permission.ACC_PLACEFURNI)) { if (!(room.getRoomInfo().getGuild().getId() > 0 && room.getGuildRightLevel(this.client.getHabbo()).isEqualOrGreaterThan(RoomRightLevels.GUILD_RIGHTS))) { this.client.sendResponse(new NotificationDialogMessageComposer(BubbleAlertKeys.FURNITURE_PLACEMENT_ERROR.getKey(), FurnitureMovementError.NO_RIGHTS.getErrorCode())); return; diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/PickupObjectEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/PickupObjectEvent.java index afb2ac66..87ec232e 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/PickupObjectEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/PickupObjectEvent.java @@ -28,7 +28,7 @@ public class PickupObjectEvent extends MessageHandler { room.getRoomItemManager().pickUpItem(item, this.client.getHabbo()); } else { if (room.getRoomRightsManager().hasRights(this.client.getHabbo())) { - if (this.client.getHabbo().hasRight(Permission.ACC_ANYROOMOWNER)) { + if (this.client.getHabbo().hasPermissionRight(Permission.ACC_ANYROOMOWNER)) { item.setOwnerId(this.client.getHabbo().getHabboInfo().getId()); } else { if (!room.getRoomInfo().isRoomOwner(this.client.getHabbo())) { diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/RemoveItemEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/RemoveItemEvent.java index 8b6ddd47..9ba6aa6c 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/RemoveItemEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/RemoveItemEvent.java @@ -23,7 +23,7 @@ public class RemoveItemEvent extends MessageHandler { RoomItem item = room.getRoomItemManager().getRoomItemById(itemId); if (item instanceof InteractionPostIt || item instanceof InteractionExternalImage) { - if (item.getOwnerId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasRight(Permission.ACC_ANYROOMOWNER)) { + if (item.getOwnerId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasPermissionRight(Permission.ACC_ANYROOMOWNER)) { item.setRoomId(0); room.getRoomItemManager().removeRoomItem(item); room.sendComposer(new ItemRemoveMessageComposer(item).compose()); diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/SetObjectDataEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/SetObjectDataEvent.java index 75555eeb..e15581c7 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/SetObjectDataEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/SetObjectDataEvent.java @@ -24,7 +24,7 @@ public class SetObjectDataEvent extends MessageHandler { if (item == null) return; - if (item instanceof InteractionRoomAds && !this.client.getHabbo().hasRight(Permission.ACC_ADS_BACKGROUND)) { + if (item instanceof InteractionRoomAds && !this.client.getHabbo().hasPermissionRight(Permission.ACC_ADS_BACKGROUND)) { this.client.getHabbo().alert(Emulator.getTexts().getValue("hotel.error.roomads.nopermission")); return; } diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/jukebox/AddJukeboxDiskEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/jukebox/AddJukeboxDiskEvent.java index da552cef..a477037a 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/jukebox/AddJukeboxDiskEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/jukebox/AddJukeboxDiskEvent.java @@ -19,7 +19,7 @@ public class AddJukeboxDiskEvent extends MessageHandler { RoomItem item = habbo.getInventory().getItemsComponent().getHabboItem(itemId); if (item instanceof InteractionMusicDisc interactionMusicDisc && item.getRoomId() == 0) { - this.client.getHabbo().getRoomUnit().getRoom().getTraxManager().addSong(interactionMusicDisc, habbo); + this.client.getHabbo().getRoomUnit().getRoom().getRoomTraxManager().addSong(interactionMusicDisc, habbo); } } } diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/jukebox/GetJukeboxPlayListEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/jukebox/GetJukeboxPlayListEvent.java index 6368a05e..49d556eb 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/jukebox/GetJukeboxPlayListEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/jukebox/GetJukeboxPlayListEvent.java @@ -1,10 +1,5 @@ package com.eu.habbo.messages.incoming.rooms.items.jukebox; -import com.eu.habbo.habbohotel.rooms.TraxManager; -import com.eu.habbo.messages.incoming.MessageHandler; -import com.eu.habbo.messages.outgoing.rooms.items.jukebox.JukeboxSongDisksMessageComposer; -import com.eu.habbo.messages.outgoing.rooms.items.jukebox.UserSongDisksInventoryMessageComposer; - public class GetJukeboxPlayListEvent extends JukeboxEvent { @Override public void handle() { diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/jukebox/GetNowPlayingEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/jukebox/GetNowPlayingEvent.java index 4659c61d..ce2bacba 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/jukebox/GetNowPlayingEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/jukebox/GetNowPlayingEvent.java @@ -1,10 +1,5 @@ package com.eu.habbo.messages.incoming.rooms.items.jukebox; -import com.eu.habbo.habbohotel.rooms.TraxManager; -import com.eu.habbo.messages.incoming.MessageHandler; -import com.eu.habbo.messages.outgoing.rooms.items.jukebox.JukeboxSongDisksMessageComposer; -import com.eu.habbo.messages.outgoing.rooms.items.jukebox.UserSongDisksInventoryMessageComposer; - public class GetNowPlayingEvent extends JukeboxEvent { @Override public void handle() { diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/jukebox/JukeBoxEventOne.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/jukebox/JukeBoxEventOne.java index 8d2ada31..161cbf9d 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/jukebox/JukeBoxEventOne.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/jukebox/JukeBoxEventOne.java @@ -1,10 +1,5 @@ package com.eu.habbo.messages.incoming.rooms.items.jukebox; -import com.eu.habbo.habbohotel.rooms.TraxManager; -import com.eu.habbo.messages.incoming.MessageHandler; -import com.eu.habbo.messages.outgoing.rooms.items.jukebox.JukeboxSongDisksMessageComposer; -import com.eu.habbo.messages.outgoing.rooms.items.jukebox.UserSongDisksInventoryMessageComposer; - public class JukeBoxEventOne extends JukeboxEvent { @Override public void handle() { diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/jukebox/JukeboxEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/jukebox/JukeboxEvent.java index 31640475..cbd3d700 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/jukebox/JukeboxEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/jukebox/JukeboxEvent.java @@ -1,15 +1,15 @@ package com.eu.habbo.messages.incoming.rooms.items.jukebox; -import com.eu.habbo.habbohotel.rooms.TraxManager; +import com.eu.habbo.habbohotel.rooms.RoomTraxManager; import com.eu.habbo.messages.incoming.MessageHandler; import com.eu.habbo.messages.outgoing.rooms.items.jukebox.JukeboxSongDisksMessageComposer; import com.eu.habbo.messages.outgoing.rooms.items.jukebox.UserSongDisksInventoryMessageComposer; public abstract class JukeboxEvent extends MessageHandler { protected void updateHabboWithCurrentPlaying() { - TraxManager traxManager = this.client.getHabbo().getRoomUnit().getRoom().getTraxManager(); - this.client.sendResponse(new JukeboxSongDisksMessageComposer(traxManager.getSongs(), traxManager.totalLength())); - this.client.sendResponse(new UserSongDisksInventoryMessageComposer(traxManager.myList(this.client.getHabbo()))); - this.client.getHabbo().getRoomUnit().getRoom().getTraxManager().updateCurrentPlayingSong(this.client.getHabbo()); + RoomTraxManager roomTraxManager = this.client.getHabbo().getRoomUnit().getRoom().getRoomTraxManager(); + this.client.sendResponse(new JukeboxSongDisksMessageComposer(roomTraxManager.getSongs(), roomTraxManager.totalLength())); + this.client.sendResponse(new UserSongDisksInventoryMessageComposer(roomTraxManager.myList(this.client.getHabbo()))); + this.client.getHabbo().getRoomUnit().getRoom().getRoomTraxManager().updateCurrentPlayingSong(this.client.getHabbo()); } } diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/jukebox/RemoveJukeboxDiskEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/jukebox/RemoveJukeboxDiskEvent.java index 454880bb..47ded455 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/jukebox/RemoveJukeboxDiskEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/jukebox/RemoveJukeboxDiskEvent.java @@ -8,10 +8,10 @@ public class RemoveJukeboxDiskEvent extends MessageHandler { public void handle() { int index = this.packet.readInt(); - InteractionMusicDisc musicDisc = this.client.getHabbo().getRoomUnit().getRoom().getTraxManager().getSongs().get(index); + InteractionMusicDisc musicDisc = this.client.getHabbo().getRoomUnit().getRoom().getRoomTraxManager().getSongs().get(index); if (musicDisc != null) { - this.client.getHabbo().getRoomUnit().getRoom().getTraxManager().removeSong(musicDisc.getId()); + this.client.getHabbo().getRoomUnit().getRoom().getRoomTraxManager().removeSong(musicDisc.getId()); } } } diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/rentablespace/RentableSpaceCancelRentEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/rentablespace/RentableSpaceCancelRentEvent.java index 31521de5..6c9547eb 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/rentablespace/RentableSpaceCancelRentEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/rentablespace/RentableSpaceCancelRentEvent.java @@ -19,7 +19,7 @@ public class RentableSpaceCancelRentEvent extends MessageHandler { RoomItem item = room.getRoomItemManager().getRoomItemById(itemId); if (room.getRoomInfo().getOwnerInfo().getId() == this.client.getHabbo().getHabboInfo().getId() || - this.client.getHabbo().hasRight(Permission.ACC_ANYROOMOWNER)) { + this.client.getHabbo().hasPermissionRight(Permission.ACC_ANYROOMOWNER)) { if (item instanceof InteractionRentableSpace) { ((InteractionRentableSpace) item).endRent(); diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/youtube/YoutubeEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/youtube/YoutubeEvent.java index ec893441..ab8e8a34 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/youtube/YoutubeEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/youtube/YoutubeEvent.java @@ -17,7 +17,7 @@ public abstract class YoutubeEvent extends MessageHandler { if (room == null) { return false; } - if (!room.getRoomInfo().isRoomOwner(habbo) && !habbo.hasRight(Permission.ACC_ANYROOMOWNER)) { + if (!room.getRoomInfo().isRoomOwner(habbo) && !habbo.hasPermissionRight(Permission.ACC_ANYROOMOWNER)) { return false; } diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/pets/PlacePetEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/pets/PlacePetEvent.java index ab3185ea..8cb46f19 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/pets/PlacePetEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/pets/PlacePetEvent.java @@ -23,7 +23,7 @@ public class PlacePetEvent extends MessageHandler { return; if (this.client.getHabbo().getHabboInfo().getId() != room.getRoomInfo().getOwnerInfo().getId()) { - if (!room.getRoomInfo().isAllowPets() && !(this.client.getHabbo().hasRight(Permission.ACC_ANYROOMOWNER) || this.client.getHabbo().hasRight(Permission.ACC_PLACEFURNI))) { + if (!room.getRoomInfo().isAllowPets() && !(this.client.getHabbo().hasPermissionRight(Permission.ACC_ANYROOMOWNER) || this.client.getHabbo().hasPermissionRight(Permission.ACC_PLACEFURNI))) { this.client.sendResponse(new PetPlacingErrorComposer(PetPlacingErrorComposer.ROOM_ERROR_PETS_FORBIDDEN_IN_FLAT)); return; } @@ -36,7 +36,7 @@ public class PlacePetEvent extends MessageHandler { if (pet == null) { return; } - if (room.getRoomUnitManager().getCurrentRoomPets().size() >= Room.MAXIMUM_PETS && !this.client.getHabbo().hasRight(Permission.ACC_UNLIMITED_PETS)) { + if (room.getRoomUnitManager().getCurrentRoomPets().size() >= Room.MAXIMUM_PETS && !this.client.getHabbo().hasPermissionRight(Permission.ACC_UNLIMITED_PETS)) { this.client.sendResponse(new PetPlacingErrorComposer(PetPlacingErrorComposer.ROOM_ERROR_MAX_PETS)); return; } diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/pets/RemovePetFromFlatEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/pets/RemovePetFromFlatEvent.java index d7744512..3975ab77 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/pets/RemovePetFromFlatEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/pets/RemovePetFromFlatEvent.java @@ -23,8 +23,8 @@ public class RemovePetFromFlatEvent extends MessageHandler { Pet pet = room.getRoomUnitManager().getRoomPetById(petId); if (pet != null) { - if (this.client.getHabbo().getHabboInfo().getId() == pet.getUserId() || room.getRoomInfo().getOwnerInfo().getId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasRight(Permission.ACC_ANYROOMOWNER)) { - if (!this.client.getHabbo().hasRight(Permission.ACC_UNLIMITED_PETS) && this.client.getHabbo().getInventory().getPetsComponent().getPets().size() >= PetManager.MAXIMUM_PET_INVENTORY_SIZE) { + if (this.client.getHabbo().getHabboInfo().getId() == pet.getUserId() || room.getRoomInfo().getOwnerInfo().getId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasPermissionRight(Permission.ACC_ANYROOMOWNER)) { + if (!this.client.getHabbo().hasPermissionRight(Permission.ACC_UNLIMITED_PETS) && this.client.getHabbo().getInventory().getPetsComponent().getPets().size() >= PetManager.MAXIMUM_PET_INVENTORY_SIZE) { this.client.getHabbo().alert(Emulator.getTexts().getValue("error.pets.max.inventory").replace("%amount%", PetManager.MAXIMUM_PET_INVENTORY_SIZE + "")); return; } diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/promotions/EditEventEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/promotions/EditEventEvent.java index 600dc8b0..177e3b06 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/promotions/EditEventEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/promotions/EditEventEvent.java @@ -19,7 +19,7 @@ public class EditEventEvent extends MessageHandler { Room room = Emulator.getGameEnvironment().getRoomManager().getRoom(id); - if (room == null || room.getRoomInfo().getOwnerInfo().getId() != this.client.getHabbo().getHabboInfo().getId() || !this.client.getHabbo().hasRight(Permission.ACC_ANYROOMOWNER)) { + if (room == null || room.getRoomInfo().getOwnerInfo().getId() != this.client.getHabbo().getHabboInfo().getId() || !this.client.getHabbo().hasPermissionRight(Permission.ACC_ANYROOMOWNER)) { return; } diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/promotions/PurchaseRoomAdEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/promotions/PurchaseRoomAdEvent.java index 43ca691d..b1797e73 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/promotions/PurchaseRoomAdEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/promotions/PurchaseRoomAdEvent.java @@ -49,11 +49,11 @@ public class PurchaseRoomAdEvent extends MessageHandler { } if (room.isPromoted()) { - if (!this.client.getHabbo().hasRight(Permission.ACC_INFINITE_CREDITS)) { + if (!this.client.getHabbo().hasPermissionRight(Permission.ACC_INFINITE_CREDITS)) { this.client.getHabbo().giveCredits(-item.getCredits()); } - if (!this.client.getHabbo().hasRight(Permission.ACC_INFINITE_POINTS)) { + if (!this.client.getHabbo().hasPermissionRight(Permission.ACC_INFINITE_POINTS)) { this.client.getHabbo().givePoints(item.getPointsType(), -item.getPoints()); } diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/users/AssignRightsEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/users/AssignRightsEvent.java index 59e81e05..9198050c 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/users/AssignRightsEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/users/AssignRightsEvent.java @@ -19,7 +19,7 @@ public class AssignRightsEvent extends MessageHandler { return; } - if (room.getRoomInfo().isRoomOwner(this.client.getHabbo()) || this.client.getHabbo().hasRight(Permission.ACC_ANYROOMOWNER)) { + if (room.getRoomInfo().isRoomOwner(this.client.getHabbo()) || this.client.getHabbo().hasPermissionRight(Permission.ACC_ANYROOMOWNER)) { Habbo target = room.getRoomUnitManager().getRoomHabboById(targetId); if (target != null) { diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/users/RemoveRightsEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/users/RemoveRightsEvent.java index 2880090c..43adff72 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/users/RemoveRightsEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/users/RemoveRightsEvent.java @@ -14,7 +14,7 @@ public class RemoveRightsEvent extends MessageHandler { if (room == null) return; - if (room.getRoomInfo().getOwnerInfo().getId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasRight(Permission.ACC_ANYROOMOWNER)) { + if (room.getRoomInfo().getOwnerInfo().getId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasPermissionRight(Permission.ACC_ANYROOMOWNER)) { for (int i = 0; i < amount; i++) { int userId = this.packet.readInt(); diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/users/RoomUserKickEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/users/RoomUserKickEvent.java index 25edefc0..a6689aa9 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/users/RoomUserKickEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/users/RoomUserKickEvent.java @@ -26,7 +26,7 @@ public class RoomUserKickEvent extends MessageHandler { if (target == null) return; - if (target.hasRight(Permission.ACC_UNKICKABLE)) { + if (target.hasPermissionRight(Permission.ACC_UNKICKABLE)) { this.client.sendResponse(new WhisperMessageComposer(new RoomChatMessage(Emulator.getTexts().getValue("commands.error.cmd_kick.unkickable").replace("%username%", target.getHabboInfo().getUsername()), this.client.getHabbo(), this.client.getHabbo(), RoomChatMessageBubbles.ALERT))); return; } @@ -41,8 +41,8 @@ public class RoomUserKickEvent extends MessageHandler { if (event.isCancelled()) return; - if (room.getRoomRightsManager().hasRights(this.client.getHabbo()) || this.client.getHabbo().hasRight(Permission.ACC_ANYROOMOWNER) || this.client.getHabbo().hasRight(Permission.ACC_AMBASSADOR)) { - if (target.hasRight(Permission.ACC_UNKICKABLE)) return; + if (room.getRoomRightsManager().hasRights(this.client.getHabbo()) || this.client.getHabbo().hasPermissionRight(Permission.ACC_ANYROOMOWNER) || this.client.getHabbo().hasPermissionRight(Permission.ACC_AMBASSADOR)) { + if (target.hasPermissionRight(Permission.ACC_UNKICKABLE)) return; room.kickHabbo(target, true); AchievementManager.progressAchievement(this.client.getHabbo(), Emulator.getGameEnvironment().getAchievementManager().getAchievement("SelfModKickSeen")); diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/users/RoomUserMuteEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/users/RoomUserMuteEvent.java index df85e19e..b238cdad 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/users/RoomUserMuteEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/users/RoomUserMuteEvent.java @@ -18,7 +18,7 @@ public class RoomUserMuteEvent extends MessageHandler { Room room = Emulator.getGameEnvironment().getRoomManager().getActiveRoomById(roomId); if (room != null) { - if (room.getRoomRightsManager().hasRights(this.client.getHabbo()) || this.client.getHabbo().hasCommand("cmd_mute") || this.client.getHabbo().hasRight(Permission.ACC_AMBASSADOR)) { + if (room.getRoomRightsManager().hasRights(this.client.getHabbo()) || this.client.getHabbo().canExecuteCommand("cmd_mute") || this.client.getHabbo().hasPermissionRight(Permission.ACC_AMBASSADOR)) { Habbo habbo = room.getRoomUnitManager().getRoomHabboById(userId); if (habbo != null) { diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/users/SignEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/users/SignEvent.java index 8fb2926a..11885a68 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/users/SignEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/users/SignEvent.java @@ -15,16 +15,17 @@ public class SignEvent extends MessageHandler { Room room = this.client.getHabbo().getRoomUnit().getRoom(); - if (room == null) + if (room == null) { return; + } UserSignEvent event = new UserSignEvent(this.client.getHabbo(), signId); + if (!Emulator.getPluginManager().fireEvent(event).isCancelled()) { - this.client.getHabbo().getRoomUnit().setStatus(RoomUnitStatus.SIGN, event.getSign() + ""); + this.client.getHabbo().getRoomUnit().setStatus(RoomUnitStatus.SIGN, String.valueOf(event.getSign())); this.client.getHabbo().getRoomUnit().unIdle(); if(signId <= 10) { - int userId = this.client.getHabbo().getHabboInfo().getId(); for (RoomItem item : room.getRoomItemManager().getFloorItems().values()) { if (item instanceof InteractionVoteCounter) { diff --git a/src/main/java/com/eu/habbo/messages/incoming/trading/OpenTradingEvent.java b/src/main/java/com/eu/habbo/messages/incoming/trading/OpenTradingEvent.java index 431d2619..9973b33e 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/trading/OpenTradingEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/trading/OpenTradingEvent.java @@ -21,7 +21,7 @@ public class OpenTradingEvent extends MessageHandler { if (userId >= 0 && userId != this.client.getHabbo().getRoomUnit().getVirtualId()) { Habbo targetUser = room.getRoomUnitManager().getHabboByVirtualId(userId); - boolean tradeAnywhere = this.client.getHabbo().hasRight(Permission.ACC_TRADE_ANYWHERE); + boolean tradeAnywhere = this.client.getHabbo().hasPermissionRight(Permission.ACC_TRADE_ANYWHERE); if (!RoomTrade.TRADING_ENABLED && !tradeAnywhere) { this.client.sendResponse(new TradingOpenFailedComposer(TradingOpenFailedComposer.HOTEL_TRADING_NOT_ALLOWED)); diff --git a/src/main/java/com/eu/habbo/messages/incoming/users/SetChatStylePreferenceEvent.java b/src/main/java/com/eu/habbo/messages/incoming/users/SetChatStylePreferenceEvent.java index ed7add4e..c8ec2257 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/users/SetChatStylePreferenceEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/users/SetChatStylePreferenceEvent.java @@ -10,7 +10,7 @@ public class SetChatStylePreferenceEvent extends MessageHandler { public void handle() { int chatBubble = this.packet.readInt(); - if (!this.client.getHabbo().hasRight(Permission.ACC_ANYCHATCOLOR)) { + if (!this.client.getHabbo().hasPermissionRight(Permission.ACC_ANYCHATCOLOR)) { for (String s : Emulator.getConfig().getValue("commands.cmd_chatcolor.banned_numbers").split(";")) { if (Integer.parseInt(s) == chatBubble) { return; diff --git a/src/main/java/com/eu/habbo/messages/incoming/wired/UpdateActionEvent.java b/src/main/java/com/eu/habbo/messages/incoming/wired/UpdateActionEvent.java index 7763edbb..a889df0d 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/wired/UpdateActionEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/wired/UpdateActionEvent.java @@ -16,7 +16,7 @@ public class UpdateActionEvent extends MessageHandler { Room room = this.client.getHabbo().getRoomUnit().getRoom(); if (room != null) { - if (room.getRoomRightsManager().hasRights(this.client.getHabbo()) || room.getRoomInfo().getOwnerInfo().getId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasRight(Permission.ACC_ANYROOMOWNER) || this.client.getHabbo().hasRight(Permission.ACC_MOVEROTATE)) { + if (room.getRoomRightsManager().hasRights(this.client.getHabbo()) || room.getRoomInfo().getOwnerInfo().getId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasPermissionRight(Permission.ACC_ANYROOMOWNER) || this.client.getHabbo().hasPermissionRight(Permission.ACC_MOVEROTATE)) { //TODO Check SUPER WIRED PERMISSIONS TOO InteractionWiredEffect effect = room.getRoomSpecialTypes().getEffect(itemId); diff --git a/src/main/java/com/eu/habbo/messages/incoming/wired/UpdateConditionEvent.java b/src/main/java/com/eu/habbo/messages/incoming/wired/UpdateConditionEvent.java index d3c73dad..de5a7571 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/wired/UpdateConditionEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/wired/UpdateConditionEvent.java @@ -16,7 +16,7 @@ public class UpdateConditionEvent extends MessageHandler { Room room = this.client.getHabbo().getRoomUnit().getRoom(); if (room != null) { - if (room.getRoomRightsManager().hasRights(this.client.getHabbo()) || room.getRoomInfo().getOwnerInfo().getId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasRight(Permission.ACC_ANYROOMOWNER) || this.client.getHabbo().hasRight(Permission.ACC_MOVEROTATE)) { + if (room.getRoomRightsManager().hasRights(this.client.getHabbo()) || room.getRoomInfo().getOwnerInfo().getId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasPermissionRight(Permission.ACC_ANYROOMOWNER) || this.client.getHabbo().hasPermissionRight(Permission.ACC_MOVEROTATE)) { InteractionWiredCondition condition = room.getRoomSpecialTypes().getCondition(itemId); try { diff --git a/src/main/java/com/eu/habbo/messages/incoming/wired/UpdateTriggerEvent.java b/src/main/java/com/eu/habbo/messages/incoming/wired/UpdateTriggerEvent.java index 5948d043..d5572b6c 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/wired/UpdateTriggerEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/wired/UpdateTriggerEvent.java @@ -16,7 +16,7 @@ public class UpdateTriggerEvent extends MessageHandler { Room room = this.client.getHabbo().getRoomUnit().getRoom(); if (room != null) { - if (room.getRoomRightsManager().hasRights(this.client.getHabbo()) || room.getRoomInfo().getOwnerInfo().getId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasRight(Permission.ACC_ANYROOMOWNER) || this.client.getHabbo().hasRight(Permission.ACC_MOVEROTATE)) { + if (room.getRoomRightsManager().hasRights(this.client.getHabbo()) || room.getRoomInfo().getOwnerInfo().getId() == this.client.getHabbo().getHabboInfo().getId() || this.client.getHabbo().hasPermissionRight(Permission.ACC_ANYROOMOWNER) || this.client.getHabbo().hasPermissionRight(Permission.ACC_MOVEROTATE)) { InteractionWiredTrigger trigger = room.getRoomSpecialTypes().getTrigger(itemId); try { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/catalog/CatalogPagesListComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/catalog/CatalogPagesListComposer.java index ed282c32..3c838951 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/catalog/CatalogPagesListComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/catalog/CatalogPagesListComposer.java @@ -21,7 +21,7 @@ public class CatalogPagesListComposer extends MessageComposer { public CatalogPagesListComposer(Habbo habbo, String mode) { this.habbo = habbo; this.mode = mode; - this.hasPermission = this.habbo.hasRight(Permission.ACC_CATALOG_IDS); + this.hasPermission = this.habbo.hasPermissionRight(Permission.ACC_CATALOG_IDS); } @Override diff --git a/src/main/java/com/eu/habbo/messages/outgoing/friends/MessengerInitComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/friends/MessengerInitComposer.java index 1e6125fa..17388e1f 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/friends/MessengerInitComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/friends/MessengerInitComposer.java @@ -19,7 +19,7 @@ public class MessengerInitComposer extends MessageComposer { protected ServerMessage composeInternal() { this.response.init(Outgoing.messengerInitComposer); - if (this.habbo.hasRight(Permission.ACC_INFINITE_FRIENDS)) { + if (this.habbo.hasPermissionRight(Permission.ACC_INFINITE_FRIENDS)) { this.response.appendInt(Integer.MAX_VALUE); this.response.appendInt(1337); this.response.appendInt(Integer.MAX_VALUE); diff --git a/src/main/java/com/eu/habbo/messages/outgoing/guilds/HabboGroupDetailsMessageComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/guilds/HabboGroupDetailsMessageComposer.java index 84fb7bbe..62385357 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/guilds/HabboGroupDetailsMessageComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/guilds/HabboGroupDetailsMessageComposer.java @@ -23,7 +23,7 @@ public class HabboGroupDetailsMessageComposer extends MessageComposer { private final GuildMember member; @Override protected ServerMessage composeInternal() { - boolean adminPermissions = this.client.getHabbo().getHabboStats().hasGuild(this.guild.getId()) && this.client.getHabbo().hasRight(Permission.ACC_GUILD_ADMIN) || Emulator.getGameEnvironment().getGuildManager().getOnlyAdmins(guild).get(this.client.getHabbo().getHabboInfo().getId()) != null; + boolean adminPermissions = this.client.getHabbo().getHabboStats().hasGuild(this.guild.getId()) && this.client.getHabbo().hasPermissionRight(Permission.ACC_GUILD_ADMIN) || Emulator.getGameEnvironment().getGuildManager().getOnlyAdmins(guild).get(this.client.getHabbo().getHabboInfo().getId()) != null; this.response.init(Outgoing.habboGroupDetailsMessageComposer); this.response.appendInt(this.guild.getId()); this.response.appendBoolean(true); diff --git a/src/main/java/com/eu/habbo/messages/outgoing/guilds/forums/ForumDataMessageComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/guilds/forums/ForumDataMessageComposer.java index 840a9e1b..b71b7f56 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/guilds/forums/ForumDataMessageComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/guilds/forums/ForumDataMessageComposer.java @@ -107,7 +107,7 @@ public class ForumDataMessageComposer extends MessageComposer { GuildMember member = Emulator.getGameEnvironment().getGuildManager().getGuildMember(guild, habbo); boolean isAdmin = member != null && (member.getRank().getType() < GuildRank.MEMBER.getType() || guild.getOwnerId() == this.habbo.getHabboInfo().getId()); - boolean isStaff = this.habbo.hasRight(Permission.ACC_MODTOOL_TICKET_Q); + boolean isStaff = this.habbo.hasPermissionRight(Permission.ACC_MODTOOL_TICKET_Q); String errorRead = ""; String errorPost = ""; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModeratorInitMessageComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModeratorInitMessageComposer.java index 5ae705f4..08cb98fb 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModeratorInitMessageComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModeratorInitMessageComposer.java @@ -24,7 +24,7 @@ public class ModeratorInitMessageComposer extends MessageComposer implements TOb protected ServerMessage composeInternal() { this.response.init(Outgoing.moderatorInitMessageComposer); - if (this.habbo.hasRight(Permission.ACC_MODTOOL_TICKET_Q)) { + if (this.habbo.hasPermissionRight(Permission.ACC_MODTOOL_TICKET_Q)) { THashSet openTickets = new THashSet<>(); THashMap tickets = Emulator.getGameEnvironment().getModToolManager().getTickets(); @@ -62,13 +62,13 @@ public class ModeratorInitMessageComposer extends MessageComposer implements TOb Emulator.getGameEnvironment().getModToolManager().getCategory().forEachValue(this); - this.response.appendBoolean(this.habbo.hasRight(Permission.ACC_MODTOOL_TICKET_Q)); //ticketQueueueuhuehuehuehue - this.response.appendBoolean(this.habbo.hasRight(Permission.ACC_MODTOOL_USER_LOGS)); //user chatlogs - this.response.appendBoolean(this.habbo.hasRight(Permission.ACC_MODTOOL_USER_ALERT)); //can send caution - this.response.appendBoolean(this.habbo.hasRight(Permission.ACC_MODTOOL_USER_KICK)); //can send kick - this.response.appendBoolean(this.habbo.hasRight(Permission.ACC_MODTOOL_USER_BAN)); //can send ban - this.response.appendBoolean(this.habbo.hasRight(Permission.ACC_MODTOOL_ROOM_INFO)); //room info ??Not sure - this.response.appendBoolean(this.habbo.hasRight(Permission.ACC_MODTOOL_ROOM_LOGS)); //room chatlogs ??Not sure + this.response.appendBoolean(this.habbo.hasPermissionRight(Permission.ACC_MODTOOL_TICKET_Q)); //ticketQueueueuhuehuehuehue + this.response.appendBoolean(this.habbo.hasPermissionRight(Permission.ACC_MODTOOL_USER_LOGS)); //user chatlogs + this.response.appendBoolean(this.habbo.hasPermissionRight(Permission.ACC_MODTOOL_USER_ALERT)); //can send caution + this.response.appendBoolean(this.habbo.hasPermissionRight(Permission.ACC_MODTOOL_USER_KICK)); //can send kick + this.response.appendBoolean(this.habbo.hasPermissionRight(Permission.ACC_MODTOOL_USER_BAN)); //can send ban + this.response.appendBoolean(this.habbo.hasPermissionRight(Permission.ACC_MODTOOL_ROOM_INFO)); //room info ??Not sure + this.response.appendBoolean(this.habbo.hasPermissionRight(Permission.ACC_MODTOOL_ROOM_LOGS)); //room chatlogs ??Not sure synchronized (Emulator.getGameEnvironment().getModToolManager().getPresets()) { this.response.appendInt(Emulator.getGameEnvironment().getModToolManager().getPresets().get("room").size()); diff --git a/src/main/java/com/eu/habbo/messages/outgoing/users/UserPerksComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/users/UserPerksComposer.java index e6f88c7e..9d1ef4d4 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/users/UserPerksComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/users/UserPerksComposer.java @@ -17,16 +17,16 @@ public class UserPerksComposer extends MessageComposer { this.response.appendString("USE_GUIDE_TOOL"); this.response.appendString("requirement.unfulfilled.helper_level_4"); - this.response.appendBoolean(this.habbo.getHabboInfo().getPermissionGroup().hasRight(Permission.ACC_HELPER_USE_GUIDE_TOOL, false)); + this.response.appendBoolean(this.habbo.getHabboInfo().getPermissionGroup().hasPermissionRight(Permission.ACC_HELPER_USE_GUIDE_TOOL, false)); this.response.appendString("GIVE_GUIDE_TOURS"); this.response.appendString(""); - this.response.appendBoolean(this.habbo.getHabboInfo().getPermissionGroup().hasRight(Permission.ACC_HELPER_GIVE_GUIDE_TOURS, false)); + this.response.appendBoolean(this.habbo.getHabboInfo().getPermissionGroup().hasPermissionRight(Permission.ACC_HELPER_GIVE_GUIDE_TOURS, false)); this.response.appendString("JUDGE_CHAT_REVIEWS"); this.response.appendString("requirement.unfulfilled.helper_level_6"); - this.response.appendBoolean(this.habbo.getHabboInfo().getPermissionGroup().hasRight(Permission.ACC_HELPER_JUDGE_CHAT_REVIEWS, false)); + this.response.appendBoolean(this.habbo.getHabboInfo().getPermissionGroup().hasPermissionRight(Permission.ACC_HELPER_JUDGE_CHAT_REVIEWS, false)); this.response.appendString("VOTE_IN_COMPETITIONS"); this.response.appendString("requirement.unfulfilled.helper_level_2"); @@ -46,7 +46,7 @@ public class UserPerksComposer extends MessageComposer { this.response.appendString("HEIGHTMAP_EDITOR_BETA"); this.response.appendString("requirement.unfulfilled.feature_disabled"); - this.response.appendBoolean(this.habbo.getHabboInfo().getPermissionGroup().hasRight(Permission.ACC_FLOORPLAN_EDITOR, false)); + this.response.appendBoolean(this.habbo.getHabboInfo().getPermissionGroup().hasPermissionRight(Permission.ACC_FLOORPLAN_EDITOR, false)); this.response.appendString("BUILDER_AT_WORK"); this.response.appendString(""); @@ -58,7 +58,7 @@ public class UserPerksComposer extends MessageComposer { this.response.appendString("CAMERA"); this.response.appendString(""); - this.response.appendBoolean(this.habbo.getHabboInfo().getPermissionGroup().hasRight(Permission.ACC_CAMERA, false)); + this.response.appendBoolean(this.habbo.getHabboInfo().getPermissionGroup().hasPermissionRight(Permission.ACC_CAMERA, false)); this.response.appendString("NAVIGATOR_PHASE_TWO_2014"); this.response.appendString(""); diff --git a/src/main/java/com/eu/habbo/messages/outgoing/users/UserRightsMessageComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/users/UserRightsMessageComposer.java index 087f293f..b3e763c3 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/users/UserRightsMessageComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/users/UserRightsMessageComposer.java @@ -21,7 +21,7 @@ public class UserRightsMessageComposer extends MessageComposer { this.response.init(Outgoing.userRightsMessageComposer); this.response.appendInt(this.clubLevel); this.response.appendInt(this.habbo.getHabboInfo().getPermissionGroup().getLevel()); - this.response.appendBoolean(this.habbo.hasRight(Permission.ACC_AMBASSADOR)); + this.response.appendBoolean(this.habbo.hasPermissionRight(Permission.ACC_AMBASSADOR)); return this.response; } } diff --git a/src/main/java/com/eu/habbo/plugin/PluginManager.java b/src/main/java/com/eu/habbo/plugin/PluginManager.java index 62ab70cc..28b7d0d1 100644 --- a/src/main/java/com/eu/habbo/plugin/PluginManager.java +++ b/src/main/java/com/eu/habbo/plugin/PluginManager.java @@ -41,7 +41,6 @@ import com.eu.habbo.plugin.events.emulator.EmulatorConfigUpdatedEvent; import com.eu.habbo.plugin.events.emulator.EmulatorLoadedEvent; import com.eu.habbo.plugin.events.roomunit.RoomUnitLookAtPointEvent; import com.eu.habbo.plugin.events.users.*; -import com.eu.habbo.threading.runnables.RoomTrashing; import com.eu.habbo.threading.runnables.ShutdownEmulator; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -115,8 +114,8 @@ public class PluginManager { NavigatorManager.MAXIMUM_RESULTS_PER_PAGE = Emulator.getConfig().getInt("hotel.navigator.search.maxresults"); NavigatorManager.CATEGORY_SORT_USING_ORDER_NUM = Emulator.getConfig().getBoolean("hotel.navigator.sort.ordernum"); RoomChatMessage.MAXIMUM_LENGTH = Emulator.getConfig().getInt("hotel.chat.max.length"); - TraxManager.LARGE_JUKEBOX_LIMIT = Emulator.getConfig().getInt("hotel.jukebox.limit.large"); - TraxManager.NORMAL_JUKEBOX_LIMIT = Emulator.getConfig().getInt("hotel.jukebox.limit.normal"); + RoomTraxManager.LARGE_JUKEBOX_LIMIT = Emulator.getConfig().getInt("hotel.jukebox.limit.large"); + RoomTraxManager.NORMAL_JUKEBOX_LIMIT = Emulator.getConfig().getInt("hotel.jukebox.limit.normal"); String[] bannedBubbles = Emulator.getConfig().getValue("commands.cmd_chatcolor.banned_numbers").split(";"); RoomChatMessage.BANNED_BUBBLES = new int[bannedBubbles.length]; @@ -409,7 +408,6 @@ public class PluginManager { private void registerDefaultEvents() { try { - this.methods.add(RoomTrashing.class.getMethod("onUserWalkEvent", UserTakeStepEvent.class)); this.methods.add(Easter.class.getMethod("onUserChangeMotto", UserSavedMottoEvent.class)); this.methods.add(TagGame.class.getMethod("onUserLookAtPoint", RoomUnitLookAtPointEvent.class)); this.methods.add(TagGame.class.getMethod("onUserWalkEvent", UserTakeStepEvent.class)); diff --git a/src/main/java/com/eu/habbo/threading/runnables/CannonKickAction.java b/src/main/java/com/eu/habbo/threading/runnables/CannonKickAction.java index 65970b1f..cb2b4365 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/CannonKickAction.java +++ b/src/main/java/com/eu/habbo/threading/runnables/CannonKickAction.java @@ -38,7 +38,7 @@ public class CannonKickAction implements Runnable { for (RoomTile t : tiles) { for (Habbo habbo : this.room.getRoomUnitManager().getHabbosAt(t)) { - if (!habbo.hasRight(Permission.ACC_UNKICKABLE)) { + if (!habbo.hasPermissionRight(Permission.ACC_UNKICKABLE)) { if (!this.room.getRoomInfo().isRoomOwner(habbo)) { Emulator.getGameEnvironment().getRoomManager().leaveRoom(habbo, this.room); habbo.getClient().sendResponse(message); //kicked composer diff --git a/src/main/java/com/eu/habbo/threading/runnables/OneWayGateActionOne.java b/src/main/java/com/eu/habbo/threading/runnables/OneWayGateActionOne.java index 36a01410..59e0251c 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/OneWayGateActionOne.java +++ b/src/main/java/com/eu/habbo/threading/runnables/OneWayGateActionOne.java @@ -26,7 +26,7 @@ public class OneWayGateActionOne implements Runnable { } if (t.isWalkable()) { - if (this.room.tileWalkable(t) && this.client.getHabbo().getRoomUnit().getCurrentPosition().getX() == this.oneWayGate.getX() && this.client.getHabbo().getRoomUnit().getCurrentPosition().getY() == this.oneWayGate.getY()) { + if (this.room.getLayout().tileWalkable(t) && this.client.getHabbo().getRoomUnit().getCurrentPosition().getX() == this.oneWayGate.getX() && this.client.getHabbo().getRoomUnit().getCurrentPosition().getY() == this.oneWayGate.getY()) { this.client.getHabbo().getRoomUnit().setGoalLocation(t); if (!this.oneWayGate.getExtradata().equals("0")) { diff --git a/src/main/java/com/eu/habbo/threading/runnables/PetFollowHabbo.java b/src/main/java/com/eu/habbo/threading/runnables/PetFollowHabbo.java index ec9c04e3..edc3ab1a 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/PetFollowHabbo.java +++ b/src/main/java/com/eu/habbo/threading/runnables/PetFollowHabbo.java @@ -29,7 +29,7 @@ public class PetFollowHabbo implements Runnable { target = this.habbo.getRoomUnit().getRoom().getLayout().getTileInFront(this.habbo.getRoomUnit().getCurrentPosition(), this.habbo.getRoomUnit().getBodyRotation().getValue()); if (target.getX() >= 0 && target.getY() >= 0) { - if (this.pet.getRoom().getLayout().tileWalkable(target.getX(), target.getY())) { + if (this.pet.getRoom().getLayout().tileWalkable(target)) { this.pet.getRoomUnit().setGoalLocation(target); this.pet.getRoomUnit().setCanWalk(true); this.pet.setTask(PetTasks.FOLLOW); diff --git a/src/main/java/com/eu/habbo/threading/runnables/RoomTrashing.java b/src/main/java/com/eu/habbo/threading/runnables/RoomTrashing.java deleted file mode 100644 index 564fcde1..00000000 --- a/src/main/java/com/eu/habbo/threading/runnables/RoomTrashing.java +++ /dev/null @@ -1,143 +0,0 @@ -package com.eu.habbo.threading.runnables; - -import com.eu.habbo.Emulator; -import com.eu.habbo.habbohotel.rooms.Room; -import com.eu.habbo.habbohotel.rooms.RoomTile; -import com.eu.habbo.habbohotel.rooms.entities.items.RoomItem; -import com.eu.habbo.habbohotel.users.Habbo; -import com.eu.habbo.messages.ServerMessage; -import com.eu.habbo.messages.outgoing.rooms.items.FloorItemOnRollerComposer; -import com.eu.habbo.plugin.EventHandler; -import com.eu.habbo.plugin.events.users.UserTakeStepEvent; -import gnu.trove.set.hash.THashSet; - -public class RoomTrashing implements Runnable { - public static RoomTrashing INSTANCE; - - private Habbo habbo; - private Room room; - - public RoomTrashing(Habbo habbo, Room room) { - this.habbo = habbo; - this.room = room; - - RoomTrashing.INSTANCE = this; - } - - @EventHandler - public static void onUserWalkEvent(UserTakeStepEvent event) { - if (INSTANCE == null) - return; - - if (INSTANCE.habbo == null) - return; - - if (!INSTANCE.habbo.isOnline()) - INSTANCE.habbo = null; - - if (INSTANCE.habbo == event.habbo) { - if (event.habbo.getRoomUnit().getRoom() != null) { - if (event.habbo.getRoomUnit().getRoom().equals(INSTANCE.room)) { - THashSet messages = new THashSet<>(); - - THashSet items = INSTANCE.room.getRoomItemManager().getItemsAt(event.toLocation); - - int offset = Emulator.getRandom().nextInt(4) + 2; - - RoomTile t = null; - while (offset > 0) { - t = INSTANCE.room.getLayout().getTileInFront(INSTANCE.room.getLayout().getTile(event.toLocation.getX(), event.toLocation.getY()), event.habbo.getRoomUnit().getBodyRotation().getValue(), (short) offset); - - if (!INSTANCE.room.getLayout().tileWalkable(t.getX(), t.getY())) { - offset--; - } else { - break; - } - } - - for (RoomItem item : items) { - double offsetZ = (INSTANCE.room.getRoomItemManager().getTopHeightAt(t.getX(), t.getY())) - item.getZ(); - - messages.add(new FloorItemOnRollerComposer(item, null, t, offsetZ, INSTANCE.room).compose()); - } - - - offset = Emulator.getRandom().nextInt(4) + 2; - - t = null; - while (offset > 0) { - t = INSTANCE.room.getLayout().getTileInFront(INSTANCE.room.getLayout().getTile(event.toLocation.getX(), event.toLocation.getY()), event.habbo.getRoomUnit().getBodyRotation().getValue() + 7, (short) offset); - - if (!INSTANCE.room.getLayout().tileWalkable(t.getX(), t.getY())) { - offset--; - } else { - break; - } - } - - RoomTile s = INSTANCE.room.getLayout().getTileInFront(INSTANCE.habbo.getRoomUnit().getCurrentPosition(), INSTANCE.habbo.getRoomUnit().getBodyRotation().getValue() + 7); - - if (s != null) { - items = INSTANCE.room.getRoomItemManager().getItemsAt(s); - } - - for (RoomItem item : items) { - double offsetZ = (INSTANCE.room.getRoomItemManager().getTopHeightAt(t.getX(), t.getY())) - item.getZ(); - - messages.add(new FloorItemOnRollerComposer(item, null, t, offsetZ, INSTANCE.room).compose()); - } - - offset = Emulator.getRandom().nextInt(4) + 2; - - t = null; - while (offset > 0) { - t = INSTANCE.getRoom().getLayout().getTileInFront(event.toLocation, event.habbo.getRoomUnit().getBodyRotation().getValue() + 1, (short) offset); - - if (!INSTANCE.room.getLayout().tileWalkable(t.getX(), t.getY())) { - offset--; - } else { - break; - } - } - - s = INSTANCE.getRoom().getLayout().getTileInFront(INSTANCE.habbo.getRoomUnit().getCurrentPosition(), INSTANCE.habbo.getRoomUnit().getBodyRotation().getValue() + 1); - items = INSTANCE.room.getRoomItemManager().getItemsAt(s); - - for (RoomItem item : items) { - double offsetZ = (INSTANCE.room.getRoomItemManager().getTopHeightAt(t.getX(), t.getY())) - item.getZ(); - - messages.add(new FloorItemOnRollerComposer(item, null, t, offsetZ, INSTANCE.room).compose()); - } - - for (ServerMessage message : messages) { - INSTANCE.room.sendComposer(message); - } - } else { - INSTANCE.habbo = null; - INSTANCE.room = null; - } - } - } - } - - @Override - public void run() { - - } - - public Habbo getHabbo() { - return this.habbo; - } - - public void setHabbo(Habbo habbo) { - this.habbo = habbo; - } - - public Room getRoom() { - return this.room; - } - - public void setRoom(Room room) { - this.room = room; - } -}