From bc572ce79ab94cf8b23fdb30f793f208ae61f6bc Mon Sep 17 00:00:00 2001 From: capheus <20739601+capheus@users.noreply.github.com> Date: Mon, 18 Mar 2019 01:22:00 +0000 Subject: [PATCH] Updated to 1.15.2 decompiled. --- README.md | 2 +- pom.xml | 2 +- sqlupdates/1_14_0_TO_1_15_0.sql | 4 + sqlupdates/1_15_0_TO_1_15_2.sql | 5 + src/main/java/com/eu/habbo/Emulator.java | 2 +- .../java/com/eu/habbo/core/CleanerThread.java | 10 +- .../java/com/eu/habbo/core/CommandLog.java | 2 +- .../eu/habbo/core/ConfigurationManager.java | 56 +- .../com/eu/habbo/core/CreditsScheduler.java | 2 +- .../java/com/eu/habbo/core/Disposable.java | 4 +- src/main/java/com/eu/habbo/core/Logging.java | 57 +- .../com/eu/habbo/core/PixelScheduler.java | 4 +- .../com/eu/habbo/core/PointsScheduler.java | 4 +- .../eu/habbo/core/RoomUserPetComposer.java | 10 +- .../java/com/eu/habbo/core/TextsManager.java | 10 +- .../core/consolecommands/ConsoleCommand.java | 6 +- .../consolecommands/ShowRCONCommands.java | 20 + .../eu/habbo/habbohotel/GameEnvironment.java | 2 +- .../habbohotel/achievements/Achievement.java | 4 +- .../achievements/AchievementManager.java | 14 +- .../achievements/TalentTrackLevel.java | 2 +- .../com/eu/habbo/habbohotel/bots/Bot.java | 42 +- .../eu/habbo/habbohotel/bots/BotManager.java | 11 +- .../eu/habbo/habbohotel/bots/ButlerBot.java | 6 +- .../eu/habbo/habbohotel/bots/VisitorBot.java | 18 +- .../habbo/habbohotel/catalog/CatalogItem.java | 52 +- .../catalog/CatalogLimitedConfiguration.java | 2 +- .../habbohotel/catalog/CatalogManager.java | 187 +++--- .../habbo/habbohotel/catalog/CatalogPage.java | 8 +- .../eu/habbo/habbohotel/catalog/Voucher.java | 2 +- .../catalog/layouts/InfoDucketsLayout.java | 4 +- .../catalog/layouts/InfoLoyaltyLayout.java | 4 +- .../catalog/layouts/InfoPetsLayout.java | 8 +- .../catalog/layouts/InfoRentablesLayout.java | 4 +- .../catalog/layouts/RoomBundleLayout.java | 14 +- .../catalog/marketplace/MarketPlace.java | 29 +- .../habbohotel/commands/AboutCommand.java | 2 +- .../habbohotel/commands/AlertCommand.java | 6 +- .../commands/AllowTradingCommand.java | 2 +- .../habbohotel/commands/BadgeCommand.java | 2 +- .../habbo/habbohotel/commands/BanCommand.java | 8 +- .../habbohotel/commands/BotsCommand.java | 8 +- .../habbohotel/commands/CommandHandler.java | 16 +- .../habbohotel/commands/CommandsCommand.java | 8 +- .../habbohotel/commands/CoordsCommand.java | 8 +- .../habbohotel/commands/CreditsCommand.java | 4 +- .../commands/EmptyBotsInventoryCommand.java | 2 +- .../commands/EmptyInventoryCommand.java | 2 +- .../commands/EmptyPetsInventoryCommand.java | 2 +- .../habbohotel/commands/EnableCommand.java | 6 +- .../habbohotel/commands/EventCommand.java | 8 +- .../habbohotel/commands/GiftCommand.java | 125 ++-- .../habbohotel/commands/HabnamCommand.java | 2 +- .../commands/HotelAlertCommand.java | 4 +- .../commands/HotelAlertLinkCommand.java | 10 +- .../habbohotel/commands/IPBanCommand.java | 12 +- .../commands/MachineBanCommand.java | 10 +- .../habbohotel/commands/MassGiftCommand.java | 123 ++-- .../commands/MassPointsCommand.java | 4 +- .../habbohotel/commands/MoonwalkCommand.java | 16 +- .../habbohotel/commands/PetInfoCommand.java | 7 +- .../habbohotel/commands/PixelCommand.java | 2 +- .../habbohotel/commands/PluginsCommand.java | 6 +- .../habbohotel/commands/PointsCommand.java | 4 +- .../commands/PromoteTargetOfferCommand.java | 10 +- .../habbohotel/commands/RedeemCommand.java | 4 +- .../habbohotel/commands/RoomAlertCommand.java | 8 +- .../commands/RoomCreditsCommand.java | 3 +- .../commands/RoomEffectCommand.java | 8 +- .../habbohotel/commands/RoomGiftCommand.java | 95 +-- .../habbohotel/commands/RoomKickCommand.java | 4 +- .../commands/RoomPixelsCommand.java | 3 +- .../commands/RoomPointsCommand.java | 6 +- .../habbohotel/commands/SayAllCommand.java | 11 +- .../habbo/habbohotel/commands/SayCommand.java | 8 +- .../habbohotel/commands/SetMaxCommand.java | 2 +- .../habbohotel/commands/ShoutAllCommand.java | 11 +- .../habbohotel/commands/ShoutCommand.java | 8 +- .../habbohotel/commands/ShutdownCommand.java | 12 +- .../commands/StaffAlertCommand.java | 6 +- .../commands/StaffOnlineCommand.java | 16 +- .../habbohotel/commands/SummonCommand.java | 2 +- .../commands/SummonRankCommand.java | 2 +- .../habbohotel/commands/SuperbanCommand.java | 10 +- .../habbohotel/commands/TestCommand.java | 34 +- .../habbohotel/commands/TransformCommand.java | 10 +- .../habbohotel/commands/UserInfoCommand.java | 51 +- .../habbohotel/commands/WordQuizCommand.java | 10 +- .../habbohotel/crafting/CraftingAltar.java | 40 +- .../habbohotel/crafting/CraftingManager.java | 2 +- .../habbohotel/gameclients/GameClient.java | 4 +- .../gameclients/GameClientManager.java | 61 +- .../com/eu/habbo/habbohotel/games/Game.java | 34 +- .../eu/habbo/habbohotel/games/GamePlayer.java | 2 +- .../eu/habbo/habbohotel/games/GameState.java | 8 + .../games/battlebanzai/BattleBanzaiGame.java | 131 ++-- .../battlebanzai/BattleBanzaiGameTeam.java | 6 +- .../games/football/FootballGame.java | 12 +- .../habbohotel/games/freeze/FreezeGame.java | 71 +-- .../games/freeze/FreezeGamePlayer.java | 13 +- .../games/freeze/FreezeGameTeam.java | 6 +- .../habbo/habbohotel/games/tag/TagGame.java | 14 +- .../habbohotel/games/wired/WiredGame.java | 6 +- .../habbohotel/guides/GuardianTicket.java | 13 +- .../habbo/habbohotel/guides/GuardianVote.java | 6 +- .../habbo/habbohotel/guides/GuideManager.java | 6 +- .../com/eu/habbo/habbohotel/guilds/Guild.java | 2 +- .../habbo/habbohotel/guilds/GuildManager.java | 12 +- .../habbo/habbohotel/guilds/GuildMember.java | 10 +- .../guilds/forums/GuildForumManager.java | 5 +- .../guilds/forums/GuildForumThread.java | 6 +- .../helper/TalentTrackTalentState.java | 20 - .../habbohotel/hotelview/HallOfFame.java | 4 +- .../hotelview/HotelViewManager.java | 4 +- .../habbo/habbohotel/hotelview/NewsList.java | 2 +- .../habbohotel/items/CrackableReward.java | 12 +- .../eu/habbo/habbohotel/items/ICycleable.java | 2 +- .../habbohotel/items/IEventTriggers.java | 6 +- .../habbo/habbohotel/items/ItemManager.java | 31 +- .../habbo/habbohotel/items/NewUserGift.java | 6 +- .../eu/habbo/habbohotel/items/SoundTrack.java | 12 +- .../interactions/InteractionBlackHole.java | 5 +- .../items/interactions/InteractionCannon.java | 15 +- .../interactions/InteractionColorPlate.java | 2 +- .../interactions/InteractionCrackable.java | 18 +- .../interactions/InteractionCustomValues.java | 6 +- .../interactions/InteractionDefault.java | 22 +- .../interactions/InteractionEffectGiver.java | 4 +- .../interactions/InteractionEffectTile.java | 8 +- .../InteractionEffectVendingMachine.java | 2 +- .../items/interactions/InteractionFXBox.java | 4 +- .../items/interactions/InteractionGift.java | 6 +- .../interactions/InteractionGymEquipment.java | 8 +- .../InteractionHabboClubGate.java | 14 +- .../InteractionHabboClubHopper.java | 7 + .../InteractionHabboClubTeleportTile.java | 7 + .../interactions/InteractionHanditem.java | 2 +- .../items/interactions/InteractionHopper.java | 9 +- .../InteractionInformationTerminal.java | 7 +- .../interactions/InteractionMannequin.java | 6 +- .../InteractionMonsterCrackable.java | 6 +- .../InteractionMonsterPlantSeed.java | 33 +- .../interactions/InteractionMultiHeight.java | 10 +- .../interactions/InteractionMusicDisc.java | 2 +- .../interactions/InteractionMuteArea.java | 12 +- .../items/interactions/InteractionNest.java | 2 +- .../interactions/InteractionObstacle.java | 24 +- .../interactions/InteractionOneWayGate.java | 20 +- .../InteractionPetBreedingNest.java | 6 +- .../interactions/InteractionPetDrink.java | 54 +- .../interactions/InteractionPetFood.java | 53 +- .../items/interactions/InteractionPetToy.java | 42 +- .../interactions/InteractionPushable.java | 26 +- .../InteractionRentableSpace.java | 7 +- .../interactions/InteractionRoomAds.java | 15 +- .../InteractionSnowboardSlope.java | 10 +- .../interactions/InteractionTeleport.java | 29 +- .../interactions/InteractionTeleportTile.java | 2 +- .../InteractionTileEffectProvider.java | 7 +- .../items/interactions/InteractionTrap.java | 6 +- .../InteractionVendingMachine.java | 4 +- .../items/interactions/InteractionWater.java | 17 +- .../items/interactions/InteractionWired.java | 13 +- .../games/InteractionGameTimer.java | 106 +++- .../InteractionBattleBanzaiPuck.java | 4 +- .../InteractionBattleBanzaiTeleporter.java | 26 +- .../InteractionBattleBanzaiTile.java | 45 +- .../gates/InteractionBattleBanzaiGate.java | 5 +- .../games/football/InteractionFootball.java | 4 +- .../football/InteractionFootballGate.java | 4 +- .../InteractionFootballScoreboard.java | 2 +- .../games/freeze/InteractionFreezeBlock.java | 3 +- .../games/freeze/InteractionFreezeTile.java | 26 +- .../freeze/gates/InteractionFreezeGate.java | 3 +- .../interactions/wired/WiredTriggerReset.java | 2 +- .../WiredConditionBattleBanzaiGameActive.java | 5 +- .../WiredConditionDateRangeActive.java | 2 +- .../WiredConditionFreezeGameActive.java | 5 +- .../WiredConditionFurniHaveFurni.java | 6 +- .../WiredConditionFurniHaveHabbo.java | 10 +- .../WiredConditionFurniTypeMatch.java | 6 +- .../WiredConditionHabboHasEffect.java | 3 +- .../WiredConditionHabboHasHandItem.java | 3 +- .../WiredConditionHabboIsDancing.java | 35 ++ .../WiredConditionLessTimeElapsed.java | 1 - .../WiredConditionMatchStatePosition.java | 10 +- .../WiredConditionMoreTimeElapsed.java | 1 - .../WiredConditionMottoContains.java | 8 +- ...redConditionNotBattleBanzaiGameActive.java | 5 +- .../WiredConditionNotFreezeGameActive.java | 5 +- .../WiredConditionNotFurniHaveFurni.java | 16 +- .../WiredConditionNotFurniHaveHabbo.java | 10 +- .../WiredConditionNotFurniTypeMatch.java | 6 +- .../WiredConditionNotHabboHasEffect.java | 1 + .../WiredConditionNotHabboIsDancing.java | 35 ++ .../conditions/WiredConditionNotInTeam.java | 3 +- .../WiredConditionNotMatchStatePosition.java | 10 +- .../WiredConditionNotTriggerOnFurni.java | 7 +- .../conditions/WiredConditionTeamMember.java | 3 +- .../WiredConditionTriggerOnFurni.java | 8 +- .../wired/effects/WiredEffectAlert.java | 4 +- .../wired/effects/WiredEffectBotClothes.java | 6 +- .../effects/WiredEffectBotFollowHabbo.java | 2 +- .../effects/WiredEffectBotGiveHandItem.java | 2 +- .../wired/effects/WiredEffectBotTalk.java | 9 + .../effects/WiredEffectBotTalkToHabbo.java | 2 +- .../wired/effects/WiredEffectBotTeleport.java | 14 +- .../effects/WiredEffectBotWalkToFurni.java | 10 +- .../WiredEffectChangeFurniDirection.java | 9 +- .../effects/WiredEffectForwardToRoom.java | 2 +- .../wired/effects/WiredEffectGiveBadge.java | 4 +- .../wired/effects/WiredEffectGiveCredits.java | 3 +- .../effects/WiredEffectGiveDiamonds.java | 7 +- .../wired/effects/WiredEffectGiveDuckets.java | 3 +- .../wired/effects/WiredEffectGiveEffect.java | 43 ++ ...redEffectGiveHotelviewBonusRarePoints.java | 4 +- .../WiredEffectGiveHotelviewHofPoints.java | 4 +- .../wired/effects/WiredEffectGiveRespect.java | 3 +- .../wired/effects/WiredEffectGiveReward.java | 16 +- .../wired/effects/WiredEffectKickHabbo.java | 2 +- .../wired/effects/WiredEffectLeaveTeam.java | 2 +- .../wired/effects/WiredEffectLowerFurni.java | 12 +- .../wired/effects/WiredEffectMatchFurni.java | 36 +- .../effects/WiredEffectMoveFurniAway.java | 6 +- .../wired/effects/WiredEffectMoveFurniTo.java | 8 +- .../effects/WiredEffectMoveFurniTowards.java | 12 +- .../effects/WiredEffectMoveRotateFurni.java | 253 ++++---- .../wired/effects/WiredEffectMuteHabbo.java | 4 +- .../wired/effects/WiredEffectRaiseFurni.java | 12 +- .../wired/effects/WiredEffectRollerSpeed.java | 1 - .../wired/effects/WiredEffectTeleport.java | 88 ++- .../wired/effects/WiredEffectToggleFurni.java | 21 +- .../effects/WiredEffectToggleRandom.java | 8 +- .../effects/WiredEffectTriggerStacks.java | 10 +- .../wired/effects/WiredEffectWhisper.java | 4 +- .../wired/extra/WiredExtraRandom.java | 2 +- .../wired/extra/WiredExtraUnseen.java | 2 +- .../wired/triggers/WiredTriggerAtSetTime.java | 4 +- .../triggers/WiredTriggerAtTimeLong.java | 4 +- .../triggers/WiredTriggerBotReachedFurni.java | 10 +- .../triggers/WiredTriggerBotReachedHabbo.java | 2 +- .../WiredTriggerFurniStateToggled.java | 17 +- .../wired/triggers/WiredTriggerGameEnds.java | 1 - .../triggers/WiredTriggerGameStarts.java | 1 - .../triggers/WiredTriggerHabboEntersRoom.java | 8 +- .../WiredTriggerHabboSaysKeyword.java | 5 +- .../WiredTriggerHabboStartsDancing.java | 26 + .../WiredTriggerHabboStopsDancing.java | 26 + .../WiredTriggerHabboWalkOffFurni.java | 16 +- .../WiredTriggerHabboWalkOnFurni.java | 16 +- .../triggers/WiredTriggerScoreAchieved.java | 5 +- .../habbohotel/messenger/FriendRequest.java | 6 +- .../habbo/habbohotel/messenger/Messenger.java | 16 +- .../habbo/habbohotel/modtool/ModToolBan.java | 19 +- .../habbohotel/modtool/ModToolIssue.java | 8 +- .../habbohotel/modtool/ModToolManager.java | 13 +- .../habbo/habbohotel/modtool/WordFilter.java | 2 +- .../navigation/NavigatorFilter.java | 8 +- .../navigation/NavigatorHotelFilter.java | 2 +- .../navigation/NavigatorManager.java | 15 +- .../navigation/NavigatorPublicCategory.java | 6 + .../navigation/NavigatorUserFilter.java | 1 - .../permissions/PermissionSetting.java | 5 + .../permissions/PermissionsManager.java | 18 +- .../eu/habbo/habbohotel/permissions/Rank.java | 22 + .../eu/habbo/habbohotel/pets/IPetLook.java | 2 +- .../habbohotel/pets/MonsterplantPet.java | 76 ++- .../com/eu/habbo/habbohotel/pets/Pet.java | 16 +- .../com/eu/habbo/habbohotel/pets/PetData.java | 2 +- .../eu/habbo/habbohotel/pets/PetManager.java | 113 ++-- .../habbo/habbohotel/polls/PollManager.java | 2 +- .../com/eu/habbo/habbohotel/rooms/Room.java | 591 +++++++----------- .../habbohotel/rooms/RoomChatMessage.java | 28 +- .../eu/habbo/habbohotel/rooms/RoomLayout.java | 85 +-- .../habbo/habbohotel/rooms/RoomManager.java | 35 +- .../habbohotel/rooms/RoomSpecialTypes.java | 28 +- .../eu/habbo/habbohotel/rooms/RoomTile.java | 48 +- .../eu/habbo/habbohotel/rooms/RoomTrade.java | 34 +- .../eu/habbo/habbohotel/rooms/RoomUnit.java | 66 +- .../habbo/habbohotel/rooms/TraxManager.java | 10 +- .../com/eu/habbo/habbohotel/users/Habbo.java | 19 +- .../eu/habbo/habbohotel/users/HabboBadge.java | 6 +- .../eu/habbo/habbohotel/users/HabboInfo.java | 15 +- .../eu/habbo/habbohotel/users/HabboItem.java | 40 +- .../habbo/habbohotel/users/HabboManager.java | 72 +-- .../users/HabboNavigatorWindowSettings.java | 4 +- .../eu/habbo/habbohotel/users/HabboStats.java | 30 +- .../users/inventory/BadgesComponent.java | 2 +- .../users/inventory/EffectsComponent.java | 9 +- .../users/inventory/ItemsComponent.java | 6 +- .../users/inventory/WardrobeComponent.java | 7 +- .../wired/WiredConditionOperator.java | 2 +- .../habbohotel/wired/WiredGiveRewardItem.java | 4 +- .../habbo/habbohotel/wired/WiredHandler.java | 52 +- .../wired/WiredMatchFurniSetting.java | 2 +- .../habbohotel/wired/WiredTriggerType.java | 5 +- .../com/eu/habbo/messages/ClientMessage.java | 5 +- .../java/com/eu/habbo/messages/ICallable.java | 2 +- .../com/eu/habbo/messages/ISerialize.java | 4 +- .../com/eu/habbo/messages/ServerMessage.java | 8 +- .../incoming/camera/CameraPurchaseEvent.java | 6 + .../camera/CameraRoomPictureEvent.java | 4 +- .../camera/CameraRoomThumbnailEvent.java | 4 +- .../catalog/CatalogBuyItemAsGiftEvent.java | 20 +- .../incoming/catalog/CatalogBuyItemEvent.java | 3 +- .../catalog/RequestClubDataEvent.java | 2 +- .../catalog/marketplace/SellItemEvent.java | 7 +- .../crafting/CraftingCraftItemEvent.java | 2 +- .../FloorPlanEditorSaveEvent.java | 10 +- .../incoming/friends/FindNewFriendsEvent.java | 7 +- .../friends/FriendPrivateMessageEvent.java | 2 +- .../incoming/friends/FriendRequestEvent.java | 2 +- .../incoming/friends/RemoveFriendEvent.java | 2 +- .../guilds/GuildAcceptMembershipEvent.java | 2 - .../guilds/GuildChangeBadgeEvent.java | 12 +- .../guilds/GuildDeclineMembershipEvent.java | 2 +- .../incoming/guilds/RequestGuildBuyEvent.java | 10 +- .../guilds/RequestGuildMembersEvent.java | 2 +- .../guilds/forums/GuildForumDataEvent.java | 2 +- .../GuildForumModerateMessageEvent.java | 8 +- .../forums/GuildForumModerateThreadEvent.java | 6 +- .../guilds/forums/GuildForumThreadsEvent.java | 4 +- .../GuildForumThreadsMessagesEvent.java | 8 +- .../forums/GuildForumUpdateSettingsEvent.java | 10 +- .../incoming/handshake/SecureLoginEvent.java | 61 +- .../handshake/SecureLoginEvent_BACKUP.java | 4 +- .../incoming/handshake/UsernameEvent.java | 4 +- .../hotelview/HotelViewDataEvent.java | 3 +- .../HotelViewRequestLTDAvailabilityEvent.java | 2 +- .../hotelview/RequestNewsListEvent.java | 3 +- .../modtool/ModToolPickTicketEvent.java | 4 +- .../modtool/ModToolSanctionBanEvent.java | 16 +- .../incoming/modtool/ReportBullyEvent.java | 6 - .../incoming/modtool/ReportEvent.java | 12 +- .../modtool/ReportFriendPrivateChatEvent.java | 4 +- .../modtool/RequestReportRoomEvent.java | 5 +- .../RequestReportUserBullyingEvent.java | 2 +- .../navigator/RequestCreateRoomEvent.java | 2 +- .../RequestNewNavigatorRoomsEvent.java | 12 +- .../incoming/polls/AnswerPollEvent.java | 12 +- .../incoming/rooms/RequestHeightmapEvent.java | 1 - .../incoming/rooms/RequestRoomDataEvent.java | 4 +- .../incoming/rooms/RoomSettingsSaveEvent.java | 18 +- .../incoming/rooms/RoomStaffPickEvent.java | 16 +- .../rooms/bots/BotSaveSettingsEvent.java | 2 +- .../items/FootballGateSaveLookEvent.java | 2 +- .../rooms/items/MannequinSaveLookEvent.java | 8 +- .../rooms/items/PostItDeleteEvent.java | 3 - .../rooms/items/PostItPlaceEvent.java | 2 +- .../rooms/items/PostItRequestDataEvent.java | 2 +- .../rooms/items/PostItSaveDataEvent.java | 2 +- .../rooms/items/RoomPickupItemEvent.java | 1 - .../rooms/items/RoomPlaceItemEvent.java | 49 +- .../rooms/items/RotateMoveItemEvent.java | 206 +----- .../items/SavePostItStickyPoleEvent.java | 2 +- .../rooms/items/ToggleFloorItemEvent.java | 23 +- .../rooms/items/TriggerColorWheelEvent.java | 2 +- .../items/rentablespace/RentSpaceEvent.java | 2 +- .../youtube/YoutubeRequestNextVideoEvent.java | 2 +- .../youtube/YoutubeRequestPlayListEvent.java | 2 +- .../youtube/YoutubeRequestVideoDataEvent.java | 2 +- .../rooms/pets/ConfirmPetBreedingEvent.java | 2 +- .../incoming/rooms/pets/HorseRideEvent.java | 8 +- .../rooms/pets/HorseUseItemEvent.java | 215 ++++--- .../rooms/pets/PetPackageNameEvent.java | 1 - .../incoming/rooms/pets/PetPlaceEvent.java | 2 +- .../rooms/pets/StopBreedingEvent.java | 2 +- .../rooms/users/RoomUserKickEvent.java | 4 +- .../rooms/users/RoomUserShoutEvent.java | 4 +- .../rooms/users/RoomUserTalkEvent.java | 4 +- .../rooms/users/RoomUserWhisperEvent.java | 4 +- .../trading/TradeCancelOfferItemEvent.java | 13 +- .../users/ChangeNameCheckUsernameEvent.java | 3 +- .../incoming/users/EnableEffectEvent.java | 2 +- .../messages/incoming/users/UserNuxEvent.java | 22 +- .../incoming/users/UserSaveLookEvent.java | 29 +- .../achievements/AchievementListComposer.java | 53 +- .../AchievementProgressComposer.java | 24 +- .../talenttrack/TalentTrackComposer.java | 74 +-- .../CameraPurchaseSuccesfullComposer.java | 1 - .../outgoing/camera/CameraURLComposer.java | 4 +- .../AlertPurchaseUnavailableComposer.java | 2 +- .../outgoing/catalog/CatalogModeComposer.java | 2 +- .../outgoing/catalog/CatalogPageComposer.java | 5 +- .../catalog/CatalogPagesListComposer.java | 8 +- .../catalog/CatalogSearchResultComposer.java | 2 +- .../catalog/ClubCenterDataComposer.java | 14 +- .../ClubDataComposer.java | 8 +- .../outgoing/catalog/DiscountComposer.java | 2 - .../catalog/GiftConfigurationComposer.java | 1 - .../catalog/GiftReceiverNotFoundComposer.java | 1 - .../PetBoughtNotificationComposer.java | 4 +- .../outgoing/catalog/PetBreedsComposer.java | 2 +- .../TargetedOfferComposer.java | 2 +- .../MarketplaceBuyErrorComposer.java | 8 +- .../MarketplaceConfigComposer.java | 2 - .../MarketplaceItemInfoComposer.java | 2 +- .../MarketplaceItemPostedComposer.java | 3 +- .../MarketplaceOwnItemsComposer.java | 10 +- .../crafting/CraftableProductsComposer.java | 4 +- .../calendar/AdventCalendarDataComposer.java | 16 +- .../mysticbox/MysticBoxCloseComposer.java | 1 - .../mysticbox/MysticBoxStartOpenComposer.java | 1 - .../friends/FriendChatMessageComposer.java | 14 +- .../friends/FriendFindingRoomComposer.java | 2 +- .../friends/FriendNotificationComposer.java | 8 +- .../outgoing/friends/FriendsComposer.java | 5 +- .../friends/MessengerInitComposer.java | 2 +- .../friends/RemoveFriendComposer.java | 4 +- .../outgoing/friends/RoomInviteComposer.java | 4 +- .../friends/RoomInviteErrorComposer.java | 2 +- .../friends/UpdateFriendComposer.java | 2 +- .../friends/UserSearchResultComposer.java | 2 +- .../basejump/BaseJumpLoadGameComposer.java | 1 + .../generic/MinimailCountComposer.java | 2 - ...ckMonthlyClubGiftNotificationComposer.java | 2 +- .../alerts/CustomNotificationComposer.java | 2 +- .../alerts/HotelClosedAndOpensComposer.java | 4 +- .../HotelClosesAndWillOpenAtComposer.java | 6 +- ...elWillCloseInMinutesAndBackInComposer.java | 4 +- .../HotelWillCloseInMinutesComposer.java | 2 +- .../alerts/MessagesForYouComposer.java | 4 +- .../StaffAlertAndOpenHabboWayComposer.java | 2 +- ...fAlertWIthLinkAndOpenHabboWayComposer.java | 4 +- .../alerts/StaffAlertWithLinkComposer.java | 4 +- .../GuardianNewReportReceivedComposer.java | 7 - .../GuardianVotingRequestedComposer.java | 16 +- .../GuardianVotingResultComposer.java | 2 +- .../guardians/GuardianVotingTimeEnded.java | 1 - .../guides/GuideSessionAttachedComposer.java | 4 +- .../GuideSessionRequesterRoomComposer.java | 1 + .../guides/GuideSessionStartedComposer.java | 17 +- .../outgoing/guides/GuideToolsComposer.java | 1 - .../GuildConfirmRemoveMemberComposer.java | 4 +- .../guilds/GuildEditFailComposer.java | 2 +- .../GuildFavoriteRoomUserUpdateComposer.java | 4 +- .../guilds/GuildFurniWidgetComposer.java | 2 +- .../outgoing/guilds/GuildMembersComposer.java | 4 +- .../GuildMembershipRequestedComposer.java | 15 +- .../guilds/RemoveGuildFromRoomComposer.java | 2 +- .../forums}/ForumsTestComposer.java | 2 +- .../habboway/HabboWayQuizComposer1.java | 4 +- .../habboway/HabboWayQuizComposer2.java | 4 +- .../handshake/BannerTokenComposer.java | 1 - .../handshake/DebugConsoleComposer.java | 10 +- .../outgoing/handshake/PongComposer.java | 2 +- .../handshake/SecureLoginOKComposer.java | 2 - .../handshake/SessionRightsComposer.java | 1 - .../handshake/SomeConnectionComposer.java | 1 - .../hotelview/HallOfFameComposer.java | 14 +- .../HotelViewCommunityGoalComposer.java | 2 +- ...HotelViewExpiringCatalogPageCommposer.java | 2 +- ...elViewHideCommunityVoteButtonComposer.java | 2 +- .../outgoing/hotelview/NewsListComposer.java | 2 +- .../inventory/AddHabboItemComposer.java | 2 +- .../outgoing/inventory/AddPetComposer.java | 2 +- .../InventoryAchievementsComposer.java | 8 +- .../inventory/InventoryItemsComposer.java | 19 +- .../InventoryUpdateItemComposer.java | 13 +- .../inventory/RemoveHabboItemComposer.java | 2 +- .../outgoing/inventory/RemovePetComposer.java | 5 - .../inventory/UserEffectsListComposer.java | 12 +- .../modtool/BullyReportRequestComposer.java | 1 - .../modtool/CfhTopicsMessageComposer.java | 10 +- .../modtool/ModToolIssueChatlogComposer.java | 12 +- .../modtool/ModToolIssueHandledComposer.java | 6 +- .../modtool/ModToolIssueInfoComposer.java | 1 + .../ModToolIssueResponseAlertComposer.java | 2 +- .../ModToolReportReceivedAlertComposer.java | 2 +- .../modtool/ModToolRoomChatlogComposer.java | 4 +- .../modtool/ModToolRoomInfoComposer.java | 2 +- .../modtool/ModToolSanctionInfoComposer.java | 1 - .../modtool/ModToolUserChatlogComposer.java | 11 +- .../modtool/ModToolUserInfoComposer.java | 3 +- .../ModToolUserRoomVisitsComposer.java | 2 - .../modtool/ReportRoomFormComposer.java | 7 +- .../NewNavigatorMetaDataComposer.java | 1 - .../NewNavigatorSearchResultsComposer.java | 6 +- .../OpenRoomCreationWindowComposer.java | 1 - .../navigator/PrivateRoomsComposer.java | 5 +- .../navigator/RoomCategoriesComposer.java | 2 +- .../outgoing/polls/PollQuestionsComposer.java | 2 +- .../infobus/SimplePollAnswersComposer.java | 4 +- .../QuestCompletedComposer.java | 2 +- .../{unknown => quests}/QuestComposer.java | 4 +- .../QuestExpiredComposer.java | 2 +- .../QuestionInfoComposer.java | 2 +- .../{unknown => quests}/QuestsComposer.java | 2 +- .../outgoing/rooms/BotSettingsComposer.java | 18 +- .../outgoing/rooms/FloodCounterComposer.java | 2 +- .../outgoing/rooms/ForwardToRoomComposer.java | 2 +- .../outgoing/rooms/RoomDataComposer.java | 27 +- .../rooms/RoomEnterErrorComposer.java | 1 - .../rooms/RoomFilterWordsComposer.java | 2 +- .../outgoing/rooms/RoomHeightMapComposer.java | 1 - .../outgoing/rooms/RoomModelComposer.java | 2 +- .../outgoing/rooms/RoomMutedComposer.java | 2 +- .../outgoing/rooms/RoomOpenComposer.java | 1 - .../outgoing/rooms/RoomPaintComposer.java | 1 - .../outgoing/rooms/RoomPaneComposer.java | 1 - .../rooms/RoomRelativeMapComposer.java | 1 - .../outgoing/rooms/RoomRightsComposer.java | 1 - .../outgoing/rooms/RoomScoreComposer.java | 3 +- .../outgoing/rooms/RoomSettingsComposer.java | 1 - .../rooms/RoomSettingsUpdatedComposer.java | 1 + .../outgoing/rooms/RoomThicknessComposer.java | 1 - .../rooms/UpdateStackHeightComposer.java | 3 +- .../items/FloorItemOnRollerComposer.java | 2 +- .../rooms/items/FloorItemUpdateComposer.java | 4 +- .../items}/ItemExtraDataComposer.java | 2 +- .../items/ItemIntStateComposer.java} | 6 +- .../items}/ItemsDataUpdateComposer.java | 2 +- .../rooms/items/MoodLightDataComposer.java | 6 +- .../rooms/items/PostItDataComposer.java | 6 +- .../rooms/items/RemoveFloorItemComposer.java | 1 - .../rooms/items/RemoveWallItemComposer.java | 1 - .../rooms/items/RoomFloorItemsComposer.java | 11 +- .../rooms/items/RoomWallItemsComposer.java | 1 - .../rooms/items/WallItemUpdateComposer.java | 1 + .../items/jukebox/JukeBoxMySongsComposer.java | 2 +- .../jukebox/JukeBoxPlayListComposer.java | 7 +- .../JukeBoxPlayListUpdatedComposer.java | 2 +- .../jukebox/JukeBoxPlaylistFullComposer.java | 1 - .../jukebox/JukeBoxTrackDataComposer.java | 2 +- .../LoveLockFurniFinishedComposer.java | 2 +- .../LoveLockFurniFriendConfirmedComposer.java | 2 +- .../lovelock/LoveLockFurniStartComposer.java | 2 +- .../RentableSpaceInfoComposer.java | 6 +- .../RentableSpaceUnknown2Composer.java | 2 +- .../RentableSpaceUnknownComposer.java | 2 +- .../rooms/pets/PetInformationComposer.java | 2 +- .../rooms/pets/RoomPetRespectComposer.java | 2 +- .../pets/breeding/PetBreedingCompleted.java | 4 +- .../breeding/PetBreedingFailedComposer.java | 4 +- .../breeding/PetBreedingResultComposer.java | 10 +- .../breeding/PetBreedingStartComposer.java | 6 +- .../PetBreedingStartFailedComposer.java | 3 +- .../RoomPromotionMessageComposer.java | 12 +- .../rooms/users/RoomUnitIdleComposer.java | 2 +- .../rooms/users/RoomUnitOnRollerComposer.java | 2 +- .../rooms/users/RoomUserDanceComposer.java | 1 - .../rooms/users/RoomUserIgnoredComposer.java | 2 +- .../rooms/users/RoomUserRespectComposer.java | 4 +- .../rooms/users/RoomUserStatusComposer.java | 12 +- .../rooms/users/RoomUserTalkComposer.java | 3 +- .../users/RoomUsersAddGuildBadgeComposer.java | 2 +- .../users/RoomUsersGuildBadgesComposer.java | 6 +- .../trading/TradeCloseWindowComposer.java | 1 - .../trading/TradeCompleteComposer.java | 1 - .../outgoing/trading/TradeStartComposer.java | 5 +- .../trading/TradeStartFailComposer.java | 4 +- .../outgoing/trading/TradeUpdateComposer.java | 2 +- .../unknown/EpicPopupFrameComposer.java | 2 +- .../unknown/ExtendClubMessageComposer.java | 18 +- .../unknown/ModToolSanctionDataComposer.java | 8 +- .../SnowWarsUserEnteredArenaComposer.java | 2 +- .../UnknownCatalogPageOfferComposer.java | 2 +- .../unknown/UserClassificationComposer.java | 2 +- .../unknown/WatchAndEarnRewardComposer.java | 4 +- .../users/ChangeNameCheckResultComposer.java | 4 +- .../users/FavoriteRoomsCountComposer.java | 8 +- .../users/MeMenuSettingsComposer.java | 4 +- .../outgoing/users/MutedWhisperComposer.java | 2 +- .../users/ProfileFriendsComposer.java | 34 +- .../users/UpdateUserLookComposer.java | 2 +- .../users/UserAchievementScoreComposer.java | 2 +- .../outgoing/users/UserBCLimitsComposer.java | 3 - .../outgoing/users/UserBadgesComposer.java | 2 - .../users/UserCitizinShipComposer.java | 2 - .../outgoing/users/UserClothesComposer.java | 9 +- .../outgoing/users/UserCreditsComposer.java | 3 - .../outgoing/users/UserCurrencyComposer.java | 42 +- .../outgoing/users/UserDataComposer.java | 1 - .../outgoing/users/UserHomeRoomComposer.java | 7 +- .../outgoing/users/UserPerksComposer.java | 1 - .../users/UserPermissionsComposer.java | 2 - .../outgoing/users/UserProfileComposer.java | 4 +- .../outgoing/users/UserWardrobeComposer.java | 3 +- .../VerifyMobileNumberComposer.java | 3 +- .../VerifyMobilePhoneCodeWindowComposer.java | 2 +- .../VerifyMobilePhoneDoneComposer.java | 2 +- .../VerifyMobilePhoneWindowComposer.java | 2 +- .../wired/WiredConditionDataComposer.java | 2 +- .../wired/WiredEffectDataComposer.java | 2 +- .../WiredOpenComposer.java} | 6 +- .../WiredRewardAlertComposer.java | 2 +- .../outgoing/wired/WiredSavedComposer.java | 1 - .../wired/WiredTriggerDataComposer.java | 2 +- .../com/eu/habbo/messages/rcon/AlertUser.java | 8 +- .../habbo/messages/rcon/ChangeRoomOwner.java | 2 +- .../messages/rcon/CreateModToolTicket.java | 2 +- .../habbo/messages/rcon/DisconnectUser.java | 4 +- .../habbo/messages/rcon/ExecuteCommand.java | 6 +- .../eu/habbo/messages/rcon/ForwardUser.java | 2 +- .../eu/habbo/messages/rcon/FriendRequest.java | 2 +- .../com/eu/habbo/messages/rcon/GiveBadge.java | 4 +- .../eu/habbo/messages/rcon/GiveCredits.java | 2 +- .../eu/habbo/messages/rcon/GivePixels.java | 2 +- .../eu/habbo/messages/rcon/GivePoints.java | 2 +- .../eu/habbo/messages/rcon/GiveRespect.java | 2 +- .../eu/habbo/messages/rcon/HotelAlert.java | 4 +- .../eu/habbo/messages/rcon/IgnoreUser.java | 2 +- .../habbo/messages/rcon/ImageAlertUser.java | 2 +- .../habbo/messages/rcon/ImageHotelAlert.java | 2 +- .../com/eu/habbo/messages/rcon/MuteUser.java | 4 +- .../messages/rcon/ProgressAchievement.java | 2 +- .../com/eu/habbo/messages/rcon/SendGift.java | 2 +- .../habbo/messages/rcon/SendRoomBundle.java | 4 +- .../com/eu/habbo/messages/rcon/SetMotto.java | 2 +- .../com/eu/habbo/messages/rcon/SetRank.java | 2 +- .../eu/habbo/messages/rcon/StaffAlert.java | 2 +- .../com/eu/habbo/messages/rcon/StalkUser.java | 6 +- .../com/eu/habbo/messages/rcon/TalkUser.java | 2 +- .../eu/habbo/messages/rcon/UpdateCatalog.java | 2 +- .../eu/habbo/messages/rcon/UpdateUser.java | 2 +- .../habbo/messages/rcon/UpdateWordfilter.java | 2 +- .../java/com/eu/habbo/networking/Server.java | 6 +- .../habbo/networking/camera/CameraClient.java | 30 +- .../networking/camera/CameraDecoder.java | 2 +- .../camera/CameraIncomingMessage.java | 5 +- .../camera/CameraOutgoingMessage.java | 6 +- .../camera/CameraPacketHandler.java | 2 +- .../incoming/CameraResultURLEvent.java | 2 +- .../outgoing/CameraLoginComposer.java | 4 +- .../outgoing/CameraRenderImageComposer.java | 2 +- .../gameserver/GameByteDecoder.java | 1 + .../gameserver/GameMessageHandler.java | 1 - .../networking/gameserver/GameServer.java | 5 +- .../networking/rconserver/RCONServer.java | 18 +- .../com/eu/habbo/plugin/EventPriority.java | 2 +- .../com/eu/habbo/plugin/PluginManager.java | 14 +- .../events/users/UserNameChangedEvent.java | 3 +- .../com/eu/habbo/threading/ThreadPooling.java | 3 +- .../runnables/AchievementUpdater.java | 2 +- .../runnables/BackgroundAnimation.java | 4 +- .../runnables/BanzaiRandomTeleport.java | 15 +- .../runnables/BattleBanzaiTilesFlicker.java | 14 +- .../threading/runnables/BotFollowHabbo.java | 6 +- .../threading/runnables/CannonKickAction.java | 5 +- .../runnables/ChannelReadHandler.java | 26 +- .../threading/runnables/ClearRentedSpace.java | 4 +- .../threading/runnables/CrackableExplode.java | 18 +- .../habbo/threading/runnables/GameStop.java | 19 - .../GuardianTicketFindMoreSlaves.java | 2 +- .../runnables/GuardianVotingFinish.java | 4 +- .../runnables/HabboGiveHandItemToHabbo.java | 4 +- .../threading/runnables/KickBallAction.java | 10 +- .../runnables/OneWayGateActionOne.java | 4 +- .../runnables/OneWayGateActionTwo.java | 25 - .../habbo/threading/runnables/OpenGift.java | 6 +- .../threading/runnables/PetClearPosture.java | 13 +- .../threading/runnables/PetFollowHabbo.java | 7 +- .../runnables/QueryDeleteHabboItem.java | 2 +- .../runnables/QueryDeleteHabboItems.java | 2 +- .../threading/runnables/RandomDiceNumber.java | 6 +- .../runnables/RoomUnitGiveHanditem.java | 2 +- .../threading/runnables/RoomUnitKick.java | 2 +- .../runnables/RoomUnitRideHorse.java | 2 +- .../threading/runnables/RoomUnitTeleport.java | 18 +- .../RoomUnitTeleportWalkToAction.java | 2 +- .../runnables/RoomUnitWalkToRoomUnit.java | 4 +- .../runnables/TeleportInteraction.java | 16 +- .../threading/runnables/WiredExecuteTask.java | 4 +- .../threading/runnables/YouAreAPirate.java | 10 +- .../runnables/freeze/FreezeClearEffects.java | 2 +- .../freeze/FreezeHandleSnowballExplosion.java | 73 ++- .../freeze/FreezeResetExplosionTiles.java | 3 +- .../runnables/freeze/FreezeThrowSnowball.java | 6 +- .../runnables/hopper/HopperActionOne.java | 4 +- .../runnables/hopper/HopperActionThree.java | 6 +- .../teleport/TeleportActionFive.java | 18 +- .../runnables/teleport/TeleportActionOne.java | 2 +- .../teleport/TeleportActionThree.java | 11 +- .../runnables/teleport/TeleportActionTwo.java | 11 +- .../java/com/eu/habbo/util/FigureUtil.java | 12 +- .../eu/habbo/util/callback/HTTPPostError.java | 3 +- .../habbo/util/callback/HTTPPostStatus.java | 1 - .../habbo/util/callback/HTTPVersionCheck.java | 9 +- .../com/eu/habbo/util/figure/FigureUtil.java | 12 +- .../habbo/util/imager/badges/BadgeImager.java | 4 +- 680 files changed, 3805 insertions(+), 4084 deletions(-) create mode 100644 sqlupdates/1_15_0_TO_1_15_2.sql create mode 100644 src/main/java/com/eu/habbo/core/consolecommands/ShowRCONCommands.java create mode 100644 src/main/java/com/eu/habbo/habbohotel/games/GameState.java delete mode 100644 src/main/java/com/eu/habbo/habbohotel/helper/TalentTrackTalentState.java create mode 100644 src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionHabboIsDancing.java create mode 100644 src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotHabboIsDancing.java create mode 100644 src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveEffect.java create mode 100644 src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerHabboStartsDancing.java create mode 100644 src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerHabboStopsDancing.java rename src/main/java/com/eu/habbo/messages/outgoing/{unknown => catalog}/ClubDataComposer.java (91%) rename src/main/java/com/eu/habbo/messages/outgoing/{unknown => catalog}/TargetedOfferComposer.java (94%) rename src/main/java/com/eu/habbo/messages/outgoing/{unknown => guilds}/GuildMembershipRequestedComposer.java (56%) rename src/main/java/com/eu/habbo/messages/outgoing/{handshake => guilds/forums}/ForumsTestComposer.java (85%) rename src/main/java/com/eu/habbo/messages/outgoing/{unknown => hotelview}/HotelViewExpiringCatalogPageCommposer.java (94%) rename src/main/java/com/eu/habbo/messages/outgoing/{unknown => hotelview}/HotelViewHideCommunityVoteButtonComposer.java (92%) rename src/main/java/com/eu/habbo/messages/outgoing/{unknown => quests}/QuestCompletedComposer.java (97%) rename src/main/java/com/eu/habbo/messages/outgoing/{unknown => quests}/QuestComposer.java (84%) rename src/main/java/com/eu/habbo/messages/outgoing/{unknown => quests}/QuestExpiredComposer.java (91%) rename src/main/java/com/eu/habbo/messages/outgoing/{unknown => quests}/QuestionInfoComposer.java (88%) rename src/main/java/com/eu/habbo/messages/outgoing/{unknown => quests}/QuestsComposer.java (98%) rename src/main/java/com/eu/habbo/messages/outgoing/{unknown => rooms/items}/ItemExtraDataComposer.java (92%) rename src/main/java/com/eu/habbo/messages/outgoing/{unknown/ItemStateComposer2.java => rooms/items/ItemIntStateComposer.java} (75%) rename src/main/java/com/eu/habbo/messages/outgoing/{unknown => rooms/items}/ItemsDataUpdateComposer.java (93%) rename src/main/java/com/eu/habbo/messages/outgoing/{unknown => users/verification}/VerifyMobileNumberComposer.java (84%) rename src/main/java/com/eu/habbo/messages/outgoing/{unknown => users/verification}/VerifyMobilePhoneCodeWindowComposer.java (92%) rename src/main/java/com/eu/habbo/messages/outgoing/{unknown => users/verification}/VerifyMobilePhoneDoneComposer.java (92%) rename src/main/java/com/eu/habbo/messages/outgoing/{unknown => users/verification}/VerifyMobilePhoneWindowComposer.java (93%) rename src/main/java/com/eu/habbo/messages/outgoing/{unknown/UnknownWiredComposer.java => wired/WiredOpenComposer.java} (75%) rename src/main/java/com/eu/habbo/messages/outgoing/{generic/alerts => wired}/WiredRewardAlertComposer.java (95%) delete mode 100644 src/main/java/com/eu/habbo/threading/runnables/GameStop.java delete mode 100644 src/main/java/com/eu/habbo/threading/runnables/OneWayGateActionTwo.java diff --git a/README.md b/README.md index e88fe203..054885b2 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ ## **To Get The Camera To Work Visit http://arcturus.wf and register.** ## ## **TUTORIAL FOR PLUGINS http://arcturus.wf/thread-2415.html** ## # **DO NOT EDIT THE SOURCE. USE THE PLUGIN API.** # -## Current Stable Version: 1.15.0 ## +## Current Stable Version: 1.15.2 ## Arcturus Morningstar is a Habbo emulator written in Java aiming to be an exact clone of the offical server, based on Arcturus Emulator by TheGeneral. Targeting PRODUCTION-201611291003-338511768 diff --git a/pom.xml b/pom.xml index 05bab2fe..2e363ab6 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.eu.habbo Habbo - 1.15.0 + 1.15.2 UTF-8 diff --git a/sqlupdates/1_14_0_TO_1_15_0.sql b/sqlupdates/1_14_0_TO_1_15_0.sql index b30fc336..53391cca 100644 --- a/sqlupdates/1_14_0_TO_1_15_0.sql +++ b/sqlupdates/1_14_0_TO_1_15_0.sql @@ -1,3 +1,5 @@ +#DATABASE UPDATE: 1.14.0 -> 1.15.0 + ALTER TABLE `pet_commands_data` ADD PRIMARY KEY(`command_id`); INSERT INTO `pet_breeding_races` (`pet_type`, `rarity_level`, `breed`) VALUES ('28', '1', '1'); @@ -68,3 +70,5 @@ INSERT INTO `emulator_texts` (`key`, `value`) VALUES ('generic.tile.not.exists', ALTER TABLE `items` CHANGE `z` `z` DOUBLE(10,6) NOT NULL DEFAULT '0.000000'; ALTER TABLE `items_base` ADD `customparams` VARCHAR(256) NOT NULL DEFAULT '' AFTER `multiheight`; + +#END DATABASE UPDATE: 1.14.0 -> 1.15.0 \ No newline at end of file diff --git a/sqlupdates/1_15_0_TO_1_15_2.sql b/sqlupdates/1_15_0_TO_1_15_2.sql new file mode 100644 index 00000000..900e4a42 --- /dev/null +++ b/sqlupdates/1_15_0_TO_1_15_2.sql @@ -0,0 +1,5 @@ +CREATE INDEX room_enter_log_room_id ON room_enter_log (room_id); +CREATE INDEX room_enter_log_user_entry ON room_enter_log (user_id, timestamp); +INSERT INTO `emulator_settings` (`key`, `value`) VALUES ('hotel.messenger.search.maxresults', '50'); +INSERT INTO `emulator_settings` (`key`, `value`) VALUES ('hotel.alert.oldstyle', '0'); +INSERT INTO `emulator_settings` (`key`, `value`) VALUES ('hotel.navigator.staffpicks.categoryid', '1'); #NOTE THIS IS navigator_publiccats \ No newline at end of file diff --git a/src/main/java/com/eu/habbo/Emulator.java b/src/main/java/com/eu/habbo/Emulator.java index b8109ada..bcc2bdaa 100644 --- a/src/main/java/com/eu/habbo/Emulator.java +++ b/src/main/java/com/eu/habbo/Emulator.java @@ -36,7 +36,7 @@ public final class Emulator public final static int MINOR = 15; - public final static int BUILD = 0; + public final static int BUILD = 2; public static final String version = "Version: " + MAJOR + "." + MINOR + "." + BUILD; diff --git a/src/main/java/com/eu/habbo/core/CleanerThread.java b/src/main/java/com/eu/habbo/core/CleanerThread.java index ba6b1e0c..5297a13c 100644 --- a/src/main/java/com/eu/habbo/core/CleanerThread.java +++ b/src/main/java/com/eu/habbo/core/CleanerThread.java @@ -72,7 +72,7 @@ public class CleanerThread implements Runnable { public CleanerThread() { - databaseCleanup(); + this.databaseCleanup(); Emulator.getThreading().run(this, DELAY); Emulator.getThreading().run(new AchievementUpdater()); @@ -132,13 +132,13 @@ public class CleanerThread implements Runnable { if (time - LAST_DAILY_REFILL > Emulator.getConfig().getInt("hotel.refill.daily")) { - refillDailyRespects(); + this.refillDailyRespects(); LAST_DAILY_REFILL = time; } if (time - LAST_HABBO_CACHE_CLEARED > CLEAR_CACHED_VALUES) { - clearCachedValues(); + this.clearCachedValues(); LAST_HABBO_CACHE_CLEARED = time; } @@ -149,7 +149,7 @@ public class CleanerThread implements Runnable { void databaseCleanup() { - refillDailyRespects(); + this.refillDailyRespects(); int time = Emulator.getIntUnixTimestamp(); try (Connection connection = Emulator.getDatabase().getDataSource().getConnection()) @@ -206,7 +206,7 @@ public class CleanerThread implements Runnable { private void clearCachedValues() { - Habbo habbo = null; + Habbo habbo; for(Map.Entry map : Emulator.getGameEnvironment().getHabboManager().getOnlineHabbos().entrySet()) { habbo = map.getValue(); diff --git a/src/main/java/com/eu/habbo/core/CommandLog.java b/src/main/java/com/eu/habbo/core/CommandLog.java index a089f543..d6af2420 100644 --- a/src/main/java/com/eu/habbo/core/CommandLog.java +++ b/src/main/java/com/eu/habbo/core/CommandLog.java @@ -8,7 +8,7 @@ import java.sql.SQLException; public class CommandLog implements Loggable { - public static String insertQuery = "INSERT INTO commandlogs (`user_id`, `timestamp`, `command`, `params`, `succes`) VALUES (?, ?, ?, ?, ?)"; + public static final String insertQuery = "INSERT INTO commandlogs (`user_id`, `timestamp`, `command`, `params`, `succes`) VALUES (?, ?, ?, ?, ?)"; private final int userId; private final int timestamp = Emulator.getIntUnixTimestamp(); diff --git a/src/main/java/com/eu/habbo/core/ConfigurationManager.java b/src/main/java/com/eu/habbo/core/ConfigurationManager.java index dc08ad3b..c6fe2e22 100644 --- a/src/main/java/com/eu/habbo/core/ConfigurationManager.java +++ b/src/main/java/com/eu/habbo/core/ConfigurationManager.java @@ -21,40 +21,52 @@ public class ConfigurationManager private final Properties properties; + + private final String configurationPath; - public ConfigurationManager(String path) throws Exception + public ConfigurationManager(String configurationPath) throws Exception { this.properties = new Properties(); - + this.configurationPath = configurationPath; this.reload(); } - public void reload() throws Exception + public void reload() { this.isLoading = true; this.properties.clear(); InputStream input = null; - try { - File f = new File("config.ini"); + try + { + File f = new File(this.configurationPath); input = new FileInputStream(f); this.properties.load(input); - } catch (IOException ex) { - Emulator.getLogging().logErrorLine("[CRITICAL] FAILED TO LOAD CONFIG.INI FILE!"); - } finally { - if (input != null) { - try { + } + catch (IOException ex) + { + Emulator.getLogging().logErrorLine("[CRITICAL] FAILED TO LOAD CONFIG FILE! (" + this.configurationPath + ")"); + ex.printStackTrace(); + } + finally + { + if (input != null) + { + try + { input.close(); - } catch (IOException e) { + } + catch (IOException e) + { e.printStackTrace(); } } } - if(loaded) + if(this.loaded) { this.loadFromDatabase(); } @@ -115,7 +127,7 @@ public class ConfigurationManager public String getValue(String key) { - return getValue(key, ""); + return this.getValue(key, ""); } @@ -133,7 +145,7 @@ public class ConfigurationManager public boolean getBoolean(String key) { - return getBoolean(key, false); + return this.getBoolean(key, false); } @@ -144,11 +156,11 @@ public class ConfigurationManager try { - return (getValue(key, "0").equals("1")) || (getValue(key, "false").equals("true")); + return (this.getValue(key, "0").equals("1")) || (this.getValue(key, "false").equals("true")); } catch (Exception e) { - Emulator.getLogging().logErrorLine("Failed to parse key " + key + " with value " + getValue(key) + " to type boolean."); + Emulator.getLogging().logErrorLine("Failed to parse key " + key + " with value " + this.getValue(key) + " to type boolean."); } return defaultValue; } @@ -156,7 +168,7 @@ public class ConfigurationManager public int getInt(String key) { - return getInt(key, 0); + return this.getInt(key, 0); } @@ -167,10 +179,10 @@ public class ConfigurationManager try { - return Integer.parseInt(getValue(key, defaultValue.toString())); + return Integer.parseInt(this.getValue(key, defaultValue.toString())); } catch (Exception e) { - Emulator.getLogging().logErrorLine("Failed to parse key " + key + " with value " + getValue(key) + " to type integer."); + Emulator.getLogging().logErrorLine("Failed to parse key " + key + " with value " + this.getValue(key) + " to type integer."); } return defaultValue; } @@ -178,7 +190,7 @@ public class ConfigurationManager public double getDouble(String key) { - return getDouble(key, 0.0); + return this.getDouble(key, 0.0); } @@ -189,11 +201,11 @@ public class ConfigurationManager try { - return Double.parseDouble(getValue(key, defaultValue.toString())); + return Double.parseDouble(this.getValue(key, defaultValue.toString())); } catch (Exception e) { - Emulator.getLogging().logErrorLine("Failed to parse key " + key + " with value " + getValue(key) + " to type double."); + Emulator.getLogging().logErrorLine("Failed to parse key " + key + " with value " + this.getValue(key) + " to type double."); } return defaultValue; diff --git a/src/main/java/com/eu/habbo/core/CreditsScheduler.java b/src/main/java/com/eu/habbo/core/CreditsScheduler.java index 397e5c2e..fcee3e14 100644 --- a/src/main/java/com/eu/habbo/core/CreditsScheduler.java +++ b/src/main/java/com/eu/habbo/core/CreditsScheduler.java @@ -65,7 +65,7 @@ public class CreditsScheduler extends Scheduler public boolean isDisposed() { - return disposed; + return this.disposed; } public void setDisposed(boolean disposed) diff --git a/src/main/java/com/eu/habbo/core/Disposable.java b/src/main/java/com/eu/habbo/core/Disposable.java index dc53bdf0..d0bdb49e 100644 --- a/src/main/java/com/eu/habbo/core/Disposable.java +++ b/src/main/java/com/eu/habbo/core/Disposable.java @@ -2,6 +2,6 @@ package com.eu.habbo.core; public interface Disposable { - public void dispose(); - public boolean disposed(); + void dispose(); + boolean disposed(); } diff --git a/src/main/java/com/eu/habbo/core/Logging.java b/src/main/java/com/eu/habbo/core/Logging.java index df6eb3f7..c1ddde3e 100644 --- a/src/main/java/com/eu/habbo/core/Logging.java +++ b/src/main/java/com/eu/habbo/core/Logging.java @@ -17,23 +17,6 @@ import java.sql.SQLException; public class Logging { - private static File packets; - - - private static File packetsUndefined; - - - private static File errorsPackets; - - - private static File errorsSQL; - - - private static File errorsRuntime; - - - private static File debugFile; - private static PrintWriter packetsWriter; private static PrintWriter packetsUndefinedWriter; private static PrintWriter errorsPacketsWriter; @@ -63,21 +46,27 @@ public class Logging public static final String ANSI_WHITE = "\u001B[37m"; - private final THashSet errorLogs = new THashSet<>(); + private final THashSet errorLogs = new THashSet<>(100); - private final THashSet commandLogs = new THashSet<>(); + private final THashSet commandLogs = new THashSet<>(100); private ConcurrentSet chatLogs = new ConcurrentSet<>(); public Logging() { - packets = new File("logging//packets//defined.txt"); - packetsUndefined = new File("logging//packets//packets.txt"); - errorsPackets = new File("logging//errors//packets.txt"); - errorsSQL = new File("logging//errors//sql.txt"); - errorsRuntime = new File("logging//errors//runtime.txt"); - debugFile = new File("logging//debug.txt"); + + File packets = new File("logging//packets//defined.txt"); + + File packetsUndefined = new File("logging//packets//packets.txt"); + + File errorsPackets = new File("logging//errors//packets.txt"); + + File errorsSQL = new File("logging//errors//sql.txt"); + + File errorsRuntime = new File("logging//errors//runtime.txt"); + + File debugFile = new File("logging//debug.txt"); try { @@ -172,7 +161,7 @@ public class Logging { if(Emulator.getConfig().getBoolean("logging.debug")) { - write(debugFileWriter, line.toString()); + this.write(debugFileWriter, line.toString()); } System.out.println("[" + Logging.ANSI_BRIGHT + Logging.ANSI_GREEN + "SHUTDOWN" + Logging.ANSI_RESET + "] " + line.toString()); } @@ -181,7 +170,7 @@ public class Logging { if(Emulator.getConfig().getBoolean("logging.debug")) { - write(debugFileWriter, line.toString()); + this.write(debugFileWriter, line.toString()); } if (Emulator.getConfig().getBoolean("debug.show.users")) @@ -194,7 +183,7 @@ public class Logging { if (line instanceof Throwable) { - logErrorLine(line); + this.logErrorLine(line); return; } if (Emulator.getConfig().getBoolean("debug.mode")) { @@ -203,7 +192,7 @@ public class Logging if(Emulator.getConfig().getBoolean("logging.debug")) { - write(debugFileWriter, line.toString()); + this.write(debugFileWriter, line.toString()); } } @@ -215,7 +204,7 @@ public class Logging if(Emulator.getConfig().getBoolean("logging.packets")) { - write(packetsWriter, line.toString()); + this.write(packetsWriter, line.toString()); } } @@ -228,7 +217,7 @@ public class Logging if (Emulator.getConfig().getBoolean("logging.packets.undefined")) { - write(packetsUndefinedWriter, line.toString()); + this.write(packetsUndefinedWriter, line.toString()); } } @@ -241,7 +230,7 @@ public class Logging if (Emulator.getConfig().loaded && Emulator.getConfig().getBoolean("logging.errors.runtime")) { - write(errorsRuntimeWriter, line); + this.write(errorsRuntimeWriter, line); } if(line instanceof Throwable) @@ -267,7 +256,7 @@ public class Logging if(Emulator.getConfig().getBoolean("logging.errors.sql")) { e.printStackTrace(); - write(errorsSQLWriter, e); + this.write(errorsSQLWriter, e); Emulator.getThreading().run(new HTTPPostError(e)); } @@ -280,7 +269,7 @@ public class Logging if(e instanceof Throwable) ((Exception) e).printStackTrace(); - write(errorsPacketsWriter, e); + this.write(errorsPacketsWriter, e); } if(e instanceof Throwable) diff --git a/src/main/java/com/eu/habbo/core/PixelScheduler.java b/src/main/java/com/eu/habbo/core/PixelScheduler.java index 63d975e5..9ea17f03 100644 --- a/src/main/java/com/eu/habbo/core/PixelScheduler.java +++ b/src/main/java/com/eu/habbo/core/PixelScheduler.java @@ -38,7 +38,7 @@ public class PixelScheduler extends Scheduler { super.run(); - Habbo habbo = null; + Habbo habbo; for(Map.Entry map : Emulator.getGameEnvironment().getHabboManager().getOnlineHabbos().entrySet()) { habbo = map.getValue(); @@ -95,7 +95,7 @@ public class PixelScheduler extends Scheduler public boolean isDisposed() { - return disposed; + return this.disposed; } public void setDisposed(boolean disposed) diff --git a/src/main/java/com/eu/habbo/core/PointsScheduler.java b/src/main/java/com/eu/habbo/core/PointsScheduler.java index abfeb043..180125a3 100644 --- a/src/main/java/com/eu/habbo/core/PointsScheduler.java +++ b/src/main/java/com/eu/habbo/core/PointsScheduler.java @@ -38,7 +38,7 @@ public class PointsScheduler extends Scheduler { super.run(); - Habbo habbo = null; + Habbo habbo; for(Map.Entry map : Emulator.getGameEnvironment().getHabboManager().getOnlineHabbos().entrySet()) { habbo = map.getValue(); @@ -95,7 +95,7 @@ public class PointsScheduler extends Scheduler public boolean isDisposed() { - return disposed; + return this.disposed; } public void setDisposed(boolean disposed) diff --git a/src/main/java/com/eu/habbo/core/RoomUserPetComposer.java b/src/main/java/com/eu/habbo/core/RoomUserPetComposer.java index d357edfe..299a8ac8 100644 --- a/src/main/java/com/eu/habbo/core/RoomUserPetComposer.java +++ b/src/main/java/com/eu/habbo/core/RoomUserPetComposer.java @@ -29,11 +29,11 @@ public class RoomUserPetComposer extends MessageComposer this.response.appendString(this.habbo.getHabboInfo().getUsername()); this.response.appendString(""); this.response.appendString(this.petType + " " + this.race + " " + this.color + " 2 2 -1 0 3 -1 0"); - this.response.appendInt(habbo.getRoomUnit().getId()); - this.response.appendInt(habbo.getRoomUnit().getX()); - this.response.appendInt(habbo.getRoomUnit().getY()); - this.response.appendString(habbo.getRoomUnit().getZ() + ""); - this.response.appendInt(habbo.getRoomUnit().getBodyRotation().getValue()); + this.response.appendInt(this.habbo.getRoomUnit().getId()); + this.response.appendInt(this.habbo.getRoomUnit().getX()); + this.response.appendInt(this.habbo.getRoomUnit().getY()); + this.response.appendString(this.habbo.getRoomUnit().getZ() + ""); + this.response.appendInt(this.habbo.getRoomUnit().getBodyRotation().getValue()); this.response.appendInt(2); this.response.appendInt(this.petType); this.response.appendInt(this.habbo.getHabboInfo().getId()); diff --git a/src/main/java/com/eu/habbo/core/TextsManager.java b/src/main/java/com/eu/habbo/core/TextsManager.java index 7ac66376..8da68f36 100644 --- a/src/main/java/com/eu/habbo/core/TextsManager.java +++ b/src/main/java/com/eu/habbo/core/TextsManager.java @@ -55,7 +55,7 @@ public class TextsManager public String getValue(String key) { - return getValue(key, ""); + return this.getValue(key, ""); } @@ -70,7 +70,7 @@ public class TextsManager public boolean getBoolean(String key) { - return getBoolean(key, false); + return this.getBoolean(key, false); } @@ -78,7 +78,7 @@ public class TextsManager { try { - return (getValue(key, "0").equals("1")) || (getValue(key, "false").equals("true")); + return (this.getValue(key, "0").equals("1")) || (this.getValue(key, "false").equals("true")); } catch (Exception e) { @@ -90,7 +90,7 @@ public class TextsManager public int getInt(String key) { - return getInt(key, 0); + return this.getInt(key, 0); } @@ -98,7 +98,7 @@ public class TextsManager { try { - return Integer.parseInt(getValue(key, defaultValue.toString())); + return Integer.parseInt(this.getValue(key, defaultValue.toString())); } catch (Exception e) { diff --git a/src/main/java/com/eu/habbo/core/consolecommands/ConsoleCommand.java b/src/main/java/com/eu/habbo/core/consolecommands/ConsoleCommand.java index 36692245..dc4a8955 100644 --- a/src/main/java/com/eu/habbo/core/consolecommands/ConsoleCommand.java +++ b/src/main/java/com/eu/habbo/core/consolecommands/ConsoleCommand.java @@ -1,11 +1,12 @@ package com.eu.habbo.core.consolecommands; +import com.eu.habbo.Emulator; import gnu.trove.map.hash.THashMap; public abstract class ConsoleCommand { - private static THashMap commands = new THashMap<>(); + private static final THashMap commands = new THashMap<>(); public final String key; @@ -28,6 +29,7 @@ public abstract class ConsoleCommand addCommand(new ConsoleTestCommand()); addCommand(new ConsoleReconnectCameraCommand()); addCommand(new ShowInteractionsCommand()); + addCommand(new ShowRCONCommands()); } @@ -63,7 +65,7 @@ public abstract class ConsoleCommand } catch (Exception e) { - e.printStackTrace(); + Emulator.getLogging().logErrorLine(e); } } else diff --git a/src/main/java/com/eu/habbo/core/consolecommands/ShowRCONCommands.java b/src/main/java/com/eu/habbo/core/consolecommands/ShowRCONCommands.java new file mode 100644 index 00000000..a0350cfb --- /dev/null +++ b/src/main/java/com/eu/habbo/core/consolecommands/ShowRCONCommands.java @@ -0,0 +1,20 @@ +package com.eu.habbo.core.consolecommands; + +import com.eu.habbo.Emulator; + +public class ShowRCONCommands extends ConsoleCommand +{ + public ShowRCONCommands() + { + super("rconcommands", "Show a list of all RCON commands"); + } + + @Override + public void handle(String[] args) throws Exception + { + for (String command : Emulator.getRconServer().getCommands()) + { + System.out.println(command); + } + } +} diff --git a/src/main/java/com/eu/habbo/habbohotel/GameEnvironment.java b/src/main/java/com/eu/habbo/habbohotel/GameEnvironment.java index 314b3317..62cd3d63 100644 --- a/src/main/java/com/eu/habbo/habbohotel/GameEnvironment.java +++ b/src/main/java/com/eu/habbo/habbohotel/GameEnvironment.java @@ -48,7 +48,7 @@ public class GameEnvironment public PixelScheduler pixelScheduler; public PointsScheduler pointsScheduler; - public void load() + public void load() throws Exception { Emulator.getLogging().logStart("GameEnvironment -> Loading..."); diff --git a/src/main/java/com/eu/habbo/habbohotel/achievements/Achievement.java b/src/main/java/com/eu/habbo/habbohotel/achievements/Achievement.java index e869f444..d380ed4f 100644 --- a/src/main/java/com/eu/habbo/habbohotel/achievements/Achievement.java +++ b/src/main/java/com/eu/habbo/habbohotel/achievements/Achievement.java @@ -22,9 +22,9 @@ public class Achievement public Achievement(ResultSet set) throws SQLException { - levels = new THashMap<>(); + this.levels = new THashMap<>(); - id = set.getInt("id"); + this.id = set.getInt("id"); this.name = set.getString("name"); this.category = AchievementCategories.valueOf(set.getString("category").toUpperCase()); diff --git a/src/main/java/com/eu/habbo/habbohotel/achievements/AchievementManager.java b/src/main/java/com/eu/habbo/habbohotel/achievements/AchievementManager.java index c5220069..da2c539e 100644 --- a/src/main/java/com/eu/habbo/habbohotel/achievements/AchievementManager.java +++ b/src/main/java/com/eu/habbo/habbohotel/achievements/AchievementManager.java @@ -189,13 +189,11 @@ public class AchievementManager int currentProgress = habbo.getHabboStats().getAchievementProgress(achievement); - boolean created = false; if(currentProgress == -1) { currentProgress = 0; createUserEntry(habbo, achievement); habbo.getHabboStats().setProgress(achievement, 0); - created = true; } if(Emulator.getPluginManager().isRegistered(UserAchievementProgressEvent.class, true)) @@ -209,11 +207,6 @@ public class AchievementManager AchievementLevel oldLevel = achievement.getLevelForProgress(currentProgress); - - - - - if(oldLevel != null && (oldLevel.level == achievement.levels.size() && currentProgress >= oldLevel.progress)) //Maximum achievement gotten. return; @@ -325,12 +318,7 @@ public class AchievementManager AchievementLevel nextLevel = achievement.levels.get(level.level + 1); - if (nextLevel == null && currentProgress >= level.progress) - { - return true; - } - - return false; + return nextLevel == null && currentProgress >= level.progress; } diff --git a/src/main/java/com/eu/habbo/habbohotel/achievements/TalentTrackLevel.java b/src/main/java/com/eu/habbo/habbohotel/achievements/TalentTrackLevel.java index 4bbc7045..4c02c7b7 100644 --- a/src/main/java/com/eu/habbo/habbohotel/achievements/TalentTrackLevel.java +++ b/src/main/java/com/eu/habbo/habbohotel/achievements/TalentTrackLevel.java @@ -64,7 +64,7 @@ public class TalentTrackLevel if (item != null) { - items.add(item); + this.items.add(item); } else { diff --git a/src/main/java/com/eu/habbo/habbohotel/bots/Bot.java b/src/main/java/com/eu/habbo/habbohotel/bots/Bot.java index af27864a..4d1b5bb1 100644 --- a/src/main/java/com/eu/habbo/habbohotel/bots/Bot.java +++ b/src/main/java/com/eu/habbo/habbohotel/bots/Bot.java @@ -6,7 +6,10 @@ import com.eu.habbo.habbohotel.users.Habbo; import com.eu.habbo.habbohotel.users.HabboGender; import com.eu.habbo.habbohotel.wired.WiredHandler; import com.eu.habbo.habbohotel.wired.WiredTriggerType; -import com.eu.habbo.messages.outgoing.rooms.users.*; +import com.eu.habbo.messages.outgoing.rooms.users.RoomUserShoutComposer; +import com.eu.habbo.messages.outgoing.rooms.users.RoomUserTalkComposer; +import com.eu.habbo.messages.outgoing.rooms.users.RoomUserWhisperComposer; +import com.eu.habbo.messages.outgoing.rooms.users.RoomUsersComposer; import com.eu.habbo.plugin.events.bots.BotChatEvent; import com.eu.habbo.plugin.events.bots.BotShoutEvent; import com.eu.habbo.plugin.events.bots.BotTalkEvent; @@ -24,7 +27,7 @@ public class Bot implements Runnable { public static final String NO_CHAT_SET = "${bot.skill.chatter.configuration.text.placeholder}"; - private int id; + private transient int id; private String name; @@ -63,6 +66,9 @@ public class Bot implements Runnable private int chatTimeOut; + private int chatTimestamp; + + private final ArrayList chatLines; @@ -74,13 +80,13 @@ public class Bot implements Runnable private int effect; - private boolean canWalk = true; + private transient boolean canWalk = true; private boolean needsUpdate; - private int followingHabboId; + private transient int followingHabboId; public Bot(int id, String name, String motto, String figure, HabboGender gender, int ownerId, String ownerName) { @@ -119,7 +125,6 @@ public class Bot implements Runnable this.roomUnit = null; this.chatTimeOut = Emulator.getIntUnixTimestamp() + this.chatDelay; this.needsUpdate = false; - this.lastChatIndex = 0; } public Bot(Bot bot) @@ -134,12 +139,9 @@ public class Bot implements Runnable this.chatRandom = false; this.chatDelay = 10; this.chatTimeOut = Emulator.getIntUnixTimestamp() + this.chatDelay; - this.chatLines = new ArrayList<>(Arrays.asList(new String[] {"Default Message :D"})); + this.chatLines = new ArrayList<>(Arrays.asList("Default Message :D")); this.type = bot.getType(); this.effect = bot.getEffect(); - this.room = null; - this.roomUnit = null; - this.lastChatIndex = 0; this.needsUpdate = false; } @@ -175,12 +177,12 @@ public class Bot implements Runnable statement.setInt(10, this.roomUnit == null ? 0 : this.roomUnit.getBodyRotation().getValue()); statement.setInt(11, this.roomUnit == null ? 0 : this.roomUnit.getDanceType().getType()); statement.setString(12, this.canWalk ? "1" : "0"); - String text = ""; + StringBuilder text = new StringBuilder(); for(String s : this.chatLines) { - text += s + "\r"; + text.append(s).append("\r"); } - statement.setString(13, text); + statement.setString(13, text.toString()); statement.setString(14, this.chatAuto ? "1" : "0"); statement.setString(15, this.chatRandom ? "1" : "0"); statement.setInt(16, this.chatDelay); @@ -214,7 +216,7 @@ public class Bot implements Runnable { for (RoomTile t : this.room.getLayout().getTilesAround(this.room.getLayout().getTile(this.getRoomUnit().getX(), this.getRoomUnit().getY()))) { - WiredHandler.handle(WiredTriggerType.BOT_REACHED_STF, this.roomUnit, this.room, room.getItemsAt(t).toArray()); + WiredHandler.handle(WiredTriggerType.BOT_REACHED_STF, this.roomUnit, this.room, this.room.getItemsAt(t).toArray()); } } } @@ -252,6 +254,7 @@ public class Bot implements Runnable if(Emulator.getPluginManager().fireEvent(event).isCancelled()) return; + this.chatTimestamp = Emulator.getIntUnixTimestamp(); this.room.botChat(new RoomUserTalkComposer(new RoomChatMessage(event.message, this.roomUnit, RoomChatMessageBubbles.BOT_RENTABLE)).compose()); } } @@ -265,6 +268,7 @@ public class Bot implements Runnable if(Emulator.getPluginManager().fireEvent(event).isCancelled()) return; + this.chatTimestamp = Emulator.getIntUnixTimestamp(); this.room.botChat(new RoomUserShoutComposer(new RoomChatMessage(event.message, this.roomUnit, RoomChatMessageBubbles.BOT_RENTABLE)).compose()); } } @@ -278,6 +282,7 @@ public class Bot implements Runnable if(Emulator.getPluginManager().fireEvent(event).isCancelled()) return; + this.chatTimestamp = Emulator.getIntUnixTimestamp(); event.target.getClient().sendResponse(new RoomUserWhisperComposer(new RoomChatMessage(event.message, this.roomUnit, RoomChatMessageBubbles.BOT_RENTABLE))); } } @@ -476,6 +481,11 @@ public class Bot implements Runnable } + public int getChatTimestamp() + { + return this.chatTimestamp; + } + public void clearChat() { synchronized (this.chatLines) @@ -498,18 +508,16 @@ public class Bot implements Runnable } - public void setEffect(int effect) + public void setEffect(int effect, int duration) { this.effect = effect; this.needsUpdate = true; if (this.roomUnit != null) { - this.roomUnit.setEffectId(this.effect); - if (this.room != null) { - this.room.sendComposer(new RoomUserEffectComposer(this.roomUnit).compose()); + this.room.giveEffect(this.roomUnit, this.effect, duration); } } } 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 40807638..e40629b1 100644 --- a/src/main/java/com/eu/habbo/habbohotel/bots/BotManager.java +++ b/src/main/java/com/eu/habbo/habbohotel/bots/BotManager.java @@ -22,8 +22,6 @@ import java.util.Map; public class BotManager { - //Configuration. Loaded from database & updated accordingly. - public static int MINIMUM_CHAT_SPEED = 7; @@ -33,18 +31,19 @@ public class BotManager public static int MAXIMUM_CHAT_LENGTH = 120; + public static int MAXIMUM_NAME_LENGTH = 15; final private static THashMap> botDefenitions = new THashMap<>(); - public BotManager() + public BotManager() throws Exception { long millis = System.currentTimeMillis(); - botDefenitions.put("generic", Bot.class); - botDefenitions.put("bartender", ButlerBot.class); - botDefenitions.put("visitor_log", VisitorBot.class); + addBotDefinition("generic", Bot.class); + addBotDefinition("bartender", ButlerBot.class); + addBotDefinition("visitor_log", VisitorBot.class); this.reload(); diff --git a/src/main/java/com/eu/habbo/habbohotel/bots/ButlerBot.java b/src/main/java/com/eu/habbo/habbohotel/bots/ButlerBot.java index 8f5e4a34..e4f2a6db 100644 --- a/src/main/java/com/eu/habbo/habbohotel/bots/ButlerBot.java +++ b/src/main/java/com/eu/habbo/habbohotel/bots/ButlerBot.java @@ -14,6 +14,7 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.Map; @@ -45,10 +46,7 @@ public class ButlerBot extends Bot { String[] keys = set.getString("keys").split(";"); THashSet ks = new THashSet<>(); - for(String key : keys) - { - ks.add(key); - } + Collections.addAll(ks, keys); serveItems.put(ks, set.getInt("item")); } } diff --git a/src/main/java/com/eu/habbo/habbohotel/bots/VisitorBot.java b/src/main/java/com/eu/habbo/habbohotel/bots/VisitorBot.java index bf978a07..96f4b313 100644 --- a/src/main/java/com/eu/habbo/habbohotel/bots/VisitorBot.java +++ b/src/main/java/com/eu/habbo/habbohotel/bots/VisitorBot.java @@ -13,9 +13,9 @@ import java.util.Date; public class VisitorBot extends Bot { - private static SimpleDateFormat formatDate; + private static SimpleDateFormat DATE_FORMAT; private boolean showedLog = false; - private THashSet visits = new THashSet<>(); + private THashSet visits = new THashSet<>(3); public VisitorBot(ResultSet set) throws SQLException { @@ -38,16 +38,16 @@ public class VisitorBot extends Bot String visitMessage = Emulator.getTexts().getValue("bots.visitor.list").replace("%count%", this.visits.size() + ""); - String list = ""; + StringBuilder list = new StringBuilder(); for(ModToolRoomVisit visit : this.visits) { - list += "\r"; - list += visit.roomName + " "; - list += Emulator.getTexts().getValue("generic.time.at") + " "; - list += formatDate.format(new Date((visit.timestamp * 1000L))); + list.append("\r"); + list.append(visit.roomName).append(" "); + list.append(Emulator.getTexts().getValue("generic.time.at")).append(" "); + list.append(DATE_FORMAT.format(new Date((visit.timestamp * 1000L)))); } - visitMessage = visitMessage.replace("%list%", list); + visitMessage = visitMessage.replace("%list%", list.toString()); this.talk(visitMessage); @@ -78,7 +78,7 @@ public class VisitorBot extends Bot public static void initialise() { - formatDate = new SimpleDateFormat(Emulator.getConfig().getValue("bots.visitor.dateformat")); + DATE_FORMAT = new SimpleDateFormat(Emulator.getConfig().getValue("bots.visitor.dateformat")); } } diff --git a/src/main/java/com/eu/habbo/habbohotel/catalog/CatalogItem.java b/src/main/java/com/eu/habbo/habbohotel/catalog/CatalogItem.java index 56c7880a..201e3857 100644 --- a/src/main/java/com/eu/habbo/habbohotel/catalog/CatalogItem.java +++ b/src/main/java/com/eu/habbo/habbohotel/catalog/CatalogItem.java @@ -16,58 +16,58 @@ import java.util.HashMap; public class CatalogItem implements ISerialize, Runnable, Comparable { - protected int id; + int id; - protected int pageId; + private int pageId; - protected String itemId; + private String itemId; - protected String name; + private String name; - protected int credits; + private int credits; - protected int points; + private int points; - protected short pointsType; + private short pointsType; - protected int amount; + private int amount; - protected boolean allowGift = false; + private boolean allowGift = false; - protected int limitedStack; + int limitedStack; - protected int limitedSells; + private int limitedSells; - protected String extradata; + private String extradata; - protected boolean clubOnly; + private boolean clubOnly; - protected boolean haveOffer; + private boolean haveOffer; - protected int offerId; + private int offerId; - protected boolean needsUpdate; + private boolean needsUpdate; - protected int orderNumber; + private int orderNumber; - protected HashMap bundle; + private HashMap bundle; public CatalogItem(ResultSet set) throws SQLException { @@ -213,7 +213,7 @@ public class CatalogItem implements ISerialize, Runnable, Comparable calendarRewards; - public static final THashMap> pageDefinitions = new THashMap>() + public static final THashMap> pageDefinitions = new THashMap>(CatalogPageLayouts.values().length) { { for (CatalogPageLayouts layout : CatalogPageLayouts.values()) { switch(layout) { - case frontpage: put(layout.name().toLowerCase(), FrontpageLayout.class); break; - case badge_display: put(layout.name().toLowerCase(), BadgeDisplayLayout.class); break; - case spaces_new: put(layout.name().toLowerCase(), SpacesLayout.class); break; - case trophies: put(layout.name().toLowerCase(), TrophiesLayout.class); break; - case bots: put(layout.name().toLowerCase(), BotsLayout.class); break; - case club_buy: put(layout.name().toLowerCase(), ClubBuyLayout.class); break; - case club_gift: put(layout.name().toLowerCase(), ClubGiftsLayout.class); break; - case sold_ltd_items: put(layout.name().toLowerCase(), SoldLTDItemsLayout.class); break; - case single_bundle: put(layout.name().toLowerCase(), SingleBundle.class); break; - case roomads: put(layout.name().toLowerCase(), RoomAdsLayout.class); break; - case recycler: if (Emulator.getConfig().getBoolean("hotel.ecotron.enabled")) put(layout.name().toLowerCase(), RecyclerLayout.class); break; - case recycler_info: if (Emulator.getConfig().getBoolean("hotel.ecotron.enabled")) put(layout.name().toLowerCase(), RecyclerInfoLayout.class); - case recycler_prizes: if (Emulator.getConfig().getBoolean("hotel.ecotron.enabled")) put(layout.name().toLowerCase(), RecyclerPrizesLayout.class); break; - case marketplace: if (Emulator.getConfig().getBoolean("hotel.marketplace.enabled")) put(layout.name().toLowerCase(), MarketplaceLayout.class); break; - case marketplace_own_items: if (Emulator.getConfig().getBoolean("hotel.marketplace.enabled")) put(layout.name().toLowerCase(), MarketplaceOwnItems.class); break; - case info_duckets: put(layout.name().toLowerCase(), InfoDucketsLayout.class); break; - case info_pets: put(layout.name().toLowerCase(), InfoPetsLayout.class); break; - case info_rentables: put(layout.name().toLowerCase(), InfoRentablesLayout.class); break; - case info_loyalty: put(layout.name().toLowerCase(), InfoLoyaltyLayout.class); break; - case loyalty_vip_buy: put(layout.name().toLowerCase(), LoyaltyVipBuyLayout.class); break; - case guilds: put(layout.name().toLowerCase(), GuildFrontpageLayout.class); break; - case guild_furni: put(layout.name().toLowerCase(), GuildFurnitureLayout.class); break; - case guild_forum: put(layout.name().toLowerCase(), GuildForumLayout.class); break; - case pets: put(layout.name().toLowerCase(), PetsLayout.class); break; - case pets2: put(layout.name().toLowerCase(), Pets2Layout.class); break; - case pets3: put(layout.name().toLowerCase(), Pets3Layout.class); break; - case soundmachine: put(layout.name().toLowerCase(), TraxLayout.class); break; - case default_3x3_color_grouping: put(layout.name().toLowerCase(), ColorGroupingLayout.class); break; - case recent_purchases: put(layout.name().toLowerCase(), RecentPurchasesLayout.class); break; - case room_bundle: put(layout.name().toLowerCase(), RoomBundleLayout.class); break; - case petcustomization: put(layout.name().toLowerCase(), PetCustomizationLayout.class); break; - case vip_buy: put(layout.name().toLowerCase(), VipBuyLayout.class); break; - case frontpage_featured: put(layout.name().toLowerCase(), FrontPageFeaturedLayout.class); break; - case builders_club_addons: put(layout.name().toLowerCase(), BuildersClubAddonsLayout.class); break; - case builders_club_frontpage: put(layout.name().toLowerCase(), BuildersClubFrontPageLayout.class); break; - case builders_club_loyalty: put(layout.name().toLowerCase(), BuildersClubLoyaltyLayout.class); break; + case frontpage: + this.put(layout.name().toLowerCase(), FrontpageLayout.class); break; + case badge_display: + this.put(layout.name().toLowerCase(), BadgeDisplayLayout.class); break; + case spaces_new: + this.put(layout.name().toLowerCase(), SpacesLayout.class); break; + case trophies: + this.put(layout.name().toLowerCase(), TrophiesLayout.class); break; + case bots: + this.put(layout.name().toLowerCase(), BotsLayout.class); break; + case club_buy: + this.put(layout.name().toLowerCase(), ClubBuyLayout.class); break; + case club_gift: + this.put(layout.name().toLowerCase(), ClubGiftsLayout.class); break; + case sold_ltd_items: + this.put(layout.name().toLowerCase(), SoldLTDItemsLayout.class); break; + case single_bundle: + this.put(layout.name().toLowerCase(), SingleBundle.class); break; + case roomads: + this.put(layout.name().toLowerCase(), RoomAdsLayout.class); break; + case recycler: if (Emulator.getConfig().getBoolean("hotel.ecotron.enabled")) + this.put(layout.name().toLowerCase(), RecyclerLayout.class); break; + case recycler_info: if (Emulator.getConfig().getBoolean("hotel.ecotron.enabled")) + this.put(layout.name().toLowerCase(), RecyclerInfoLayout.class); + case recycler_prizes: if (Emulator.getConfig().getBoolean("hotel.ecotron.enabled")) + this.put(layout.name().toLowerCase(), RecyclerPrizesLayout.class); break; + case marketplace: if (Emulator.getConfig().getBoolean("hotel.marketplace.enabled")) + this.put(layout.name().toLowerCase(), MarketplaceLayout.class); break; + case marketplace_own_items: if (Emulator.getConfig().getBoolean("hotel.marketplace.enabled")) + this.put(layout.name().toLowerCase(), MarketplaceOwnItems.class); break; + case info_duckets: + this.put(layout.name().toLowerCase(), InfoDucketsLayout.class); break; + case info_pets: + this.put(layout.name().toLowerCase(), InfoPetsLayout.class); break; + case info_rentables: + this.put(layout.name().toLowerCase(), InfoRentablesLayout.class); break; + case info_loyalty: + this.put(layout.name().toLowerCase(), InfoLoyaltyLayout.class); break; + case loyalty_vip_buy: + this.put(layout.name().toLowerCase(), LoyaltyVipBuyLayout.class); break; + case guilds: + this.put(layout.name().toLowerCase(), GuildFrontpageLayout.class); break; + case guild_furni: + this.put(layout.name().toLowerCase(), GuildFurnitureLayout.class); break; + case guild_forum: + this.put(layout.name().toLowerCase(), GuildForumLayout.class); break; + case pets: + this.put(layout.name().toLowerCase(), PetsLayout.class); break; + case pets2: + this.put(layout.name().toLowerCase(), Pets2Layout.class); break; + case pets3: + this.put(layout.name().toLowerCase(), Pets3Layout.class); break; + case soundmachine: + this.put(layout.name().toLowerCase(), TraxLayout.class); break; + case default_3x3_color_grouping: + this.put(layout.name().toLowerCase(), ColorGroupingLayout.class); break; + case recent_purchases: + this.put(layout.name().toLowerCase(), RecentPurchasesLayout.class); break; + case room_bundle: + this.put(layout.name().toLowerCase(), RoomBundleLayout.class); break; + case petcustomization: + this.put(layout.name().toLowerCase(), PetCustomizationLayout.class); break; + case vip_buy: + this.put(layout.name().toLowerCase(), VipBuyLayout.class); break; + case frontpage_featured: + this.put(layout.name().toLowerCase(), FrontPageFeaturedLayout.class); break; + case builders_club_addons: + this.put(layout.name().toLowerCase(), BuildersClubAddonsLayout.class); break; + case builders_club_frontpage: + this.put(layout.name().toLowerCase(), BuildersClubFrontPageLayout.class); break; + case builders_club_loyalty: + this.put(layout.name().toLowerCase(), BuildersClubLoyaltyLayout.class); break; case default_3x3: - default: put("default_3x3", Default_3x3Layout.class); break; + default: + this.put("default_3x3", Default_3x3Layout.class); break; } } } @@ -175,17 +212,17 @@ public class CatalogManager try { - loadLimitedNumbers(); - loadCatalogPages(); - loadCatalogFeaturedPages(); - loadCatalogItems(); - loadClubOffers(); - loadTargetOffers(); - loadVouchers(); - loadClothing(); - loadRecycler(); - loadGiftWrappers(); - loadCalendarRewards(); + this.loadLimitedNumbers(); + this.loadCatalogPages(); + this.loadCatalogFeaturedPages(); + this.loadCatalogItems(); + this.loadClubOffers(); + this.loadTargetOffers(); + this.loadVouchers(); + this.loadClothing(); + this.loadRecycler(); + this.loadGiftWrappers(); + this.loadCalendarRewards(); } catch(SQLException e) { @@ -237,39 +274,37 @@ public class CatalogManager final THashMap pages = new THashMap<>(); pages.put(-1, new CatalogRootLayout(null)); - ResultSet set = null; try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("SELECT * FROM catalog_pages ORDER BY parent_id, id")) { - set = statement.executeQuery(); + try (ResultSet set = statement.executeQuery()) + { + while(set.next()) + { + Class pageClazz = pageDefinitions.get(set.getString("page_layout")); + + if (pageClazz == null) + { + Emulator.getLogging().logStart("Unknown Page Layout: " + set.getString("page_layout")); + continue; + } + + try + { + CatalogPage page = pageClazz.getConstructor(ResultSet.class).newInstance(set); + pages.put(page.getId(), page); + } + catch (Exception e) + { + Emulator.getLogging().logErrorLine("Failed to load layout: " + set.getString("page_layout")); + } + } + } } catch (SQLException e) { Emulator.getLogging().logSQLException(e); } - while(set.next()) - { - Class pageClazz = pageDefinitions.get(set.getString("page_layout")); - - if (pageClazz == null) - { - Emulator.getLogging().logStart("Unknown Page Layout: " + set.getString("page_layout")); - continue; - } - - try - { - CatalogPage page = pageClazz.getConstructor(ResultSet.class).newInstance(set); - pages.put(page.getId(), page); - } - catch (Exception e) - { - Emulator.getLogging().logErrorLine("Failed to load layout: " + set.getString("page_layout")); - } - } - - set.close(); - pages.forEachValue(new TObjectProcedure() { @Override @@ -1001,7 +1036,7 @@ public class CatalogManager { if (amount * item.getAmount() > 100) { - habbo.getClient().sendResponse(new GenericAlertComposer("Whoops! You tried to buy this " + (amount * item.getAmount()) + " times. This must've been a mistake.")); + habbo.alert("Whoops! You tried to buy this " + (amount * item.getAmount()) + " times. This must've been a mistake."); habbo.getClient().sendResponse(new AlertPurchaseUnavailableComposer(AlertPurchaseUnavailableComposer.ILLEGAL)); return; } @@ -1059,11 +1094,11 @@ public class CatalogManager { for (int k = 0; k < item.getItemAmount(baseItem.getId()); k++) { - cBaseItem = baseItem; if (baseItem.getName().startsWith("rentable_bot_") || baseItem.getName().startsWith("bot_")) { String type = item.getName().replace("rentable_bot_", ""); type = type.replace("bot_", ""); + type = type.replace("visitor_logger", "visitor_log"); THashMap data = new THashMap<>(); diff --git a/src/main/java/com/eu/habbo/habbohotel/catalog/CatalogPage.java b/src/main/java/com/eu/habbo/habbohotel/catalog/CatalogPage.java index 10a0376e..640b74a4 100644 --- a/src/main/java/com/eu/habbo/habbohotel/catalog/CatalogPage.java +++ b/src/main/java/com/eu/habbo/habbohotel/catalog/CatalogPage.java @@ -34,10 +34,10 @@ public abstract class CatalogPage implements Comparable, ISerialize protected String textTwo; protected String textDetails; protected String textTeaser; - protected TIntArrayList offerIds = new TIntArrayList(); - protected THashMap childPages = new THashMap<>();; - private TIntObjectMap catalogItems = TCollections.synchronizedMap(new TIntObjectHashMap<>()); - private ArrayList included = new ArrayList<>(); + protected final TIntArrayList offerIds = new TIntArrayList(); + protected final THashMap childPages = new THashMap<>(); + private final TIntObjectMap catalogItems = TCollections.synchronizedMap(new TIntObjectHashMap<>()); + private final ArrayList included = new ArrayList<>(); public CatalogPage(ResultSet set) throws SQLException { diff --git a/src/main/java/com/eu/habbo/habbohotel/catalog/Voucher.java b/src/main/java/com/eu/habbo/habbohotel/catalog/Voucher.java index f3a07ec4..503aee37 100644 --- a/src/main/java/com/eu/habbo/habbohotel/catalog/Voucher.java +++ b/src/main/java/com/eu/habbo/habbohotel/catalog/Voucher.java @@ -6,7 +6,7 @@ import java.sql.SQLException; public class Voucher { - private final int id; + public final int id; public final String code; diff --git a/src/main/java/com/eu/habbo/habbohotel/catalog/layouts/InfoDucketsLayout.java b/src/main/java/com/eu/habbo/habbohotel/catalog/layouts/InfoDucketsLayout.java index 44e2ba8f..e48bd9b0 100644 --- a/src/main/java/com/eu/habbo/habbohotel/catalog/layouts/InfoDucketsLayout.java +++ b/src/main/java/com/eu/habbo/habbohotel/catalog/layouts/InfoDucketsLayout.java @@ -18,9 +18,9 @@ public class InfoDucketsLayout extends CatalogPage { message.appendString("info_duckets"); message.appendInt(1); - message.appendString(getHeaderImage()); + message.appendString(this.getHeaderImage()); message.appendInt(1); - message.appendString(getTextOne()); + message.appendString(this.getTextOne()); message.appendInt(0); } } diff --git a/src/main/java/com/eu/habbo/habbohotel/catalog/layouts/InfoLoyaltyLayout.java b/src/main/java/com/eu/habbo/habbohotel/catalog/layouts/InfoLoyaltyLayout.java index 0f97b0c4..d310fb84 100644 --- a/src/main/java/com/eu/habbo/habbohotel/catalog/layouts/InfoLoyaltyLayout.java +++ b/src/main/java/com/eu/habbo/habbohotel/catalog/layouts/InfoLoyaltyLayout.java @@ -18,9 +18,9 @@ public class InfoLoyaltyLayout extends CatalogPage { message.appendString("info_loyalty"); message.appendInt(1); - message.appendString(getHeaderImage()); + message.appendString(this.getHeaderImage()); message.appendInt(1); - message.appendString(getTextOne()); + message.appendString(this.getTextOne()); message.appendInt(0); } } \ No newline at end of file diff --git a/src/main/java/com/eu/habbo/habbohotel/catalog/layouts/InfoPetsLayout.java b/src/main/java/com/eu/habbo/habbohotel/catalog/layouts/InfoPetsLayout.java index 664a7580..bea9a296 100644 --- a/src/main/java/com/eu/habbo/habbohotel/catalog/layouts/InfoPetsLayout.java +++ b/src/main/java/com/eu/habbo/habbohotel/catalog/layouts/InfoPetsLayout.java @@ -18,12 +18,12 @@ public class InfoPetsLayout extends CatalogPage { message.appendString("info_pets"); message.appendInt(2); - message.appendString(getHeaderImage()); - message.appendString(getTeaserImage()); + message.appendString(this.getHeaderImage()); + message.appendString(this.getTeaserImage()); message.appendInt(3); - message.appendString(getTextOne()); + message.appendString(this.getTextOne()); message.appendString(""); - message.appendString(getTextTeaser()); + message.appendString(this.getTextTeaser()); message.appendInt(0); } } diff --git a/src/main/java/com/eu/habbo/habbohotel/catalog/layouts/InfoRentablesLayout.java b/src/main/java/com/eu/habbo/habbohotel/catalog/layouts/InfoRentablesLayout.java index d4e42310..fa5170e0 100644 --- a/src/main/java/com/eu/habbo/habbohotel/catalog/layouts/InfoRentablesLayout.java +++ b/src/main/java/com/eu/habbo/habbohotel/catalog/layouts/InfoRentablesLayout.java @@ -16,10 +16,10 @@ public class InfoRentablesLayout extends CatalogPage @Override public void serialize(ServerMessage message) { - String[] data = getTextOne().split("\\|\\|"); + String[] data = this.getTextOne().split("\\|\\|"); message.appendString("info_rentables"); message.appendInt(1); - message.appendString(getHeaderImage()); + message.appendString(this.getHeaderImage()); message.appendInt(data.length); for (String d : data) { message.appendString(d); diff --git a/src/main/java/com/eu/habbo/habbohotel/catalog/layouts/RoomBundleLayout.java b/src/main/java/com/eu/habbo/habbohotel/catalog/layouts/RoomBundleLayout.java index ab17e107..6fc97609 100644 --- a/src/main/java/com/eu/habbo/habbohotel/catalog/layouts/RoomBundleLayout.java +++ b/src/main/java/com/eu/habbo/habbohotel/catalog/layouts/RoomBundleLayout.java @@ -19,7 +19,7 @@ import java.util.Map; public class RoomBundleLayout extends SingleBundle { - public int roomId = 0; + public int roomId; public Room room; private int lastUpdate = 0; private boolean loaded = false; @@ -106,14 +106,14 @@ public class RoomBundleLayout extends SingleBundle items.put(Emulator.getGameEnvironment().getItemManager().getItem(Integer.valueOf(item[0].getExtradata())), 1); } - String data = ""; + StringBuilder data = new StringBuilder(); for(Map.Entry set : items.entrySet()) { - data += set.getKey().getId() + ":" + set.getValue() + ";"; + data.append(set.getKey().getId()).append(":").append(set.getValue()).append(";"); } - item[0].setItemId(data); + item[0].setItemId(data.toString()); item[0].loadBundle(); } @@ -237,12 +237,12 @@ public class RoomBundleLayout extends SingleBundle statement.setInt(7, bot.getRoomUnit().getX()); statement.setInt(8, bot.getRoomUnit().getY()); statement.setDouble(9, bot.getRoomUnit().getZ()); - String text = ""; + StringBuilder text = new StringBuilder(); for (String s : bot.getChatLines()) { - text += s + "\r"; + text.append(s).append("\r"); } - statement.setString(10, text); + statement.setString(10, text.toString()); statement.setString(11, bot.isChatAuto() ? "1" : "0"); statement.setString(12, bot.isChatRandom() ? "1" : "0"); statement.setInt(13, bot.getChatDelay()); diff --git a/src/main/java/com/eu/habbo/habbohotel/catalog/marketplace/MarketPlace.java b/src/main/java/com/eu/habbo/habbohotel/catalog/marketplace/MarketPlace.java index f7925329..5032d834 100644 --- a/src/main/java/com/eu/habbo/habbohotel/catalog/marketplace/MarketPlace.java +++ b/src/main/java/com/eu/habbo/habbohotel/catalog/marketplace/MarketPlace.java @@ -191,16 +191,6 @@ public class MarketPlace query += " ORDER BY minPrice DESC"; break; } - if (sort == 3) - { - - } - if (sort == 2) - { - } - else - { - } query += ")"; @@ -444,18 +434,13 @@ public class MarketPlace try { MarketPlaceOffer offer = new MarketPlaceOffer(event.item, event.price, client.getHabbo()); - - if(offer != null) - { - client.getHabbo().getInventory().addMarketplaceOffer(offer); - - client.getHabbo().getInventory().getItemsComponent().removeHabboItem(event.item); - client.sendResponse(new RemoveHabboItemComposer(event.item.getId())); - client.sendResponse(new InventoryRefreshComposer()); - item.setUserId(-1); - item.needsUpdate(true); - Emulator.getThreading().run(item); - } + client.getHabbo().getInventory().addMarketplaceOffer(offer); + client.getHabbo().getInventory().getItemsComponent().removeHabboItem(event.item); + client.sendResponse(new RemoveHabboItemComposer(event.item.getId())); + client.sendResponse(new InventoryRefreshComposer()); + item.setUserId(-1); + item.needsUpdate(true); + Emulator.getThreading().run(item); } catch (SQLException e) { diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/AboutCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/AboutCommand.java index 6a6cb4ca..b8ab2b7e 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/AboutCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/AboutCommand.java @@ -47,7 +47,7 @@ public class AboutCommand extends Command "Thanks for using Arcturus. Report issues on the forums. http://arcturus.pw \r\r" + " - The General"; - gameClient.sendResponse(new GenericAlertComposer(message)); + gameClient.getHabbo().alert(message); return true; } diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/AlertCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/AlertCommand.java index 57f3c5b0..5e4e52e3 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/AlertCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/AlertCommand.java @@ -28,17 +28,17 @@ public class AlertCommand extends Command { } String targetUsername = params[1]; - String message = ""; + StringBuilder message = new StringBuilder(); for(int i = 2; i < params.length; i++) { - message += (params[i] + " "); + message.append(params[i]).append(" "); } Habbo habbo = Emulator.getGameEnvironment().getHabboManager().getHabbo(targetUsername); if (habbo != null) { - habbo.getClient().sendResponse(new GenericAlertComposer(message + "\r\n -" + gameClient.getHabbo().getHabboInfo().getUsername())); + habbo.alert(message + "\r\n -" + gameClient.getHabbo().getHabboInfo().getUsername()); gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.succes.cmd_alert.message_send").replace("%user%", targetUsername), RoomChatMessageBubbles.ALERT); } else { gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_alert.user_offline").replace("%user%", targetUsername), RoomChatMessageBubbles.ALERT); diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/AllowTradingCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/AllowTradingCommand.java index 701a094f..895a1d78 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/AllowTradingCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/AllowTradingCommand.java @@ -46,7 +46,7 @@ public class AllowTradingCommand extends Command } else { - boolean found = false; + boolean found; try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("UPDATE users_settings INNER JOIN users ON users.id = users_settings.id SET can_trade = ? WHERE users.username LIKE ?")) { statement.setString(1, enabled ? "1" : "0"); diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/BadgeCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/BadgeCommand.java index 45fbfb24..f74ba10f 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/BadgeCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/BadgeCommand.java @@ -68,7 +68,7 @@ public class BadgeCommand extends Command { try (Connection connection = Emulator.getDatabase().getDataSource().getConnection()) { - boolean found = false; + boolean found; try (PreparedStatement statement = connection.prepareStatement("SELECT COUNT(slot_id) FROM users_badges INNER JOIN users ON users.id = user_id WHERE users.username = ? AND badge_code = ? LIMIT 1")) { diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/BanCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/BanCommand.java index 7d490483..3556324b 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/BanCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/BanCommand.java @@ -56,7 +56,7 @@ public class BanCommand extends Command Habbo t = Emulator.getGameEnvironment().getHabboManager().getHabbo(params[1]); - HabboInfo target = null; + HabboInfo target; if (t != null) { target = t.getHabboInfo(); @@ -79,17 +79,17 @@ public class BanCommand extends Command } - String reason = ""; + StringBuilder reason = new StringBuilder(); if(params.length > 3) { for(int i = 3; i < params.length; i++) { - reason += params[i] + " "; + reason.append(params[i]).append(" "); } } - ModToolBan ban = Emulator.getGameEnvironment().getModToolManager().ban(target.getId(), gameClient.getHabbo(), reason, banTime, ModToolBanType.ACCOUNT, -1).get(0); + ModToolBan ban = Emulator.getGameEnvironment().getModToolManager().ban(target.getId(), gameClient.getHabbo(), reason.toString(), banTime, ModToolBanType.ACCOUNT, -1).get(0); gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.succes.cmd_ban.ban_issued").replace("%user%", target.getUsername()).replace("%time%", ban.expireDate - Emulator.getIntUnixTimestamp() + "").replace("%reason%", ban.reason), RoomChatMessageBubbles.ALERT); return true; diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/BotsCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/BotsCommand.java index 57b05d15..af9042c8 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/BotsCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/BotsCommand.java @@ -18,18 +18,18 @@ public class BotsCommand extends Command if(gameClient.getHabbo().getHabboInfo().getCurrentRoom() == null || !gameClient.getHabbo().getHabboInfo().getCurrentRoom().hasRights(gameClient.getHabbo())) return false; - String data = Emulator.getTexts().getValue("total") + ": " + gameClient.getHabbo().getHabboInfo().getCurrentRoom().getCurrentBots().values().length; + StringBuilder data = new StringBuilder(Emulator.getTexts().getValue("total") + ": " + gameClient.getHabbo().getHabboInfo().getCurrentRoom().getCurrentBots().values().length); for(Object bot : gameClient.getHabbo().getHabboInfo().getCurrentRoom().getCurrentBots().values()) { if(bot instanceof Bot) { - data += "\r"; - data += "" + Emulator.getTexts().getValue("generic.bot.name") + ": " + ((Bot) bot).getName() + " " + Emulator.getTexts().getValue("generic.bot.id") + ": " + ((Bot) bot).getId(); + data.append("\r"); + data.append("").append(Emulator.getTexts().getValue("generic.bot.name")).append(": ").append(((Bot) bot).getName()).append(" ").append(Emulator.getTexts().getValue("generic.bot.id")).append(": ").append(((Bot) bot).getId()); } } - gameClient.sendResponse(new GenericAlertComposer(data)); + gameClient.getHabbo().alert(data.toString()); return true; } diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/CommandHandler.java b/src/main/java/com/eu/habbo/habbohotel/commands/CommandHandler.java index 0f0d6922..eec474dd 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/CommandHandler.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/CommandHandler.java @@ -24,7 +24,7 @@ public class CommandHandler public CommandHandler() { long millis = System.currentTimeMillis(); - reloadCommands(); + this.reloadCommands(); Emulator.getLogging().logStart("Command Handler -> Loaded! (" + (System.currentTimeMillis() - millis) + " MS)"); } @@ -205,7 +205,7 @@ public class CommandHandler } catch (Exception e) { - e.printStackTrace(); + Emulator.getLogging().logErrorLine(e); } if (gameClient.getHabbo().getHabboInfo().getRank().isLogCommands()) @@ -249,22 +249,22 @@ public class CommandHandler Pet pet = petIterator.value(); - if (pet instanceof Pet) + if (pet != null) { if (pet.getName().equalsIgnoreCase(args[0])) { - String s = ""; + StringBuilder s = new StringBuilder(); for (int i = 1; i < args.length; i++) { - s += args[i] + " "; + s.append(args[i]).append(" "); } - s = s.substring(0, s.length() - 1); + s = new StringBuilder(s.substring(0, s.length() - 1)); for (PetCommand command : pet.getPetData().getPetCommands()) { - if (command.key.equalsIgnoreCase(s)) + if (command.key.equalsIgnoreCase(s.toString())) { if (command.level <= pet.getLevel()) pet.handleCommand(command, gameClient.getHabbo(), args); @@ -303,7 +303,7 @@ public class CommandHandler } } - Collections.sort(allowedCommands, CommandHandler.ALPHABETICAL_ORDER); + allowedCommands.sort(CommandHandler.ALPHABETICAL_ORDER); return allowedCommands; } diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/CommandsCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/CommandsCommand.java index c9275cb1..159a93a8 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/CommandsCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/CommandsCommand.java @@ -15,16 +15,16 @@ public class CommandsCommand extends Command @Override public boolean handle(GameClient gameClient, String[] params) throws Exception { - String message = "Your Commands"; + StringBuilder message = new StringBuilder("Your Commands"); List commands = Emulator.getGameEnvironment().getCommandHandler().getCommandsForRank(gameClient.getHabbo().getHabboInfo().getRank().getId()); - message += "(" + commands.size() + "):\r\n"; + message.append("(").append(commands.size()).append("):\r\n"); for(Command c : commands) { - message += Emulator.getTexts().getValue("commands.description." + c.permission, "commands.description." + c.permission) + "\r"; + message.append(Emulator.getTexts().getValue("commands.description." + c.permission, "commands.description." + c.permission)).append("\r"); } - gameClient.getHabbo().alert(new String[]{message}); + gameClient.getHabbo().alert(new String[]{message.toString()}); return true; } diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/CoordsCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/CoordsCommand.java index 04f42b8c..5b5b8fde 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/CoordsCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/CoordsCommand.java @@ -21,7 +21,7 @@ public class CoordsCommand extends Command { if (params.length == 1) { - gameClient.sendResponse(new GenericAlertComposer(Emulator.getTexts().getValue("commands.generic.cmd_coords.title") + "\r\n" + + gameClient.getHabbo().alert(Emulator.getTexts().getValue("commands.generic.cmd_coords.title") + "\r\n" + "x: " + gameClient.getHabbo().getRoomUnit().getX() + "\r" + "y: " + gameClient.getHabbo().getRoomUnit().getY() + "\r" + "z: " + (gameClient.getHabbo().getRoomUnit().hasStatus(RoomUnitStatus.SIT) ? gameClient.getHabbo().getRoomUnit().getStatus(RoomUnitStatus.SIT) : gameClient.getHabbo().getRoomUnit().getZ()) + "\r" + @@ -31,7 +31,7 @@ public class CoordsCommand extends Command { "Tile State: " + gameClient.getHabbo().getHabboInfo().getCurrentRoom().getLayout().getTile(gameClient.getHabbo().getRoomUnit().getX(), gameClient.getHabbo().getRoomUnit().getY()).state.name() + "\r" + "Tile Walkable: " + gameClient.getHabbo().getHabboInfo().getCurrentRoom().getLayout().getTile(gameClient.getHabbo().getRoomUnit().getX(), gameClient.getHabbo().getRoomUnit().getY()).isWalkable() + "\r" + "Tile relative height: " + gameClient.getHabbo().getHabboInfo().getCurrentRoom().getLayout().getTile(gameClient.getHabbo().getRoomUnit().getX(), gameClient.getHabbo().getRoomUnit().getY()).relativeHeight() + "\r" + - "Tile stack height: " + gameClient.getHabbo().getHabboInfo().getCurrentRoom().getLayout().getTile(gameClient.getHabbo().getRoomUnit().getX(), gameClient.getHabbo().getRoomUnit().getY()).getStackHeight())); + "Tile stack height: " + gameClient.getHabbo().getHabboInfo().getCurrentRoom().getLayout().getTile(gameClient.getHabbo().getRoomUnit().getX(), gameClient.getHabbo().getRoomUnit().getY()).getStackHeight()); } else @@ -40,14 +40,14 @@ public class CoordsCommand extends Command { if (tile != null) { - gameClient.sendResponse(new GenericAlertComposer(Emulator.getTexts().getValue("commands.generic.cmd_coords.title") + "\r\n" + + gameClient.getHabbo().alert(Emulator.getTexts().getValue("commands.generic.cmd_coords.title") + "\r\n" + "x: " + tile.x + "\r" + "y: " + tile.y + "\r" + "z: " + tile.z + "\r" + "Tile State: " + tile.state.name() + "\r" + "Tile Relative Height: " + tile.relativeHeight() + "\r" + "Tile Stack Height: " + tile.getStackHeight() + "\r" + - "Tile Walkable: " + (tile.isWalkable() ? "Yes" : "No") + "\r")); + "Tile Walkable: " + (tile.isWalkable() ? "Yes" : "No") + "\r"); } else { diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/CreditsCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/CreditsCommand.java index 03aaff1b..beb95c3d 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/CreditsCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/CreditsCommand.java @@ -25,7 +25,7 @@ public class CreditsCommand extends Command { Habbo habbo = Emulator.getGameServer().getGameClientManager().getHabbo(params[1]); - int credits = 0; + int credits; try { credits = Integer.parseInt(params[2]); @@ -42,7 +42,7 @@ public class CreditsCommand extends Command if (habbo.getHabboInfo().getCurrentRoom() != null) habbo.whisper(Emulator.getTexts().getValue("commands.generic.cmd_credits.received").replace("%amount%", Integer.parseInt(params[2]) + ""), RoomChatMessageBubbles.ALERT); else - habbo.getClient().sendResponse(new GenericAlertComposer(Emulator.getTexts().getValue("commands.generic.cmd_credits.received").replace("%amount%", Integer.parseInt(params[2]) + ""))); + habbo.alert(Emulator.getTexts().getValue("commands.generic.cmd_credits.received").replace("%amount%", Integer.parseInt(params[2]) + "")); gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.succes.cmd_credits.send").replace("%amount%", Integer.parseInt(params[2]) + "").replace("%user%", params[1]), RoomChatMessageBubbles.ALERT); diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/EmptyBotsInventoryCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/EmptyBotsInventoryCommand.java index 31a456bb..4b76d518 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/EmptyBotsInventoryCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/EmptyBotsInventoryCommand.java @@ -27,7 +27,7 @@ public class EmptyBotsInventoryCommand extends Command { if(gameClient.getHabbo().getHabboInfo().getCurrentRoom().getUserCount() > 10) { - gameClient.sendResponse(new GenericAlertComposer(Emulator.getTexts().getValue("commands.succes.cmd_empty_bots.verify").replace("%generic.yes%", Emulator.getTexts().getValue("generic.yes")))); + gameClient.getHabbo().alert(Emulator.getTexts().getValue("commands.succes.cmd_empty_bots.verify").replace("%generic.yes%", Emulator.getTexts().getValue("generic.yes"))); } else { diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/EmptyInventoryCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/EmptyInventoryCommand.java index 06d49e71..844a262a 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/EmptyInventoryCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/EmptyInventoryCommand.java @@ -29,7 +29,7 @@ public class EmptyInventoryCommand extends Command { if(gameClient.getHabbo().getHabboInfo().getCurrentRoom().getUserCount() > 10) { - gameClient.sendResponse(new GenericAlertComposer(Emulator.getTexts().getValue("commands.succes.cmd_empty.verify").replace("%generic.yes%", Emulator.getTexts().getValue("generic.yes")))); + gameClient.getHabbo().alert(Emulator.getTexts().getValue("commands.succes.cmd_empty.verify").replace("%generic.yes%", Emulator.getTexts().getValue("generic.yes"))); } else { diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/EmptyPetsInventoryCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/EmptyPetsInventoryCommand.java index 6d492b4f..1ecf90a9 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/EmptyPetsInventoryCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/EmptyPetsInventoryCommand.java @@ -27,7 +27,7 @@ public class EmptyPetsInventoryCommand extends Command { if(gameClient.getHabbo().getHabboInfo().getCurrentRoom().getUserCount() > 10) { - gameClient.sendResponse(new GenericAlertComposer(Emulator.getTexts().getValue("commands.succes.cmd_empty_pets.verify").replace("%generic.yes%", Emulator.getTexts().getValue("generic.yes")))); + gameClient.getHabbo().alert(Emulator.getTexts().getValue("commands.succes.cmd_empty_pets.verify").replace("%generic.yes%", Emulator.getTexts().getValue("generic.yes"))); } else { diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/EnableCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/EnableCommand.java index a135309b..837bd3db 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/EnableCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/EnableCommand.java @@ -17,7 +17,7 @@ public class EnableCommand extends Command { if(params.length >= 2) { - int effectId = 0; + int effectId; try { effectId = Integer.parseInt(params[1]); @@ -48,13 +48,13 @@ public class EnableCommand extends Command return true; } - target.getHabboInfo().getCurrentRoom().giveEffect(target, effectId); + target.getHabboInfo().getCurrentRoom().giveEffect(target, effectId, -1); } } } catch (Exception e) { - e.printStackTrace(); + Emulator.getLogging().logErrorLine(e); } } } diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/EventCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/EventCommand.java index 6b07899b..bc5b9747 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/EventCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/EventCommand.java @@ -23,12 +23,12 @@ public class EventCommand extends Command { if (params.length >= 2) { - String message = ""; + StringBuilder message = new StringBuilder(); for (int i = 1; i < params.length; i++) { - message += params[i]; - message += " "; + message.append(params[i]); + message.append(" "); } THashMap codes = new THashMap<>(); @@ -37,7 +37,7 @@ public class EventCommand extends Command codes.put("USERNAME", gameClient.getHabbo().getHabboInfo().getUsername()); codes.put("LOOK", gameClient.getHabbo().getHabboInfo().getLook()); codes.put("TIME", Emulator.getDate().toString()); - codes.put("MESSAGE", message); + codes.put("MESSAGE", message.toString()); ServerMessage msg = new BubbleAlertComposer("hotel.event", codes).compose(); diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/GiftCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/GiftCommand.java index d53df245..797926ff 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/GiftCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/GiftCommand.java @@ -25,76 +25,77 @@ public class GiftCommand extends Command { if(params.length >= 3) { + String username = params[1]; + int itemId; + try { - String username = params[1]; - int itemId = Integer.valueOf(params[2]); - - if(itemId < 0) - { - gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_gift.not_a_number"), RoomChatMessageBubbles.ALERT); - return true; - } - - Item baseItem = Emulator.getGameEnvironment().getItemManager().getItem(itemId); - - if(baseItem == null) - { - gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_gift.not_found").replace("%itemid%", itemId + ""), RoomChatMessageBubbles.ALERT); - return true; - } - - HabboInfo habboInfo = HabboManager.getOfflineHabboInfo(username); - - if(habboInfo == null) - { - gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_gift.user_not_found").replace("%username%", username), RoomChatMessageBubbles.ALERT); - return true; - } - - String message = ""; - - if(params.length > 3) - { - for (int i = 3; i < params.length; i++) - { - message += params[i] + " "; - } - } - - final String finalMessage = message; - - HabboItem item = Emulator.getGameEnvironment().getItemManager().createItem(0, baseItem, 0, 0, ""); - - Item giftItem = Emulator.getGameEnvironment().getItemManager().getItem((Integer)Emulator.getGameEnvironment().getCatalogManager().giftFurnis.values().toArray()[Emulator.getRandom().nextInt(Emulator.getGameEnvironment().getCatalogManager().giftFurnis.size())]); - - String extraData = "1\t" + item.getId(); - extraData += "\t0\t0\t0\t"+ finalMessage +"\t0\t0"; - - Emulator.getGameEnvironment().getItemManager().createGift(username, giftItem, extraData, 0, 0); - - gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.succes.cmd_gift").replace("%username%", username).replace("%itemname%", item.getBaseItem().getName()), RoomChatMessageBubbles.ALERT); - - Habbo habbo = Emulator.getGameEnvironment().getHabboManager().getHabbo(habboInfo.getId()); - - if (habbo != null) - { - habbo.getClient().sendResponse(new InventoryRefreshComposer()); - - THashMap keys = new THashMap<>(); - keys.put("display", "BUBBLE"); - keys.put("image", "${image.library.url}notifications/gift.gif"); - keys.put("message", Emulator.getTexts().getValue("generic.gift.received.anonymous")); - habbo.getClient().sendResponse(new BubbleAlertComposer(BubbleAlertKeys.RECEIVED_BADGE.key, keys)); - } - return true; + itemId = Integer.valueOf(params[2]); } catch (Exception e) { - e.printStackTrace(); gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_gift.not_a_number"), RoomChatMessageBubbles.ALERT); return true; } + + if(itemId <= 0) + { + gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_gift.not_a_number"), RoomChatMessageBubbles.ALERT); + return true; + } + + Item baseItem = Emulator.getGameEnvironment().getItemManager().getItem(itemId); + + if(baseItem == null) + { + gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_gift.not_found").replace("%itemid%", itemId + ""), RoomChatMessageBubbles.ALERT); + return true; + } + + HabboInfo habboInfo = HabboManager.getOfflineHabboInfo(username); + + if(habboInfo == null) + { + gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_gift.user_not_found").replace("%username%", username), RoomChatMessageBubbles.ALERT); + return true; + } + + StringBuilder message = new StringBuilder(); + + if(params.length > 3) + { + for (int i = 3; i < params.length; i++) + { + message.append(params[i]).append(" "); + } + } + + final String finalMessage = message.toString(); + + HabboItem item = Emulator.getGameEnvironment().getItemManager().createItem(0, baseItem, 0, 0, ""); + + Item giftItem = Emulator.getGameEnvironment().getItemManager().getItem((Integer)Emulator.getGameEnvironment().getCatalogManager().giftFurnis.values().toArray()[Emulator.getRandom().nextInt(Emulator.getGameEnvironment().getCatalogManager().giftFurnis.size())]); + + String extraData = "1\t" + item.getId(); + extraData += "\t0\t0\t0\t"+ finalMessage +"\t0\t0"; + + Emulator.getGameEnvironment().getItemManager().createGift(username, giftItem, extraData, 0, 0); + + gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.succes.cmd_gift").replace("%username%", username).replace("%itemname%", item.getBaseItem().getName()), RoomChatMessageBubbles.ALERT); + + Habbo habbo = Emulator.getGameEnvironment().getHabboManager().getHabbo(habboInfo.getId()); + + if (habbo != null) + { + habbo.getClient().sendResponse(new InventoryRefreshComposer()); + + THashMap keys = new THashMap<>(); + keys.put("display", "BUBBLE"); + keys.put("image", "${image.library.url}notifications/gift.gif"); + keys.put("message", Emulator.getTexts().getValue("generic.gift.received.anonymous")); + habbo.getClient().sendResponse(new BubbleAlertComposer(BubbleAlertKeys.RECEIVED_BADGE.key, keys)); + } + return true; } return false; diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/HabnamCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/HabnamCommand.java index 9f3d811b..cab63622 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/HabnamCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/HabnamCommand.java @@ -16,7 +16,7 @@ public class HabnamCommand extends Command { if (gameClient.getHabbo().getHabboInfo().getCurrentRoom() != null) { - gameClient.getHabbo().getHabboInfo().getCurrentRoom().giveEffect(gameClient.getHabbo(), 140); + gameClient.getHabbo().getHabboInfo().getCurrentRoom().giveEffect(gameClient.getHabbo(), 140, 30); return true; } } diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/HotelAlertCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/HotelAlertCommand.java index d2f64db6..1bbb4d83 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/HotelAlertCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/HotelAlertCommand.java @@ -20,9 +20,9 @@ public class HotelAlertCommand extends Command { public boolean handle(GameClient gameClient, String[] params) { if(params.length > 1) { - String message = ""; + StringBuilder message = new StringBuilder(); for (int i = 1; i < params.length; i++) { - message += params[i] + " "; + message.append(params[i]).append(" "); } ServerMessage msg = new StaffAlertWithLinkComposer(message + "\r\n-" + gameClient.getHabbo().getHabboInfo().getUsername(), "").compose(); diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/HotelAlertLinkCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/HotelAlertLinkCommand.java index 65e74ee3..75f0d1dc 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/HotelAlertLinkCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/HotelAlertLinkCommand.java @@ -20,16 +20,16 @@ public class HotelAlertLinkCommand extends Command } String url = params[1]; - String message = ""; + StringBuilder message = new StringBuilder(); for (int i = 2; i < params.length; i++) { - message += params[i]; - message += " "; + message.append(params[i]); + message.append(" "); } - message += "\r\r-" + gameClient.getHabbo().getHabboInfo().getUsername() + ""; + message.append("\r\r-").append(gameClient.getHabbo().getHabboInfo().getUsername()).append(""); - Emulator.getGameServer().getGameClientManager().sendBroadcastResponse(new StaffAlertWithLinkComposer(message, url).compose()); + Emulator.getGameServer().getGameClientManager().sendBroadcastResponse(new StaffAlertWithLinkComposer(message.toString(), url).compose()); return true; } } \ No newline at end of file diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/IPBanCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/IPBanCommand.java index 92499728..44269ceb 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/IPBanCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/IPBanCommand.java @@ -19,8 +19,8 @@ public class IPBanCommand extends Command @Override public boolean handle(GameClient gameClient, String[] params) throws Exception { - HabboInfo habbo = null; - String reason = ""; + HabboInfo habbo; + StringBuilder reason = new StringBuilder(); if (params.length >= 2) { Habbo h = Emulator.getGameEnvironment().getHabboManager().getHabbo(params[1]); @@ -43,8 +43,8 @@ public class IPBanCommand extends Command { for (int i = 2; i < params.length; i++) { - reason += params[i]; - reason += " "; + reason.append(params[i]); + reason.append(" "); } } @@ -63,14 +63,14 @@ public class IPBanCommand extends Command return true; } - Emulator.getGameEnvironment().getModToolManager().ban(habbo.getId(), gameClient.getHabbo(), reason, TEN_YEARS, ModToolBanType.IP, -1); + Emulator.getGameEnvironment().getModToolManager().ban(habbo.getId(), gameClient.getHabbo(), reason.toString(), TEN_YEARS, ModToolBanType.IP, -1); count++; for (Habbo h : Emulator.getGameServer().getGameClientManager().getHabbosWithIP(habbo.getIpLogin())) { if (h != null) { count++; - Emulator.getGameEnvironment().getModToolManager().ban(h.getHabboInfo().getId(), gameClient.getHabbo(), reason, TEN_YEARS, ModToolBanType.IP, -1); + Emulator.getGameEnvironment().getModToolManager().ban(h.getHabboInfo().getId(), gameClient.getHabbo(), reason.toString(), TEN_YEARS, ModToolBanType.IP, -1); } } } diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/MachineBanCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/MachineBanCommand.java index 1bae3eba..4402200d 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/MachineBanCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/MachineBanCommand.java @@ -19,7 +19,7 @@ public class MachineBanCommand extends Command public boolean handle(GameClient gameClient, String[] params) throws Exception { HabboInfo habbo = null; - String reason = ""; + StringBuilder reason = new StringBuilder(); if (params.length >= 2) { Habbo h = Emulator.getGameEnvironment().getHabboManager().getHabbo(params[1]); @@ -38,12 +38,12 @@ public class MachineBanCommand extends Command { for (int i = 2; i < params.length; i++) { - reason += params[i]; - reason += " "; + reason.append(params[i]); + reason.append(" "); } } - int count = 0; + int count; if (habbo != null) { if (habbo == gameClient.getHabbo().getHabboInfo()) @@ -58,7 +58,7 @@ public class MachineBanCommand extends Command return true; } - count = Emulator.getGameEnvironment().getModToolManager().ban(habbo.getId(), gameClient.getHabbo(), reason, IPBanCommand.TEN_YEARS, ModToolBanType.MACHINE, -1).size(); + count = Emulator.getGameEnvironment().getModToolManager().ban(habbo.getId(), gameClient.getHabbo(), reason.toString(), IPBanCommand.TEN_YEARS, ModToolBanType.MACHINE, -1).size(); diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/MassGiftCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/MassGiftCommand.java index 22903b54..6096b59e 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/MassGiftCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/MassGiftCommand.java @@ -26,75 +26,76 @@ public class MassGiftCommand extends Command { if(params.length >= 2) { + int itemId; + try { - int itemId = Integer.valueOf(params[1]); - - if(itemId < 0) - { - gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_gift.not_a_number"), RoomChatMessageBubbles.ALERT); - return true; - } - - final Item baseItem = Emulator.getGameEnvironment().getItemManager().getItem(itemId); - - if(baseItem == null) - { - gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_gift.not_found").replace("%itemid%", itemId + ""), RoomChatMessageBubbles.ALERT); - return true; - } - - String message = ""; - - if(params.length > 2) - { - for (int i = 2; i < params.length; i++) - { - message += params[i] + " "; - } - } - - final String finalMessage = message; - - THashMap keys = new THashMap<>(); - keys.put("display", "BUBBLE"); - keys.put("image", "${image.library.url}notifications/gift.gif"); - keys.put("message", Emulator.getTexts().getValue("generic.gift.received.anonymous")); - ServerMessage giftNotificiationMessage = new BubbleAlertComposer(BubbleAlertKeys.RECEIVED_BADGE.key, keys).compose(); - - Emulator.getThreading().run(new Runnable() - { - @Override - public void run() - { - for(Map.Entry set : Emulator.getGameEnvironment().getHabboManager().getOnlineHabbos().entrySet()) - { - Habbo habbo = set.getValue(); - - HabboItem item = Emulator.getGameEnvironment().getItemManager().createItem(0, baseItem, 0, 0, ""); - - Item giftItem = Emulator.getGameEnvironment().getItemManager().getItem((Integer) Emulator.getGameEnvironment().getCatalogManager().giftFurnis.values().toArray()[Emulator.getRandom().nextInt(Emulator.getGameEnvironment().getCatalogManager().giftFurnis.size())]); - - String extraData = "1\t" + item.getId(); - extraData += "\t0\t0\t0\t"+ finalMessage +"\t0\t0"; - - Emulator.getGameEnvironment().getItemManager().createGift(habbo.getHabboInfo().getUsername(), giftItem, extraData, 0, 0); - - habbo.getClient().sendResponse(new InventoryRefreshComposer()); - habbo.getClient().sendResponse(giftNotificiationMessage); - } - } - }); - - - return true; + itemId = Integer.valueOf(params[1]); } catch (Exception e) { - e.printStackTrace(); gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_gift.not_a_number"), RoomChatMessageBubbles.ALERT); return true; } + + if(itemId <= 0) + { + gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_gift.not_a_number"), RoomChatMessageBubbles.ALERT); + return true; + } + + final Item baseItem = Emulator.getGameEnvironment().getItemManager().getItem(itemId); + + if(baseItem == null) + { + gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_gift.not_found").replace("%itemid%", itemId + ""), RoomChatMessageBubbles.ALERT); + return true; + } + + StringBuilder message = new StringBuilder(); + + if(params.length > 2) + { + for (int i = 2; i < params.length; i++) + { + message.append(params[i]).append(" "); + } + } + + final String finalMessage = message.toString(); + + THashMap keys = new THashMap<>(); + keys.put("display", "BUBBLE"); + keys.put("image", "${image.library.url}notifications/gift.gif"); + keys.put("message", Emulator.getTexts().getValue("generic.gift.received.anonymous")); + ServerMessage giftNotificiationMessage = new BubbleAlertComposer(BubbleAlertKeys.RECEIVED_BADGE.key, keys).compose(); + + Emulator.getThreading().run(new Runnable() + { + @Override + public void run() + { + for(Map.Entry set : Emulator.getGameEnvironment().getHabboManager().getOnlineHabbos().entrySet()) + { + Habbo habbo = set.getValue(); + + HabboItem item = Emulator.getGameEnvironment().getItemManager().createItem(0, baseItem, 0, 0, ""); + + Item giftItem = Emulator.getGameEnvironment().getItemManager().getItem((Integer) Emulator.getGameEnvironment().getCatalogManager().giftFurnis.values().toArray()[Emulator.getRandom().nextInt(Emulator.getGameEnvironment().getCatalogManager().giftFurnis.size())]); + + String extraData = "1\t" + item.getId(); + extraData += "\t0\t0\t0\t"+ finalMessage +"\t0\t0"; + + Emulator.getGameEnvironment().getItemManager().createGift(habbo.getHabboInfo().getUsername(), giftItem, extraData, 0, 0); + + habbo.getClient().sendResponse(new InventoryRefreshComposer()); + habbo.getClient().sendResponse(giftNotificiationMessage); + } + } + }); + + + return true; } return false; diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/MassPointsCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/MassPointsCommand.java index f9ceb234..fb4608f1 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/MassPointsCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/MassPointsCommand.java @@ -19,7 +19,7 @@ public class MassPointsCommand extends Command public boolean handle(GameClient gameClient, String[] params) throws Exception { int type = Emulator.getConfig().getInt("seasonal.primary.type"); - String amountString = ""; + String amountString; if(params.length == 3) { amountString = params[1]; @@ -83,7 +83,7 @@ public class MassPointsCommand extends Command if(habbo.getHabboInfo().getCurrentRoom() != null) habbo.whisper(message, RoomChatMessageBubbles.ALERT); else - habbo.getClient().sendResponse(new GenericAlertComposer(message)); + habbo.alert(message); } } return true; diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/MoonwalkCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/MoonwalkCommand.java index 76290657..d3d822ba 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/MoonwalkCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/MoonwalkCommand.java @@ -2,7 +2,6 @@ package com.eu.habbo.habbohotel.commands; import com.eu.habbo.Emulator; import com.eu.habbo.habbohotel.gameclients.GameClient; -import com.eu.habbo.messages.outgoing.rooms.users.RoomUserEffectComposer; public class MoonwalkCommand extends Command { @@ -16,16 +15,11 @@ public class MoonwalkCommand extends Command { if(gameClient.getHabbo().getHabboInfo().getCurrentRoom() != null && gameClient.getHabbo().getHabboStats().hasActiveClub()) { - if (gameClient.getHabbo().getRoomUnit().getEffectId() != 136) - { - gameClient.getHabbo().getRoomUnit().setEffectId(136); - gameClient.getHabbo().getHabboInfo().getCurrentRoom().sendComposer(new RoomUserEffectComposer(gameClient.getHabbo().getRoomUnit()).compose()); - } - else - { - gameClient.getHabbo().getRoomUnit().setEffectId(0); - gameClient.getHabbo().getHabboInfo().getCurrentRoom().sendComposer(new RoomUserEffectComposer(gameClient.getHabbo().getRoomUnit()).compose()); - } + int effect = 136; + if (gameClient.getHabbo().getRoomUnit().getEffectId() == 136) + effect = 0; + + gameClient.getHabbo().getHabboInfo().getCurrentRoom().giveEffect(gameClient.getHabbo(), effect, -1); return true; } diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/PetInfoCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/PetInfoCommand.java index d71b02b8..61cc764d 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/PetInfoCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/PetInfoCommand.java @@ -32,10 +32,7 @@ public class PetInfoCommand extends Command { if(pet.getName().equalsIgnoreCase(name)) { - if(!(pet instanceof Pet)) - return true; - - gameClient.sendResponse(new GenericAlertComposer("" + + gameClient.getHabbo().alert("" + Emulator.getTexts().getValue("commands.generic.cmd_pet_info.title") + ": " + pet.getName() + "\r\n" + Emulator.getTexts().getValue("generic.pet.id") + ": " + pet.getId() + "\r" + Emulator.getTexts().getValue("generic.pet.name") + ": " + pet.getName() + "\r" + @@ -50,7 +47,7 @@ public class PetInfoCommand extends Command Emulator.getTexts().getValue("generic.pet.level.hunger") + ": " + pet.levelHunger + "\r" + Emulator.getTexts().getValue("generic.pet.current_action") + ": " + (pet.getTask() == null ? Emulator.getTexts().getValue("generic.nothing") : pet.getTask().name()) + "\r" + Emulator.getTexts().getValue("generic.can.walk") + ": " + (pet.getRoomUnit().canWalk() ? Emulator.getTexts().getValue("generic.yes") : Emulator.getTexts().getValue("generic.no")) + "" - )); + ); } return true; diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/PixelCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/PixelCommand.java index c42138d7..be3f303b 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/PixelCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/PixelCommand.java @@ -30,7 +30,7 @@ public class PixelCommand extends Command if(habbo.getHabboInfo().getCurrentRoom() != null) habbo.whisper(Emulator.getTexts().getValue("commands.generic.cmd_duckets.received").replace("%amount%", Integer.valueOf(params[2]) + ""), RoomChatMessageBubbles.ALERT); else - habbo.getClient().sendResponse(new GenericAlertComposer(Emulator.getTexts().getValue("commands.generic.cmd_duckets.received").replace("%amount%", Integer.valueOf(params[2]) + ""))); + habbo.alert(Emulator.getTexts().getValue("commands.generic.cmd_duckets.received").replace("%amount%", Integer.valueOf(params[2]) + "")); gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.succes.cmd_duckets.send").replace("%amount%", Integer.valueOf(params[2]) + "").replace("%user%", params[1]), RoomChatMessageBubbles.ALERT); diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/PluginsCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/PluginsCommand.java index 9f068eed..26977aa6 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/PluginsCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/PluginsCommand.java @@ -15,14 +15,14 @@ public class PluginsCommand extends Command @Override public boolean handle(GameClient gameClient, String[] params) throws Exception { - String message = "Plugins (" + Emulator.getPluginManager().getPlugins().size() + ")\r"; + StringBuilder message = new StringBuilder("Plugins (" + Emulator.getPluginManager().getPlugins().size() + ")\r"); for (HabboPlugin plugin : Emulator.getPluginManager().getPlugins()) { - message += "\r" + plugin.configuration.name + " By " + plugin.configuration.author; + message.append("\r").append(plugin.configuration.name).append(" By ").append(plugin.configuration.author); } - gameClient.sendResponse(new GenericAlertComposer(message)); + gameClient.getHabbo().alert(message.toString()); return true; } diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/PointsCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/PointsCommand.java index e5d888cf..4cc2bf90 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/PointsCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/PointsCommand.java @@ -40,7 +40,7 @@ public class PointsCommand extends Command } } - int amount = 0; + int amount; try { @@ -59,7 +59,7 @@ public class PointsCommand extends Command if(habbo.getHabboInfo().getCurrentRoom() != null) habbo.whisper(Emulator.getTexts().getValue("commands.generic.cmd_points.received").replace("%amount%", amount + "").replace("%type%", Emulator.getTexts().getValue("seasonal.name." + type)), RoomChatMessageBubbles.ALERT); else - habbo.getClient().sendResponse(new GenericAlertComposer(Emulator.getTexts().getValue("commands.generic.cmd_points.received").replace("%amount%", amount + "").replace("%type%", Emulator.getTexts().getValue("seasonal.name." + type)))); + habbo.alert(Emulator.getTexts().getValue("commands.generic.cmd_points.received").replace("%amount%", amount + "").replace("%type%", Emulator.getTexts().getValue("seasonal.name." + type))); habbo.getClient().sendResponse(new UserPointsComposer(habbo.getHabboInfo().getCurrencyAmount(type), amount, type)); diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/PromoteTargetOfferCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/PromoteTargetOfferCommand.java index 786e2b64..17028a91 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/PromoteTargetOfferCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/PromoteTargetOfferCommand.java @@ -5,7 +5,7 @@ import com.eu.habbo.habbohotel.catalog.TargetOffer; import com.eu.habbo.habbohotel.gameclients.GameClient; import com.eu.habbo.habbohotel.users.Habbo; import com.eu.habbo.messages.outgoing.generic.alerts.MessagesForYouComposer; -import com.eu.habbo.messages.outgoing.unknown.TargetedOfferComposer; +import com.eu.habbo.messages.outgoing.catalog.TargetedOfferComposer; import gnu.trove.map.hash.THashMap; import java.util.ArrayList; @@ -36,11 +36,11 @@ public class PromoteTargetOfferCommand extends Command String[] textConfig = Emulator.getTexts().getValue("commands.cmd_promote_offer.list").replace("%amount%", targetOffers.size() + "").split("
"); String entryConfig = Emulator.getTexts().getValue("commands.cmd_promote_offer.list.entry"); - List message = new ArrayList(); + List message = new ArrayList<>(); - for (int i = 0; i < textConfig.length; i++) + for (String pair : textConfig) { - if (textConfig[i].contains("%list%")) + if (pair.contains("%list%")) { for (TargetOffer offer : targetOffers.values()) { @@ -49,7 +49,7 @@ public class PromoteTargetOfferCommand extends Command } else { - message.add(textConfig[i]); + message.add(pair); } } diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/RedeemCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/RedeemCommand.java index f9534831..1d12e340 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/RedeemCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/RedeemCommand.java @@ -58,8 +58,8 @@ public class RedeemCommand extends Command } } else if (item.getBaseItem().getName().startsWith("DF_")) { - int pointsType = 0; - int pointsAmount = 0; + int pointsType; + int pointsAmount; pointsType = Integer.valueOf(item.getBaseItem().getName().split("_")[1]); pointsAmount = Integer.valueOf(item.getBaseItem().getName().split("_")[2]); diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/RoomAlertCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/RoomAlertCommand.java index aaf4655f..62a31ce6 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/RoomAlertCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/RoomAlertCommand.java @@ -16,16 +16,16 @@ public class RoomAlertCommand extends Command @Override public boolean handle(GameClient gameClient, String[] params) throws Exception { - String message = ""; + StringBuilder message = new StringBuilder(); if (params.length >= 2) { for (int i = 1; i < params.length; i++) { - message += params[i] + " "; + message.append(params[i]).append(" "); } - if (message.isEmpty()) + if (message.length() == 0) { gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_roomalert.empty"), RoomChatMessageBubbles.ALERT); return true; @@ -35,7 +35,7 @@ public class RoomAlertCommand extends Command if (room != null) { - room.sendComposer(new ModToolIssueHandledComposer(message).compose()); + room.sendComposer(new ModToolIssueHandledComposer(message.toString()).compose()); return true; } } diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/RoomCreditsCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/RoomCreditsCommand.java index 4595e973..d16930b5 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/RoomCreditsCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/RoomCreditsCommand.java @@ -32,10 +32,9 @@ public class RoomCreditsCommand extends Command if(amount != 0) { final String message = Emulator.getTexts().getValue("commands.generic.cmd_credits.received").replace("%amount%", amount + ""); - final int finalAmount = amount; for (Habbo habbo : gameClient.getHabbo().getHabboInfo().getCurrentRoom().getHabbos()) { - habbo.giveCredits(finalAmount); + habbo.giveCredits(amount); habbo.whisper(message, RoomChatMessageBubbles.ALERT); } } diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/RoomEffectCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/RoomEffectCommand.java index 3db70788..0c639deb 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/RoomEffectCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/RoomEffectCommand.java @@ -2,9 +2,9 @@ package com.eu.habbo.habbohotel.commands; import com.eu.habbo.Emulator; import com.eu.habbo.habbohotel.gameclients.GameClient; +import com.eu.habbo.habbohotel.rooms.Room; import com.eu.habbo.habbohotel.rooms.RoomChatMessageBubbles; import com.eu.habbo.habbohotel.users.Habbo; -import com.eu.habbo.messages.outgoing.rooms.users.RoomUserEffectComposer; public class RoomEffectCommand extends Command { @@ -28,10 +28,10 @@ public class RoomEffectCommand extends Command if(effectId >= 0) { - for (Habbo habbo : gameClient.getHabbo().getHabboInfo().getCurrentRoom().getHabbos()) + Room room = gameClient.getHabbo().getHabboInfo().getCurrentRoom(); + for (Habbo habbo : room.getHabbos()) { - habbo.getRoomUnit().setEffectId(effectId); - habbo.getHabboInfo().getCurrentRoom().sendComposer(new RoomUserEffectComposer(habbo.getRoomUnit()).compose()); + room.giveEffect(habbo, effectId, -1); } return true; diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/RoomGiftCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/RoomGiftCommand.java index 4d85d3d4..6527f20b 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/RoomGiftCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/RoomGiftCommand.java @@ -6,7 +6,7 @@ import com.eu.habbo.habbohotel.items.Item; import com.eu.habbo.habbohotel.rooms.RoomChatMessageBubbles; import com.eu.habbo.habbohotel.users.Habbo; import com.eu.habbo.habbohotel.users.HabboItem; -import com.eu.habbo.messages.outgoing.generic.alerts.WiredRewardAlertComposer; +import com.eu.habbo.messages.outgoing.wired.WiredRewardAlertComposer; import com.eu.habbo.messages.outgoing.inventory.InventoryRefreshComposer; public class RoomGiftCommand extends Command @@ -21,60 +21,61 @@ public class RoomGiftCommand extends Command { if(params.length >= 2) { + int itemId; + try { - int itemId = Integer.valueOf(params[1]); - - if(itemId < 0) - { - gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_gift.not_a_number"), RoomChatMessageBubbles.ALERT); - return true; - } - - final Item baseItem = Emulator.getGameEnvironment().getItemManager().getItem(itemId); - - if(baseItem == null) - { - gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_gift.not_found").replace("%itemid%", itemId + ""), RoomChatMessageBubbles.ALERT); - return true; - } - - String message = ""; - - if(params.length > 2) - { - for (int i = 2; i < params.length; i++) - { - message += params[i] + " "; - } - } - - final String finalMessage = message; - - for (Habbo habbo : gameClient.getHabbo().getHabboInfo().getCurrentRoom().getHabbos()) - { - HabboItem item = Emulator.getGameEnvironment().getItemManager().createItem(0, baseItem, 0, 0, ""); - - Item giftItem = Emulator.getGameEnvironment().getItemManager().getItem((Integer) Emulator.getGameEnvironment().getCatalogManager().giftFurnis.values().toArray()[Emulator.getRandom().nextInt(Emulator.getGameEnvironment().getCatalogManager().giftFurnis.size())]); - - String extraData = "1\t" + item.getId(); - extraData += "\t0\t0\t0\t"+ finalMessage +"\t0\t0"; - - Emulator.getGameEnvironment().getItemManager().createGift(habbo.getHabboInfo().getUsername(), giftItem, extraData, 0, 0); - - habbo.getClient().sendResponse(new InventoryRefreshComposer()); - - habbo.getClient().sendResponse(new WiredRewardAlertComposer(WiredRewardAlertComposer.REWARD_RECEIVED_ITEM)); - } - - return true; + itemId = Integer.valueOf(params[1]); } catch (Exception e) { - e.printStackTrace(); gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_gift.not_a_number"), RoomChatMessageBubbles.ALERT); return true; } + + if(itemId <= 0) + { + gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_gift.not_a_number"), RoomChatMessageBubbles.ALERT); + return true; + } + + final Item baseItem = Emulator.getGameEnvironment().getItemManager().getItem(itemId); + + if(baseItem == null) + { + gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_gift.not_found").replace("%itemid%", itemId + ""), RoomChatMessageBubbles.ALERT); + return true; + } + + StringBuilder message = new StringBuilder(); + + if(params.length > 2) + { + for (int i = 2; i < params.length; i++) + { + message.append(params[i]).append(" "); + } + } + + final String finalMessage = message.toString(); + + for (Habbo habbo : gameClient.getHabbo().getHabboInfo().getCurrentRoom().getHabbos()) + { + HabboItem item = Emulator.getGameEnvironment().getItemManager().createItem(0, baseItem, 0, 0, ""); + + Item giftItem = Emulator.getGameEnvironment().getItemManager().getItem((Integer) Emulator.getGameEnvironment().getCatalogManager().giftFurnis.values().toArray()[Emulator.getRandom().nextInt(Emulator.getGameEnvironment().getCatalogManager().giftFurnis.size())]); + + String extraData = "1\t" + item.getId(); + extraData += "\t0\t0\t0\t"+ finalMessage +"\t0\t0"; + + Emulator.getGameEnvironment().getItemManager().createGift(habbo.getHabboInfo().getUsername(), giftItem, extraData, 0, 0); + + habbo.getClient().sendResponse(new InventoryRefreshComposer()); + + habbo.getClient().sendResponse(new WiredRewardAlertComposer(WiredRewardAlertComposer.REWARD_RECEIVED_ITEM)); + } + + return true; } return false; diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/RoomKickCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/RoomKickCommand.java index 58b8df90..85fc19d2 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/RoomKickCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/RoomKickCommand.java @@ -22,10 +22,10 @@ public class RoomKickCommand extends Command { if(params.length > 1) { - String message = ""; + StringBuilder message = new StringBuilder(); for (int i = 1; i < params.length; i++) { - message += params[i] + " "; + message.append(params[i]).append(" "); } room.sendComposer(new GenericAlertComposer(message + "\r\n-" + gameClient.getHabbo().getHabboInfo().getUsername()).compose()); } diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/RoomPixelsCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/RoomPixelsCommand.java index 662fe7f1..dfbec1c1 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/RoomPixelsCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/RoomPixelsCommand.java @@ -32,10 +32,9 @@ public class RoomPixelsCommand extends Command if(amount != 0) { final String message = Emulator.getTexts().getValue("commands.generic.cmd_duckets.received").replace("%amount%", amount + ""); - final int finalAmount = amount; for (Habbo habbo : gameClient.getHabbo().getHabboInfo().getCurrentRoom().getHabbos()) { - habbo.givePixels(finalAmount); + habbo.givePixels(amount); habbo.whisper(message, RoomChatMessageBubbles.ALERT); } } diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/RoomPointsCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/RoomPointsCommand.java index 8bade20d..6be523ea 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/RoomPointsCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/RoomPointsCommand.java @@ -16,7 +16,7 @@ public class RoomPointsCommand extends Command public boolean handle(GameClient gameClient, String[] params) throws Exception { int type = Emulator.getConfig().getInt("seasonal.primary.type"); - String amountString = ""; + String amountString; if(params.length == 3) { try @@ -72,11 +72,9 @@ public class RoomPointsCommand extends Command { final String message = Emulator.getTexts().getValue("commands.generic.cmd_points.received").replace("%amount%", amount + "").replace("%type%", Emulator.getTexts().getValue("seasonal.name." + type)); - final int finalType = type; - final int finalAmount = amount; for (Habbo habbo : gameClient.getHabbo().getHabboInfo().getCurrentRoom().getHabbos()) { - habbo.givePoints(finalType, finalAmount); + habbo.givePoints(type, amount); habbo.whisper(message, RoomChatMessageBubbles.ALERT); } } diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/SayAllCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/SayAllCommand.java index 4b18c07a..7ecc311a 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/SayAllCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/SayAllCommand.java @@ -21,18 +21,15 @@ public class SayAllCommand extends Command return true; } - String message = ""; - if(params.length > 1) + StringBuilder message = new StringBuilder(); + for(int i = 1; i < params.length; i++) { - for(int i = 1; i < params.length; i++) - { - message += params[i] + " "; - } + message.append(params[i]).append(" "); } for (Habbo habbo : gameClient.getHabbo().getHabboInfo().getCurrentRoom().getHabbos()) { - habbo.talk(message); + habbo.talk(message.toString()); } return true; diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/SayCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/SayCommand.java index ab2a761e..5ac5763e 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/SayCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/SayCommand.java @@ -39,17 +39,17 @@ public class SayCommand extends Command } } - String message = ""; + StringBuilder message = new StringBuilder(); if(params.length > 2) { for(int i = 2; i < params.length; i++) { - message += params[i] + " "; + message.append(params[i]).append(" "); } } - target.getHabboInfo().getCurrentRoom().sendComposer(new RoomUserTalkComposer(new RoomChatMessage(message, target, RoomChatMessageBubbles.NORMAL)).compose()); - gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.succes.cmd_say").replace("%user%", params[1]).replace("%message%", message), RoomChatMessageBubbles.ALERT); + target.getHabboInfo().getCurrentRoom().sendComposer(new RoomUserTalkComposer(new RoomChatMessage(message.toString(), target, RoomChatMessageBubbles.NORMAL)).compose()); + gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.succes.cmd_say").replace("%user%", params[1]).replace("%message%", message.toString()), RoomChatMessageBubbles.ALERT); return true; } } diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/SetMaxCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/SetMaxCommand.java index be09dab5..a87e636e 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/SetMaxCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/SetMaxCommand.java @@ -16,7 +16,7 @@ public class SetMaxCommand extends Command { if (params.length >= 2) { - int max = 0; + int max; try { max = Integer.valueOf(params[1]); diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/ShoutAllCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/ShoutAllCommand.java index 310df2d1..80c2729e 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/ShoutAllCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/ShoutAllCommand.java @@ -21,18 +21,15 @@ public class ShoutAllCommand extends Command return true; } - String message = ""; - if(params.length > 1) + StringBuilder message = new StringBuilder(); + for(int i = 1; i < params.length; i++) { - for(int i = 1; i < params.length; i++) - { - message += params[i] + " "; - } + message.append(params[i]).append(" "); } for (Habbo habbo : gameClient.getHabbo().getHabboInfo().getCurrentRoom().getHabbos()) { - habbo.shout(message); + habbo.shout(message.toString()); } return true; diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/ShoutCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/ShoutCommand.java index 1a042dbe..3b442c9d 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/ShoutCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/ShoutCommand.java @@ -41,17 +41,17 @@ public class ShoutCommand extends Command } } - String message = ""; + StringBuilder message = new StringBuilder(); if(params.length > 2) { for(int i = 2; i < params.length; i++) { - message += params[i] + " "; + message.append(params[i]).append(" "); } } - target.getHabboInfo().getCurrentRoom().sendComposer(new RoomUserShoutComposer(new RoomChatMessage(message, target, RoomChatMessageBubbles.NORMAL)).compose()); - gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.succes.cmd_shout").replace("%user%", params[1]).replace("%message%", message), RoomChatMessageBubbles.ALERT); + target.getHabboInfo().getCurrentRoom().sendComposer(new RoomUserShoutComposer(new RoomChatMessage(message.toString(), target, RoomChatMessageBubbles.NORMAL)).compose()); + gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.succes.cmd_shout").replace("%user%", params[1]).replace("%message%", message.toString()), RoomChatMessageBubbles.ALERT); return true; } } diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/ShutdownCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/ShutdownCommand.java index b80b079f..4a9eed5e 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/ShutdownCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/ShutdownCommand.java @@ -18,14 +18,14 @@ public class ShutdownCommand extends Command @Override public boolean handle(GameClient gameClient, String[] params) throws Exception { - String reason = "-"; + StringBuilder reason = new StringBuilder("-"); int minutes = 0; if(params.length > 2) { - reason = ""; + reason = new StringBuilder(); for(int i = 1; i < params.length; i++) { - reason += params[i] + " "; + reason.append(params[i]).append(" "); } } else @@ -38,13 +38,13 @@ public class ShutdownCommand extends Command } catch (Exception e) { - reason = params[1]; + reason = new StringBuilder(params[1]); } } } - ServerMessage message = null; - if (!reason.equals("-")) + ServerMessage message; + if (!reason.toString().equals("-")) { message = new GenericAlertComposer("" + Emulator.getTexts().getValue("generic.warning") + " \r\n" + Emulator.getTexts().getValue("generic.shutdown").replace("%minutes%", minutes + "") + "\r\n" + diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/StaffAlertCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/StaffAlertCommand.java index f40f1fb0..2a415a67 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/StaffAlertCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/StaffAlertCommand.java @@ -18,14 +18,14 @@ public class StaffAlertCommand extends Command { if(params.length > 1) { - String message = ""; + StringBuilder message = new StringBuilder(); for (int i = 1; i < params.length; i++) { - message += params[i] + " "; + message.append(params[i]).append(" "); } Emulator.getGameEnvironment().getHabboManager().staffAlert(message + "\r\n-" + gameClient.getHabbo().getHabboInfo().getUsername()); - Emulator.getGameServer().getGameClientManager().sendBroadcastResponse(new FriendChatMessageComposer(new Message(gameClient.getHabbo().getHabboInfo().getId(), -1, message)).compose(), "acc_staff_chat", gameClient); + Emulator.getGameServer().getGameClientManager().sendBroadcastResponse(new FriendChatMessageComposer(new Message(gameClient.getHabbo().getHabboInfo().getId(), -1, message.toString())).compose(), "acc_staff_chat", gameClient); } else { diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/StaffOnlineCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/StaffOnlineCommand.java index 2c8d0b19..d6aca0cc 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/StaffOnlineCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/StaffOnlineCommand.java @@ -58,7 +58,7 @@ public class StaffOnlineCommand extends Command } } - Collections.sort(staffs, new Comparator() + staffs.sort(new Comparator() { @Override public int compare(Habbo o1, Habbo o2) @@ -67,18 +67,18 @@ public class StaffOnlineCommand extends Command } }); - String message = Emulator.getTexts().getValue("commands.generic.cmd_staffonline.staffs"); - message += "\r\n"; + StringBuilder message = new StringBuilder(Emulator.getTexts().getValue("commands.generic.cmd_staffonline.staffs")); + message.append("\r\n"); for(Habbo habbo : staffs) { - message += habbo.getHabboInfo().getUsername(); - message += ": "; - message += habbo.getHabboInfo().getRank().getName(); - message += "\r"; + message.append(habbo.getHabboInfo().getUsername()); + message.append(": "); + message.append(habbo.getHabboInfo().getRank().getName()); + message.append("\r"); } - gameClient.sendResponse(new GenericAlertComposer(message)); + gameClient.getHabbo().alert(message.toString()); } return true; diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/SummonCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/SummonCommand.java index 6d29de11..75b6c27e 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/SummonCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/SummonCommand.java @@ -61,7 +61,7 @@ public class SummonCommand extends Command habbo.getRoomUnit().setGoalLocation(t); } - habbo.getClient().sendResponse(new GenericAlertComposer(Emulator.getTexts().getValue("commands.generic.cmd_summon.been_summoned").replace("%user%", gameClient.getHabbo().getHabboInfo().getUsername()))); + habbo.alert(Emulator.getTexts().getValue("commands.generic.cmd_summon.been_summoned").replace("%user%", gameClient.getHabbo().getHabboInfo().getUsername())); return true; } diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/SummonRankCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/SummonRankCommand.java index 99f722b1..ac516aa0 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/SummonRankCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/SummonRankCommand.java @@ -18,7 +18,7 @@ public class SummonRankCommand extends Command @Override public boolean handle(GameClient gameClient, String[] params) throws Exception { - int minRank = 1; + int minRank; if(params.length >= 2) { diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/SuperbanCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/SuperbanCommand.java index 84cd0665..1d1a0411 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/SuperbanCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/SuperbanCommand.java @@ -19,7 +19,7 @@ public class SuperbanCommand extends Command public boolean handle(GameClient gameClient, String[] params) throws Exception { HabboInfo habbo = null; - String reason = ""; + StringBuilder reason = new StringBuilder(); if (params.length >= 2) { Habbo h = Emulator.getGameEnvironment().getHabboManager().getHabbo(params[1]); @@ -38,12 +38,12 @@ public class SuperbanCommand extends Command { for (int i = 2; i < params.length; i++) { - reason += params[i]; - reason += " "; + reason.append(params[i]); + reason.append(" "); } } - int count = 0; + int count; if (habbo != null) { if (habbo == gameClient.getHabbo().getHabboInfo()) @@ -58,7 +58,7 @@ public class SuperbanCommand extends Command return true; } - count = Emulator.getGameEnvironment().getModToolManager().ban(habbo.getId(), gameClient.getHabbo(), reason, IPBanCommand.TEN_YEARS, ModToolBanType.SUPER, -1).size(); + count = Emulator.getGameEnvironment().getModToolManager().ban(habbo.getId(), gameClient.getHabbo(), reason.toString(), IPBanCommand.TEN_YEARS, ModToolBanType.SUPER, -1).size(); } else { diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/TestCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/TestCommand.java index a788bf80..78bd08b4 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/TestCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/TestCommand.java @@ -91,7 +91,7 @@ public class TestCommand extends Command if (params[1].equals("ach")) { - AchievementManager.progressAchievement(gameClient.getHabbo(), Emulator.getGameEnvironment().getAchievementManager().getAchievement("Jogger"), 1); + AchievementManager.progressAchievement(gameClient.getHabbo(), Emulator.getGameEnvironment().getAchievementManager().getAchievement("Jogger"), 1000); return true; } @@ -125,28 +125,26 @@ public class TestCommand extends Command if(params[1].equals("units")) { - String s = ""; + StringBuilder s = new StringBuilder(); for(Habbo habbo : gameClient.getHabbo().getHabboInfo().getCurrentRoom().getHabbos()) { - s += "Habbo ID: " + habbo.getHabboInfo().getId() + ", RoomUnit ID: " + habbo.getRoomUnit().getId() + "\r"; + s.append("Habbo ID: ").append(habbo.getHabboInfo().getId()).append(", RoomUnit ID: ").append(habbo.getRoomUnit().getId()).append("\r"); } for (Pet pet : gameClient.getHabbo().getHabboInfo().getCurrentRoom().getCurrentPets().valueCollection()) { - s += "Pet ID: " + pet.getId() + ", RoomUnit ID: " + pet.getRoomUnit().getId() + ", Name: " + pet.getName(); + s.append("Pet ID: ").append(pet.getId()).append(", RoomUnit ID: ").append(pet.getRoomUnit().getId()).append(", Name: ").append(pet.getName()); if (pet instanceof MonsterplantPet) { - s += ", B:" + (((MonsterplantPet) pet).canBreed() ? "Y" : "N") + - ", PB: " + (((MonsterplantPet)pet).isPubliclyBreedable() ? "Y" : "N" ) + - ", D: " + (((MonsterplantPet) pet).isDead() ? "Y" : "N"); + s.append(", B:").append(((MonsterplantPet) pet).canBreed() ? "Y" : "N").append(", PB: ").append(((MonsterplantPet) pet).isPubliclyBreedable() ? "Y" : "N").append(", D: ").append(((MonsterplantPet) pet).isDead() ? "Y" : "N"); } - s += "\r"; + s.append("\r"); } - gameClient.sendResponse(new MessagesForYouComposer(new String[]{s})); + gameClient.sendResponse(new MessagesForYouComposer(new String[]{s.toString()})); return true; } @@ -168,14 +166,14 @@ public class TestCommand extends Command if (params[1].equalsIgnoreCase("bots")) { - String message = ""; + StringBuilder message = new StringBuilder(); for (Bot bot : gameClient.getHabbo().getHabboInfo().getCurrentRoom().getCurrentBots().valueCollection()) { - message += "Name: " + bot.getName() + ", ID: " + bot.getId() + ", RID: " + bot.getRoomUnit().getId() + ", Rot: " + bot.getRoomUnit().getBodyRotation() + "\r"; + message.append("Name: ").append(bot.getName()).append(", ID: ").append(bot.getId()).append(", RID: ").append(bot.getRoomUnit().getId()).append(", Rot: ").append(bot.getRoomUnit().getBodyRotation()).append("\r"); } - gameClient.sendResponse(new MessagesForYouComposer(new String[]{message})); + gameClient.sendResponse(new MessagesForYouComposer(new String[]{message.toString()})); return true; } @@ -220,9 +218,9 @@ public class TestCommand extends Command { Pet pet = gameClient.getHabbo().getHabboInfo().getCurrentRoom().getPet(Integer.valueOf(params[2])); - if(pet instanceof Pet) + if(pet != null) { - String a = ""; + String a; String b = ""; String c = ""; if(params[3] != null) @@ -267,14 +265,14 @@ public class TestCommand extends Command results.put(random, results.get(random) + 1); } - String result = "Results : " + params[2] + "

"; + StringBuilder result = new StringBuilder("Results : " + params[2] + "

"); for (Map.Entry set : results.entrySet()) { - result += set.getKey() + " -> " + set.getValue() + "
"; + result.append(set.getKey()).append(" -> ").append(set.getValue()).append("
"); } - gameClient.sendResponse(new GenericAlertComposer(result)); + gameClient.sendResponse(new GenericAlertComposer(result.toString())); } else if (params[1].equalsIgnoreCase("threads")) { @@ -403,7 +401,7 @@ public class TestCommand extends Command } else if (params[1].equals("datb")) { - long millis = 1; + long millis; long diff = 1; try(Connection conn = Emulator.getDatabase().getDataSource().getConnection()) { diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/TransformCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/TransformCommand.java index 86eabfd1..285dcc96 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/TransformCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/TransformCommand.java @@ -24,18 +24,18 @@ public class TransformCommand extends Command { if (params.length == 1) { - String petNames = ""; - petNames += (Emulator.getTexts().getValue("commands.generic.cmd_transform.title")); - petNames += "\r------------------------------------------------------------------------------\r"; + StringBuilder petNames = new StringBuilder(); + petNames.append(Emulator.getTexts().getValue("commands.generic.cmd_transform.title")); + petNames.append("\r------------------------------------------------------------------------------\r"); ArrayList petData = new ArrayList<>(Emulator.getGameEnvironment().getPetManager().getPetData()); Collections.sort(petData); String line = Emulator.getTexts().getValue("commands.generic.cmd_transform.line"); for (PetData p : petData) { - petNames += (line.replace("%id%", p.getType() + "").replace("%name%", p.getName())) + "\r"; + petNames.append(line.replace("%id%", p.getType() + "").replace("%name%", p.getName())).append("\r"); } - gameClient.sendResponse(new MessagesForYouComposer(new String[]{petNames})); + gameClient.sendResponse(new MessagesForYouComposer(new String[]{petNames.toString()})); return true; } else diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/UserInfoCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/UserInfoCommand.java index 2a59bb12..e13c8538 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/UserInfoCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/UserInfoCommand.java @@ -43,29 +43,29 @@ public class UserInfoCommand extends Command return true; } - String message = Emulator.getTexts().getValue("command.cmd_userinfo.userinfo") + ": " + " " + habbo.getUsername() + " (" + habbo.getId() + ")\r" + + StringBuilder message = new StringBuilder(Emulator.getTexts().getValue("command.cmd_userinfo.userinfo") + ": " + " " + habbo.getUsername() + " (" + habbo.getId() + ")\r" + Emulator.getTexts().getValue("command.cmd_userinfo.user_id") + ": " + habbo.getId() + "\r" + Emulator.getTexts().getValue("command.cmd_userinfo.user_name") + ": " + habbo.getUsername() + "\r" + Emulator.getTexts().getValue("command.cmd_userinfo.motto") + ": " + habbo.getMotto().replace("<", "[").replace(">", "]") + "\r" + - Emulator.getTexts().getValue("command.cmd_userinfo.rank") + ": " +habbo.getRank().getName() + " (" + habbo.getRank().getId() + ") \r" + + Emulator.getTexts().getValue("command.cmd_userinfo.rank") + ": " + habbo.getRank().getName() + " (" + habbo.getRank().getId() + ") \r" + Emulator.getTexts().getValue("command.cmd_userinfo.online") + ": " + (onlineHabbo == null ? Emulator.getTexts().getValue("generic.no") : Emulator.getTexts().getValue("generic.yes")) + "\r" + Emulator.getTexts().getValue("command.cmd_userinfo.email") + ": " + habbo.getMail() + "\r" + - ((habbo.getRank().hasPermission("acc_hide_ip", true))?"" : Emulator.getTexts().getValue("command.cmd_userinfo.ip_register") + ": "+ habbo.getIpRegister() + "\r") + - ((habbo.getRank().hasPermission("acc_hide_ip", true)) || onlineHabbo == null ? "" : Emulator.getTexts().getValue("command.cmd_userinfo.ip_current") + ": " + onlineHabbo.getClient().getChannel().remoteAddress().toString() + "\r") + - (onlineHabbo != null ? Emulator.getTexts().getValue("command.cmd_userinfo.achievement_score") + ": " + onlineHabbo.getHabboStats().achievementScore + "\r": ""); + ((habbo.getRank().hasPermission("acc_hide_ip", true)) ? "" : Emulator.getTexts().getValue("command.cmd_userinfo.ip_register") + ": " + habbo.getIpRegister() + "\r") + + ((habbo.getRank().hasPermission("acc_hide_ip", true)) || onlineHabbo == null ? "" : Emulator.getTexts().getValue("command.cmd_userinfo.ip_current") + ": " + onlineHabbo.getClient().getChannel().remoteAddress().toString() + "\r") + + (onlineHabbo != null ? Emulator.getTexts().getValue("command.cmd_userinfo.achievement_score") + ": " + onlineHabbo.getHabboStats().achievementScore + "\r" : "")); ModToolBan ban = Emulator.getGameEnvironment().getModToolManager().checkForBan(habbo.getId()); - message += Emulator.getTexts().getValue("command.cmd_userinfo.total_bans") + ": " + Emulator.getGameEnvironment().getModToolManager().totalBans(habbo.getId()) + "\r"; - message += Emulator.getTexts().getValue("command.cmd_userinfo.banned") + ": " + Emulator.getTexts().getValue(ban != null ? "generic.yes" : "generic.no") + "\r\r"; + message.append(Emulator.getTexts().getValue("command.cmd_userinfo.total_bans")).append(": ").append(Emulator.getGameEnvironment().getModToolManager().totalBans(habbo.getId())).append("\r"); + message.append(Emulator.getTexts().getValue("command.cmd_userinfo.banned")).append(": ").append(Emulator.getTexts().getValue(ban != null ? "generic.yes" : "generic.no")).append("\r\r"); if (ban != null) { - message += "" + Emulator.getTexts().getValue("command.cmd_userinfo.ban_info") + "\r"; - message += ban.listInfo() + "\r"; + message.append("").append(Emulator.getTexts().getValue("command.cmd_userinfo.ban_info")).append("\r"); + message.append(ban.listInfo()).append("\r"); } - message += "" + Emulator.getTexts().getValue("command.cmd_userinfo.currencies") + "\r"; - message += Emulator.getTexts().getValue("command.cmd_userinfo.credits") + ": " + habbo.getCredits() + "\r"; + message.append("").append(Emulator.getTexts().getValue("command.cmd_userinfo.currencies")).append("\r"); + message.append(Emulator.getTexts().getValue("command.cmd_userinfo.credits")).append(": ").append(habbo.getCredits()).append("\r"); TIntIntIterator iterator = habbo.getCurrencies().iterator(); for(int i = habbo.getCurrencies().size(); i-- > 0;) @@ -79,36 +79,27 @@ public class UserInfoCommand extends Command break; } - message += (Emulator.getTexts().getValue("seasonal.name." + iterator.key()) + ": " + iterator.value() + "\r"); + message.append(Emulator.getTexts().getValue("seasonal.name." + iterator.key())).append(": ").append(iterator.value()).append("\r"); } - message += "\r" + - - (onlineHabbo != null ? "" + Emulator.getTexts().getValue("command.cmd_userinfo.current_activity") + "\r" : "") + - (onlineHabbo != null ? Emulator.getTexts().getValue("command.cmd_userinfo.room") + ": " + (onlineHabbo.getHabboInfo().getCurrentRoom() != null ? onlineHabbo.getHabboInfo().getCurrentRoom().getName() + "(" + onlineHabbo.getHabboInfo().getCurrentRoom().getId() + ")\r" : "-" ): "") + - (onlineHabbo != null ? Emulator.getTexts().getValue("command.cmd_userinfo.respect_left") + ": " + onlineHabbo.getHabboStats().respectPointsToGive + "\r" : "") + - (onlineHabbo != null ? Emulator.getTexts().getValue("command.cmd_userinfo.pet_respect_left") + ": " + onlineHabbo.getHabboStats().petRespectPointsToGive + "\r" : "") + - (onlineHabbo != null ? Emulator.getTexts().getValue("command.cmd_userinfo.allow_trade") + ": " + ((onlineHabbo.getHabboStats().allowTrade()) ? Emulator.getTexts().getValue("generic.yes") : Emulator.getTexts().getValue("generic.no")) + "\r" : "") + - (onlineHabbo != null ? Emulator.getTexts().getValue("command.cmd_userinfo.allow_follow") + ": " + ((onlineHabbo.getHabboStats().blockFollowing) ? Emulator.getTexts().getValue("generic.no") : Emulator.getTexts().getValue("generic.yes")) + "\r" : "") + - (onlineHabbo != null ? Emulator.getTexts().getValue("command.cmd_userinfo.allow_friend_request") + ": " + ((onlineHabbo.getHabboStats().blockFriendRequests) ? Emulator.getTexts().getValue("generic.no") : Emulator.getTexts().getValue("generic.yes")) + "\r" : ""); + message.append("\r").append(onlineHabbo != null ? "" + Emulator.getTexts().getValue("command.cmd_userinfo.current_activity") + "\r" : "").append(onlineHabbo != null ? Emulator.getTexts().getValue("command.cmd_userinfo.room") + ": " + (onlineHabbo.getHabboInfo().getCurrentRoom() != null ? onlineHabbo.getHabboInfo().getCurrentRoom().getName() + "(" + onlineHabbo.getHabboInfo().getCurrentRoom().getId() + ")\r" : "-") : "").append(onlineHabbo != null ? Emulator.getTexts().getValue("command.cmd_userinfo.respect_left") + ": " + onlineHabbo.getHabboStats().respectPointsToGive + "\r" : "").append(onlineHabbo != null ? Emulator.getTexts().getValue("command.cmd_userinfo.pet_respect_left") + ": " + onlineHabbo.getHabboStats().petRespectPointsToGive + "\r" : "").append(onlineHabbo != null ? Emulator.getTexts().getValue("command.cmd_userinfo.allow_trade") + ": " + ((onlineHabbo.getHabboStats().allowTrade()) ? Emulator.getTexts().getValue("generic.yes") : Emulator.getTexts().getValue("generic.no")) + "\r" : "").append(onlineHabbo != null ? Emulator.getTexts().getValue("command.cmd_userinfo.allow_follow") + ": " + ((onlineHabbo.getHabboStats().blockFollowing) ? Emulator.getTexts().getValue("generic.no") : Emulator.getTexts().getValue("generic.yes")) + "\r" : "").append(onlineHabbo != null ? Emulator.getTexts().getValue("command.cmd_userinfo.allow_friend_request") + ": " + ((onlineHabbo.getHabboStats().blockFriendRequests) ? Emulator.getTexts().getValue("generic.no") : Emulator.getTexts().getValue("generic.yes")) + "\r" : ""); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); List> nameChanges = Emulator.getGameEnvironment().getHabboManager().getNameChanges(habbo.getId(), 3); if (!nameChanges.isEmpty()) { - message += "\rLatest name changes:
"; + message.append("\rLatest name changes:
"); for (Map.Entry entry : nameChanges) { - message += format.format(new Date((long)entry.getKey() * 1000L)) + " : " + entry.getValue() + "
"; + message.append(format.format(new Date((long) entry.getKey() * 1000L))).append(" : ").append(entry.getValue()).append("
"); } } if(onlineHabbo != null) { - message += "\r" + - "Other accounts ("; + message.append("\r" + "Other accounts ("); ArrayList users = Emulator.getGameEnvironment().getHabboManager().getCloneAccounts(onlineHabbo, 10); - Collections.sort(users, new Comparator() + users.sort(new Comparator() { @Override public int compare(HabboInfo o1, HabboInfo o2) @@ -117,17 +108,17 @@ public class UserInfoCommand extends Command } }); - message += users.size() + "):\r"; + message.append(users.size()).append("):\r"); - message += "Username,\tID,\tDate register,\tDate last online\r"; + message.append("Username,\tID,\tDate register,\tDate last online\r"); for(HabboInfo info : users) { - message += info.getUsername() + ",\t" + info.getId() + ",\t" + format.format(new Date((long)info.getAccountCreated() * 1000L)) + ",\t" + format.format(new Date((long)info.getLastOnline() * 1000L)) + "\r"; + message.append(info.getUsername()).append(",\t").append(info.getId()).append(",\t").append(format.format(new Date((long) info.getAccountCreated() * 1000L))).append(",\t").append(format.format(new Date((long) info.getLastOnline() * 1000L))).append("\r"); } } - gameClient.sendResponse(new GenericAlertComposer(message)); + gameClient.getHabbo().alert(message.toString()); return true; } diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/WordQuizCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/WordQuizCommand.java index e2f4b504..a01f718d 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/WordQuizCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/WordQuizCommand.java @@ -15,14 +15,14 @@ public class WordQuizCommand extends Command { if (!gameClient.getHabbo().getHabboInfo().getCurrentRoom().hasActiveWordQuiz()) { - String question = ""; + StringBuilder question = new StringBuilder(); int duration = 60; if (params.length > 2) { for (int i = 1; i < params.length - 1; i++) { - question += " " + params[i]; + question.append(" ").append(params[i]); } try @@ -31,15 +31,15 @@ public class WordQuizCommand extends Command } catch (Exception e) { - question += " " + params[params.length -1]; + question.append(" ").append(params[params.length - 1]); } } else { - question = params[1]; + question = new StringBuilder(params[1]); } - gameClient.getHabbo().getHabboInfo().getCurrentRoom().startWordQuiz(question, duration * 1000); + gameClient.getHabbo().getHabboInfo().getCurrentRoom().startWordQuiz(question.toString(), duration * 1000); } return true; } diff --git a/src/main/java/com/eu/habbo/habbohotel/crafting/CraftingAltar.java b/src/main/java/com/eu/habbo/habbohotel/crafting/CraftingAltar.java index 678ac0c0..3dfee1a4 100644 --- a/src/main/java/com/eu/habbo/habbohotel/crafting/CraftingAltar.java +++ b/src/main/java/com/eu/habbo/habbohotel/crafting/CraftingAltar.java @@ -20,8 +20,8 @@ public class CraftingAltar { this.baseItem = baseItem; - this.ingredients = new THashSet<>(); - this.recipes = new THashMap<>(); + this.ingredients = new THashSet<>(1); + this.recipes = new THashMap<>(1); } public void addIngredient(Item item) @@ -36,12 +36,12 @@ public class CraftingAltar public Map matchRecipes(Map amountMap) { - THashMap foundRecepies = new THashMap<>(); + THashMap foundRecepies = new THashMap<>(Math.max(1, this.recipes.size() / 3)); for (Map.Entry set : this.recipes.entrySet()) { boolean contains = true; - boolean equals = true; + boolean equals; if (set.getValue().isLimited() && !set.getValue().canBeCrafted()) { @@ -73,38 +73,6 @@ public class CraftingAltar } } - - - - - - - - - -// - - - - - - - - - - - - - -// - - - - - - - - if (contains) { foundRecepies.put(set.getValue(), equals); diff --git a/src/main/java/com/eu/habbo/habbohotel/crafting/CraftingManager.java b/src/main/java/com/eu/habbo/habbohotel/crafting/CraftingManager.java index 7086e71f..b40eb5a6 100644 --- a/src/main/java/com/eu/habbo/habbohotel/crafting/CraftingManager.java +++ b/src/main/java/com/eu/habbo/habbohotel/crafting/CraftingManager.java @@ -105,7 +105,7 @@ public class CraftingManager public CraftingRecipe getRecipe(String recipeName) { - CraftingRecipe recipe = null; + CraftingRecipe recipe; for (CraftingAltar altar : this.altars.values()) { recipe = altar.getRecipe(recipeName); diff --git a/src/main/java/com/eu/habbo/habbohotel/gameclients/GameClient.java b/src/main/java/com/eu/habbo/habbohotel/gameclients/GameClient.java index fac3d686..6186ea4b 100644 --- a/src/main/java/com/eu/habbo/habbohotel/gameclients/GameClient.java +++ b/src/main/java/com/eu/habbo/habbohotel/gameclients/GameClient.java @@ -27,7 +27,7 @@ public class GameClient private String machineId = ""; - public ConcurrentHashMap incomingPacketCounter = new ConcurrentHashMap<>(25); + public final ConcurrentHashMap incomingPacketCounter = new ConcurrentHashMap<>(25); public long lastPacketCounterCleared = Emulator.getIntUnixTimestamp(); public GameClient(Channel channel) @@ -43,7 +43,7 @@ public class GameClient try { ServerMessage msg = composer.compose(); - sendResponse(msg); + this.sendResponse(msg); } catch (Exception e) { Emulator.getLogging().logPacketError(e); 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 191bbb16..c6b9f49e 100644 --- a/src/main/java/com/eu/habbo/habbohotel/gameclients/GameClientManager.java +++ b/src/main/java/com/eu/habbo/habbohotel/gameclients/GameClientManager.java @@ -21,36 +21,14 @@ public class GameClientManager { this.clients = new ConcurrentHashMap<>(); } - + + public ConcurrentMap getSessions() { return this.clients; } - - public boolean containsClient(Channel channel) - { - return this.clients.containsKey(channel.id()); - } - - public GameClient getClient(Channel channel) - { - if (this.clients.containsKey(channel.id())) { - return this.clients.get(channel.id()); - } - return null; - } - public GameClient getClient(Habbo habbo) - { - for(GameClient client : this.clients.values()) - { - if(client.getHabbo() == habbo) - return client; - } - return null; - } - public boolean addClient(ChannelHandlerContext ctx) { GameClient client = new GameClient(ctx.channel()); @@ -59,19 +37,20 @@ public class GameClientManager @Override public void operationComplete(ChannelFuture channelFuture) throws Exception { - disposeClient(ctx.channel()); + GameClientManager.this.disposeClient(ctx.channel()); } }); - ctx.attr(CLIENT).set(client); + ctx.channel().attr(CLIENT).set(client); ctx.fireChannelRegistered(); return this.clients.putIfAbsent(ctx.channel().id(), client) == null; } + public void disposeClient(GameClient client) { - client.getChannel().close(); + this.disposeClient(client.getChannel()); } private void disposeClient(Channel channel) @@ -88,7 +67,8 @@ public class GameClientManager channel.close(); this.clients.remove(channel.id()); } - + + public boolean containsHabbo(Integer id) { if (!this.clients.isEmpty()) @@ -108,6 +88,7 @@ public class GameClientManager return false; } + public Habbo getHabbo(int id) { for(GameClient client : this.clients.values()) @@ -122,6 +103,7 @@ public class GameClientManager return null; } + public Habbo getHabbo(String username) { for(GameClient client : this.clients.values()) @@ -136,6 +118,7 @@ public class GameClientManager return null; } + public List getHabbosWithIP(String ip) { List habbos = new ArrayList<>(); @@ -154,6 +137,7 @@ public class GameClientManager return habbos; } + public List getHabbosWithMachineId(String machineId) { List habbos = new ArrayList<>(); @@ -169,28 +153,35 @@ public class GameClientManager return habbos; } + public void sendBroadcastResponse(MessageComposer composer) { - sendBroadcastResponse(composer.compose()); + this.sendBroadcastResponse(composer.compose()); } - public void sendBroadcastResponse(ServerMessage msg) + + public void sendBroadcastResponse(ServerMessage message) { - for (GameClient client : this.clients.values()) { - client.sendResponse(msg); + for (GameClient client : this.clients.values()) + { + client.sendResponse(message); } } - public void sendBroadcastResponse(ServerMessage msg, GameClient exclude) + + public void sendBroadcastResponse(ServerMessage message, GameClient exclude) { - for (GameClient client : this.clients.values()) { + for (GameClient client : this.clients.values()) + { if(client.equals(exclude)) continue; - client.sendResponse(msg); + client.sendResponse(message); } } + + public void sendBroadcastResponse(ServerMessage message, String minPermission, GameClient exclude) { for (GameClient client : this.clients.values()) diff --git a/src/main/java/com/eu/habbo/habbohotel/games/Game.java b/src/main/java/com/eu/habbo/habbohotel/games/Game.java index 8dfa3e6e..ff0fce34 100644 --- a/src/main/java/com/eu/habbo/habbohotel/games/Game.java +++ b/src/main/java/com/eu/habbo/habbohotel/games/Game.java @@ -31,19 +31,22 @@ public abstract class Game implements Runnable protected final THashMap teams = new THashMap<>(); - protected Room room; + protected final Room room; - protected boolean countsAchievements; + protected final boolean countsAchievements; protected int startTime; + protected int pauseTime; + + protected int endTime; - public boolean isRunning; + public GameState state = GameState.IDLE; public Game(Class gameTeamClazz, Class gamePlayerClazz, Room room, boolean countsAchievements) { @@ -137,14 +140,14 @@ public abstract class Game implements Runnable if (deleteGame) { - room.deleteGame(this); + this.room.deleteGame(this); } } public void start() { - this.isRunning = true; + this.state = GameState.RUNNING; this.startTime = Emulator.getIntUnixTimestamp(); if(Emulator.getPluginManager().isRegistered(GameStartedEvent.class, true)) @@ -158,17 +161,34 @@ public abstract class Game implements Runnable for (HabboItem item : this.room.getRoomSpecialTypes().getItemsOfType(WiredBlob.class)) { item.setExtradata("0"); - room.updateItem(item); + this.room.updateItem(item); } } public abstract void run(); + public void pause() + { + if (this.state.equals(GameState.RUNNING)) + { + this.state = GameState.PAUSED; + this.pauseTime = Emulator.getIntUnixTimestamp(); + } + } + + public void unpause() + { + if (this.state.equals(GameState.PAUSED)) + { + this.state = GameState.RUNNING; + this.endTime = Emulator.getIntUnixTimestamp() + (this.endTime - this.pauseTime); + } + } public void stop() { - this.isRunning = false; + this.state = GameState.IDLE; this.endTime = Emulator.getIntUnixTimestamp(); this.saveScores(); diff --git a/src/main/java/com/eu/habbo/habbohotel/games/GamePlayer.java b/src/main/java/com/eu/habbo/habbohotel/games/GamePlayer.java index 94cf50c0..6ce94dd4 100644 --- a/src/main/java/com/eu/habbo/habbohotel/games/GamePlayer.java +++ b/src/main/java/com/eu/habbo/habbohotel/games/GamePlayer.java @@ -7,7 +7,7 @@ import com.eu.habbo.habbohotel.wired.WiredTriggerType; public class GamePlayer { - private Habbo habbo; + private final Habbo habbo; private GameTeamColors teamColor; diff --git a/src/main/java/com/eu/habbo/habbohotel/games/GameState.java b/src/main/java/com/eu/habbo/habbohotel/games/GameState.java new file mode 100644 index 00000000..58c05c4d --- /dev/null +++ b/src/main/java/com/eu/habbo/habbohotel/games/GameState.java @@ -0,0 +1,8 @@ +package com.eu.habbo.habbohotel.games; + +public enum GameState +{ + IDLE, + RUNNING, + PAUSED +} \ No newline at end of file diff --git a/src/main/java/com/eu/habbo/habbohotel/games/battlebanzai/BattleBanzaiGame.java b/src/main/java/com/eu/habbo/habbohotel/games/battlebanzai/BattleBanzaiGame.java index 4a568a91..9cfcfb85 100644 --- a/src/main/java/com/eu/habbo/habbohotel/games/battlebanzai/BattleBanzaiGame.java +++ b/src/main/java/com/eu/habbo/habbohotel/games/battlebanzai/BattleBanzaiGame.java @@ -2,10 +2,7 @@ package com.eu.habbo.habbohotel.games.battlebanzai; import com.eu.habbo.Emulator; import com.eu.habbo.habbohotel.achievements.AchievementManager; -import com.eu.habbo.habbohotel.games.Game; -import com.eu.habbo.habbohotel.games.GamePlayer; -import com.eu.habbo.habbohotel.games.GameTeam; -import com.eu.habbo.habbohotel.games.GameTeamColors; +import com.eu.habbo.habbohotel.games.*; import com.eu.habbo.habbohotel.items.interactions.games.battlebanzai.InteractionBattleBanzaiSphere; import com.eu.habbo.habbohotel.items.interactions.games.battlebanzai.InteractionBattleBanzaiTile; import com.eu.habbo.habbohotel.items.interactions.games.battlebanzai.InteractionBattleBanzaiTimer; @@ -13,19 +10,15 @@ import com.eu.habbo.habbohotel.items.interactions.games.battlebanzai.gates.Inter import com.eu.habbo.habbohotel.items.interactions.games.battlebanzai.scoreboards.InteractionBattleBanzaiScoreboard; import com.eu.habbo.habbohotel.rooms.Room; import com.eu.habbo.habbohotel.rooms.RoomTile; -import com.eu.habbo.habbohotel.rooms.RoomUnitStatus; import com.eu.habbo.habbohotel.rooms.RoomUserAction; import com.eu.habbo.habbohotel.users.Habbo; import com.eu.habbo.habbohotel.users.HabboItem; import com.eu.habbo.messages.outgoing.rooms.users.RoomUserActionComposer; -import com.eu.habbo.messages.outgoing.rooms.users.RoomUserStatusComposer; -import com.eu.habbo.plugin.EventHandler; -import com.eu.habbo.plugin.EventPriority; -import com.eu.habbo.plugin.events.users.UserTakeStepEvent; import com.eu.habbo.threading.runnables.BattleBanzaiTilesFlicker; import gnu.trove.map.hash.THashMap; import gnu.trove.set.hash.THashSet; +import java.util.Collection; import java.util.Map; public class BattleBanzaiGame extends Game @@ -51,11 +44,14 @@ public class BattleBanzaiGame extends Game private final THashMap> lockedTiles; + private final THashMap gameTiles; + public BattleBanzaiGame(Room room) { super(BattleBanzaiGameTeam.class, BattleBanzaiGamePlayer.class, room, true); this.lockedTiles = new THashMap<>(); + this.gameTiles = new THashMap<>(); room.setAllowEffects(true); } @@ -63,7 +59,7 @@ public class BattleBanzaiGame extends Game @Override public void initialise() { - if(this.isRunning) + if(!this.state.equals(GameState.IDLE)) return; int highestTime = 0; @@ -115,7 +111,7 @@ public class BattleBanzaiGame extends Game @Override public void start() { - if(this.isRunning) + if(!this.state.equals(GameState.IDLE)) return; super.start(); @@ -130,7 +126,7 @@ public class BattleBanzaiGame extends Game { try { - if (!this.isRunning) + if (this.state.equals(GameState.IDLE)) return; if(this.countDown > 0) @@ -158,11 +154,13 @@ public class BattleBanzaiGame extends Game { Emulator.getThreading().run(this, 1000); + if (this.state.equals(GameState.PAUSED)) return; + this.timeLeft--; for (Map.Entry set : this.room.getRoomSpecialTypes().getBattleBanzaiTimers().entrySet()) { - set.getValue().setExtradata(timeLeft + ""); + set.getValue().setExtradata(this.timeLeft + ""); this.room.updateItemState(set.getValue()); } @@ -226,35 +224,30 @@ public class BattleBanzaiGame extends Game if (winningTeam != null) { - synchronized (winningTeam) + for (GamePlayer player : winningTeam.getMembers()) { - for (GamePlayer player : winningTeam.getMembers()) + if (player.getScore() > 0) { - if (player.getScore() > 0) - { - this.room.sendComposer(new RoomUserActionComposer(player.getHabbo().getRoomUnit(), RoomUserAction.WAVE).compose()); - AchievementManager.progressAchievement(player.getHabbo(), Emulator.getGameEnvironment().getAchievementManager().getAchievement("BattleBallWinner")); - } + this.room.sendComposer(new RoomUserActionComposer(player.getHabbo().getRoomUnit(), RoomUserAction.WAVE).compose()); + AchievementManager.progressAchievement(player.getHabbo(), Emulator.getGameEnvironment().getAchievementManager().getAchievement("BattleBallWinner")); } - - for (HabboItem item : this.room.getRoomSpecialTypes().getItemsOfType(InteractionBattleBanzaiSphere.class)) - { - item.setExtradata((7 + winningTeam.teamColor.type) + ""); - this.room.updateItemState(item); - } - - Emulator.getThreading().run(new BattleBanzaiTilesFlicker(this.lockedTiles.get(winningTeam.teamColor), winningTeam.teamColor, this.room)); } + + for (HabboItem item : this.room.getRoomSpecialTypes().getItemsOfType(InteractionBattleBanzaiSphere.class)) + { + item.setExtradata((7 + winningTeam.teamColor.type) + ""); + this.room.updateItemState(item); + } + + Emulator.getThreading().run(new BattleBanzaiTilesFlicker(this.lockedTiles.get(winningTeam.teamColor), winningTeam.teamColor, this.room)); } this.stop(); - - this.isRunning = false; } } catch (Exception e) { - e.printStackTrace(); + Emulator.getLogging().logErrorLine(e); } } @@ -265,23 +258,21 @@ public class BattleBanzaiGame extends Game this.timeLeft = 0; - //Think on Habbo the counters and tiles stay as is untill the game restarts. - - - - - - - - - this.refreshGates(); + for (HabboItem tile : this.gameTiles.values()) + { + if (tile.getExtradata().equals("1")) + { + tile.setExtradata("0"); + this.room.updateItemState(tile); + } + } this.lockedTiles.clear(); } - protected synchronized void resetMap() + private synchronized void resetMap() { for (HabboItem item : this.room.getFloorItems()) { @@ -290,6 +281,7 @@ public class BattleBanzaiGame extends Game item.setExtradata("1"); this.room.updateItemState(item); this.tileCount++; + this.gameTiles.put(item.getId(), item); } if (item instanceof InteractionBattleBanzaiScoreboard) @@ -316,25 +308,6 @@ public class BattleBanzaiGame extends Game } } - @EventHandler(priority = EventPriority.HIGH) - public static void onUserWalkEvent(UserTakeStepEvent event) - { - if(event.habbo.getHabboInfo().getCurrentGame() == BattleBanzaiGame.class) - { - BattleBanzaiGame game = (BattleBanzaiGame) event.habbo.getHabboInfo().getCurrentRoom().getGame(BattleBanzaiGame.class); - if (game != null && game.isRunning) - { - if(!event.habbo.getHabboInfo().getCurrentRoom().hasObjectTypeAt(InteractionBattleBanzaiTile.class, event.toLocation.x, event.toLocation.y)) - { - event.setCancelled(true); - event.habbo.getRoomUnit().setGoalLocation(event.habbo.getRoomUnit().getCurrentLocation()); - event.habbo.getRoomUnit().removeStatus(RoomUnitStatus.MOVE); - game.room.sendComposer(new RoomUserStatusComposer(event.habbo.getRoomUnit()).compose()); - } - } - } - } - public void tileLocked(GameTeamColors teamColor, HabboItem item, Habbo habbo) { @@ -392,12 +365,44 @@ public class BattleBanzaiGame extends Game private void refreshGates() { - THashSet tilesToUpdate = new THashSet<>(); - for (HabboItem item : this.room.getRoomSpecialTypes().getBattleBanzaiGates().values()) + Collection gates = this.room.getRoomSpecialTypes().getBattleBanzaiGates().values(); + THashSet tilesToUpdate = new THashSet<>(gates.size()); + for (HabboItem item : gates) { tilesToUpdate.add(this.room.getLayout().getTile(item.getX(), item.getY())); } this.room.updateTiles(tilesToUpdate); } + + public void markTile(Habbo habbo, InteractionBattleBanzaiTile tile, int state) + { + if (!this.gameTiles.contains(tile.getId())) return; + + int check = state - (habbo.getHabboInfo().getGamePlayer().getTeamColor().type * 3); + if(check == 3 || check == 4) + { + state++; + + if(state % 3 == 2) + { + habbo.getHabboInfo().getGamePlayer().addScore(BattleBanzaiGame.POINTS_LOCK_TILE); + this.tileLocked(habbo.getHabboInfo().getGamePlayer().getTeamColor(), tile, habbo); + } + else + { + habbo.getHabboInfo().getGamePlayer().addScore(BattleBanzaiGame.POINTS_FILL_TILE); + } + } + else + { + state = (habbo.getHabboInfo().getGamePlayer().getTeamColor().type * 3) + 3; + + habbo.getHabboInfo().getGamePlayer().addScore(BattleBanzaiGame.POINTS_HIJACK_TILE); + } + + this.refreshCounters(habbo.getHabboInfo().getGamePlayer().getTeamColor()); + tile.setExtradata(state + ""); + this.room.updateItem(tile); + } } diff --git a/src/main/java/com/eu/habbo/habbohotel/games/battlebanzai/BattleBanzaiGameTeam.java b/src/main/java/com/eu/habbo/habbohotel/games/battlebanzai/BattleBanzaiGameTeam.java index 05f5bd3a..55e7f3f2 100644 --- a/src/main/java/com/eu/habbo/habbohotel/games/battlebanzai/BattleBanzaiGameTeam.java +++ b/src/main/java/com/eu/habbo/habbohotel/games/battlebanzai/BattleBanzaiGameTeam.java @@ -17,19 +17,19 @@ public class BattleBanzaiGameTeam extends GameTeam { super.addMember(gamePlayer); - gamePlayer.getHabbo().getHabboInfo().getCurrentRoom().giveEffect(gamePlayer.getHabbo(), BattleBanzaiGame.effectId + this.teamColor.type); + gamePlayer.getHabbo().getHabboInfo().getCurrentRoom().giveEffect(gamePlayer.getHabbo(), BattleBanzaiGame.effectId + this.teamColor.type, -1); } @Override public void removeMember(GamePlayer gamePlayer) { Game game = gamePlayer.getHabbo().getHabboInfo().getCurrentRoom().getGame(gamePlayer.getHabbo().getHabboInfo().getCurrentGame()); - if(game != null && game instanceof BattleBanzaiGame) + if(game instanceof BattleBanzaiGame) { ((BattleBanzaiGame) game).addPositionToGate(gamePlayer.getTeamColor()); } - gamePlayer.getHabbo().getHabboInfo().getCurrentRoom().giveEffect(gamePlayer.getHabbo(), 0); + gamePlayer.getHabbo().getHabboInfo().getCurrentRoom().giveEffect(gamePlayer.getHabbo(), 0, -1); gamePlayer.getHabbo().getRoomUnit().setCanWalk(true); super.removeMember(gamePlayer); diff --git a/src/main/java/com/eu/habbo/habbohotel/games/football/FootballGame.java b/src/main/java/com/eu/habbo/habbohotel/games/football/FootballGame.java index b9cf2509..48fe15ea 100644 --- a/src/main/java/com/eu/habbo/habbohotel/games/football/FootballGame.java +++ b/src/main/java/com/eu/habbo/habbohotel/games/football/FootballGame.java @@ -40,15 +40,14 @@ public class FootballGame extends Game if(this.room == null || !this.room.isLoaded()) return; - Habbo habbo = room.getHabbo(kicker); + Habbo habbo = this.room.getHabbo(kicker); if(habbo != null) { AchievementManager.progressAchievement(habbo, Emulator.getGameEnvironment().getAchievementManager().getAchievement("FootballGoalScored")); - } - - if (habbo.getHabboInfo().getId() != this.room.getOwnerId()) - { - AchievementManager.progressAchievement(this.room.getOwnerId(), Emulator.getGameEnvironment().getAchievementManager().getAchievement("FootballGoalScoredInRoom")); + if (habbo.getHabboInfo().getId() != this.room.getOwnerId()) + { + AchievementManager.progressAchievement(this.room.getOwnerId(), Emulator.getGameEnvironment().getAchievementManager().getAchievement("FootballGoalScoredInRoom")); + } } this.room.sendComposer(new RoomUserActionComposer(kicker, RoomUserAction.WAVE).compose()); @@ -58,5 +57,4 @@ public class FootballGame extends Game scoreBoard.getValue().changeScore(1); } } - } \ No newline at end of file diff --git a/src/main/java/com/eu/habbo/habbohotel/games/freeze/FreezeGame.java b/src/main/java/com/eu/habbo/habbohotel/games/freeze/FreezeGame.java index c5a42cda..24c3b368 100644 --- a/src/main/java/com/eu/habbo/habbohotel/games/freeze/FreezeGame.java +++ b/src/main/java/com/eu/habbo/habbohotel/games/freeze/FreezeGame.java @@ -2,26 +2,24 @@ package com.eu.habbo.habbohotel.games.freeze; import com.eu.habbo.Emulator; import com.eu.habbo.habbohotel.achievements.AchievementManager; -import com.eu.habbo.habbohotel.games.Game; -import com.eu.habbo.habbohotel.games.GamePlayer; -import com.eu.habbo.habbohotel.games.GameTeam; -import com.eu.habbo.habbohotel.games.GameTeamColors; +import com.eu.habbo.habbohotel.games.*; import com.eu.habbo.habbohotel.items.interactions.games.freeze.InteractionFreezeBlock; import com.eu.habbo.habbohotel.items.interactions.games.freeze.InteractionFreezeExitTile; import com.eu.habbo.habbohotel.items.interactions.games.freeze.InteractionFreezeTile; import com.eu.habbo.habbohotel.items.interactions.games.freeze.InteractionFreezeTimer; import com.eu.habbo.habbohotel.items.interactions.games.freeze.gates.InteractionFreezeGate; import com.eu.habbo.habbohotel.items.interactions.games.freeze.scoreboards.InteractionFreezeScoreboard; -import com.eu.habbo.habbohotel.rooms.*; +import com.eu.habbo.habbohotel.rooms.Room; +import com.eu.habbo.habbohotel.rooms.RoomLayout; +import com.eu.habbo.habbohotel.rooms.RoomTile; +import com.eu.habbo.habbohotel.rooms.RoomUserAction; import com.eu.habbo.habbohotel.users.Habbo; import com.eu.habbo.habbohotel.users.HabboItem; import com.eu.habbo.habbohotel.wired.WiredHandler; import com.eu.habbo.habbohotel.wired.WiredTriggerType; import com.eu.habbo.messages.outgoing.rooms.users.RoomUserActionComposer; -import com.eu.habbo.messages.outgoing.rooms.users.RoomUserStatusComposer; import com.eu.habbo.plugin.EventHandler; import com.eu.habbo.plugin.events.emulator.EmulatorConfigUpdatedEvent; -import com.eu.habbo.plugin.events.users.UserTakeStepEvent; import com.eu.habbo.threading.runnables.freeze.FreezeClearEffects; import com.eu.habbo.threading.runnables.freeze.FreezeThrowSnowball; import gnu.trove.map.hash.THashMap; @@ -34,6 +32,7 @@ import java.util.Map; public class FreezeGame extends Game { public static final int effectId = 40; + public static int POWER_UP_POINTS; public static int POWER_UP_CHANCE; public static int POWER_UP_PROTECT_TIME; @@ -57,7 +56,7 @@ public class FreezeGame extends Game @Override public synchronized void initialise() { - if(this.isRunning) + if(this.state == GameState.RUNNING) return; int highestTime = 0; @@ -86,7 +85,7 @@ public class FreezeGame extends Game { if (this.getTeamForHabbo(habbo) == null) { - for (HabboItem item : room.getItemsAt(habbo.getRoomUnit().getCurrentLocation())) + for (HabboItem item : this.room.getItemsAt(habbo.getRoomUnit().getCurrentLocation())) { if (item instanceof InteractionFreezeTile) { @@ -136,13 +135,13 @@ public class FreezeGame extends Game public void throwBall(Habbo habbo, InteractionFreezeTile item) { - if (!this.isRunning || !habbo.getHabboInfo().isInGame() || habbo.getHabboInfo().getCurrentGame() != this.getClass()) + if (!this.state.equals(GameState.RUNNING) || !habbo.getHabboInfo().isInGame() || habbo.getHabboInfo().getCurrentGame() != this.getClass()) return; if (!item.getExtradata().equalsIgnoreCase("0") && !item.getExtradata().isEmpty()) return; - if (RoomLayout.tilesAdjecent(habbo.getRoomUnit().getCurrentLocation(), room.getLayout().getTile(item.getX(), item.getY()))) + if (RoomLayout.tilesAdjecent(habbo.getRoomUnit().getCurrentLocation(), this.room.getLayout().getTile(item.getX(), item.getY()))) { if(((FreezeGamePlayer)habbo.getHabboInfo().getGamePlayer()).canThrowSnowball()) { @@ -158,14 +157,15 @@ public class FreezeGame extends Game RoomTile t = this.room.getLayout().getTile(x, y); tiles.add(t); - for(int i = 0; i < 4; i++) + for(int rotatation = 0; rotatation < 8; rotatation += 2) { for(int j = 0; j < radius; j++) { - t = this.room.getLayout().getTileInFront(this.room.getLayout().getTile(x, y), i * 2, (short) radius); + t = this.room.getLayout().getTileInFront(this.room.getLayout().getTile(x, y), rotatation, j); if(t == null || t.x < 0 || t.y < 0 || t.x >= this.room.getLayout().getMapSizeX() || t.y >= this.room.getLayout().getMapSizeY()) continue; + tiles.add(t); } } @@ -177,13 +177,13 @@ public class FreezeGame extends Game { THashSet tiles = new THashSet<>(); - for(int i = 0; i < 4; i++) + for(int rotation = 1; rotation < 9; rotation += 2) { - RoomTile t = room.getLayout().getTile(x, y); + RoomTile t = this.room.getLayout().getTile(x, y); for(int j = 0; j < radius; j++) { - t = this.room.getLayout().getTileInFront(this.room.getLayout().getTile(x, y), (i * 2) + 1, (short) radius); + t = this.room.getLayout().getTileInFront(this.room.getLayout().getTile(x, y), rotation, j); if (t != null) { @@ -198,7 +198,7 @@ public class FreezeGame extends Game return tiles; } - public synchronized void explodeBox(InteractionFreezeBlock block) + public synchronized void explodeBox(InteractionFreezeBlock block, int delay) { int powerUp = 0; if(Emulator.getRandom().nextInt(100) + 1 <= FreezeGame.POWER_UP_CHANCE) @@ -206,7 +206,7 @@ public class FreezeGame extends Game powerUp += Emulator.getRandom().nextInt(6) + 1; } - block.setExtradata((powerUp + 1) * 1000 + ""); + block.setExtradata((powerUp + 1) + String.format("%3d", delay)); this.room.updateItemState(block); } @@ -273,7 +273,7 @@ public class FreezeGame extends Game @Override public void start() { - if (this.isRunning) + if (this.state != GameState.IDLE) { return; } @@ -292,13 +292,15 @@ public class FreezeGame extends Game { try { - if (!this.isRunning) + if (this.state.equals(GameState.IDLE)) return; - if (timeLeft > 0) + if (this.timeLeft > 0) { Emulator.getThreading().run(this, 1000); + if (this.state.equals(GameState.PAUSED)) return; + this.timeLeft--; for (GameTeam team : this.teams.values()) @@ -331,7 +333,7 @@ public class FreezeGame extends Game for (Map.Entry set : this.room.getRoomSpecialTypes().getFreezeTimers().entrySet()) { - set.getValue().setExtradata(timeLeft + ""); + set.getValue().setExtradata(this.timeLeft + ""); this.room.updateItemState(set.getValue()); } } else @@ -341,7 +343,7 @@ public class FreezeGame extends Game } catch (Exception e) { - e.printStackTrace(); + Emulator.getLogging().logErrorLine(e); } } @@ -391,7 +393,7 @@ public class FreezeGame extends Game for (Map.Entry set : this.room.getRoomSpecialTypes().getFreezeGates().entrySet()) { - if (teamMemberCount.containsKey(set.getValue())) + if (teamMemberCount.containsKey(set.getValue().teamColor)) { int amount = Math.min(teamMemberCount.get(set.getValue().teamColor), 5); set.getValue().setExtradata(amount + ""); @@ -413,32 +415,13 @@ public class FreezeGame extends Game public boolean execute(InteractionFreezeExitTile object) { object.setExtradata(state); - room.updateItemState(object); + FreezeGame.this.room.updateItemState(object); return true; } }); } - @EventHandler - public static void onUserWalkEvent(UserTakeStepEvent event) - { - if(event.habbo.getHabboInfo().getCurrentGame() == FreezeGame.class) - { - FreezeGame game = (FreezeGame) event.habbo.getHabboInfo().getCurrentRoom().getGame(FreezeGame.class); - if (game != null && game.isRunning) - { - if (!game.room.hasObjectTypeAt(InteractionFreezeTile.class, event.toLocation.x, event.toLocation.y)) - { - event.setCancelled(true); - event.habbo.getRoomUnit().setGoalLocation(event.habbo.getRoomUnit().getCurrentLocation()); - event.habbo.getRoomUnit().removeStatus(RoomUnitStatus.MOVE); - game.room.sendComposer(new RoomUserStatusComposer(event.habbo.getRoomUnit()).compose()); - } - } - } - } - @EventHandler public static void onConfigurationUpdated(EmulatorConfigUpdatedEvent event) { diff --git a/src/main/java/com/eu/habbo/habbohotel/games/freeze/FreezeGamePlayer.java b/src/main/java/com/eu/habbo/habbohotel/games/freeze/FreezeGamePlayer.java index 5c03be0f..be651e3b 100644 --- a/src/main/java/com/eu/habbo/habbohotel/games/freeze/FreezeGamePlayer.java +++ b/src/main/java/com/eu/habbo/habbohotel/games/freeze/FreezeGamePlayer.java @@ -74,7 +74,6 @@ public class FreezeGamePlayer extends GamePlayer { game.playerDies(this); } - return; } else { @@ -114,13 +113,7 @@ public class FreezeGamePlayer extends GamePlayer public boolean canThrowSnowball() { - if(this.snowBalls > 0) - { - if(!this.isFrozen()) - return true; - } - - return false; + return this.snowBalls > 0 && !this.isFrozen(); } public void freeze() @@ -220,7 +213,7 @@ public class FreezeGamePlayer extends GamePlayer { this.frozenTime--; - if(frozenTime <= 0) + if(this.frozenTime <= 0) { super.getHabbo().getRoomUnit().setCanWalk(true); needsEffectUpdate = true; @@ -260,6 +253,6 @@ public class FreezeGamePlayer extends GamePlayer if(this.dead) return; - super.getHabbo().getHabboInfo().getCurrentRoom().giveEffect(super.getHabbo(), this.correctEffectId()); + super.getHabbo().getHabboInfo().getCurrentRoom().giveEffect(super.getHabbo(), this.correctEffectId(), -1); } } diff --git a/src/main/java/com/eu/habbo/habbohotel/games/freeze/FreezeGameTeam.java b/src/main/java/com/eu/habbo/habbohotel/games/freeze/FreezeGameTeam.java index bd78c184..d92f11b7 100644 --- a/src/main/java/com/eu/habbo/habbohotel/games/freeze/FreezeGameTeam.java +++ b/src/main/java/com/eu/habbo/habbohotel/games/freeze/FreezeGameTeam.java @@ -16,12 +16,12 @@ public class FreezeGameTeam extends GameTeam public void removeMember(GamePlayer gamePlayer) { Game game = gamePlayer.getHabbo().getHabboInfo().getCurrentRoom().getGame(FreezeGame.class); - if(game != null && game instanceof FreezeGame) + if(game instanceof FreezeGame) { ((FreezeGame) game).placebackHelmet(gamePlayer.getTeamColor()); } - gamePlayer.getHabbo().getHabboInfo().getCurrentRoom().giveEffect(gamePlayer.getHabbo(), 0); + gamePlayer.getHabbo().getHabboInfo().getCurrentRoom().giveEffect(gamePlayer.getHabbo(), 0, -1); gamePlayer.getHabbo().getRoomUnit().setCanWalk(true); super.removeMember(gamePlayer); @@ -32,6 +32,6 @@ public class FreezeGameTeam extends GameTeam { super.addMember(gamePlayer); - gamePlayer.getHabbo().getHabboInfo().getCurrentRoom().giveEffect(gamePlayer.getHabbo(), FreezeGame.effectId + this.teamColor.type); + gamePlayer.getHabbo().getHabboInfo().getCurrentRoom().giveEffect(gamePlayer.getHabbo(), FreezeGame.effectId + this.teamColor.type, -1); } } diff --git a/src/main/java/com/eu/habbo/habbohotel/games/tag/TagGame.java b/src/main/java/com/eu/habbo/habbohotel/games/tag/TagGame.java index d63fb699..3865b745 100644 --- a/src/main/java/com/eu/habbo/habbohotel/games/tag/TagGame.java +++ b/src/main/java/com/eu/habbo/habbohotel/games/tag/TagGame.java @@ -50,7 +50,7 @@ public abstract class TagGame extends Game THashSet poles = room.getRoomSpecialTypes().getItemsOfType(this.getTagPole()); InteractionTagPole pole = this.taggers.get(tagger); - room.giveEffect(tagged, this.getTaggedEffect(tagged)); + room.giveEffect(tagged, this.getTaggedEffect(tagged), -1); if (poles.size() > this.taggers.size()) { @@ -61,7 +61,7 @@ public abstract class TagGame extends Game for (HabboItem item : poles) { - tagged.getHabboInfo().getCurrentRoom().giveEffect(tagged, getTaggedEffect(tagged)); + tagged.getHabboInfo().getCurrentRoom().giveEffect(tagged, this.getTaggedEffect(tagged), -1); this.taggers.put(tagged, (InteractionTagPole) item); } } @@ -69,7 +69,7 @@ public abstract class TagGame extends Game { if (tagger != null) { - room.giveEffect(tagger, this.getEffect(tagger)); + room.giveEffect(tagger, this.getEffect(tagger), -1); this.taggers.remove(tagger); } @@ -104,7 +104,7 @@ public abstract class TagGame extends Game if ((iterator.hasNext())) { HabboItem item = iterator.next(); - habbo.getHabboInfo().getCurrentRoom().giveEffect(habbo, getTaggedEffect(habbo)); + habbo.getHabboInfo().getCurrentRoom().giveEffect(habbo, this.getTaggedEffect(habbo), -1); this.taggers.put(habbo, (InteractionTagPole) item); return true; } @@ -114,13 +114,13 @@ public abstract class TagGame extends Game { if (this.taggers.isEmpty()) { - habbo.getHabboInfo().getCurrentRoom().giveEffect(habbo, getTaggedEffect(habbo)); + habbo.getHabboInfo().getCurrentRoom().giveEffect(habbo, this.getTaggedEffect(habbo), -1); this.taggers.put(habbo, null); return true; } } - habbo.getHabboInfo().getCurrentRoom().giveEffect(habbo, getEffect(habbo)); + habbo.getHabboInfo().getCurrentRoom().giveEffect(habbo, this.getEffect(habbo), -1); return true; } @@ -130,7 +130,7 @@ public abstract class TagGame extends Game { super.removeHabbo(habbo); this.taggers.remove(habbo); - habbo.getHabboInfo().getCurrentRoom().giveEffect(habbo, 0); + habbo.getHabboInfo().getCurrentRoom().giveEffect(habbo, 0, -1); } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/games/wired/WiredGame.java b/src/main/java/com/eu/habbo/habbohotel/games/wired/WiredGame.java index f92d85cc..7bd0ba26 100644 --- a/src/main/java/com/eu/habbo/habbohotel/games/wired/WiredGame.java +++ b/src/main/java/com/eu/habbo/habbohotel/games/wired/WiredGame.java @@ -51,7 +51,7 @@ public class WiredGame extends Game this.timeLeft--; for (Map.Entry set : this.room.getRoomSpecialTypes().getGameTimers().entrySet()) { - set.getValue().setExtradata(timeLeft + ""); + set.getValue().setExtradata(this.timeLeft + ""); this.room.updateItemState(set.getValue()); } } @@ -64,7 +64,7 @@ public class WiredGame extends Game @Override public boolean addHabbo(Habbo habbo, GameTeamColors teamColor) { - this.room.giveEffect(habbo, FreezeGame.effectId + teamColor.type); + this.room.giveEffect(habbo, FreezeGame.effectId + teamColor.type, -1); return super.addHabbo(habbo, teamColor); } @@ -72,6 +72,6 @@ public class WiredGame extends Game public void removeHabbo(Habbo habbo) { super.removeHabbo(habbo); - this.room.giveEffect(habbo, 0); + this.room.giveEffect(habbo, 0, -1); } } \ No newline at end of file diff --git a/src/main/java/com/eu/habbo/habbohotel/guides/GuardianTicket.java b/src/main/java/com/eu/habbo/habbohotel/guides/GuardianTicket.java index 11f85299..ed9cec54 100644 --- a/src/main/java/com/eu/habbo/habbohotel/guides/GuardianTicket.java +++ b/src/main/java/com/eu/habbo/habbohotel/guides/GuardianTicket.java @@ -29,7 +29,7 @@ public class GuardianTicket private final Habbo reported; private final Date date; - private int guardianCount = 0; + private int guardianCount = 0; //TODO: Figure out what this was supposed to do. public GuardianTicket(Habbo reporter, Habbo reported, ArrayList chatLogs) { @@ -45,9 +45,9 @@ public class GuardianTicket public void requestToVote(Habbo guardian) { - guardian.getClient().sendResponse(new GuardianNewReportReceivedComposer(this)); + guardian.getClient().sendResponse(new GuardianNewReportReceivedComposer()); - this.votes.put(guardian, new GuardianVote(guardianCount, guardian)); + this.votes.put(guardian, new GuardianVote(this.guardianCount, guardian)); Emulator.getThreading().run(new GuardianNotAccepted(this, guardian), Emulator.getConfig().getInt("guardians.accept.timer") * 1000); } @@ -148,7 +148,7 @@ public class GuardianTicket } else { - this.verdict = calculateVerdict(); + this.verdict = this.calculateVerdict(); for(Map.Entry set : this.votes.entrySet()) { @@ -170,9 +170,9 @@ public class GuardianTicket } - public boolean isFinished() + public boolean inProgress() { - return !(this.verdict == null); + return this.verdict == null; } @@ -206,7 +206,6 @@ public class GuardianTicket total += countAcceptably; total += countBadly; - total += countAwfully; diff --git a/src/main/java/com/eu/habbo/habbohotel/guides/GuardianVote.java b/src/main/java/com/eu/habbo/habbohotel/guides/GuardianVote.java index 5e64fdff..5e5bb9ca 100644 --- a/src/main/java/com/eu/habbo/habbohotel/guides/GuardianVote.java +++ b/src/main/java/com/eu/habbo/habbohotel/guides/GuardianVote.java @@ -4,10 +4,10 @@ import com.eu.habbo.habbohotel.users.Habbo; public class GuardianVote implements Comparable { - public int id; - public Habbo guardian; + public final int id; + final Habbo guardian; public GuardianVoteType type; - public boolean ignore; + boolean ignore; public GuardianVote(int id, Habbo guardian) { diff --git a/src/main/java/com/eu/habbo/habbohotel/guides/GuideManager.java b/src/main/java/com/eu/habbo/habbohotel/guides/GuideManager.java index 8e556e48..fd39073b 100644 --- a/src/main/java/com/eu/habbo/habbohotel/guides/GuideManager.java +++ b/src/main/java/com/eu/habbo/habbohotel/guides/GuideManager.java @@ -76,7 +76,7 @@ public class GuideManager { synchronized (this.activeHelpers) { - for(Map.Entry set : activeHelpers.entrySet()) + for(Map.Entry set : this.activeHelpers.entrySet()) { if(!set.getValue()) { @@ -375,8 +375,6 @@ public class GuideManager public GuardianTicket getOpenReportedHabboTicket(Habbo reported) { - GuardianTicket ticket = null; - synchronized (this.activeTickets) { for(GuardianTicket t : this.activeTickets) @@ -388,7 +386,7 @@ public class GuideManager } } - return ticket; + return null; } diff --git a/src/main/java/com/eu/habbo/habbohotel/guilds/Guild.java b/src/main/java/com/eu/habbo/habbohotel/guilds/Guild.java index c4997f48..7b4c40f6 100644 --- a/src/main/java/com/eu/habbo/habbohotel/guilds/Guild.java +++ b/src/main/java/com/eu/habbo/habbohotel/guilds/Guild.java @@ -246,7 +246,7 @@ public class Guild implements Runnable public int getDateCreated() { - return dateCreated; + return this.dateCreated; } public int getMemberCount() diff --git a/src/main/java/com/eu/habbo/habbohotel/guilds/GuildManager.java b/src/main/java/com/eu/habbo/habbohotel/guilds/GuildManager.java index 4d056777..91a67a87 100644 --- a/src/main/java/com/eu/habbo/habbohotel/guilds/GuildManager.java +++ b/src/main/java/com/eu/habbo/habbohotel/guilds/GuildManager.java @@ -7,7 +7,7 @@ import com.eu.habbo.habbohotel.rooms.Room; import com.eu.habbo.habbohotel.users.Habbo; import com.eu.habbo.messages.ServerMessage; import com.eu.habbo.messages.outgoing.guilds.GuildJoinErrorComposer; -import com.eu.habbo.messages.outgoing.unknown.GuildMembershipRequestedComposer; +import com.eu.habbo.messages.outgoing.guilds.GuildMembershipRequestedComposer; import gnu.trove.TCollections; import gnu.trove.iterator.TIntObjectIterator; import gnu.trove.map.TIntObjectMap; @@ -321,7 +321,7 @@ public class GuildManager if (guild.getState() == GuildState.LOCKED) { guild.increaseRequestCount(); - ServerMessage membershipRequestMessage = new GuildMembershipRequestedComposer(guild.getId(), client.getHabbo().getHabboInfo().getId()).compose(); + ServerMessage membershipRequestMessage = new GuildMembershipRequestedComposer(guild.getId(), client.getHabbo().getHabboInfo().getId(), client.getHabbo().getHabboInfo().getUsername(), client.getHabbo().getHabboInfo().getLook(), client.getHabbo().getHabboInfo().getGender()).compose(); for (GuildMember member : this.getOnlyAdmins(guild).values()) { Habbo habbo = Emulator.getGameEnvironment().getHabboManager().getHabbo(member.getUserId()); @@ -417,7 +417,7 @@ public class GuildManager public GuildMember getGuildMember(Guild guild, Habbo habbo) { - return getGuildMember(guild.getId(), habbo.getHabboInfo().getId()); + return this.getGuildMember(guild.getId(), habbo.getHabboInfo().getId()); } @@ -479,7 +479,7 @@ public class GuildManager { ArrayList guildMembers = new ArrayList<>(); - try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("SELECT users.username, users.look, guilds_members.* FROM guilds_members INNER JOIN users ON guilds_members.user_id = users.id WHERE guilds_members.guild_id = ? " + (rankQuery(levelId)) + " AND users.username LIKE ? ORDER BY level_id, member_since ASC LIMIT ?, ?")) + try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("SELECT users.username, users.look, guilds_members.* FROM guilds_members INNER JOIN users ON guilds_members.user_id = users.id WHERE guilds_members.guild_id = ? " + (this.rankQuery(levelId)) + " AND users.username LIKE ? ORDER BY level_id, member_since ASC LIMIT ?, ?")) { statement.setInt(1, guild.getId()); statement.setString(2, "%" + query + "%"); @@ -507,7 +507,7 @@ public class GuildManager { THashMap guildAdmins = new THashMap<>(); - try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("SELECT users.username, users.look, guilds_members.* FROM guilds_members INNER JOIN users ON guilds_members.user_id = users.id WHERE guilds_members.guild_id = ? " + (rankQuery(1)))) + try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("SELECT users.username, users.look, guilds_members.* FROM guilds_members INNER JOIN users ON guilds_members.user_id = users.id WHERE guilds_members.guild_id = ? " + (this.rankQuery(1)))) { statement.setInt(1, guild.getId()); try (ResultSet set = statement.executeQuery()) @@ -583,7 +583,7 @@ public class GuildManager { while (set.next()) { - Guild guild = getGuild(set.getInt("guild_id")); + Guild guild = this.getGuild(set.getInt("guild_id")); if (guild != null) { diff --git a/src/main/java/com/eu/habbo/habbohotel/guilds/GuildMember.java b/src/main/java/com/eu/habbo/habbohotel/guilds/GuildMember.java index 4b0d92c1..d9e76c28 100644 --- a/src/main/java/com/eu/habbo/habbohotel/guilds/GuildMember.java +++ b/src/main/java/com/eu/habbo/habbohotel/guilds/GuildMember.java @@ -31,17 +31,17 @@ public class GuildMember implements Comparable public int getUserId() { - return userId; + return this.userId; } public String getUsername() { - return username; + return this.username; } public String getLook() { - return look; + return this.look; } public void setLook(String look) @@ -51,7 +51,7 @@ public class GuildMember implements Comparable public int getJoinDate() { - return joinDate; + return this.joinDate; } public void setJoinDate(int joinDate) @@ -61,7 +61,7 @@ public class GuildMember implements Comparable public GuildRank getRank() { - return rank; + return this.rank; } public void setRank(GuildRank rank) diff --git a/src/main/java/com/eu/habbo/habbohotel/guilds/forums/GuildForumManager.java b/src/main/java/com/eu/habbo/habbohotel/guilds/forums/GuildForumManager.java index f9e45c72..abb0dee1 100644 --- a/src/main/java/com/eu/habbo/habbohotel/guilds/forums/GuildForumManager.java +++ b/src/main/java/com/eu/habbo/habbohotel/guilds/forums/GuildForumManager.java @@ -38,7 +38,10 @@ public class GuildForumManager } } - forum.updateLastRequested(); + if (forum != null) + { + forum.updateLastRequested(); + } return forum; } } diff --git a/src/main/java/com/eu/habbo/habbohotel/guilds/forums/GuildForumThread.java b/src/main/java/com/eu/habbo/habbohotel/guilds/forums/GuildForumThread.java index d4ecf19f..64ad553e 100644 --- a/src/main/java/com/eu/habbo/habbohotel/guilds/forums/GuildForumThread.java +++ b/src/main/java/com/eu/habbo/habbohotel/guilds/forums/GuildForumThread.java @@ -23,9 +23,9 @@ public class GuildForumThread implements ISerialize, Runnable private boolean pinned = false; private boolean locked = false; - private int lastAuthorId = 0; + private int lastAuthorId; private String lastAuthorName; - private int lastCommentTimestamp = 0; + private int lastCommentTimestamp; private int adminId; private String adminName = ""; @@ -157,7 +157,7 @@ public class GuildForumThread implements ISerialize, Runnable if (commentId >= 0) { comment.setId(commentId); - addComment(comment); + this.addComment(comment); return comment; } diff --git a/src/main/java/com/eu/habbo/habbohotel/helper/TalentTrackTalentState.java b/src/main/java/com/eu/habbo/habbohotel/helper/TalentTrackTalentState.java deleted file mode 100644 index c20ea4a2..00000000 --- a/src/main/java/com/eu/habbo/habbohotel/helper/TalentTrackTalentState.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.eu.habbo.habbohotel.helper; - -public enum TalentTrackTalentState -{ - CLOSED(0), - PROGRESS(1), - FINISHED(2); - - private final int state; - - TalentTrackTalentState(int state) - { - this.state = state; - } - - public int getState() - { - return this.state; - } -} diff --git a/src/main/java/com/eu/habbo/habbohotel/hotelview/HallOfFame.java b/src/main/java/com/eu/habbo/habbohotel/hotelview/HallOfFame.java index 226635d7..c9e69b8a 100644 --- a/src/main/java/com/eu/habbo/habbohotel/hotelview/HallOfFame.java +++ b/src/main/java/com/eu/habbo/habbohotel/hotelview/HallOfFame.java @@ -18,9 +18,9 @@ public class HallOfFame public HallOfFame() { - setCompetitionName("xmasRoomComp"); + this.setCompetitionName("xmasRoomComp"); - reload(); + this.reload(); } diff --git a/src/main/java/com/eu/habbo/habbohotel/hotelview/HotelViewManager.java b/src/main/java/com/eu/habbo/habbohotel/hotelview/HotelViewManager.java index e85437d5..b0a88504 100644 --- a/src/main/java/com/eu/habbo/habbohotel/hotelview/HotelViewManager.java +++ b/src/main/java/com/eu/habbo/habbohotel/hotelview/HotelViewManager.java @@ -18,12 +18,12 @@ public class HotelViewManager public HallOfFame getHallOfFame() { - return hallOfFame; + return this.hallOfFame; } public NewsList getNewsList() { - return newsList; + return this.newsList; } public void dispose() diff --git a/src/main/java/com/eu/habbo/habbohotel/hotelview/NewsList.java b/src/main/java/com/eu/habbo/habbohotel/hotelview/NewsList.java index d0026c40..ee961558 100644 --- a/src/main/java/com/eu/habbo/habbohotel/hotelview/NewsList.java +++ b/src/main/java/com/eu/habbo/habbohotel/hotelview/NewsList.java @@ -41,6 +41,6 @@ public class NewsList public ArrayList getNewsWidgets() { - return newsWidgets; + return this.newsWidgets; } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/CrackableReward.java b/src/main/java/com/eu/habbo/habbohotel/items/CrackableReward.java index 4cb60102..fe8dfbec 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/CrackableReward.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/CrackableReward.java @@ -26,25 +26,25 @@ public class CrackableReward this.achievementCracked = set.getString("achievement_cracked"); this.requiredEffect = set.getInt("required_effect"); - String[] data = set.getString("prizes").split(";"); + String[] prizes = set.getString("prizes").split(";"); this.prizes = new HashMap<>(); this.totalChance = 0; - for(int i = 0; i < data.length; i++) + for (String prize : prizes) { try { int itemId = 0; int chance = 100; - if (data[i].contains(":") && data[i].split(":").length == 2) + if (prize.contains(":") && prize.split(":").length == 2) { - itemId = Integer.valueOf(data[i].split(":")[0]); - chance = Integer.valueOf(data[i].split(":")[1]); + itemId = Integer.valueOf(prize.split(":")[0]); + chance = Integer.valueOf(prize.split(":")[1]); } else { - itemId = Integer.valueOf(data[i].replace(":", "")); + itemId = Integer.valueOf(prize.replace(":", "")); } this.prizes.put(itemId, new AbstractMap.SimpleEntry<>(this.totalChance, this.totalChance + chance)); diff --git a/src/main/java/com/eu/habbo/habbohotel/items/ICycleable.java b/src/main/java/com/eu/habbo/habbohotel/items/ICycleable.java index 5f30ccbe..6474c897 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/ICycleable.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/ICycleable.java @@ -4,5 +4,5 @@ import com.eu.habbo.habbohotel.rooms.Room; public interface ICycleable { - public void cycle(Room room); + void cycle(Room room); } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/IEventTriggers.java b/src/main/java/com/eu/habbo/habbohotel/items/IEventTriggers.java index 3160eae7..67e4a4e2 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/IEventTriggers.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/IEventTriggers.java @@ -6,9 +6,9 @@ import com.eu.habbo.habbohotel.rooms.RoomUnit; public interface IEventTriggers { - public void onClick(GameClient client, Room room, Object[] objects) throws Exception; + void onClick(GameClient client, Room room, Object[] objects) throws Exception; - public void onWalkOn(RoomUnit roomUnit, Room room, Object[] objects) throws Exception; + void onWalkOn(RoomUnit roomUnit, Room room, Object[] objects) throws Exception; - public void onWalkOff(RoomUnit roomUnit, Room room, Object[] objects) throws Exception; + void onWalkOff(RoomUnit roomUnit, Room room, Object[] objects) throws Exception; } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/ItemManager.java b/src/main/java/com/eu/habbo/habbohotel/items/ItemManager.java index 6fbea2fb..4cdd77c1 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/ItemManager.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/ItemManager.java @@ -2,6 +2,7 @@ package com.eu.habbo.habbohotel.items; import com.eu.habbo.Emulator; import com.eu.habbo.habbohotel.items.interactions.*; +import com.eu.habbo.habbohotel.items.interactions.games.InteractionGameTimer; import com.eu.habbo.habbohotel.items.interactions.games.battlebanzai.*; import com.eu.habbo.habbohotel.items.interactions.games.battlebanzai.gates.InteractionBattleBanzaiGateBlue; import com.eu.habbo.habbohotel.items.interactions.games.battlebanzai.gates.InteractionBattleBanzaiGateGreen; @@ -171,6 +172,7 @@ public class ItemManager this.interactionsList.add(new ItemInteraction("effect_vendingmachine", InteractionEffectVendingMachine.class)); this.interactionsList.add(new ItemInteraction("crackable_monster", InteractionMonsterCrackable.class)); this.interactionsList.add(new ItemInteraction("snowboard_slope", InteractionSnowboardSlope.class)); + this.interactionsList.add(new ItemInteraction("timer", InteractionGameTimer.class)); @@ -192,6 +194,8 @@ public class ItemManager this.interactionsList.add(new ItemInteraction("wf_trg_score_achieved", WiredTriggerScoreAchieved.class)); this.interactionsList.add(new ItemInteraction("wf_trg_idles", WiredTriggerHabboIdle.class)); this.interactionsList.add(new ItemInteraction("wf_trg_unidles", WiredTriggerHabboUnidle.class)); + this.interactionsList.add(new ItemInteraction("wf_trg_starts_dancing", WiredTriggerHabboStartsDancing.class)); + this.interactionsList.add(new ItemInteraction("wf_trg_stops_dancing", WiredTriggerHabboStopsDancing.class)); this.interactionsList.add(new ItemInteraction("wf_act_toggle_state", WiredEffectToggleFurni.class)); @@ -232,6 +236,7 @@ public class ItemManager this.interactionsList.add(new ItemInteraction("wf_act_alert", WiredEffectAlert.class)); this.interactionsList.add(new ItemInteraction("wf_act_give_handitem", WiredEffectGiveHandItem.class)); this.interactionsList.add(new ItemInteraction("wf_act_match_to_sshot2", WiredEffectMatchFurniStaff.class)); + this.interactionsList.add(new ItemInteraction("wf_act_give_effect", WiredEffectGiveEffect.class)); this.interactionsList.add(new ItemInteraction("wf_cnd_has_furni_on", WiredConditionFurniHaveFurni.class)); @@ -265,14 +270,16 @@ public class ItemManager this.interactionsList.add(new ItemInteraction("wf_cnd_not_freeze", WiredConditionNotFreezeGameActive.class)); this.interactionsList.add(new ItemInteraction("wf_cnd_habbo_has_rank", WiredConditionHabboHasRank.class)); this.interactionsList.add(new ItemInteraction("wf_cnd_habbo_not_rank", WiredConditionHabboNotRank.class)); - this.interactionsList.add(new ItemInteraction("wf_cnd_habbo_has_diamonds", WiredConditionHabboHasDiamonds.class)); - this.interactionsList.add(new ItemInteraction("wf_cnd_habbo_has_credits", WiredConditionHabboHasCredits.class)); - this.interactionsList.add(new ItemInteraction("wf_cnd_habbo_has_duckets", WiredConditionHabboHasDuckets.class)); - this.interactionsList.add(new ItemInteraction("wf_cnd_not_habbo_has_diamonds", WiredConditionNotHabboHasDiamonds.class)); - this.interactionsList.add(new ItemInteraction("wf_cnd_not_habbo_has_credits", WiredConditionNotHabboHasCredits.class)); - this.interactionsList.add(new ItemInteraction("wf_cnd_not_habbo_has_duckets", WiredConditionNotHabboHasDuckets.class)); - this.interactionsList.add(new ItemInteraction("wf_cnd_habbo_owns_badge", WiredConditionHabboOwnsBadge.class)); - this.interactionsList.add(new ItemInteraction("wf_cnd_not_habbo_owns_badge", WiredConditionNotHabboOwnsBadge.class)); + this.interactionsList.add(new ItemInteraction("wf_cnd_habbo_has_diamonds", WiredConditionHabboHasDiamonds.class)); + this.interactionsList.add(new ItemInteraction("wf_cnd_habbo_has_credits", WiredConditionHabboHasCredits.class)); + this.interactionsList.add(new ItemInteraction("wf_cnd_habbo_has_duckets", WiredConditionHabboHasDuckets.class)); + this.interactionsList.add(new ItemInteraction("wf_cnd_not_habbo_has_diamonds", WiredConditionNotHabboHasDiamonds.class)); + this.interactionsList.add(new ItemInteraction("wf_cnd_not_habbo_has_credits", WiredConditionNotHabboHasCredits.class)); + this.interactionsList.add(new ItemInteraction("wf_cnd_not_habbo_has_duckets", WiredConditionNotHabboHasDuckets.class)); + this.interactionsList.add(new ItemInteraction("wf_cnd_habbo_owns_badge", WiredConditionHabboOwnsBadge.class)); + this.interactionsList.add(new ItemInteraction("wf_cnd_not_habbo_owns_badge", WiredConditionNotHabboOwnsBadge.class)); + this.interactionsList.add(new ItemInteraction("wf_cnd_habbo_is_dancing", WiredConditionHabboIsDancing.class)); + this.interactionsList.add(new ItemInteraction("wf_cnd_not_habbo_is_dancing", WiredConditionNotHabboIsDancing.class)); this.interactionsList.add(new ItemInteraction("wf_xtra_random", WiredExtraRandom.class)); @@ -375,7 +382,7 @@ public class ItemManager } Emulator.getLogging().logDebugLine("Can't find interaction class:" + type.getName()); - return getItemInteraction(InteractionDefault.class); + return this.getItemInteraction(InteractionDefault.class); } @@ -431,7 +438,7 @@ public class ItemManager { while(set.next()) { - CrackableReward reward = null; + CrackableReward reward; try { reward = new CrackableReward(set); @@ -450,7 +457,7 @@ public class ItemManager } catch (Exception e) { - e.printStackTrace(); + Emulator.getLogging().logErrorLine(e); } } @@ -678,7 +685,7 @@ public class ItemManager deleteStatement.setInt(1, box.getId()); deleteStatement.execute(); - item = loadHabboItem(resultSet); + item = this.loadHabboItem(resultSet); } } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/NewUserGift.java b/src/main/java/com/eu/habbo/habbohotel/items/NewUserGift.java index 08193e61..9987969b 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/NewUserGift.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/NewUserGift.java @@ -23,7 +23,7 @@ public class NewUserGift implements ISerialize this.id = set.getInt("id"); this.type = Type.valueOf(set.getString("type").toUpperCase()); this.imageUrl = set.getString("image"); - this.items.put(type == Type.ROOM ? "" : set.getString("value"), type == Type.ROOM ? set.getString("value") : ""); + this.items.put(this.type == Type.ROOM ? "" : set.getString("value"), this.type == Type.ROOM ? set.getString("value") : ""); } public NewUserGift(int id, Type type, String imageUrl, Map items) { @@ -66,7 +66,7 @@ public class NewUserGift implements ISerialize } else if (this.type == Type.ROOM) { - + //TODO Give room } } @@ -90,7 +90,7 @@ public class NewUserGift implements ISerialize return this.items; } - public static enum Type + public enum Type { ITEM, ROOM diff --git a/src/main/java/com/eu/habbo/habbohotel/items/SoundTrack.java b/src/main/java/com/eu/habbo/habbohotel/items/SoundTrack.java index ff56cb3f..d2364166 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/SoundTrack.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/SoundTrack.java @@ -24,31 +24,31 @@ public class SoundTrack public int getId() { - return id; + return this.id; } public String getName() { - return name; + return this.name; } public String getAuthor() { - return author; + return this.author; } public String getCode() { - return code; + return this.code; } public String getData() { - return data; + return this.data; } public int getLength() { - return length; + return this.length; } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionBlackHole.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionBlackHole.java index babcf1e6..5b55d907 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionBlackHole.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionBlackHole.java @@ -30,14 +30,13 @@ public class InteractionBlackHole extends InteractionGate int holesCountProgress = 0; Habbo owner = room.getHabbo(this.getUserId()); - int furniCollecterProgress = 0; if (owner == null) { - furniCollecterProgress = AchievementManager.getAchievementProgressForHabbo(this.getUserId(), holeCountAchievement); + holesCountProgress = AchievementManager.getAchievementProgressForHabbo(this.getUserId(), holeCountAchievement); } else { - furniCollecterProgress = owner.getHabboStats().getAchievementProgress(holeCountAchievement); + holesCountProgress = owner.getHabboStats().getAchievementProgress(holeCountAchievement); } int holeDifference = room.getRoomSpecialTypes().getItemsOfType(InteractionBlackHole.class).size() - holesCountProgress; diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionCannon.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionCannon.java index 764131b9..b7070ec4 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionCannon.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionCannon.java @@ -67,16 +67,19 @@ public class InteractionCannon extends HabboItem tiles.remove(room.getLayout().getTileInFront(tile, (this.getRotation() + (this.getRotation() >= 4 ? -1 : 0)) % 8)); tiles.remove(room.getLayout().getTileInFront(tile, (this.getRotation() + (this.getRotation() >= 4 ? 5 : 4)) % 8)); - if ((client == null || tiles.contains(client.getHabbo().getRoomUnit().getCurrentLocation())) && !this.cooldown && - client.getHabbo().getRoomUnit().canWalk()) + if ((client == null || (tiles.contains(client.getHabbo().getRoomUnit().getCurrentLocation())) && client.getHabbo().getRoomUnit().canWalk()) && !this.cooldown) { - client.getHabbo().getRoomUnit().setCanWalk(false); - client.getHabbo().getRoomUnit().setGoalLocation(client.getHabbo().getRoomUnit().getCurrentLocation()); + if (client != null) + { + client.getHabbo().getRoomUnit().setCanWalk(false); + client.getHabbo().getRoomUnit().setGoalLocation(client.getHabbo().getRoomUnit().getCurrentLocation()); + client.getHabbo().getRoomUnit().lookAtPoint(fuseTile); + client.getHabbo().getRoomUnit().statusUpdate(true); + } + this.cooldown = true; this.setExtradata(this.getExtradata().equals("1") ? "0" : "1"); room.updateItemState(this); - client.getHabbo().getRoomUnit().lookAtPoint(fuseTile); - client.getHabbo().getRoomUnit().statusUpdate(true); Emulator.getThreading().run(new CannonKickAction(this, room, client), 750); Emulator.getThreading().run(new CannonResetCooldownAction(this), 2000); } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionColorPlate.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionColorPlate.java index e3ee0424..e8a623de 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionColorPlate.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionColorPlate.java @@ -33,7 +33,7 @@ public class InteractionColorPlate extends InteractionDefault { super.onWalkOff(roomUnit, room, objects); - change(room, -1); + this.change(room, -1); } private void change(Room room, int amount) diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionCrackable.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionCrackable.java index 76e3293f..e4598517 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionCrackable.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionCrackable.java @@ -71,9 +71,6 @@ public class InteractionCrackable extends HabboItem super.onClick(client, room, objects); synchronized (this.lock) { - if (client == null) - return; - if (this.getRoomId() == 0) return; @@ -109,15 +106,16 @@ public class InteractionCrackable extends HabboItem { CrackableReward rewardData = Emulator.getGameEnvironment().getItemManager().getCrackableData(this.getBaseItem().getId()); - if (rewardData.requiredEffect > 0 && habbo.getRoomUnit().getEffectId() != rewardData.requiredEffect) return; - - this.ticks++; - this.setExtradata("" + (this.ticks)); - this.needsUpdate(true); - room.updateItem(this); - if (rewardData != null) { + if (rewardData.requiredEffect > 0 && habbo.getRoomUnit().getEffectId() != rewardData.requiredEffect) + return; + + this.ticks++; + this.setExtradata("" + (this.ticks)); + this.needsUpdate(true); + room.updateItem(this); + if (!rewardData.achievementTick.isEmpty()) { AchievementManager.progressAchievement(habbo, Emulator.getGameEnvironment().getAchievementManager().getAchievement(rewardData.achievementTick)); diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionCustomValues.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionCustomValues.java index eb684b48..b9dc71f2 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionCustomValues.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionCustomValues.java @@ -67,16 +67,16 @@ public abstract class InteractionCustomValues extends HabboItem public String toExtraData() { - String data = ""; + StringBuilder data = new StringBuilder(); synchronized (this.values) { for (Map.Entry set : this.values.entrySet()) { - data += set.getKey() + "=" + set.getValue() + ";"; + data.append(set.getKey()).append("=").append(set.getValue()).append(";"); } } - return data; + return data.toString(); } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionDefault.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionDefault.java index ca09e65a..bf5f5093 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionDefault.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionDefault.java @@ -53,7 +53,7 @@ public class InteractionDefault extends HabboItem @Override public void onClick(GameClient client, Room room, Object[] objects) throws Exception { - if(room != null && (client == null || canToggle(client.getHabbo(), room) || (objects.length >= 2 && objects[1] instanceof WiredEffectType && objects[1] == WiredEffectType.TOGGLE_STATE))) + if(room != null && (client == null || this.canToggle(client.getHabbo(), room) || (objects.length >= 2 && objects[1] instanceof WiredEffectType && objects[1] == WiredEffectType.TOGGLE_STATE))) { super.onClick(client, room, objects); @@ -110,14 +110,13 @@ public class InteractionDefault extends HabboItem { if (habbo.getHabboInfo().getGender().equals(HabboGender.M) && this.getBaseItem().getEffectM() > 0 && habbo.getRoomUnit().getEffectId() != this.getBaseItem().getEffectM()) { - room.giveEffect(habbo, this.getBaseItem().getEffectM()); + room.giveEffect(habbo, this.getBaseItem().getEffectM(), -1); return; } if (habbo.getHabboInfo().getGender().equals(HabboGender.F) && this.getBaseItem().getEffectF() > 0 && habbo.getRoomUnit().getEffectId() != this.getBaseItem().getEffectF()) { - room.giveEffect(habbo, this.getBaseItem().getEffectF()); - return; + room.giveEffect(habbo, this.getBaseItem().getEffectF(), -1); } } } @@ -129,13 +128,12 @@ public class InteractionDefault extends HabboItem { if (bot.getGender().equals(HabboGender.M) && this.getBaseItem().getEffectM() > 0 && roomUnit.getEffectId() != this.getBaseItem().getEffectM()) { - room.giveEffect(bot.getRoomUnit(), this.getBaseItem().getEffectM()); + room.giveEffect(bot.getRoomUnit(), this.getBaseItem().getEffectM(), -1); return; } if (bot.getGender().equals(HabboGender.F) && this.getBaseItem().getEffectF() > 0 && roomUnit.getEffectId() != this.getBaseItem().getEffectF()) { - room.giveEffect(bot.getRoomUnit(), this.getBaseItem().getEffectF()); - return; + room.giveEffect(bot.getRoomUnit(), this.getBaseItem().getEffectF(), -1); } } } @@ -175,14 +173,13 @@ public class InteractionDefault extends HabboItem if (habbo.getHabboInfo().getGender().equals(HabboGender.M) && this.getBaseItem().getEffectM() > 0) { - room.giveEffect(habbo, 0); + room.giveEffect(habbo, 0, -1); return; } if (habbo.getHabboInfo().getGender().equals(HabboGender.F) && this.getBaseItem().getEffectF() > 0) { - room.giveEffect(habbo, 0); - return; + room.giveEffect(habbo, 0, -1); } } } @@ -194,14 +191,13 @@ public class InteractionDefault extends HabboItem { if (bot.getGender().equals(HabboGender.M) && this.getBaseItem().getEffectM() > 0) { - room.giveEffect(roomUnit, 0); + room.giveEffect(roomUnit, 0, -1); return; } if (bot.getGender().equals(HabboGender.F) && this.getBaseItem().getEffectF() > 0) { - room.giveEffect(roomUnit, 0); - return; + room.giveEffect(roomUnit, 0, -1); } } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionEffectGiver.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionEffectGiver.java index 002e4711..fcaf8e3c 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionEffectGiver.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionEffectGiver.java @@ -42,7 +42,7 @@ public class InteractionEffectGiver extends InteractionDefault if (!this.getExtradata().equals("0")) return; HabboItem instance = this; - room.giveEffect(roomUnit, this.getBaseItem().getRandomVendingItem()); + room.giveEffect(roomUnit, this.getBaseItem().getRandomVendingItem(), -1); if (this.getBaseItem().getStateCount() > 1) { @@ -54,7 +54,7 @@ public class InteractionEffectGiver extends InteractionDefault @Override public void run() { - setExtradata("0"); + InteractionEffectGiver.this.setExtradata("0"); room.updateItem(instance); } }, 500); diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionEffectTile.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionEffectTile.java index 3b70a62a..eb8dd772 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionEffectTile.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionEffectTile.java @@ -58,7 +58,7 @@ public class InteractionEffectTile extends InteractionPressurePlate if (habbo != null) { - giveEffect(room, roomUnit, habbo.getHabboInfo().getGender()); + this.giveEffect(room, roomUnit, habbo.getHabboInfo().getGender()); } } else if (roomUnit.getRoomUnitType() == RoomUnitType.BOT) @@ -67,7 +67,7 @@ public class InteractionEffectTile extends InteractionPressurePlate if (bot != null) { - giveEffect(room, roomUnit, bot.getGender()); + this.giveEffect(room, roomUnit, bot.getGender()); } } } @@ -76,10 +76,10 @@ public class InteractionEffectTile extends InteractionPressurePlate { if (gender.equals(HabboGender.M)) { - room.giveEffect(roomUnit, this.getBaseItem().getEffectM()); + room.giveEffect(roomUnit, this.getBaseItem().getEffectM(), -1); } else { - room.giveEffect(roomUnit, this.getBaseItem().getEffectF()); + room.giveEffect(roomUnit, this.getBaseItem().getEffectF(), -1); } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionEffectVendingMachine.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionEffectVendingMachine.java index 9c8f8825..eafb4cbc 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionEffectVendingMachine.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionEffectVendingMachine.java @@ -61,7 +61,7 @@ public class InteractionEffectVendingMachine extends InteractionDefault @Override public void run() { - room.giveEffect(client.getHabbo().getRoomUnit(), instance.getBaseItem().getRandomVendingItem()); + room.giveEffect(client.getHabbo().getRoomUnit(), instance.getBaseItem().getRandomVendingItem(), 30); } }); } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionFXBox.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionFXBox.java index 5849e2fc..b3027e0d 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionFXBox.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionFXBox.java @@ -35,7 +35,7 @@ public class InteractionFXBox extends InteractionDefault { if (this.getBaseItem().getEffectM() > 0) { - room.giveEffect(client.getHabbo(), this.getBaseItem().getEffectM()); + room.giveEffect(client.getHabbo(), this.getBaseItem().getEffectM(), -1); } } @@ -43,7 +43,7 @@ public class InteractionFXBox extends InteractionDefault { if (this.getBaseItem().getEffectF() > 0) { - room.giveEffect(client.getHabbo(), this.getBaseItem().getEffectF()); + room.giveEffect(client.getHabbo(), this.getBaseItem().getEffectF(), -1); } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionGift.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionGift.java index 3f6ff6ab..f49ab59a 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionGift.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionGift.java @@ -138,18 +138,18 @@ public class InteractionGift extends HabboItem public int getColorId() { - return colorId; + return this.colorId; } public int getRibbonId() { - return ribbonId; + return this.ribbonId; } public THashSet loadItems() { THashSet items = new THashSet<>(); - for (int anItemId : itemId) + for (int anItemId : this.itemId) { if (anItemId == 0) continue; diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionGymEquipment.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionGymEquipment.java index 6e063f05..4135ce56 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionGymEquipment.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionGymEquipment.java @@ -65,7 +65,7 @@ public class InteractionGymEquipment extends InteractionEffectTile implements IC public void onWalkOff(RoomUnit roomUnit, Room room, Object[] objects) throws Exception { super.onWalkOff(roomUnit, room, objects); - room.giveEffect(roomUnit, 0); + room.giveEffect(roomUnit, 0, -1); if (this.forceRotation()) { @@ -97,7 +97,7 @@ public class InteractionGymEquipment extends InteractionEffectTile implements IC int timestamp = Emulator.getIntUnixTimestamp(); if (timestamp - this.startTime >= 120) { - String achievement = achievementName(); + String achievement = this.achievementName(); if (!achievement.isEmpty()) { @@ -120,7 +120,7 @@ public class InteractionGymEquipment extends InteractionEffectTile implements IC Room room = Emulator.getGameEnvironment().getRoomManager().getRoom(this.getRoomId()); if (room != null) { - RoomUnit roomUnit = getCurrentRoomUnit(room); + RoomUnit roomUnit = this.getCurrentRoomUnit(room); if (roomUnit != null) { @@ -159,7 +159,7 @@ public class InteractionGymEquipment extends InteractionEffectTile implements IC { if (this.roomUnitId == -1) return; - room.giveEffect(getCurrentRoomUnit(room), effectId); + room.giveEffect(this.getCurrentRoomUnit(room), effectId, -1); } private void reset(Room room) diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionHabboClubGate.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionHabboClubGate.java index e3ff9643..22262bb1 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionHabboClubGate.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionHabboClubGate.java @@ -69,12 +69,16 @@ public class InteractionHabboClubGate extends InteractionGate @Override public void onClick(GameClient client, Room room, Object[] objects) throws Exception { - if(this.canWalkOn(client.getHabbo().getRoomUnit(), room, null)) - { - super.onClick(client, room, objects); - } - else + if (client != null) { + if (this.canWalkOn(client.getHabbo().getRoomUnit(), room, null)) + { + super.onClick(client, room, objects); + } + else + { + client.sendResponse(new CustomNotificationComposer(CustomNotificationComposer.GATE_NO_HC)); + } } } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionHabboClubHopper.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionHabboClubHopper.java index bfbaaa17..e2691d60 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionHabboClubHopper.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionHabboClubHopper.java @@ -3,6 +3,7 @@ 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.RoomTile; import com.eu.habbo.messages.outgoing.generic.alerts.CustomNotificationComposer; import java.sql.ResultSet; @@ -32,4 +33,10 @@ public class InteractionHabboClubHopper extends InteractionHopper client.sendResponse(new CustomNotificationComposer(CustomNotificationComposer.HOPPER_NO_HC)); } } + + @Override + protected boolean canUseTeleport(GameClient client, RoomTile front, Room room) + { + return super.canUseTeleport(client, front, room) && client.getHabbo().getHabboStats().hasActiveClub(); + } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionHabboClubTeleportTile.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionHabboClubTeleportTile.java index d2914bf6..e756285a 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionHabboClubTeleportTile.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionHabboClubTeleportTile.java @@ -1,5 +1,6 @@ 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.RoomUnit; @@ -32,4 +33,10 @@ public class InteractionHabboClubTeleportTile extends InteractionTeleportTile return false; } + + @Override + protected boolean canUseTeleport(GameClient client, Room room) + { + return client.getHabbo().getHabboStats().hasActiveClub(); + } } \ No newline at end of file diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionHanditem.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionHanditem.java index 713e269c..09dbe6e3 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionHanditem.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionHanditem.java @@ -54,7 +54,7 @@ public class InteractionHanditem extends InteractionDefault @Override public void run() { - setExtradata("0"); + InteractionHanditem.this.setExtradata("0"); room.updateItem(instance); } }, 500); diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionHopper.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionHopper.java index 7ebac4fd..8d87ccea 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionHopper.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionHopper.java @@ -62,7 +62,7 @@ public class InteractionHopper extends HabboItem RoomTile loc = HabboItem.getSquareInFront(room.getLayout(), this); if (loc != null) { - if (canUseTeleport(client, loc, room)) + if (this.canUseTeleport(client, loc, room)) { client.getHabbo().getRoomUnit().isTeleporting = true; this.setExtradata("1"); @@ -100,7 +100,7 @@ public class InteractionHopper extends HabboItem super.run(); } - private boolean canUseTeleport(GameClient client, RoomTile front, Room room) + protected boolean canUseTeleport(GameClient client, RoomTile front, Room room) { if(client.getHabbo().getRoomUnit().getX() != front.x) return false; @@ -114,9 +114,6 @@ public class InteractionHopper extends HabboItem if(!room.getHabbosAt(this.getX(), this.getY()).isEmpty()) return false; - if(!this.getExtradata().equals("0")) - return false; - - return true; + return this.getExtradata().equals("0"); } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionInformationTerminal.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionInformationTerminal.java index f9465fc8..ac43d633 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionInformationTerminal.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionInformationTerminal.java @@ -9,9 +9,10 @@ import java.sql.SQLException; public class InteractionInformationTerminal extends InteractionCustomValues { - public static THashMap defaultValues = new THashMap() + public static final THashMap defaultValues = new THashMap() { - {put("internalLink", "http://arcturus.pw");} + { + this.put("internalLink", "http://arcturus.pw");} }; public InteractionInformationTerminal(ResultSet set, Item baseItem) throws SQLException @@ -27,6 +28,6 @@ public class InteractionInformationTerminal extends InteractionCustomValues @Override public void onPickUp(Room room) { - values.clear(); + this.values.clear(); } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionMannequin.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionMannequin.java index 2a4be3da..53c50531 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionMannequin.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionMannequin.java @@ -72,7 +72,7 @@ public class InteractionMannequin extends HabboItem { String[] lookCode = this.getExtradata().split(":")[1].split("\\."); - String look = ""; + StringBuilder look = new StringBuilder(); for (String part : client.getHabbo().getHabboInfo().getLook().split("\\.")) { String type = part.split("-")[0]; @@ -83,13 +83,13 @@ public class InteractionMannequin extends HabboItem if (s.contains(type)) { found = true; - look += s + "."; + look.append(s).append("."); } } if (!found) { - look += part + "."; + look.append(part).append("."); } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionMonsterCrackable.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionMonsterCrackable.java index 8ea6e5c7..91a57df3 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionMonsterCrackable.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionMonsterCrackable.java @@ -27,9 +27,9 @@ public class InteractionMonsterCrackable extends InteractionCrackable implements @Override public void cycle(Room room) { - if (this.ticks > 0 && Emulator.getIntUnixTimestamp() - lastHealthChange > 30) + if (this.ticks > 0 && Emulator.getIntUnixTimestamp() - this.lastHealthChange > 30) { - lastHealthChange = Emulator.getIntUnixTimestamp(); + this.lastHealthChange = Emulator.getIntUnixTimestamp(); this.ticks--; room.updateItem(this); } @@ -38,7 +38,7 @@ public class InteractionMonsterCrackable extends InteractionCrackable implements @Override public void onClick(GameClient client, Room room, Object[] objects) throws Exception { - if (room.isPublicRoom()) respawn = true; + if (room.isPublicRoom()) this.respawn = true; super.onClick(client, room, objects); } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionMonsterPlantSeed.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionMonsterPlantSeed.java index ed6892c2..c94fa060 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionMonsterPlantSeed.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionMonsterPlantSeed.java @@ -1,5 +1,6 @@ package com.eu.habbo.habbohotel.items.interactions; +import com.eu.habbo.Emulator; import com.eu.habbo.habbohotel.gameclients.GameClient; import com.eu.habbo.habbohotel.items.Item; import com.eu.habbo.habbohotel.rooms.Room; @@ -15,17 +16,28 @@ public class InteractionMonsterPlantSeed extends HabboItem public InteractionMonsterPlantSeed(ResultSet set, Item baseItem) throws SQLException { super(set, baseItem); + + if (this.getExtradata().isEmpty()) + { + this.setExtradata("" + randomRarityLevel()); + this.needsUpdate(true); + } } public InteractionMonsterPlantSeed(int id, int userId, Item item, String extradata, int limitedStack, int limitedSells) { super(id, userId, item, extradata, limitedStack, limitedSells); + + if (this.getExtradata().isEmpty()) + { + this.setExtradata("" + randomRarityLevel()); + this.needsUpdate(true); + } } @Override public void onClick(GameClient client, Room room, Object[] objects) throws Exception { - //client.sendResponse(new GenericAlertComposer("We're in the progress of implementing monster plants.\r\n Stay tuned!\r-Arcturus Emulator")); } @Override @@ -49,9 +61,26 @@ public class InteractionMonsterPlantSeed extends HabboItem @Override public void serializeExtradata(ServerMessage serverMessage) { - serverMessage.appendInt((this.isLimited() ? 256 : 0)); + serverMessage.appendInt(1 + (this.isLimited() ? 256 : 0)); + serverMessage.appendInt(1); + serverMessage.appendString("rarity"); serverMessage.appendString(this.getExtradata()); super.serializeExtradata(serverMessage); } + + public static int randomRarityLevel() + { + int number = Emulator.getRandom().nextInt(66); + int count = 0; + for (int i = 1; i <= 11; i++) + { + count += 11 - i; + if (number <= count) + { + return i; + } + } + return 10; + } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionMultiHeight.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionMultiHeight.java index e6b9c062..9a21df67 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionMultiHeight.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionMultiHeight.java @@ -134,14 +134,13 @@ public class InteractionMultiHeight extends HabboItem { if (habbo.getHabboInfo().getGender().equals(HabboGender.M) && this.getBaseItem().getEffectM() > 0 && habbo.getRoomUnit().getEffectId() != this.getBaseItem().getEffectM()) { - room.giveEffect(habbo, this.getBaseItem().getEffectM()); + room.giveEffect(habbo, this.getBaseItem().getEffectM(), -1); return; } if (habbo.getHabboInfo().getGender().equals(HabboGender.F) && this.getBaseItem().getEffectF() > 0 && habbo.getRoomUnit().getEffectId() != this.getBaseItem().getEffectF()) { - room.giveEffect(habbo, this.getBaseItem().getEffectF()); - return; + room.giveEffect(habbo, this.getBaseItem().getEffectF(), -1); } } } @@ -166,14 +165,13 @@ public class InteractionMultiHeight extends HabboItem { if (habbo.getHabboInfo().getGender().equals(HabboGender.M) && this.getBaseItem().getEffectM() > 0) { - room.giveEffect(habbo, 0); + room.giveEffect(habbo, 0, -1); return; } if (habbo.getHabboInfo().getGender().equals(HabboGender.F) && this.getBaseItem().getEffectF() > 0) { - room.giveEffect(habbo, 0); - return; + room.giveEffect(habbo, 0, -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 0485f098..89269f97 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 @@ -68,7 +68,7 @@ public class InteractionMusicDisc extends HabboItem public int getSongId() { - return songId; + return this.songId; } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionMuteArea.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionMuteArea.java index 694e116d..d5cccdb9 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionMuteArea.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionMuteArea.java @@ -12,10 +12,14 @@ public class InteractionMuteArea extends InteractionCustomValues { public static THashMap defaultValues = new THashMap() { - {put("tilesLeft", "0");} - {put("tilesRight", "0");} - {put("tilesFront", "0");} - {put("tilesBack", "0");} + { + this.put("tilesLeft", "0");} + { + this.put("tilesRight", "0");} + { + this.put("tilesFront", "0");} + { + this.put("tilesBack", "0");} }; public InteractionMuteArea(ResultSet set, Item baseItem) throws SQLException diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionNest.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionNest.java index 9ffa91d9..81a7d709 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionNest.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionNest.java @@ -67,7 +67,7 @@ public class InteractionNest extends HabboItem Pet pet = room.getPet(roomUnit); - if(pet != null && pet instanceof Pet) + if(pet != null) { if(pet instanceof HorsePet) { diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionObstacle.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionObstacle.java index 1b450b0c..8d65b93c 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionObstacle.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionObstacle.java @@ -45,23 +45,11 @@ public class InteractionObstacle extends HabboItem { Pet pet = room.getPet(roomUnit); - if (pet != null && pet instanceof HorsePet) + if (pet instanceof HorsePet) { HorsePet horsePet = (HorsePet)pet; - if (horsePet == null) - { - Habbo habbo = room.getHabbo(roomUnit); - - if (habbo != null && habbo.getHabboInfo().getRiding() != null) - { - return true; - } - - return false; - } - else - return horsePet.getRider() != null; + return horsePet.getRider() != null; } return false; @@ -84,11 +72,11 @@ public class InteractionObstacle extends HabboItem { Habbo habbo = room.getHabbo(roomUnit); - if(habbo == null) + if(habbo != null) { Pet pet = room.getPet(roomUnit); - if(pet != null && pet instanceof HorsePet && ((HorsePet) pet).getRider() != null) + if(pet instanceof HorsePet && ((HorsePet) pet).getRider() != null) { if (pet.getTask() != null && pet.getTask().equals(PetTasks.RIDE)) { @@ -131,7 +119,7 @@ public class InteractionObstacle extends HabboItem { Pet pet = room.getPet(roomUnit); - if(pet != null && pet instanceof HorsePet && ((HorsePet) pet).getRider() != null) + if(pet instanceof HorsePet && ((HorsePet) pet).getRider() != null) { if (roomUnit.getBodyRotation().getValue() % 2 == 0) { @@ -173,7 +161,7 @@ public class InteractionObstacle extends HabboItem { Pet pet = room.getPet(roomUnit); - if(pet != null && pet instanceof HorsePet && ((HorsePet) pet).getRider() != null) + if(pet instanceof HorsePet && ((HorsePet) pet).getRider() != null) { pet.getRoomUnit().removeStatus(RoomUnitStatus.JUMP); } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionOneWayGate.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionOneWayGate.java index 8b4b730e..3574e6d9 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionOneWayGate.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionOneWayGate.java @@ -7,7 +7,7 @@ import com.eu.habbo.habbohotel.rooms.RoomTile; import com.eu.habbo.habbohotel.rooms.RoomUnit; import com.eu.habbo.habbohotel.users.HabboItem; import com.eu.habbo.messages.ServerMessage; -import com.eu.habbo.messages.outgoing.unknown.ItemStateComposer2; +import com.eu.habbo.messages.outgoing.rooms.items.ItemIntStateComposer; import java.sql.ResultSet; import java.sql.SQLException; @@ -66,7 +66,7 @@ public class InteractionOneWayGate extends HabboItem if (client != null) { RoomTile tile = room.getLayout().getTileInFront(room.getLayout().getTile(this.getX(), this.getY()), this.getRotation()); - RoomTile gatePosition = room.getLayout().getTile(getX(), getY()); + RoomTile gatePosition = room.getLayout().getTile(this.getX(), this.getY()); if (tile != null && tile.equals(client.getHabbo().getRoomUnit().getCurrentLocation())) { @@ -80,8 +80,8 @@ public class InteractionOneWayGate extends HabboItem { gate.roomUnitID = client.getHabbo().getRoomUnit().getId(); room.updateTile(gatePosition); - room.sendComposer(new ItemStateComposer2(getId(), 1).compose()); - client.getHabbo().getRoomUnit().setGoalLocation(room.getLayout().getTileInFront(room.getLayout().getTile(getX(), getY()), getRotation() + 4)); + room.sendComposer(new ItemIntStateComposer(InteractionOneWayGate.this.getId(), 1).compose()); + client.getHabbo().getRoomUnit().setGoalLocation(room.getLayout().getTileInFront(room.getLayout().getTile(InteractionOneWayGate.this.getX(), InteractionOneWayGate.this.getY()), InteractionOneWayGate.this.getRotation() + 4)); } }); } @@ -91,16 +91,16 @@ public class InteractionOneWayGate extends HabboItem private void refresh(Room room) { - setExtradata("0"); + this.setExtradata("0"); this.roomUnitID = -1; - room.sendComposer(new ItemStateComposer2(getId(), 0).compose()); + room.sendComposer(new ItemIntStateComposer(this.getId(), 0).compose()); room.updateTile(room.getLayout().getTile(this.getX(), this.getY())); } @Override public void onPickUp(Room room) { this.setExtradata("0"); - refresh(room); + this.refresh(room); } @Override @@ -113,20 +113,20 @@ public class InteractionOneWayGate extends HabboItem public void onWalkOff(RoomUnit roomUnit, Room room, Object[] objects) throws Exception { super.onWalkOff(roomUnit, room, objects); - refresh(room); + this.refresh(room); } @Override public void onPlace(Room room) { super.onPlace(room); - refresh(room); + this.refresh(room); } @Override public void onMove(Room room, RoomTile oldLocation, RoomTile newLocation) { super.onMove(room, oldLocation, newLocation); - refresh(room); + this.refresh(room); } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionPetBreedingNest.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionPetBreedingNest.java index 361b2c5d..2a156dd6 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionPetBreedingNest.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionPetBreedingNest.java @@ -69,11 +69,11 @@ public class InteractionPetBreedingNest extends HabboItem if (pet != null) { - if (!boxFull()) + if (!this.boxFull()) { this.addPet(pet); - if (boxFull()) + if (this.boxFull()) { Habbo ownerPetOne = room.getHabbo(this.petOne.getUserId()); Habbo ownerPetTwo = room.getHabbo(this.petTwo.getUserId()); @@ -188,7 +188,7 @@ public class InteractionPetBreedingNest extends HabboItem habbo.getHabboInfo().getCurrentRoom().placePet(offspring, box.getX(), box.getY(), box.getZ(), box.getRotation()); offspring.needsUpdate = true; offspring.run(); - freePets(); + InteractionPetBreedingNest.this.freePets(); habbo.getHabboInfo().getCurrentRoom().removeHabboItem(box); habbo.getClient().sendResponse(new PetBreedingCompleted(offspring.getId(), Emulator.getGameEnvironment().getPetManager().getRarityForOffspring(offspring))); diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionPetDrink.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionPetDrink.java index f588c467..3efb8df4 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionPetDrink.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionPetDrink.java @@ -2,7 +2,6 @@ package com.eu.habbo.habbohotel.items.interactions; import com.eu.habbo.Emulator; import com.eu.habbo.habbohotel.achievements.AchievementManager; -import com.eu.habbo.habbohotel.gameclients.GameClient; import com.eu.habbo.habbohotel.items.Item; import com.eu.habbo.habbohotel.pets.Pet; import com.eu.habbo.habbohotel.pets.PetTasks; @@ -10,15 +9,13 @@ import com.eu.habbo.habbohotel.rooms.Room; import com.eu.habbo.habbohotel.rooms.RoomUnit; import com.eu.habbo.habbohotel.rooms.RoomUnitStatus; import com.eu.habbo.habbohotel.rooms.RoomUserRotation; -import com.eu.habbo.habbohotel.users.HabboItem; -import com.eu.habbo.messages.ServerMessage; import com.eu.habbo.messages.outgoing.rooms.users.RoomUserStatusComposer; import com.eu.habbo.threading.runnables.PetClearPosture; import java.sql.ResultSet; import java.sql.SQLException; -public class InteractionPetDrink extends HabboItem +public class InteractionPetDrink extends InteractionDefault { public InteractionPetDrink(ResultSet set, Item baseItem) throws SQLException { @@ -31,46 +28,13 @@ public class InteractionPetDrink extends HabboItem } @Override - public void serializeExtradata(ServerMessage serverMessage) + public void onWalkOn(RoomUnit roomUnit, Room room, Object[] objects) throws Exception { - serverMessage.appendInt((this.isLimited() ? 256 : 0)); - serverMessage.appendString(this.getExtradata()); + super.onWalkOn(roomUnit, room, objects); - super.serializeExtradata(serverMessage); - } + Pet pet = room.getPet(roomUnit); - @Override - public boolean canWalkOn(RoomUnit roomUnit, Room room, Object[] objects) - { - return true; - } - - @Override - public boolean isWalkable() - { - return false; - } - - @Override - public void onClick(GameClient client, Room room, Object[] objects) throws Exception - { - super.onClick(client, room, objects); - } - - @Override - public void onWalk(RoomUnit roomUnit, Room room, Object[] objects) throws Exception - { - - } - - @Override - public void onWalkOn(RoomUnit client, Room room, Object[] objects) throws Exception - { - super.onWalkOn(client, room, objects); - - Pet pet = room.getPet(client); - - if(pet != null && pet instanceof Pet) + if(pet != null) { if(pet.getPetData().haveDrinkItem(this)) { @@ -83,7 +47,7 @@ public class InteractionPetDrink extends HabboItem pet.getRoomUnit().removeStatus(RoomUnitStatus.MOVE); pet.getRoomUnit().setStatus(RoomUnitStatus.EAT, "0"); pet.addThirst(-75); - room.sendComposer(new RoomUserStatusComposer(client).compose()); + room.sendComposer(new RoomUserStatusComposer(roomUnit).compose()); Emulator.getThreading().run(new PetClearPosture(pet, RoomUnitStatus.EAT, null, true), 500); AchievementManager.progressAchievement(Emulator.getGameEnvironment().getHabboManager().getHabbo(pet.getUserId()), Emulator.getGameEnvironment().getAchievementManager().getAchievement("PetFeeding"), 75); @@ -92,12 +56,6 @@ public class InteractionPetDrink extends HabboItem } } - @Override - public void onWalkOff(RoomUnit roomUnit, Room room, Object[] objects) throws Exception - { - super.onWalkOff(roomUnit, room, objects); - } - @Override public boolean allowWiredResetState() { diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionPetFood.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionPetFood.java index bc995bbb..0e13bf9b 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionPetFood.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionPetFood.java @@ -1,7 +1,6 @@ package com.eu.habbo.habbohotel.items.interactions; import com.eu.habbo.Emulator; -import com.eu.habbo.habbohotel.gameclients.GameClient; import com.eu.habbo.habbohotel.items.Item; import com.eu.habbo.habbohotel.pets.Pet; import com.eu.habbo.habbohotel.pets.PetTasks; @@ -9,15 +8,13 @@ import com.eu.habbo.habbohotel.rooms.Room; import com.eu.habbo.habbohotel.rooms.RoomUnit; import com.eu.habbo.habbohotel.rooms.RoomUnitStatus; import com.eu.habbo.habbohotel.rooms.RoomUserRotation; -import com.eu.habbo.habbohotel.users.HabboItem; -import com.eu.habbo.messages.ServerMessage; import com.eu.habbo.messages.outgoing.rooms.users.RoomUserStatusComposer; import com.eu.habbo.threading.runnables.PetEatAction; import java.sql.ResultSet; import java.sql.SQLException; -public class InteractionPetFood extends HabboItem +public class InteractionPetFood extends InteractionDefault { public InteractionPetFood(ResultSet set, Item baseItem) throws SQLException { @@ -30,49 +27,16 @@ public class InteractionPetFood extends HabboItem } @Override - public void serializeExtradata(ServerMessage serverMessage) + public void onWalkOn(RoomUnit roomUnit, Room room, Object[] objects) throws Exception { - serverMessage.appendInt((this.isLimited() ? 256 : 0)); - serverMessage.appendString(this.getExtradata()); - - super.serializeExtradata(serverMessage); - } - - @Override - public boolean canWalkOn(RoomUnit roomUnit, Room room, Object[] objects) - { - return true; - } - - @Override - public boolean isWalkable() - { - return false; - } - - @Override - public void onClick(GameClient client, Room room, Object[] objects) throws Exception - { - super.onClick(client, room, objects); - } - - @Override - public void onWalk(RoomUnit roomUnit, Room room, Object[] objects) throws Exception - { - - } - - @Override - public void onWalkOn(RoomUnit client, Room room, Object[] objects) throws Exception - { - super.onWalkOn(client, room, objects); + super.onWalkOn(roomUnit, room, objects); if(this.getExtradata().length() == 0) this.setExtradata("0"); - Pet pet = room.getPet(client); + Pet pet = room.getPet(roomUnit); - if(pet != null && pet instanceof Pet) + if(pet != null) { if(pet.getPetData().haveFoodItem(this)) { @@ -84,18 +48,13 @@ public class InteractionPetFood extends HabboItem pet.getRoomUnit().clearStatus(); pet.getRoomUnit().removeStatus(RoomUnitStatus.MOVE); pet.getRoomUnit().setStatus(RoomUnitStatus.EAT, "0"); - room.sendComposer(new RoomUserStatusComposer(client).compose()); + room.sendComposer(new RoomUserStatusComposer(roomUnit).compose()); Emulator.getThreading().run(new PetEatAction(pet, this)); } } } } - @Override - public void onWalkOff(RoomUnit roomUnit, Room room, Object[] objects) throws Exception - { - super.onWalkOff(roomUnit, room, objects); - } @Override public boolean allowWiredResetState() diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionPetToy.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionPetToy.java index a5e40d2f..f3480976 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionPetToy.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionPetToy.java @@ -9,13 +9,12 @@ import com.eu.habbo.habbohotel.rooms.RoomUnit; import com.eu.habbo.habbohotel.rooms.RoomUnitStatus; import com.eu.habbo.habbohotel.rooms.RoomUserRotation; import com.eu.habbo.habbohotel.users.HabboItem; -import com.eu.habbo.messages.ServerMessage; import com.eu.habbo.threading.runnables.PetClearPosture; import java.sql.ResultSet; import java.sql.SQLException; -public class InteractionPetToy extends HabboItem +public class InteractionPetToy extends InteractionDefault { public InteractionPetToy(ResultSet set, Item baseItem) throws SQLException { @@ -28,40 +27,13 @@ public class InteractionPetToy extends HabboItem } @Override - public boolean canWalkOn(RoomUnit roomUnit, Room room, Object[] objects) + public void onWalkOn(RoomUnit roomUnit, Room room, Object[] objects) throws Exception { - return true; - } + super.onWalkOn(roomUnit, room, objects); - @Override - public boolean isWalkable() - { - return false; - } + Pet pet = room.getPet(roomUnit); - @Override - public void onWalk(RoomUnit roomUnit, Room room, Object[] objects) throws Exception - { - - } - - @Override - public void serializeExtradata(ServerMessage serverMessage) - { - serverMessage.appendInt((this.isLimited() ? 256 : 0)); - serverMessage.appendString(this.getExtradata()); - - super.serializeExtradata(serverMessage); - } - - @Override - public void onWalkOn(RoomUnit client, Room room, Object[] objects) throws Exception - { - super.onWalkOn(client, room, objects); - - Pet pet = room.getPet(client); - - if(pet != null && pet instanceof Pet) + if(pet != null) { if (pet.getEnergy() <= 35) { @@ -84,7 +56,7 @@ public class InteractionPetToy extends HabboItem pet.addHappyness(25); item.setExtradata("0"); room.updateItem(item); - new PetClearPosture(pet, RoomUnitStatus.PLAY, null, true).run();; + new PetClearPosture(pet, RoomUnitStatus.PLAY, null, true).run(); } }, 2500 + (Emulator.getRandom().nextInt(20) * 500)); this.setExtradata("1"); @@ -99,7 +71,7 @@ public class InteractionPetToy extends HabboItem Pet pet = room.getPet(roomUnit); - if (pet != null && pet instanceof Pet) + if (pet != null) { this.setExtradata("0"); room.updateItemState(this); diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionPushable.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionPushable.java index eb0cbbb3..2dee8351 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionPushable.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionPushable.java @@ -42,7 +42,7 @@ public abstract class InteractionPushable extends InteractionDefault { { super.onWalkOff(roomUnit, room, objects); - if(!(currentThread == null || currentThread.dead)) + if(!(this.currentThread == null || this.currentThread.dead)) return; int velocity = this.getWalkOffVelocity(roomUnit, room); @@ -51,11 +51,11 @@ public abstract class InteractionPushable extends InteractionDefault { if(velocity > 0) { - if(currentThread != null) - currentThread.dead = true; + if(this.currentThread != null) + this.currentThread.dead = true; - currentThread = new KickBallAction(this, room, roomUnit, direction, velocity); - Emulator.getThreading().run(currentThread, 0); + this.currentThread = new KickBallAction(this, room, roomUnit, direction, velocity); + Emulator.getThreading().run(this.currentThread, 0); } } @@ -72,11 +72,11 @@ public abstract class InteractionPushable extends InteractionDefault { if(velocity > 0) { - if(currentThread != null) - currentThread.dead = true; + if(this.currentThread != null) + this.currentThread.dead = true; - currentThread = new KickBallAction(this, room, client.getHabbo().getRoomUnit(), direction, velocity); - Emulator.getThreading().run(currentThread, 0); + this.currentThread = new KickBallAction(this, room, client.getHabbo().getRoomUnit(), direction, velocity); + Emulator.getThreading().run(this.currentThread, 0); } } } @@ -104,11 +104,11 @@ public abstract class InteractionPushable extends InteractionDefault { if(velocity > 0) { - if(currentThread != null) - currentThread.dead = true; + if(this.currentThread != null) + this.currentThread.dead = true; - currentThread = new KickBallAction(this, room, roomUnit, direction, velocity); - Emulator.getThreading().run(currentThread, 0); + this.currentThread = new KickBallAction(this, room, roomUnit, direction, velocity); + Emulator.getThreading().run(this.currentThread, 0); } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionRentableSpace.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionRentableSpace.java index 3e8f0bda..e247b9e9 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionRentableSpace.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionRentableSpace.java @@ -101,8 +101,7 @@ public class InteractionRentableSpace extends HabboItem if(this.endTimestamp > Emulator.getIntUnixTimestamp()) { - if (this.renterId > 0 && this.renterId == habbo.getHabboInfo().getId()) - return true; + return this.renterId > 0 && this.renterId == habbo.getHabboInfo().getId(); } return false; @@ -153,7 +152,7 @@ public class InteractionRentableSpace extends HabboItem if(this.isRented()) return; - if(!habbo.getHabboStats().canRentSpace()) + if(habbo.getHabboStats().isRentingSpace()) return; if(habbo.getHabboInfo().getCredits() < this.rentCost()) @@ -293,7 +292,7 @@ public class InteractionRentableSpace extends HabboItem return RentableSpaceInfoComposer.SPACE_ALREADY_RENTED; } - if(!habbo.getHabboStats().canRentSpace() && habbo.getHabboStats().getRentedItemId() != this.getId()) + if(habbo.getHabboStats().isRentingSpace() && habbo.getHabboStats().getRentedItemId() != this.getId()) { return RentableSpaceInfoComposer.CAN_RENT_ONLY_ONE_SPACE; } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionRoomAds.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionRoomAds.java index 54f38ae0..a30a6683 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionRoomAds.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionRoomAds.java @@ -12,11 +12,16 @@ public class InteractionRoomAds extends InteractionCustomValues { public final static THashMap defaultValues = new THashMap() { - {put("imageUrl", "http://arcturus.pw/ads_background.png");} - {put("clickUrl", "http://arcturus.pw");} - {put("offsetX", "0");} - {put("offsetY", "0");} - {put("offsetZ", "0");} + { + this.put("imageUrl", "http://arcturus.pw/ads_background.png");} + { + this.put("clickUrl", "http://arcturus.pw");} + { + this.put("offsetX", "0");} + { + this.put("offsetY", "0");} + { + this.put("offsetZ", "0");} }; public InteractionRoomAds(ResultSet set, Item baseItem) throws SQLException diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionSnowboardSlope.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionSnowboardSlope.java index f531baf8..2c8bef3d 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionSnowboardSlope.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionSnowboardSlope.java @@ -31,7 +31,7 @@ public class InteractionSnowboardSlope extends InteractionMultiHeight @Override public void onWalkOn(RoomUnit roomUnit, Room room, Object[] objects) throws Exception { - room.giveEffect(roomUnit, 97); + room.giveEffect(roomUnit, 97, -1); } @Override @@ -41,7 +41,7 @@ public class InteractionSnowboardSlope extends InteractionMultiHeight if (roomUnit.getEffectId() == 97) { - room.giveEffect(roomUnit, 0); + room.giveEffect(roomUnit, 0, -1); } } @@ -54,7 +54,7 @@ public class InteractionSnowboardSlope extends InteractionMultiHeight Achievement snowboardBuild = Emulator.getGameEnvironment().getAchievementManager().getAchievement("snowBoardBuild"); if (snowboardBuild == null) return; - int progress = 0; + int progress; Habbo habbo = room.getHabbo(room.getOwnerId()); if (habbo != null) @@ -83,7 +83,7 @@ public class InteractionSnowboardSlope extends InteractionMultiHeight { if (habbo.getRoomUnit().getEffectId() == 97) { - room.giveEffect(habbo, 0); + room.giveEffect(habbo, 0, -1); } } } @@ -97,7 +97,7 @@ public class InteractionSnowboardSlope extends InteractionMultiHeight { if (habbo.getRoomUnit().getEffectId() == 97 && !newRect.contains(habbo.getRoomUnit().getCurrentLocation().x, habbo.getRoomUnit().getCurrentLocation().y)) { - room.giveEffect(habbo, 0); + room.giveEffect(habbo, 0, -1); } } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionTeleport.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionTeleport.java index 4b68bbb2..4f1ebaf8 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionTeleport.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionTeleport.java @@ -5,11 +5,12 @@ 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.RoomTile; +import com.eu.habbo.habbohotel.rooms.RoomTileState; import com.eu.habbo.habbohotel.rooms.RoomUnit; import com.eu.habbo.habbohotel.users.Habbo; import com.eu.habbo.habbohotel.users.HabboItem; import com.eu.habbo.messages.ServerMessage; -import com.eu.habbo.messages.outgoing.unknown.ItemStateComposer2; +import com.eu.habbo.messages.outgoing.rooms.items.ItemIntStateComposer; import com.eu.habbo.threading.runnables.teleport.TeleportActionOne; import java.sql.ResultSet; @@ -43,7 +44,7 @@ public class InteractionTeleport extends HabboItem @Override public boolean canWalkOn(RoomUnit roomUnit, Room room, Object[] objects) { - return this.getBaseItem().allowWalk() || roomUnit.getId() == roomUnitID; + return this.getBaseItem().allowWalk() || roomUnit.getId() == this.roomUnitID; } @Override @@ -60,28 +61,24 @@ public class InteractionTeleport extends HabboItem if(room != null && client != null && objects.length <= 1) { RoomTile tile = room.getLayout().getTileInFront(room.getLayout().getTile(this.getX(), this.getY()), this.getRotation()); - RoomTile teleportPosition = room.getLayout().getTile(getX(), getY()); + RoomTile teleportPosition = room.getLayout().getTile(this.getX(), this.getY()); if (tile != null && tile.equals(client.getHabbo().getRoomUnit().getCurrentLocation())) { if (!room.hasHabbosAt(this.getX(), this.getY()) && this.roomUnitID == 0) { - room.sendComposer(new ItemStateComposer2(getId(), 1).compose()); - room.scheduledTasks.add(new Runnable() - { - @Override - public void run() - { - roomUnitID = client.getHabbo().getRoomUnit().getId(); - room.updateTile(teleportPosition); - client.getHabbo().getRoomUnit().setGoalLocation(room.getLayout().getTile(getX(), getY())); - } + room.sendComposer(new ItemIntStateComposer(this.getId(), 1).compose()); + room.scheduledTasks.add(() -> { + if (client.getHabbo().getRoomUnit().isTeleporting) return; + this.roomUnitID = client.getHabbo().getRoomUnit().getId(); + room.updateTile(teleportPosition); + client.getHabbo().getRoomUnit().setGoalLocation(room.getLayout().getTile(this.getX(), this.getY())); }); } } - else if (teleportPosition.equals(client.getHabbo().getRoomUnit().getCurrentLocation()) && tile != null && tile.isWalkable()) + else if (teleportPosition.equals(client.getHabbo().getRoomUnit().getCurrentLocation()) && tile != null && tile.state != RoomTileState.BLOCKED && tile.state != RoomTileState.INVALID) { - startTeleport(room, client.getHabbo()); + this.startTeleport(room, client.getHabbo()); } } } @@ -102,7 +99,7 @@ public class InteractionTeleport extends HabboItem { if (habbo.getRoomUnit().getGoal().equals(room.getLayout().getTile(this.getX(), this.getY()))) { - startTeleport(room, habbo); + this.startTeleport(room, habbo); } } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionTeleportTile.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionTeleportTile.java index 0f3838c9..0a1d9299 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionTeleportTile.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionTeleportTile.java @@ -32,7 +32,7 @@ public class InteractionTeleportTile extends InteractionTeleport { if (roomUnit != null) { - if (roomUnit.getGoal().is(this.getX(), this.getY()) && canWalkOn(roomUnit, room, objects)) + if (roomUnit.getGoal().is(this.getX(), this.getY()) && this.canWalkOn(roomUnit, room, objects)) { Habbo habbo = room.getHabbo(roomUnit); diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionTileEffectProvider.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionTileEffectProvider.java index 9231f5c1..572967b9 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionTileEffectProvider.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionTileEffectProvider.java @@ -4,7 +4,6 @@ import com.eu.habbo.Emulator; import com.eu.habbo.habbohotel.items.Item; import com.eu.habbo.habbohotel.rooms.Room; import com.eu.habbo.habbohotel.rooms.RoomUnit; -import com.eu.habbo.messages.outgoing.rooms.users.RoomUserEffectComposer; import gnu.trove.map.hash.THashMap; import java.sql.ResultSet; @@ -14,7 +13,8 @@ public class InteractionTileEffectProvider extends InteractionCustomValues { public static THashMap defaultValues = new THashMap() { - {put("effectId", "0");} + { + this.put("effectId", "0");} }; public InteractionTileEffectProvider(ResultSet set, Item baseItem) throws SQLException @@ -65,7 +65,6 @@ public class InteractionTileEffectProvider extends InteractionCustomValues } }, 500); - roomUnit.setEffectId(effectId); - room.sendComposer(new RoomUserEffectComposer(roomUnit).compose()); + room.giveEffect(roomUnit, effectId, -1); } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionTrap.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionTrap.java index 7035761e..134d83a0 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionTrap.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionTrap.java @@ -51,13 +51,13 @@ public class InteractionTrap extends InteractionDefault { if (habbo.getHabboInfo().getGender().equals(HabboGender.M) && this.getBaseItem().getEffectM() > 0 && habbo.getRoomUnit().getEffectId() != this.getBaseItem().getEffectM()) { - room.giveEffect(habbo, this.getBaseItem().getEffectM()); + room.giveEffect(habbo, this.getBaseItem().getEffectM(), -1); return; } if (habbo.getHabboInfo().getGender().equals(HabboGender.F) && this.getBaseItem().getEffectF() > 0 && habbo.getRoomUnit().getEffectId() != this.getBaseItem().getEffectF()) { - room.giveEffect(habbo, this.getBaseItem().getEffectF()); + room.giveEffect(habbo, this.getBaseItem().getEffectF(), -1); return; } @@ -68,7 +68,7 @@ public class InteractionTrap extends InteractionDefault @Override public void run() { - room.giveEffect(roomUnit, 0); + room.giveEffect(roomUnit, 0, -1); roomUnit.setCanWalk(true); } }, delay); diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionVendingMachine.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionVendingMachine.java index dcd24dfe..308f1a4f 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionVendingMachine.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionVendingMachine.java @@ -69,8 +69,8 @@ public class InteractionVendingMachine extends HabboItem Emulator.getThreading().run(this, 1000); Emulator.getThreading().run(new RoomUnitGiveHanditem(client.getHabbo().getRoomUnit(), room, this.getBaseItem().getRandomVendingItem())); - if (this.getBaseItem().getEffectM() > 0 && client.getHabbo().getHabboInfo().getGender() == HabboGender.M) room.giveEffect(client.getHabbo(), this.getBaseItem().getEffectM()); - if (this.getBaseItem().getEffectF() > 0 && client.getHabbo().getHabboInfo().getGender() == HabboGender.F) room.giveEffect(client.getHabbo(), this.getBaseItem().getEffectF()); + if (this.getBaseItem().getEffectM() > 0 && client.getHabbo().getHabboInfo().getGender() == HabboGender.M) room.giveEffect(client.getHabbo(), this.getBaseItem().getEffectM(), -1); + if (this.getBaseItem().getEffectF() > 0 && client.getHabbo().getHabboInfo().getGender() == HabboGender.F) room.giveEffect(client.getHabbo(), this.getBaseItem().getEffectF(), -1); } } else diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionWater.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionWater.java index 957aebfe..00f988c4 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionWater.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionWater.java @@ -163,29 +163,26 @@ public class InteractionWater extends InteractionDefault if (pet != null) { - if(pet instanceof Pet) - { - pet.getRoomUnit().setStatus(RoomUnitStatus.DIP, "0"); - } + pet.getRoomUnit().setStatus(RoomUnitStatus.DIP, "0"); } } private void recalculate(Room room) { - THashMap tiles = new THashMap<>(); + THashMap tiles = new THashMap<>(); for (HabboItem item : room.getRoomSpecialTypes().getItemsOfType(InteractionWater.class)) { - for (int i = 0; i < item.getBaseItem().getLength(); i++) + for (short i = 0; i < item.getBaseItem().getLength(); i++) { - for (int j = 0; j < item.getBaseItem().getWidth(); j++) + for (short j = 0; j < item.getBaseItem().getWidth(); j++) { - if (!tiles.containsKey(item.getX() + i)) + if (!tiles.containsKey((short)(item.getX() + i))) { - tiles.put(item.getX() + i, new TIntArrayList()); + tiles.put((short)(item.getX() + i), new TIntArrayList()); } - tiles.get(item.getX() + i).add(item.getY() + j); + tiles.get((short)(item.getX() + i)).add(item.getY() + j); } } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionWired.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionWired.java index fa2f2872..7a0bc27c 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionWired.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionWired.java @@ -29,7 +29,7 @@ public abstract class InteractionWired extends HabboItem public abstract boolean execute(RoomUnit roomUnit, Room room, Object[] stuff); - protected abstract String getWiredData(); + public abstract String getWiredData(); public abstract void serializeWiredData(ServerMessage message, Room room); @@ -93,7 +93,7 @@ public abstract class InteractionWired extends HabboItem @Override public void onPickUp(Room room) { - onPickUp(); + this.onPickUp(); } public abstract void onPickUp(); @@ -107,24 +107,21 @@ public abstract class InteractionWired extends HabboItem protected long requiredCooldown() { - return 100; + return 0; } public boolean canExecute(long newMillis) { - if (newMillis - this.cooldown < this.requiredCooldown()) - { - return false; - } - return true; + return newMillis - this.cooldown >= this.requiredCooldown(); } public void setCooldown(long newMillis) { this.cooldown = newMillis; } + @Override public boolean allowWiredResetState() { 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 c202e6c6..94e405bf 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 @@ -3,10 +3,12 @@ package com.eu.habbo.habbohotel.items.interactions.games; import com.eu.habbo.Emulator; import com.eu.habbo.habbohotel.gameclients.GameClient; import com.eu.habbo.habbohotel.games.Game; +import com.eu.habbo.habbohotel.games.GameState; import com.eu.habbo.habbohotel.games.wired.WiredGame; import com.eu.habbo.habbohotel.items.Item; import com.eu.habbo.habbohotel.permissions.Permission; import com.eu.habbo.habbohotel.rooms.Room; +import com.eu.habbo.habbohotel.rooms.RoomUnit; import com.eu.habbo.habbohotel.users.HabboItem; import com.eu.habbo.habbohotel.wired.WiredEffectType; import com.eu.habbo.messages.ServerMessage; @@ -14,9 +16,10 @@ import com.eu.habbo.messages.ServerMessage; import java.sql.ResultSet; import java.sql.SQLException; -public abstract class InteractionGameTimer extends HabboItem +public class InteractionGameTimer extends HabboItem { private int baseTime = 0; + private int lastToggle = 0; protected InteractionGameTimer(ResultSet set, Item baseItem) throws SQLException { @@ -63,6 +66,18 @@ public abstract class InteractionGameTimer extends HabboItem super.serializeExtradata(serverMessage); } + @Override + public boolean canWalkOn(RoomUnit roomUnit, Room room, Object[] objects) + { + return false; + } + + @Override + public boolean isWalkable() + { + return false; + } + @Override public void onClick(GameClient client, Room room, Object[] objects) throws Exception { @@ -72,21 +87,23 @@ public abstract class InteractionGameTimer extends HabboItem return; } + if (client == null) + { + int now = Emulator.getIntUnixTimestamp(); + if (now - this.lastToggle < 3) return; + this.lastToggle = now; + } + if(this.getExtradata().isEmpty()) { this.setExtradata("0"); } - Game game = room.getGame(WiredGame.class); - - if (game == null) - { - game = (this.getGameType().cast(room.getGame(this.getGameType()))); - } + Game game = this.getOrCreateGame(room); if ((objects.length >= 2 && objects[1] instanceof WiredEffectType)) { - if (game.isRunning) + if (game.state.equals(GameState.RUNNING)) return; } @@ -98,19 +115,19 @@ public abstract class InteractionGameTimer extends HabboItem { case 1: { - startGame(room); + this.startGame(room); break; } case 2: { - increaseTimer(room); + this.increaseTimer(room); } break; case 3: { - stopGame(room); + this.stopGame(room); } break; } @@ -118,7 +135,7 @@ public abstract class InteractionGameTimer extends HabboItem else { - if (game != null && !game.isRunning) + if (game != null && game.state.equals(GameState.IDLE)) { this.startGame(room); } @@ -127,31 +144,57 @@ public abstract class InteractionGameTimer extends HabboItem super.onClick(client, room, objects); } + @Override + public void onWalk(RoomUnit roomUnit, Room room, Object[] objects) throws Exception + { + + } + + private Game getOrCreateGame(Room room) + { + Game game = (this.getGameType().cast(room.getGame(this.getGameType()))); + + if (game == null) + { + try + { + game = this.getGameType().getDeclaredConstructor(Room.class).newInstance(room); + room.addGame(game); + } + catch (Exception e) + { + + } + } + + return game; + } + private void startGame(Room room) { this.needsUpdate(true); try { - this.setExtradata(this.baseTime + ""); room.updateItem(this); - Game game = (this.getGameType().cast(room.getGame(this.getGameType()))); + Game game = this.getOrCreateGame(room); - if (game == null) - { - game = this.getGameType().getDeclaredConstructor(Room.class).newInstance(room); - room.addGame(game); - } - - if (!game.isRunning) + if (game.state.equals(GameState.IDLE)) { + this.setExtradata(this.baseTime + ""); game.initialise(); } - else + else if (game.state.equals(GameState.PAUSED)) { - game.stop(); + game.unpause(); } + else if (game.state.equals(GameState.RUNNING)) + { + game.pause(); + } + + //} } catch (Exception e) { @@ -161,10 +204,11 @@ public abstract class InteractionGameTimer extends HabboItem private void stopGame(Room room) { + this.setExtradata(this.baseTime + ""); this.needsUpdate(true); - Game game = (this.getGameType().cast(room.getGame(this.getGameType()))); + Game game = this.getOrCreateGame(room); - if(game != null && game.isRunning) + if(game != null && game.state != GameState.IDLE) { game.stop(); } @@ -174,12 +218,15 @@ public abstract class InteractionGameTimer extends HabboItem private void increaseTimer(Room room) { - Game game = (this.getGameType().cast(room.getGame(this.getGameType()))); + Game game = this.getOrCreateGame(room); - if(game != null && game.isRunning) + if (game == null) return; + if (game.state.equals(GameState.PAUSED)) { + stopGame(room); return; } + if (game.state.equals(GameState.RUNNING)) return; this.needsUpdate(true); switch(this.baseTime) @@ -207,7 +254,10 @@ public abstract class InteractionGameTimer extends HabboItem return this.getExtradata() + "\t" + this.baseTime; } - public abstract Class getGameType(); + public Class getGameType() + { + return WiredGame.class; + } @Override public boolean allowWiredResetState() 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 59c2d198..f072a6cf 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 @@ -141,7 +141,7 @@ public class InteractionBattleBanzaiPuck extends InteractionPushable public boolean validMove(Room room, RoomTile from, RoomTile to) { HabboItem topItem = room.getTopItemAt(to.x, to.y, this); - return topItem != null && topItem instanceof InteractionBattleBanzaiTile; + return topItem instanceof InteractionBattleBanzaiTile; //return !(!room.getLayout().tileWalkable(to.x, to.y) || (topItem != null && (!topItem.getBaseItem().setAllowStack() || topItem.getBaseItem().allowSit() || topItem.getBaseItem().allowLay()))); } @@ -213,6 +213,6 @@ public class InteractionBattleBanzaiPuck extends InteractionPushable public boolean canStillMove(Room room, RoomTile from, RoomTile to, RoomUserRotation direction, RoomUnit kicker, int nextRoll, int currentStep, int totalSteps) { HabboItem topItem = room.getTopItemAt(to.x, to.y); - return topItem != null && to.state == RoomTileState.OPEN && to.isWalkable() && topItem instanceof InteractionBattleBanzaiTile; + return to.state == RoomTileState.OPEN && to.isWalkable() && topItem instanceof InteractionBattleBanzaiTile; } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/battlebanzai/InteractionBattleBanzaiTeleporter.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/battlebanzai/InteractionBattleBanzaiTeleporter.java index 07cadc64..a49b0eff 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/battlebanzai/InteractionBattleBanzaiTeleporter.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/battlebanzai/InteractionBattleBanzaiTeleporter.java @@ -63,24 +63,18 @@ public class InteractionBattleBanzaiTeleporter extends HabboItem public void onWalkOn(RoomUnit roomUnit, Room room, Object[] objects) throws Exception { super.onWalkOn(roomUnit, room, objects); - Habbo habbo = room.getHabbo(roomUnit); + HabboItem target = room.getRoomSpecialTypes().getRandomTeleporter(this.getBaseItem(), this); - if (habbo != null) - { - this.setExtradata("1"); - roomUnit.removeStatus(RoomUnitStatus.MOVE); - HabboItem target = room.getRoomSpecialTypes().getRandomTeleporter(); + if (target == null) return; - while (target == this && room.getRoomSpecialTypes().getBanzaiTeleporters().size() > 1) - target = room.getRoomSpecialTypes().getRandomTeleporter(); - - target.setExtradata("1"); - room.updateItem(this); - room.updateItem(target); - roomUnit.setGoalLocation(room.getLayout().getTile(roomUnit.getX(), roomUnit.getY())); - roomUnit.setCanWalk(false); - Emulator.getThreading().run(new BanzaiRandomTeleport(this, target, habbo, room), 500); - } + this.setExtradata("1"); + roomUnit.removeStatus(RoomUnitStatus.MOVE); + target.setExtradata("1"); + room.updateItem(this); + room.updateItem(target); + roomUnit.setGoalLocation(room.getLayout().getTile(roomUnit.getX(), roomUnit.getY())); + roomUnit.setCanWalk(false); + Emulator.getThreading().run(new BanzaiRandomTeleport(this, target, roomUnit, room), 500); } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/battlebanzai/InteractionBattleBanzaiTile.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/battlebanzai/InteractionBattleBanzaiTile.java index ce52f5e1..ac5525fa 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/battlebanzai/InteractionBattleBanzaiTile.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/battlebanzai/InteractionBattleBanzaiTile.java @@ -1,15 +1,20 @@ package com.eu.habbo.habbohotel.items.interactions.games.battlebanzai; +import com.eu.habbo.habbohotel.games.GameState; import com.eu.habbo.habbohotel.games.battlebanzai.BattleBanzaiGame; import com.eu.habbo.habbohotel.items.Item; import com.eu.habbo.habbohotel.rooms.Room; +import com.eu.habbo.habbohotel.rooms.RoomTile; import com.eu.habbo.habbohotel.rooms.RoomUnit; import com.eu.habbo.habbohotel.users.Habbo; import com.eu.habbo.habbohotel.users.HabboItem; import com.eu.habbo.messages.ServerMessage; +import gnu.trove.set.hash.THashSet; +import org.apache.commons.math3.util.Pair; import java.sql.ResultSet; import java.sql.SQLException; +import java.util.List; public class InteractionBattleBanzaiTile extends HabboItem { @@ -78,35 +83,10 @@ public class InteractionBattleBanzaiTile extends HabboItem if(game == null) return; - if(!game.isRunning) + if(!game.state.equals(GameState.RUNNING)) return; - - int check = state - (habbo.getHabboInfo().getGamePlayer().getTeamColor().type * 3); - if(check == 3 || check == 4) - { - state++; - - if(state % 3 == 2) - { - habbo.getHabboInfo().getGamePlayer().addScore(BattleBanzaiGame.POINTS_LOCK_TILE); - game.tileLocked(habbo.getHabboInfo().getGamePlayer().getTeamColor(), this, habbo); - } - else - { - habbo.getHabboInfo().getGamePlayer().addScore(BattleBanzaiGame.POINTS_FILL_TILE); - } - } - else - { - state = (habbo.getHabboInfo().getGamePlayer().getTeamColor().type * 3) + 3; - - habbo.getHabboInfo().getGamePlayer().addScore(BattleBanzaiGame.POINTS_HIJACK_TILE); - } - - game.refreshCounters(habbo.getHabboInfo().getGamePlayer().getTeamColor()); - this.setExtradata(state + ""); - room.updateItem(this); + game.markTile(habbo, this, state); } } @@ -118,4 +98,15 @@ public class InteractionBattleBanzaiTile extends HabboItem return Integer.valueOf(this.getExtradata()) % 3 == 2; } + + @Override + public boolean canStackAt(Room room, List>> itemsAtLocation) + { + for (Pair> set : itemsAtLocation) + { + if (set.getValue() != null && !set.getValue().isEmpty()) return false; + } + + return super.canStackAt(room, itemsAtLocation); + } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/battlebanzai/gates/InteractionBattleBanzaiGate.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/battlebanzai/gates/InteractionBattleBanzaiGate.java index 04300c8f..95c08794 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/battlebanzai/gates/InteractionBattleBanzaiGate.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/battlebanzai/gates/InteractionBattleBanzaiGate.java @@ -1,6 +1,7 @@ package com.eu.habbo.habbohotel.items.interactions.games.battlebanzai.gates; import com.eu.habbo.Emulator; +import com.eu.habbo.habbohotel.games.GameState; import com.eu.habbo.habbohotel.games.GameTeam; import com.eu.habbo.habbohotel.games.GameTeamColors; import com.eu.habbo.habbohotel.games.battlebanzai.BattleBanzaiGame; @@ -27,7 +28,7 @@ public class InteractionBattleBanzaiGate extends InteractionGameGate @Override public boolean canWalkOn(RoomUnit roomUnit, Room room, Object[] objects) { - return room.getGame(BattleBanzaiGame.class) == null || !((BattleBanzaiGame)room.getGame(BattleBanzaiGame.class)).isRunning; + return room.getGame(BattleBanzaiGame.class) == null || ((BattleBanzaiGame)room.getGame(BattleBanzaiGame.class)).state.equals(GameState.IDLE); } @Override @@ -37,7 +38,7 @@ public class InteractionBattleBanzaiGate extends InteractionGameGate if(room == null) return false; - return (this.getExtradata() == null || this.getExtradata().isEmpty() || Integer.valueOf(this.getExtradata()) < 5) && ((room.getGame(BattleBanzaiGame.class))) == null || !((BattleBanzaiGame)(room.getGame(BattleBanzaiGame.class))).isRunning; + return (this.getExtradata() == null || this.getExtradata().isEmpty() || Integer.valueOf(this.getExtradata()) < 5) && ((room.getGame(BattleBanzaiGame.class))) == null || ((BattleBanzaiGame)(room.getGame(BattleBanzaiGame.class))).state.equals(GameState.IDLE); } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/football/InteractionFootball.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/football/InteractionFootball.java index 719ef251..d3c5f8ea 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/football/InteractionFootball.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/football/InteractionFootball.java @@ -187,7 +187,7 @@ public class InteractionFootball extends InteractionPushable if (game == null) { try { - game = FootballGame.class.getDeclaredConstructor(new Class[] { Room.class }).newInstance(new Object[] { room }); + game = FootballGame.class.getDeclaredConstructor(new Class[] { Room.class }).newInstance(room); room.addGame(game); } catch (Exception e) @@ -197,7 +197,7 @@ public class InteractionFootball extends InteractionPushable } HabboItem currentTopItem = room.getTopItemAt(from.x, from.y, this); HabboItem topItem = room.getTopItemAt(to.x, to.y, this); - if ((game != null) && (topItem != null) && ((currentTopItem == null) || (currentTopItem.getId() != topItem.getId())) && ((topItem instanceof InteractionFootballGoal))) + if ((topItem != null) && ((currentTopItem == null) || (currentTopItem.getId() != topItem.getId())) && ((topItem instanceof InteractionFootballGoal))) { GameTeamColors color = ((InteractionGameTeamItem)topItem).teamColor; game.onScore(kicker, color); diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/football/InteractionFootballGate.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/football/InteractionFootballGate.java index 53798a9d..b0e6950c 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/football/InteractionFootballGate.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/football/InteractionFootballGate.java @@ -22,8 +22,8 @@ import java.sql.SQLException; public class InteractionFootballGate extends HabboItem { private static final String CACHE_KEY = "fball_gate_look"; - private String figureM = ""; - private String figureF = ""; + private String figureM; + private String figureF; public InteractionFootballGate(ResultSet set, Item baseItem) throws SQLException { diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/football/scoreboards/InteractionFootballScoreboard.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/football/scoreboards/InteractionFootballScoreboard.java index af54f1cb..1839cfd0 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/football/scoreboards/InteractionFootballScoreboard.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/football/scoreboards/InteractionFootballScoreboard.java @@ -23,7 +23,7 @@ public class InteractionFootballScoreboard extends InteractionGameScoreboard try { - this.score = Integer.parseInt(getExtradata()); + this.score = Integer.parseInt(this.getExtradata()); } catch (Exception e) { diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/freeze/InteractionFreezeBlock.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/freeze/InteractionFreezeBlock.java index 674a376d..9d89852c 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/freeze/InteractionFreezeBlock.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/freeze/InteractionFreezeBlock.java @@ -3,6 +3,7 @@ package com.eu.habbo.habbohotel.items.interactions.games.freeze; import com.eu.habbo.Emulator; import com.eu.habbo.habbohotel.achievements.AchievementManager; import com.eu.habbo.habbohotel.gameclients.GameClient; +import com.eu.habbo.habbohotel.games.GameState; import com.eu.habbo.habbohotel.games.freeze.FreezeGame; import com.eu.habbo.habbohotel.games.freeze.FreezeGamePlayer; import com.eu.habbo.habbohotel.items.Item; @@ -99,7 +100,7 @@ public class InteractionFreezeBlock extends HabboItem return; FreezeGame game = (FreezeGame) room.getGame(FreezeGame.class); - if(game == null || !game.isRunning) + if(game == null || !game.state.equals(GameState.RUNNING)) return; Habbo habbo = room.getHabbo(roomUnit); diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/freeze/InteractionFreezeTile.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/freeze/InteractionFreezeTile.java index 9a54d853..7f795c76 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/freeze/InteractionFreezeTile.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/freeze/InteractionFreezeTile.java @@ -4,12 +4,16 @@ import com.eu.habbo.habbohotel.gameclients.GameClient; import com.eu.habbo.habbohotel.games.freeze.FreezeGame; import com.eu.habbo.habbohotel.items.Item; import com.eu.habbo.habbohotel.rooms.Room; +import com.eu.habbo.habbohotel.rooms.RoomTile; import com.eu.habbo.habbohotel.rooms.RoomUnit; import com.eu.habbo.habbohotel.users.HabboItem; import com.eu.habbo.messages.ServerMessage; +import gnu.trove.set.hash.THashSet; +import org.apache.commons.math3.util.Pair; import java.sql.ResultSet; import java.sql.SQLException; +import java.util.List; public class InteractionFreezeTile extends HabboItem { @@ -26,13 +30,13 @@ public class InteractionFreezeTile extends HabboItem @Override public boolean canWalkOn(RoomUnit roomUnit, Room room, Object[] objects) { - return false; + return true; } @Override public boolean isWalkable() { - return false; + return true; } @Override @@ -70,4 +74,22 @@ public class InteractionFreezeTile extends HabboItem { this.setExtradata("0"); } + + @Override + public boolean allowWiredResetState() + { + return false; + } + + + @Override + public boolean canStackAt(Room room, List>> itemsAtLocation) + { + for (Pair> set : itemsAtLocation) + { + if (!set.getValue().isEmpty()) return false; + } + + return super.canStackAt(room, itemsAtLocation); + } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/freeze/gates/InteractionFreezeGate.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/freeze/gates/InteractionFreezeGate.java index 24f2525c..0bebee7f 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/freeze/gates/InteractionFreezeGate.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/games/freeze/gates/InteractionFreezeGate.java @@ -1,5 +1,6 @@ package com.eu.habbo.habbohotel.items.interactions.games.freeze.gates; +import com.eu.habbo.habbohotel.games.GameState; import com.eu.habbo.habbohotel.games.GameTeam; import com.eu.habbo.habbohotel.games.GameTeamColors; import com.eu.habbo.habbohotel.games.freeze.FreezeGame; @@ -26,7 +27,7 @@ public class InteractionFreezeGate extends InteractionGameGate @Override public boolean canWalkOn(RoomUnit roomUnit, Room room, Object[] objects) { - return room.getGame(FreezeGame.class) == null || !((FreezeGame)room.getGame(FreezeGame.class)).isRunning; + return room.getGame(FreezeGame.class) == null || ((FreezeGame)room.getGame(FreezeGame.class)).state.equals(GameState.IDLE); } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/WiredTriggerReset.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/WiredTriggerReset.java index 42bd5bfe..53e0732b 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/WiredTriggerReset.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/WiredTriggerReset.java @@ -2,5 +2,5 @@ package com.eu.habbo.habbohotel.items.interactions.wired; public interface WiredTriggerReset { - public void resetTimer(); + void resetTimer(); } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionBattleBanzaiGameActive.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionBattleBanzaiGameActive.java index fb18eae8..1e827215 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionBattleBanzaiGameActive.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionBattleBanzaiGameActive.java @@ -1,6 +1,7 @@ package com.eu.habbo.habbohotel.items.interactions.wired.conditions; import com.eu.habbo.habbohotel.games.Game; +import com.eu.habbo.habbohotel.games.GameState; import com.eu.habbo.habbohotel.games.battlebanzai.BattleBanzaiGame; import com.eu.habbo.habbohotel.items.Item; import com.eu.habbo.habbohotel.items.interactions.InteractionWiredCondition; @@ -60,11 +61,11 @@ public class WiredConditionBattleBanzaiGameActive extends InteractionWiredCondi { Game game = room.getGame(BattleBanzaiGame.class); - return game != null && game.isRunning; + return game != null && game.state.equals(GameState.RUNNING); } @Override - protected String getWiredData() + public String getWiredData() { return ""; } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionDateRangeActive.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionDateRangeActive.java index d20a0821..06d0a3dc 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionDateRangeActive.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionDateRangeActive.java @@ -60,7 +60,7 @@ public class WiredConditionDateRangeActive extends InteractionWiredCondition } @Override - protected String getWiredData() + public String getWiredData() { return ""; } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionFreezeGameActive.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionFreezeGameActive.java index 9d12b164..740d5fd1 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionFreezeGameActive.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionFreezeGameActive.java @@ -1,6 +1,7 @@ package com.eu.habbo.habbohotel.items.interactions.wired.conditions; import com.eu.habbo.habbohotel.games.Game; +import com.eu.habbo.habbohotel.games.GameState; import com.eu.habbo.habbohotel.games.freeze.FreezeGame; import com.eu.habbo.habbohotel.items.Item; import com.eu.habbo.habbohotel.items.interactions.InteractionWiredCondition; @@ -60,11 +61,11 @@ public class WiredConditionFreezeGameActive extends InteractionWiredCondition { Game game = room.getGame(FreezeGame.class); - return game != null && game.isRunning; + return game != null && game.state.equals(GameState.RUNNING); } @Override - protected String getWiredData() + public String getWiredData() { return ""; } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionFurniHaveFurni.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionFurniHaveFurni.java index e7a3e835..1d3099a9 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionFurniHaveFurni.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionFurniHaveFurni.java @@ -85,12 +85,12 @@ public class WiredConditionFurniHaveFurni extends InteractionWiredCondition { this.refresh(); - String data = (all ? "1" : "0") + ":"; + StringBuilder data = new StringBuilder((this.all ? "1" : "0") + ":"); for(HabboItem item : this.items) - data += item.getId() + ";"; + data.append(item.getId()).append(";"); - return data; + return data.toString(); } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionFurniHaveHabbo.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionFurniHaveHabbo.java index c9417e04..ad4051be 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionFurniHaveHabbo.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionFurniHaveHabbo.java @@ -32,13 +32,13 @@ public class WiredConditionFurniHaveHabbo extends InteractionWiredCondition public WiredConditionFurniHaveHabbo(ResultSet set, Item baseItem) throws SQLException { super(set, baseItem); - items = new THashSet<>(); + this.items = new THashSet<>(); } public WiredConditionFurniHaveHabbo(int id, int userId, Item item, String extradata, int limitedStack, int limitedSells) { super(id, userId, item, extradata, limitedStack, limitedSells); - items = new THashSet<>(); + this.items = new THashSet<>(); } @Override @@ -110,14 +110,14 @@ public class WiredConditionFurniHaveHabbo extends InteractionWiredCondition { this.refresh(); - String data = (this.all ? "1" : "0") + ":"; + StringBuilder data = new StringBuilder((this.all ? "1" : "0") + ":"); for(HabboItem item : this.items) { - data += item.getId() + ";"; + data.append(item.getId()).append(";"); } - return data; + return data.toString(); } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionFurniTypeMatch.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionFurniTypeMatch.java index f017761b..a7cbf504 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionFurniTypeMatch.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionFurniTypeMatch.java @@ -68,12 +68,12 @@ public class WiredConditionFurniTypeMatch extends InteractionWiredCondition { this.refresh(); - String data = ""; + StringBuilder data = new StringBuilder(); for(HabboItem item : this.items) - data += item.getId() + ";"; + data.append(item.getId()).append(";"); - return data; + return data.toString(); } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionHabboHasEffect.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionHabboHasEffect.java index e3973775..9458f8f4 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionHabboHasEffect.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionHabboHasEffect.java @@ -30,13 +30,14 @@ public class WiredConditionHabboHasEffect extends InteractionWiredCondition @Override public boolean execute(RoomUnit roomUnit, Room room, Object[] stuff) { + if (roomUnit == null) return false; return roomUnit.getEffectId() == this.effectId; } @Override public String getWiredData() { - return effectId + ""; + return this.effectId + ""; } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionHabboHasHandItem.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionHabboHasHandItem.java index 175b0603..79642c6a 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionHabboHasHandItem.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionHabboHasHandItem.java @@ -64,11 +64,12 @@ public class WiredConditionHabboHasHandItem extends InteractionWiredCondition @Override public boolean execute(RoomUnit roomUnit, Room room, Object[] stuff) { + if (roomUnit == null) return false; return roomUnit.getHandItem() == this.handItem; } @Override - protected String getWiredData() + public String getWiredData() { return this.handItem + ""; } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionHabboIsDancing.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionHabboIsDancing.java new file mode 100644 index 00000000..2e7a590c --- /dev/null +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionHabboIsDancing.java @@ -0,0 +1,35 @@ +package com.eu.habbo.habbohotel.items.interactions.wired.conditions; + +import com.eu.habbo.habbohotel.items.Item; +import com.eu.habbo.habbohotel.rooms.Room; +import com.eu.habbo.habbohotel.rooms.RoomUnit; +import com.eu.habbo.habbohotel.users.DanceType; +import com.eu.habbo.habbohotel.wired.WiredConditionOperator; + +import java.sql.ResultSet; +import java.sql.SQLException; + +public class WiredConditionHabboIsDancing extends WiredConditionGroupMember +{ + public WiredConditionHabboIsDancing(ResultSet set, Item baseItem) throws SQLException + { + super(set, baseItem); + } + + public WiredConditionHabboIsDancing(int id, int userId, Item item, String extradata, int limitedStack, int limitedSells) + { + super(id, userId, item, extradata, limitedStack, limitedSells); + } + + @Override + public boolean execute(RoomUnit roomUnit, Room room, Object[] stuff) + { + return roomUnit.getDanceType() != DanceType.NONE; + } + + @Override + public WiredConditionOperator operator() + { + return WiredConditionOperator.OR; + } +} \ No newline at end of file diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionLessTimeElapsed.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionLessTimeElapsed.java index 5df3c2f2..4c905502 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionLessTimeElapsed.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionLessTimeElapsed.java @@ -52,7 +52,6 @@ public class WiredConditionLessTimeElapsed extends InteractionWiredCondition } catch (Exception e) { - return; } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionMatchStatePosition.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionMatchStatePosition.java index 33a97a7c..37e9b7ef 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionMatchStatePosition.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionMatchStatePosition.java @@ -155,21 +155,21 @@ public class WiredConditionMatchStatePosition extends InteractionWiredCondition @Override public String getWiredData() { - String data = this.settings.size() + ":"; + StringBuilder data = new StringBuilder(this.settings.size() + ":"); if(this.settings.isEmpty()) { - data += "\t;"; + data.append("\t;"); } else { for (WiredMatchFurniSetting item : this.settings) - data += item.toString() + ";"; + data.append(item.toString()).append(";"); } - data += ":" + (this.state ? 1 : 0) + ":" + (this.direction ? 1 : 0) + ":" + (this.position ? 1 : 0); + data.append(":").append(this.state ? 1 : 0).append(":").append(this.direction ? 1 : 0).append(":").append(this.position ? 1 : 0); - return data; + return data.toString(); } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionMoreTimeElapsed.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionMoreTimeElapsed.java index e95b70ba..72d4907c 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionMoreTimeElapsed.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionMoreTimeElapsed.java @@ -52,7 +52,6 @@ public class WiredConditionMoreTimeElapsed extends InteractionWiredCondition } catch (Exception e) { - return; } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionMottoContains.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionMottoContains.java index 33946237..46b2b9eb 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionMottoContains.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionMottoContains.java @@ -34,13 +34,7 @@ public class WiredConditionMottoContains extends InteractionWiredCondition { Habbo habbo = room.getHabbo(roomUnit); - if(habbo != null) - { - if(habbo.getHabboInfo().getMotto().contains(this.motto)) - return true; - } - - return false; + return habbo != null && habbo.getHabboInfo().getMotto().contains(this.motto); } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotBattleBanzaiGameActive.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotBattleBanzaiGameActive.java index 0e021ab6..8b199fd0 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotBattleBanzaiGameActive.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotBattleBanzaiGameActive.java @@ -1,6 +1,7 @@ package com.eu.habbo.habbohotel.items.interactions.wired.conditions; import com.eu.habbo.habbohotel.games.Game; +import com.eu.habbo.habbohotel.games.GameState; import com.eu.habbo.habbohotel.games.battlebanzai.BattleBanzaiGame; import com.eu.habbo.habbohotel.items.Item; import com.eu.habbo.habbohotel.items.interactions.InteractionWiredCondition; @@ -60,11 +61,11 @@ public class WiredConditionNotBattleBanzaiGameActive extends InteractionWiredCon { Game game = room.getGame(BattleBanzaiGame.class); - return game == null || !game.isRunning; + return game == null || !game.state.equals(GameState.RUNNING); } @Override - protected String getWiredData() + public String getWiredData() { return ""; } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotFreezeGameActive.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotFreezeGameActive.java index 8c644f4c..a6bafb34 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotFreezeGameActive.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotFreezeGameActive.java @@ -1,6 +1,7 @@ package com.eu.habbo.habbohotel.items.interactions.wired.conditions; import com.eu.habbo.habbohotel.games.Game; +import com.eu.habbo.habbohotel.games.GameState; import com.eu.habbo.habbohotel.games.freeze.FreezeGame; import com.eu.habbo.habbohotel.items.Item; import com.eu.habbo.habbohotel.items.interactions.InteractionWiredCondition; @@ -60,11 +61,11 @@ public class WiredConditionNotFreezeGameActive extends InteractionWiredCondition { Game game = room.getGame(FreezeGame.class); - return game == null || !game.isRunning; + return game == null || !game.state.equals(GameState.RUNNING); } @Override - protected String getWiredData() + public String getWiredData() { return ""; } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotFurniHaveFurni.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotFurniHaveFurni.java index 8d466c97..6b9d488f 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotFurniHaveFurni.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotFurniHaveFurni.java @@ -6,6 +6,7 @@ import com.eu.habbo.habbohotel.items.interactions.InteractionWiredCondition; import com.eu.habbo.habbohotel.rooms.Room; import com.eu.habbo.habbohotel.rooms.RoomUnit; import com.eu.habbo.habbohotel.users.HabboItem; +import com.eu.habbo.habbohotel.wired.WiredConditionOperator; import com.eu.habbo.habbohotel.wired.WiredConditionType; import com.eu.habbo.habbohotel.wired.WiredHandler; import com.eu.habbo.messages.ClientMessage; @@ -44,7 +45,8 @@ public class WiredConditionNotFurniHaveFurni extends InteractionWiredCondition for(HabboItem item : this.items) { - THashSet things = room.getItemsAt(item.getX(), item.getY(), item.getZ()); + THashSet things = room.getItemsAt(item.getX(), item.getY(), item.getZ() + Item.getCurrentHeight(item)); + things.removeAll(this.items); if (!things.isEmpty()) { if (this.all) @@ -63,12 +65,12 @@ public class WiredConditionNotFurniHaveFurni extends InteractionWiredCondition { this.refresh(); - String data = (all ? "1" : "0") + ":"; + StringBuilder data = new StringBuilder((this.all ? "1" : "0") + ":"); for(HabboItem item : this.items) - data += item.getId() + ";"; + data.append(item.getId()).append(";"); - return data; + return data.toString(); } @Override @@ -187,4 +189,10 @@ public class WiredConditionNotFurniHaveFurni extends InteractionWiredCondition this.items.remove(item); } } + + @Override + public WiredConditionOperator operator() + { + return this.all ? WiredConditionOperator.AND : WiredConditionOperator.OR; + } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotFurniHaveHabbo.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotFurniHaveHabbo.java index d2402dbb..9e239958 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotFurniHaveHabbo.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotFurniHaveHabbo.java @@ -32,13 +32,13 @@ public class WiredConditionNotFurniHaveHabbo extends InteractionWiredCondition public WiredConditionNotFurniHaveHabbo(ResultSet set, Item baseItem) throws SQLException { super(set, baseItem); - items = new THashSet<>(); + this.items = new THashSet<>(); } public WiredConditionNotFurniHaveHabbo(int id, int userId, Item item, String extradata, int limitedStack, int limitedSells) { super(id, userId, item, extradata, limitedStack, limitedSells); - items = new THashSet<>(); + this.items = new THashSet<>(); } @Override @@ -111,14 +111,14 @@ public class WiredConditionNotFurniHaveHabbo extends InteractionWiredCondition { this.refresh(); - String data = (this.all ? "1" : "0") + ":"; + StringBuilder data = new StringBuilder((this.all ? "1" : "0") + ":"); for(HabboItem item : this.items) { - data += item.getId() + ";"; + data.append(item.getId()).append(";"); } - return data; + return data.toString(); } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotFurniTypeMatch.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotFurniTypeMatch.java index 4c551f73..fa5b4f5d 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotFurniTypeMatch.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotFurniTypeMatch.java @@ -61,12 +61,12 @@ public class WiredConditionNotFurniTypeMatch extends InteractionWiredCondition { this.refresh(); - String data = ""; + StringBuilder data = new StringBuilder(); for(HabboItem item : this.items) - data += item.getId() + ";"; + data.append(item.getId()).append(";"); - return data; + return data.toString(); } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotHabboHasEffect.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotHabboHasEffect.java index c1ebad29..3c8e1a65 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotHabboHasEffect.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotHabboHasEffect.java @@ -30,6 +30,7 @@ public class WiredConditionNotHabboHasEffect extends InteractionWiredCondition @Override public boolean execute(RoomUnit roomUnit, Room room, Object[] stuff) { + if (roomUnit == null) return false; return roomUnit.getEffectId() != this.effectId; } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotHabboIsDancing.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotHabboIsDancing.java new file mode 100644 index 00000000..fde87f6b --- /dev/null +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotHabboIsDancing.java @@ -0,0 +1,35 @@ +package com.eu.habbo.habbohotel.items.interactions.wired.conditions; + +import com.eu.habbo.habbohotel.items.Item; +import com.eu.habbo.habbohotel.rooms.Room; +import com.eu.habbo.habbohotel.rooms.RoomUnit; +import com.eu.habbo.habbohotel.users.DanceType; +import com.eu.habbo.habbohotel.wired.WiredConditionOperator; + +import java.sql.ResultSet; +import java.sql.SQLException; + +public class WiredConditionNotHabboIsDancing extends WiredConditionGroupMember +{ + public WiredConditionNotHabboIsDancing(ResultSet set, Item baseItem) throws SQLException + { + super(set, baseItem); + } + + public WiredConditionNotHabboIsDancing(int id, int userId, Item item, String extradata, int limitedStack, int limitedSells) + { + super(id, userId, item, extradata, limitedStack, limitedSells); + } + + @Override + public boolean execute(RoomUnit roomUnit, Room room, Object[] stuff) + { + return roomUnit.getDanceType() == DanceType.NONE; + } + + @Override + public WiredConditionOperator operator() + { + return WiredConditionOperator.OR; + } +} \ No newline at end of file diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotInTeam.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotInTeam.java index 01d10af3..b303bfa0 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotInTeam.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotInTeam.java @@ -38,8 +38,7 @@ public class WiredConditionNotInTeam extends InteractionWiredCondition { if(habbo.getHabboInfo().getGamePlayer() != null) { - if(!habbo.getHabboInfo().getGamePlayer().getTeamColor().equals(this.teamColor)) - return true; + return !habbo.getHabboInfo().getGamePlayer().getTeamColor().equals(this.teamColor); } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotMatchStatePosition.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotMatchStatePosition.java index 9c0b7c59..25377f03 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotMatchStatePosition.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotMatchStatePosition.java @@ -90,21 +90,21 @@ public class WiredConditionNotMatchStatePosition extends InteractionWiredConditi @Override public String getWiredData() { - String data = this.settings.size() + ":"; + StringBuilder data = new StringBuilder(this.settings.size() + ":"); if(this.settings.isEmpty()) { - data += "\t;"; + data.append("\t;"); } else { for (WiredMatchFurniSetting item : this.settings) - data += item.toString() + ";"; + data.append(item.toString()).append(";"); } - data += ":" + (this.state ? 1 : 0) + ":" + (this.direction ? 1 : 0) + ":" + (this.position ? 1 : 0); + data.append(":").append(this.state ? 1 : 0).append(":").append(this.direction ? 1 : 0).append(":").append(this.position ? 1 : 0); - return data; + return data.toString(); } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotTriggerOnFurni.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotTriggerOnFurni.java index 4e9563d0..6942e0b6 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotTriggerOnFurni.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionNotTriggerOnFurni.java @@ -35,6 +35,7 @@ public class WiredConditionNotTriggerOnFurni extends InteractionWiredCondition @Override public boolean execute(RoomUnit roomUnit, Room room, Object[] stuff) { + if (roomUnit == null) return false; this.refresh(); if(this.items.isEmpty()) @@ -54,12 +55,12 @@ public class WiredConditionNotTriggerOnFurni extends InteractionWiredCondition { this.refresh(); - String data = ""; + StringBuilder data = new StringBuilder(); for(HabboItem item : this.items) - data += item.getId() + ";"; + data.append(item.getId()).append(";"); - return data; + return data.toString(); } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionTeamMember.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionTeamMember.java index efcb9be6..ffed6d12 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionTeamMember.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionTeamMember.java @@ -38,8 +38,7 @@ public class WiredConditionTeamMember extends InteractionWiredCondition { if(habbo.getHabboInfo().getGamePlayer() != null) { - if(habbo.getHabboInfo().getGamePlayer().getTeamColor().equals(this.teamColor)) - return true; + return habbo.getHabboInfo().getGamePlayer().getTeamColor().equals(this.teamColor); } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionTriggerOnFurni.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionTriggerOnFurni.java index f81f620b..7ef15bfd 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionTriggerOnFurni.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/conditions/WiredConditionTriggerOnFurni.java @@ -36,6 +36,8 @@ public class WiredConditionTriggerOnFurni extends InteractionWiredCondition @Override public boolean execute(RoomUnit roomUnit, Room room, Object[] stuff) { + if (roomUnit == null) return false; + this.refresh(); if(this.items.isEmpty()) @@ -55,14 +57,14 @@ public class WiredConditionTriggerOnFurni extends InteractionWiredCondition { this.refresh(); - String data = ""; + StringBuilder data = new StringBuilder(); for(HabboItem item : this.items) { - data += item.getId() + ";"; + data.append(item.getId()).append(";"); } - return data; + return data.toString(); } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectAlert.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectAlert.java index 9b8544fa..ebfb7293 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectAlert.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectAlert.java @@ -29,10 +29,10 @@ public class WiredEffectAlert extends WiredEffectWhisper if (habbo != null) { - habbo.getClient().sendResponse(new GenericAlertComposer(this.message + habbo.alert(this.message .replace("%online%", Emulator.getGameEnvironment().getHabboManager().getOnlineCount() + "") .replace("%username%", habbo.getHabboInfo().getUsername()) - .replace("%roomsloaded%", Emulator.getGameEnvironment().getRoomManager().loadedRoomsCount() + ""))); + .replace("%roomsloaded%", Emulator.getGameEnvironment().getRoomManager().loadedRoomsCount() + "")); return true; } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectBotClothes.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectBotClothes.java index 29302c0d..8ec0b062 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectBotClothes.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectBotClothes.java @@ -85,7 +85,7 @@ public class WiredEffectBotClothes extends InteractionWiredEffect } @Override - protected String getWiredData() + public String getWiredData() { return this.getDelay() + "" + ((char) 9) + "" + this.botName + ((char) 9) + @@ -115,7 +115,7 @@ public class WiredEffectBotClothes extends InteractionWiredEffect public String getBotName() { - return botName; + return this.botName; } public void setBotName(String botName) @@ -125,7 +125,7 @@ public class WiredEffectBotClothes extends InteractionWiredEffect public String getBotLook() { - return botLook; + return this.botLook; } public void setBotLook(String botLook) diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectBotFollowHabbo.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectBotFollowHabbo.java index df761389..3180d1a8 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectBotFollowHabbo.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectBotFollowHabbo.java @@ -118,7 +118,7 @@ public class WiredEffectBotFollowHabbo extends InteractionWiredEffect } @Override - protected String getWiredData() + public String getWiredData() { return this.getDelay() + "" + ((char) 9) + "" + this.mode + "" + ((char) 9) + this.botName; } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectBotGiveHandItem.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectBotGiveHandItem.java index 3c94d3fe..9b9253f8 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectBotGiveHandItem.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectBotGiveHandItem.java @@ -123,7 +123,7 @@ public class WiredEffectBotGiveHandItem extends InteractionWiredEffect } @Override - protected String getWiredData() + public String getWiredData() { return this.getDelay() + "" + ((char)9) + "" + this.itemId + "" + ((char) 9) + "" + this.botName; } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectBotTalk.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectBotTalk.java index 6fde3201..145af281 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectBotTalk.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectBotTalk.java @@ -94,8 +94,11 @@ public class WiredEffectBotTalk extends InteractionWiredEffect } List bots = room.getBots(this.botName); + int now = Emulator.getIntUnixTimestamp(); for(Bot bot : bots) { + if (now - bot.getChatTimestamp() < bot.getChatDelay()) continue; + if(this.mode == 1) bot.shout(message); else @@ -163,4 +166,10 @@ public class WiredEffectBotTalk extends InteractionWiredEffect { this.message = message; } + + @Override + protected long requiredCooldown() + { + return 1000; + } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectBotTalkToHabbo.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectBotTalkToHabbo.java index 8ce947fd..a620ee42 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectBotTalkToHabbo.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectBotTalkToHabbo.java @@ -138,7 +138,7 @@ public class WiredEffectBotTalkToHabbo extends InteractionWiredEffect } @Override - protected String getWiredData() + public String getWiredData() { return this.getDelay() + "" + ((char) 9) + "" + this.mode + "" + ((char) 9) + "" + this.botName + "" + ((char) 9 ) + "" + this.message; } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectBotTeleport.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectBotTeleport.java index 02d56028..711d2bbf 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectBotTeleport.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectBotTeleport.java @@ -119,8 +119,8 @@ public class WiredEffectBotTeleport extends InteractionWiredEffect { int currentEffect = bot.getRoomUnit().getEffectId(); - room.giveEffect(bot.getRoomUnit(), 4); - Emulator.getThreading().run(new RoomUnitTeleport(roomUnit, room, item.getX(), item.getY(), item.getZ() + item.getBaseItem().getHeight() + (item.getBaseItem().allowSit() ? - 0.50 : 0D), currentEffect), WiredHandler.TELEPORT_DELAY); + room.giveEffect(bot.getRoomUnit(), 4, -1); + Emulator.getThreading().run(new RoomUnitTeleport(bot.getRoomUnit(), room, item.getX(), item.getY(), item.getZ() + item.getBaseItem().getHeight() + (item.getBaseItem().allowSit() ? - 0.50 : 0D), currentEffect), WiredHandler.TELEPORT_DELAY); break; } else { @@ -134,22 +134,22 @@ public class WiredEffectBotTeleport extends InteractionWiredEffect } @Override - protected String getWiredData() + public String getWiredData() { - String wiredData = this.getDelay() + "\t" + this.botName + ";"; + StringBuilder wiredData = new StringBuilder(this.getDelay() + "\t" + this.botName + ";"); - if(items != null && !items.isEmpty()) + if(this.items != null && !this.items.isEmpty()) { for (HabboItem item : this.items) { if(item.getRoomId() != 0) { - wiredData += item.getId() + ";"; + wiredData.append(item.getId()).append(";"); } } } - return wiredData; + return wiredData.toString(); } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectBotWalkToFurni.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectBotWalkToFurni.java index 32545479..29cf36fb 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectBotWalkToFurni.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectBotWalkToFurni.java @@ -143,22 +143,22 @@ public class WiredEffectBotWalkToFurni extends InteractionWiredEffect } @Override - protected String getWiredData() + public String getWiredData() { - String wiredData = this.getDelay() + "\t" + this.botName + ";"; + StringBuilder wiredData = new StringBuilder(this.getDelay() + "\t" + this.botName + ";"); - if(this.items != null && !items.isEmpty()) + if(this.items != null && !this.items.isEmpty()) { for (HabboItem item : this.items) { if(item.getRoomId() != 0) { - wiredData += item.getId() + ";"; + wiredData.append(item.getId()).append(";"); } } } - return wiredData; + return wiredData.toString(); } @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 12a04a25..1139ece3 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 @@ -61,6 +61,7 @@ public class WiredEffectChangeFurniDirection extends InteractionWiredEffect this.items.remove(item); } + if (this.items.isEmpty()) return false; for (Map.Entry entry : this.items.entrySet()) { RoomUserRotation currentRotation = entry.getValue(); @@ -69,7 +70,7 @@ public class WiredEffectChangeFurniDirection extends InteractionWiredEffect int count = 1; while ((targetTile == null || !targetTile.getAllowStack() || targetTile.state == RoomTileState.INVALID) && count < 8) { - entry.setValue(nextRotation(entry.getValue())); + entry.setValue(this.nextRotation(entry.getValue())); targetTile = room.getLayout().getTileInFront(room.getLayout().getTile(entry.getKey().getX(), entry.getKey().getY()), entry.getValue().getValue()); count++; } @@ -106,14 +107,14 @@ public class WiredEffectChangeFurniDirection extends InteractionWiredEffect @Override public String getWiredData() { - String data = this.startRotation.getValue() + "\t" + this.rotateAction + "\t" + this.items.size(); + StringBuilder data = new StringBuilder(this.startRotation.getValue() + "\t" + this.rotateAction + "\t" + this.items.size()); for (Map.Entry entry : this.items.entrySet()) { - data += "\t" + entry.getKey().getId() + ":" + entry.getValue().getValue(); + data.append("\t").append(entry.getKey().getId()).append(":").append(entry.getValue().getValue()); } - return data; + return data.toString(); } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectForwardToRoom.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectForwardToRoom.java index ee66e031..16872319 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectForwardToRoom.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectForwardToRoom.java @@ -29,7 +29,7 @@ public class WiredEffectForwardToRoom extends WiredEffectWhisper if (habbo == null) return false; - int roomId = 0; + int roomId; try { diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveBadge.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveBadge.java index 2fc8cd81..91644fae 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveBadge.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveBadge.java @@ -11,7 +11,7 @@ import com.eu.habbo.habbohotel.users.inventory.BadgesComponent; import com.eu.habbo.habbohotel.wired.WiredEffectType; import com.eu.habbo.messages.ClientMessage; import com.eu.habbo.messages.ServerMessage; -import com.eu.habbo.messages.outgoing.generic.alerts.WiredRewardAlertComposer; +import com.eu.habbo.messages.outgoing.wired.WiredRewardAlertComposer; import gnu.trove.procedure.TObjectProcedure; import java.sql.ResultSet; @@ -120,7 +120,7 @@ public class WiredEffectGiveBadge extends InteractionWiredEffect } @Override - protected String getWiredData() + public String getWiredData() { return this.getDelay() + "\t" + this.badge; } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveCredits.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveCredits.java index 9f5b3e21..07097003 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveCredits.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveCredits.java @@ -114,7 +114,7 @@ public class WiredEffectGiveCredits extends InteractionWiredEffect } @Override - protected String getWiredData() + public String getWiredData() { return this.getDelay() + "\t" + this.credits; } @@ -136,7 +136,6 @@ public class WiredEffectGiveCredits extends InteractionWiredEffect } catch (Exception e) { - e.printStackTrace(); } } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveDiamonds.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveDiamonds.java index 7e823e3e..403b104a 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveDiamonds.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveDiamonds.java @@ -84,7 +84,7 @@ public class WiredEffectGiveDiamonds extends InteractionWiredEffect try { - loadFromString(packet.readString()); + this.loadFromString(packet.readString()); } catch (Exception e) { @@ -118,7 +118,7 @@ public class WiredEffectGiveDiamonds extends InteractionWiredEffect } @Override - protected String getWiredData() + public String getWiredData() { return this.getDelay() + "\t" + this.points + (this.pointsType == -1 ? "" : ":" + this.pointsType); } @@ -136,11 +136,10 @@ public class WiredEffectGiveDiamonds extends InteractionWiredEffect try { - loadFromString(data[1]); + this.loadFromString(data[1]); } catch (Exception e) { - e.printStackTrace(); } } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveDuckets.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveDuckets.java index a4492a5e..4edb224a 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveDuckets.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveDuckets.java @@ -116,7 +116,7 @@ public class WiredEffectGiveDuckets extends InteractionWiredEffect } @Override - protected String getWiredData() + public String getWiredData() { return this.getDelay() + "\t" + this.pixels; } @@ -138,7 +138,6 @@ public class WiredEffectGiveDuckets extends InteractionWiredEffect } catch (Exception e) { - e.printStackTrace(); } } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveEffect.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveEffect.java new file mode 100644 index 00000000..4f8635fc --- /dev/null +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveEffect.java @@ -0,0 +1,43 @@ +package com.eu.habbo.habbohotel.items.interactions.wired.effects; + +import com.eu.habbo.habbohotel.items.Item; +import com.eu.habbo.habbohotel.rooms.Room; +import com.eu.habbo.habbohotel.rooms.RoomUnit; + +import java.sql.ResultSet; +import java.sql.SQLException; + +public class WiredEffectGiveEffect extends WiredEffectWhisper +{ + public WiredEffectGiveEffect(ResultSet set, Item baseItem) throws SQLException + { + super(set, baseItem); + } + + public WiredEffectGiveEffect(int id, int userId, Item item, String extradata, int limitedStack, int limitedSells) + { + super(id, userId, item, extradata, limitedStack, limitedSells); + } + + @Override + public boolean execute(RoomUnit roomUnit, Room room, Object[] stuff) + { + int effectId; + + try + { + effectId = Integer.valueOf(this.message); + } catch (Exception e) + { + return false; + } + + if (effectId >= 0) + { + room.giveEffect(roomUnit, effectId, Integer.MAX_VALUE); + return true; + } + + return false; + } +} \ No newline at end of file diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveHotelviewBonusRarePoints.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveHotelviewBonusRarePoints.java index 8bdc04bc..aa2c8366 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveHotelviewBonusRarePoints.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveHotelviewBonusRarePoints.java @@ -120,7 +120,7 @@ public class WiredEffectGiveHotelviewBonusRarePoints extends InteractionWiredEff } @Override - protected String getWiredData() + public String getWiredData() { return this.getDelay() + "\t" + this.amount; } @@ -137,7 +137,7 @@ public class WiredEffectGiveHotelviewBonusRarePoints extends InteractionWiredEff try { - this.amount = Integer.valueOf(getWiredData().split("\t")[1]); + this.amount = Integer.valueOf(this.getWiredData().split("\t")[1]); } catch (Exception e) {} diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveHotelviewHofPoints.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveHotelviewHofPoints.java index 0b22d745..13db516a 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveHotelviewHofPoints.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveHotelviewHofPoints.java @@ -118,7 +118,7 @@ public class WiredEffectGiveHotelviewHofPoints extends InteractionWiredEffect } @Override - protected String getWiredData() + public String getWiredData() { return this.getDelay() + "\t" + this.amount; } @@ -135,7 +135,7 @@ public class WiredEffectGiveHotelviewHofPoints extends InteractionWiredEffect try { - this.amount = Integer.valueOf(getWiredData().split("\t")[1]); + this.amount = Integer.valueOf(this.getWiredData().split("\t")[1]); } catch (Exception e) {} diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveRespect.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveRespect.java index c73b5daf..9ad20476 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveRespect.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveRespect.java @@ -117,7 +117,7 @@ public class WiredEffectGiveRespect extends InteractionWiredEffect } @Override - protected String getWiredData() + public String getWiredData() { return this.getDelay() + "\t" + this.respects; } @@ -139,7 +139,6 @@ public class WiredEffectGiveRespect extends InteractionWiredEffect } catch (Exception e) { - e.printStackTrace(); } } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveReward.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveReward.java index 692ddf29..04509091 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveReward.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectGiveReward.java @@ -60,21 +60,21 @@ public class WiredEffectGiveReward extends InteractionWiredEffect @Override public String getWiredData() { - String data = limit + ":" + given + ":"+ rewardTime + ":" + (uniqueRewards ? 1 : 0) + ":" + this.limitationInterval +":" + getDelay() + ":"; + StringBuilder data = new StringBuilder(this.limit + ":" + this.given + ":" + this.rewardTime + ":" + (this.uniqueRewards ? 1 : 0) + ":" + this.limitationInterval + ":" + this.getDelay() + ":"); if(this.rewardItems.isEmpty()) { - data += "\t"; + data.append("\t"); } else { for (WiredGiveRewardItem item : this.rewardItems) { - data += item.toString() + ";"; + data.append(item.toString()).append(";"); } } - return data; + return data.toString(); } @Override @@ -90,7 +90,7 @@ public class WiredEffectGiveReward extends InteractionWiredEffect this.limitationInterval = Integer.valueOf(data[4]); this.setDelay(Integer.valueOf(data[5])); - if(data.length > 5) + if(data.length > 6) { if(!data[6].equalsIgnoreCase("\t")) { @@ -149,13 +149,13 @@ public class WiredEffectGiveReward extends InteractionWiredEffect message.appendInt(0); message.appendInt(this.getBaseItem().getSpriteId()); message.appendInt(this.getId()); - String s = ""; + StringBuilder s = new StringBuilder(); for(WiredGiveRewardItem item : this.rewardItems) { - s += item.wiredString() + ";"; + s.append(item.wiredString()).append(";"); } - message.appendString(s); + message.appendString(s.toString()); message.appendInt(4); message.appendInt(this.rewardTime); message.appendInt(this.uniqueRewards); diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectKickHabbo.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectKickHabbo.java index e7b8636a..8414a41e 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectKickHabbo.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectKickHabbo.java @@ -61,7 +61,7 @@ public class WiredEffectKickHabbo extends InteractionWiredEffect return true; } - room.giveEffect(habbo, 4); + room.giveEffect(habbo, 4, 2); if(!this.message.isEmpty()) habbo.getClient().sendResponse(new RoomUserWhisperComposer(new RoomChatMessage(this.message, habbo, habbo, RoomChatMessageBubbles.ALERT))); diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectLeaveTeam.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectLeaveTeam.java index e75eb2c7..68811d92 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectLeaveTeam.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectLeaveTeam.java @@ -55,7 +55,7 @@ public class WiredEffectLeaveTeam extends InteractionWiredEffect @Override public String getWiredData() { - return getDelay() + ""; + return this.getDelay() + ""; } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectLowerFurni.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectLowerFurni.java index 5f5eb963..3b40f3cb 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectLowerFurni.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectLowerFurni.java @@ -102,7 +102,7 @@ public class WiredEffectLowerFurni extends InteractionWiredEffect if(item.getZ() > 0) { - double z = (0.1) * (double)offset; + double z = (0.1) * (double) this.offset; double minZ = room.getLayout().getHeightAtSquare(item.getX(), item.getY()); if(z < minZ) { @@ -119,19 +119,19 @@ public class WiredEffectLowerFurni extends InteractionWiredEffect } @Override - protected String getWiredData() + public String getWiredData() { - String wiredData = offset + "\t"; + StringBuilder wiredData = new StringBuilder(this.offset + "\t"); - if(items != null && !items.isEmpty()) + if(this.items != null && !this.items.isEmpty()) { for (HabboItem item : this.items) { - wiredData += item.getId() + ";"; + wiredData.append(item.getId()).append(";"); } } - return wiredData; + return wiredData.toString(); } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectMatchFurni.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectMatchFurni.java index de47a13b..2894090d 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectMatchFurni.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectMatchFurni.java @@ -66,9 +66,11 @@ public class WiredEffectMatchFurni extends InteractionWiredEffect } int oldRotation = item.getRotation(); + boolean slideAnimation = true; if(this.direction) { item.setRotation(setting.rotation); + slideAnimation = false; } //room.sendComposer(new ItemStateComposer(item).compose()); @@ -82,7 +84,15 @@ public class WiredEffectMatchFurni extends InteractionWiredEffect { if (t.state != RoomTileState.INVALID) { - if (!room.hasHabbosAt(t.x, t.y)) + boolean canMove = true; + + if (t.x == item.getX() && t.y == item.getY()) + { + canMove = !(room.getTopItemAt(t.x, t.y) == item); + slideAnimation = false; + } + + if (canMove && !room.hasHabbosAt(t.x, t.y)) { THashSet tiles = room.getLayout().getTilesAt(t, item.getBaseItem().getWidth(), item.getBaseItem().getLength(), setting.rotation); double highestZ = -1d; @@ -114,6 +124,13 @@ public class WiredEffectMatchFurni extends InteractionWiredEffect double offsetZ = highestZ - item.getZ(); tilesToUpdate.addAll(room.getLayout().getTilesAt(room.getLayout().getTile(item.getX(), item.getY()), item.getBaseItem().getWidth(), item.getBaseItem().getLength(), oldRotation)); + + if (!slideAnimation) + { + item.setX(t.x); + item.setY(t.y); + } + room.sendComposer(new FloorItemOnRollerComposer(item, null, t, offsetZ, room).compose()); } } @@ -135,11 +152,11 @@ public class WiredEffectMatchFurni extends InteractionWiredEffect { this.refresh(); - String data = this.settings.size() + ":"; + StringBuilder data = new StringBuilder(this.settings.size() + ":"); if(this.settings.isEmpty()) { - data += ";"; + data.append(";"); } else { @@ -147,7 +164,7 @@ public class WiredEffectMatchFurni extends InteractionWiredEffect for (WiredMatchFurniSetting item : this.settings) { - HabboItem i = null; + HabboItem i; if (room != null) { @@ -155,15 +172,15 @@ public class WiredEffectMatchFurni extends InteractionWiredEffect if (i != null) { - data += item.toString(this.checkForWiredResetPermission && i.allowWiredResetState()) + ";"; + data.append(item.toString(this.checkForWiredResetPermission && i.allowWiredResetState())).append(";"); } } } } - data += ":" + (this.state ? 1 : 0) + ":" + (this.direction ? 1 : 0) + ":" + (this.position ? 1 : 0) + ":" + getDelay(); + data.append(":").append(this.state ? 1 : 0).append(":").append(this.direction ? 1 : 0).append(":").append(this.position ? 1 : 0).append(":").append(this.getDelay()); - return data; + return data.toString(); } @Override @@ -175,7 +192,7 @@ public class WiredEffectMatchFurni extends InteractionWiredEffect String[] items = data[1].split(";"); - for(int i = 0; i < itemCount; i++) + for(int i = 0; i < items.length; i++) { try { @@ -190,8 +207,7 @@ public class WiredEffectMatchFurni extends InteractionWiredEffect } catch (Exception e) { - System.out.println(set.getString("wired_data")); - e.printStackTrace(); + Emulator.getLogging().logErrorLine(e); } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectMoveFurniAway.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectMoveFurniAway.java index b01d1448..dcc43be3 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectMoveFurniAway.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectMoveFurniAway.java @@ -140,17 +140,17 @@ public class WiredEffectMoveFurniAway extends InteractionWiredEffect @Override public String getWiredData() { - String wiredData = this.getDelay() + "\t"; + StringBuilder wiredData = new StringBuilder(this.getDelay() + "\t"); if(this.items != null && !this.items.isEmpty()) { for (HabboItem item : this.items) { - wiredData += item.getId() + ";"; + wiredData.append(item.getId()).append(";"); } } - return wiredData; + return wiredData.toString(); } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectMoveFurniTo.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectMoveFurniTo.java index 573cc067..3c5e93bb 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectMoveFurniTo.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectMoveFurniTo.java @@ -110,7 +110,7 @@ public class WiredEffectMoveFurniTo extends InteractionWiredEffect } else { - indexOffset = this.indexOffset.get(targetItem.getId()) + spacing; + indexOffset = this.indexOffset.get(targetItem.getId()) + this.spacing; } RoomTile objectTile = room.getLayout().getTile(targetItem.getX(), targetItem.getY()); @@ -155,14 +155,14 @@ public class WiredEffectMoveFurniTo extends InteractionWiredEffect this.items.remove(item); } - String data = this.direction + "\t" + this.spacing + "\t" + this.getDelay() + "\t"; + StringBuilder data = new StringBuilder(this.direction + "\t" + this.spacing + "\t" + this.getDelay() + "\t"); for(HabboItem item : this.items) { - data += item.getId() + "\r"; + data.append(item.getId()).append("\r"); } - return data; + return data.toString(); } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectMoveFurniTowards.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectMoveFurniTowards.java index 1e42d2d8..d1314805 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectMoveFurniTowards.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectMoveFurniTowards.java @@ -30,13 +30,13 @@ public class WiredEffectMoveFurniTowards extends InteractionWiredEffect public WiredEffectMoveFurniTowards(ResultSet set, Item baseItem) throws SQLException { super(set, baseItem); - items = new THashSet<>(); + this.items = new THashSet<>(); } public WiredEffectMoveFurniTowards(int id, int userId, Item item, String extradata, int limitedStack, int limitedSells) { super(id, userId, item, extradata, limitedStack, limitedSells); - items = new THashSet<>(); + this.items = new THashSet<>(); } @Override @@ -161,17 +161,17 @@ public class WiredEffectMoveFurniTowards extends InteractionWiredEffect @Override public String getWiredData() { - String wiredData = getDelay() + "\t"; + StringBuilder wiredData = new StringBuilder(this.getDelay() + "\t"); - if(items != null && !items.isEmpty()) + if(this.items != null && !this.items.isEmpty()) { for (HabboItem item : this.items) { - wiredData += item.getId() + ";"; + wiredData.append(item.getId()).append(";"); } } - return wiredData; + return wiredData.toString(); } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectMoveRotateFurni.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectMoveRotateFurni.java index 2bef6b6e..0508da2b 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectMoveRotateFurni.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectMoveRotateFurni.java @@ -16,10 +16,12 @@ import com.eu.habbo.messages.ServerMessage; import com.eu.habbo.messages.outgoing.rooms.items.FloorItemOnRollerComposer; import com.eu.habbo.messages.outgoing.rooms.items.FloorItemUpdateComposer; import gnu.trove.set.hash.THashSet; +import org.apache.commons.math3.util.Pair; import java.awt.*; import java.sql.ResultSet; import java.sql.SQLException; +import java.util.ArrayList; public class WiredEffectMoveRotateFurni extends InteractionWiredEffect { @@ -27,7 +29,7 @@ public class WiredEffectMoveRotateFurni extends InteractionWiredEffect private int direction; private int rotation; - private final THashSet items = new THashSet<>(); + private final THashSet items = new THashSet<>(WiredHandler.MAXIMUM_FURNI_SELECTION / 2); public WiredEffectMoveRotateFurni(ResultSet set, Item baseItem) throws SQLException { @@ -42,8 +44,8 @@ public class WiredEffectMoveRotateFurni extends InteractionWiredEffect @Override public boolean execute(RoomUnit roomUnit, Room room, Object[] stuff) { - THashSet items = new THashSet<>(); - THashSet tilesToUpdate = new THashSet<>(); + THashSet items = new THashSet<>(this.items.size()); + THashSet tilesToUpdate = new THashSet<>(Math.min(this.items.size(), 10)); for (HabboItem item : this.items) { @@ -89,115 +91,148 @@ public class WiredEffectMoveRotateFurni extends InteractionWiredEffect } if (this.direction > 0) - { - RoomUserRotation moveDirection = RoomUserRotation.NORTH; + { + int nextDirectionOffset = 0; + RoomUserRotation startMoveDirection = RoomUserRotation.NORTH; + RoomUserRotation moveDirection = null; + if (this.direction == 1) + { + startMoveDirection = RoomUserRotation.values()[Emulator.getRandom().nextInt(RoomUserRotation.values().length / 2) * 2]; + nextDirectionOffset = 2; + } else if (this.direction == 2) + { + if (Emulator.getRandom().nextInt(2) == 1) + { + startMoveDirection = RoomUserRotation.EAST; + nextDirectionOffset = 4; + } else + { + startMoveDirection = RoomUserRotation.WEST; + nextDirectionOffset = 4; + } + } else if (this.direction == 3) + { + if (Emulator.getRandom().nextInt(2) == 1) + { + startMoveDirection = RoomUserRotation.NORTH; + nextDirectionOffset = 4; + } else + { + startMoveDirection = RoomUserRotation.SOUTH; + nextDirectionOffset = 4; + } + } else if (this.direction == 4) + { + startMoveDirection = RoomUserRotation.SOUTH; + nextDirectionOffset = 8; + } else if (this.direction == 5) + { + startMoveDirection = RoomUserRotation.EAST; + nextDirectionOffset = 8; + } else if (this.direction == 6) + { + startMoveDirection = RoomUserRotation.NORTH; + nextDirectionOffset = 8; + } else if (this.direction == 7) + { + startMoveDirection = RoomUserRotation.WEST; + nextDirectionOffset = 8; + } - if (this.direction == 1) - { - moveDirection = RoomUserRotation.values()[Emulator.getRandom().nextInt(RoomUserRotation.values().length)]; - } - else if (this.direction == 2) - { - if (Emulator.getRandom().nextInt(2) == 1) - { - moveDirection = RoomUserRotation.EAST; - } - else - { - moveDirection = RoomUserRotation.WEST; - } - } - else if (this.direction == 3) - { - if (Emulator.getRandom().nextInt(2) == 1) - { - moveDirection = RoomUserRotation.NORTH; - } - else - { - moveDirection = RoomUserRotation.SOUTH; - } - } - else if (this.direction == 4) - { - moveDirection = RoomUserRotation.SOUTH; - } - else if (this.direction == 5) - { - moveDirection = RoomUserRotation.EAST; - } - else if (this.direction == 6) - { - moveDirection = RoomUserRotation.NORTH; - } - else if (this.direction == 7) - { - moveDirection = RoomUserRotation.WEST; - } + boolean validMove = false; - RoomTile newTile = room.getLayout().getTile( - (short) (item.getX() + ((moveDirection == RoomUserRotation.WEST || moveDirection == RoomUserRotation.NORTH_WEST || moveDirection == RoomUserRotation.SOUTH_WEST) ? -1 : (((moveDirection == RoomUserRotation.EAST || moveDirection == RoomUserRotation.SOUTH_EAST || moveDirection == RoomUserRotation.NORTH_EAST) ? 1 : 0)))), - (short) (item.getY() + ((moveDirection == RoomUserRotation.NORTH || moveDirection == RoomUserRotation.NORTH_EAST || moveDirection == RoomUserRotation.NORTH_WEST) ? 1 : ((moveDirection == RoomUserRotation.SOUTH || moveDirection == RoomUserRotation.SOUTH_EAST || moveDirection == RoomUserRotation.SOUTH_WEST) ? -1 : 0))) - ); + int count = 0; + int maxCount = 8 / nextDirectionOffset; + while (moveDirection != startMoveDirection && !validMove && count < maxCount) + { + count++; + if (moveDirection == null) + { + moveDirection = startMoveDirection; + } + RoomLayout layout = room.getLayout(); + if (layout == null) return false; - if (newTile != null) - { - boolean hasHabbos = false; - for (Habbo habbo : room.getHabbosAt(newTile)) - { - hasHabbos = true; - WiredHandler.handle(WiredTriggerType.COLLISION, habbo.getRoomUnit(), room, new Object[]{item}); - } + RoomTile newTile = layout.getTile( + (short) (item.getX() + ((moveDirection == RoomUserRotation.WEST || moveDirection == RoomUserRotation.NORTH_WEST || moveDirection == RoomUserRotation.SOUTH_WEST) ? -1 : (((moveDirection == RoomUserRotation.EAST || moveDirection == RoomUserRotation.SOUTH_EAST || moveDirection == RoomUserRotation.NORTH_EAST) ? 1 : 0)))), + (short) (item.getY() + ((moveDirection == RoomUserRotation.NORTH || moveDirection == RoomUserRotation.NORTH_EAST || moveDirection == RoomUserRotation.NORTH_WEST) ? 1 : ((moveDirection == RoomUserRotation.SOUTH || moveDirection == RoomUserRotation.SOUTH_EAST || moveDirection == RoomUserRotation.SOUTH_WEST) ? -1 : 0))) + ); - if (!hasHabbos && room.getStackHeight(newTile.x, newTile.y, true, item) != Short.MAX_VALUE) - { - Rectangle rectangle = new Rectangle(newTile.x, - newTile.y, - item.getBaseItem().getWidth(), - item.getBaseItem().getLength()); + if (newTile != null) + { + boolean hasHabbos = false; + for (Habbo habbo : room.getHabbosAt(newTile)) + { + hasHabbos = true; + WiredHandler.handle(WiredTriggerType.COLLISION, habbo.getRoomUnit(), room, new Object[]{item}); + } - double offset = -Short.MAX_VALUE; - boolean validMove = true; - for (short x = (short)rectangle.x; x < rectangle.x + rectangle.getWidth(); x++) - { - for (short y = (short)rectangle.y; y < rectangle.y + rectangle.getHeight(); y++) - { - RoomTile tile = room.getLayout().getTile(x, y); + if (!hasHabbos && room.getStackHeight(newTile.x, newTile.y, true, item) != Short.MAX_VALUE) + { + java.awt.Rectangle rectangle = new Rectangle(newTile.x, + newTile.y, + item.getBaseItem().getWidth(), + item.getBaseItem().getLength()); - if (tile.state == RoomTileState.INVALID || !tile.getAllowStack()) - { - validMove = false; - break; - } + double offset = -Short.MAX_VALUE; + validMove = true; + for (short x = (short) rectangle.x; x < rectangle.x + rectangle.getWidth(); x++) + { + if (!validMove) + { + break; + } - if (item instanceof InteractionRoller && room.hasItemsAt(tile.x, tile.y)) - { - validMove = false; - break; - } + for (short y = (short) rectangle.y; y < rectangle.y + rectangle.getHeight(); y++) + { + RoomTile tile = layout.getTile(x, y); - HabboItem i = room.getTopItemAt(x, y, item); + if (tile == null || tile.state == RoomTileState.INVALID || !tile.getAllowStack()) + { + validMove = false; + break; + } - if (i == null || i == item || i.getBaseItem().allowStack()) - { - offset = Math.max(room.getStackHeight(newTile.x, newTile.y, false, item) - item.getZ(), offset); - } + THashSet itemsAtNewTile = room.getItemsAt(tile); + if (item instanceof InteractionRoller && !itemsAtNewTile.isEmpty()) + { + validMove = false; + break; + } - tilesToUpdate.add(tile); - } - } - if (item.getZ() + offset > 40) - { - offset = 40 - item.getZ(); - } - - if (validMove) - { - room.sendComposer(new FloorItemOnRollerComposer(item, null, newTile, offset, room).compose()); - } - } - } - } + java.util.List tileItems = new ArrayList>>(rectangle.width * rectangle.height); + tileItems.add(Pair.create(tile, itemsAtNewTile)); + if (!item.canStackAt(room, tileItems)) + { + validMove = false; + break; + } + + HabboItem i = room.getTopItemAt(x, y, item); + if (i == null || i == item || i.getBaseItem().allowStack()) + { + offset = Math.max(room.getStackHeight(newTile.x, newTile.y, false, item) - item.getZ(), offset); + } + tilesToUpdate.add(tile); + } + } + if (item.getZ() + offset > 40) + { + offset = 40 - item.getZ(); + } + + if (validMove) + { + room.sendComposer(new FloorItemOnRollerComposer(item, null, newTile, offset, room).compose()); + } + } + } + if (!validMove) + { + moveDirection = RoomUserRotation.fromValue(moveDirection.getValue() + nextDirectionOffset); + } + } + } } if (!tilesToUpdate.isEmpty()) @@ -211,7 +246,7 @@ public class WiredEffectMoveRotateFurni extends InteractionWiredEffect @Override public String getWiredData() { - THashSet items = new THashSet<>(); + THashSet items = new THashSet<>(this.items.size() / 2); Room room = Emulator.getGameEnvironment().getRoomManager().getRoom(this.getRoomId()); @@ -226,16 +261,16 @@ public class WiredEffectMoveRotateFurni extends InteractionWiredEffect this.items.remove(item); } - String data = this.direction + "\t" + + StringBuilder data = new StringBuilder(this.direction + "\t" + this.rotation + "\t" + - this.getDelay() + "\t"; + this.getDelay() + "\t"); for(HabboItem item : this.items) { - data += item.getId() + "\r"; + data.append(item.getId()).append("\r"); } - return data; + return data.toString(); } @Override @@ -285,7 +320,7 @@ public class WiredEffectMoveRotateFurni extends InteractionWiredEffect @Override public void serializeWiredData(ServerMessage message, Room room) { - THashSet items = new THashSet<>(); + THashSet items = new THashSet<>(this.items.size() / 2); for (HabboItem item : this.items) { @@ -346,6 +381,6 @@ public class WiredEffectMoveRotateFurni extends InteractionWiredEffect @Override protected long requiredCooldown() { - return 0; + return -100; } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectMuteHabbo.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectMuteHabbo.java index e371bd1a..07a9f8b2 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectMuteHabbo.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectMuteHabbo.java @@ -78,7 +78,7 @@ public class WiredEffectMuteHabbo extends InteractionWiredEffect room.muteHabbo(habbo, 60); - habbo.getClient().sendResponse(new RoomUserWhisperComposer(new RoomChatMessage(message.replace("%user%", habbo.getHabboInfo().getUsername()).replace("%online_count%", Emulator.getGameEnvironment().getHabboManager().getOnlineCount() + "").replace("%room_count%", Emulator.getGameEnvironment().getRoomManager().getActiveRooms().size() + ""), habbo, habbo, RoomChatMessageBubbles.WIRED))); + habbo.getClient().sendResponse(new RoomUserWhisperComposer(new RoomChatMessage(this.message.replace("%user%", habbo.getHabboInfo().getUsername()).replace("%online_count%", Emulator.getGameEnvironment().getHabboManager().getOnlineCount() + "").replace("%room_count%", Emulator.getGameEnvironment().getRoomManager().getActiveRooms().size() + ""), habbo, habbo, RoomChatMessageBubbles.WIRED))); } return true; @@ -87,7 +87,7 @@ public class WiredEffectMuteHabbo extends InteractionWiredEffect @Override public String getWiredData() { - return getDelay() + "\t" + this.length + "\t" + this.message; + return this.getDelay() + "\t" + this.length + "\t" + this.message; } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectRaiseFurni.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectRaiseFurni.java index 6e5904aa..4e669dbb 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectRaiseFurni.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectRaiseFurni.java @@ -100,7 +100,7 @@ public class WiredEffectRaiseFurni extends InteractionWiredEffect if(item.getRoomId() == 0) continue; - double offsetZ = (((0.1) * offset)) % 127; + double offsetZ = (((0.1) * this.offset)) % 127; room.sendComposer(new FloorItemOnRollerComposer(item, null, room.getLayout().getTile(item.getX(), item.getY()), offsetZ, room).compose()); room.updateHabbosAt(item.getX(), item.getY()); } @@ -109,19 +109,19 @@ public class WiredEffectRaiseFurni extends InteractionWiredEffect } @Override - protected String getWiredData() + public String getWiredData() { - String wiredData = offset + "\t"; + StringBuilder wiredData = new StringBuilder(this.offset + "\t"); - if(items != null && !items.isEmpty()) + if(this.items != null && !this.items.isEmpty()) { for (HabboItem item : this.items) { - wiredData += item.getId() + ";"; + wiredData.append(item.getId()).append(";"); } } - return wiredData; + return wiredData.toString(); } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectRollerSpeed.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectRollerSpeed.java index 8e7b6b94..545a29c4 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectRollerSpeed.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectRollerSpeed.java @@ -129,7 +129,6 @@ public class WiredEffectRollerSpeed extends InteractionWiredEffect } catch (Exception e) { - e.printStackTrace(); } } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectTeleport.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectTeleport.java index d4fb0720..43481832 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectTeleport.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectTeleport.java @@ -6,6 +6,8 @@ import com.eu.habbo.habbohotel.items.Item; import com.eu.habbo.habbohotel.items.interactions.InteractionWiredEffect; import com.eu.habbo.habbohotel.items.interactions.InteractionWiredTrigger; import com.eu.habbo.habbohotel.rooms.Room; +import com.eu.habbo.habbohotel.rooms.RoomTile; +import com.eu.habbo.habbohotel.rooms.RoomTileState; import com.eu.habbo.habbohotel.rooms.RoomUnit; import com.eu.habbo.habbohotel.users.HabboItem; import com.eu.habbo.habbohotel.wired.WiredEffectType; @@ -19,24 +21,25 @@ import gnu.trove.set.hash.THashSet; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; +import java.util.Collections; import java.util.List; public class WiredEffectTeleport extends InteractionWiredEffect { public static final WiredEffectType type = WiredEffectType.TELEPORT; - protected THashSet items; + protected List items; public WiredEffectTeleport(ResultSet set, Item baseItem) throws SQLException { super(set, baseItem); - this.items = new THashSet<>(); + this.items = new ArrayList<>(); } public WiredEffectTeleport(int id, int userId, Item item, String extradata, int limitedStack, int limitedSells) { super(id, userId, item, extradata, limitedStack, limitedSells); - this.items = new THashSet<>(); + this.items = new ArrayList<>(); } @Override @@ -135,33 +138,56 @@ public class WiredEffectTeleport extends InteractionWiredEffect int i = Emulator.getRandom().nextInt(this.items.size()) + 1; int j = 1; - for (HabboItem item : this.items) + int tryCount = 0; + while (tryCount < this.items.size()) { - if (i == j) - { - int currentEffect = roomUnit.getEffectId(); + tryCount++; + HabboItem item = this.items.get((tryCount - 1 + i) % this.items.size()); - room.giveEffect(roomUnit, 4); - final WiredEffectTeleport teleportWired = this; - Emulator.getThreading().run(new RoomUnitTeleport(roomUnit, room, item.getX(), item.getY(), item.getZ() + item.getBaseItem().getHeight() + (item.getBaseItem().allowSit() ? - 0.50 : 0D), currentEffect), WiredHandler.TELEPORT_DELAY); - Emulator.getThreading().run(new Runnable() - { - @Override - public void run() - { - try - { - item.onWalkOn(roomUnit, room, new Object[]{teleportWired}); - } - catch (Exception e) - {} - } - }, WiredHandler.TELEPORT_DELAY); - break; - } else + int currentEffect = roomUnit.getEffectId(); + + room.giveEffect(roomUnit, 4, 2); + final WiredEffectTeleport teleportWired = this; + RoomTile targetTile = room.getLayout().getTile(item.getX(), item.getY()); + boolean foundTile = false; + if (targetTile.state == RoomTileState.INVALID || targetTile.state == RoomTileState.BLOCKED) { - j++; + List optionalTiles = room.getLayout().getTilesAround(targetTile, item.getRotation() + 3); + + Collections.reverse(optionalTiles); + for (RoomTile tile : optionalTiles) + { + if (tile.state != RoomTileState.INVALID && tile.state != RoomTileState.BLOCKED) + { + targetTile = tile; + foundTile = true; + } + } } + else + { + foundTile = true; + } + if (!foundTile) + { + continue; + } + Emulator.getThreading().run(new RoomUnitTeleport(roomUnit, room, targetTile.x, targetTile.y, targetTile.getStackHeight() + (targetTile.state == RoomTileState.SIT ? -0.5 : 0) , currentEffect), WiredHandler.TELEPORT_DELAY); + Emulator.getThreading().run(new Runnable() + { + @Override + public void run() + { + try + { + item.onWalkOn(roomUnit, room, new Object[]{teleportWired}); + } + catch (Exception e) + {} + } + }, WiredHandler.TELEPORT_DELAY); + break; + } return true; } @@ -172,23 +198,23 @@ public class WiredEffectTeleport extends InteractionWiredEffect @Override public String getWiredData() { - String wiredData = this.getDelay() + "\t"; + StringBuilder wiredData = new StringBuilder(this.getDelay() + "\t"); - if(items != null && !items.isEmpty()) + if(this.items != null && !this.items.isEmpty()) { for (HabboItem item : this.items) { - wiredData += item.getId() + ";"; + wiredData.append(item.getId()).append(";"); } } - return wiredData; + return wiredData.toString(); } @Override public void loadWiredData(ResultSet set, Room room) throws SQLException { - this.items = new THashSet<>(); + this.items = new ArrayList<>(); String[] wiredData = set.getString("wired_data").split("\t"); if (wiredData.length >= 1) diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectToggleFurni.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectToggleFurni.java index d51cfb06..69b52a1b 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectToggleFurni.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectToggleFurni.java @@ -2,7 +2,6 @@ package com.eu.habbo.habbohotel.items.interactions.wired.effects; import com.eu.habbo.Emulator; import com.eu.habbo.habbohotel.gameclients.GameClient; -import com.eu.habbo.habbohotel.games.Game; import com.eu.habbo.habbohotel.items.Item; import com.eu.habbo.habbohotel.items.interactions.InteractionCrackable; import com.eu.habbo.habbohotel.items.interactions.InteractionWiredEffect; @@ -138,8 +137,7 @@ public class WiredEffectToggleFurni extends InteractionWiredEffect { if (stuff[0] instanceof HabboItem) { - triggerItem = (HabboItem) stuff[0]; - } + } } THashSet itemsToRemove = new THashSet<>(); @@ -155,15 +153,6 @@ public class WiredEffectToggleFurni extends InteractionWiredEffect { if (item.getBaseItem().getStateCount() > 1 || item instanceof InteractionGameTimer) { - if (item instanceof InteractionGameTimer) - { - Game game = room.getGame(((InteractionGameTimer)item).getGameType()); - if (game == null || game.isRunning) - { - continue; - } - } - item.onClick(habbo != null ? habbo.getClient() : null, room, new Object[]{item.getExtradata().length() == 0 ? 0 : Integer.valueOf(item.getExtradata()), this.getType()}); } } @@ -181,17 +170,17 @@ public class WiredEffectToggleFurni extends InteractionWiredEffect @Override public String getWiredData() { - String wiredData = this.getDelay() + "\t"; + StringBuilder wiredData = new StringBuilder(this.getDelay() + "\t"); - if(items != null && !items.isEmpty()) + if(this.items != null && !this.items.isEmpty()) { for (HabboItem item : this.items) { - wiredData += item.getId() + ";"; + wiredData.append(item.getId()).append(";"); } } - return wiredData; + return wiredData.toString(); } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectToggleRandom.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectToggleRandom.java index f240d18a..979656ea 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectToggleRandom.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectToggleRandom.java @@ -151,17 +151,17 @@ public class WiredEffectToggleRandom extends InteractionWiredEffect @Override public String getWiredData() { - String wiredData = getDelay() + "\t"; + StringBuilder wiredData = new StringBuilder(this.getDelay() + "\t"); - if(!items.isEmpty()) + if(!this.items.isEmpty()) { for (HabboItem item : this.items) { - wiredData += item.getId() + ";"; + wiredData.append(item.getId()).append(";"); } } - return wiredData; + return wiredData.toString(); } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectTriggerStacks.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectTriggerStacks.java index 91c4ac9e..9e51f95c 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectTriggerStacks.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectTriggerStacks.java @@ -160,17 +160,17 @@ public class WiredEffectTriggerStacks extends InteractionWiredEffect @Override public String getWiredData() { - String wiredData = this.getDelay() + "\t"; + StringBuilder wiredData = new StringBuilder(this.getDelay() + "\t"); - if(items != null && !items.isEmpty()) + if(this.items != null && !this.items.isEmpty()) { for (HabboItem item : this.items) { - wiredData += item.getId() + ";"; + wiredData.append(item.getId()).append(";"); } } - return wiredData; + return wiredData.toString(); } @Override @@ -214,6 +214,6 @@ public class WiredEffectTriggerStacks extends InteractionWiredEffect @Override protected long requiredCooldown() { - return 2500; + return 250; } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectWhisper.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectWhisper.java index 0f6650a6..64f81fe5 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectWhisper.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/effects/WiredEffectWhisper.java @@ -104,7 +104,7 @@ public class WiredEffectWhisper extends InteractionWiredEffect if (habbo != null) { - habbo.getClient().sendResponse(new RoomUserWhisperComposer(new RoomChatMessage(message.replace("%user%", habbo.getHabboInfo().getUsername()).replace("%online_count%", Emulator.getGameEnvironment().getHabboManager().getOnlineCount() + "").replace("%room_count%", Emulator.getGameEnvironment().getRoomManager().getActiveRooms().size() + ""), habbo, habbo, RoomChatMessageBubbles.WIRED))); + habbo.getClient().sendResponse(new RoomUserWhisperComposer(new RoomChatMessage(this.message.replace("%user%", habbo.getHabboInfo().getUsername()).replace("%online_count%", Emulator.getGameEnvironment().getHabboManager().getOnlineCount() + "").replace("%room_count%", Emulator.getGameEnvironment().getRoomManager().getActiveRooms().size() + ""), habbo, habbo, RoomChatMessageBubbles.WIRED))); return true; } } @@ -112,7 +112,7 @@ public class WiredEffectWhisper extends InteractionWiredEffect { for(Habbo h : room.getHabbos()) { - h.getClient().sendResponse(new RoomUserWhisperComposer(new RoomChatMessage(message.replace("%user%", h.getHabboInfo().getUsername()).replace("%online_count%", Emulator.getGameEnvironment().getHabboManager().getOnlineCount() + "").replace("%room_count%", Emulator.getGameEnvironment().getRoomManager().getActiveRooms().size() + ""), h, h, RoomChatMessageBubbles.WIRED))); + h.getClient().sendResponse(new RoomUserWhisperComposer(new RoomChatMessage(this.message.replace("%user%", h.getHabboInfo().getUsername()).replace("%online_count%", Emulator.getGameEnvironment().getHabboManager().getOnlineCount() + "").replace("%room_count%", Emulator.getGameEnvironment().getRoomManager().getActiveRooms().size() + ""), h, h, RoomChatMessageBubbles.WIRED))); } return true; diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/extra/WiredExtraRandom.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/extra/WiredExtraRandom.java index 1b414fe5..af93ed1c 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/extra/WiredExtraRandom.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/extra/WiredExtraRandom.java @@ -28,7 +28,7 @@ public class WiredExtraRandom extends InteractionWiredExtra } @Override - protected String getWiredData() + public String getWiredData() { return null; } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/extra/WiredExtraUnseen.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/extra/WiredExtraUnseen.java index 9ce77ab6..0850a558 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/extra/WiredExtraUnseen.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/extra/WiredExtraUnseen.java @@ -34,7 +34,7 @@ public class WiredExtraUnseen extends InteractionWiredExtra } @Override - protected String getWiredData() + public String getWiredData() { return null; } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerAtSetTime.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerAtSetTime.java index 88ce4c83..c4c2770b 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerAtSetTime.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerAtSetTime.java @@ -60,7 +60,7 @@ public class WiredTriggerAtSetTime extends InteractionWiredTrigger implements Wi this.executeTime = 20 * 500; } this.taskId = 1; - Emulator.getThreading().run(new WiredExecuteTask(this, Emulator.getGameEnvironment().getRoomManager().getRoom(this.getRoomId())), executeTime); + Emulator.getThreading().run(new WiredExecuteTask(this, Emulator.getGameEnvironment().getRoomManager().getRoom(this.getRoomId())), this.executeTime); } @Override @@ -133,6 +133,6 @@ public class WiredTriggerAtSetTime extends InteractionWiredTrigger implements Wi { this.taskId++; - Emulator.getThreading().run(new WiredExecuteTask(this, Emulator.getGameEnvironment().getRoomManager().getRoom(this.getRoomId())), executeTime); + Emulator.getThreading().run(new WiredExecuteTask(this, Emulator.getGameEnvironment().getRoomManager().getRoom(this.getRoomId())), this.executeTime); } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerAtTimeLong.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerAtTimeLong.java index 804f9755..ce3426c7 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerAtTimeLong.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerAtTimeLong.java @@ -60,7 +60,7 @@ public class WiredTriggerAtTimeLong extends InteractionWiredTrigger implements W this.executeTime = 20 * 500; } this.taskId = 1; - Emulator.getThreading().run(new WiredExecuteTask(this, Emulator.getGameEnvironment().getRoomManager().getRoom(this.getRoomId())), executeTime); + Emulator.getThreading().run(new WiredExecuteTask(this, Emulator.getGameEnvironment().getRoomManager().getRoom(this.getRoomId())), this.executeTime); } @Override @@ -132,6 +132,6 @@ public class WiredTriggerAtTimeLong extends InteractionWiredTrigger implements W { this.taskId++; - Emulator.getThreading().run(new WiredExecuteTask(this, Emulator.getGameEnvironment().getRoomManager().getRoom(this.getRoomId())), executeTime); + Emulator.getThreading().run(new WiredExecuteTask(this, Emulator.getGameEnvironment().getRoomManager().getRoom(this.getRoomId())), this.executeTime); } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerBotReachedFurni.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerBotReachedFurni.java index c012f8b9..f74360ae 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerBotReachedFurni.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerBotReachedFurni.java @@ -149,19 +149,19 @@ public class WiredTriggerBotReachedFurni extends InteractionWiredTrigger } @Override - protected String getWiredData() + public String getWiredData() { - String wiredData = this.botName + ":"; + StringBuilder wiredData = new StringBuilder(this.botName + ":"); - if(!items.isEmpty()) + if(!this.items.isEmpty()) { for (HabboItem item : this.items) { - wiredData += item.getId() + ";"; + wiredData.append(item.getId()).append(";"); } } - return wiredData; + return wiredData.toString(); } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerBotReachedHabbo.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerBotReachedHabbo.java index 23e2bc5a..91cc7483 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerBotReachedHabbo.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerBotReachedHabbo.java @@ -78,7 +78,7 @@ public class WiredTriggerBotReachedHabbo extends InteractionWiredTrigger } @Override - protected String getWiredData() + public String getWiredData() { return this.botName; } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerFurniStateToggled.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerFurniStateToggled.java index e0a45712..973f6e6d 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerFurniStateToggled.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerFurniStateToggled.java @@ -55,10 +55,7 @@ public class WiredTriggerFurniStateToggled extends InteractionWiredTrigger if (stuff[0] instanceof HabboItem) { - if(items.contains(stuff[0])) - { - return true; - } + return this.items.contains(stuff[0]); } } } @@ -68,21 +65,21 @@ public class WiredTriggerFurniStateToggled extends InteractionWiredTrigger @Override public String getWiredData() { - String wiredData = super.getDelay() + ":\t:"; + StringBuilder wiredData = new StringBuilder(super.getDelay() + ":\t:"); - if(items != null) + if(this.items != null) { - if (!items.isEmpty()) + if (!this.items.isEmpty()) { for (HabboItem item : this.items) { - wiredData += item.getId() + ";"; + wiredData.append(item.getId()).append(";"); } } else - wiredData += "\t"; + wiredData.append("\t"); } - return wiredData; + return wiredData.toString(); } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerGameEnds.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerGameEnds.java index c6eb33dc..7b16168a 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerGameEnds.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerGameEnds.java @@ -44,7 +44,6 @@ public class WiredTriggerGameEnds extends InteractionWiredTrigger @Override public void loadWiredData(ResultSet set, Room room) throws SQLException { - return; } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerGameStarts.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerGameStarts.java index 42b9f990..0a60c310 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerGameStarts.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerGameStarts.java @@ -44,7 +44,6 @@ public class WiredTriggerGameStarts extends InteractionWiredTrigger @Override public void loadWiredData(ResultSet set, Room room) throws SQLException { - return; } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerHabboEntersRoom.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerHabboEntersRoom.java index 84653ad4..a63e0cc2 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerHabboEntersRoom.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerHabboEntersRoom.java @@ -35,13 +35,9 @@ public class WiredTriggerHabboEntersRoom extends InteractionWiredTrigger if(habbo != null) { - if(username.length() > 0) + if(this.username.length() > 0) { - if(habbo.getHabboInfo().getUsername().equalsIgnoreCase(this.username)) - { - return true; - } - return false; + return habbo.getHabboInfo().getUsername().equalsIgnoreCase(this.username); } return true; diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerHabboSaysKeyword.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerHabboSaysKeyword.java index 0a5992d8..86f7d2c1 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerHabboSaysKeyword.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerHabboSaysKeyword.java @@ -42,10 +42,7 @@ public class WiredTriggerHabboSaysKeyword extends InteractionWiredTrigger { if (((String) stuff[0]).toLowerCase().contains(this.key.toLowerCase())) { - if (this.ownerOnly && room.getOwnerId() != habbo.getHabboInfo().getId()) - return false; - - return true; + return !this.ownerOnly || room.getOwnerId() == habbo.getHabboInfo().getId(); } } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerHabboStartsDancing.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerHabboStartsDancing.java new file mode 100644 index 00000000..4d52493b --- /dev/null +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerHabboStartsDancing.java @@ -0,0 +1,26 @@ +package com.eu.habbo.habbohotel.items.interactions.wired.triggers; + +import com.eu.habbo.habbohotel.items.Item; +import com.eu.habbo.habbohotel.wired.WiredTriggerType; + +import java.sql.ResultSet; +import java.sql.SQLException; + +public class WiredTriggerHabboStartsDancing extends WiredTriggerCollision +{ + public WiredTriggerHabboStartsDancing(ResultSet set, Item baseItem) throws SQLException + { + super(set, baseItem); + } + + public WiredTriggerHabboStartsDancing(int id, int userId, Item item, String extradata, int limitedStack, int limitedSells) + { + super(id, userId, item, extradata, limitedStack, limitedSells); + } + + @Override + public WiredTriggerType getType() + { + return WiredTriggerType.STARTS_DANCING; + } +} \ No newline at end of file diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerHabboStopsDancing.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerHabboStopsDancing.java new file mode 100644 index 00000000..be5bd125 --- /dev/null +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerHabboStopsDancing.java @@ -0,0 +1,26 @@ +package com.eu.habbo.habbohotel.items.interactions.wired.triggers; + +import com.eu.habbo.habbohotel.items.Item; +import com.eu.habbo.habbohotel.wired.WiredTriggerType; + +import java.sql.ResultSet; +import java.sql.SQLException; + +public class WiredTriggerHabboStopsDancing extends WiredTriggerCollision +{ + public WiredTriggerHabboStopsDancing(ResultSet set, Item baseItem) throws SQLException + { + super(set, baseItem); + } + + public WiredTriggerHabboStopsDancing(int id, int userId, Item item, String extradata, int limitedStack, int limitedSells) + { + super(id, userId, item, extradata, limitedStack, limitedSells); + } + + @Override + public WiredTriggerType getType() + { + return WiredTriggerType.STOPS_DANCING; + } +} \ No newline at end of file diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerHabboWalkOffFurni.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerHabboWalkOffFurni.java index 84f4c72d..4fcca920 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerHabboWalkOffFurni.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerHabboWalkOffFurni.java @@ -43,10 +43,7 @@ public class WiredTriggerHabboWalkOffFurni extends InteractionWiredTrigger { if (stuff[0] instanceof HabboItem) { - if(items.contains(stuff[0])) - { - return true; - } + return this.items.contains(stuff[0]); } } return false; @@ -55,16 +52,16 @@ public class WiredTriggerHabboWalkOffFurni extends InteractionWiredTrigger @Override public String getWiredData() { - String wiredData = super.getDelay() + ":\t:"; + StringBuilder wiredData = new StringBuilder(super.getDelay() + ":\t:"); - if(!items.isEmpty()) + if(!this.items.isEmpty()) { List toRemove = new ArrayList<>(0); for (HabboItem item : this.items) { if (item.getRoomId() == this.getRoomId()) { - wiredData += item.getId() + ";"; + wiredData.append(item.getId()).append(";"); } else { @@ -75,9 +72,9 @@ public class WiredTriggerHabboWalkOffFurni extends InteractionWiredTrigger this.items.removeAll(toRemove); } else - wiredData += "\t"; + wiredData.append("\t"); - return wiredData; + return wiredData.toString(); } @Override @@ -106,7 +103,6 @@ public class WiredTriggerHabboWalkOffFurni extends InteractionWiredTrigger } catch (Exception e) { - continue; } } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerHabboWalkOnFurni.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerHabboWalkOnFurni.java index a4f3d7dc..62403d61 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerHabboWalkOnFurni.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerHabboWalkOnFurni.java @@ -43,10 +43,7 @@ public class WiredTriggerHabboWalkOnFurni extends InteractionWiredTrigger { if (stuff[0] instanceof HabboItem) { - if(items.contains(stuff[0])) - { - return true; - } + return this.items.contains(stuff[0]); } } return false; @@ -119,16 +116,16 @@ public class WiredTriggerHabboWalkOnFurni extends InteractionWiredTrigger @Override public String getWiredData() { - String wiredData = super.getDelay() + ":\t:"; + StringBuilder wiredData = new StringBuilder(super.getDelay() + ":\t:"); - if(!items.isEmpty()) + if(!this.items.isEmpty()) { List toRemove = new ArrayList<>(0); for (HabboItem item : this.items) { if (item.getRoomId() == this.getRoomId()) { - wiredData += item.getId() + ";"; + wiredData.append(item.getId()).append(";"); } else { @@ -139,9 +136,9 @@ public class WiredTriggerHabboWalkOnFurni extends InteractionWiredTrigger this.items.removeAll(toRemove); } else - wiredData += "\t"; + wiredData.append("\t"); - return wiredData; + return wiredData.toString(); } @Override @@ -170,7 +167,6 @@ public class WiredTriggerHabboWalkOnFurni extends InteractionWiredTrigger } catch (Exception e) { - continue; } } } diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerScoreAchieved.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerScoreAchieved.java index b40fac43..198c0214 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerScoreAchieved.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/wired/triggers/WiredTriggerScoreAchieved.java @@ -34,10 +34,7 @@ public class WiredTriggerScoreAchieved extends InteractionWiredTrigger int points = (Integer)stuff[0]; int amountAdded = (Integer)stuff[1]; - if (points - amountAdded < this.score && points >= this.score) - { - return true; - } + return points - amountAdded < this.score && points >= this.score; } return false; diff --git a/src/main/java/com/eu/habbo/habbohotel/messenger/FriendRequest.java b/src/main/java/com/eu/habbo/habbohotel/messenger/FriendRequest.java index 7540a44c..fb57d26b 100644 --- a/src/main/java/com/eu/habbo/habbohotel/messenger/FriendRequest.java +++ b/src/main/java/com/eu/habbo/habbohotel/messenger/FriendRequest.java @@ -25,16 +25,16 @@ public class FriendRequest public int getId() { - return id; + return this.id; } public String getUsername() { - return username; + return this.username; } public String getLook() { - return look; + return this.look; } } diff --git a/src/main/java/com/eu/habbo/habbohotel/messenger/Messenger.java b/src/main/java/com/eu/habbo/habbohotel/messenger/Messenger.java index 43d5d665..bc888cc8 100644 --- a/src/main/java/com/eu/habbo/habbohotel/messenger/Messenger.java +++ b/src/main/java/com/eu/habbo/habbohotel/messenger/Messenger.java @@ -101,7 +101,7 @@ public class Messenger { while(set.next()) { - friendRequests.add(new FriendRequest(set)); + this.friendRequests.add(new FriendRequest(set)); } } } @@ -154,7 +154,7 @@ public class Messenger public static THashSet searchUsers(String username) { THashSet users = new THashSet<>(); - try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("SELECT * FROM users WHERE username LIKE ? ORDER BY username DESC LIMIT 50")) + try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("SELECT * FROM users WHERE username LIKE ? ORDER BY username ASC LIMIT " + Emulator.getConfig().getInt("hotel.messenger.search.maxresults"))) { statement.setString(1, username + "%"); try (ResultSet set = statement.executeQuery()) @@ -196,7 +196,7 @@ public class Messenger buddy.setLook(owner.getHabboInfo().getLook()); buddy.setGender(owner.getHabboInfo().getGender()); buddy.setUsername(owner.getHabboInfo().getUsername()); - Emulator.getGameServer().getGameClientManager().getClient(habbo).sendResponse(new UpdateFriendComposer(buddy)); + habbo.getClient().sendResponse(new UpdateFriendComposer(buddy)); } } } @@ -237,7 +237,7 @@ public class Messenger //TODO Needs redesign. userFrom is redundant. public void acceptFriendRequest(int userFrom, int userTo) { - int count = deleteFriendRequests(userFrom, userTo); + int count = this.deleteFriendRequests(userFrom, userTo); if(count > 0) { @@ -276,16 +276,16 @@ public class Messenger return; } - Emulator.getGameServer().getGameClientManager().getClient(habboTo).sendResponse(new UpdateFriendComposer(to)); - Emulator.getGameServer().getGameClientManager().getClient(habboFrom).sendResponse(new UpdateFriendComposer(from)); + habboTo.getClient().sendResponse(new UpdateFriendComposer(to)); + habboFrom.getClient().sendResponse(new UpdateFriendComposer(from)); } else if (habboTo != null) { - habboTo.getClient().sendResponse(new UpdateFriendComposer(loadFriend(habboTo, userFrom))); + habboTo.getClient().sendResponse(new UpdateFriendComposer(this.loadFriend(habboTo, userFrom))); } else if (habboFrom != null) { - habboFrom.getClient().sendResponse(new UpdateFriendComposer(loadFriend(habboFrom, userTo))); + habboFrom.getClient().sendResponse(new UpdateFriendComposer(this.loadFriend(habboFrom, userTo))); } } } diff --git a/src/main/java/com/eu/habbo/habbohotel/modtool/ModToolBan.java b/src/main/java/com/eu/habbo/habbohotel/modtool/ModToolBan.java index ecf35ecb..f5f50a5f 100644 --- a/src/main/java/com/eu/habbo/habbohotel/modtool/ModToolBan.java +++ b/src/main/java/com/eu/habbo/habbohotel/modtool/ModToolBan.java @@ -78,15 +78,14 @@ public class ModToolBan implements Runnable public String listInfo() { - return new StringBuilder() - .append("Banned User Id: ") .append(this.userId) .append("\r") - .append("Type: ") .append(this.type.getType()).append("\r") - .append("Reason: ") .append("").append(this.reason).append("").append("\r") - .append("Moderator Id: ") .append(this.staffId) .append("\r") - .append("Date: ") .append(dateFormat.format(this.timestamp * 1000l)) .append("\r") - .append("Expire Date: ") .append(dateFormat.format(this.expireDate * 1000l)) .append("\r") - .append("IP: ") .append(this.ip) .append("\r") - .append("MachineID: ") .append(this.machineId) .append("\r") - .append("Topic: ") .append(this.cfhTopic).toString(); + return "Banned User Id: " + this.userId + "\r" + + "Type: " + this.type.getType() + "\r" + + "Reason: " + "" + this.reason + "" + "\r" + + "Moderator Id: " + this.staffId + "\r" + + "Date: " + dateFormat.format(this.timestamp * 1000L) + "\r" + + "Expire Date: " + dateFormat.format(this.expireDate * 1000L) + "\r" + + "IP: " + this.ip + "\r" + + "MachineID: " + this.machineId + "\r" + + "Topic: " + this.cfhTopic; } } diff --git a/src/main/java/com/eu/habbo/habbohotel/modtool/ModToolIssue.java b/src/main/java/com/eu/habbo/habbohotel/modtool/ModToolIssue.java index 12717e4d..d13a6c3e 100644 --- a/src/main/java/com/eu/habbo/habbohotel/modtool/ModToolIssue.java +++ b/src/main/java/com/eu/habbo/habbohotel/modtool/ModToolIssue.java @@ -13,18 +13,18 @@ public class ModToolIssue implements ISerialize { public int id; public volatile ModToolTicketState state; - public volatile ModToolTicketType type = ModToolTicketType.NORMAL; + public volatile ModToolTicketType type; public int category; public int timestamp; public volatile int priority; public int reportedId; - public String reportedUsername = "Uknown Reported Habbo"; + public String reportedUsername; public int roomId; public int senderId; - public String senderUsername = "Unknown Sender"; + public String senderUsername; public volatile int modId = -1; public volatile String modName = ""; - public String message = "Unknown Message"; + public String message; public ArrayList chatLogs = null; public ModToolIssue(ResultSet set) throws SQLException 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 cceaf07b..1908d77d 100644 --- a/src/main/java/com/eu/habbo/habbohotel/modtool/ModToolManager.java +++ b/src/main/java/com/eu/habbo/habbohotel/modtool/ModToolManager.java @@ -148,7 +148,7 @@ public class ModToolManager public CfhTopic getCfhTopic(int topicId) { - for(CfhCategory category : getCfhCategories().valueCollection()) + for(CfhCategory category : this.getCfhCategories().valueCollection()) { for(CfhTopic topic : category.getTopics().valueCollection()) { @@ -215,7 +215,7 @@ public class ModToolManager } catch (Exception e) { - e.printStackTrace(); + Emulator.getLogging().logErrorLine(e); } } @@ -488,11 +488,14 @@ public class ModToolManager public void kick(Habbo moderator, Habbo target, String message) { - if(target.getHabboInfo().getCurrentRoom() != null) + if (moderator.hasPermission(Permission.ACC_SUPPORTTOOL) && !target.hasPermission(Permission.ACC_UNKICKABLE)) { - Emulator.getGameEnvironment().getRoomManager().leaveRoom(target, target.getHabboInfo().getCurrentRoom()); + if (target.getHabboInfo().getCurrentRoom() != null) + { + Emulator.getGameEnvironment().getRoomManager().leaveRoom(target, target.getHabboInfo().getCurrentRoom()); + } + this.alert(moderator, target, message); } - this.alert(moderator, target, message); } public List ban(int targetUserId, Habbo moderator, String reason, int duration, ModToolBanType type, int cfhTopic) 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 8d42b6cc..9082a13b 100644 --- a/src/main/java/com/eu/habbo/habbohotel/modtool/WordFilter.java +++ b/src/main/java/com/eu/habbo/habbohotel/modtool/WordFilter.java @@ -43,7 +43,7 @@ public class WordFilter this.hideMessageWords.clear(); this.words.clear(); - try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); Statement statement = connection.createStatement();) + try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); Statement statement = connection.createStatement()) { try (ResultSet set = statement.executeQuery("SELECT * FROM wordfilter")) { diff --git a/src/main/java/com/eu/habbo/habbohotel/navigation/NavigatorFilter.java b/src/main/java/com/eu/habbo/habbohotel/navigation/NavigatorFilter.java index 36938b19..77594360 100644 --- a/src/main/java/com/eu/habbo/habbohotel/navigation/NavigatorFilter.java +++ b/src/main/java/com/eu/habbo/habbohotel/navigation/NavigatorFilter.java @@ -40,7 +40,7 @@ public abstract class NavigatorFilter continue; } - filterRooms(method, value, result.rooms); + this.filterRooms(method, value, result.rooms); } } @@ -75,7 +75,7 @@ public abstract class NavigatorFilter if (comparator != null) { - if (!applies(comparator, (String) o, (String) value)) + if (!this.applies(comparator, (String) o, (String) value)) { toRemove.add(room); } @@ -93,7 +93,7 @@ public abstract class NavigatorFilter if (comparator != null) { - if (!applies(comparator, s, (String) value)) + if (!this.applies(comparator, s, (String) value)) { toRemove.add(room); } @@ -122,7 +122,7 @@ public abstract class NavigatorFilter public List getResult(Habbo habbo, NavigatorFilterField filterField, String value, int roomCategory) { - return getResult(habbo); + return this.getResult(habbo); } private boolean applies(NavigatorFilterComparator comparator, String o, String value) 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 07451675..5f0f6c16 100644 --- a/src/main/java/com/eu/habbo/habbohotel/navigation/NavigatorHotelFilter.java +++ b/src/main/java/com/eu/habbo/habbohotel/navigation/NavigatorHotelFilter.java @@ -71,7 +71,7 @@ public class NavigatorHotelFilter extends NavigatorFilter } else { - return getResult(habbo); + return this.getResult(habbo); } } } \ No newline at end of file diff --git a/src/main/java/com/eu/habbo/habbohotel/navigation/NavigatorManager.java b/src/main/java/com/eu/habbo/habbohotel/navigation/NavigatorManager.java index d5df7bb7..ba96d138 100644 --- a/src/main/java/com/eu/habbo/habbohotel/navigation/NavigatorManager.java +++ b/src/main/java/com/eu/habbo/habbohotel/navigation/NavigatorManager.java @@ -27,13 +27,13 @@ public class NavigatorManager public NavigatorManager() { long millis = System.currentTimeMillis(); - loadNavigator(); + this.loadNavigator(); - filters.put(NavigatorPublicFilter.name, new NavigatorPublicFilter()); - filters.put(NavigatorHotelFilter.name, new NavigatorHotelFilter()); - filters.put(NavigatorRoomAdsFilter.name, new NavigatorRoomAdsFilter()); - filters.put(NavigatorUserFilter.name, new NavigatorUserFilter()); - filters.put(NavigatorFavoriteFilter.name, new NavigatorFavoriteFilter()); + this.filters.put(NavigatorPublicFilter.name, new NavigatorPublicFilter()); + this.filters.put(NavigatorHotelFilter.name, new NavigatorHotelFilter()); + this.filters.put(NavigatorRoomAdsFilter.name, new NavigatorRoomAdsFilter()); + this.filters.put(NavigatorUserFilter.name, new NavigatorUserFilter()); + this.filters.put(NavigatorFavoriteFilter.name, new NavigatorFavoriteFilter()); Emulator.getLogging().logStart("Navigator Manager -> Loaded! (" + (System.currentTimeMillis() - millis) + " MS)"); } @@ -105,7 +105,7 @@ public class NavigatorManager } catch (Exception e) { - e.printStackTrace(); + Emulator.getLogging().logErrorLine(e); break; } } @@ -118,6 +118,7 @@ public class NavigatorManager } catch (Exception e) { + Emulator.getLogging().logErrorLine(e); continue; } } diff --git a/src/main/java/com/eu/habbo/habbohotel/navigation/NavigatorPublicCategory.java b/src/main/java/com/eu/habbo/habbohotel/navigation/NavigatorPublicCategory.java index c524afbd..0ea6f029 100644 --- a/src/main/java/com/eu/habbo/habbohotel/navigation/NavigatorPublicCategory.java +++ b/src/main/java/com/eu/habbo/habbohotel/navigation/NavigatorPublicCategory.java @@ -29,4 +29,10 @@ public class NavigatorPublicCategory room.preventUncaching = true; this.rooms.add(room); } + + public void removeRoom(Room room) + { + this.rooms.remove(room); + room.preventUncaching = room.isPublicRoom(); + } } \ No newline at end of file diff --git a/src/main/java/com/eu/habbo/habbohotel/navigation/NavigatorUserFilter.java b/src/main/java/com/eu/habbo/habbohotel/navigation/NavigatorUserFilter.java index 0585ba17..e59cc1f0 100644 --- a/src/main/java/com/eu/habbo/habbohotel/navigation/NavigatorUserFilter.java +++ b/src/main/java/com/eu/habbo/habbohotel/navigation/NavigatorUserFilter.java @@ -54,7 +54,6 @@ public class NavigatorUserFilter extends NavigatorFilter if (!rightRooms.isEmpty()) { resultLists.add(new SearchResultList(i, "with_rights", "", SearchAction.NONE, habbo.getHabboStats().navigatorWindowSettings.getListModeForCategory("with_rights"), habbo.getHabboStats().navigatorWindowSettings.getDisplayModeForCategory("with_rights"), rightRooms, true, true, DisplayOrder.ORDER_NUM, i)); - i++; } return resultLists; diff --git a/src/main/java/com/eu/habbo/habbohotel/permissions/PermissionSetting.java b/src/main/java/com/eu/habbo/habbohotel/permissions/PermissionSetting.java index 7e46e767..6651f7ca 100644 --- a/src/main/java/com/eu/habbo/habbohotel/permissions/PermissionSetting.java +++ b/src/main/java/com/eu/habbo/habbohotel/permissions/PermissionSetting.java @@ -2,8 +2,13 @@ package com.eu.habbo.habbohotel.permissions; public enum PermissionSetting { + DISALLOWED, + + ALLOWED, + + ROOM_OWNER; public static PermissionSetting fromString(String value) 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 21a3bd64..7d273e03 100644 --- a/src/main/java/com/eu/habbo/habbohotel/permissions/PermissionsManager.java +++ b/src/main/java/com/eu/habbo/habbohotel/permissions/PermissionsManager.java @@ -7,7 +7,6 @@ import gnu.trove.map.hash.TIntIntHashMap; import gnu.trove.map.hash.TIntObjectHashMap; import java.sql.*; -import java.util.Collection; public class PermissionsManager { @@ -75,16 +74,19 @@ public class PermissionsManager } } + public boolean rankExists(int rankId) { return this.ranks.containsKey(rankId); } + public Rank getRank(int rankId) { return this.ranks.get(rankId); } + public Rank getRank(String rankName) { for (Rank rank : this.ranks.valueCollection()) @@ -96,27 +98,22 @@ public class PermissionsManager return null; } - @Deprecated - public Collection getPermissionsForRank(int rankId) - { - throw new RuntimeException("Please use getRank()"); - } public boolean isEffectBlocked(int effectId, int rank) { return this.enables.contains(effectId) && this.enables.get(effectId) > rank; } + public boolean hasPermission(Habbo habbo, String permission) { return this.hasPermission(habbo, permission, false); } + public boolean hasPermission(Habbo habbo, String permission, boolean withRoomRights) { - boolean result = this.hasPermission(habbo.getHabboInfo().getRank(), permission, withRoomRights); - - if (!result) + if (!this.hasPermission(habbo.getHabboInfo().getRank(), permission, withRoomRights)) { for (HabboPlugin plugin : Emulator.getPluginManager().getPlugins()) { @@ -129,9 +126,10 @@ public class PermissionsManager return false; } - return result; + return true; } + public boolean hasPermission(Rank rank, String permission, boolean withRoomRights) { return rank.hasPermission(permission, withRoomRights); diff --git a/src/main/java/com/eu/habbo/habbohotel/permissions/Rank.java b/src/main/java/com/eu/habbo/habbohotel/permissions/Rank.java index ef4e321b..65106853 100644 --- a/src/main/java/com/eu/habbo/habbohotel/permissions/Rank.java +++ b/src/main/java/com/eu/habbo/habbohotel/permissions/Rank.java @@ -8,15 +8,34 @@ import java.sql.SQLException; public class Rank { + private final int id; + + private final int level; + + private String name; + + private final THashMap permissions; + + private final THashMap variables; + + private int roomEffect; + + private boolean logCommands; + + private String prefix; + + private String prefixColor; + + private boolean hasPrefix; public Rank(ResultSet set) throws SQLException @@ -65,16 +84,19 @@ public class Rank return false; } + public int getId() { return this.id; } + public int getLevel() { return this.level; } + public String getName() { return this.name; diff --git a/src/main/java/com/eu/habbo/habbohotel/pets/IPetLook.java b/src/main/java/com/eu/habbo/habbohotel/pets/IPetLook.java index 5792bab0..eb57b842 100644 --- a/src/main/java/com/eu/habbo/habbohotel/pets/IPetLook.java +++ b/src/main/java/com/eu/habbo/habbohotel/pets/IPetLook.java @@ -2,5 +2,5 @@ package com.eu.habbo.habbohotel.pets; public interface IPetLook { - public String getLook(); + String getLook(); } \ No newline at end of file diff --git a/src/main/java/com/eu/habbo/habbohotel/pets/MonsterplantPet.java b/src/main/java/com/eu/habbo/habbohotel/pets/MonsterplantPet.java index b7d4fa08..721ef7d2 100644 --- a/src/main/java/com/eu/habbo/habbohotel/pets/MonsterplantPet.java +++ b/src/main/java/com/eu/habbo/habbohotel/pets/MonsterplantPet.java @@ -12,7 +12,7 @@ import com.eu.habbo.messages.outgoing.inventory.InventoryRefreshComposer; import com.eu.habbo.messages.outgoing.rooms.pets.PetStatusUpdateComposer; import com.eu.habbo.messages.outgoing.rooms.pets.RoomPetRespectComposer; import com.eu.habbo.messages.outgoing.rooms.users.RoomUserStatusComposer; -import javafx.util.Pair; +import org.apache.commons.math3.util.Pair; import java.sql.Connection; import java.sql.PreparedStatement; @@ -30,35 +30,35 @@ public class MonsterplantPet extends Pet implements IPetLook public static final Map> bodyRarity = new LinkedHashMap>() { { - put(1, new Pair<>("Blungon", 0)); - put(5, new Pair<>("Squarg", 0)); - put(2, new Pair<>("Wailzor", 1)); - put(3, new Pair<>("Stumpy", 1)); - put(4, new Pair<>("Sunspike", 2)); - put(9, new Pair<>("Weggylum", 2)); - put(6, new Pair<>("Shroomer", 3)); - put(7, new Pair<>("Zuchinu", 3)); - put(10, new Pair<>("Wystique", 4)); - put(11, new Pair<>("Hairbullis", 4)); - put(8, new Pair<>("Abysswirl", 5)); - put(12, new Pair<>("Snozzle", 5)); //Rarity??? + this.put(1, new Pair<>("Blungon", 0)); + this.put(5, new Pair<>("Squarg", 0)); + this.put(2, new Pair<>("Wailzor", 1)); + this.put(3, new Pair<>("Stumpy", 1)); + this.put(4, new Pair<>("Sunspike", 2)); + this.put(9, new Pair<>("Weggylum", 2)); + this.put(6, new Pair<>("Shroomer", 3)); + this.put(7, new Pair<>("Zuchinu", 3)); + this.put(10, new Pair<>("Wystique", 4)); + this.put(11, new Pair<>("Hairbullis", 4)); + this.put(8, new Pair<>("Abysswirl", 5)); + this.put(12, new Pair<>("Snozzle", 5)); //Rarity??? } }; public static final Map> colorRarity = new LinkedHashMap>() { { - put(0, new Pair<>("Aenueus", 0)); - put(9, new Pair<>("Fulvus", 0)); - put(1, new Pair<>("Griseus", 1)); - put(3, new Pair<>("Viridulus", 1)); - put(2, new Pair<>("Phoenicus", 2)); - put(5, new Pair<>("Incarnatus", 2)); - put(8, new Pair<>("Amethyst", 3)); - put(10, new Pair<>("Cinereus", 3)); - put(6, new Pair<>("Azureus", 4)); - put(7, new Pair<>("Atamasc", 4)); - put(4, new Pair<>("Cyaneus", 5)); + this.put(0, new Pair<>("Aenueus", 0)); + this.put(9, new Pair<>("Fulvus", 0)); + this.put(1, new Pair<>("Griseus", 1)); + this.put(3, new Pair<>("Viridulus", 1)); + this.put(2, new Pair<>("Phoenicus", 2)); + this.put(5, new Pair<>("Incarnatus", 2)); + this.put(8, new Pair<>("Amethyst", 3)); + this.put(10, new Pair<>("Cinereus", 3)); + this.put(6, new Pair<>("Azureus", 4)); + this.put(7, new Pair<>("Atamasc", 4)); + this.put(4, new Pair<>("Cyaneus", 5)); } }; @@ -165,7 +165,7 @@ public class MonsterplantPet extends Pet implements IPetLook { if (this.room != null && this.roomUnit != null) { - if (isDead()) + if (this.isDead()) { this.roomUnit.removeStatus(RoomUnitStatus.GESTURE); @@ -185,7 +185,7 @@ public class MonsterplantPet extends Pet implements IPetLook { this.growthStage = 7; boolean clear = false; - for (RoomUnitStatus s : roomUnit.getStatusMap().keySet()) + for (RoomUnitStatus s : this.roomUnit.getStatusMap().keySet()) { if (s.equals(RoomUnitStatus.GROW)) { @@ -195,8 +195,8 @@ public class MonsterplantPet extends Pet implements IPetLook if (clear) { - roomUnit.clearStatus(); - packetUpdate = true; + this.roomUnit.clearStatus(); + this.packetUpdate = true; } } else @@ -206,9 +206,9 @@ public class MonsterplantPet extends Pet implements IPetLook if (g > this.growthStage) { this.growthStage = g; - roomUnit.clearStatus(); - roomUnit.setStatus(RoomUnitStatus.fromString("grw" + this.growthStage), ""); - packetUpdate = true; + this.roomUnit.clearStatus(); + this.roomUnit.setStatus(RoomUnitStatus.fromString("grw" + this.growthStage), ""); + this.packetUpdate = true; } } @@ -240,15 +240,13 @@ public class MonsterplantPet extends Pet implements IPetLook @Override public String getLook() { - String look = "16 0 FFFFFF " + + return "16 0 FFFFFF " + "5 " + "0 -1 10 " + "1 " + this.type + " " + this.hue + " " + "2 " + this.mouth + " " + this.mouthColor + " " + "3 " + this.nose + " " + this.noseColor + " " + "4 " + this.eyes + " " + this.eyesColor; - - return look; } @@ -259,7 +257,7 @@ public class MonsterplantPet extends Pet implements IPetLook message.appendString(this.getName()); message.appendInt(this.petData.getType()); message.appendInt(this.race); - message.appendString(this.getLook().substring(5, this.getLook().length())); + message.appendString(this.getLook().substring(5)); message.appendInt(this.getRarity()); message.appendInt(5); message.appendInt(0); @@ -298,12 +296,12 @@ public class MonsterplantPet extends Pet implements IPetLook public int getGrowthStage() { - return growthStage; + return this.growthStage; } public int remainingGrowTime() { - if (growthStage == 7) + if (this.growthStage == 7) { return 0; } @@ -370,7 +368,7 @@ public class MonsterplantPet extends Pet implements IPetLook ownerTwo = this.room.getHabbo(pet.getUserId()); } - Item seedBase = null; + Item seedBase; if (this.getRarity() < 8 || pet.getRarity() < 8 || Emulator.getRandom().nextInt(100) > this.getRarity() + pet.getRarity()) { @@ -383,7 +381,7 @@ public class MonsterplantPet extends Pet implements IPetLook if (seedBase != null) { - HabboItem seed = null; + HabboItem seed; if (ownerOne != null) { AchievementManager.progressAchievement(ownerOne, Emulator.getGameEnvironment().getAchievementManager().getAchievement("MonsterPlantBreeder"), 5); diff --git a/src/main/java/com/eu/habbo/habbohotel/pets/Pet.java b/src/main/java/com/eu/habbo/habbohotel/pets/Pet.java index 52de1816..b10c923d 100644 --- a/src/main/java/com/eu/habbo/habbohotel/pets/Pet.java +++ b/src/main/java/com/eu/habbo/habbohotel/pets/Pet.java @@ -183,7 +183,7 @@ public class Pet implements ISerialize, Runnable public int getRespect() { - return respect; + return this.respect; } public void addRespect() @@ -296,7 +296,7 @@ public class Pet implements ISerialize, Runnable if (this.freeCommandTicks == 0) { - freeCommand(); + this.freeCommand(); } } @@ -373,7 +373,7 @@ public class Pet implements ISerialize, Runnable if(time - this.gestureTickTimeout > 15) { - updateGesture(time); + this.updateGesture(time); } else if(time - this.randomActionTickTimeout > 30) { @@ -765,7 +765,7 @@ public class Pet implements ISerialize, Runnable public int getHappyness() { - return happyness; + return this.happyness; } public void setHappyness(int happyness) @@ -775,7 +775,7 @@ public class Pet implements ISerialize, Runnable public int getExperience() { - return experience; + return this.experience; } public void setExperience(int experience) @@ -840,7 +840,7 @@ public class Pet implements ISerialize, Runnable public boolean isMuted() { - return muted; + return this.muted; } public void setMuted(boolean muted) @@ -850,7 +850,7 @@ public class Pet implements ISerialize, Runnable public int getLevelThirst() { - return levelThirst; + return this.levelThirst; } public void setLevelThirst(int levelThirst) @@ -860,7 +860,7 @@ public class Pet implements ISerialize, Runnable public int getLevelHunger() { - return levelHunger; + return this.levelHunger; } public void setLevelHunger(int levelHunger) diff --git a/src/main/java/com/eu/habbo/habbohotel/pets/PetData.java b/src/main/java/com/eu/habbo/habbohotel/pets/PetData.java index e83a06ac..3e092791 100644 --- a/src/main/java/com/eu/habbo/habbohotel/pets/PetData.java +++ b/src/main/java/com/eu/habbo/habbohotel/pets/PetData.java @@ -341,7 +341,7 @@ public class PetData implements Comparable if(PetData.generalPetVocals.get(type) != null) vocals.addAll(PetData.generalPetVocals.get(type)); - if(vocals.isEmpty() || vocals.size() == 0) + if(vocals.isEmpty()) return null; return vocals.get(Emulator.getRandom().nextInt(vocals.size())); diff --git a/src/main/java/com/eu/habbo/habbohotel/pets/PetManager.java b/src/main/java/com/eu/habbo/habbohotel/pets/PetManager.java index 08de6e9d..5cdcda5f 100644 --- a/src/main/java/com/eu/habbo/habbohotel/pets/PetManager.java +++ b/src/main/java/com/eu/habbo/habbohotel/pets/PetManager.java @@ -36,36 +36,36 @@ public class PetManager public final THashMap petActions = new THashMap() { { - put(0, new ActionFree()); - put(1, new ActionSit()); - put(2, new ActionDown()); - put(3, new ActionHere()); - put(4, new ActionBeg()); - put(5, new ActionPlayDead()); - put(6, new ActionStay()); - put(7, new ActionFollow()); - put(8, new ActionStand()); - put(9, new ActionJump()); - put(10, new ActionSpeak()); - put(11, new ActionPlay()); - put(12, new ActionSilent()); - put(13, new ActionNest()); - put(14, new ActionDrink()); - put(15, new ActionFollowLeft()); - put(16, new ActionFollowRight()); - put(17, new ActionPlayFootball()); - put(24, new ActionMoveForward()); - put(25, new ActionTurnLeft()); - put(26, new ActionTurnRight()); - put(27, new ActionRelax()); - put(28, new ActionCroak()); - put(29, new ActionDip()); - put(30, new ActionWave()); - put(35, new ActionWings()); - put(36, new ActionBreatheFire()); - put(38, new ActionTorch()); - put(43, new ActionEat()); - put(46, new ActionBreed()); + this.put(0, new ActionFree()); + this.put(1, new ActionSit()); + this.put(2, new ActionDown()); + this.put(3, new ActionHere()); + this.put(4, new ActionBeg()); + this.put(5, new ActionPlayDead()); + this.put(6, new ActionStay()); + this.put(7, new ActionFollow()); + this.put(8, new ActionStand()); + this.put(9, new ActionJump()); + this.put(10, new ActionSpeak()); + this.put(11, new ActionPlay()); + this.put(12, new ActionSilent()); + this.put(13, new ActionNest()); + this.put(14, new ActionDrink()); + this.put(15, new ActionFollowLeft()); + this.put(16, new ActionFollowRight()); + this.put(17, new ActionPlayFootball()); + this.put(24, new ActionMoveForward()); + this.put(25, new ActionTurnLeft()); + this.put(26, new ActionTurnRight()); + this.put(27, new ActionRelax()); + this.put(28, new ActionCroak()); + this.put(29, new ActionDip()); + this.put(30, new ActionWave()); + this.put(35, new ActionWings()); + this.put(36, new ActionBreatheFire()); + this.put(38, new ActionTorch()); + this.put(43, new ActionEat()); + this.put(46, new ActionBreed()); } }; @@ -318,7 +318,7 @@ public class PetManager } catch (Exception e) { - e.printStackTrace(); + Emulator.getLogging().logErrorLine(e); } return null; @@ -340,10 +340,13 @@ public class PetManager @Override public boolean execute(int i, ArrayList petBreedingRewards) { - if (petBreedingRewards.contains(pet.getRace())) + for (PetBreedingReward reward : petBreedingRewards) { - rarityLevel[0] = i; - return false; + if (reward.breed == pet.getRace()) + { + rarityLevel[0] = i; + return false; + } } return true; @@ -450,7 +453,7 @@ public class PetManager if (type == 15) pet = new HorsePet(type, Integer.valueOf(race), color, name, client.getHabbo().getHabboInfo().getId()); else if (type == 16) - pet = createMonsterplant(null, client.getHabbo(), false, null); + pet = this.createMonsterplant(null, client.getHabbo(), false, null, 0); else pet = new Pet(type, Integer.valueOf(race), @@ -483,12 +486,12 @@ public class PetManager return null; } - public MonsterplantPet createMonsterplant(Room room, Habbo habbo, boolean rare, RoomTile t) + public MonsterplantPet createMonsterplant(Room room, Habbo habbo, boolean rare, RoomTile t, int minimumRarity) { MonsterplantPet pet = new MonsterplantPet( habbo.getHabboInfo().getId(), //Owner ID - randomBody(rare ? 4 : 0), - randomColor(rare ? 4 : 0), + randomBody(rare ? 4 : minimumRarity), + randomColor(rare ? 4 : minimumRarity), Emulator.getRandom().nextInt(12) + 1, Emulator.getRandom().nextInt(11), Emulator.getRandom().nextInt(12) + 1, @@ -510,11 +513,11 @@ public class PetManager { Pet pet = new GnomePet(26, 0, "FFFFFF", name, habbo.getHabboInfo().getId(), "5 " + - "0 -1 " + randomGnomeSkinColor() + " " + - "1 10" + (1 + Emulator.getRandom().nextInt(2)) + " " + randomGnomeColor() + " " + - "2 201 " + randomGnomeColor() + " " + - "3 30" + (1 + Emulator.getRandom().nextInt(2)) + " " + randomGnomeColor() + " " + - "4 40" + Emulator.getRandom().nextInt(2) + " " + randomGnomeColor() + "0 -1 " + this.randomGnomeSkinColor() + " " + + "1 10" + (1 + Emulator.getRandom().nextInt(2)) + " " + this.randomGnomeColor() + " " + + "2 201 " + this.randomGnomeColor() + " " + + "3 30" + (1 + Emulator.getRandom().nextInt(2)) + " " + this.randomGnomeColor() + " " + + "4 40" + Emulator.getRandom().nextInt(2) + " " + this.randomGnomeColor() ); pet.setUserId(habbo.getHabboInfo().getId()); @@ -573,30 +576,14 @@ public class PetManager public static int randomBody(int minimumRarity) { - //int rarity = MonsterplantPet.indexedBody.get(random(0, MonsterplantPet.bodyRarity.size(), 2.0)).getValue(); - - int rarity = -1; - Integer bodyType = 0; - while (rarity < minimumRarity) - { - bodyType = (Integer) MonsterplantPet.bodyRarity.keySet().toArray()[random(0, MonsterplantPet.bodyRarity.size(), 2.0)]; - rarity = MonsterplantPet.bodyRarity.get(bodyType).getValue(); - } - - return bodyType; + int randomRarity = random(Math.max(minimumRarity - 1, 0), MonsterplantPet.bodyRarity.size(), 2.0); + return MonsterplantPet.bodyRarity.get(MonsterplantPet.bodyRarity.keySet().toArray()[randomRarity]).getValue(); } public static int randomColor(int minimumRarity) { - int rarity = -1; - Integer colorType = 0; - while (rarity < minimumRarity) - { - colorType = (Integer) MonsterplantPet.colorRarity.keySet().toArray()[random(0, MonsterplantPet.colorRarity.size(), 2.0)]; - rarity = MonsterplantPet.colorRarity.get(colorType).getValue(); - } - - return colorType; + int randomRarity = random(Math.max(minimumRarity - 1, 0), MonsterplantPet.colorRarity.size(), 2.0); + return MonsterplantPet.colorRarity.get(MonsterplantPet.colorRarity.keySet().toArray()[randomRarity]).getValue(); } public static int random(int low, int high, double bias) diff --git a/src/main/java/com/eu/habbo/habbohotel/polls/PollManager.java b/src/main/java/com/eu/habbo/habbohotel/polls/PollManager.java index 18e03a54..e20d27bf 100644 --- a/src/main/java/com/eu/habbo/habbohotel/polls/PollManager.java +++ b/src/main/java/com/eu/habbo/habbohotel/polls/PollManager.java @@ -86,7 +86,7 @@ public class PollManager statement.setInt(2, habbo.getHabboInfo().getId()); try (ResultSet set = statement.executeQuery()) { - while (set.next()) + if (set.isBeforeFirst()) { return true; } 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 124e498b..74ebfebc 100644 --- a/src/main/java/com/eu/habbo/habbohotel/rooms/Room.java +++ b/src/main/java/com/eu/habbo/habbohotel/rooms/Room.java @@ -148,7 +148,7 @@ public class Room implements Comparable, ISerialize, Runnable private volatile int tradeMode; private volatile boolean moveDiagonally; private volatile boolean jukeboxActive; - private volatile boolean hideWired = false; + private volatile boolean hideWired; private final ConcurrentHashMap currentHabbos = new ConcurrentHashMap<>(3); private final TIntObjectMap habboQueue = TCollections.synchronizedMap(new TIntObjectHashMap<>(0)); @@ -156,7 +156,6 @@ public class Room implements Comparable, ISerialize, Runnable private final TIntObjectMap currentPets = TCollections.synchronizedMap(new TIntObjectHashMap<>(0)); private final THashSet activeTrades; private final TIntArrayList rights; - private final TIntArrayList traxItems; private final TIntIntHashMap mutedHabbos; private final TIntObjectHashMap bannedHabbos; private final ConcurrentSet games; @@ -171,10 +170,10 @@ public class Room implements Comparable, ISerialize, Runnable private volatile boolean needsUpdate; private volatile boolean loaded; private volatile boolean preLoaded; - private volatile int idleCycles; + private int idleCycles; private volatile int unitCounter; private volatile int rollerSpeed; - private volatile long rollerCycle = System.currentTimeMillis(); + private long rollerCycle = System.currentTimeMillis(); private volatile int lastTimerReset = Emulator.getIntUnixTimestamp(); private volatile boolean muted; @@ -186,7 +185,7 @@ public class Room implements Comparable, ISerialize, Runnable //Use appropriately. Could potentially cause memory leaks when used incorrectly. public volatile boolean preventUnloading = false; public volatile boolean preventUncaching = false; - public THashMap waterTiles; + public THashMap waterTiles; public final ConcurrentHashMap> tileCache = new ConcurrentHashMap<>(); public ConcurrentSet scheduledComposers = new ConcurrentSet<>(); public ConcurrentSet scheduledTasks = new ConcurrentSet<>(); @@ -197,6 +196,7 @@ public class Room implements Comparable, ISerialize, Runnable public final List userVotes; public ScheduledFuture roomCycleTask; private TraxManager traxManager; + private long cycleTimestamp; public Room(ResultSet set) throws SQLException { @@ -241,7 +241,6 @@ public class Room implements Comparable, ISerialize, Runnable this.hideWired = set.getString("hidewired").equals("1"); this.bannedHabbos = new TIntObjectHashMap<>(); - this.traxItems = new TIntArrayList(); @@ -488,7 +487,7 @@ public class Room implements Comparable, ISerialize, Runnable { HabboItem item = this.getHabboItem(set.getInt("id")); - if (item != null && item instanceof InteractionWired) + if (item instanceof InteractionWired) { ((InteractionWired) item).loadWiredData(set, this); } @@ -633,22 +632,22 @@ public class Room implements Comparable, ISerialize, Runnable } private RoomTileState calculateTileState(RoomTile tile) + { + return this.calculateTileState(tile, null); + } + + private RoomTileState calculateTileState(RoomTile tile, HabboItem exclude) { if (tile.state == RoomTileState.INVALID) return RoomTileState.INVALID; - if (tile.x == 2) - { - if (tile.y == 23) - { - boolean test = true; - } - } RoomTileState result = RoomTileState.OPEN; HabboItem lowestItem = null; HabboItem lowestChair = this.getLowestChair(tile); for (HabboItem item : this.getItemsAt(tile)) { + if (exclude != null && item == exclude) continue; + if (lowestChair != null && item.getZ() > lowestChair.getZ() + 1.5) { continue; @@ -658,13 +657,13 @@ public class Room implements Comparable, ISerialize, Runnable { lowestItem = item; - result = checkStateForItem(lowestItem); + result = this.checkStateForItem(lowestItem); } else if (lowestItem.getZ() == item.getZ()) { if (result == RoomTileState.OPEN) { - result = checkStateForItem(item); + result = this.checkStateForItem(item); } } } @@ -682,10 +681,6 @@ public class Room implements Comparable, ISerialize, Runnable { result = RoomTileState.OPEN; } - else - { - result = RoomTileState.BLOCKED; - } if (item.getBaseItem().allowSit()) { @@ -836,7 +831,7 @@ public class Room implements Comparable, ISerialize, Runnable public void updateHabbo(Habbo habbo) { - updateRoomUnit(habbo.getRoomUnit()); + this.updateRoomUnit(habbo.getRoomUnit()); } public void updateRoomUnit(RoomUnit roomUnit) { @@ -901,7 +896,10 @@ public class Room implements Comparable, ISerialize, Runnable roomUnits.add(habbo.getRoomUnit()); } - this.sendComposer(new RoomUserStatusComposer(roomUnits, true).compose()); + if (!roomUnits.isEmpty()) + { + this.sendComposer(new RoomUserStatusComposer(roomUnits, true).compose()); + } } public void pickupPetsForHabbo(Habbo habbo) @@ -921,19 +919,11 @@ public class Room implements Comparable, ISerialize, Runnable for(Pet pet : pets) { - if(pet instanceof Pet) - { - pet.setRoom(null); - pet.needsUpdate = true; - - habbo. - getInventory(). - getPetsComponent(). - addPet(pet); - - this.sendComposer(new RoomUserRemoveComposer(pet.getRoomUnit()).compose()); - habbo.getClient().sendResponse(new AddPetComposer(pet)); - } + pet.setRoom(null); + pet.needsUpdate = true; + habbo.getInventory().getPetsComponent().addPet(pet); + this.sendComposer(new RoomUserRemoveComposer(pet.getRoomUnit()).compose()); + habbo.getClient().sendResponse(new AddPetComposer(pet)); this.currentPets.remove(pet.getId()); } @@ -1079,12 +1069,10 @@ public class Room implements Comparable, ISerialize, Runnable try { petIterator.advance(); - if (petIterator.value() instanceof Pet) - { - petIterator.value().needsUpdate = true; - Emulator.getThreading().run(petIterator.value()); - } - } catch (NoSuchElementException e) + petIterator.value().needsUpdate = true; + Emulator.getThreading().run(petIterator.value()); + } + catch (NoSuchElementException e) { Emulator.getLogging().logErrorLine(e); break; @@ -1151,8 +1139,6 @@ public class Room implements Comparable, ISerialize, Runnable message.appendString(s); } - - int base = 0; if(this.getGuildId() > 0) @@ -1170,11 +1156,14 @@ public class Room implements Comparable, ISerialize, Runnable base = base | 8; } + if (this.allowPets) + { + base = base | 16; + } + message.appendInt(base); - //message.appendString("a.png"); //Camera image. - if(this.getGuildId() > 0) { Guild g = Emulator.getGameEnvironment().getGuildManager().getGuild(this.getGuildId()); @@ -1240,7 +1229,7 @@ public class Room implements Comparable, ISerialize, Runnable @Override public void run() { - cycle(); + Room.this.cycle(); } }); } @@ -1273,17 +1262,17 @@ public class Room implements Comparable, ISerialize, Runnable statement.setInt(11, this.wallSize); statement.setInt(12, this.wallHeight); statement.setInt(13, this.floorSize); - String moodLightData = ""; + StringBuilder moodLightData = new StringBuilder(); int id = 1; for(RoomMoodlightData data : this.moodlightData.valueCollection()) { data.setId(id); - moodLightData += data.toString() + ";"; + moodLightData.append(data.toString()).append(";"); id++; } - statement.setString(14, moodLightData); + statement.setString(14, moodLightData.toString()); statement.setString(15, this.tags); statement.setString(16, this.allowPets ? "1" : "0"); statement.setString(17, this.allowPetsEat ? "1" : "0"); @@ -1336,10 +1325,11 @@ public class Room implements Comparable, ISerialize, Runnable private void cycle() { + this.cycleTimestamp = System.currentTimeMillis(); final boolean[] foundRightHolder = {false}; - boolean loaded = false; + boolean loaded; synchronized (this.loadLock) { loaded = this.loaded; @@ -1396,8 +1386,8 @@ public class Room implements Comparable, ISerialize, Runnable HabboItem newRoller = null; - THashSet habbosOnRoller = getHabbosAt(roller.getX(), roller.getY()); - THashSet itemsOnRoller = new THashSet(getItemsAt(roller.getX(), roller.getY())); + THashSet habbosOnRoller = Room.this.getHabbosAt(roller.getX(), roller.getY()); + THashSet itemsOnRoller = new THashSet<>(getItemsAt(roller.getX(), roller.getY())); itemsOnRoller.remove(roller); @@ -1407,15 +1397,16 @@ public class Room implements Comparable, ISerialize, Runnable return true; } - RoomTile tileInFront = layout.getTileInFront(layout.getTile(roller.getX(), roller.getY()), roller.getRotation()); + RoomTile tileInFront = Room.this.layout.getTileInFront(Room.this.layout.getTile(roller.getX(), roller.getY()), roller.getRotation()); + RoomTile rollerTile = Room.this.layout.getTile(roller.getX(), roller.getY()); if (tileInFront == null) return true; - if (roller.getZ() != 0) + if (roller.getZ() != rollerTile.z) return true; - if (!layout.tileExists(tileInFront.x, tileInFront.y)) + if (!Room.this.layout.tileExists(tileInFront.x, tileInFront.y)) return true; if (tileInFront.state == RoomTileState.INVALID) @@ -1424,13 +1415,13 @@ public class Room implements Comparable, ISerialize, Runnable if (!tileInFront.getAllowStack() && !(tileInFront.isWalkable() || tileInFront.state == RoomTileState.SIT || tileInFront.state == RoomTileState.LAY)) return true; - if (tileInFront.getStackHeight() > Item.getCurrentHeight(roller)) + if (tileInFront.getStackHeight() > Item.getCurrentHeight(roller) + rollerTile.z) return true; - if (hasHabbosAt(tileInFront.x, tileInFront.y)) + if (Room.this.hasHabbosAt(tileInFront.x, tileInFront.y)) return true; - THashSet itemsNewTile = new THashSet(getItemsAt(tileInFront.x, tileInFront.y)); + THashSet itemsNewTile = new THashSet<>(getItemsAt(tileInFront.x, tileInFront.y)); itemsNewTile.removeAll(itemsOnRoller); List toRemove = new ArrayList<>(); for (HabboItem item : itemsOnRoller) @@ -1441,7 +1432,7 @@ public class Room implements Comparable, ISerialize, Runnable } } itemsOnRoller.removeAll(toRemove); - HabboItem topItem = getTopItemAt(tileInFront.x, tileInFront.y); + HabboItem topItem = Room.this.getTopItemAt(tileInFront.x, tileInFront.y); boolean allowUsers = true; boolean allowFurniture = true; @@ -1480,16 +1471,15 @@ public class Room implements Comparable, ISerialize, Runnable double zOffset = 0; if (newRoller != null) { - if (!itemsNewTile.isEmpty() && (newRoller == null || itemsNewTile.size() > 1)) + if (!itemsNewTile.isEmpty() && (itemsNewTile.size() > 1)) { return true; } - } else - { - zOffset = -roller.getBaseItem().getHeight() + tileInFront.getStackHeight(); } - - + else + { + zOffset = -roller.getBaseItem().getHeight() + tileInFront.getStackHeight() - rollerTile.z; + } if (allowUsers) { @@ -1573,7 +1563,7 @@ public class Room implements Comparable, ISerialize, Runnable messages.clear(); } - if (allowFurniture || (!allowFurniture && !stackContainsRoller)) + if (allowFurniture || !stackContainsRoller) { Event furnitureRolledEvent = null; @@ -1584,8 +1574,8 @@ public class Room implements Comparable, ISerialize, Runnable if (newRoller == null || topItem == newRoller) { - List sortedItems = new ArrayList(itemsOnRoller); - Collections.sort(sortedItems, new Comparator() + List sortedItems = new ArrayList<>(itemsOnRoller); + sortedItems.sort(new Comparator() { @Override public int compare(HabboItem o1, HabboItem o2) @@ -1632,11 +1622,11 @@ public class Room implements Comparable, ISerialize, Runnable }); + int currentTime = (int) (this.cycleTimestamp / 1000); for(HabboItem pyramid : this.roomSpecialTypes.getItemsOfType(InteractionPyramid.class)) { if(pyramid instanceof InteractionPyramid) { - int currentTime = Emulator.getIntUnixTimestamp(); if(((InteractionPyramid) pyramid).getNextChange() < currentTime) { @@ -1659,7 +1649,12 @@ public class Room implements Comparable, ISerialize, Runnable if (habbo.getRoomUnit().getHandItem() > 0 && millis - habbo.getRoomUnit().getHandItemTimestamp() > (Room.HAND_ITEM_TIME * 1000)) { - giveHandItem(habbo, 0); + this.giveHandItem(habbo, 0); + } + + if (habbo.getRoomUnit().getEffectId() > 0 && millis / 1000 > habbo.getRoomUnit().getEffectEndTimestamp()) + { + this.giveEffect(habbo, 0, -1); } if (habbo.getRoomUnit().isKicked) @@ -1688,14 +1683,14 @@ public class Room implements Comparable, ISerialize, Runnable if (habbo.getRoomUnit().isIdle()) { - sendComposer(new RoomUnitIdleComposer(habbo.getRoomUnit()).compose()); + this.sendComposer(new RoomUnitIdleComposer(habbo.getRoomUnit()).compose()); } } else { habbo.getRoomUnit().increaseIdleTimer(); - if (!isOwner(habbo) && habbo.getRoomUnit().getIdleTimer() >= Room.IDLE_CYCLES_KICK) + if (!this.isOwner(habbo) && habbo.getRoomUnit().getIdleTimer() >= Room.IDLE_CYCLES_KICK) { UserExitRoomEvent event = new UserExitRoomEvent(habbo, UserExitRoomEvent.UserExitRoomReason.KICKED_IDLE); Emulator.getPluginManager().fireEvent(event); @@ -1721,17 +1716,17 @@ public class Room implements Comparable, ISerialize, Runnable if (habbo.getHabboStats().chatCounter > 3 && !this.hasRights(habbo)) { - if (chatProtection == 0) + if (this.chatProtection == 0) { - floodMuteHabbo(habbo, 30); + this.floodMuteHabbo(habbo, 30); } - else if (chatProtection == 1 && habbo.getHabboStats().chatCounter > 4) + else if (this.chatProtection == 1 && habbo.getHabboStats().chatCounter > 4) { - floodMuteHabbo(habbo, 30); + this.floodMuteHabbo(habbo, 30); } - else if (chatProtection == 2 && habbo.getHabboStats().chatCounter > 5) + else if (this.chatProtection == 2 && habbo.getHabboStats().chatCounter > 5) { - floodMuteHabbo(habbo, 30); + this.floodMuteHabbo(habbo, 30); } } } @@ -1741,7 +1736,7 @@ public class Room implements Comparable, ISerialize, Runnable habbo.getHabboStats().chatCounter = 0; } - if (cycleRoomUnit(habbo.getRoomUnit(), RoomUnitType.USER)) + if (this.cycleRoomUnit(habbo.getRoomUnit(), RoomUnitType.USER)) { updatedUnit.add(habbo.getRoomUnit()); } @@ -1783,7 +1778,7 @@ public class Room implements Comparable, ISerialize, Runnable botIterator.value().cycle(this.allowBotsWalk); - if (cycleRoomUnit(bot.getRoomUnit(), RoomUnitType.BOT)) + if (this.cycleRoomUnit(bot.getRoomUnit(), RoomUnitType.BOT)) { updatedUnit.add(bot.getRoomUnit()); } @@ -1816,61 +1811,38 @@ public class Room implements Comparable, ISerialize, Runnable } Pet pet = petIterator.value(); - if (pet instanceof Pet) + if (this.cycleRoomUnit(pet.getRoomUnit(), RoomUnitType.PET)) { + updatedUnit.add(pet.getRoomUnit()); + } + pet.cycle(); + if (pet.packetUpdate) + { + updatedUnit.add(pet.getRoomUnit()); + pet.packetUpdate = false; + } - - - - - if (this.cycleRoomUnit(pet.getRoomUnit(), RoomUnitType.PET)) + if (pet.getTask() == PetTasks.RIDE) + { + if (pet instanceof HorsePet) { - updatedUnit.add(pet.getRoomUnit()); - } - - - - pet.cycle(); - - if (pet.packetUpdate) - { - updatedUnit.add(pet.getRoomUnit()); - pet.packetUpdate = false; - } - - if (pet.getTask() == PetTasks.RIDE) - { - if (pet instanceof HorsePet) + HorsePet horse = ((HorsePet) pet); + if (horse.getRider() != null) { - HorsePet horse = ((HorsePet) pet); - if (horse.getRider() != null) + if (!horse.getRider().getRoomUnit().getCurrentLocation().equals(horse.getRoomUnit().getCurrentLocation())) { - if (!horse.getRider().getRoomUnit().getCurrentLocation().equals(horse.getRoomUnit().getCurrentLocation())) - { - horse.getRoomUnit().setGoalLocation(horse.getRider().getRoomUnit().getCurrentLocation()); - } + horse.getRoomUnit().setGoalLocation(horse.getRider().getRoomUnit().getCurrentLocation()); } } } + } - - - - - - - - - - if (pet.getRoomUnit().isWalking() && pet.getRoomUnit().getPath().size() == 1 && pet.getRoomUnit().hasStatus(RoomUnitStatus.GESTURE)) - { - pet.getRoomUnit().removeStatus(RoomUnitStatus.GESTURE); - updatedUnit.add(pet.getRoomUnit()); - } - - + if (pet.getRoomUnit().isWalking() && pet.getRoomUnit().getPath().size() == 1 && pet.getRoomUnit().hasStatus(RoomUnitStatus.GESTURE)) + { + pet.getRoomUnit().removeStatus(RoomUnitStatus.GESTURE); + updatedUnit.add(pet.getRoomUnit()); } } } @@ -1905,7 +1877,7 @@ public class Room implements Comparable, ISerialize, Runnable { if (b.isOnline()) { - if (b.getHabboInfo().getRoomQueueId() == getId()) + if (b.getHabboInfo().getRoomQueueId() == Room.this.getId()) { b.getClient().sendResponse(new RoomAccessDeniedComposer("")); } @@ -1921,7 +1893,7 @@ public class Room implements Comparable, ISerialize, Runnable if (!this.scheduledComposers.isEmpty()) { - for (ServerMessage message : scheduledComposers) + for (ServerMessage message : this.scheduledComposers) { this.sendComposer(message); } @@ -1936,7 +1908,7 @@ public class Room implements Comparable, ISerialize, Runnable boolean update = unit.needsStatusUpdate(); if (unit.hasStatus(RoomUnitStatus.SIGN)) { - sendComposer(new RoomUserStatusComposer(unit).compose()); + this.sendComposer(new RoomUserStatusComposer(unit).compose()); unit.removeStatus(RoomUnitStatus.SIGN); } @@ -1958,7 +1930,7 @@ public class Room implements Comparable, ISerialize, Runnable if (!unit.isWalking() && !unit.cmdSit) { - HabboItem topItem = getLowestChair(unit.getX(), unit.getY()); + HabboItem topItem = this.getLowestChair(unit.getX(), unit.getY()); if (topItem == null || !topItem.getBaseItem().allowSit()) { @@ -1972,8 +1944,8 @@ public class Room implements Comparable, ISerialize, Runnable { if (!unit.hasStatus(RoomUnitStatus.SIT) || unit.sitUpdate) { - dance(unit, DanceType.NONE); - int tileHeight = layout.getTile(topItem.getX(), topItem.getY()).z; + this.dance(unit, DanceType.NONE); + int tileHeight = this.layout.getTile(topItem.getX(), topItem.getY()).z; if (topItem instanceof InteractionMultiHeight) { unit.setStatus(RoomUnitStatus.SIT, (Item.getCurrentHeight(topItem) * 1.0D) + ""); @@ -1984,7 +1956,6 @@ public class Room implements Comparable, ISerialize, Runnable } unit.setPreviousLocationZ(topItem.getZ()); unit.setRotation(RoomUserRotation.values()[topItem.getRotation()]); - update = true; unit.sitUpdate = false; return true; } @@ -1994,7 +1965,7 @@ public class Room implements Comparable, ISerialize, Runnable if (!unit.isWalking() && !unit.cmdLay) { - HabboItem topItem = getTopItemAt(unit.getX(), unit.getY()); + HabboItem topItem = this.getTopItemAt(unit.getX(), unit.getY()); if (topItem == null || !topItem.getBaseItem().allowLay()) { @@ -2020,12 +1991,12 @@ public class Room implements Comparable, ISerialize, Runnable if (topItem.getRotation() == 0 || topItem.getRotation() == 4) { - unit.setLocation(layout.getTile(unit.getX(), topItem.getY())); + unit.setLocation(this.layout.getTile(unit.getX(), topItem.getY())); //unit.setOldY(topItem.getY()); } else { - unit.setLocation(layout.getTile(topItem.getX(), unit.getY())); + unit.setLocation(this.layout.getTile(topItem.getX(), unit.getY())); //unit.setOldX(topItem.getX()); } update = true; @@ -2509,7 +2480,12 @@ public class Room implements Comparable, ISerialize, Runnable public String[] filterAnything() { - return new String[]{ getOwnerName(), getGuildName(), getDescription(), getPromotionDesc()}; + return new String[]{this.getOwnerName(), this.getGuildName(), this.getDescription(), this.getPromotionDesc()}; + } + + public long getCycleTimestamp() + { + return this.cycleTimestamp; } public boolean isPromoted() @@ -2728,7 +2704,7 @@ public class Room implements Comparable, ISerialize, Runnable public TIntArrayList getRights() { - return rights; + return this.rights; } public boolean isMuted() @@ -2751,13 +2727,15 @@ public class Room implements Comparable, ISerialize, Runnable if(item == null) return; - try - { - this.roomItems.put(item.getId(), item); - } - catch (Exception e) + synchronized (this.roomItems) { + try + { + this.roomItems.put(item.getId(), item); + } catch (Exception e) + { + } } synchronized (this.furniOwnerCount) @@ -3189,7 +3167,7 @@ public class Room implements Comparable, ISerialize, Runnable public void removeHabbo(Habbo habbo) { - HabboItem item = getTopItemAt(habbo.getRoomUnit().getX(), habbo.getRoomUnit().getY()); + HabboItem item = this.getTopItemAt(habbo.getRoomUnit().getX(), habbo.getRoomUnit().getY()); if (item != null) { @@ -3512,7 +3490,7 @@ public class Room implements Comparable, ISerialize, Runnable public THashSet getHabbosAt(short x, short y) { - return getHabbosAt(this.layout.getTile(x, y)); + return this.getHabbosAt(this.layout.getTile(x, y)); } public THashSet getHabbosAt(RoomTile tile) @@ -3535,7 +3513,7 @@ public class Room implements Comparable, ISerialize, Runnable { for(short y = item.getY(); y < item.getY() + item.getBaseItem().getWidth(); y++) { - habbos.addAll(getHabbosAt(x, y)); + habbos.addAll(this.getHabbosAt(x, y)); } } @@ -3549,7 +3527,7 @@ public class Room implements Comparable, ISerialize, Runnable { for(short y = item.getY(); y < item.getY() + item.getBaseItem().getWidth(); y++) { - bots.addAll(getBotsAt(this.getLayout().getTile(x, y))); + bots.addAll(this.getBotsAt(this.getLayout().getTile(x, y))); } } @@ -3558,24 +3536,39 @@ public class Room implements Comparable, ISerialize, Runnable public void teleportHabboToItem(Habbo habbo, HabboItem item) { - this.teleportHabboToLocation(habbo, item.getX(), item.getY(), item.getZ() + item.getBaseItem().getHeight()); + this.teleportRoomUnitToLocation(habbo.getRoomUnit(), item.getX(), item.getY(), item.getZ() + item.getBaseItem().getHeight()); } public void teleportHabboToLocation(Habbo habbo, short x, short y) { - this.teleportHabboToLocation(habbo, x, y, 0.0); + this.teleportRoomUnitToLocation(habbo.getRoomUnit(), x, y, 0.0); } - void teleportHabboToLocation(Habbo habbo, short x, short y, double z) + public void teleportRoomUnitToItem(RoomUnit roomUnit, HabboItem item) + { + this.teleportRoomUnitToLocation(roomUnit, item.getX(), item.getY(), item.getZ() + item.getBaseItem().getHeight()); + } + + public void teleportRoomUnitToLocation(RoomUnit roomUnit, short x, short y) + { + this.teleportRoomUnitToLocation(roomUnit, x, y, 0.0); + } + void teleportRoomUnitToLocation(RoomUnit roomUnit, short x, short y, double z) { if (this.loaded) { RoomTile tile = this.layout.getTile(x, y); - habbo.getRoomUnit().setLocation(tile); - habbo.getRoomUnit().setGoalLocation(tile); - habbo.getRoomUnit().setZ(z); - habbo.getRoomUnit().setPreviousLocationZ(z); - this.updateHabbo(habbo); + + if (z < tile.z) + { + z = tile.z; + } + + roomUnit.setLocation(tile); + roomUnit.setGoalLocation(tile); + roomUnit.setZ(z); + roomUnit.setPreviousLocationZ(z); + this.updateRoomUnit(roomUnit); } } @@ -3797,8 +3790,6 @@ public class Room implements Comparable, ISerialize, Runnable { h.getClient().sendResponse(staffMessage); } - - continue; } } else if (chatType == RoomChatType.TALK) @@ -4008,7 +3999,6 @@ public class Room implements Comparable, ISerialize, Runnable } catch (Exception e) { - e.printStackTrace(); break; } @@ -4081,8 +4071,20 @@ public class Room implements Comparable, ISerialize, Runnable { THashSet items = new THashSet<>(); - for(HabboItem item : this.getFloorItems()) + TIntObjectIterator iterator = this.roomItems.iterator(); + + for (int i = this.roomItems.size(); i-- > 0; ) { + HabboItem item; + try + { + iterator.advance(); + item = iterator.value(); + } catch (Exception e) + { + break; + } + if(item.getClass().equals(type)) { if(item.getX() == x && item.getY() == y) @@ -4199,7 +4201,7 @@ public class Room implements Comparable, ISerialize, Runnable public double getTopHeightAt(int x, int y) { - HabboItem item = getTopItemAt(x, y); + HabboItem item = this.getTopItemAt(x, y); if(item != null) return (item.getZ() + item.getBaseItem().getHeight()); @@ -4214,7 +4216,7 @@ public class Room implements Comparable, ISerialize, Runnable if (tile != null) { - return getLowestChair(tile); + return this.getLowestChair(tile); } return null; @@ -4250,26 +4252,6 @@ public class Room implements Comparable, ISerialize, Runnable return lowestChair; } - public HabboItem getStackHelper(int x, int y) - { - RoomTile tile = this.getLayout().getTile((short)x, (short)y); - - if (tile != null) - { - THashSet items = this.getItemsAt(tile); - - for (HabboItem item : items) - { - if (item instanceof InteractionStackHelper) - { - return item; - } - } - } - - return null; - } - public double getStackHeight(short x, short y, boolean calculateHeightmap, HabboItem exclude) { if(x < 0 || y < 0) @@ -4296,47 +4278,11 @@ public class Room implements Comparable, ISerialize, Runnable if (!stackHelper) { HabboItem item = this.getTopItemAt(x, y, exclude); - if (canStack) + if (item != null) { - if (item != null) - { - canStack = item.getBaseItem().allowStack(); - height = item.getZ() + Item.getCurrentHeight(item); - } + canStack = item.getBaseItem().allowStack(); + height = item.getZ() + Item.getCurrentHeight(item); } - - - - - - - - - - - -// - - - - - -// -// - - - - - - - - -// - - - - - } } @@ -4351,62 +4297,6 @@ public class Room implements Comparable, ISerialize, Runnable public double getStackHeight(short x, short y, boolean calculateHeightmap) { return this.getStackHeight(x, y, calculateHeightmap, null); -// - - -// - - -// - - - - - - - -// -// - - - - - - - - - -// - - - - - -// - -// - - - - - - - - -// - - - - - - -// - - - - -// - } public boolean hasObjectTypeAt(Class type, int x, int y) @@ -4426,16 +4316,16 @@ public class Room implements Comparable, ISerialize, Runnable public boolean canSitOrLayAt(int x, int y) { - if(hasHabbosAt(x, y)) + if(this.hasHabbosAt(x, y)) return false; - THashSet items = getItemsAt(x, y); + THashSet items = this.getItemsAt(x, y); - return canSitAt(items) || canLayAt(items); + return this.canSitAt(items) || this.canLayAt(items); } public boolean canSitAt(int x, int y) { - if(hasHabbosAt(x, y)) + if(this.hasHabbosAt(x, y)) return false; return this.canSitAt(this.getItemsAt(x, y)); @@ -4488,7 +4378,6 @@ public class Room implements Comparable, ISerialize, Runnable HabboItem topItem = null; HabboItem lowestSitItem = null; - boolean canSit = false; boolean canSitUnder = false; for(HabboItem item : items) @@ -4515,7 +4404,6 @@ public class Room implements Comparable, ISerialize, Runnable if(topItem == null || item.getZ() > topItem.getZ()) { topItem = item; - canSit = false; } } @@ -4616,7 +4504,7 @@ public class Room implements Comparable, ISerialize, Runnable { for (Habbo habbo : this.getHabbos()) { - if (hasRights(habbo)) + if (this.hasRights(habbo)) { habbo.getClient().sendResponse(message); } @@ -4712,7 +4600,7 @@ public class Room implements Comparable, ISerialize, Runnable public boolean hasRights(Habbo habbo) { - return isOwner(habbo) || this.rights.contains(habbo.getHabboInfo().getId()) || (habbo.getRoomUnit().getRightsLevel() != RoomRightLevels.NONE && this.currentHabbos.containsKey(habbo.getHabboInfo().getId())); + return this.isOwner(habbo) || this.rights.contains(habbo.getHabboInfo().getId()) || (habbo.getRoomUnit().getRightsLevel() != RoomRightLevels.NONE && this.currentHabbos.containsKey(habbo.getHabboInfo().getId())); } public void giveRights(Habbo habbo) @@ -4821,7 +4709,7 @@ public class Room implements Comparable, ISerialize, Runnable { if(habbo.getHabboInfo().getCurrentRoom() == room) { - refreshRightsForHabbo(habbo); + this.refreshRightsForHabbo(habbo); } } } @@ -4830,13 +4718,12 @@ public class Room implements Comparable, ISerialize, Runnable { HabboItem item; RoomRightLevels flatCtrl = RoomRightLevels.NONE; - if (!habbo.getHabboStats().canRentSpace()) + if (habbo.getHabboStats().isRentingSpace()) { item = this.getHabboItem(habbo.getHabboStats().getRentedItemId()); if (item != null) { - flatCtrl = RoomRightLevels.GUILD_ADMIN; return; } } @@ -4958,26 +4845,35 @@ public class Room implements Comparable, ISerialize, Runnable this.sendComposer(new RoomUserStatusComposer(habbo.getRoomUnit()).compose()); } - public void giveEffect(Habbo habbo, int effectId) + public void giveEffect(Habbo habbo, int effectId, int duration) { if (this.currentHabbos.containsKey(habbo.getHabboInfo().getId())) { - this.giveEffect(habbo.getRoomUnit(), effectId); + this.giveEffect(habbo.getRoomUnit(), effectId, duration); } } - public void giveEffect(RoomUnit roomUnit, int effectId) + public void giveEffect(RoomUnit roomUnit, int effectId, int duration) { + if (duration == - 1) + { + duration = Integer.MAX_VALUE; + } + else + { + duration += Emulator.getIntUnixTimestamp(); + } + if (this.allowEffects && roomUnit != null) { - roomUnit.setEffectId(effectId); + roomUnit.setEffectId(effectId, duration); this.sendComposer(new RoomUserEffectComposer(roomUnit).compose()); } } public void giveHandItem(Habbo habbo, int handItem) { - giveHandItem(habbo.getRoomUnit(), handItem); + this.giveHandItem(habbo.getRoomUnit(), handItem); } public void giveHandItem(RoomUnit roomUnit, int handItem) @@ -5028,27 +4924,6 @@ public class Room implements Comparable, ISerialize, Runnable public int getUserFurniCount(int userId) { return this.furniOwnerCount.get(userId); - - -// - -// - - - - - -// - - - - - - - - -// - } public void ejectUserFurni(int userId) @@ -5117,7 +4992,6 @@ public class Room implements Comparable, ISerialize, Runnable } catch (Exception e) { - e.printStackTrace(); break; } @@ -5185,7 +5059,7 @@ public class Room implements Comparable, ISerialize, Runnable HabboItem habboItem = iterator.value(); - if (habboItem != null && habboItem instanceof InteractionGuildFurni) + if (habboItem instanceof InteractionGuildFurni) { if (((InteractionGuildFurni) habboItem).getGuildId() == guild.getId()) this.updateItem(habboItem); @@ -5203,7 +5077,7 @@ public class Room implements Comparable, ISerialize, Runnable if (habbo.getHabboInfo().getId() != this.ownerId) { if (!(habbo.hasPermission(Permission.ACC_ANYROOMOWNER) || habbo.hasPermission("acc_moverotate"))) - refreshRightsForHabbo(habbo); + this.refreshRightsForHabbo(habbo); } } } @@ -5230,8 +5104,18 @@ public class Room implements Comparable, ISerialize, Runnable public void dance(RoomUnit unit, DanceType danceType) { + boolean isDancing = !unit.getDanceType().equals(DanceType.NONE); unit.setDanceType(danceType); this.sendComposer(new RoomUserDanceComposer(unit).compose()); + + if (danceType.equals(DanceType.NONE) && isDancing) + { + WiredHandler.handle(WiredTriggerType.STOPS_DANCING, unit, this, new Object[]{unit}); + } + else if (!danceType.equals(DanceType.NONE) && !isDancing) + { + WiredHandler.handle(WiredTriggerType.STARTS_DANCING, unit, this, new Object[]{unit}); + } } public void addToWordFilter(String word) @@ -5241,9 +5125,8 @@ public class Room implements Comparable, ISerialize, Runnable if (this.wordFilterWords.contains(word)) return; - this.wordFilterWords.add(word); - try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("INSERT INTO room_wordfilter VALUES (?, ?)")) + try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("INSERT IGNORE INTO room_wordfilter VALUES (?, ?)")) { statement.setInt(1, this.getId()); statement.setString(2, word); @@ -5252,7 +5135,10 @@ public class Room implements Comparable, ISerialize, Runnable catch (SQLException e) { Emulator.getLogging().logSQLException(e); + return; } + + this.wordFilterWords.add(word); } } @@ -5384,7 +5270,7 @@ public class Room implements Comparable, ISerialize, Runnable public void startWordQuiz(String question, int duration) { - if (!hasActiveWordQuiz()) + if (!this.hasActiveWordQuiz()) { this.wordQuiz = question; this.noVotes = 0; @@ -5435,43 +5321,16 @@ public class Room implements Comparable, ISerialize, Runnable ServerMessage response = null; for (HabboItem item : this.roomSpecialTypes.getTriggers()) { - - - - - - - - this.sendComposer(new RemoveFloorItemComposer(item).compose()); } - - for (HabboItem item : this.roomSpecialTypes.getEffects()) { - - - - - - - - this.sendComposer(new RemoveFloorItemComposer(item).compose()); } for (HabboItem item : this.roomSpecialTypes.getConditions()) { - - - - - - - - - this.sendComposer(new RemoveFloorItemComposer(item).compose()); } @@ -5496,7 +5355,7 @@ public class Room implements Comparable, ISerialize, Runnable return FurnitureMovementError.NONE; } - if(!habbo.getHabboStats().canRentSpace()) + if(habbo.getHabboStats().isRentingSpace()) { HabboItem rentSpace = this.getHabboItem(habbo.getHabboStats().rentedItemId); @@ -5577,6 +5436,11 @@ public class Room implements Comparable, ISerialize, Runnable public FurnitureMovementError placeWallFurniAt(HabboItem item, String wallPosition, Habbo owner) { + if (!(this.hasRights(owner) || this.guildRightLevel(owner) >= 2)) + { + return FurnitureMovementError.NO_RIGHTS; + } + if(Emulator.getPluginManager().isRegistered(FurniturePlacedEvent.class, true)) { Event furniturePlacedEvent = new FurniturePlacedEvent(item, owner, null); @@ -5611,13 +5475,15 @@ public class Room implements Comparable, ISerialize, Runnable HabboItem topItem = this.getTopItemAt(tile.x, tile.y); + boolean magicTile = item instanceof InteractionStackHelper; + //Check if can be placed at new position THashSet occupiedTiles = this.layout.getTilesAt(tile, item.getBaseItem().getWidth(), item.getBaseItem().getLength(), rotation); if (topItem != item) { for (RoomTile t : occupiedTiles) { - if (t.state.equals(RoomTileState.INVALID) || !t.getAllowStack()) + if (!magicTile && ((this.getTopItemAt(t.x, t.y) != item ? t.state.equals(RoomTileState.INVALID) || !t.getAllowStack() : this.calculateTileState(t, item).equals(RoomTileState.INVALID)))) return FurnitureMovementError.CANT_STACK; if (this.hasHabbosAt(t.x, t.y)) return FurnitureMovementError.TILE_HAS_HABBOS; if (this.hasBotsAt(t.x, t.y)) return FurnitureMovementError.TILE_HAS_BOTS; @@ -5631,7 +5497,7 @@ public class Room implements Comparable, ISerialize, Runnable tileFurniList.add(Pair.create(t, this.getItemsAt(t))); } - if (!item.canStackAt(this, tileFurniList)) + if (!magicTile && !item.canStackAt(this, tileFurniList)) { return FurnitureMovementError.CANT_STACK; } @@ -5655,28 +5521,15 @@ public class Room implements Comparable, ISerialize, Runnable item.setX(tile.x); item.setY(tile.y); item.setZ(this.getStackHeight(tile.x, tile.y, false, item)); + if (magicTile) + { + item.setZ(tile.z); + } if (item.getZ() > 40d) { item.setZ(40); } - //Update old & new tiles - occupiedTiles.removeAll(oldOccupiedTiles); - - this.updateTiles(oldOccupiedTiles); - this.updateTiles(occupiedTiles); - - //Update Habbos at old position - for (RoomTile t : occupiedTiles) - { - this.updateHabbosAt(t.x, t.y); - } - - //Update Habbos at new position - for (RoomTile t : oldOccupiedTiles) - { - this.updateHabbosAt(t.x, t.y); - } //Update Furniture item.onMove(this, oldLocation, tile); @@ -5684,6 +5537,16 @@ public class Room implements Comparable, ISerialize, Runnable Emulator.getThreading().run(item); this.sendComposer(new FloorItemUpdateComposer(item).compose()); + //Update old & new tiles + occupiedTiles.removeAll(oldOccupiedTiles); + occupiedTiles.addAll(oldOccupiedTiles); + this.updateTiles(occupiedTiles); + + //Update Habbos at old position + for (RoomTile t : occupiedTiles) + { + this.updateHabbosAt(t.x, t.y); + } return FurnitureMovementError.NONE; } 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 f1476b96..9f1559c1 100644 --- a/src/main/java/com/eu/habbo/habbohotel/rooms/RoomChatMessage.java +++ b/src/main/java/com/eu/habbo/habbohotel/rooms/RoomChatMessage.java @@ -36,11 +36,11 @@ public class RoomChatMessage implements Runnable, ISerialize, Loggable public RoomChatMessage(MessageHandler message) { - if(message.packet.getMessageId() == Incoming.RoomUserWhisperEvent) + if (message.packet.getMessageId() == Incoming.RoomUserWhisperEvent) { String data = message.packet.readString(); this.targetHabbo = message.client.getHabbo().getHabboInfo().getCurrentRoom().getHabbo(data.split(" ")[0]); - this.message = data.substring(data.split(" ")[0].length() + 1, data.length()); + this.message = data.substring(data.split(" ")[0].length() + 1); } else { @@ -54,21 +54,21 @@ public class RoomChatMessage implements Runnable, ISerialize, Loggable { this.bubble = RoomChatMessageBubbles.NORMAL; } - - if(message.client != null && message.client.getHabbo() != null && !message.client.getHabbo().hasPermission("acc_anychatcolor")) + + if (!message.client.getHabbo().hasPermission("acc_anychatcolor")) { - for(Integer i : RoomChatMessage.BANNED_BUBBLES) + for (Integer i : RoomChatMessage.BANNED_BUBBLES) { - if(i == this.bubble.getType()) + if (i == this.bubble.getType()) { this.bubble = RoomChatMessageBubbles.NORMAL; } } } - this.unfilteredMessage = this.message; this.habbo = message.client.getHabbo(); - this.roomUnitId = habbo.getRoomUnit().getId(); + this.roomUnitId = this.habbo.getRoomUnit().getId(); + this.unfilteredMessage = this.message; this.timestamp = Emulator.getIntUnixTimestamp(); this.checkEmotion(); @@ -148,7 +148,7 @@ public class RoomChatMessage implements Runnable, ISerialize, Loggable @Override public void run() { - if(habbo == null) + if(this.habbo == null) return; if(this.message.length() > RoomChatMessage.MAXIMUM_LENGTH) @@ -236,22 +236,22 @@ public class RoomChatMessage implements Runnable, ISerialize, Loggable } catch(Exception e) { - e.printStackTrace(); + Emulator.getLogging().logErrorLine(e); } } public void filter() { - if(!habbo.getHabboStats().hasActiveClub()) + if(!this.habbo.getHabboStats().hasActiveClub()) { for (String chatColor : chatColors) { - message = message.replace(chatColor, ""); + this.message = this.message.replace(chatColor, ""); } } if(Emulator.getConfig().getBoolean("hotel.wordfilter.enabled") && Emulator.getConfig().getBoolean("hotel.wordfilter.rooms")) { - if(!habbo.hasPermission("acc_chat_no_filter")) + if(!this.habbo.hasPermission("acc_chat_no_filter")) { if (!Emulator.getGameEnvironment().getWordFilter().autoReportCheck(this)) { @@ -263,7 +263,7 @@ public class RoomChatMessage implements Runnable, ISerialize, Loggable } else { - habbo.mute(Emulator.getConfig().getInt("hotel.wordfilter.automute")); + this.habbo.mute(Emulator.getConfig().getInt("hotel.wordfilter.automute")); } this.message = ""; 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 2c7de486..504a0033 100644 --- a/src/main/java/com/eu/habbo/habbohotel/rooms/RoomLayout.java +++ b/src/main/java/com/eu/habbo/habbohotel/rooms/RoomLayout.java @@ -6,9 +6,7 @@ import gnu.trove.set.hash.THashSet; import java.awt.*; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Deque; -import java.util.LinkedList; +import java.util.*; import java.util.List; public class RoomLayout @@ -48,7 +46,7 @@ public class RoomLayout } catch (Exception e) { - e.printStackTrace(); + Emulator.getLogging().logErrorLine(e); } } @@ -125,7 +123,7 @@ public class RoomLayout public String getName() { - return name; + return this.name; } public short getDoorX() @@ -228,7 +226,7 @@ public class RoomLayout public RoomTile getTile(short x, short y) { - if (tileExists(x, y)) + if (this.tileExists(x, y)) { return this.roomTiles[x][y]; } @@ -248,7 +246,7 @@ public class RoomLayout public boolean isVoidTile(short x, short y) { - if (!tileExists(x, y)) return true; + if (!this.tileExists(x, y)) return true; return this.roomTiles[x][y].state == RoomTileState.INVALID; } @@ -258,18 +256,18 @@ public class RoomLayout } public String getRelativeMap() { - return this.heightmap.replace("\r\n", "\r").substring(0, this.heightmap.replace("\r\n", "\r").length()); + return this.heightmap.replace("\r\n", "\r"); } public final Deque findPath(RoomTile oldTile, RoomTile newTile, RoomTile goalLocation) { - LinkedList openList = new LinkedList(); + LinkedList openList = new LinkedList<>(); try { if (this.room == null || !this.room.isLoaded() || oldTile == null || newTile == null || oldTile.equals(newTile) || newTile.state == RoomTileState.INVALID) return openList; - List closedList = new LinkedList(); + List closedList = new LinkedList<>(); openList.add(oldTile.copy()); @@ -281,27 +279,26 @@ public class RoomLayout return new LinkedList<>(); } - RoomTile current = lowestFInOpen(openList); - closedList.add(current); + RoomTile current = this.lowestFInOpen(openList); openList.remove(current); if ((current.x == newTile.x) && (current.y == newTile.y)) { - return calcPath(findTile(openList, oldTile.x, oldTile.y), current); + return this.calcPath(this.findTile(openList, oldTile.x, oldTile.y), current); } - List adjacentNodes = getAdjacent(openList, current, newTile); + List adjacentNodes = this.getAdjacent(openList, current, newTile); for (RoomTile currentAdj : adjacentNodes) { - //if (closedList.contains(currentAdj)) continue; + if (closedList.contains(currentAdj)) continue; //If the tile is sitable or layable and its not our goal tile, we cannot walk over it. if ( (currentAdj.state == RoomTileState.BLOCKED) || ((currentAdj.state == RoomTileState.SIT || currentAdj.state == RoomTileState.LAY) && !currentAdj.equals(goalLocation))) { - closedList.add(currentAdj); openList.remove(currentAdj); + closedList.add(currentAdj);openList.remove(currentAdj); continue; } ////if (!room.getLayout().tileWalkable((short) currentAdj.x, (short) currentAdj.y)) continue; @@ -316,14 +313,19 @@ public class RoomLayout if (height > MAXIMUM_STEP_HEIGHT && currentAdj.state == RoomTileState.OPEN) continue; //Check if the tile has habbos. - if (!this.room.isAllowWalkthrough() && room.hasHabbosAt(currentAdj.x, currentAdj.y)) { closedList.add(currentAdj); openList.remove(currentAdj); continue;} + if (!this.room.isAllowWalkthrough() && this.room.hasHabbosAt(currentAdj.x, currentAdj.y)) + { + closedList.add(currentAdj); + openList.remove(currentAdj); + continue; + } //if (room.hasPetsAt(currentAdj.x, currentAdj.y)) continue; if (!openList.contains(currentAdj)) { currentAdj.setPrevious(current); - currentAdj.sethCosts(findTile(openList, newTile.x, newTile.y)); + currentAdj.sethCosts(this.findTile(openList, newTile.x, newTile.y)); currentAdj.setgCosts(current); openList.add(currentAdj); } @@ -335,7 +337,7 @@ public class RoomLayout } if (openList.isEmpty()) { - return new LinkedList(); + return new LinkedList<>(); } } } @@ -367,7 +369,7 @@ public class RoomLayout private Deque calcPath(RoomTile start, RoomTile goal) { - LinkedList path = new LinkedList(); + LinkedList path = new LinkedList<>(); if (start == null) return path; @@ -376,7 +378,7 @@ public class RoomLayout { path.addFirst(curr); curr = curr.getPrevious(); - if ((curr != null) && (start != null) && (curr.equals(start))) { + if ((curr != null) && (curr.equals(start))) { return path; } } @@ -406,7 +408,7 @@ public class RoomLayout List adj = new LinkedList<>(); if (x > 0) { - RoomTile temp = findTile(openList, (short) (x - 1), y); + RoomTile temp = this.findTile(openList, (short) (x - 1), y); if (temp != null && temp.state != RoomTileState.BLOCKED && temp.state != RoomTileState.INVALID) { if (temp.state != RoomTileState.SIT || nextTile.getStackHeight() - node.getStackHeight() <= 2.0) @@ -419,7 +421,7 @@ public class RoomLayout } if (x < this.mapSizeX) { - RoomTile temp = findTile(openList, (short) (x + 1), y); + RoomTile temp = this.findTile(openList, (short) (x + 1), y); if (temp != null && temp.state != RoomTileState.BLOCKED && temp.state != RoomTileState.INVALID) { if (temp.state != RoomTileState.SIT || nextTile.getStackHeight() - node.getStackHeight() <= 2.0) @@ -432,7 +434,7 @@ public class RoomLayout } if (y > 0) { - RoomTile temp = findTile(openList, x, (short) (y - 1)); + RoomTile temp = this.findTile(openList, x, (short) (y - 1)); if (temp != null && temp.state != RoomTileState.BLOCKED && temp.state != RoomTileState.INVALID) { if (temp.state != RoomTileState.SIT || nextTile.getStackHeight() - node.getStackHeight() <= 2.0) @@ -445,7 +447,7 @@ public class RoomLayout } if (y < this.mapSizeY) { - RoomTile temp = findTile(openList, x, (short) (y + 1)); + RoomTile temp = this.findTile(openList, x, (short) (y + 1)); if (temp != null && temp.state != RoomTileState.BLOCKED && temp.state != RoomTileState.INVALID) { if (temp.state != RoomTileState.SIT || nextTile.getStackHeight() - node.getStackHeight() <= 2.0) @@ -456,15 +458,15 @@ public class RoomLayout } } } - if (CANMOVEDIAGONALY) + if (this.CANMOVEDIAGONALY) { if ((x < this.mapSizeX) && (y < this.mapSizeY)) { - RoomTile offX = findTile(openList, (short) (x + 1), y); - RoomTile offY = findTile(openList, x, (short) (y+1)); + RoomTile offX = this.findTile(openList, (short) (x + 1), y); + RoomTile offY = this.findTile(openList, x, (short) (y+1)); if (offX != null && offY != null && (offX.isWalkable() || offY.isWalkable())) { - RoomTile temp = findTile(openList, (short) (x + 1), (short) (y + 1)); + RoomTile temp = this.findTile(openList, (short) (x + 1), (short) (y + 1)); if (temp != null && temp.state != RoomTileState.BLOCKED && temp.state != RoomTileState.INVALID) { if (temp.state != RoomTileState.SIT || nextTile.getStackHeight() - node.getStackHeight() <= 2.0) @@ -478,11 +480,11 @@ public class RoomLayout } if ((x > 0) && (y > 0)) { - RoomTile offX = findTile(openList, (short) (x - 1), y); - RoomTile offY = findTile(openList, x, (short) (y - 1)); + RoomTile offX = this.findTile(openList, (short) (x - 1), y); + RoomTile offY = this.findTile(openList, x, (short) (y - 1)); if (offX != null && offY != null && (offX.isWalkable() || offY.isWalkable())) { - RoomTile temp = findTile(openList, (short) (x - 1), (short) (y - 1)); + RoomTile temp = this.findTile(openList, (short) (x - 1), (short) (y - 1)); if (temp != null && temp.state != RoomTileState.BLOCKED && temp.state != RoomTileState.INVALID) { if (temp.state != RoomTileState.SIT || nextTile.getStackHeight() - node.getStackHeight() <= 2.0) @@ -496,11 +498,11 @@ public class RoomLayout } if ((x > 0) && (y < this.mapSizeY)) { - RoomTile offX = findTile(openList, (short) (x - 1), y); - RoomTile offY = findTile(openList, x, (short) (y+1)); + RoomTile offX = this.findTile(openList, (short) (x - 1), y); + RoomTile offY = this.findTile(openList, x, (short) (y+1)); if (offX != null && offY != null && (offX.isWalkable() || offY.isWalkable())) { - RoomTile temp = findTile(openList, (short) (x - 1), (short) (y + 1)); + RoomTile temp = this.findTile(openList, (short) (x - 1), (short) (y + 1)); if (temp != null && temp.state != RoomTileState.BLOCKED && temp.state != RoomTileState.INVALID) { if (temp.state != RoomTileState.SIT || nextTile.getStackHeight() - node.getStackHeight() <= 2.0) @@ -514,11 +516,11 @@ public class RoomLayout } if ((x < this.mapSizeX) && (y > 0)) { - RoomTile offX = findTile(openList, (short) (x + 1), y); - RoomTile offY = findTile(openList, x, (short) (y - 1)); + RoomTile offX = this.findTile(openList, (short) (x + 1), y); + RoomTile offY = this.findTile(openList, x, (short) (y - 1)); if (offX != null && offY != null && (offX.isWalkable() || offY.isWalkable())) { - RoomTile temp = findTile(openList, (short) (x + 1), (short) (y - 1)); + RoomTile temp = this.findTile(openList, (short) (x + 1), (short) (y - 1)); if (temp != null && temp.state != RoomTileState.BLOCKED && temp.state != RoomTileState.INVALID) { if (temp.state != RoomTileState.SIT || nextTile.getStackHeight() - node.getStackHeight() <= 2.0) @@ -629,6 +631,11 @@ public class RoomLayout } public List getTilesAround(RoomTile tile) + { + return getTilesAround(tile, 0); + } + + public List getTilesAround(RoomTile tile, int directionOffset) { List tiles = new ArrayList<>(8); @@ -636,7 +643,7 @@ public class RoomLayout { for (int i = 0; i < 8; i++) { - RoomTile t = this.getTileInFront(tile, i); + RoomTile t = this.getTileInFront(tile, (i + directionOffset) % 8); if (t != null) { tiles.add(t); 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 c7e6e1bb..a6b99332 100644 --- a/src/main/java/com/eu/habbo/habbohotel/rooms/RoomManager.java +++ b/src/main/java/com/eu/habbo/habbohotel/rooms/RoomManager.java @@ -257,9 +257,8 @@ public class RoomManager public List getRoomsByScore() { - List rooms = new ArrayList<>(); - rooms.addAll(this.activeRooms.values()); - Collections.sort(rooms, Room.SORT_SCORE); + List rooms = new ArrayList<>(this.activeRooms.values()); + rooms.sort(Room.SORT_SCORE); return rooms; } @@ -285,7 +284,7 @@ public class RoomManager if(room.getOwnerId() == habbo.getHabboInfo().getId()) rooms.add(room); } - Collections.sort(rooms, Room.SORT_ID); + rooms.sort(Room.SORT_ID); return rooms; } @@ -294,7 +293,7 @@ public class RoomManager Habbo h = Emulator.getGameEnvironment().getHabboManager().getHabbo(username); if(h != null) { - return getRoomsForHabbo(h); + return this.getRoomsForHabbo(h); } List rooms = new ArrayList<>(); @@ -424,7 +423,7 @@ public class RoomManager List roomsToDispose = new ArrayList<>(); for(Room room : this.activeRooms.values()) { - if(!room.isPublicRoom() && !room.isStaffPromotedRoom() && room.getOwnerId() == habbo.getHabboInfo().getId() && room.getUserCount() == 0) + if(!room.isPublicRoom() && !room.isStaffPromotedRoom() && room.getOwnerId() == habbo.getHabboInfo().getId() && room.getUserCount() == 0 && !this.roomCategories.get(room.getCategory()).isPublic()) { roomsToDispose.add(room); } @@ -445,7 +444,7 @@ public class RoomManager THashSet roomsToDispose = new THashSet<>(); for(Room room : this.activeRooms.values()) { - if(!room.isPublicRoom() && !room.isStaffPromotedRoom() && !Emulator.getGameServer().getGameClientManager().containsHabbo(room.getOwnerId()) && room.isPreLoaded()) + if(!room.isPublicRoom() && !room.isStaffPromotedRoom() && !Emulator.getGameServer().getGameClientManager().containsHabbo(room.getOwnerId()) && room.isPreLoaded() && !this.roomCategories.get(room.getCategory()).isPublic()) { roomsToDispose.add(room); } @@ -565,7 +564,7 @@ public class RoomManager public void enterRoom(Habbo habbo, int roomId, String password, boolean overrideChecks, RoomTile doorLocation) { - Room room = loadRoom(roomId); + Room room = this.loadRoom(roomId); if(room == null) return; @@ -835,19 +834,14 @@ public class RoomManager } } - int effect = habbo.getInventory().getEffectsComponent().activatedEffect ; + int effect = habbo.getInventory().getEffectsComponent().activatedEffect; if (effect == 0) { effect = habbo.getHabboInfo().getRank().getRoomEffect(); } - if (effect > 0) - { - habbo.getRoomUnit().setEffectId(effect); - } - - room.sendComposer(new RoomUserEffectComposer(habbo.getRoomUnit()).compose()); + room.giveEffect(habbo.getRoomUnit(), effect, -1); } @@ -1025,7 +1019,7 @@ public class RoomManager if (room.hasVotedInWordQuiz(habbo)) { - habbo.getClient().sendResponse(new SimplePollAnswersComposer(habbo.getHabboInfo().getId(), room.noVotes, room.yesVotes)); + habbo.getClient().sendResponse(new SimplePollAnswersComposer(room.noVotes, room.yesVotes)); } } @@ -1056,7 +1050,7 @@ public class RoomManager public void leaveRoom(Habbo habbo, Room room) { - leaveRoom(habbo, room, true); + this.leaveRoom(habbo, room, true); } public void leaveRoom(Habbo habbo, Room room, boolean redirectToHotelView) @@ -1146,7 +1140,7 @@ public class RoomManager for(Room room : this.activeRooms.values()) { - if(room.isPublicRoom() || room.isStaffPromotedRoom() || this.roomCategories.get(room.getCategory()).isPublic()) + if(room.isPublicRoom()) { rooms.add(room); } @@ -1245,7 +1239,7 @@ public class RoomManager if(rooms.size() < 25) { - rooms.addAll(getOfflineRoomsWithName(name)); + rooms.addAll(this.getOfflineRoomsWithName(name)); } Collections.sort(rooms); @@ -1443,7 +1437,7 @@ public class RoomManager @Override public boolean execute(int value) { - Room room = loadRoom(value); + Room room = RoomManager.this.loadRoom(value); if (room != null) { @@ -1664,7 +1658,6 @@ public class RoomManager catch (SQLException e) { Emulator.getLogging().logSQLException(e); - e.printStackTrace(); } return this.loadCustomLayout(room); diff --git a/src/main/java/com/eu/habbo/habbohotel/rooms/RoomSpecialTypes.java b/src/main/java/com/eu/habbo/habbohotel/rooms/RoomSpecialTypes.java index 7c24e635..afb9993d 100644 --- a/src/main/java/com/eu/habbo/habbohotel/rooms/RoomSpecialTypes.java +++ b/src/main/java/com/eu/habbo/habbohotel/rooms/RoomSpecialTypes.java @@ -3,6 +3,7 @@ package com.eu.habbo.habbohotel.rooms; import com.eu.habbo.Emulator; import com.eu.habbo.habbohotel.games.GameTeamColors; import com.eu.habbo.habbohotel.items.ICycleable; +import com.eu.habbo.habbohotel.items.Item; import com.eu.habbo.habbohotel.items.interactions.*; import com.eu.habbo.habbohotel.items.interactions.games.InteractionGameGate; import com.eu.habbo.habbohotel.items.interactions.games.InteractionGameScoreboard; @@ -24,6 +25,9 @@ import gnu.trove.map.hash.THashMap; import gnu.trove.set.hash.THashSet; import java.awt.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; import java.util.Map; public class RoomSpecialTypes @@ -98,12 +102,26 @@ public class RoomSpecialTypes } } - public InteractionBattleBanzaiTeleporter getRandomTeleporter() + public InteractionBattleBanzaiTeleporter getRandomTeleporter(Item baseItem, InteractionBattleBanzaiTeleporter exclude) { - synchronized (this.banzaiTeleporters) + List teleporterList = new ArrayList<>(); + for (InteractionBattleBanzaiTeleporter teleporter : this.banzaiTeleporters.values()) { - return (InteractionBattleBanzaiTeleporter) this.banzaiTeleporters.values().toArray()[Emulator.getRandom().nextInt(this.banzaiTeleporters.size())]; + if (teleporter.getBaseItem() == baseItem) + { + teleporterList.add(teleporter); + } } + + teleporterList.remove(exclude); + + if (!teleporterList.isEmpty()) + { + Collections.shuffle(teleporterList); + return teleporterList.get(0); + } + + return null; } @@ -241,7 +259,7 @@ public class RoomSpecialTypes public THashMap getRollers() { - return rollers; + return this.rollers; } @@ -536,7 +554,7 @@ public class RoomSpecialTypes { synchronized (this.wiredExtras) { - this.wiredExtras.remove(extra); + this.wiredExtras.remove(extra.getId()); } } diff --git a/src/main/java/com/eu/habbo/habbohotel/rooms/RoomTile.java b/src/main/java/com/eu/habbo/habbohotel/rooms/RoomTile.java index b41f94f8..a666d706 100644 --- a/src/main/java/com/eu/habbo/habbohotel/rooms/RoomTile.java +++ b/src/main/java/com/eu/habbo/habbohotel/rooms/RoomTile.java @@ -5,15 +5,14 @@ public class RoomTile public final short x; public final short y; public final short z; - public RoomTileState state = RoomTileState.OPEN; + public RoomTileState state; - private double stackHeight = 0; + private double stackHeight; private boolean allowStack = true; private RoomTile previous = null; private boolean diagonally; - private short movementPanelty; private short gCosts; private short hCosts; @@ -89,12 +88,16 @@ public class RoomTile public short relativeHeight() { - if (this.state == RoomTileState.INVALID || !allowStack) + if (this.state == RoomTileState.INVALID) { return Short.MAX_VALUE; } + else if (!this.allowStack && (this.state == RoomTileState.BLOCKED || this.state == RoomTileState.SIT)) + { + return 64 * 256; + } - return (short) (this.stackHeight * 256.0); + return this.allowStack ? (short) (this.getStackHeight() * 256.0) : 64 * 256; } @Override @@ -117,11 +120,6 @@ public class RoomTile return Math.sqrt(x * x + y * y); } - public boolean isDiagonally() - { - return this.diagonally; - } - public void isDiagonally(boolean isDiagonally) { this.diagonally = isDiagonally; @@ -137,11 +135,6 @@ public class RoomTile this.previous = previous; } - public void setMovementPanelty(short movementPanelty) - { - this.movementPanelty = movementPanelty; - } - public int getfCosts() { return this.gCosts + this.hCosts; @@ -154,42 +147,27 @@ public class RoomTile private void setgCosts(short gCosts) { - this.gCosts = (short)(gCosts + this.movementPanelty); + this.gCosts = gCosts; } void setgCosts(RoomTile previousRoomTile, int basicCost) { - setgCosts((short)(previousRoomTile.getgCosts() + basicCost)); + this.setgCosts((short)(previousRoomTile.getgCosts() + basicCost)); } public void setgCosts(RoomTile previousRoomTile) { - setgCosts(previousRoomTile, this.diagonally ? RoomLayout.DIAGONALMOVEMENTCOST : RoomLayout.BASICMOVEMENTCOST); + this.setgCosts(previousRoomTile, this.diagonally ? RoomLayout.DIAGONALMOVEMENTCOST : RoomLayout.BASICMOVEMENTCOST); } public int calculategCosts(RoomTile previousRoomTile) { if (this.diagonally) { - return previousRoomTile.getgCosts() + 14 + this.movementPanelty; + return previousRoomTile.getgCosts() + 14; } - return previousRoomTile.getgCosts() + 10 + this.movementPanelty; - } - - public int calculategCosts(RoomTile previousRoomTile, int movementCost) - { - return previousRoomTile.getgCosts() + movementCost + this.movementPanelty; - } - - int gethCosts() - { - return this.hCosts; - } - - void sethCosts(short hCosts) - { - this.hCosts = hCosts; + return previousRoomTile.getgCosts() + 10; } public void sethCosts(RoomTile parent) diff --git a/src/main/java/com/eu/habbo/habbohotel/rooms/RoomTrade.java b/src/main/java/com/eu/habbo/habbohotel/rooms/RoomTrade.java index 0360f6c3..ebfdd3ac 100644 --- a/src/main/java/com/eu/habbo/habbohotel/rooms/RoomTrade.java +++ b/src/main/java/com/eu/habbo/habbohotel/rooms/RoomTrade.java @@ -48,19 +48,19 @@ public class RoomTrade { roomTradeUser.getHabbo().getRoomUnit().setStatus(RoomUnitStatus.TRADING, ""); if(!roomTradeUser.getHabbo().getRoomUnit().isWalking()) - room.sendComposer(new RoomUserStatusComposer(roomTradeUser.getHabbo().getRoomUnit()).compose()); + this.room.sendComposer(new RoomUserStatusComposer(roomTradeUser.getHabbo().getRoomUnit()).compose()); } } } protected void openTrade() { - sendMessageToUsers(new TradeStartComposer(this)); + this.sendMessageToUsers(new TradeStartComposer(this)); } public void offerItem(Habbo habbo, HabboItem item) { - RoomTradeUser user = getRoomTradeUserForHabbo(habbo); + RoomTradeUser user = this.getRoomTradeUserForHabbo(habbo); if(user.getItems().contains(item)) return; @@ -68,13 +68,13 @@ public class RoomTrade habbo.getInventory().getItemsComponent().removeHabboItem(item); user.getItems().add(item); - clearAccepted(); - updateWindow(); + this.clearAccepted(); + this.updateWindow(); } public void offerMultipleItems(Habbo habbo, THashSet items) { - RoomTradeUser user = getRoomTradeUserForHabbo(habbo); + RoomTradeUser user = this.getRoomTradeUserForHabbo(habbo); for(HabboItem item : items) { @@ -85,13 +85,13 @@ public class RoomTrade } } - clearAccepted(); - updateWindow(); + this.clearAccepted(); + this.updateWindow(); } public void removeItem(Habbo habbo, HabboItem item) { - RoomTradeUser user = getRoomTradeUserForHabbo(habbo); + RoomTradeUser user = this.getRoomTradeUserForHabbo(habbo); if(!user.getItems().contains(item)) return; @@ -99,17 +99,17 @@ public class RoomTrade habbo.getInventory().getItemsComponent().addItem(item); user.getItems().remove(item); - clearAccepted(); - updateWindow(); + this.clearAccepted(); + this.updateWindow(); } public void accept(Habbo habbo, boolean value) { - RoomTradeUser user = getRoomTradeUserForHabbo(habbo); + RoomTradeUser user = this.getRoomTradeUserForHabbo(habbo); user.setAccepted(value); - sendMessageToUsers(new TradeAcceptedComposer(user)); + this.sendMessageToUsers(new TradeAcceptedComposer(user)); boolean accepted = true; for(RoomTradeUser roomTradeUser : this.users) { @@ -124,7 +124,7 @@ public class RoomTrade public void confirm(Habbo habbo) { - RoomTradeUser user = getRoomTradeUserForHabbo(habbo); + RoomTradeUser user = this.getRoomTradeUserForHabbo(habbo); user.confirm(); @@ -137,7 +137,7 @@ public class RoomTrade } if(accepted) { - if (tradeItems()) + if (this.tradeItems()) { this.closeWindow(); this.sendMessageToUsers(new TradeCompleteComposer()); @@ -284,8 +284,8 @@ public class RoomTrade } private void closeWindow() { - removeStatusses(); - sendMessageToUsers(new TradeCloseWindowComposer()); + this.removeStatusses(); + this.sendMessageToUsers(new TradeCloseWindowComposer()); } public void stopTrade(Habbo habbo) diff --git a/src/main/java/com/eu/habbo/habbohotel/rooms/RoomUnit.java b/src/main/java/com/eu/habbo/habbohotel/rooms/RoomUnit.java index e3cd3520..1ce131c2 100644 --- a/src/main/java/com/eu/habbo/habbohotel/rooms/RoomUnit.java +++ b/src/main/java/com/eu/habbo/habbohotel/rooms/RoomUnit.java @@ -48,7 +48,7 @@ public class RoomUnit public boolean cmdLay = false; public boolean sitUpdate = false; public boolean isTeleporting = false; - public boolean isKicked = false; + public boolean isKicked; public int kickCount = 0; private boolean statusUpdate = false; private boolean invisible = false; @@ -64,6 +64,7 @@ public class RoomUnit private long handItemTimestamp; private int walkTimeOut; private int effectId; + private int effectEndTimestamp; private int idleTimer; private Room room; @@ -77,8 +78,6 @@ public class RoomUnit this.status = new ConcurrentHashMap<>(); this.cacheable = new THashMap<>(); this.roomUnitType = RoomUnitType.UNKNOWN; - this.bodyRotation = RoomUserRotation.NORTH; - this.bodyRotation = RoomUserRotation.NORTH; this.danceType = DanceType.NONE; this.handItem = 0; this.handItemTimestamp = 0; @@ -111,8 +110,12 @@ public class RoomUnit { try { + if (this.isTeleporting) + { + return false; + } - if (!this.isWalking() && !isKicked) + if (!this.isWalking() && !this.isKicked) { if (this.status.remove(RoomUnitStatus.MOVE) == null) { @@ -120,14 +123,15 @@ public class RoomUnit } } - this.status.remove(RoomUnitStatus.SIT); - this.status.remove(RoomUnitStatus.MOVE); - this.status.remove(RoomUnitStatus.LAY); - for (Map.Entry s : this.status.entrySet()) + if (this.status.remove(RoomUnitStatus.SIT) != null) this.statusUpdate = true; + if (this.status.remove(RoomUnitStatus.MOVE) != null) this.statusUpdate = true; + if (this.status.remove(RoomUnitStatus.LAY) != null) this.statusUpdate = true; + + for (Map.Entry set : this.status.entrySet()) { - if (s.getKey().removeWhenWalking) + if (set.getKey().removeWhenWalking) { - this.status.remove(s); + this.status.remove(set.getKey()); } } @@ -146,7 +150,7 @@ public class RoomUnit { this.sitUpdate = true; - if ( room.hasHabbosAt(next.x, next.y)) + if (next != null && room.hasHabbosAt(next.x, next.y)) { return false; } @@ -155,7 +159,8 @@ public class RoomUnit Deque peekPath = room.getLayout().findPath(this.currentLocation, this.path.peek(), this.goalLocation); if (peekPath.size() >= 3) { - peekPath.pop(); //Start + path.pop(); + //peekPath.pop(); //Start peekPath.removeLast(); //End if (peekPath.peek() != next) @@ -173,10 +178,7 @@ public class RoomUnit Habbo habbo = room.getHabbo(this); - if (this.status.containsKey(RoomUnitStatus.DEAD)) - { - this.status.remove(RoomUnitStatus.DEAD); - } + this.status.remove(RoomUnitStatus.DEAD); if (habbo != null) { @@ -358,7 +360,7 @@ public class RoomUnit } public int getId() { - return id; + return this.id; } public void setId(int id) @@ -391,8 +393,9 @@ public class RoomUnit this.z = z; } - public boolean isInRoom() { - return inRoom; + public boolean isInRoom() + { + return this.inRoom; } public synchronized void setInRoom(boolean inRoom) { @@ -400,7 +403,7 @@ public class RoomUnit } public RoomUnitType getRoomUnitType() { - return roomUnitType; + return this.roomUnitType; } public synchronized void setRoomUnitType(RoomUnitType roomUnitType) { @@ -414,7 +417,7 @@ public class RoomUnit } public RoomUserRotation getBodyRotation() { - return bodyRotation; + return this.bodyRotation; } public void setBodyRotation(RoomUserRotation bodyRotation) { @@ -422,7 +425,7 @@ public class RoomUnit } public RoomUserRotation getHeadRotation() { - return headRotation; + return this.headRotation; } public void setHeadRotation(RoomUserRotation headRotation) @@ -430,8 +433,9 @@ public class RoomUnit this.headRotation = headRotation; } - public DanceType getDanceType() { - return danceType; + public DanceType getDanceType() + { + return this.danceType; } public synchronized void setDanceType(DanceType danceType) { @@ -578,7 +582,7 @@ public class RoomUnit public boolean isWalking() { - return !isAtGoal() && this.canWalk; + return !this.isAtGoal() && this.canWalk; } public String getStatus(RoomUnitStatus key) @@ -650,9 +654,15 @@ public class RoomUnit return this.effectId; } - public void setEffectId(int effectId) + public void setEffectId(int effectId, int endTimestamp) { this.effectId = effectId; + this.effectEndTimestamp = endTimestamp; + } + + public int getEffectEndTimestamp() + { + return this.effectEndTimestamp; } public int getWalkTimeOut() @@ -723,12 +733,12 @@ public class RoomUnit public Deque getPath() { - return path; + return this.path; } public RoomRightLevels getRightsLevel() { - return rightsLevel; + return this.rightsLevel; } public void setRightsLevel(RoomRightLevels rightsLevel) diff --git a/src/main/java/com/eu/habbo/habbohotel/rooms/TraxManager.java b/src/main/java/com/eu/habbo/habbohotel/rooms/TraxManager.java index e706e343..06d01baf 100644 --- a/src/main/java/com/eu/habbo/habbohotel/rooms/TraxManager.java +++ b/src/main/java/com/eu/habbo/habbohotel/rooms/TraxManager.java @@ -41,7 +41,7 @@ public class TraxManager implements Disposable while (set.next()) { HabboItem musicDisc = this.room.getHabboItem(set.getInt("item_id")); - if (musicDisc != null && musicDisc instanceof InteractionMusicDisc) + if (musicDisc instanceof InteractionMusicDisc) { SoundTrack track = Emulator.getGameEnvironment().getItemManager().getSoundTrack(((InteractionMusicDisc) musicDisc).getSongId()); @@ -64,7 +64,7 @@ public class TraxManager implements Disposable { if (this.isPlaying()) { - if (timePlaying() >= this.totalLength) + if (this.timePlaying() >= this.totalLength) { this.play(0); //restart @@ -138,7 +138,7 @@ public class TraxManager implements Disposable { HabboItem musicDisc = this.room.getHabboItem(itemId); - if (musicDisc != null && musicDisc instanceof InteractionMusicDisc) + if (musicDisc instanceof InteractionMusicDisc) { SoundTrack track = Emulator.getGameEnvironment().getItemManager().getSoundTrack(((InteractionMusicDisc) musicDisc).getSongId()); @@ -203,12 +203,12 @@ public class TraxManager implements Disposable public int totalLength() { - return totalLength; + return this.totalLength; } public List getSongs() { - return songs; + return this.songs; } public boolean isPlaying() 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 6679b3df..333e8190 100644 --- a/src/main/java/com/eu/habbo/habbohotel/users/Habbo.java +++ b/src/main/java/com/eu/habbo/habbohotel/users/Habbo.java @@ -216,7 +216,7 @@ public class Habbo implements Runnable public boolean hasPermission(String key) { - return hasPermission(key, false); + return this.hasPermission(key, false); } @@ -285,7 +285,7 @@ public class Habbo implements Runnable { if (this.getRoomUnit().isInRoom()) { - this.client.sendResponse(new RoomUserWhisperComposer(new RoomChatMessage(message, client.getHabbo().getRoomUnit(), bubble))); + this.client.sendResponse(new RoomUserWhisperComposer(new RoomChatMessage(message, this.client.getHabbo().getRoomUnit(), bubble))); } } @@ -300,7 +300,7 @@ public class Habbo implements Runnable { if (this.getRoomUnit().isInRoom()) { - this.getHabboInfo().getCurrentRoom().sendComposer(new RoomUserTalkComposer(new RoomChatMessage(message, client.getHabbo().getRoomUnit(), bubble)).compose()); + this.getHabboInfo().getCurrentRoom().sendComposer(new RoomUserTalkComposer(new RoomChatMessage(message, this.client.getHabbo().getRoomUnit(), bubble)).compose()); } } @@ -315,14 +315,21 @@ public class Habbo implements Runnable { if (this.getRoomUnit().isInRoom()) { - this.getHabboInfo().getCurrentRoom().sendComposer(new RoomUserShoutComposer(new RoomChatMessage(message, client.getHabbo().getRoomUnit(), bubble)).compose()); + this.getHabboInfo().getCurrentRoom().sendComposer(new RoomUserShoutComposer(new RoomChatMessage(message, this.client.getHabbo().getRoomUnit(), bubble)).compose()); } } public void alert(String message) { - this.client.sendResponse(new GenericAlertComposer(message)); + if (Emulator.getConfig().getBoolean("hotel.alert.oldstyle")) + { + this.client.sendResponse(new MessagesForYouComposer(new String[]{message})); + } + else + { + this.client.sendResponse(new GenericAlertComposer(message)); + } } @@ -484,7 +491,7 @@ public class Habbo implements Runnable { if (!newLog.containsKey(ltdLog.getKey())) { - newLog.put(ltdLog.getKey(), new ArrayList()); + newLog.put(ltdLog.getKey(), new ArrayList<>()); } newLog.get(ltdLog.getKey()).add(time); diff --git a/src/main/java/com/eu/habbo/habbohotel/users/HabboBadge.java b/src/main/java/com/eu/habbo/habbohotel/users/HabboBadge.java index 65b1fc2d..300dea99 100644 --- a/src/main/java/com/eu/habbo/habbohotel/users/HabboBadge.java +++ b/src/main/java/com/eu/habbo/habbohotel/users/HabboBadge.java @@ -35,12 +35,12 @@ public class HabboBadge implements Runnable public int getId() { - return id; + return this.id; } public String getCode() { - return code; + return this.code; } public void setCode(String code) @@ -55,7 +55,7 @@ public class HabboBadge implements Runnable public int getSlot() { - return slot; + return this.slot; } @Override diff --git a/src/main/java/com/eu/habbo/habbohotel/users/HabboInfo.java b/src/main/java/com/eu/habbo/habbohotel/users/HabboInfo.java index 518e6e15..61790d98 100644 --- a/src/main/java/com/eu/habbo/habbohotel/users/HabboInfo.java +++ b/src/main/java/com/eu/habbo/habbohotel/users/HabboInfo.java @@ -28,12 +28,10 @@ public class HabboInfo implements Runnable private int id; private int accountCreated; - private int achievementScore; private Rank rank; private int credits; private int lastOnline; - private int lastLogin; private int homeRoom; @@ -80,7 +78,6 @@ public class HabboInfo implements Runnable this.homeRoom = set.getInt("home_room"); this.lastOnline = set.getInt("last_online"); this.machineID = set.getString("machine_id"); - this.lastLogin = Emulator.getIntUnixTimestamp(); this.online = false; this.currentRoom = null; } @@ -124,7 +121,7 @@ public class HabboInfo implements Runnable { try { - statement.setInt(1, getId()); + statement.setInt(1, HabboInfo.this.getId()); statement.setInt(2, a); statement.setInt(3, b); statement.setInt(4, b); @@ -219,7 +216,7 @@ public class HabboInfo implements Runnable } public String getMail() { - return mail; + return this.mail; } public void setMail(String mail) { @@ -227,7 +224,7 @@ public class HabboInfo implements Runnable } public String getSso() { - return sso; + return this.sso; } public void setSso(String sso) { @@ -235,7 +232,7 @@ public class HabboInfo implements Runnable } public String getIpRegister() { - return ipRegister; + return this.ipRegister; } public void setIpRegister(String ipRegister) { @@ -268,7 +265,7 @@ public class HabboInfo implements Runnable public int getCredits() { - return credits; + return this.credits; } public void setCredits(int credits) @@ -362,7 +359,7 @@ public class HabboInfo implements Runnable public HorsePet getRiding() { - return riding; + return this.riding; } public void setRiding(HorsePet riding) diff --git a/src/main/java/com/eu/habbo/habbohotel/users/HabboItem.java b/src/main/java/com/eu/habbo/habbohotel/users/HabboItem.java index 4f64228e..126a74f7 100644 --- a/src/main/java/com/eu/habbo/habbohotel/users/HabboItem.java +++ b/src/main/java/com/eu/habbo/habbohotel/users/HabboItem.java @@ -89,7 +89,7 @@ public abstract class HabboItem implements Runnable, IEventTriggers serverMessage.appendInt(this.baseItem.getSpriteId()); serverMessage.appendInt(this.x); serverMessage.appendInt(this.y); - serverMessage.appendInt(getRotation()); + serverMessage.appendInt(this.getRotation()); serverMessage.appendString(Double.toString(this.z)); serverMessage.appendString((this.getBaseItem().getInteractionType().getType() == InteractionTrophy.class || this.getBaseItem().getInteractionType().getType() == InteractionCrackable.class || this.getBaseItem().getName().toLowerCase().equals("gnome_box")) ? "1.0" : ((this.getBaseItem().allowWalk() || this.getBaseItem().allowSit() && this.roomId != 0) ? Item.getCurrentHeight(this) + "" : "")); @@ -98,7 +98,7 @@ public abstract class HabboItem implements Runnable, IEventTriggers } catch (Exception e) { - e.printStackTrace(); + Emulator.getLogging().logErrorLine(e); } } @@ -238,12 +238,12 @@ public abstract class HabboItem implements Runnable, IEventTriggers public int getLimitedStack() { - return limitedStack; + return this.limitedStack; } public int getLimitedSells() { - return limitedSells; + return this.limitedSells; } @Override @@ -316,10 +316,8 @@ public abstract class HabboItem implements Runnable, IEventTriggers } } - if (objects == null || !(objects.length == 2 && objects[1] instanceof WiredEffectType)) - { - WiredHandler.handle(WiredTriggerType.STATE_CHANGED, client.getHabbo().getRoomUnit(), room, new Object[]{this}); - } + + WiredHandler.handle(WiredTriggerType.STATE_CHANGED, client.getHabbo().getRoomUnit(), room, new Object[]{this}); } } @@ -347,7 +345,7 @@ public abstract class HabboItem implements Runnable, IEventTriggers Achievement roomDecoAchievement = Emulator.getGameEnvironment().getAchievementManager().getAchievement("RoomDecoFurniCount"); Habbo owner = room.getHabbo(this.getUserId()); - int furniCollecterProgress = 0; + int furniCollecterProgress; if (owner == null) { furniCollecterProgress = AchievementManager.getAchievementProgressForHabbo(this.getUserId(), roomDecoAchievement); @@ -379,12 +377,12 @@ public abstract class HabboItem implements Runnable, IEventTriggers { if (this.getBaseItem().getEffectM() > 0 && habbo.getHabboInfo().getGender().equals(HabboGender.M) && habbo.getRoomUnit().getEffectId() == this.getBaseItem().getEffectM()) { - room.giveEffect(habbo, 0); + room.giveEffect(habbo, 0, -1); } if (this.getBaseItem().getEffectF() > 0 && habbo.getHabboInfo().getGender().equals(HabboGender.F) && habbo.getRoomUnit().getEffectId() == this.getBaseItem().getEffectF()) { - room.giveEffect(habbo, 0); + room.giveEffect(habbo, 0, -1); } } @@ -392,12 +390,12 @@ public abstract class HabboItem implements Runnable, IEventTriggers { if (this.getBaseItem().getEffectM() > 0 && bot.getGender().equals(HabboGender.M) && bot.getRoomUnit().getEffectId() == this.getBaseItem().getEffectM()) { - room.giveEffect(bot.getRoomUnit(), 0); + room.giveEffect(bot.getRoomUnit(), 0, -1); } if (this.getBaseItem().getEffectF() > 0 && bot.getGender().equals(HabboGender.F) && bot.getRoomUnit().getEffectId() == this.getBaseItem().getEffectF()) { - room.giveEffect(bot.getRoomUnit(), 0); + room.giveEffect(bot.getRoomUnit(), 0, -1); } } } @@ -431,12 +429,12 @@ public abstract class HabboItem implements Runnable, IEventTriggers { if (this.getBaseItem().getEffectM() > 0 && habbo.getHabboInfo().getGender().equals(HabboGender.M) && habbo.getRoomUnit().getEffectId() == this.getBaseItem().getEffectM()) { - room.giveEffect(habbo, 0); + room.giveEffect(habbo, 0, -1); } if (this.getBaseItem().getEffectF() > 0 && habbo.getHabboInfo().getGender().equals(HabboGender.F) && habbo.getRoomUnit().getEffectId() == this.getBaseItem().getEffectF()) { - room.giveEffect(habbo, 0); + room.giveEffect(habbo, 0, -1); } } @@ -444,12 +442,12 @@ public abstract class HabboItem implements Runnable, IEventTriggers { if (this.getBaseItem().getEffectM() > 0 && habbo.getHabboInfo().getGender().equals(HabboGender.M) && habbo.getRoomUnit().getEffectId() != this.getBaseItem().getEffectM()) { - room.giveEffect(habbo, this.getBaseItem().getEffectM()); + room.giveEffect(habbo, this.getBaseItem().getEffectM(), -1); } if (this.getBaseItem().getEffectF() > 0 && habbo.getHabboInfo().getGender().equals(HabboGender.F) && habbo.getRoomUnit().getEffectId() != this.getBaseItem().getEffectF()) { - room.giveEffect(habbo, this.getBaseItem().getEffectF()); + room.giveEffect(habbo, this.getBaseItem().getEffectF(), -1); } } @@ -457,12 +455,12 @@ public abstract class HabboItem implements Runnable, IEventTriggers { if (this.getBaseItem().getEffectM() > 0 && bot.getGender().equals(HabboGender.M) && bot.getRoomUnit().getEffectId() == this.getBaseItem().getEffectM()) { - room.giveEffect(bot.getRoomUnit(), 0); + room.giveEffect(bot.getRoomUnit(), 0, -1); } if (this.getBaseItem().getEffectF() > 0 && bot.getGender().equals(HabboGender.F) && bot.getRoomUnit().getEffectId() == this.getBaseItem().getEffectF()) { - room.giveEffect(bot.getRoomUnit(), 0); + room.giveEffect(bot.getRoomUnit(), 0, -1); } } @@ -470,12 +468,12 @@ public abstract class HabboItem implements Runnable, IEventTriggers { if (this.getBaseItem().getEffectM() > 0 && bot.getGender().equals(HabboGender.M) && bot.getRoomUnit().getEffectId() != this.getBaseItem().getEffectM()) { - room.giveEffect(bot.getRoomUnit(), this.getBaseItem().getEffectM()); + room.giveEffect(bot.getRoomUnit(), this.getBaseItem().getEffectM(), -1); } if (this.getBaseItem().getEffectF() > 0 && bot.getGender().equals(HabboGender.F) && bot.getRoomUnit().getEffectId() != this.getBaseItem().getEffectF()) { - room.giveEffect(bot.getRoomUnit(), this.getBaseItem().getEffectF()); + room.giveEffect(bot.getRoomUnit(), this.getBaseItem().getEffectF(), -1); } } } 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 1997a7dc..1504781a 100644 --- a/src/main/java/com/eu/habbo/habbohotel/users/HabboManager.java +++ b/src/main/java/com/eu/habbo/habbohotel/users/HabboManager.java @@ -73,10 +73,9 @@ public class HabboManager public Habbo loadHabbo(String sso) { - Habbo habbo = null; - ResultSet set = null; - + Habbo habbo; int userId = 0; + try(Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("SELECT id FROM users WHERE auth_ticket = ? LIMIT 1")) { @@ -95,10 +94,10 @@ public class HabboManager Emulator.getLogging().logSQLException(e); } - habbo = cloneCheck(userId); + habbo = this.cloneCheck(userId); if (habbo != null) { - habbo.getClient().sendResponse(new GenericAlertComposer(Emulator.getTexts().getValue("loggedin.elsewhere"))); + habbo.alert(Emulator.getTexts().getValue("loggedin.elsewhere")); Emulator.getGameServer().getGameClientManager().disposeClient(habbo.getClient()); habbo = null; } @@ -109,12 +108,37 @@ public class HabboManager return null; } + try(Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("SELECT * FROM users WHERE auth_ticket LIKE ? LIMIT 1")) { statement.setString(1, sso); - set = statement.executeQuery(); + try (ResultSet set = statement.executeQuery()) + { + if (set.next()) + { + habbo = new Habbo(set); + if (habbo.firstVisit) + { + Emulator.getPluginManager().fireEvent(new UserRegisteredEvent(habbo)); + } + + if (!Emulator.debugging) + { + try (PreparedStatement stmt = connection.prepareStatement("UPDATE users SET auth_ticket = ? WHERE auth_ticket LIKE ? AND id = ? LIMIT 1")) + { + stmt.setString(1, ""); + stmt.setString(2, sso); + stmt.setInt(3, habbo.getHabboInfo().getId()); + stmt.execute(); + } catch (SQLException e) + { + Emulator.getLogging().logSQLException(e); + } + } + } + } } catch(SQLException e) { @@ -125,36 +149,6 @@ public class HabboManager Emulator.getLogging().logErrorLine(ex); } - try - { - if (set.next()) - { - habbo = new Habbo(set); - - if (habbo.firstVisit) - { - Emulator.getPluginManager().fireEvent(new UserRegisteredEvent(habbo)); - } - - try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("UPDATE users SET auth_ticket = ? WHERE auth_ticket LIKE ? AND id = ? LIMIT 1")) - { - statement.setString(1, null); - statement.setString(2, sso); - statement.setInt(3, habbo.getHabboInfo().getId()); - } - catch (SQLException e) - { - Emulator.getLogging().logSQLException(e); - } - } - - set.close(); - } - catch (SQLException e) - { - Emulator.getLogging().logSQLException(e); - } - return habbo; } @@ -211,9 +205,7 @@ public class HabboManager public Habbo cloneCheck(int id) { - Habbo habbo = Emulator.getGameServer().getGameClientManager().getHabbo(id); - - return habbo; + return Emulator.getGameServer().getGameClientManager().getHabbo(id); } public void sendPacketToHabbosWithPermission(ServerMessage message, String perm) @@ -347,7 +339,7 @@ public class HabboManager habbo.getClient().sendResponse(new MarketplaceConfigComposer()); habbo.getClient().sendResponse(new GiftConfigurationComposer()); habbo.getClient().sendResponse(new RecyclerLogicComposer()); - habbo.getClient().sendResponse(new GenericAlertComposer(Emulator.getTexts().getValue("commands.generic.cmd_give_rank.new_rank").replace("id", rank.getName()))); + habbo.alert(Emulator.getTexts().getValue("commands.generic.cmd_give_rank.new_rank").replace("id", rank.getName())); } else { diff --git a/src/main/java/com/eu/habbo/habbohotel/users/HabboNavigatorWindowSettings.java b/src/main/java/com/eu/habbo/habbohotel/users/HabboNavigatorWindowSettings.java index cad77afb..bd4afb83 100644 --- a/src/main/java/com/eu/habbo/habbohotel/users/HabboNavigatorWindowSettings.java +++ b/src/main/java/com/eu/habbo/habbohotel/users/HabboNavigatorWindowSettings.java @@ -80,7 +80,7 @@ public class HabboNavigatorWindowSettings } else { - insertDisplayMode(category, ListMode.LIST, displayMode); + this.insertDisplayMode(category, ListMode.LIST, displayMode); } } @@ -94,7 +94,7 @@ public class HabboNavigatorWindowSettings } else { - insertDisplayMode(category, listMode, DisplayMode.VISIBLE); + this.insertDisplayMode(category, listMode, DisplayMode.VISIBLE); } } diff --git a/src/main/java/com/eu/habbo/habbohotel/users/HabboStats.java b/src/main/java/com/eu/habbo/habbohotel/users/HabboStats.java index 7e021fe5..0df200bc 100644 --- a/src/main/java/com/eu/habbo/habbohotel/users/HabboStats.java +++ b/src/main/java/com/eu/habbo/habbohotel/users/HabboStats.java @@ -71,9 +71,9 @@ public class HabboStats implements Runnable private final TIntArrayList ignoredUsers; public final TIntArrayList secretRecipes; - public int citizenshipLevel = -1; - public int helpersLevel = -1; - public boolean perkTrade = false; + public int citizenshipLevel; + public int helpersLevel; + public boolean perkTrade; public final HabboNavigatorWindowSettings navigatorWindowSettings; public final THashMap cache; @@ -82,25 +82,25 @@ public class HabboStats implements Runnable public int chatCounter; public long lastChat; public long lastUsersSearched; - public boolean nux = false; - public boolean nuxReward = false; + public boolean nux; + public boolean nuxReward; public int nuxStep = 1; - private int muteEndTime = 0; + private int muteEndTime; public int mutedCount = 0; public boolean mutedBubbleTracker = false; public String changeNameChecked = ""; - public TIntArrayList calendarRewardsClaimed; + public final TIntArrayList calendarRewardsClaimed; - public boolean allowNameChange = false; + public boolean allowNameChange; public boolean isPurchasingFurniture = false; public THashMap> ltdPurchaseLog = new THashMap<>(0); public long lastTradeTimestamp = Emulator.getIntUnixTimestamp(); public long lastPurchaseTimestamp = Emulator.getIntUnixTimestamp(); public long lastGiftTimestamp = Emulator.getIntUnixTimestamp(); - public TIntObjectMap offerCache = new TIntObjectHashMap<>(); + public final TIntObjectMap offerCache = new TIntObjectHashMap<>(); private HabboStats(ResultSet set, Habbo habbo) throws SQLException { @@ -148,7 +148,7 @@ public class HabboStats implements Runnable this.muteEndTime = set.getInt("mute_end_timestamp"); this.allowNameChange = set.getString("allow_name_change").equalsIgnoreCase("1"); this.perkTrade = set.getString("perk_trade").equalsIgnoreCase("1"); - this.nuxReward = nux; + this.nuxReward = this.nux; try (PreparedStatement statement = set.getStatement().getConnection().prepareStatement("SELECT * FROM user_window_settings WHERE user_id = ? LIMIT 1")) { @@ -508,9 +508,9 @@ public class HabboStats implements Runnable this.rentedItemId = rentedItemId; } - public boolean canRentSpace() + public boolean isRentingSpace() { - return this.rentedTimeEnd < Emulator.getIntUnixTimestamp(); + return this.rentedTimeEnd >= Emulator.getIntUnixTimestamp(); } public int getClubExpireTimestamp() @@ -564,7 +564,7 @@ public class HabboStats implements Runnable if (Emulator.getConfig().getInt("hotel.rooms.max.favorite") <= this.favoriteRooms.size()) return false; - try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("INSERT INTO users_favorite_rooms (user_id, room_id) VALUES (?, ?)");) + try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("INSERT INTO users_favorite_rooms (user_id, room_id) VALUES (?, ?)")) { statement.setInt(1, this.habbo.getHabboInfo().getId()); statement.setInt(2, roomId); @@ -656,7 +656,7 @@ public class HabboStats implements Runnable public int addMuteTime(int seconds) { - if (remainingMuteTime() == 0) + if (this.remainingMuteTime() == 0) { this.muteEndTime = Emulator.getIntUnixTimestamp(); } @@ -664,7 +664,7 @@ public class HabboStats implements Runnable this.mutedBubbleTracker = true; this.muteEndTime += seconds; - return remainingMuteTime(); + return this.remainingMuteTime(); } public int remainingMuteTime() diff --git a/src/main/java/com/eu/habbo/habbohotel/users/inventory/BadgesComponent.java b/src/main/java/com/eu/habbo/habbohotel/users/inventory/BadgesComponent.java index 3295c657..b364975b 100644 --- a/src/main/java/com/eu/habbo/habbohotel/users/inventory/BadgesComponent.java +++ b/src/main/java/com/eu/habbo/habbohotel/users/inventory/BadgesComponent.java @@ -71,7 +71,7 @@ public class BadgesComponent badgesList.add(badge); } - Collections.sort(badgesList, new Comparator() + badgesList.sort(new Comparator() { @Override public int compare(HabboBadge o1, HabboBadge o2) diff --git a/src/main/java/com/eu/habbo/habbohotel/users/inventory/EffectsComponent.java b/src/main/java/com/eu/habbo/habbohotel/users/inventory/EffectsComponent.java index ee6e2884..0fe9f02e 100644 --- a/src/main/java/com/eu/habbo/habbohotel/users/inventory/EffectsComponent.java +++ b/src/main/java/com/eu/habbo/habbohotel/users/inventory/EffectsComponent.java @@ -42,7 +42,7 @@ public class EffectsComponent public HabboEffect createEffect(int effectId) { - HabboEffect effect = null; + HabboEffect effect; synchronized (this.effects) { if (this.effects.containsKey(effectId)) @@ -150,7 +150,7 @@ public class EffectsComponent if (this.habbo.getHabboInfo().getCurrentRoom() != null) { - this.habbo.getHabboInfo().getCurrentRoom().giveEffect(this.habbo, effectId); + this.habbo.getHabboInfo().getCurrentRoom().giveEffect(this.habbo, effectId, effect.remainingTime()); } this.habbo.getClient().sendResponse(new EffectsListEffectEnableComposer(effect)); @@ -215,6 +215,11 @@ public class EffectsComponent return this.total > 0; } + public int remainingTime() + { + return Emulator.getIntUnixTimestamp() - this.activationTimestamp + this.duration; + } + public void insert() { try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("INSERT INTO users_effects (user_id, effect, total, duration) VALUES (?, ?, ?, ?)")) diff --git a/src/main/java/com/eu/habbo/habbohotel/users/inventory/ItemsComponent.java b/src/main/java/com/eu/habbo/habbohotel/users/inventory/ItemsComponent.java index 49c77df4..f38e543c 100644 --- a/src/main/java/com/eu/habbo/habbohotel/users/inventory/ItemsComponent.java +++ b/src/main/java/com/eu/habbo/habbohotel/users/inventory/ItemsComponent.java @@ -81,7 +81,7 @@ public class ItemsComponent return; } - InventoryItemAddedEvent event = new InventoryItemAddedEvent(inventory, item); + InventoryItemAddedEvent event = new InventoryItemAddedEvent(this.inventory, item); if (Emulator.getPluginManager().fireEvent(event).isCancelled()) { return; @@ -95,7 +95,7 @@ public class ItemsComponent public void addItems(THashSet items) { - InventoryItemsAddedEvent event = new InventoryItemsAddedEvent(inventory, items); + InventoryItemsAddedEvent event = new InventoryItemsAddedEvent(this.inventory, items); if (Emulator.getPluginManager().fireEvent(event).isCancelled()) { return; @@ -151,7 +151,7 @@ public class ItemsComponent public void removeHabboItem(HabboItem item) { - InventoryItemRemovedEvent event = new InventoryItemRemovedEvent(inventory, item); + InventoryItemRemovedEvent event = new InventoryItemRemovedEvent(this.inventory, item); if (Emulator.getPluginManager().fireEvent(event).isCancelled()) { return; diff --git a/src/main/java/com/eu/habbo/habbohotel/users/inventory/WardrobeComponent.java b/src/main/java/com/eu/habbo/habbohotel/users/inventory/WardrobeComponent.java index 36731a86..07cee2f3 100644 --- a/src/main/java/com/eu/habbo/habbohotel/users/inventory/WardrobeComponent.java +++ b/src/main/java/com/eu/habbo/habbohotel/users/inventory/WardrobeComponent.java @@ -44,12 +44,9 @@ public class WardrobeComponent { while (set.next()) { - Integer value = set.getInt("clothing_id"); + int value = set.getInt("clothing_id"); - if (value != null) - { - this.clothing.add(value); - } + this.clothing.add(value); } } } diff --git a/src/main/java/com/eu/habbo/habbohotel/wired/WiredConditionOperator.java b/src/main/java/com/eu/habbo/habbohotel/wired/WiredConditionOperator.java index 7b6fde3a..5253e5f9 100644 --- a/src/main/java/com/eu/habbo/habbohotel/wired/WiredConditionOperator.java +++ b/src/main/java/com/eu/habbo/habbohotel/wired/WiredConditionOperator.java @@ -3,5 +3,5 @@ package com.eu.habbo.habbohotel.wired; public enum WiredConditionOperator { AND, - OR; + OR } \ No newline at end of file diff --git a/src/main/java/com/eu/habbo/habbohotel/wired/WiredGiveRewardItem.java b/src/main/java/com/eu/habbo/habbohotel/wired/WiredGiveRewardItem.java index f3503397..03cd7111 100644 --- a/src/main/java/com/eu/habbo/habbohotel/wired/WiredGiveRewardItem.java +++ b/src/main/java/com/eu/habbo/habbohotel/wired/WiredGiveRewardItem.java @@ -28,11 +28,11 @@ public class WiredGiveRewardItem @Override public String toString() { - return this.id + "," + (this.badge ? 0 : 1) + "," + this.data + "," + probability; + return this.id + "," + (this.badge ? 0 : 1) + "," + this.data + "," + this.probability; } public String wiredString() { - return (this.badge ? 0 : 1) + "," + this.data + "," + probability; + return (this.badge ? 0 : 1) + "," + this.data + "," + this.probability; } } diff --git a/src/main/java/com/eu/habbo/habbohotel/wired/WiredHandler.java b/src/main/java/com/eu/habbo/habbohotel/wired/WiredHandler.java index 0f641d80..fdbfbe99 100644 --- a/src/main/java/com/eu/habbo/habbohotel/wired/WiredHandler.java +++ b/src/main/java/com/eu/habbo/habbohotel/wired/WiredHandler.java @@ -9,6 +9,7 @@ import com.eu.habbo.habbohotel.items.interactions.InteractionWiredExtra; import com.eu.habbo.habbohotel.items.interactions.InteractionWiredTrigger; import com.eu.habbo.habbohotel.items.interactions.wired.WiredTriggerReset; import com.eu.habbo.habbohotel.items.interactions.wired.effects.WiredEffectGiveReward; +import com.eu.habbo.habbohotel.items.interactions.wired.effects.WiredEffectTriggerStacks; import com.eu.habbo.habbohotel.items.interactions.wired.extra.WiredExtraRandom; import com.eu.habbo.habbohotel.items.interactions.wired.extra.WiredExtraUnseen; import com.eu.habbo.habbohotel.rooms.Room; @@ -18,7 +19,7 @@ import com.eu.habbo.habbohotel.users.Habbo; import com.eu.habbo.habbohotel.users.HabboBadge; import com.eu.habbo.habbohotel.users.HabboItem; import com.eu.habbo.messages.outgoing.catalog.PurchaseOKComposer; -import com.eu.habbo.messages.outgoing.generic.alerts.WiredRewardAlertComposer; +import com.eu.habbo.messages.outgoing.wired.WiredRewardAlertComposer; import com.eu.habbo.messages.outgoing.inventory.AddHabboItemComposer; import com.eu.habbo.messages.outgoing.inventory.InventoryRefreshComposer; import com.eu.habbo.messages.outgoing.users.AddUserBadgeComposer; @@ -44,6 +45,8 @@ public class WiredHandler public static boolean handle(WiredTriggerType triggerType, RoomUnit roomUnit, Room room, Object[] stuff) { + if (triggerType == WiredTriggerType.CUSTOM) return false; + boolean talked = false; if (!Emulator.isReady) @@ -83,6 +86,46 @@ public class WiredHandler return talked; } + public static boolean handleCustomTrigger(Class triggerType, RoomUnit roomUnit, Room room, Object[] stuff) + { + boolean talked = false; + + if (!Emulator.isReady) + return false; + + if (room == null) + return false; + + if(!room.isLoaded()) + return false; + + if(room.getRoomSpecialTypes() == null) + return false; + + THashSet triggers = room.getRoomSpecialTypes().getTriggers(WiredTriggerType.CUSTOM); + + if(triggers == null || triggers.isEmpty()) + return false; + + List triggeredTiles = new ArrayList<>(); + for(InteractionWiredTrigger trigger : triggers) + { + if (trigger.getClass() != triggerType) continue; + + RoomTile tile = room.getLayout().getTile(trigger.getX(), trigger.getY()); + + if (triggeredTiles.contains(tile)) + continue; + + if(handle(trigger, roomUnit, room, stuff)) + { + triggeredTiles.add(tile); + } + } + + return talked; + } + public static boolean handle(InteractionWiredTrigger trigger, final RoomUnit roomUnit, final Room room, final Object[] stuff) { long millis = System.currentTimeMillis(); @@ -188,7 +231,7 @@ public class WiredHandler { try { - effect.execute(roomUnit, room, stuff); + if (!effect.execute(roomUnit, room, stuff)) return; } catch (Exception e) { @@ -214,12 +257,13 @@ public class WiredHandler { THashSet items = room.getItemsAt(tile); - long millis = System.currentTimeMillis(); + long millis = room.getCycleTimestamp(); for(final HabboItem item : items) { - if(item instanceof InteractionWiredEffect) + if(item instanceof InteractionWiredEffect && !(item instanceof WiredEffectTriggerStacks)) { triggerEffect((InteractionWiredEffect) item, roomUnit, room, stuff, millis); + ((InteractionWiredEffect) item).setCooldown(millis); } } } diff --git a/src/main/java/com/eu/habbo/habbohotel/wired/WiredMatchFurniSetting.java b/src/main/java/com/eu/habbo/habbohotel/wired/WiredMatchFurniSetting.java index db8ea970..7398afef 100644 --- a/src/main/java/com/eu/habbo/habbohotel/wired/WiredMatchFurniSetting.java +++ b/src/main/java/com/eu/habbo/habbohotel/wired/WiredMatchFurniSetting.java @@ -25,7 +25,7 @@ public class WiredMatchFurniSetting public String toString(boolean includeState) { - return itemId + "-" + (state.isEmpty() || !includeState ? " " : state) + "-" + rotation + "-" + x + "-" + y; + return this.itemId + "-" + (this.state.isEmpty() || !includeState ? " " : this.state) + "-" + this.rotation + "-" + this.x + "-" + this.y; } } diff --git a/src/main/java/com/eu/habbo/habbohotel/wired/WiredTriggerType.java b/src/main/java/com/eu/habbo/habbohotel/wired/WiredTriggerType.java index 5b733096..6e07424f 100644 --- a/src/main/java/com/eu/habbo/habbohotel/wired/WiredTriggerType.java +++ b/src/main/java/com/eu/habbo/habbohotel/wired/WiredTriggerType.java @@ -18,7 +18,10 @@ public enum WiredTriggerType BOT_REACHED_AVTR(14), SAY_COMMAND(0), IDLES(11), - UNIDLES(12); + UNIDLES(11), + CUSTOM(13), + STARTS_DANCING(11), + STOPS_DANCING(11); public final int code; diff --git a/src/main/java/com/eu/habbo/messages/ClientMessage.java b/src/main/java/com/eu/habbo/messages/ClientMessage.java index 2d655b8e..90b45c1c 100644 --- a/src/main/java/com/eu/habbo/messages/ClientMessage.java +++ b/src/main/java/com/eu/habbo/messages/ClientMessage.java @@ -74,11 +74,10 @@ public class ClientMessage { try { - int length = readShort(); + int length = this.readShort(); byte[] data = new byte[length]; this.buffer.readBytes(data); - String s = new String(data); - return s; + return new String(data); } catch (Exception e) { diff --git a/src/main/java/com/eu/habbo/messages/ICallable.java b/src/main/java/com/eu/habbo/messages/ICallable.java index a2da1712..47bc44b8 100644 --- a/src/main/java/com/eu/habbo/messages/ICallable.java +++ b/src/main/java/com/eu/habbo/messages/ICallable.java @@ -4,5 +4,5 @@ import com.eu.habbo.messages.incoming.MessageHandler; public interface ICallable { - public void call(MessageHandler handler); + void call(MessageHandler handler); } \ No newline at end of file diff --git a/src/main/java/com/eu/habbo/messages/ISerialize.java b/src/main/java/com/eu/habbo/messages/ISerialize.java index 85662dfe..0b548be2 100644 --- a/src/main/java/com/eu/habbo/messages/ISerialize.java +++ b/src/main/java/com/eu/habbo/messages/ISerialize.java @@ -1,6 +1,6 @@ package com.eu.habbo.messages; -public abstract interface ISerialize +public interface ISerialize { - public abstract void serialize(ServerMessage message); + void serialize(ServerMessage message); } \ No newline at end of file diff --git a/src/main/java/com/eu/habbo/messages/ServerMessage.java b/src/main/java/com/eu/habbo/messages/ServerMessage.java index d8a756ec..7fb49a49 100644 --- a/src/main/java/com/eu/habbo/messages/ServerMessage.java +++ b/src/main/java/com/eu/habbo/messages/ServerMessage.java @@ -114,7 +114,7 @@ public class ServerMessage { try { - this.stream.writeInt(obj.intValue()); + this.stream.writeInt(obj); } catch(IOException e) { @@ -168,7 +168,7 @@ public class ServerMessage { try { - this.stream.writeByte(b.intValue()); + this.stream.writeByte(b); } catch(IOException e) { @@ -180,7 +180,7 @@ public class ServerMessage { try { - this.stream.writeBoolean(obj.booleanValue()); + this.stream.writeBoolean(obj); } catch(IOException e) { @@ -204,7 +204,7 @@ public class ServerMessage { try { - this.stream.writeDouble(obj.doubleValue()); + this.stream.writeDouble(obj); } catch (IOException e) { diff --git a/src/main/java/com/eu/habbo/messages/incoming/camera/CameraPurchaseEvent.java b/src/main/java/com/eu/habbo/messages/incoming/camera/CameraPurchaseEvent.java index 41b98f74..7c9650f6 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/camera/CameraPurchaseEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/camera/CameraPurchaseEvent.java @@ -5,6 +5,7 @@ import com.eu.habbo.habbohotel.achievements.AchievementManager; import com.eu.habbo.habbohotel.users.HabboItem; import com.eu.habbo.messages.incoming.MessageHandler; import com.eu.habbo.messages.outgoing.camera.CameraPurchaseSuccesfullComposer; +import com.eu.habbo.messages.outgoing.catalog.NotEnoughPointsTypeComposer; import com.eu.habbo.messages.outgoing.inventory.AddHabboItemComposer; import com.eu.habbo.messages.outgoing.inventory.InventoryRefreshComposer; import com.eu.habbo.plugin.events.users.UserPurchasePictureEvent; @@ -14,6 +15,11 @@ public class CameraPurchaseEvent extends MessageHandler @Override public void handle() throws Exception { + if (this.client.getHabbo().getHabboInfo().getCredits() < Emulator.getConfig().getInt("camera.price.credits") || this.client.getHabbo().getHabboInfo().getCurrencyAmount(0) < Emulator.getConfig().getInt("camera.price.points")) + { + this.client.sendResponse(new NotEnoughPointsTypeComposer(this.client.getHabbo().getHabboInfo().getCredits() < Emulator.getConfig().getInt("camera.price.credits"), this.client.getHabbo().getHabboInfo().getCurrencyAmount(0) < Emulator.getConfig().getInt("camera.price.points"), 0)); + return; + } if (this.client.getHabbo().getHabboInfo().getPhotoTimestamp() != 0) { if (!this.client.getHabbo().getHabboInfo().getPhotoJSON().isEmpty()) diff --git a/src/main/java/com/eu/habbo/messages/incoming/camera/CameraRoomPictureEvent.java b/src/main/java/com/eu/habbo/messages/incoming/camera/CameraRoomPictureEvent.java index 74292ca7..dedb1515 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/camera/CameraRoomPictureEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/camera/CameraRoomPictureEvent.java @@ -14,7 +14,7 @@ public class CameraRoomPictureEvent extends MessageHandler { if (!this.client.getHabbo().hasPermission("acc_camera")) { - this.client.sendResponse(new GenericAlertComposer(Emulator.getTexts().getValue("camera.permission"))); + this.client.getHabbo().alert(Emulator.getTexts().getValue("camera.permission")); return; } @@ -38,7 +38,7 @@ public class CameraRoomPictureEvent extends MessageHandler } else { - this.client.sendResponse(new GenericAlertComposer(Emulator.getTexts().getValue("camera.disabled"))); + this.client.getHabbo().alert(Emulator.getTexts().getValue("camera.disabled")); } } diff --git a/src/main/java/com/eu/habbo/messages/incoming/camera/CameraRoomThumbnailEvent.java b/src/main/java/com/eu/habbo/messages/incoming/camera/CameraRoomThumbnailEvent.java index 7f35f6a1..6d2c088a 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/camera/CameraRoomThumbnailEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/camera/CameraRoomThumbnailEvent.java @@ -15,7 +15,7 @@ public class CameraRoomThumbnailEvent extends MessageHandler { if (!this.client.getHabbo().hasPermission("acc_camera")) { - this.client.sendResponse(new GenericAlertComposer(Emulator.getTexts().getValue("camera.permission"))); + this.client.getHabbo().alert(Emulator.getTexts().getValue("camera.permission")); return; } @@ -38,7 +38,7 @@ public class CameraRoomThumbnailEvent extends MessageHandler else { this.client.sendResponse(new CameraRoomThumbnailSavedComposer()); - this.client.sendResponse(new GenericAlertComposer(Emulator.getTexts().getValue("camera.disabled"))); + this.client.getHabbo().alert(Emulator.getTexts().getValue("camera.disabled")); } } } \ No newline at end of file diff --git a/src/main/java/com/eu/habbo/messages/incoming/catalog/CatalogBuyItemAsGiftEvent.java b/src/main/java/com/eu/habbo/messages/incoming/catalog/CatalogBuyItemAsGiftEvent.java index 1a30b915..beeb6616 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/catalog/CatalogBuyItemAsGiftEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/catalog/CatalogBuyItemAsGiftEvent.java @@ -77,9 +77,6 @@ public class CatalogBuyItemAsGiftEvent extends MessageHandler return; } - Emulator.getGameEnvironment(); - Emulator.getGameEnvironment().getItemManager(); - Integer iItemId = Emulator.getGameEnvironment().getCatalogManager().giftWrappers.get(spriteId); if (iItemId == null) @@ -186,7 +183,7 @@ public class CatalogBuyItemAsGiftEvent extends MessageHandler int totalCredits = 0; int totalPoints = 0; - CatalogLimitedConfiguration limitedConfiguration = null; + CatalogLimitedConfiguration limitedConfiguration; int limitedStack = 0; int limitedNumber = 0; if (item.isLimited()) @@ -373,16 +370,16 @@ public class CatalogBuyItemAsGiftEvent extends MessageHandler } } - String giftData = itemsList.size() + "\t"; + StringBuilder giftData = new StringBuilder(itemsList.size() + "\t"); for (HabboItem i : itemsList) { - giftData += i.getId() + "\t"; + giftData.append(i.getId()).append("\t"); } - giftData += color + "\t" + ribbonId + "\t" + (showName ? "1" : "0") + "\t" + (message.replace("\t", "")) + "\t" + this.client.getHabbo().getHabboInfo().getUsername() + "\t" + this.client.getHabbo().getHabboInfo().getLook(); + giftData.append(color).append("\t").append(ribbonId).append("\t").append(showName ? "1" : "0").append("\t").append(message.replace("\t", "")).append("\t").append(this.client.getHabbo().getHabboInfo().getUsername()).append("\t").append(this.client.getHabbo().getHabboInfo().getLook()); - HabboItem gift = Emulator.getGameEnvironment().getItemManager().createGift(username, giftItem, giftData, 0, 0); + HabboItem gift = Emulator.getGameEnvironment().getItemManager().createGift(username, giftItem, giftData.toString(), 0, 0); if (gift == null) { @@ -429,13 +426,14 @@ public class CatalogBuyItemAsGiftEvent extends MessageHandler } this.client.sendResponse(new PurchaseOKComposer(item)); - } catch (Exception e) + } + catch (Exception e) { Emulator.getLogging().logPacketError(e); this.client.sendResponse(new AlertPurchaseFailedComposer(AlertPurchaseFailedComposer.SERVER_ERROR)); - return; } - } finally + } + finally { this.client.getHabbo().getHabboStats().isPurchasingFurniture = false; } diff --git a/src/main/java/com/eu/habbo/messages/incoming/catalog/CatalogBuyItemEvent.java b/src/main/java/com/eu/habbo/messages/incoming/catalog/CatalogBuyItemEvent.java index 191835e9..d9014346 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/catalog/CatalogBuyItemEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/catalog/CatalogBuyItemEvent.java @@ -50,7 +50,7 @@ public class CatalogBuyItemEvent extends MessageHandler if (this.client.getHabbo().getInventory().getItemsComponent().itemCount() > HabboInventory.MAXIMUM_ITEMS) { this.client.sendResponse(new AlertPurchaseFailedComposer(AlertPurchaseFailedComposer.SERVER_ERROR).compose()); - this.client.sendResponse(new GenericAlertComposer(Emulator.getTexts().getValue("inventory.full"))); + this.client.getHabbo().alert(Emulator.getTexts().getValue("inventory.full")); return; } } catch (Exception e) @@ -206,6 +206,7 @@ public class CatalogBuyItemEvent extends MessageHandler this.client.sendResponse(new PurchaseOKComposer(null)); this.client.sendResponse(new InventoryRefreshComposer()); + this.client.getHabbo().getHabboStats().run(); } return; } diff --git a/src/main/java/com/eu/habbo/messages/incoming/catalog/RequestClubDataEvent.java b/src/main/java/com/eu/habbo/messages/incoming/catalog/RequestClubDataEvent.java index 4745dbf3..3f9c4696 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/catalog/RequestClubDataEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/catalog/RequestClubDataEvent.java @@ -1,7 +1,7 @@ package com.eu.habbo.messages.incoming.catalog; import com.eu.habbo.messages.incoming.MessageHandler; -import com.eu.habbo.messages.outgoing.unknown.ClubDataComposer; +import com.eu.habbo.messages.outgoing.catalog.ClubDataComposer; public class RequestClubDataEvent extends MessageHandler { diff --git a/src/main/java/com/eu/habbo/messages/incoming/catalog/marketplace/SellItemEvent.java b/src/main/java/com/eu/habbo/messages/incoming/catalog/marketplace/SellItemEvent.java index 4986d99c..02a10122 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/catalog/marketplace/SellItemEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/catalog/marketplace/SellItemEvent.java @@ -13,10 +13,9 @@ public class SellItemEvent extends MessageHandler @Override public void handle() throws Exception { - if(!MarketPlace.MARKETPLACE_ENABLED) { - this.client.sendResponse(new MarketplaceSellItemComposer(3, 0, 0)); + this.client.sendResponse(new MarketplaceItemPostedComposer(MarketplaceItemPostedComposer.MARKETPLACE_DISABLED)); return; } @@ -30,7 +29,7 @@ public class SellItemEvent extends MessageHandler { if (!item.getBaseItem().allowMarketplace()) { - String message = Emulator.getTexts().getValue("scripter.warning.marketplace.forbidden").replace("%username%", client.getHabbo().getHabboInfo().getUsername()).replace("%itemname%", item.getBaseItem().getName()).replace("%credits%", credits + ""); + String message = Emulator.getTexts().getValue("scripter.warning.marketplace.forbidden").replace("%username%", this.client.getHabbo().getHabboInfo().getUsername()).replace("%itemname%", item.getBaseItem().getName()).replace("%credits%", credits + ""); Emulator.getGameEnvironment().getModToolManager().quickTicket(this.client.getHabbo(), "Scripter", message); Emulator.getLogging().logUserLine(message); this.client.sendResponse(new AlertPurchaseFailedComposer(AlertPurchaseFailedComposer.SERVER_ERROR)); @@ -39,7 +38,7 @@ public class SellItemEvent extends MessageHandler if(credits < 0) { - String message = Emulator.getTexts().getValue("scripter.warning.marketplace.negative").replace("%username%", client.getHabbo().getHabboInfo().getUsername()).replace("%itemname%", item.getBaseItem().getName()).replace("%credits%", credits + ""); + String message = Emulator.getTexts().getValue("scripter.warning.marketplace.negative").replace("%username%", this.client.getHabbo().getHabboInfo().getUsername()).replace("%itemname%", item.getBaseItem().getName()).replace("%credits%", credits + ""); Emulator.getGameEnvironment().getModToolManager().quickTicket(this.client.getHabbo(), "Scripter", message); Emulator.getLogging().logUserLine(message); this.client.sendResponse(new AlertPurchaseFailedComposer(AlertPurchaseFailedComposer.SERVER_ERROR)); diff --git a/src/main/java/com/eu/habbo/messages/incoming/crafting/CraftingCraftItemEvent.java b/src/main/java/com/eu/habbo/messages/incoming/crafting/CraftingCraftItemEvent.java index 2aa5bbbc..9c900a5c 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/crafting/CraftingCraftItemEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/crafting/CraftingCraftItemEvent.java @@ -74,7 +74,7 @@ public class CraftingCraftItemEvent extends MessageHandler @Override public boolean execute(HabboItem object) { - client.sendResponse(new RemoveHabboItemComposer(object.getId())); + CraftingCraftItemEvent.this.client.sendResponse(new RemoveHabboItemComposer(object.getId())); return true; } }); diff --git a/src/main/java/com/eu/habbo/messages/incoming/floorplaneditor/FloorPlanEditorSaveEvent.java b/src/main/java/com/eu/habbo/messages/incoming/floorplaneditor/FloorPlanEditorSaveEvent.java index dd1f880e..457b6c57 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/floorplaneditor/FloorPlanEditorSaveEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/floorplaneditor/FloorPlanEditorSaveEvent.java @@ -42,7 +42,7 @@ public class FloorPlanEditorSaveEvent extends MessageHandler String map = this.packet.readString(); map = map.replace("X", "x"); - if(map.isEmpty() || map.length() == 0 || map.replace("x", "").replace(((char) 13) + "", "").length() == 0) + if(map.isEmpty() || map.replace("x", "").replace(((char) 13) + "", "").length() == 0) { errors.add("${notification.floorplan_editor.error.message.effective_height_is_0}"); } @@ -124,12 +124,12 @@ public class FloorPlanEditorSaveEvent extends MessageHandler if (!errors.isEmpty()) { - String errorMessage = ""; + StringBuilder errorMessage = new StringBuilder(); for (String s : errors) { - errorMessage += s + "
"; + errorMessage.append(s).append("
"); } - this.client.sendResponse(new BubbleAlertComposer(BubbleAlertKeys.FLOORPLAN_EDITOR_ERROR.key, errorMessage)); + this.client.sendResponse(new BubbleAlertComposer(BubbleAlertKeys.FLOORPLAN_EDITOR_ERROR.key, errorMessage.toString())); return; } @@ -145,7 +145,7 @@ public class FloorPlanEditorSaveEvent extends MessageHandler if (layout.getDoorTile() == null) { - this.client.sendResponse(new GenericAlertComposer("Error")); + this.client.getHabbo().alert("Error"); ((CustomRoomLayout)layout).needsUpdate(false); Emulator.getGameEnvironment().getRoomManager().unloadRoom(room); return; diff --git a/src/main/java/com/eu/habbo/messages/incoming/friends/FindNewFriendsEvent.java b/src/main/java/com/eu/habbo/messages/incoming/friends/FindNewFriendsEvent.java index 8f9dbae1..97f51ec9 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/friends/FindNewFriendsEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/friends/FindNewFriendsEvent.java @@ -28,11 +28,8 @@ public class FindNewFriendsEvent extends MessageHandler if (room.getUserCount() > 0) { - if (room != null) - { - this.client.sendResponse(new ForwardToRoomComposer(room.getId())); - return; - } + this.client.sendResponse(new ForwardToRoomComposer(room.getId())); + return; } } } diff --git a/src/main/java/com/eu/habbo/messages/incoming/friends/FriendPrivateMessageEvent.java b/src/main/java/com/eu/habbo/messages/incoming/friends/FriendPrivateMessageEvent.java index e7520a58..b4ca9fb6 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/friends/FriendPrivateMessageEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/friends/FriendPrivateMessageEvent.java @@ -64,6 +64,6 @@ public class FriendPrivateMessageEvent extends MessageHandler chatMessage.setMessage(Emulator.getGameEnvironment().getWordFilter().filter(chatMessage.getMessage(), this.client.getHabbo())); } - Emulator.getGameServer().getGameClientManager().getClient(habbo).sendResponse(new FriendChatMessageComposer(chatMessage)); + habbo.getClient().sendResponse(new FriendChatMessageComposer(chatMessage)); } } diff --git a/src/main/java/com/eu/habbo/messages/incoming/friends/FriendRequestEvent.java b/src/main/java/com/eu/habbo/messages/incoming/friends/FriendRequestEvent.java index e9c7af76..e1574a66 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/friends/FriendRequestEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/friends/FriendRequestEvent.java @@ -20,7 +20,7 @@ public class FriendRequestEvent extends MessageHandler @Override public void handle() throws Exception { - String username = packet.readString(); + String username = this.packet.readString(); Habbo habbo = Emulator.getGameServer().getGameClientManager().getHabbo(username); if(Emulator.getPluginManager().fireEvent(new UserRequestFriendshipEvent(this.client.getHabbo(), username, habbo)).isCancelled()) diff --git a/src/main/java/com/eu/habbo/messages/incoming/friends/RemoveFriendEvent.java b/src/main/java/com/eu/habbo/messages/incoming/friends/RemoveFriendEvent.java index bb96a1e3..ca25587a 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/friends/RemoveFriendEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/friends/RemoveFriendEvent.java @@ -34,7 +34,7 @@ public class RemoveFriendEvent extends MessageHandler if(habbo != null) { habbo.getMessenger().removeBuddy(this.client.getHabbo()); - Emulator.getGameServer().getGameClientManager().getClient(habbo).sendResponse(new RemoveFriendComposer(this.client.getHabbo().getHabboInfo().getId())); + habbo.getClient().sendResponse(new RemoveFriendComposer(this.client.getHabbo().getHabboInfo().getId())); } } diff --git a/src/main/java/com/eu/habbo/messages/incoming/guilds/GuildAcceptMembershipEvent.java b/src/main/java/com/eu/habbo/messages/incoming/guilds/GuildAcceptMembershipEvent.java index 4a3bd93e..743c0df2 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/guilds/GuildAcceptMembershipEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/guilds/GuildAcceptMembershipEvent.java @@ -32,7 +32,6 @@ public class GuildAcceptMembershipEvent extends MessageHandler if (habbo.getHabboStats().hasGuild(guild.getId())) { this.client.sendResponse(new GuildAcceptMemberErrorComposer(guild.getId(), GuildAcceptMemberErrorComposer.ALREADY_ACCEPTED)); - return; } else { @@ -41,7 +40,6 @@ public class GuildAcceptMembershipEvent extends MessageHandler if(member == null || member.getRank().type != GuildRank.REQUESTED.type) { this.client.sendResponse(new GuildAcceptMemberErrorComposer(guild.getId(), GuildAcceptMemberErrorComposer.NO_LONGER_MEMBER)); - return; } else { diff --git a/src/main/java/com/eu/habbo/messages/incoming/guilds/GuildChangeBadgeEvent.java b/src/main/java/com/eu/habbo/messages/incoming/guilds/GuildChangeBadgeEvent.java index 0e7e864f..12334c4f 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/guilds/GuildChangeBadgeEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/guilds/GuildChangeBadgeEvent.java @@ -25,7 +25,7 @@ public class GuildChangeBadgeEvent extends MessageHandler int count = this.packet.readInt(); - String badge = ""; + StringBuilder badge = new StringBuilder(); byte base = 1; @@ -37,21 +37,21 @@ public class GuildChangeBadgeEvent extends MessageHandler if (base == 1) { - badge += "b"; + badge.append("b"); } else { - badge += "s"; + badge.append("s"); } - badge += (id < 100 ? "0" : "") + (id < 10 ? "0" : "") + id + (color < 10 ? "0" : "") + color + "" + pos; + badge.append(id < 100 ? "0" : "").append(id < 10 ? "0" : "").append(id).append(color < 10 ? "0" : "").append(color).append(pos); base += 3; } - if (guild.getBadge().toLowerCase().equals(badge.toLowerCase())) + if (guild.getBadge().toLowerCase().equals(badge.toString().toLowerCase())) return; - GuildChangedBadgeEvent badgeEvent = new GuildChangedBadgeEvent(guild, badge); + GuildChangedBadgeEvent badgeEvent = new GuildChangedBadgeEvent(guild, badge.toString()); Emulator.getPluginManager().fireEvent(badgeEvent); if (badgeEvent.isCancelled()) diff --git a/src/main/java/com/eu/habbo/messages/incoming/guilds/GuildDeclineMembershipEvent.java b/src/main/java/com/eu/habbo/messages/incoming/guilds/GuildDeclineMembershipEvent.java index 27a2263e..536009a9 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/guilds/GuildDeclineMembershipEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/guilds/GuildDeclineMembershipEvent.java @@ -29,7 +29,7 @@ public class GuildDeclineMembershipEvent extends MessageHandler { 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)); + this.client.sendResponse(new GuildMembersComposer(guild, Emulator.getGameEnvironment().getGuildManager().getGuildMembers(guild, 0, 0, ""), 0, 0, "", true)); this.client.sendResponse(new GuildRefreshMembersListComposer(guild)); Habbo habbo = Emulator.getGameEnvironment().getHabboManager().getHabbo(userId); diff --git a/src/main/java/com/eu/habbo/messages/incoming/guilds/RequestGuildBuyEvent.java b/src/main/java/com/eu/habbo/messages/incoming/guilds/RequestGuildBuyEvent.java index 4a850f33..07ea5e33 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/guilds/RequestGuildBuyEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/guilds/RequestGuildBuyEvent.java @@ -48,7 +48,7 @@ public class RequestGuildBuyEvent extends MessageHandler int count = this.packet.readInt(); - String badge = ""; + StringBuilder badge = new StringBuilder(); byte base = 1; @@ -60,19 +60,19 @@ public class RequestGuildBuyEvent extends MessageHandler if(base == 1) { - badge += "b"; + badge.append("b"); } else { - badge += "s"; + badge.append("s"); } - badge += (id < 100 ? "0" : "") + (id < 10 ? "0" : "") + id + (color < 10 ? "0" : "") + color + "" + pos; + badge.append(id < 100 ? "0" : "").append(id < 10 ? "0" : "").append(id).append(color < 10 ? "0" : "").append(color).append(pos); base += 3; } - Guild guild = Emulator.getGameEnvironment().getGuildManager().createGuild(this.client.getHabbo(), roomId, r.getName(), name, description, badge, colorOne, colorTwo); + Guild guild = Emulator.getGameEnvironment().getGuildManager().createGuild(this.client.getHabbo(), roomId, r.getName(), name, description, badge.toString(), colorOne, colorTwo); r.setGuild(guild.getId()); r.setNeedsUpdate(true); diff --git a/src/main/java/com/eu/habbo/messages/incoming/guilds/RequestGuildMembersEvent.java b/src/main/java/com/eu/habbo/messages/incoming/guilds/RequestGuildMembersEvent.java index b963fb3c..742db333 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/guilds/RequestGuildMembersEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/guilds/RequestGuildMembersEvent.java @@ -28,7 +28,7 @@ public class RequestGuildMembersEvent extends MessageHandler isAdmin = member != null && member.getRank().equals(GuildRank.ADMIN); } - this.client.sendResponse(new GuildMembersComposer(g, Emulator.getGameEnvironment().getGuildManager().getGuildMembers(g, pageId, levelId, query), this.client.getHabbo(), pageId, levelId, query, isAdmin)); + this.client.sendResponse(new GuildMembersComposer(g, Emulator.getGameEnvironment().getGuildManager().getGuildMembers(g, pageId, levelId, query), pageId, levelId, query, isAdmin)); } } } diff --git a/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/GuildForumDataEvent.java b/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/GuildForumDataEvent.java index 7bce2cec..ec415744 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/GuildForumDataEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/GuildForumDataEvent.java @@ -9,7 +9,7 @@ public class GuildForumDataEvent extends MessageHandler @Override public void handle() throws Exception { - int guildId = packet.readInt(); + int guildId = this.packet.readInt(); this.client.sendResponse(new GuildForumDataComposer(Emulator.getGameEnvironment().getGuildForumManager().getGuildForum(guildId), this.client.getHabbo())); } diff --git a/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/GuildForumModerateMessageEvent.java b/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/GuildForumModerateMessageEvent.java index 82a09161..7df41726 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/GuildForumModerateMessageEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/GuildForumModerateMessageEvent.java @@ -11,10 +11,10 @@ public class GuildForumModerateMessageEvent extends MessageHandler @Override public void handle() throws Exception { - int guildId = packet.readInt(); - int threadId = packet.readInt(); - int messageId = packet.readInt(); - int state = packet.readInt(); + int guildId = this.packet.readInt(); + int threadId = this.packet.readInt(); + int messageId = this.packet.readInt(); + int state = this.packet.readInt(); Guild guild = Emulator.getGameEnvironment().getGuildManager().getGuild(guildId); if(guild == null || guild.getOwnerId() != this.client.getHabbo().getHabboInfo().getId()) diff --git a/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/GuildForumModerateThreadEvent.java b/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/GuildForumModerateThreadEvent.java index d17cf2b2..10e1c936 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/GuildForumModerateThreadEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/GuildForumModerateThreadEvent.java @@ -11,9 +11,9 @@ public class GuildForumModerateThreadEvent extends MessageHandler @Override public void handle() throws Exception { - int guildId = packet.readInt(); - int threadId = packet.readInt(); - int state = packet.readInt(); + int guildId = this.packet.readInt(); + int threadId = this.packet.readInt(); + int state = this.packet.readInt(); Guild guild = Emulator.getGameEnvironment().getGuildManager().getGuild(guildId); if(guild == null || guild.getOwnerId() != this.client.getHabbo().getHabboInfo().getId()) diff --git a/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/GuildForumThreadsEvent.java b/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/GuildForumThreadsEvent.java index 33ca21e2..aff2a966 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/GuildForumThreadsEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/GuildForumThreadsEvent.java @@ -10,8 +10,8 @@ public class GuildForumThreadsEvent extends MessageHandler @Override public void handle() throws Exception { - int groupdId = packet.readInt(); - int index = packet.readInt(); + int groupdId = this.packet.readInt(); + int index = this.packet.readInt(); this.client.sendResponse(new GuildForumThreadsComposer(Emulator.getGameEnvironment().getGuildForumManager().getGuildForum(groupdId), index)); this.client.sendResponse(new GuildForumDataComposer(Emulator.getGameEnvironment().getGuildForumManager().getGuildForum(groupdId), this.client.getHabbo())); diff --git a/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/GuildForumThreadsMessagesEvent.java b/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/GuildForumThreadsMessagesEvent.java index 68bdf5d3..23687c2b 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/GuildForumThreadsMessagesEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/GuildForumThreadsMessagesEvent.java @@ -10,10 +10,10 @@ public class GuildForumThreadsMessagesEvent extends MessageHandler @Override public void handle() throws Exception { - int guildId = packet.readInt(); - int threadId = packet.readInt(); - int index = packet.readInt(); //40 - int limit = packet.readInt(); //20 + int guildId = this.packet.readInt(); + int threadId = this.packet.readInt(); + int index = this.packet.readInt(); //40 + int limit = this.packet.readInt(); //20 Guild guild = Emulator.getGameEnvironment().getGuildManager().getGuild(guildId); if(guild == null) diff --git a/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/GuildForumUpdateSettingsEvent.java b/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/GuildForumUpdateSettingsEvent.java index b92c1bca..f17c8738 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/GuildForumUpdateSettingsEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/guilds/forums/GuildForumUpdateSettingsEvent.java @@ -11,11 +11,11 @@ public class GuildForumUpdateSettingsEvent extends MessageHandler @Override public void handle() throws Exception { - int guildId = packet.readInt(); - int canRead = packet.readInt(); - int postMessages = packet.readInt(); - int postThreads = packet.readInt(); - int modForum = packet.readInt(); + int guildId = this.packet.readInt(); + int canRead = this.packet.readInt(); + int postMessages = this.packet.readInt(); + int postThreads = this.packet.readInt(); + int modForum = this.packet.readInt(); Guild guild = Emulator.getGameEnvironment().getGuildManager().getGuild(guildId); diff --git a/src/main/java/com/eu/habbo/messages/incoming/handshake/SecureLoginEvent.java b/src/main/java/com/eu/habbo/messages/incoming/handshake/SecureLoginEvent.java index 5c8d3260..65fbc067 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/handshake/SecureLoginEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/handshake/SecureLoginEvent.java @@ -11,6 +11,7 @@ import com.eu.habbo.messages.outgoing.gamecenter.GameCenterAccountInfoComposer; import com.eu.habbo.messages.outgoing.gamecenter.GameCenterGameListComposer; import com.eu.habbo.messages.outgoing.generic.alerts.GenericAlertComposer; import com.eu.habbo.messages.outgoing.generic.alerts.MessagesForYouComposer; +import com.eu.habbo.messages.outgoing.habboway.nux.NewUserIdentityComposer; import com.eu.habbo.messages.outgoing.handshake.*; import com.eu.habbo.messages.outgoing.inventory.InventoryAchievementsComposer; import com.eu.habbo.messages.outgoing.inventory.InventoryRefreshComposer; @@ -19,7 +20,6 @@ import com.eu.habbo.messages.outgoing.modtool.CfhTopicsMessageComposer; import com.eu.habbo.messages.outgoing.modtool.ModToolComposer; import com.eu.habbo.messages.outgoing.navigator.*; import com.eu.habbo.messages.outgoing.unknown.BuildersClubExpiredComposer; -import com.eu.habbo.messages.outgoing.habboway.nux.NewUserIdentityComposer; import com.eu.habbo.messages.outgoing.users.*; import com.eu.habbo.plugin.events.emulator.SSOAuthenticationEvent; import com.eu.habbo.plugin.events.users.UserLoginEvent; @@ -33,40 +33,45 @@ public class SecureLoginEvent extends MessageHandler @Override public void handle() throws Exception { - if (!this.client.getChannel().isOpen()) return; + if (!this.client.getChannel().isOpen()) + { + Emulator.getGameServer().getGameClientManager().disposeClient(this.client); + return; + } if(!Emulator.isReady) return; - if (Emulator.getGameEnvironment().getModToolManager().hasMACBan(this.client)) - { - Emulator.getGameServer().getGameClientManager().disposeClient(this.client); - return; - } - if (Emulator.getGameEnvironment().getModToolManager().hasIPBan(this.client.getChannel())) - { - Emulator.getGameServer().getGameClientManager().disposeClient(this.client); - return; - } - String sso = this.packet.readString().replace(" ", ""); - if (Emulator.getPluginManager().fireEvent(new SSOAuthenticationEvent(sso)).isCancelled()) return; - - if (sso == null || sso.isEmpty()) + if (Emulator.getPluginManager().fireEvent(new SSOAuthenticationEvent(sso)).isCancelled()) { Emulator.getGameServer().getGameClientManager().disposeClient(this.client); + return; + } + + if (sso.isEmpty()) + { + Emulator.getGameServer().getGameClientManager().disposeClient(this.client); + return; } if(this.client.getHabbo() == null) { - Habbo habbo = null; - synchronized (this.client.getChannel()) - { - habbo = Emulator.getGameEnvironment().getHabboManager().loadHabbo(sso); - } + Habbo habbo = Emulator.getGameEnvironment().getHabboManager().loadHabbo(sso); if(habbo != null) { + if (Emulator.getGameEnvironment().getModToolManager().hasMACBan(this.client)) + { + Emulator.getGameServer().getGameClientManager().disposeClient(this.client); + return; + } + if (Emulator.getGameEnvironment().getModToolManager().hasIPBan(this.client.getChannel())) + { + Emulator.getGameServer().getGameClientManager().disposeClient(this.client); + return; + } + try { habbo.setClient(this.client); @@ -83,7 +88,7 @@ public class SecureLoginEvent extends MessageHandler } catch (Exception e) { - e.printStackTrace(); + Emulator.getLogging().logErrorLine(e); Emulator.getGameServer().getGameClientManager().disposeClient(this.client); return; } @@ -97,7 +102,7 @@ public class SecureLoginEvent extends MessageHandler messages.add(new UserPermissionsComposer(this.client.getHabbo()).compose()); messages.add(new SessionRightsComposer().compose()); messages.add(new SomeConnectionComposer().compose()); - messages.add(new DebugConsoleComposer().compose()); + messages.add(new DebugConsoleComposer(Emulator.debugging).compose()); messages.add(new UserAchievementScoreComposer(this.client.getHabbo()).compose()); messages.add(new IsFirstLoginOfDayComposer(true).compose()); messages.add(new UnknownComposer5().compose()); @@ -127,7 +132,7 @@ public class SecureLoginEvent extends MessageHandler this.client.sendResponse(new NewNavigatorSavedSearchesComposer()); this.client.sendResponse(new NewNavigatorEventCategoriesComposer()); this.client.sendResponse(new InventoryRefreshComposer()); - this.client.sendResponse(new ForumsTestComposer()); + //this.client.sendResponse(new ForumsTestComposer()); this.client.sendResponse(new InventoryAchievementsComposer()); this.client.sendResponse(new AchievementListComposer(this.client.getHabbo())); @@ -143,10 +148,10 @@ public class SecureLoginEvent extends MessageHandler { if (Emulator.getConfig().getBoolean("hotel.welcome.alert.oldstyle")) { - client.sendResponse(new MessagesForYouComposer(HabboManager.WELCOME_MESSAGE.replace("%username%", finalHabbo.getHabboInfo().getUsername()).replace("%user%", finalHabbo.getHabboInfo().getUsername()).split("
"))); + SecureLoginEvent.this.client.sendResponse(new MessagesForYouComposer(HabboManager.WELCOME_MESSAGE.replace("%username%", finalHabbo.getHabboInfo().getUsername()).replace("%user%", finalHabbo.getHabboInfo().getUsername()).split("
"))); } else { - client.sendResponse(new GenericAlertComposer(HabboManager.WELCOME_MESSAGE.replace("%username%", finalHabbo.getHabboInfo().getUsername()).replace("%user%", finalHabbo.getHabboInfo().getUsername()))); + SecureLoginEvent.this.client.sendResponse(new GenericAlertComposer(HabboManager.WELCOME_MESSAGE.replace("%username%", finalHabbo.getHabboInfo().getUsername()).replace("%user%", finalHabbo.getHabboInfo().getUsername()))); } } }, Emulator.getConfig().getInt("hotel.welcome.alert.delay", 5000)); @@ -157,5 +162,9 @@ public class SecureLoginEvent extends MessageHandler Emulator.getGameServer().getGameClientManager().disposeClient(this.client); } } + else + { + Emulator.getGameServer().getGameClientManager().disposeClient(this.client); + } } } diff --git a/src/main/java/com/eu/habbo/messages/incoming/handshake/SecureLoginEvent_BACKUP.java b/src/main/java/com/eu/habbo/messages/incoming/handshake/SecureLoginEvent_BACKUP.java index 35b1db8a..3a475f69 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/handshake/SecureLoginEvent_BACKUP.java +++ b/src/main/java/com/eu/habbo/messages/incoming/handshake/SecureLoginEvent_BACKUP.java @@ -7,12 +7,12 @@ import com.eu.habbo.messages.ServerMessage; import com.eu.habbo.messages.incoming.MessageHandler; import com.eu.habbo.messages.outgoing.friends.FriendsComposer; import com.eu.habbo.messages.outgoing.generic.alerts.GenericAlertComposer; +import com.eu.habbo.messages.outgoing.habboway.nux.NewUserIdentityComposer; import com.eu.habbo.messages.outgoing.handshake.DebugConsoleComposer; import com.eu.habbo.messages.outgoing.handshake.SecureLoginOKComposer; import com.eu.habbo.messages.outgoing.handshake.SessionRightsComposer; import com.eu.habbo.messages.outgoing.modtool.ModToolComposer; import com.eu.habbo.messages.outgoing.navigator.*; -import com.eu.habbo.messages.outgoing.habboway.nux.NewUserIdentityComposer; import com.eu.habbo.messages.outgoing.users.*; import com.eu.habbo.plugin.events.users.UserLoginEvent; @@ -53,7 +53,7 @@ public class SecureLoginEvent_BACKUP extends MessageHandler messages.add(new UserHomeRoomComposer(this.client.getHabbo().getHabboInfo().getHomeRoom(), 0).compose()); messages.add(new UserPermissionsComposer(this.client.getHabbo()).compose()); messages.add(new UserClubComposer(this.client.getHabbo()).compose()); - messages.add(new DebugConsoleComposer().compose()); + messages.add(new DebugConsoleComposer(Emulator.debugging).compose()); messages.add(new UserAchievementScoreComposer(this.client.getHabbo()).compose()); messages.add(new NewUserIdentityComposer(habbo).compose()); messages.add(new UserPerksComposer(habbo).compose()); diff --git a/src/main/java/com/eu/habbo/messages/incoming/handshake/UsernameEvent.java b/src/main/java/com/eu/habbo/messages/incoming/handshake/UsernameEvent.java index 19e745be..798e1202 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/handshake/UsernameEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/handshake/UsernameEvent.java @@ -6,7 +6,7 @@ import com.eu.habbo.habbohotel.catalog.TargetOffer; import com.eu.habbo.messages.incoming.MessageHandler; import com.eu.habbo.messages.outgoing.events.calendar.AdventCalendarDataComposer; import com.eu.habbo.messages.outgoing.habboway.nux.NuxAlertComposer; -import com.eu.habbo.messages.outgoing.unknown.TargetedOfferComposer; +import com.eu.habbo.messages.outgoing.catalog.TargetedOfferComposer; import java.sql.Connection; import java.sql.PreparedStatement; @@ -29,7 +29,7 @@ public class UsernameEvent extends MessageHandler else { - long daysBetween = ChronoUnit.DAYS.between(new Date((long)this.client.getHabbo().getHabboInfo().getLastOnline() * 1000l).toInstant(), new Date().toInstant()); + long daysBetween = ChronoUnit.DAYS.between(new Date((long)this.client.getHabbo().getHabboInfo().getLastOnline() * 1000L).toInstant(), new Date().toInstant()); Date lastLogin = new Date(this.client.getHabbo().getHabboInfo().getLastOnline()); diff --git a/src/main/java/com/eu/habbo/messages/incoming/hotelview/HotelViewDataEvent.java b/src/main/java/com/eu/habbo/messages/incoming/hotelview/HotelViewDataEvent.java index 12b9605b..f9379899 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/hotelview/HotelViewDataEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/hotelview/HotelViewDataEvent.java @@ -1,5 +1,6 @@ package com.eu.habbo.messages.incoming.hotelview; +import com.eu.habbo.Emulator; import com.eu.habbo.messages.incoming.MessageHandler; import com.eu.habbo.messages.outgoing.hotelview.HotelViewDataComposer; @@ -40,7 +41,7 @@ public class HotelViewDataEvent extends MessageHandler { } catch (Exception e) { - e.printStackTrace(); + Emulator.getLogging().logErrorLine(e); } } } diff --git a/src/main/java/com/eu/habbo/messages/incoming/hotelview/HotelViewRequestLTDAvailabilityEvent.java b/src/main/java/com/eu/habbo/messages/incoming/hotelview/HotelViewRequestLTDAvailabilityEvent.java index 5f0176bc..d0215998 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/hotelview/HotelViewRequestLTDAvailabilityEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/hotelview/HotelViewRequestLTDAvailabilityEvent.java @@ -17,7 +17,7 @@ public class HotelViewRequestLTDAvailabilityEvent extends MessageHandler { if (ENABLED) { - int timeremaining = Math.max(TIMESTAMP - Emulator.getIntUnixTimestamp(), 0); + int timeremaining = Math.max(TIMESTAMP - Emulator.getIntUnixTimestamp(), -1); this.client.sendResponse(new HotelViewNextLTDAvailableComposer( timeremaining, timeremaining > 0 ? - 1 : ITEM_ID, diff --git a/src/main/java/com/eu/habbo/messages/incoming/hotelview/RequestNewsListEvent.java b/src/main/java/com/eu/habbo/messages/incoming/hotelview/RequestNewsListEvent.java index 598c2e1d..980bed05 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/hotelview/RequestNewsListEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/hotelview/RequestNewsListEvent.java @@ -1,5 +1,6 @@ package com.eu.habbo.messages.incoming.hotelview; +import com.eu.habbo.Emulator; import com.eu.habbo.messages.incoming.MessageHandler; import com.eu.habbo.messages.outgoing.hotelview.HallOfFameComposer; import com.eu.habbo.messages.outgoing.hotelview.HotelViewDataComposer; @@ -11,7 +12,7 @@ public class RequestNewsListEvent extends MessageHandler public void handle() throws Exception { this.client.sendResponse(new HotelViewDataComposer("2013-05-08 13:0", "gamesmaker")); - this.client.sendResponse(new HallOfFameComposer()); + this.client.sendResponse(new HallOfFameComposer(Emulator.getGameEnvironment().getHotelViewManager().getHallOfFame())); this.client.sendResponse(new NewsListComposer()); } } diff --git a/src/main/java/com/eu/habbo/messages/incoming/modtool/ModToolPickTicketEvent.java b/src/main/java/com/eu/habbo/messages/incoming/modtool/ModToolPickTicketEvent.java index 2d1d7cf0..60d80eb6 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/modtool/ModToolPickTicketEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/modtool/ModToolPickTicketEvent.java @@ -24,7 +24,7 @@ public class ModToolPickTicketEvent extends MessageHandler if(issue.state == ModToolTicketState.PICKED) { this.client.sendResponse(new ModToolIssueInfoComposer(issue)); - this.client.sendResponse(new GenericAlertComposer(Emulator.getTexts().getValue("support.ticket.picked.failed"))); + this.client.getHabbo().alert(Emulator.getTexts().getValue("support.ticket.picked.failed")); return; } @@ -34,7 +34,7 @@ public class ModToolPickTicketEvent extends MessageHandler } else { - this.client.sendResponse(new GenericAlertComposer(Emulator.getTexts().getValue("support.ticket.picked.failed"))); + this.client.getHabbo().alert(Emulator.getTexts().getValue("support.ticket.picked.failed")); } } else diff --git a/src/main/java/com/eu/habbo/messages/incoming/modtool/ModToolSanctionBanEvent.java b/src/main/java/com/eu/habbo/messages/incoming/modtool/ModToolSanctionBanEvent.java index 0ede7921..07c7f969 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/modtool/ModToolSanctionBanEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/modtool/ModToolSanctionBanEvent.java @@ -7,12 +7,12 @@ import com.eu.habbo.messages.incoming.MessageHandler; public class ModToolSanctionBanEvent extends MessageHandler { - public final int BAN_18_HOURS = 3; - public final int BAN_7_DAYS = 4; - public final int BAN_30_DAYS_STEP_1 = 5; - public final int BAN_30_DAYS_STEP_2 = 7; - public final int BAN_100_YEARS = 6; - public final int BAN_AVATAR_ONLY_100_YEARS = 106; + public static final int BAN_18_HOURS = 3; + public static final int BAN_7_DAYS = 4; + public static final int BAN_30_DAYS_STEP_1 = 5; + public static final int BAN_30_DAYS_STEP_2 = 7; + public static final int BAN_100_YEARS = 6; + public static final int BAN_AVATAR_ONLY_100_YEARS = 106; public final int DAY_IN_SECONDS = 24 * 60 * 60; @@ -30,10 +30,10 @@ public class ModToolSanctionBanEvent extends MessageHandler switch (banType) { case BAN_18_HOURS: duration = 18 * 60 * 60; break; - case BAN_7_DAYS: duration = 7 * DAY_IN_SECONDS; break; + case BAN_7_DAYS: duration = 7 * this.DAY_IN_SECONDS; break; case BAN_30_DAYS_STEP_1: case BAN_30_DAYS_STEP_2: - duration = 30 * DAY_IN_SECONDS; break; + duration = 30 * this.DAY_IN_SECONDS; break; case BAN_100_YEARS: case BAN_AVATAR_ONLY_100_YEARS: duration = Emulator.getIntUnixTimestamp(); diff --git a/src/main/java/com/eu/habbo/messages/incoming/modtool/ReportBullyEvent.java b/src/main/java/com/eu/habbo/messages/incoming/modtool/ReportBullyEvent.java index dd415a20..dd9b0e90 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/modtool/ReportBullyEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/modtool/ReportBullyEvent.java @@ -58,12 +58,6 @@ public class ReportBullyEvent extends MessageHandler this.client.sendResponse(new BullyReportedMessageComposer(BullyReportedMessageComposer.RECEIVED)); } - else - { - } - } - else - { } } } diff --git a/src/main/java/com/eu/habbo/messages/incoming/modtool/ReportEvent.java b/src/main/java/com/eu/habbo/messages/incoming/modtool/ReportEvent.java index b53a5806..843aabc5 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/modtool/ReportEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/modtool/ReportEvent.java @@ -92,11 +92,11 @@ public class ReportEvent extends MessageHandler { if (cfhTopic.action == CfhActionType.AUTO_IGNORE) { - client.getHabbo().getHabboStats().ignoreUser(reported.getHabboInfo().getId()); - client.sendResponse(new RoomUserIgnoredComposer(reported, RoomUserIgnoredComposer.IGNORED)); + ReportEvent.this.client.getHabbo().getHabboStats().ignoreUser(reported.getHabboInfo().getId()); + ReportEvent.this.client.sendResponse(new RoomUserIgnoredComposer(reported, RoomUserIgnoredComposer.IGNORED)); } - client.sendResponse(new ModToolIssueHandledComposer(cfhTopic.reply).compose()); + ReportEvent.this.client.sendResponse(new ModToolIssueHandledComposer(cfhTopic.reply).compose()); Emulator.getGameEnvironment().getModToolManager().closeTicketAsHandled(issue, null); } } @@ -129,15 +129,15 @@ public class ReportEvent extends MessageHandler { if(cfhTopic.action == CfhActionType.AUTO_IGNORE) { - client.getHabbo().getHabboStats().ignoreUser(issue.reportedId); + ReportEvent.this.client.getHabbo().getHabboStats().ignoreUser(issue.reportedId); Habbo reported = Emulator.getGameEnvironment().getHabboManager().getHabbo(issue.reportedId); if (reported != null) { - client.sendResponse(new RoomUserIgnoredComposer(reported, RoomUserIgnoredComposer.IGNORED)); + ReportEvent.this.client.sendResponse(new RoomUserIgnoredComposer(reported, RoomUserIgnoredComposer.IGNORED)); } } - client.sendResponse(new ModToolIssueHandledComposer(cfhTopic.reply).compose()); + ReportEvent.this.client.sendResponse(new ModToolIssueHandledComposer(cfhTopic.reply).compose()); Emulator.getGameEnvironment().getModToolManager().closeTicketAsHandled(issue, null); } } diff --git a/src/main/java/com/eu/habbo/messages/incoming/modtool/ReportFriendPrivateChatEvent.java b/src/main/java/com/eu/habbo/messages/incoming/modtool/ReportFriendPrivateChatEvent.java index 30364678..797d7d65 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/modtool/ReportFriendPrivateChatEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/modtool/ReportFriendPrivateChatEvent.java @@ -30,7 +30,7 @@ public class ReportFriendPrivateChatEvent extends MessageHandler int count = this.packet.readInt(); ArrayList chatLogs = new ArrayList<>(); - HabboInfo info = null; + HabboInfo info; Habbo target = Emulator.getGameEnvironment().getHabboManager().getHabbo(userId); if (target != null) { @@ -48,7 +48,7 @@ public class ReportFriendPrivateChatEvent extends MessageHandler int chatUserId = this.packet.readInt(); String username = this.packet.readInt() == info.getId() ? info.getUsername() : this.client.getHabbo().getHabboInfo().getUsername(); - chatLogs.add(new ModToolChatLog(0, chatUserId, username, packet.readString())); + chatLogs.add(new ModToolChatLog(0, chatUserId, username, this.packet.readString())); } } diff --git a/src/main/java/com/eu/habbo/messages/incoming/modtool/RequestReportRoomEvent.java b/src/main/java/com/eu/habbo/messages/incoming/modtool/RequestReportRoomEvent.java index 5b976b55..290c27e5 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/modtool/RequestReportRoomEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/modtool/RequestReportRoomEvent.java @@ -1,13 +1,16 @@ package com.eu.habbo.messages.incoming.modtool; +import com.eu.habbo.Emulator; import com.eu.habbo.messages.incoming.MessageHandler; import com.eu.habbo.messages.outgoing.modtool.ReportRoomFormComposer; +import java.util.ArrayList; + public class RequestReportRoomEvent extends MessageHandler { @Override public void handle() throws Exception { - this.client.sendResponse(new ReportRoomFormComposer()); + this.client.sendResponse(new ReportRoomFormComposer(Emulator.getGameEnvironment().getModToolManager().openTicketsForHabbo(this.client.getHabbo()))); } } diff --git a/src/main/java/com/eu/habbo/messages/incoming/modtool/RequestReportUserBullyingEvent.java b/src/main/java/com/eu/habbo/messages/incoming/modtool/RequestReportUserBullyingEvent.java index d0a0efe3..49c5e6ac 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/modtool/RequestReportUserBullyingEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/modtool/RequestReportUserBullyingEvent.java @@ -16,7 +16,7 @@ public class RequestReportUserBullyingEvent extends MessageHandler if(ticket != null) { - if(!ticket.isFinished()) + if(ticket.inProgress()) { this.client.sendResponse(new BullyReportRequestComposer(BullyReportRequestComposer.ONGOING_HELPER_CASE, 1)); return; diff --git a/src/main/java/com/eu/habbo/messages/incoming/navigator/RequestCreateRoomEvent.java b/src/main/java/com/eu/habbo/messages/incoming/navigator/RequestCreateRoomEvent.java index 9f582803..9ea5897d 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/navigator/RequestCreateRoomEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/navigator/RequestCreateRoomEvent.java @@ -55,7 +55,7 @@ public class RequestCreateRoomEvent extends MessageHandler { { if (this.client.getHabbo().getHabboInfo().getCurrentRoom() != null) { - Emulator.getGameEnvironment().getRoomManager().leaveRoom(this.client.getHabbo(), this.client.getHabbo().getHabboInfo().getCurrentRoom()); + //Emulator.getGameEnvironment().getRoomManager().leaveRoom(this.client.getHabbo(), this.client.getHabbo().getHabboInfo().getCurrentRoom()); } this.client.sendResponse(new RoomCreatedComposer(room)); diff --git a/src/main/java/com/eu/habbo/messages/incoming/navigator/RequestNewNavigatorRoomsEvent.java b/src/main/java/com/eu/habbo/messages/incoming/navigator/RequestNewNavigatorRoomsEvent.java index f3b1fad9..69457e82 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/navigator/RequestNewNavigatorRoomsEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/navigator/RequestNewNavigatorRoomsEvent.java @@ -72,15 +72,8 @@ public class RequestNewNavigatorRoomsEvent extends MessageHandler try { - List resultLists = new ArrayList<>(); - - resultLists.addAll(filter.getResult(this.client.getHabbo(), field, part, category != null ? category.getId() : -1)); - - if (resultLists == null) - { - resultLists = new ArrayList<>(); - } + List resultLists = new ArrayList<>(filter.getResult(this.client.getHabbo(), field, part, category != null ? category.getId() : -1)); filter.filter(field.field, part, resultLists); Collections.sort(resultLists); @@ -103,8 +96,7 @@ public class RequestNewNavigatorRoomsEvent extends MessageHandler { if (result.filter) { - List rooms = new ArrayList<>(); - rooms.addAll(result.rooms.subList(0, result.rooms.size())); + List rooms = new ArrayList<>(result.rooms.subList(0, result.rooms.size())); filter.filterRooms(field.field, part, rooms); if (!filteredRooms.containsKey(result.order)) diff --git a/src/main/java/com/eu/habbo/messages/incoming/polls/AnswerPollEvent.java b/src/main/java/com/eu/habbo/messages/incoming/polls/AnswerPollEvent.java index 7865a2a0..6f194cb2 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/polls/AnswerPollEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/polls/AnswerPollEvent.java @@ -4,7 +4,7 @@ import com.eu.habbo.Emulator; import com.eu.habbo.habbohotel.polls.Poll; import com.eu.habbo.habbohotel.users.HabboBadge; import com.eu.habbo.messages.incoming.MessageHandler; -import com.eu.habbo.messages.outgoing.generic.alerts.WiredRewardAlertComposer; +import com.eu.habbo.messages.outgoing.wired.WiredRewardAlertComposer; import com.eu.habbo.messages.outgoing.users.AddUserBadgeComposer; import java.sql.Connection; @@ -20,19 +20,19 @@ public class AnswerPollEvent extends MessageHandler int questionId = this.packet.readInt(); int count = this.packet.readInt(); - String answer = ""; + StringBuilder answer = new StringBuilder(); for(int i = 0; i < count; i++) { - answer += ":" + this.packet.readString(); + answer.append(":").append(this.packet.readString()); } if (pollId == 0 && questionId <= 0) { - this.client.getHabbo().getHabboInfo().getCurrentRoom().handleWordQuiz(this.client.getHabbo(), answer); + this.client.getHabbo().getHabboInfo().getCurrentRoom().handleWordQuiz(this.client.getHabbo(), answer.toString()); return; } - answer = answer.substring(1); + answer = new StringBuilder(answer.substring(1)); Poll poll = Emulator.getGameEnvironment().getPollManager().getPoll(pollId); @@ -43,7 +43,7 @@ public class AnswerPollEvent extends MessageHandler statement.setInt(1, pollId); statement.setInt(2, this.client.getHabbo().getHabboInfo().getId()); statement.setInt(3, questionId); - statement.setString(4, answer); + statement.setString(4, answer.toString()); statement.execute(); } catch (SQLException e) diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/RequestHeightmapEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/RequestHeightmapEvent.java index ac7e1600..28ca737a 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/RequestHeightmapEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/RequestHeightmapEvent.java @@ -16,7 +16,6 @@ public class RequestHeightmapEvent extends MessageHandler { { Emulator.getGameEnvironment().getRoomManager().enterRoom(this.client.getHabbo(), room); - return; } } } diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/RequestRoomDataEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/RequestRoomDataEvent.java index b316bd05..fb7d7d11 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/RequestRoomDataEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/RequestRoomDataEvent.java @@ -12,8 +12,8 @@ public class RequestRoomDataEvent extends MessageHandler { Room room = Emulator.getGameEnvironment().getRoomManager().loadRoom(this.packet.readInt()); - int something = packet.readInt(); - int something2 = packet.readInt(); + int something = this.packet.readInt(); + int something2 = this.packet.readInt(); if(room != null) { boolean unknown = true; diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/RoomSettingsSaveEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/RoomSettingsSaveEvent.java index 03f8a490..e80ce127 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/RoomSettingsSaveEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/RoomSettingsSaveEvent.java @@ -52,7 +52,7 @@ public class RoomSettingsSaveEvent extends MessageHandler int usersMax = this.packet.readInt(); int categoryId = this.packet.readInt(); - String tags = ""; + StringBuilder tags = new StringBuilder(); int count = Math.min(this.packet.readInt(), 2); for(int i = 0; i < count; i++) { @@ -63,21 +63,21 @@ public class RoomSettingsSaveEvent extends MessageHandler this.client.sendResponse(new RoomEditSettingsErrorComposer(room.getId(), RoomEditSettingsErrorComposer.TAGS_TOO_LONG, "")); return; } - tags += tag + ";"; + tags.append(tag).append(";"); } - if (!Emulator.getGameEnvironment().getWordFilter().filter(tags, this.client.getHabbo()).equals(tags)) + if (!Emulator.getGameEnvironment().getWordFilter().filter(tags.toString(), this.client.getHabbo()).equals(tags.toString())) { this.client.sendResponse(new RoomEditSettingsErrorComposer(room.getId(), RoomEditSettingsErrorComposer.ROOM_TAGS_BADWWORDS, "")); return; } - if (!tags.isEmpty()) + if (tags.length() > 0) { for (String s : Emulator.getConfig().getValue("hotel.room.tags.staff").split(";")) { - if (tags.contains(s)) + if (tags.toString().contains(s)) { this.client.sendResponse(new RoomEditSettingsErrorComposer(room.getId(), RoomEditSettingsErrorComposer.RESTRICTED_TAGS, "1")); return; @@ -98,15 +98,15 @@ public class RoomSettingsSaveEvent extends MessageHandler { RoomCategory category = Emulator.getGameEnvironment().getRoomManager().getCategory(categoryId); - String message = ""; + String message; if(category == null) { - message = Emulator.getTexts().getValue("scripter.warning.roomsettings.category.nonexisting").replace("%username%", client.getHabbo().getHabboInfo().getUsername()); + message = Emulator.getTexts().getValue("scripter.warning.roomsettings.category.nonexisting").replace("%username%", this.client.getHabbo().getHabboInfo().getUsername()); } else { - message = Emulator.getTexts().getValue("scripter.warning.roomsettings.category.permission").replace("%username%", client.getHabbo().getHabboInfo().getUsername()).replace("%category%", Emulator.getGameEnvironment().getRoomManager().getCategory(categoryId) + ""); + message = Emulator.getTexts().getValue("scripter.warning.roomsettings.category.permission").replace("%username%", this.client.getHabbo().getHabboInfo().getUsername()).replace("%category%", Emulator.getGameEnvironment().getRoomManager().getCategory(categoryId) + ""); } Emulator.getGameEnvironment().getModToolManager().quickTicket(this.client.getHabbo(), "Scripter", message); @@ -114,7 +114,7 @@ public class RoomSettingsSaveEvent extends MessageHandler } - room.setTags(tags); + room.setTags(tags.toString()); room.setTradeMode(this.packet.readInt()); room.setAllowPets(this.packet.readBoolean()); room.setAllowPetsEat(this.packet.readBoolean()); diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/RoomStaffPickEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/RoomStaffPickEvent.java index 747d182f..fec60d86 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/RoomStaffPickEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/RoomStaffPickEvent.java @@ -2,6 +2,7 @@ package com.eu.habbo.messages.incoming.rooms; import com.eu.habbo.Emulator; import com.eu.habbo.habbohotel.achievements.AchievementManager; +import com.eu.habbo.habbohotel.navigation.NavigatorPublicCategory; import com.eu.habbo.habbohotel.rooms.Room; import com.eu.habbo.habbohotel.users.Habbo; import com.eu.habbo.messages.incoming.MessageHandler; @@ -23,6 +24,7 @@ public class RoomStaffPickEvent extends MessageHandler room.setStaffPromotedRoom(!room.isStaffPromotedRoom()); room.setNeedsUpdate(true); + NavigatorPublicCategory publicCategory = Emulator.getGameEnvironment().getNavigatorManager().publicCategories.get(Emulator.getConfig().getInt("hotel.navigator.staffpicks.categoryid")); if(room.isStaffPromotedRoom()) { Habbo habbo = Emulator.getGameEnvironment().getHabboManager().getHabbo(room.getOwnerId()); @@ -31,9 +33,21 @@ public class RoomStaffPickEvent extends MessageHandler { AchievementManager.progressAchievement(habbo, Emulator.getGameEnvironment().getAchievementManager().getAchievement("Spr")); } + + if (publicCategory != null) + { + publicCategory.addRoom(room); + } + } + else + { + if (publicCategory != null) + { + publicCategory.removeRoom(room); + } } - this.client.sendResponse(new RoomDataComposer(room, this.client.getHabbo(), false, false)); + this.client.sendResponse(new RoomDataComposer(room, this.client.getHabbo(), true, false)); } } } diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/bots/BotSaveSettingsEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/bots/BotSaveSettingsEvent.java index c61ce9a0..c3149d52 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/bots/BotSaveSettingsEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/bots/BotSaveSettingsEvent.java @@ -53,7 +53,7 @@ public class BotSaveSettingsEvent extends MessageHandler bot.setFigure(lookEvent.newLook); bot.setGender(lookEvent.gender); - bot.setEffect(lookEvent.effect); + bot.setEffect(lookEvent.effect, -1); bot.needsUpdate(true); break; diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/FootballGateSaveLookEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/FootballGateSaveLookEvent.java index 20503ec4..61774770 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/FootballGateSaveLookEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/FootballGateSaveLookEvent.java @@ -16,7 +16,7 @@ public class FootballGateSaveLookEvent extends MessageHandler return; HabboItem item = room.getHabboItem(this.packet.readInt()); - if(item == null || !(item instanceof InteractionFootballGate)) + if(!(item instanceof InteractionFootballGate)) return; String gender = this.packet.readString(); diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/MannequinSaveLookEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/MannequinSaveLookEvent.java index f4b3000a..e1ddf44e 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/MannequinSaveLookEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/MannequinSaveLookEvent.java @@ -22,19 +22,19 @@ public class MannequinSaveLookEvent extends MessageHandler String[] data = item.getExtradata().split(":"); //TODO: Only clothing not whole body part. - String look = ""; + StringBuilder look = new StringBuilder(); for (String s : this.client.getHabbo().getHabboInfo().getLook().split("\\.")) { if (!s.contains("hr") && !s.contains("hd") && !s.contains("he") && !s.contains("ea") && !s.contains("ha") && !s.contains("fa")) { - look += s + "."; + look.append(s).append("."); } } - if (!look.isEmpty()) + if (look.length() > 0) { - look = look.substring(0, look.length() - 1); + look = new StringBuilder(look.substring(0, look.length() - 1)); } if(data.length == 3) diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/PostItDeleteEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/PostItDeleteEvent.java index 96c378e1..e5b4663a 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/PostItDeleteEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/PostItDeleteEvent.java @@ -24,9 +24,6 @@ public class PostItDeleteEvent extends MessageHandler if (item instanceof InteractionPostIt) { - if (item == null) - return; - if (item.getUserId() == this.client.getHabbo().getHabboInfo().getId() || room.isOwner(this.client.getHabbo())) { item.setRoomId(0); diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/PostItPlaceEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/PostItPlaceEvent.java index 20e4958a..c2417458 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/PostItPlaceEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/PostItPlaceEvent.java @@ -26,7 +26,7 @@ public class PostItPlaceEvent extends MessageHandler { HabboItem item = this.client.getHabbo().getInventory().getItemsComponent().getHabboItem(itemId); - if (item != null && item instanceof InteractionPostIt) + if (item instanceof InteractionPostIt) { room.addHabboItem(item); item.setExtradata("FFFF33"); diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/PostItRequestDataEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/PostItRequestDataEvent.java index e4396f89..36a49414 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/PostItRequestDataEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/PostItRequestDataEvent.java @@ -21,7 +21,7 @@ public class PostItRequestDataEvent extends MessageHandler if(item instanceof InteractionPostIt) { - this.client.sendResponse(new PostItDataComposer((InteractionPostIt) item, room.hasRights(this.client.getHabbo()))); + this.client.sendResponse(new PostItDataComposer((InteractionPostIt) item)); } } } diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/PostItSaveDataEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/PostItSaveDataEvent.java index 29475736..07f9a7d4 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/PostItSaveDataEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/PostItSaveDataEvent.java @@ -46,7 +46,7 @@ public class PostItSaveDataEvent extends MessageHandler HabboItem item = room.getHabboItem(itemId); - if(item == null || !(item instanceof InteractionPostIt)) + if(!(item instanceof InteractionPostIt)) return; if(!color.equalsIgnoreCase(PostItColor.YELLOW.hexColor) && !room.hasRights(this.client.getHabbo())&& item.getUserId() != this.client.getHabbo().getHabboInfo().getId()) diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/RoomPickupItemEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/RoomPickupItemEvent.java index cbc3215a..8516fa08 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/RoomPickupItemEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/RoomPickupItemEvent.java @@ -30,7 +30,6 @@ public class RoomPickupItemEvent extends MessageHandler if (item.getUserId() == this.client.getHabbo().getHabboInfo().getId()) { room.pickUpItem(item, this.client.getHabbo()); - return; } else { diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/RoomPlaceItemEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/RoomPlaceItemEvent.java index 298493a9..2355b093 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/RoomPlaceItemEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/RoomPlaceItemEvent.java @@ -20,8 +20,10 @@ public class RoomPlaceItemEvent extends MessageHandler { String[] values = this.packet.readString().split(" "); - int itemId = Integer.valueOf(values[0]); - if(values.length < 1 || itemId < 0) + int itemId = -1; + + if (values.length != 0) itemId = Integer.valueOf(values[0]); + if(itemId < 0) { this.client.sendResponse(new BubbleAlertComposer(BubbleAlertKeys.FURNITURE_PLACEMENT_ERROR.key, FurnitureMovementError.INVALID_MOVE.errorCode)); return; @@ -40,36 +42,10 @@ public class RoomPlaceItemEvent extends MessageHandler } HabboItem rentSpace = null; - if(!this.client.getHabbo().getHabboStats().canRentSpace()) + if(this.client.getHabbo().getHabboStats().isRentingSpace()) { rentSpace = room.getHabboItem(this.client.getHabbo().getHabboStats().rentedItemId); - - - - - -// - - - - - - - - - - -// - - - - } - else - { - - } - HabboItem item = this.client.getHabbo().getInventory().getItemsComponent().getHabboItem(itemId); @@ -91,8 +67,6 @@ public class RoomPlaceItemEvent extends MessageHandler return; } - THashSet updatedTiles = new THashSet<>(); - if (item.getBaseItem().getType() == FurnitureType.FLOOR) { short x = Short.valueOf(values[1]); @@ -150,18 +124,5 @@ public class RoomPlaceItemEvent extends MessageHandler this.client.sendResponse(new RemoveHabboItemComposer(item.getId())); this.client.getHabbo().getInventory().getItemsComponent().removeHabboItem(item.getId()); - - - - - - - - - - - -// - } } diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/RotateMoveItemEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/RotateMoveItemEvent.java index 855c9a5f..c175ff96 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/RotateMoveItemEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/RotateMoveItemEvent.java @@ -32,12 +32,7 @@ public class RotateMoveItemEvent extends MessageHandler if (!error.equals(FurnitureMovementError.NONE)) { this.client.sendResponse(new BubbleAlertComposer(BubbleAlertKeys.FURNITURE_PLACEMENT_ERROR.key, error.errorCode)); - - if (item != null) - { - this.client.sendResponse(new FloorItemUpdateComposer(item)); - } - + this.client.sendResponse(new FloorItemUpdateComposer(item)); return; } @@ -46,205 +41,6 @@ public class RotateMoveItemEvent extends MessageHandler { this.client.sendResponse(new BubbleAlertComposer(BubbleAlertKeys.FURNITURE_PLACEMENT_ERROR.key, error.errorCode)); this.client.sendResponse(new FloorItemUpdateComposer(item)); - return; } - - - - -// - - - - - - - - - - - -// - - - - -// - - - - - - -// - - - - - - -// - - - - - - -// - -// - -// - - - - - -// - - - - - - -// -// -// -// -// -// -// -// -// - -// - - -// - - - - - - - - - - - - - - - - - - -// - - - - - - - - - - - -// - - - - - - - - - -// - - - -// - - - - - - - - - - -// - - - - - - - - - - -// - - -// - - - -// - - - - -// - - - - - - -// - - - -// - - - - -// - - - -// - - - - - - - - - -// - -// - - - -// - - - -// - - -// - - - } } \ No newline at end of file diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/SavePostItStickyPoleEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/SavePostItStickyPoleEvent.java index 0b6dad40..7ac1187f 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/SavePostItStickyPoleEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/SavePostItStickyPoleEvent.java @@ -27,7 +27,7 @@ public class SavePostItStickyPoleEvent extends MessageHandler for (String command : commands) { - command.replace("
", "\r"); + command = command.replace("
", "\r"); CommandHandler.handleCommand(this.client, command); } } diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/ToggleFloorItemEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/ToggleFloorItemEvent.java index 4cd44bc2..e46ec8ae 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/ToggleFloorItemEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/ToggleFloorItemEvent.java @@ -65,20 +65,20 @@ public class ToggleFloorItemEvent extends MessageHandler if (totemLeg.getExtradata().equals("2") && totemHead.getExtradata().equals("5")) { - room.giveEffect(this.client.getHabbo(), 23); + room.giveEffect(this.client.getHabbo(), 23, -1); return; } if (totemLeg.getExtradata().equals("10") && totemHead.getExtradata().equals("9")) { - room.giveEffect(this.client.getHabbo(), 26); + room.giveEffect(this.client.getHabbo(), 26, -1); return; } } else if(item.getExtradata().equals("0")) { if(totemLeg.getExtradata().equals("7") && totemHead.getExtradata().equals("10")) { - room.giveEffect(this.client.getHabbo(), 24); + room.giveEffect(this.client.getHabbo(), 24, -1); return; } @@ -87,7 +87,7 @@ public class ToggleFloorItemEvent extends MessageHandler { if(totemLeg.getExtradata().equals("9") && totemHead.getExtradata().equals("12")) { - room.giveEffect(this.client.getHabbo(), 25); + room.giveEffect(this.client.getHabbo(), 25, -1); return; } } @@ -98,7 +98,18 @@ public class ToggleFloorItemEvent extends MessageHandler if(item instanceof InteractionMonsterPlantSeed) { Emulator.getThreading().run(new QueryDeleteHabboItem(item)); - MonsterplantPet pet = Emulator.getGameEnvironment().getPetManager().createMonsterplant(room, this.client.getHabbo(), item.getBaseItem().getName().contains("rare"), room.getLayout().getTile(item.getX(), item.getY())); + int rarity = 0; + if (item.getExtradata().isEmpty()) rarity = InteractionMonsterPlantSeed.randomRarityLevel(); + else + { + try + { + rarity = Integer.valueOf(item.getExtradata()) - 1; + } + catch (Exception e) + {} + } + MonsterplantPet pet = Emulator.getGameEnvironment().getPetManager().createMonsterplant(room, this.client.getHabbo(), item.getBaseItem().getName().contains("rare"), room.getLayout().getTile(item.getX(), item.getY()), rarity); room.sendComposer(new RemoveFloorItemComposer(item, true).compose()); room.removeHabboItem(item); room.updateTile(room.getLayout().getTile(item.getX(), item.getY())); @@ -129,7 +140,7 @@ public class ToggleFloorItemEvent extends MessageHandler } catch(Exception e) { - e.printStackTrace(); + Emulator.getLogging().logErrorLine(e); } } } diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/TriggerColorWheelEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/TriggerColorWheelEvent.java index 8a43c458..39cbfa8a 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/TriggerColorWheelEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/TriggerColorWheelEvent.java @@ -19,7 +19,7 @@ public class TriggerColorWheelEvent extends MessageHandler HabboItem item = room.getHabboItem(itemId); - if(item != null && item instanceof InteractionColorWheel) + if(item instanceof InteractionColorWheel) { item.onClick(this.client, room, null); } diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/rentablespace/RentSpaceEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/rentablespace/RentSpaceEvent.java index bf54cc5b..17445eca 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/rentablespace/RentSpaceEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/rentablespace/RentSpaceEvent.java @@ -19,7 +19,7 @@ public class RentSpaceEvent extends MessageHandler HabboItem item = room.getHabboItem(itemId); - if(item == null || !(item instanceof InteractionRentableSpace)) + if(!(item instanceof InteractionRentableSpace)) return; ((InteractionRentableSpace) item).rent(this.client.getHabbo()); diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/youtube/YoutubeRequestNextVideoEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/youtube/YoutubeRequestNextVideoEvent.java index dd09c826..b68267df 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/youtube/YoutubeRequestNextVideoEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/youtube/YoutubeRequestNextVideoEvent.java @@ -19,7 +19,7 @@ public class YoutubeRequestNextVideoEvent extends MessageHandler { HabboItem item = this.client.getHabbo().getHabboInfo().getCurrentRoom().getHabboItem(itemId); - if (item != null && item instanceof InteractionYoutubeTV) + if (item instanceof InteractionYoutubeTV) { YoutubeManager.YoutubeItem video = Emulator.getGameEnvironment().getItemManager().getYoutubeManager().getVideo(item.getBaseItem(), next); diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/youtube/YoutubeRequestPlayListEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/youtube/YoutubeRequestPlayListEvent.java index e793b176..7cf6637b 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/youtube/YoutubeRequestPlayListEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/youtube/YoutubeRequestPlayListEvent.java @@ -17,7 +17,7 @@ public class YoutubeRequestPlayListEvent extends MessageHandler { HabboItem item = this.client.getHabbo().getHabboInfo().getCurrentRoom().getHabboItem(itemId); - if (item != null && item instanceof InteractionYoutubeTV) + if (item instanceof InteractionYoutubeTV) { this.client.sendResponse(new YoutubeDisplayListComposer(itemId, Emulator.getGameEnvironment().getItemManager().getYoutubeManager().getPlaylist(item.getBaseItem()))); } diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/youtube/YoutubeRequestVideoDataEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/youtube/YoutubeRequestVideoDataEvent.java index 83c17561..f3f4c34b 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/youtube/YoutubeRequestVideoDataEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/youtube/YoutubeRequestVideoDataEvent.java @@ -19,7 +19,7 @@ public class YoutubeRequestVideoDataEvent extends MessageHandler { HabboItem item = this.client.getHabbo().getHabboInfo().getCurrentRoom().getHabboItem(itemId); - if (item != null && item instanceof InteractionYoutubeTV) + if (item instanceof InteractionYoutubeTV) { YoutubeManager.YoutubeItem videoItem = Emulator.getGameEnvironment().getItemManager().getYoutubeManager().getVideo(item.getBaseItem(), videoId); diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/pets/ConfirmPetBreedingEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/pets/ConfirmPetBreedingEvent.java index 2e785c27..12f03c9f 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/pets/ConfirmPetBreedingEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/pets/ConfirmPetBreedingEvent.java @@ -17,7 +17,7 @@ public class ConfirmPetBreedingEvent extends MessageHandler HabboItem item = this.client.getHabbo().getHabboInfo().getCurrentRoom().getHabboItem(itemId); - if (item != null && item instanceof InteractionPetBreedingNest) + if (item instanceof InteractionPetBreedingNest) { ((InteractionPetBreedingNest)item).breed(this.client.getHabbo(), name, petOneId, petTwoId); } diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/pets/HorseRideEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/pets/HorseRideEvent.java index f3ba441b..7685e4f9 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/pets/HorseRideEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/pets/HorseRideEvent.java @@ -21,7 +21,7 @@ public class HorseRideEvent extends MessageHandler Pet pet = this.client.getHabbo().getHabboInfo().getCurrentRoom().getPet(petId); - if(pet == null || !(pet instanceof HorsePet)) + if(!(pet instanceof HorsePet)) return; if(this.client.getHabbo().getHabboInfo().getRiding() == null) @@ -32,7 +32,7 @@ public class HorseRideEvent extends MessageHandler { if (this.client.getHabbo().getHabboInfo().getId() == pet.getUserId()) { - this.client.getHabbo().getHabboInfo().getCurrentRoom().giveEffect(((HorsePet) pet).getRider(), 0); + this.client.getHabbo().getHabboInfo().getCurrentRoom().giveEffect(((HorsePet) pet).getRider(), 0, -1); ((HorsePet) pet).getRider().getHabboInfo().setRiding(null); ((HorsePet) pet).setRider(null); pet.setTask(PetTasks.FREE); @@ -49,7 +49,7 @@ public class HorseRideEvent extends MessageHandler { if (goalTile.equals(this.client.getHabbo().getRoomUnit().getCurrentLocation())) { - this.client.getHabbo().getHabboInfo().getCurrentRoom().giveEffect(this.client.getHabbo(), 77); + this.client.getHabbo().getHabboInfo().getCurrentRoom().giveEffect(this.client.getHabbo(), 77, -1); this.client.getHabbo().getHabboInfo().setRiding((HorsePet) pet); ((HorsePet) pet).setRider(this.client.getHabbo()); this.client.getHabbo().getHabboInfo().getCurrentRoom().sendComposer(new RoomUserEffectComposer(this.client.getHabbo().getRoomUnit()).compose()); @@ -65,7 +65,7 @@ public class HorseRideEvent extends MessageHandler } else { - this.client.getHabbo().getHabboInfo().getCurrentRoom().giveEffect(this.client.getHabbo(), 0); + this.client.getHabbo().getHabboInfo().getCurrentRoom().giveEffect(this.client.getHabbo(), 0, -1); ((HorsePet) pet).setRider(null); pet.setTask(PetTasks.FREE); this.client.getHabbo().getHabboInfo().setRiding(null); diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/pets/HorseUseItemEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/pets/HorseUseItemEvent.java index c6573615..c8f6bf6a 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/pets/HorseUseItemEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/pets/HorseUseItemEvent.java @@ -34,145 +34,142 @@ public class HorseUseItemEvent extends MessageHandler int petId = this.packet.readInt(); Pet pet = this.client.getHabbo().getHabboInfo().getCurrentRoom().getPet(petId); - if(pet instanceof Pet) + if(pet instanceof HorsePet) { - if(pet instanceof HorsePet) + if(item.getBaseItem().getName().toLowerCase().startsWith("horse_dye")) { - if(item.getBaseItem().getName().toLowerCase().startsWith("horse_dye")) + int race = Integer.valueOf(item.getBaseItem().getName().split("_")[2]); + int raceType = (race * 4) - 2; + + if(race >= 13 && race <= 17) + raceType = ((2 + race) * 4) + 1; + + if(race == 0) + raceType = 0; + + pet.setRace(raceType); + ((HorsePet) pet).needsUpdate = true; + } + else if(item.getBaseItem().getName().toLowerCase().startsWith("horse_hairdye")) + { + int splittedHairdye = Integer.valueOf(item.getBaseItem().getName().toLowerCase().split("_")[2]); + int newHairdye = 48; + + if(splittedHairdye == 0) { - int race = Integer.valueOf(item.getBaseItem().getName().split("_")[2]); - int raceType = (race * 4) - 2; - - if(race >= 13 && race <= 17) - raceType = ((2 + race) * 4) + 1; - - if(race == 0) - raceType = 0; - - pet.setRace(raceType); - ((HorsePet) pet).needsUpdate = true; + newHairdye = -1; } - else if(item.getBaseItem().getName().toLowerCase().startsWith("horse_hairdye")) + else if(splittedHairdye == 1) { - int splittedHairdye = Integer.valueOf(item.getBaseItem().getName().toLowerCase().split("_")[2]); - int newHairdye = 48; - - if(splittedHairdye == 0) - { - newHairdye = -1; - } - else if(splittedHairdye == 1) - { - newHairdye = 1; - } - else if(splittedHairdye >= 13 && splittedHairdye <= 17) - { - newHairdye = 68 + splittedHairdye; - } - else - { - newHairdye += splittedHairdye; - } - - ((HorsePet) pet).setHairColor(newHairdye); - ((HorsePet) pet).needsUpdate = true; + newHairdye = 1; } - else if(item.getBaseItem().getName().toLowerCase().startsWith("horse_hairstyle")) + else if(splittedHairdye >= 13 && splittedHairdye <= 17) { - int splittedHairstyle = Integer.valueOf(item.getBaseItem().getName().toLowerCase().split("_")[2]); - int newHairstyle = 100; - - if(splittedHairstyle == 0) - { - newHairstyle = -1; - } - else - { - newHairstyle += splittedHairstyle; - } - - ((HorsePet) pet).setHairStyle(newHairstyle); - ((HorsePet) pet).needsUpdate = true; + newHairdye = 68 + splittedHairdye; } - else if(item.getBaseItem().getName().toLowerCase().startsWith("horse_saddle")) + else { - ((HorsePet) pet).hasSaddle(true); - ((HorsePet) pet).needsUpdate = true; + newHairdye += splittedHairdye; } - if(((HorsePet) pet).needsUpdate) + ((HorsePet) pet).setHairColor(newHairdye); + ((HorsePet) pet).needsUpdate = true; + } + else if(item.getBaseItem().getName().toLowerCase().startsWith("horse_hairstyle")) + { + int splittedHairstyle = Integer.valueOf(item.getBaseItem().getName().toLowerCase().split("_")[2]); + int newHairstyle = 100; + + if(splittedHairstyle == 0) { - Emulator.getThreading().run(pet); - this.client.getHabbo().getHabboInfo().getCurrentRoom().sendComposer(new RoomPetHorseFigureComposer((HorsePet) pet).compose()); + newHairstyle = -1; + } + else + { + newHairstyle += splittedHairstyle; + } + + ((HorsePet) pet).setHairStyle(newHairstyle); + ((HorsePet) pet).needsUpdate = true; + } + else if(item.getBaseItem().getName().toLowerCase().startsWith("horse_saddle")) + { + ((HorsePet) pet).hasSaddle(true); + ((HorsePet) pet).needsUpdate = true; + } + + if(((HorsePet) pet).needsUpdate) + { + Emulator.getThreading().run(pet); + this.client.getHabbo().getHabboInfo().getCurrentRoom().sendComposer(new RoomPetHorseFigureComposer((HorsePet) pet).compose()); + this.client.getHabbo().getHabboInfo().getCurrentRoom().sendComposer(new RemoveFloorItemComposer(item).compose()); + Emulator.getThreading().run(new QueryDeleteHabboItem(item)); + } + } + else if (pet instanceof MonsterplantPet) + { + if (item.getBaseItem().getName().equalsIgnoreCase("mnstr_revival")) + { + if (((MonsterplantPet) pet).isDead()) + { + ((MonsterplantPet) pet).setDeathTimestamp(Emulator.getIntUnixTimestamp() + MonsterplantPet.timeToLive); + pet.getRoomUnit().clearStatus(); + pet.getRoomUnit().setStatus(RoomUnitStatus.GESTURE, "rev"); + ((MonsterplantPet) pet).packetUpdate = true; + + this.client.getHabbo().getHabboInfo().getCurrentRoom().removeHabboItem(item); this.client.getHabbo().getHabboInfo().getCurrentRoom().sendComposer(new RemoveFloorItemComposer(item).compose()); + this.client.getHabbo().getHabboInfo().getCurrentRoom().sendComposer(new RoomUserStatusComposer(pet.getRoomUnit()).compose()); + this.client.getHabbo().getHabboInfo().getCurrentRoom().sendComposer(new PetStatusUpdateComposer(pet).compose()); + this.client.getHabbo().getHabboInfo().getCurrentRoom().updateTiles(room.getLayout().getTilesAt(room.getLayout().getTile(item.getX(), item.getY()), item.getBaseItem().getWidth(), item.getBaseItem().getLength(), item.getRotation())); + AchievementManager.progressAchievement(this.client.getHabbo(), Emulator.getGameEnvironment().getAchievementManager().getAchievement("MonsterPlantHealer")); + pet.getRoomUnit().removeStatus(RoomUnitStatus.GESTURE); Emulator.getThreading().run(new QueryDeleteHabboItem(item)); } } - else if (pet instanceof MonsterplantPet) + else if (item.getBaseItem().getName().equalsIgnoreCase("mnstr_fert")) { - if (item.getBaseItem().getName().equalsIgnoreCase("mnstr_revival")) + if (!((MonsterplantPet) pet).isFullyGrown()) { - if (((MonsterplantPet) pet).isDead()) + pet.setCreated(pet.getCreated() - MonsterplantPet.growTime); + pet.getRoomUnit().clearStatus(); + pet.cycle(); + pet.getRoomUnit().setStatus(RoomUnitStatus.GESTURE, "spd"); + pet.getRoomUnit().setStatus(RoomUnitStatus.fromString("grw" + ((MonsterplantPet) pet).getGrowthStage()), ""); + this.client.getHabbo().getHabboInfo().getCurrentRoom().removeHabboItem(item); + this.client.getHabbo().getHabboInfo().getCurrentRoom().sendComposer(new RemoveFloorItemComposer(item).compose()); + this.client.getHabbo().getHabboInfo().getCurrentRoom().sendComposer(new RoomUserStatusComposer(pet.getRoomUnit()).compose()); + this.client.getHabbo().getHabboInfo().getCurrentRoom().sendComposer(new PetStatusUpdateComposer(pet).compose()); + this.client.getHabbo().getHabboInfo().getCurrentRoom().updateTiles(room.getLayout().getTilesAt(room.getLayout().getTile(item.getX(), item.getY()), item.getBaseItem().getWidth(), item.getBaseItem().getLength(), item.getRotation())); + pet.getRoomUnit().removeStatus(RoomUnitStatus.GESTURE); + pet.cycle(); + Emulator.getThreading().run(new QueryDeleteHabboItem(item)); + } + } + else if (item.getBaseItem().getName().startsWith("mnstr_rebreed")) + { + if (((MonsterplantPet) pet).isFullyGrown() && !((MonsterplantPet) pet).canBreed()) + { + if ( + (item.getBaseItem().getName().equalsIgnoreCase("mnstr_rebreed") && ((MonsterplantPet) pet).getRarity() <= 5) || + (item.getBaseItem().getName().equalsIgnoreCase("mnstr_rebreed_2") && ((MonsterplantPet) pet).getRarity() >= 6 && ((MonsterplantPet) pet).getRarity() <= 8) || + (item.getBaseItem().getName().equalsIgnoreCase("mnstr_rebreed_3") && ((MonsterplantPet) pet).getRarity() >= 9) + ) + { - ((MonsterplantPet) pet).setDeathTimestamp(Emulator.getIntUnixTimestamp() + MonsterplantPet.timeToLive); + ((MonsterplantPet) pet).setCanBreed(true); pet.getRoomUnit().clearStatus(); - pet.getRoomUnit().setStatus(RoomUnitStatus.GESTURE, "rev"); - ((MonsterplantPet) pet).packetUpdate = true; + pet.getRoomUnit().setStatus(RoomUnitStatus.GESTURE, "reb"); this.client.getHabbo().getHabboInfo().getCurrentRoom().removeHabboItem(item); this.client.getHabbo().getHabboInfo().getCurrentRoom().sendComposer(new RemoveFloorItemComposer(item).compose()); this.client.getHabbo().getHabboInfo().getCurrentRoom().sendComposer(new RoomUserStatusComposer(pet.getRoomUnit()).compose()); this.client.getHabbo().getHabboInfo().getCurrentRoom().sendComposer(new PetStatusUpdateComposer(pet).compose()); this.client.getHabbo().getHabboInfo().getCurrentRoom().updateTiles(room.getLayout().getTilesAt(room.getLayout().getTile(item.getX(), item.getY()), item.getBaseItem().getWidth(), item.getBaseItem().getLength(), item.getRotation())); - AchievementManager.progressAchievement(this.client.getHabbo(), Emulator.getGameEnvironment().getAchievementManager().getAchievement("MonsterPlantHealer")); pet.getRoomUnit().removeStatus(RoomUnitStatus.GESTURE); Emulator.getThreading().run(new QueryDeleteHabboItem(item)); } } - else if (item.getBaseItem().getName().equalsIgnoreCase("mnstr_fert")) - { - if (!((MonsterplantPet) pet).isFullyGrown()) - { - pet.setCreated(pet.getCreated() - MonsterplantPet.growTime); - pet.getRoomUnit().clearStatus(); - pet.cycle(); - pet.getRoomUnit().setStatus(RoomUnitStatus.GESTURE, "spd"); - pet.getRoomUnit().setStatus(RoomUnitStatus.fromString("grw" + ((MonsterplantPet) pet).getGrowthStage()), ""); - this.client.getHabbo().getHabboInfo().getCurrentRoom().removeHabboItem(item); - this.client.getHabbo().getHabboInfo().getCurrentRoom().sendComposer(new RemoveFloorItemComposer(item).compose()); - this.client.getHabbo().getHabboInfo().getCurrentRoom().sendComposer(new RoomUserStatusComposer(pet.getRoomUnit()).compose()); - this.client.getHabbo().getHabboInfo().getCurrentRoom().sendComposer(new PetStatusUpdateComposer(pet).compose()); - this.client.getHabbo().getHabboInfo().getCurrentRoom().updateTiles(room.getLayout().getTilesAt(room.getLayout().getTile(item.getX(), item.getY()), item.getBaseItem().getWidth(), item.getBaseItem().getLength(), item.getRotation())); - pet.getRoomUnit().removeStatus(RoomUnitStatus.GESTURE); - pet.cycle(); - Emulator.getThreading().run(new QueryDeleteHabboItem(item)); - } - } - else if (item.getBaseItem().getName().startsWith("mnstr_rebreed")) - { - if (((MonsterplantPet) pet).isFullyGrown() && !((MonsterplantPet) pet).canBreed()) - { - if ( - (item.getBaseItem().getName().equalsIgnoreCase("mnstr_rebreed") && ((MonsterplantPet) pet).getRarity() <= 5) || - (item.getBaseItem().getName().equalsIgnoreCase("mnstr_rebreed_2") && ((MonsterplantPet) pet).getRarity() >= 6 && ((MonsterplantPet) pet).getRarity() <= 8) || - (item.getBaseItem().getName().equalsIgnoreCase("mnstr_rebreed_3") && ((MonsterplantPet) pet).getRarity() >= 9) - ) - - { - ((MonsterplantPet) pet).setCanBreed(true); - pet.getRoomUnit().clearStatus(); - pet.getRoomUnit().setStatus(RoomUnitStatus.GESTURE, "reb"); - - this.client.getHabbo().getHabboInfo().getCurrentRoom().removeHabboItem(item); - this.client.getHabbo().getHabboInfo().getCurrentRoom().sendComposer(new RemoveFloorItemComposer(item).compose()); - this.client.getHabbo().getHabboInfo().getCurrentRoom().sendComposer(new RoomUserStatusComposer(pet.getRoomUnit()).compose()); - this.client.getHabbo().getHabboInfo().getCurrentRoom().sendComposer(new PetStatusUpdateComposer(pet).compose()); - this.client.getHabbo().getHabboInfo().getCurrentRoom().updateTiles(room.getLayout().getTilesAt(room.getLayout().getTile(item.getX(), item.getY()), item.getBaseItem().getWidth(), item.getBaseItem().getLength(), item.getRotation())); - pet.getRoomUnit().removeStatus(RoomUnitStatus.GESTURE); - Emulator.getThreading().run(new QueryDeleteHabboItem(item)); - } - } - } } } } diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/pets/PetPackageNameEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/pets/PetPackageNameEvent.java index 660a753c..8c26286e 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/pets/PetPackageNameEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/pets/PetPackageNameEvent.java @@ -94,6 +94,5 @@ public class PetPackageNameEvent extends MessageHandler this.client.sendResponse(new PetPackageNameValidationComposer(itemId, PetPackageNameValidationComposer.CLOSE_WIDGET, "")); - return; } } \ No newline at end of file diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/pets/PetPlaceEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/pets/PetPlaceEvent.java index 032c5632..f4dc1c81 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/pets/PetPlaceEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/pets/PetPlaceEvent.java @@ -42,7 +42,7 @@ public class PetPlaceEvent extends MessageHandler int x = this.packet.readInt(); int y = this.packet.readInt(); - RoomTile tile = null; + RoomTile tile; RoomTile playerTile = this.client.getHabbo().getRoomUnit().getCurrentLocation(); if ((x == 0 && y == 0) || !room.isOwner(this.client.getHabbo())) diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/pets/StopBreedingEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/pets/StopBreedingEvent.java index facd857c..b795872f 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/pets/StopBreedingEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/pets/StopBreedingEvent.java @@ -13,7 +13,7 @@ public class StopBreedingEvent extends MessageHandler HabboItem item = this.client.getHabbo().getHabboInfo().getCurrentRoom().getHabboItem(itemId); - if (item != null && item instanceof InteractionPetBreedingNest) + if (item instanceof InteractionPetBreedingNest) { ((InteractionPetBreedingNest) item).stopBreeding(this.client.getHabbo()); } 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 54e5fe85..125ecc9d 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 @@ -28,7 +28,7 @@ public class RoomUserKickEvent extends MessageHandler if(target == null) return; - if (target.hasPermission(Permission.ACC_UNKICKABLE)) + if (target.hasPermission(Permission.ACC_UNKICKABLE) || target.getHabboInfo().getRank().getId() > this.client.getHabbo().getHabboInfo().getRank().getId()) { this.client.sendResponse(new RoomUserWhisperComposer(new RoomChatMessage(Emulator.getTexts().getValue("commands.error.cmd_kick.unkickable").replace("%username%", target.getHabboInfo().getUsername()), this.client.getHabbo(), this.client.getHabbo(), RoomChatMessageBubbles.ALERT))); return; @@ -47,6 +47,8 @@ public class RoomUserKickEvent extends MessageHandler if(room.hasRights(this.client.getHabbo()) || this.client.getHabbo().hasPermission(Permission.ACC_ANYROOMOWNER) || this.client.getHabbo().hasPermission("acc_ambassador")) { + if (target.hasPermission(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/RoomUserShoutEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/users/RoomUserShoutEvent.java index ef68b677..402c56ad 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/users/RoomUserShoutEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/users/RoomUserShoutEvent.java @@ -39,8 +39,8 @@ public class RoomUserShoutEvent extends MessageHandler } else { - String reportMessage = Emulator.getTexts().getValue("scripter.warning.chat.length").replace("%username%", client.getHabbo().getHabboInfo().getUsername()).replace("%length%", message.getMessage().length() + ""); - Emulator.getGameEnvironment().getModToolManager().quickTicket(client.getHabbo(), "Scripter", reportMessage); + String reportMessage = Emulator.getTexts().getValue("scripter.warning.chat.length").replace("%username%", this.client.getHabbo().getHabboInfo().getUsername()).replace("%length%", message.getMessage().length() + ""); + Emulator.getGameEnvironment().getModToolManager().quickTicket(this.client.getHabbo(), "Scripter", reportMessage); Emulator.getLogging().logUserLine(reportMessage); } } diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/users/RoomUserTalkEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/users/RoomUserTalkEvent.java index b195526e..c1590b04 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/users/RoomUserTalkEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/users/RoomUserTalkEvent.java @@ -40,8 +40,8 @@ public class RoomUserTalkEvent extends MessageHandler { } else { - String reportMessage = Emulator.getTexts().getValue("scripter.warning.chat.length").replace("%username%", client.getHabbo().getHabboInfo().getUsername()).replace("%length%", message.getMessage().length() + ""); - Emulator.getGameEnvironment().getModToolManager().quickTicket(client.getHabbo(), "Scripter", reportMessage); + String reportMessage = Emulator.getTexts().getValue("scripter.warning.chat.length").replace("%username%", this.client.getHabbo().getHabboInfo().getUsername()).replace("%length%", message.getMessage().length() + ""); + Emulator.getGameEnvironment().getModToolManager().quickTicket(this.client.getHabbo(), "Scripter", reportMessage); Emulator.getLogging().logUserLine(reportMessage); } } diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/users/RoomUserWhisperEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/users/RoomUserWhisperEvent.java index 523c09fc..5a70a64f 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/users/RoomUserWhisperEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/users/RoomUserWhisperEvent.java @@ -35,8 +35,8 @@ public class RoomUserWhisperEvent extends MessageHandler } else { - String reportMessage = Emulator.getTexts().getValue("scripter.warning.chat.length").replace("%username%", client.getHabbo().getHabboInfo().getUsername()).replace("%length%", chatMessage.getMessage().length() + ""); - Emulator.getGameEnvironment().getModToolManager().quickTicket(client.getHabbo(), "Scripter", reportMessage); + String reportMessage = Emulator.getTexts().getValue("scripter.warning.chat.length").replace("%username%", this.client.getHabbo().getHabboInfo().getUsername()).replace("%length%", chatMessage.getMessage().length() + ""); + Emulator.getGameEnvironment().getModToolManager().quickTicket(this.client.getHabbo(), "Scripter", reportMessage); Emulator.getLogging().logUserLine(reportMessage); } } diff --git a/src/main/java/com/eu/habbo/messages/incoming/trading/TradeCancelOfferItemEvent.java b/src/main/java/com/eu/habbo/messages/incoming/trading/TradeCancelOfferItemEvent.java index 7b7341bf..5c795198 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/trading/TradeCancelOfferItemEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/trading/TradeCancelOfferItemEvent.java @@ -12,13 +12,14 @@ public class TradeCancelOfferItemEvent extends MessageHandler int itemId = this.packet.readInt(); RoomTrade trade = this.client.getHabbo().getHabboInfo().getCurrentRoom().getActiveTradeForHabbo(this.client.getHabbo()); - HabboItem item = trade.getRoomTradeUserForHabbo(this.client.getHabbo()).getItem(itemId); - - if(trade == null || trade.getRoomTradeUserForHabbo(this.client.getHabbo()).getAccepted() || item == null) + if (trade != null) { - return; - } + HabboItem item = trade.getRoomTradeUserForHabbo(this.client.getHabbo()).getItem(itemId); - trade.removeItem(this.client.getHabbo(), item); + if (!trade.getRoomTradeUserForHabbo(this.client.getHabbo()).getAccepted() && item != null) + { + trade.removeItem(this.client.getHabbo(), item); + } + } } } diff --git a/src/main/java/com/eu/habbo/messages/incoming/users/ChangeNameCheckUsernameEvent.java b/src/main/java/com/eu/habbo/messages/incoming/users/ChangeNameCheckUsernameEvent.java index a1ff60ff..8467d889 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/users/ChangeNameCheckUsernameEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/users/ChangeNameCheckUsernameEvent.java @@ -11,7 +11,7 @@ import java.util.List; public class ChangeNameCheckUsernameEvent extends MessageHandler { - public static String VALID_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_-=!?@:,."; + public static final String VALID_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_-=!?@:,."; @Override public void handle() throws Exception @@ -33,7 +33,6 @@ public class ChangeNameCheckUsernameEvent extends MessageHandler List suggestions = new ArrayList<>(4); if (false) { - errorCode = ChangeNameCheckResultComposer.DISABLED; } else if (name.length() < 3) { diff --git a/src/main/java/com/eu/habbo/messages/incoming/users/EnableEffectEvent.java b/src/main/java/com/eu/habbo/messages/incoming/users/EnableEffectEvent.java index 70c032e6..f93d8d5b 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/users/EnableEffectEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/users/EnableEffectEvent.java @@ -22,7 +22,7 @@ public class EnableEffectEvent extends MessageHandler if (this.client.getHabbo().getHabboInfo().getCurrentRoom() != null) { - this.client.getHabbo().getHabboInfo().getCurrentRoom().giveEffect(this.client.getHabbo().getRoomUnit(), 0); + this.client.getHabbo().getHabboInfo().getCurrentRoom().giveEffect(this.client.getHabbo().getRoomUnit(), 0, -1); } } } diff --git a/src/main/java/com/eu/habbo/messages/incoming/users/UserNuxEvent.java b/src/main/java/com/eu/habbo/messages/incoming/users/UserNuxEvent.java index f3a5d116..056eff9a 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/users/UserNuxEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/users/UserNuxEvent.java @@ -13,17 +13,17 @@ public class UserNuxEvent extends MessageHandler public static Map keys = new HashMap() { { - put(1, "BOTTOM_BAR_RECEPTION"); - put(2, "BOTTOM_BAR_NAVIGATOR"); - put(3, "CHAT_INPUT"); - put(4, "CHAT_HISTORY_BUTTON"); - put(5, "MEMENU_CLOTHES"); - put(6, "BOTTOM_BAR_CATALOGUE"); - put(7, "CREDITS_BUTTON"); - put(8, "DUCKETS_BUTTON"); - put(9, "DIAMONDS_BUTTON"); - put(10, "FRIENDS_BAR_ALL_FRIENDS"); - put(11, "BOTTOM_BAR_NAVIGATOR"); + this.put(1, "BOTTOM_BAR_RECEPTION"); + this.put(2, "BOTTOM_BAR_NAVIGATOR"); + this.put(3, "CHAT_INPUT"); + this.put(4, "CHAT_HISTORY_BUTTON"); + this.put(5, "MEMENU_CLOTHES"); + this.put(6, "BOTTOM_BAR_CATALOGUE"); + this.put(7, "CREDITS_BUTTON"); + this.put(8, "DUCKETS_BUTTON"); + this.put(9, "DIAMONDS_BUTTON"); + this.put(10, "FRIENDS_BAR_ALL_FRIENDS"); + this.put(11, "BOTTOM_BAR_NAVIGATOR"); } }; @Override diff --git a/src/main/java/com/eu/habbo/messages/incoming/users/UserSaveLookEvent.java b/src/main/java/com/eu/habbo/messages/incoming/users/UserSaveLookEvent.java index 517ae32b..8197ed57 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/users/UserSaveLookEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/users/UserSaveLookEvent.java @@ -29,23 +29,20 @@ public class UserSaveLookEvent extends MessageHandler } String look = this.packet.readString(); - if(gender != null) + UserSavedLookEvent lookEvent = new UserSavedLookEvent(this.client.getHabbo(), gender, look); + Emulator.getPluginManager().fireEvent(lookEvent); + if(lookEvent.isCancelled()) + return; + + this.client.getHabbo().getHabboInfo().setLook(lookEvent.newLook); + this.client.getHabbo().getHabboInfo().setGender(lookEvent.gender); + Emulator.getThreading().run(this.client.getHabbo().getHabboInfo()); + this.client.sendResponse(new UpdateUserLookComposer(this.client.getHabbo())); + if(this.client.getHabbo().getHabboInfo().getCurrentRoom() != null) { - UserSavedLookEvent lookEvent = new UserSavedLookEvent(this.client.getHabbo(), gender, look); - Emulator.getPluginManager().fireEvent(lookEvent); - if(lookEvent.isCancelled()) - return; - - this.client.getHabbo().getHabboInfo().setLook(lookEvent.newLook); - this.client.getHabbo().getHabboInfo().setGender(lookEvent.gender); - Emulator.getThreading().run(this.client.getHabbo().getHabboInfo()); - this.client.sendResponse(new UpdateUserLookComposer(this.client.getHabbo())); - if(this.client.getHabbo().getHabboInfo().getCurrentRoom() != null) - { - this.client.getHabbo().getHabboInfo().getCurrentRoom().sendComposer(new RoomUserDataComposer(this.client.getHabbo()).compose()); - } - - AchievementManager.progressAchievement(this.client.getHabbo(), Emulator.getGameEnvironment().getAchievementManager().getAchievement("AvatarLooks")); + this.client.getHabbo().getHabboInfo().getCurrentRoom().sendComposer(new RoomUserDataComposer(this.client.getHabbo()).compose()); } + + AchievementManager.progressAchievement(this.client.getHabbo(), Emulator.getGameEnvironment().getAchievementManager().getAchievement("AvatarLooks")); } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/achievements/AchievementListComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/achievements/AchievementListComposer.java index 6967b5ee..0bc81268 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/achievements/AchievementListComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/achievements/AchievementListComposer.java @@ -25,41 +25,38 @@ public class AchievementListComposer extends MessageComposer try { - synchronized (Emulator.getGameEnvironment().getAchievementManager().getAchievements()) + this.response.appendInt(Emulator.getGameEnvironment().getAchievementManager().getAchievements().size()); + + for (Achievement achievement : Emulator.getGameEnvironment().getAchievementManager().getAchievements().values()) { - this.response.appendInt(Emulator.getGameEnvironment().getAchievementManager().getAchievements().size()); + int achievementProgress; + AchievementLevel currentLevel; + AchievementLevel nextLevel; - for (Achievement achievement : Emulator.getGameEnvironment().getAchievementManager().getAchievements().values()) - { - int achievementProgress; - AchievementLevel currentLevel = null; - AchievementLevel nextLevel = null; + achievementProgress = this.habbo.getHabboStats().getAchievementProgress(achievement); + currentLevel = achievement.getLevelForProgress(achievementProgress); + nextLevel = achievement.getNextLevel(currentLevel != null ? currentLevel.level : 0); - achievementProgress = this.habbo.getHabboStats().getAchievementProgress(achievement); - currentLevel = achievement.getLevelForProgress(achievementProgress); - nextLevel = achievement.getNextLevel(currentLevel != null ? currentLevel.level : 0); - - this.response.appendInt(achievement.id); //ID - this.response.appendInt(nextLevel != null ? nextLevel.level : currentLevel.level); // - this.response.appendString("ACH_" + achievement.name + (nextLevel != null ? nextLevel.level : currentLevel.level)); //Target badge code - this.response.appendInt(currentLevel != null ? currentLevel.progress : 0); //Last level progress needed - this.response.appendInt(nextLevel != null ? nextLevel.progress : -1); //Progress needed - this.response.appendInt(nextLevel != null ? nextLevel.rewardAmount : -1); //Reward amount - this.response.appendInt(nextLevel != null ? nextLevel.rewardType : -1); //Reward currency ID - this.response.appendInt(achievementProgress <= 0 ? 0 : achievementProgress); //Current progress - this.response.appendBoolean(AchievementManager.hasAchieved(habbo, achievement)); //Achieved? (Current Progress == MaxLevel.Progress) - this.response.appendString(achievement.category.toString().toLowerCase()); //Category - this.response.appendString(""); //Empty, completly unused in client code - this.response.appendInt(achievement.levels.size()); //Count of total levels in this achievement - this.response.appendInt(AchievementManager.hasAchieved(habbo, achievement) ? 1 : 0); //1 = Progressbar visible if the achievement is completed - } - - this.response.appendString(""); + this.response.appendInt(achievement.id); //ID + this.response.appendInt(nextLevel != null ? nextLevel.level : currentLevel != null ? currentLevel.level : 0); // + this.response.appendString("ACH_" + achievement.name + (nextLevel != null ? nextLevel.level : currentLevel != null ? currentLevel.level : 0)); //Target badge code + this.response.appendInt(currentLevel != null ? currentLevel.progress : 0); //Last level progress needed + this.response.appendInt(nextLevel != null ? nextLevel.progress : -1); //Progress needed + this.response.appendInt(nextLevel != null ? nextLevel.rewardAmount : -1); //Reward amount + this.response.appendInt(nextLevel != null ? nextLevel.rewardType : -1); //Reward currency ID + this.response.appendInt(achievementProgress <= 0 ? 0 : achievementProgress); //Current progress + this.response.appendBoolean(AchievementManager.hasAchieved(this.habbo, achievement)); //Achieved? (Current Progress == MaxLevel.Progress) + this.response.appendString(achievement.category.toString().toLowerCase()); //Category + this.response.appendString(""); //Empty, completly unused in client code + this.response.appendInt(achievement.levels.size()); //Count of total levels in this achievement + this.response.appendInt(AchievementManager.hasAchieved(this.habbo, achievement) ? 1 : 0); //1 = Progressbar visible if the achievement is completed } + + this.response.appendString(""); } catch (Exception e) { - e.printStackTrace(); + Emulator.getLogging().logErrorLine(e); } return this.response; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/achievements/AchievementProgressComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/achievements/AchievementProgressComposer.java index 1b3fe686..ac7b1cce 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/achievements/AchievementProgressComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/achievements/AchievementProgressComposer.java @@ -25,14 +25,14 @@ public class AchievementProgressComposer extends MessageComposer this.response.init(Outgoing.AchievementProgressComposer); int achievementProgress; - AchievementLevel currentLevel = null; - AchievementLevel nextLevel = null; + AchievementLevel currentLevel; + AchievementLevel nextLevel; - achievementProgress = this.habbo.getHabboStats().getAchievementProgress(achievement); - currentLevel = achievement.getLevelForProgress(achievementProgress); - nextLevel = achievement.getNextLevel(currentLevel != null ? currentLevel.level : 0); + achievementProgress = this.habbo.getHabboStats().getAchievementProgress(this.achievement); + currentLevel = this.achievement.getLevelForProgress(achievementProgress); + nextLevel = this.achievement.getNextLevel(currentLevel != null ? currentLevel.level : 0); - if(currentLevel != null && currentLevel.level == achievement.levels.size()) + if(currentLevel != null && currentLevel.level == this.achievement.levels.size()) nextLevel = null; int targetLevel = 1; @@ -40,21 +40,21 @@ public class AchievementProgressComposer extends MessageComposer if(nextLevel != null) targetLevel = nextLevel.level; - if(currentLevel != null && currentLevel.level == achievement.levels.size()) + if(currentLevel != null && currentLevel.level == this.achievement.levels.size()) targetLevel = currentLevel.level; - this.response.appendInt(achievement.id); //ID + this.response.appendInt(this.achievement.id); //ID this.response.appendInt(targetLevel); //Target level - this.response.appendString("ACH_" + achievement.name + targetLevel); //Target badge code + this.response.appendString("ACH_" + this.achievement.name + targetLevel); //Target badge code this.response.appendInt(currentLevel != null ? currentLevel.progress : 0); //Last level progress needed this.response.appendInt(nextLevel != null ? nextLevel.progress : 0); //Progress needed this.response.appendInt(nextLevel != null ? nextLevel.rewardAmount : 0); //Reward amount this.response.appendInt(nextLevel != null ? nextLevel.rewardType : 0); //Reward currency ID this.response.appendInt(achievementProgress == -1 ? 0 : achievementProgress); //Current progress - this.response.appendBoolean(AchievementManager.hasAchieved(habbo, achievement)); //Achieved? (Current Progress == MaxLevel.Progress) - this.response.appendString(achievement.category.toString().toLowerCase()); //Category + this.response.appendBoolean(AchievementManager.hasAchieved(this.habbo, this.achievement)); //Achieved? (Current Progress == MaxLevel.Progress) + this.response.appendString(this.achievement.category.toString().toLowerCase()); //Category this.response.appendString(""); //Empty, completly unused in client code - this.response.appendInt(achievement.levels.size()); //Count of total levels in this achievement + this.response.appendInt(this.achievement.levels.size()); //Count of total levels in this achievement this.response.appendInt(0); //1 = Progressbar visible if the achievement is completed return this.response; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/achievements/talenttrack/TalentTrackComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/achievements/talenttrack/TalentTrackComposer.java index 6a7f3e81..1e562666 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/achievements/talenttrack/TalentTrackComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/achievements/talenttrack/TalentTrackComposer.java @@ -1,7 +1,6 @@ package com.eu.habbo.messages.outgoing.achievements.talenttrack; import com.eu.habbo.Emulator; -import com.eu.habbo.habbohotel.achievements.Achievement; import com.eu.habbo.habbohotel.achievements.AchievementLevel; import com.eu.habbo.habbohotel.achievements.TalentTrackLevel; import com.eu.habbo.habbohotel.achievements.TalentTrackType; @@ -10,7 +9,6 @@ import com.eu.habbo.habbohotel.users.Habbo; import com.eu.habbo.messages.ServerMessage; import com.eu.habbo.messages.outgoing.MessageComposer; import com.eu.habbo.messages.outgoing.Outgoing; -import gnu.trove.procedure.TObjectIntProcedure; import java.util.LinkedHashMap; import java.util.Map; @@ -51,7 +49,6 @@ public class TalentTrackComposer extends MessageComposer if (talentTrackLevels != null) { this.response.appendInt(talentTrackLevels.size()); //Count - final boolean[] allCompleted = {true}; for (Map.Entry set : talentTrackLevels.entrySet()) { try @@ -62,7 +59,7 @@ public class TalentTrackComposer extends MessageComposer TalentTrackState state = TalentTrackState.LOCKED; - int currentLevel = habbo.getHabboStats().talentTrackLevel(this.type); + int currentLevel = this.habbo.getHabboStats().talentTrackLevel(this.type); if (currentLevel + 1 == level.level) { @@ -77,54 +74,51 @@ public class TalentTrackComposer extends MessageComposer this.response.appendInt(level.achievements.size()); final TalentTrackState finalState = state; - level.achievements.forEachEntry(new TObjectIntProcedure() - { - @Override - public boolean execute(Achievement achievement, int b) + level.achievements.forEachEntry((achievement, index) -> { + if (achievement != null) { - if (achievement != null) + this.response.appendInt(achievement.id); + + //TODO Move this to TalenTrackLevel class + this.response.appendInt(index); //idk + this.response.appendString("ACH_" + achievement.name + index); + + int progress = Math.max(0, this.habbo.getHabboStats().getAchievementProgress(achievement)); + AchievementLevel achievementLevel = achievement.getLevelForProgress(progress); + + if (achievementLevel == null) { - response.appendInt(achievement.id); - - //TODO Move this to TalenTrackLevel class - response.appendInt(b); //idk - response.appendString("ACH_" + achievement.name + b); - - int progress = habbo.getHabboStats().getAchievementProgress(achievement); - AchievementLevel achievementLevel = achievement.getLevelForProgress(progress); - - if (finalState != TalentTrackState.LOCKED) + achievementLevel = achievement.firstLevel(); + } + if (finalState != TalentTrackState.LOCKED) + { + if (achievementLevel != null && achievementLevel.progress <= progress) { - if (achievementLevel != null && achievementLevel.progress <= progress) - { - response.appendInt(2); - } - else - { - response.appendInt(1); - allCompleted[0] = false; - } + this.response.appendInt(2); } else { - response.appendInt(0); - allCompleted[0] = false; + this.response.appendInt(1); } - response.appendInt(progress); - response.appendInt(achievementLevel != null ? achievementLevel.progress : 0); } else { - response.appendInt(0); - response.appendInt(0); - response.appendString(""); - response.appendString(""); - response.appendInt(0); - response.appendInt(0); - response.appendInt(0); + this.response.appendInt(0); } - return true; + this.response.appendInt(progress); + this.response.appendInt(achievementLevel != null ? achievementLevel.progress : 0); } + else + { + this.response.appendInt(0); + this.response.appendInt(0); + this.response.appendString(""); + this.response.appendString(""); + this.response.appendInt(0); + this.response.appendInt(0); + this.response.appendInt(0); + } + return true; }); diff --git a/src/main/java/com/eu/habbo/messages/outgoing/camera/CameraPurchaseSuccesfullComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/camera/CameraPurchaseSuccesfullComposer.java index a9bf5c8e..ab151cd6 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/camera/CameraPurchaseSuccesfullComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/camera/CameraPurchaseSuccesfullComposer.java @@ -10,7 +10,6 @@ public class CameraPurchaseSuccesfullComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.CameraPurchaseSuccesfullComposer); - return this.response; } } \ No newline at end of file diff --git a/src/main/java/com/eu/habbo/messages/outgoing/camera/CameraURLComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/camera/CameraURLComposer.java index fe7781dc..37c6d315 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/camera/CameraURLComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/camera/CameraURLComposer.java @@ -6,11 +6,11 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class CameraURLComposer extends MessageComposer { - public final String URL; + private final String URL; public CameraURLComposer(String url) { - URL = url; + this.URL = url; } @Override diff --git a/src/main/java/com/eu/habbo/messages/outgoing/catalog/AlertPurchaseUnavailableComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/catalog/AlertPurchaseUnavailableComposer.java index b2b26631..8d6cd26e 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/catalog/AlertPurchaseUnavailableComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/catalog/AlertPurchaseUnavailableComposer.java @@ -9,7 +9,7 @@ public class AlertPurchaseUnavailableComposer extends MessageComposer public final static int ILLEGAL = 0; public final static int REQUIRES_CLUB = 1; - private int code; + private final int code; public AlertPurchaseUnavailableComposer(int code) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/catalog/CatalogModeComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/catalog/CatalogModeComposer.java index 9de637e7..27414534 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/catalog/CatalogModeComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/catalog/CatalogModeComposer.java @@ -6,7 +6,7 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class CatalogModeComposer extends MessageComposer { - private int mode = 0; + private final int mode; public CatalogModeComposer(int mode) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/catalog/CatalogPageComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/catalog/CatalogPageComposer.java index c327808d..1807642d 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/catalog/CatalogPageComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/catalog/CatalogPageComposer.java @@ -50,8 +50,7 @@ public class CatalogPageComposer extends MessageComposer else { this.response.appendInt(this.page.getCatalogItems().size()); - List items = new ArrayList<>(); - items.addAll(this.page.getCatalogItems().valueCollection()); + List items = new ArrayList<>(this.page.getCatalogItems().valueCollection()); Collections.sort(items); for (CatalogItem item : items) { @@ -63,7 +62,7 @@ public class CatalogPageComposer extends MessageComposer if (this.page instanceof FrontPageFeaturedLayout || this.page instanceof FrontpageLayout) { - serializeExtra(this.response); + this.serializeExtra(this.response); } return this.response; 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 00f207e3..25c63dae 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 @@ -41,7 +41,7 @@ public class CatalogPagesListComposer extends MessageComposer for (CatalogPage category : pages) { - append(category); + this.append(category); } this.response.appendBoolean(false); @@ -51,7 +51,7 @@ public class CatalogPagesListComposer extends MessageComposer } catch(Exception e) { - e.printStackTrace(); + Emulator.getLogging().logErrorLine(e); } return null; @@ -65,7 +65,7 @@ public class CatalogPagesListComposer extends MessageComposer this.response.appendInt(category.getIconImage()); this.response.appendInt(category.isEnabled() ? category.getId() : -1); this.response.appendString(category.getPageName()); - this.response.appendString(category.getCaption() + (hasPermission ? " (" + category.getId() + ")" : "")); + this.response.appendString(category.getCaption() + (this.hasPermission ? " (" + category.getId() + ")" : "")); this.response.appendInt(category.getOfferIds().size()); for(int i : category.getOfferIds().toArray()) @@ -77,7 +77,7 @@ public class CatalogPagesListComposer extends MessageComposer for (CatalogPage page : pagesList) { - append(page); + this.append(page); } } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/catalog/CatalogSearchResultComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/catalog/CatalogSearchResultComposer.java index b8583e6d..447e5f01 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/catalog/CatalogSearchResultComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/catalog/CatalogSearchResultComposer.java @@ -7,7 +7,7 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class CatalogSearchResultComposer extends MessageComposer { - private CatalogItem item; + private final CatalogItem item; public CatalogSearchResultComposer(CatalogItem item) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/catalog/ClubCenterDataComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/catalog/ClubCenterDataComposer.java index 82362de0..37860b6f 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/catalog/ClubCenterDataComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/catalog/ClubCenterDataComposer.java @@ -6,13 +6,13 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class ClubCenterDataComposer extends MessageComposer { - public final int streakDuration; - public final String joinDate; - public final double percentage; - public final int creditsSpend; - public final int creditsBonus; - public final int spendBonus; - public final int delay; + private final int streakDuration; + private final String joinDate; + private final double percentage; + private final int creditsSpend; + private final int creditsBonus; + private final int spendBonus; + private final int delay; public ClubCenterDataComposer(int streakDuration, String joinDate, double percentage, int creditsSpend, int creditsBonus, int spendBonus, int delay) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/unknown/ClubDataComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/catalog/ClubDataComposer.java similarity index 91% rename from src/main/java/com/eu/habbo/messages/outgoing/unknown/ClubDataComposer.java rename to src/main/java/com/eu/habbo/messages/outgoing/catalog/ClubDataComposer.java index eb79a812..ca659fdc 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/unknown/ClubDataComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/catalog/ClubDataComposer.java @@ -1,4 +1,4 @@ -package com.eu.habbo.messages.outgoing.unknown; +package com.eu.habbo.messages.outgoing.catalog; import com.eu.habbo.Emulator; import com.eu.habbo.habbohotel.catalog.ClubOffer; @@ -40,7 +40,7 @@ public class ClubDataComposer extends MessageComposer this.response.appendInt(offer.getPointsType()); this.response.appendBoolean(offer.isVip()); - long seconds = offer.getDays() * 86400l; + long seconds = offer.getDays() * 86400L; long secondsTotal = seconds; @@ -58,7 +58,7 @@ public class ClubDataComposer extends MessageComposer this.response.appendBoolean(false); //giftable this.response.appendInt((int) seconds); - int endTimestamp = habbo.getHabboStats().getClubExpireTimestamp(); + int endTimestamp = this.habbo.getHabboStats().getClubExpireTimestamp(); if (endTimestamp < Emulator.getIntUnixTimestamp()) { @@ -68,7 +68,7 @@ public class ClubDataComposer extends MessageComposer endTimestamp += secondsTotal; Calendar cal = Calendar.getInstance(); - cal.setTimeInMillis(endTimestamp * 1000l); + cal.setTimeInMillis(endTimestamp * 1000L); this.response.appendInt(cal.get(Calendar.YEAR)); this.response.appendInt(cal.get(Calendar.MONTH) + 1); this.response.appendInt(cal.get(Calendar.DAY_OF_MONTH)); diff --git a/src/main/java/com/eu/habbo/messages/outgoing/catalog/DiscountComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/catalog/DiscountComposer.java index 8353a6a7..1a44a341 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/catalog/DiscountComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/catalog/DiscountComposer.java @@ -10,7 +10,6 @@ public class DiscountComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.DiscountComposer); - this.response.appendInt(100); this.response.appendInt(6); this.response.appendInt(1); @@ -18,7 +17,6 @@ public class DiscountComposer extends MessageComposer this.response.appendInt(2); this.response.appendInt(40); this.response.appendInt(99); - return this.response; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/catalog/GiftConfigurationComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/catalog/GiftConfigurationComposer.java index 55a67ae3..230c1f5c 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/catalog/GiftConfigurationComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/catalog/GiftConfigurationComposer.java @@ -13,7 +13,6 @@ public class GiftConfigurationComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.GiftConfigurationComposer); - this.response.appendBoolean(true); this.response.appendInt(Emulator.getConfig().getInt("hotel.gifts.special.price", 2)); diff --git a/src/main/java/com/eu/habbo/messages/outgoing/catalog/GiftReceiverNotFoundComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/catalog/GiftReceiverNotFoundComposer.java index e6cecb59..0d191018 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/catalog/GiftReceiverNotFoundComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/catalog/GiftReceiverNotFoundComposer.java @@ -10,7 +10,6 @@ public class GiftReceiverNotFoundComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.GiftReceiverNotFoundComposer); - return this.response; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/catalog/PetBoughtNotificationComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/catalog/PetBoughtNotificationComposer.java index 2e897f40..2034051b 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/catalog/PetBoughtNotificationComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/catalog/PetBoughtNotificationComposer.java @@ -7,8 +7,8 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class PetBoughtNotificationComposer extends MessageComposer { - private Pet pet; - private boolean gift; + private final Pet pet; + private final boolean gift; public PetBoughtNotificationComposer(Pet pet, boolean gift) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/catalog/PetBreedsComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/catalog/PetBreedsComposer.java index 06da67eb..52ad1fa5 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/catalog/PetBreedsComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/catalog/PetBreedsComposer.java @@ -20,7 +20,7 @@ public class PetBreedsComposer extends MessageComposer @Override public ServerMessage compose() { - if(petRaces == null) + if(this.petRaces == null) return null; this.response.init(Outgoing.PetBreedsComposer); this.response.appendString(this.petName); diff --git a/src/main/java/com/eu/habbo/messages/outgoing/unknown/TargetedOfferComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/catalog/TargetedOfferComposer.java similarity index 94% rename from src/main/java/com/eu/habbo/messages/outgoing/unknown/TargetedOfferComposer.java rename to src/main/java/com/eu/habbo/messages/outgoing/catalog/TargetedOfferComposer.java index 5c87bc0d..da656ab3 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/unknown/TargetedOfferComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/catalog/TargetedOfferComposer.java @@ -1,4 +1,4 @@ -package com.eu.habbo.messages.outgoing.unknown; +package com.eu.habbo.messages.outgoing.catalog; import com.eu.habbo.habbohotel.catalog.TargetOffer; import com.eu.habbo.habbohotel.users.Habbo; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/catalog/marketplace/MarketplaceBuyErrorComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/catalog/marketplace/MarketplaceBuyErrorComposer.java index ae6bed20..151324fc 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/catalog/marketplace/MarketplaceBuyErrorComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/catalog/marketplace/MarketplaceBuyErrorComposer.java @@ -28,10 +28,10 @@ public class MarketplaceBuyErrorComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.MarketplaceBuyErrorComposer); - this.response.appendInt(this.errorCode); - this.response.appendInt(this.unknown); - this.response.appendInt(this.offerId); - this.response.appendInt(this.price); + this.response.appendInt(this.errorCode); //result + this.response.appendInt(this.unknown); //newOfferId + this.response.appendInt(this.offerId); //newPrice + this.response.appendInt(this.price); //requestedOfferId return this.response; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/catalog/marketplace/MarketplaceConfigComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/catalog/marketplace/MarketplaceConfigComposer.java index 284fb30c..cbfd532d 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/catalog/marketplace/MarketplaceConfigComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/catalog/marketplace/MarketplaceConfigComposer.java @@ -10,7 +10,6 @@ public class MarketplaceConfigComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.MarketplaceConfigComposer); - this.response.appendBoolean(true); this.response.appendInt(1); //Commision Percentage. this.response.appendInt(10); //Credits @@ -19,7 +18,6 @@ public class MarketplaceConfigComposer extends MessageComposer this.response.appendInt(1000000); //Max price this.response.appendInt(48); //Hours in marketplace this.response.appendInt(7); //Days to display - return this.response; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/catalog/marketplace/MarketplaceItemInfoComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/catalog/marketplace/MarketplaceItemInfoComposer.java index 7294a1a6..06686603 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/catalog/marketplace/MarketplaceItemInfoComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/catalog/marketplace/MarketplaceItemInfoComposer.java @@ -18,7 +18,7 @@ public class MarketplaceItemInfoComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.MarketplaceItemInfoComposer); - MarketPlace.serializeItemInfo(itemId, this.response); + MarketPlace.serializeItemInfo(this.itemId, this.response); return this.response; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/catalog/marketplace/MarketplaceItemPostedComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/catalog/marketplace/MarketplaceItemPostedComposer.java index f3263b62..ed9cbbf2 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/catalog/marketplace/MarketplaceItemPostedComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/catalog/marketplace/MarketplaceItemPostedComposer.java @@ -11,12 +11,13 @@ public class MarketplaceItemPostedComposer extends MessageComposer public static final int MARKETPLACE_DISABLED = 3; public static final int ITEM_JUST_ADDED_TO_SHOP = 4; - private int code; + private final int code; public MarketplaceItemPostedComposer(int code) { this.code = code; } + @Override public ServerMessage compose() { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/catalog/marketplace/MarketplaceOwnItemsComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/catalog/marketplace/MarketplaceOwnItemsComposer.java index ea368a70..4bd7efe8 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/catalog/marketplace/MarketplaceOwnItemsComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/catalog/marketplace/MarketplaceOwnItemsComposer.java @@ -10,7 +10,7 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class MarketplaceOwnItemsComposer extends MessageComposer { - private Habbo habbo; + private final Habbo habbo; public MarketplaceOwnItemsComposer(Habbo habbo) { @@ -21,10 +21,10 @@ public class MarketplaceOwnItemsComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.MarketplaceOwnItemsComposer); - this.response.appendInt(habbo.getInventory().getSoldPriceTotal()); - this.response.appendInt(habbo.getInventory().getMarketplaceItems().size()); + this.response.appendInt(this.habbo.getInventory().getSoldPriceTotal()); + this.response.appendInt(this.habbo.getInventory().getMarketplaceItems().size()); - for(MarketPlaceOffer offer : habbo.getInventory().getMarketplaceItems()) + for(MarketPlaceOffer offer : this.habbo.getInventory().getMarketplaceItems()) { try { @@ -68,7 +68,7 @@ public class MarketplaceOwnItemsComposer extends MessageComposer } catch (Exception e) { - e.printStackTrace(); + Emulator.getLogging().logErrorLine(e); } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/crafting/CraftableProductsComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/crafting/CraftableProductsComposer.java index 23bbafd5..a548e0e9 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/crafting/CraftableProductsComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/crafting/CraftableProductsComposer.java @@ -26,14 +26,14 @@ public class CraftableProductsComposer extends MessageComposer this.response.init(Outgoing.CraftableProductsComposer); this.response.appendInt(this.recipes.size()); - for (CraftingRecipe recipe : recipes) + for (CraftingRecipe recipe : this.recipes) { this.response.appendString(recipe.getName()); this.response.appendString(recipe.getReward().getName()); } this.response.appendInt(this.ingredients.size()); - for (Item item : ingredients) + for (Item item : this.ingredients) { this.response.appendString(item.getName()); } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/events/calendar/AdventCalendarDataComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/events/calendar/AdventCalendarDataComposer.java index 05690748..2f189ccc 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/events/calendar/AdventCalendarDataComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/events/calendar/AdventCalendarDataComposer.java @@ -8,11 +8,11 @@ import gnu.trove.procedure.TIntProcedure; public class AdventCalendarDataComposer extends MessageComposer { - public final String eventName; - public final int totalDays; - public final int currentDay; - public final TIntArrayList unlocked; - public final boolean lockExpired; + private final String eventName; + private final int totalDays; + private final int currentDay; + private final TIntArrayList unlocked; + private final boolean lockExpired; public AdventCalendarDataComposer(String eventName, int totalDays, int currentDay, TIntArrayList unlocked, boolean lockExpired) { @@ -35,7 +35,7 @@ public class AdventCalendarDataComposer extends MessageComposer this.response.appendInt(this.unlocked.size()); TIntArrayList expired = new TIntArrayList(); - for (int i = 0; i < totalDays; i++) + for (int i = 0; i < this.totalDays; i++) { expired.add(i); expired.remove(this.currentDay); @@ -46,7 +46,7 @@ public class AdventCalendarDataComposer extends MessageComposer @Override public boolean execute(int value) { - response.appendInt(value); + AdventCalendarDataComposer.this.response.appendInt(value); expired.remove(value); return true; } @@ -61,7 +61,7 @@ public class AdventCalendarDataComposer extends MessageComposer @Override public boolean execute(int value) { - response.appendInt(value); + AdventCalendarDataComposer.this.response.appendInt(value); return true; } }); diff --git a/src/main/java/com/eu/habbo/messages/outgoing/events/mysticbox/MysticBoxCloseComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/events/mysticbox/MysticBoxCloseComposer.java index b1a62918..927bb13e 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/events/mysticbox/MysticBoxCloseComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/events/mysticbox/MysticBoxCloseComposer.java @@ -10,7 +10,6 @@ public class MysticBoxCloseComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.MysticBoxCloseComposer); - return this.response; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/events/mysticbox/MysticBoxStartOpenComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/events/mysticbox/MysticBoxStartOpenComposer.java index d9e46f3c..9b699d2e 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/events/mysticbox/MysticBoxStartOpenComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/events/mysticbox/MysticBoxStartOpenComposer.java @@ -10,7 +10,6 @@ public class MysticBoxStartOpenComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.MysticBoxStartOpenComposer); - return this.response; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/friends/FriendChatMessageComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/friends/FriendChatMessageComposer.java index d01ca183..41bc517e 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/friends/FriendChatMessageComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/friends/FriendChatMessageComposer.java @@ -21,24 +21,24 @@ public class FriendChatMessageComposer extends MessageComposer { this.response.init(Outgoing.FriendChatMessageComposer); - if (message.getToId() == -1) + if (this.message.getToId() == -1) { this.response.appendInt(-1); } else { - this.response.appendInt(message.getFromId()); + this.response.appendInt(this.message.getFromId()); } - this.response.appendString(message.getMessage()); - this.response.appendInt(Emulator.getIntUnixTimestamp() - message.getTimestamp()); + this.response.appendString(this.message.getMessage()); + this.response.appendInt(Emulator.getIntUnixTimestamp() - this.message.getTimestamp()); - if (message.getToId() == -1) //TO Staff Chat + if (this.message.getToId() == -1) //TO Staff Chat { String name = "AUTO_MODERATOR"; String look = "lg-5635282-1193.hd-3091-1.sh-3089-73.cc-156282-64.hr-831-34.ha-1012-1186.ch-3050-62-62"; - if (message.getFromId() != -1) + if (this.message.getFromId() != -1) { - Habbo habbo = Emulator.getGameEnvironment().getHabboManager().getHabbo(message.getFromId()); + Habbo habbo = Emulator.getGameEnvironment().getHabboManager().getHabbo(this.message.getFromId()); if (habbo != null) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/friends/FriendFindingRoomComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/friends/FriendFindingRoomComposer.java index dd3ff15c..f28f8219 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/friends/FriendFindingRoomComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/friends/FriendFindingRoomComposer.java @@ -9,7 +9,7 @@ public class FriendFindingRoomComposer extends MessageComposer public static final int NO_ROOM_FOUND = 0; public static final int ROOM_FOUND = 1; - private int errorCode; + private final int errorCode; public FriendFindingRoomComposer(int errorCode) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/friends/FriendNotificationComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/friends/FriendNotificationComposer.java index 5134634d..0daf810b 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/friends/FriendNotificationComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/friends/FriendNotificationComposer.java @@ -14,9 +14,9 @@ public class FriendNotificationComposer extends MessageComposer public final static int FINISHED_GAME = 4; public final static int INVITE_TO_PLAY_GAME = 5; - private int userId; - private int type; - private String data; + private final int userId; + private final int type; + private final String data; public FriendNotificationComposer(int userId, int type, String data) { @@ -29,7 +29,7 @@ public class FriendNotificationComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.FriendToolbarNotificationComposer); - this.response.appendString(userId + ""); + this.response.appendString(this.userId + ""); this.response.appendInt(this.type); this.response.appendString(this.data); return this.response; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/friends/FriendsComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/friends/FriendsComposer.java index a9babaa0..c0275b9a 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/friends/FriendsComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/friends/FriendsComposer.java @@ -1,5 +1,6 @@ package com.eu.habbo.messages.outgoing.friends; +import com.eu.habbo.Emulator; import com.eu.habbo.habbohotel.messenger.MessengerBuddy; import com.eu.habbo.habbohotel.users.Habbo; import com.eu.habbo.habbohotel.users.HabboGender; @@ -49,7 +50,7 @@ public class FriendsComposer extends MessageComposer this.response.appendShort(row.getValue().getRelation()); } - if(habbo.hasPermission("acc_staff_chat")) + if(this.habbo.hasPermission("acc_staff_chat")) { this.response.appendInt(-1); this.response.appendString("Staff Chat"); @@ -70,7 +71,7 @@ public class FriendsComposer extends MessageComposer } catch(Exception e) { - e.printStackTrace(); + Emulator.getLogging().logErrorLine(e); } return null; } 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 8d52543d..8e71a90e 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 @@ -7,7 +7,7 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class MessengerInitComposer extends MessageComposer { - private Habbo habbo; + private final Habbo habbo; public MessengerInitComposer(Habbo habbo) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/friends/RemoveFriendComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/friends/RemoveFriendComposer.java index 0772346a..ea289652 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/friends/RemoveFriendComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/friends/RemoveFriendComposer.java @@ -7,7 +7,7 @@ import gnu.trove.list.array.TIntArrayList; public class RemoveFriendComposer extends MessageComposer { - private TIntArrayList unfriendIds; + private final TIntArrayList unfriendIds; public RemoveFriendComposer(TIntArrayList unfriendIds) { @@ -30,7 +30,7 @@ public class RemoveFriendComposer extends MessageComposer for(int i = 0; i < this.unfriendIds.size(); i++) { this.response.appendInt(-1); - this.response.appendInt(unfriendIds.get(i)); + this.response.appendInt(this.unfriendIds.get(i)); } return this.response; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/friends/RoomInviteComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/friends/RoomInviteComposer.java index 495a0c38..64a51315 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/friends/RoomInviteComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/friends/RoomInviteComposer.java @@ -6,8 +6,8 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class RoomInviteComposer extends MessageComposer { - private int userId; - private String message; + private final int userId; + private final String message; public RoomInviteComposer(int userId, String message) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/friends/RoomInviteErrorComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/friends/RoomInviteErrorComposer.java index 0ee77972..a1106c5b 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/friends/RoomInviteErrorComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/friends/RoomInviteErrorComposer.java @@ -29,7 +29,7 @@ public class RoomInviteErrorComposer extends MessageComposer @Override public boolean execute(MessengerBuddy object) { - response.appendInt(object.getId()); + RoomInviteErrorComposer.this.response.appendInt(object.getId()); return true; } }); diff --git a/src/main/java/com/eu/habbo/messages/outgoing/friends/UpdateFriendComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/friends/UpdateFriendComposer.java index b0a67e1c..6d83b140 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/friends/UpdateFriendComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/friends/UpdateFriendComposer.java @@ -29,7 +29,7 @@ public class UpdateFriendComposer extends MessageComposer { this.response.init(Outgoing.UpdateFriendComposer); - if(buddy != null) + if(this.buddy != null) { this.response.appendInt(0); this.response.appendInt(1); diff --git a/src/main/java/com/eu/habbo/messages/outgoing/friends/UserSearchResultComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/friends/UserSearchResultComposer.java index 140812ce..31e873c2 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/friends/UserSearchResultComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/friends/UserSearchResultComposer.java @@ -28,7 +28,7 @@ public class UserSearchResultComposer extends MessageComposer for(MessengerBuddy buddy : this.users) { - if(!buddy.getUsername().equals(this.habbo.getHabboInfo().getUsername()) && !inFriendList(buddy)) + if(!buddy.getUsername().equals(this.habbo.getHabboInfo().getUsername()) && !this.inFriendList(buddy)) { u.add(buddy); } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/gamecenter/basejump/BaseJumpLoadGameComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/gamecenter/basejump/BaseJumpLoadGameComposer.java index af56727e..1e5984f4 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/gamecenter/basejump/BaseJumpLoadGameComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/gamecenter/basejump/BaseJumpLoadGameComposer.java @@ -9,6 +9,7 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class BaseJumpLoadGameComposer extends MessageComposer { public static String FASTFOOD_KEY = ""; + private final GameClient client; private final int game; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/generic/MinimailCountComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/generic/MinimailCountComposer.java index 25768a4f..502aac66 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/generic/MinimailCountComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/generic/MinimailCountComposer.java @@ -6,13 +6,11 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class MinimailCountComposer extends MessageComposer { - @Override public ServerMessage compose() { this.response.init(Outgoing.MinimailCountComposer); this.response.appendInt(0); - return this.response; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/generic/PickMonthlyClubGiftNotificationComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/generic/PickMonthlyClubGiftNotificationComposer.java index ff684b4c..4f62dd7a 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/generic/PickMonthlyClubGiftNotificationComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/generic/PickMonthlyClubGiftNotificationComposer.java @@ -6,7 +6,7 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class PickMonthlyClubGiftNotificationComposer extends MessageComposer { - private int count; + private final int count; public PickMonthlyClubGiftNotificationComposer(int count) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/CustomNotificationComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/CustomNotificationComposer.java index c5f6fb79..36432486 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/CustomNotificationComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/CustomNotificationComposer.java @@ -12,7 +12,7 @@ public class CustomNotificationComposer extends MessageComposer public static final int STARS_NOT_CANDIDATE = 4; public static final int STARS_NOT_ENOUGH_USERS = 5; - private int type; + private final int type; public CustomNotificationComposer(int type) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/HotelClosedAndOpensComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/HotelClosedAndOpensComposer.java index 576b12b9..88b8198a 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/HotelClosedAndOpensComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/HotelClosedAndOpensComposer.java @@ -6,8 +6,8 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class HotelClosedAndOpensComposer extends MessageComposer { - private int hour; - private int minute; + private final int hour; + private final int minute; public HotelClosedAndOpensComposer(int hour, int minute) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/HotelClosesAndWillOpenAtComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/HotelClosesAndWillOpenAtComposer.java index e780527f..cb8ad53a 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/HotelClosesAndWillOpenAtComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/HotelClosesAndWillOpenAtComposer.java @@ -6,9 +6,9 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class HotelClosesAndWillOpenAtComposer extends MessageComposer { - private int hour; - private int minute; - private boolean disconnected; + private final int hour; + private final int minute; + private final boolean disconnected; public HotelClosesAndWillOpenAtComposer(int hour, int minute, boolean disconnected) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/HotelWillCloseInMinutesAndBackInComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/HotelWillCloseInMinutesAndBackInComposer.java index 6db67fd6..e38e3c25 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/HotelWillCloseInMinutesAndBackInComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/HotelWillCloseInMinutesAndBackInComposer.java @@ -6,8 +6,8 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class HotelWillCloseInMinutesAndBackInComposer extends MessageComposer { - private int closeInMinutes; - private int reopenInMinutes; + private final int closeInMinutes; + private final int reopenInMinutes; public HotelWillCloseInMinutesAndBackInComposer(int closeInMinutes, int reopenInMinutes) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/HotelWillCloseInMinutesComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/HotelWillCloseInMinutesComposer.java index 7975db7d..617e46f9 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/HotelWillCloseInMinutesComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/HotelWillCloseInMinutesComposer.java @@ -6,7 +6,7 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class HotelWillCloseInMinutesComposer extends MessageComposer { - private int minutes; + private final int minutes; public HotelWillCloseInMinutesComposer(int minutes) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/MessagesForYouComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/MessagesForYouComposer.java index 454ad05c..e6ac7820 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/MessagesForYouComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/MessagesForYouComposer.java @@ -9,8 +9,8 @@ import java.util.List; public class MessagesForYouComposer extends MessageComposer { - private String[] messages; - private List newMessages; + private final String[] messages; + private final List newMessages; public MessagesForYouComposer(String[] messages) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/StaffAlertAndOpenHabboWayComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/StaffAlertAndOpenHabboWayComposer.java index d1367871..7dadc242 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/StaffAlertAndOpenHabboWayComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/StaffAlertAndOpenHabboWayComposer.java @@ -6,7 +6,7 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class StaffAlertAndOpenHabboWayComposer extends MessageComposer { - private String message; + private final String message; public StaffAlertAndOpenHabboWayComposer(String message) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/StaffAlertWIthLinkAndOpenHabboWayComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/StaffAlertWIthLinkAndOpenHabboWayComposer.java index dfda5c5d..93b4cee7 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/StaffAlertWIthLinkAndOpenHabboWayComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/StaffAlertWIthLinkAndOpenHabboWayComposer.java @@ -6,8 +6,8 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class StaffAlertWIthLinkAndOpenHabboWayComposer extends MessageComposer { - private String message; - private String link; + private final String message; + private final String link; public StaffAlertWIthLinkAndOpenHabboWayComposer(String message, String link) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/StaffAlertWithLinkComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/StaffAlertWithLinkComposer.java index a8a3e805..fe42c034 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/StaffAlertWithLinkComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/StaffAlertWithLinkComposer.java @@ -6,8 +6,8 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class StaffAlertWithLinkComposer extends MessageComposer { - private String message; - private String link; + private final String message; + private final String link; public StaffAlertWithLinkComposer(String message, String link) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/guardians/GuardianNewReportReceivedComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/guardians/GuardianNewReportReceivedComposer.java index 950236e1..cb8c859c 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/guardians/GuardianNewReportReceivedComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/guardians/GuardianNewReportReceivedComposer.java @@ -8,13 +8,6 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class GuardianNewReportReceivedComposer extends MessageComposer { - private final GuardianTicket ticket; - - public GuardianNewReportReceivedComposer(GuardianTicket ticket) - { - this.ticket = ticket; - } - @Override public ServerMessage compose() { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/guardians/GuardianVotingRequestedComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/guardians/GuardianVotingRequestedComposer.java index d5214eef..e6229829 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/guardians/GuardianVotingRequestedComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/guardians/GuardianVotingRequestedComposer.java @@ -27,13 +27,13 @@ public class GuardianVotingRequestedComposer extends MessageComposer Calendar c = Calendar.getInstance(); c.setTime(this.ticket.getDate()); - String fullMessage = c.get(Calendar.YEAR) + " "; - fullMessage += c.get(Calendar.MONTH) + " "; - fullMessage += c.get(Calendar.DAY_OF_MONTH) + " "; - fullMessage += c.get(Calendar.MINUTE) + " "; - fullMessage += c.get(Calendar.SECOND) + ";"; + StringBuilder fullMessage = new StringBuilder(c.get(Calendar.YEAR) + " "); + fullMessage.append(c.get(Calendar.MONTH)).append(" "); + fullMessage.append(c.get(Calendar.DAY_OF_MONTH)).append(" "); + fullMessage.append(c.get(Calendar.MINUTE)).append(" "); + fullMessage.append(c.get(Calendar.SECOND)).append(";"); - fullMessage += "\r"; + fullMessage.append("\r"); for(ModToolChatLog chatLog : this.ticket.getChatLogs()) { @@ -42,12 +42,12 @@ public class GuardianVotingRequestedComposer extends MessageComposer mappedUsers.put(chatLog.habboId, mappedUsers.size()); } - fullMessage += "unused;" + mappedUsers.get(chatLog.habboId) + ";" + chatLog.message + "\r"; + fullMessage.append("unused;").append(mappedUsers.get(chatLog.habboId)).append(";").append(chatLog.message).append("\r"); } this.response.init(Outgoing.GuardianVotingRequestedComposer); this.response.appendInt(this.ticket.getTimeLeft()); - this.response.appendString(fullMessage); + this.response.appendString(fullMessage.toString()); //2015 10 17 14 24 30 return this.response; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/guardians/GuardianVotingResultComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/guardians/GuardianVotingResultComposer.java index 8de86e48..4060444a 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/guardians/GuardianVotingResultComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/guardians/GuardianVotingResultComposer.java @@ -31,7 +31,7 @@ public class GuardianVotingResultComposer extends MessageComposer for(Map.Entry set : this.ticket.getVotes().entrySet()) { - if(set.getValue().equals(vote)) + if(set.getValue().equals(this.vote)) continue; this.response.appendInt(set.getValue().type.getType()); diff --git a/src/main/java/com/eu/habbo/messages/outgoing/guardians/GuardianVotingTimeEnded.java b/src/main/java/com/eu/habbo/messages/outgoing/guardians/GuardianVotingTimeEnded.java index e0944bc0..561db3ef 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/guardians/GuardianVotingTimeEnded.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/guardians/GuardianVotingTimeEnded.java @@ -10,7 +10,6 @@ public class GuardianVotingTimeEnded extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.GuardianVotingTimeEnded); - //Empty Body return this.response; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/guides/GuideSessionAttachedComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/guides/GuideSessionAttachedComposer.java index af36015e..41ccb3b9 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/guides/GuideSessionAttachedComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/guides/GuideSessionAttachedComposer.java @@ -24,8 +24,8 @@ public class GuideSessionAttachedComposer extends MessageComposer this.response.init(Outgoing.GuideSessionAttachedComposer); this.response.appendBoolean(this.isHelper); //? //isHelper this.response.appendInt(1); //? Tour type - this.response.appendString(tour.getHelpRequest()); //? Instruction (Help message) - this.response.appendInt(isHelper ? 60 : Emulator.getGameEnvironment().getGuideManager().getAverageWaitingTime()); //? Avarage Waiting Time (for noob) | Time left to pickup (For helper) + this.response.appendString(this.tour.getHelpRequest()); //? Instruction (Help message) + this.response.appendInt(this.isHelper ? 60 : Emulator.getGameEnvironment().getGuideManager().getAverageWaitingTime()); //? Avarage Waiting Time (for noob) | Time left to pickup (For helper) return this.response; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/guides/GuideSessionRequesterRoomComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/guides/GuideSessionRequesterRoomComposer.java index 430bf181..c887f8b4 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/guides/GuideSessionRequesterRoomComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/guides/GuideSessionRequesterRoomComposer.java @@ -8,6 +8,7 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class GuideSessionRequesterRoomComposer extends MessageComposer { private final Room room; + public GuideSessionRequesterRoomComposer(Room room) { this.room = room; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/guides/GuideSessionStartedComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/guides/GuideSessionStartedComposer.java index 9516085f..5aee29e3 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/guides/GuideSessionStartedComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/guides/GuideSessionStartedComposer.java @@ -17,18 +17,13 @@ public class GuideSessionStartedComposer extends MessageComposer @Override public ServerMessage compose() { - //:test 3048 i:1 s:Admin s:b i:2 s:Derp s:d this.response.init(Outgoing.GuideSessionStartedComposer); - - //Help Requester - this.response.appendInt(this.tour.getNoob().getHabboInfo().getId()); //UserID 1? - this.response.appendString(this.tour.getNoob().getHabboInfo().getUsername()); //UserName 1? - this.response.appendString(this.tour.getNoob().getHabboInfo().getLook()); //Look 1? - - //Being helped by. - this.response.appendInt(this.tour.getHelper().getHabboInfo().getId()); //UserID 2? - this.response.appendString(this.tour.getHelper().getHabboInfo().getUsername()); //UserName 2? - this.response.appendString(this.tour.getHelper().getHabboInfo().getLook()); //Look 2? + this.response.appendInt(this.tour.getNoob().getHabboInfo().getId()); + this.response.appendString(this.tour.getNoob().getHabboInfo().getUsername()); + this.response.appendString(this.tour.getNoob().getHabboInfo().getLook()); + this.response.appendInt(this.tour.getHelper().getHabboInfo().getId()); + this.response.appendString(this.tour.getHelper().getHabboInfo().getUsername()); + this.response.appendString(this.tour.getHelper().getHabboInfo().getLook()); return this.response; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/guides/GuideToolsComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/guides/GuideToolsComposer.java index 31f63af0..966ae307 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/guides/GuideToolsComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/guides/GuideToolsComposer.java @@ -17,7 +17,6 @@ public class GuideToolsComposer extends MessageComposer @Override public ServerMessage compose() { - //:test 117 b:1 i:1 i:1 i:1 this.response.init(Outgoing.GuideToolsComposer); this.response.appendBoolean(this.onDuty); //OnDuty this.response.appendInt(0); //Guides On Duty diff --git a/src/main/java/com/eu/habbo/messages/outgoing/guilds/GuildConfirmRemoveMemberComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/guilds/GuildConfirmRemoveMemberComposer.java index 4a124ffb..b711438d 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/guilds/GuildConfirmRemoveMemberComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/guilds/GuildConfirmRemoveMemberComposer.java @@ -6,8 +6,8 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class GuildConfirmRemoveMemberComposer extends MessageComposer { - private int userId; - private int furniCount; + private final int userId; + private final int furniCount; public GuildConfirmRemoveMemberComposer(int userId, int furniCount) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/guilds/GuildEditFailComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/guilds/GuildEditFailComposer.java index 5e15647f..045e509d 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/guilds/GuildEditFailComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/guilds/GuildEditFailComposer.java @@ -11,7 +11,7 @@ public class GuildEditFailComposer extends MessageComposer public static final int HC_REQUIRED = 2; public static final int MAX_GUILDS_JOINED = 3; - private int errorCode; + private final int errorCode; public GuildEditFailComposer(int errorCode) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/guilds/GuildFavoriteRoomUserUpdateComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/guilds/GuildFavoriteRoomUserUpdateComposer.java index 8e1a2190..075230ae 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/guilds/GuildFavoriteRoomUserUpdateComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/guilds/GuildFavoriteRoomUserUpdateComposer.java @@ -8,8 +8,8 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class GuildFavoriteRoomUserUpdateComposer extends MessageComposer { - private RoomUnit roomUnit; - private Guild guild; + private final RoomUnit roomUnit; + private final Guild guild; public GuildFavoriteRoomUserUpdateComposer(RoomUnit roomUnit, Guild guild) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/guilds/GuildFurniWidgetComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/guilds/GuildFurniWidgetComposer.java index c68838d1..dab286e0 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/guilds/GuildFurniWidgetComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/guilds/GuildFurniWidgetComposer.java @@ -25,7 +25,7 @@ public class GuildFurniWidgetComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.GuildFurniWidgetComposer); - this.response.appendInt(item.getId()); + this.response.appendInt(this.item.getId()); this.response.appendInt(this.guild.getId()); this.response.appendString(this.guild.getName()); this.response.appendInt(this.guild.getRoomId()); diff --git a/src/main/java/com/eu/habbo/messages/outgoing/guilds/GuildMembersComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/guilds/GuildMembersComposer.java index 63b8f061..56435d42 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/guilds/GuildMembersComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/guilds/GuildMembersComposer.java @@ -15,17 +15,15 @@ public class GuildMembersComposer extends MessageComposer { private final ArrayList members; private final Guild guild; - private final Habbo session; private final int pageId; private final int level; private final String searchValue; private final boolean isAdmin; - public GuildMembersComposer(Guild guild, ArrayList members, Habbo session, int pageId, int level, String searchValue, boolean isAdmin) + public GuildMembersComposer(Guild guild, ArrayList members, int pageId, int level, String searchValue, boolean isAdmin) { this.guild = guild; this.members = members; - this.session = session; this.pageId = pageId; this.level = level; this.searchValue = searchValue; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/unknown/GuildMembershipRequestedComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/guilds/GuildMembershipRequestedComposer.java similarity index 56% rename from src/main/java/com/eu/habbo/messages/outgoing/unknown/GuildMembershipRequestedComposer.java rename to src/main/java/com/eu/habbo/messages/outgoing/guilds/GuildMembershipRequestedComposer.java index c18f107c..3ae497cb 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/unknown/GuildMembershipRequestedComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/guilds/GuildMembershipRequestedComposer.java @@ -1,5 +1,6 @@ -package com.eu.habbo.messages.outgoing.unknown; +package com.eu.habbo.messages.outgoing.guilds; +import com.eu.habbo.habbohotel.users.HabboGender; import com.eu.habbo.messages.ServerMessage; import com.eu.habbo.messages.outgoing.MessageComposer; import com.eu.habbo.messages.outgoing.Outgoing; @@ -8,11 +9,17 @@ public class GuildMembershipRequestedComposer extends MessageComposer { private final int guildId; private final int requester; + private final String username; + private final String look; + private final HabboGender gender; - public GuildMembershipRequestedComposer(int guildId, int requester) + public GuildMembershipRequestedComposer(int guildId, int requester, String username, String look, HabboGender gender) { this.guildId = guildId; this.requester = requester; + this.username = username; + this.look = look; + this.gender = gender; } @Override @@ -20,7 +27,11 @@ public class GuildMembershipRequestedComposer extends MessageComposer { this.response.init(Outgoing.GuildMembershipRequestedComposer); this.response.appendInt(this.guildId); + this.response.appendInt(2); this.response.appendInt(this.requester); + this.response.appendString(this.username); + this.response.appendString(this.look); + this.response.appendString(this.gender.name()); return this.response; } } \ No newline at end of file diff --git a/src/main/java/com/eu/habbo/messages/outgoing/guilds/RemoveGuildFromRoomComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/guilds/RemoveGuildFromRoomComposer.java index 9f65c6d0..25cb34ce 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/guilds/RemoveGuildFromRoomComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/guilds/RemoveGuildFromRoomComposer.java @@ -6,7 +6,7 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class RemoveGuildFromRoomComposer extends MessageComposer { - private int guildId; + private final int guildId; public RemoveGuildFromRoomComposer(int guildId) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/handshake/ForumsTestComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/guilds/forums/ForumsTestComposer.java similarity index 85% rename from src/main/java/com/eu/habbo/messages/outgoing/handshake/ForumsTestComposer.java rename to src/main/java/com/eu/habbo/messages/outgoing/guilds/forums/ForumsTestComposer.java index 0d16cfab..b2bf8e85 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/handshake/ForumsTestComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/guilds/forums/ForumsTestComposer.java @@ -1,4 +1,4 @@ -package com.eu.habbo.messages.outgoing.handshake; +package com.eu.habbo.messages.outgoing.guilds.forums; import com.eu.habbo.messages.ServerMessage; import com.eu.habbo.messages.outgoing.MessageComposer; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/habboway/HabboWayQuizComposer1.java b/src/main/java/com/eu/habbo/messages/outgoing/habboway/HabboWayQuizComposer1.java index ff5e18cd..796dc1e2 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/habboway/HabboWayQuizComposer1.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/habboway/HabboWayQuizComposer1.java @@ -21,9 +21,9 @@ public class HabboWayQuizComposer1 extends MessageComposer this.response.init(Outgoing.HabboWayQuizComposer1); this.response.appendString(this.name); this.response.appendInt(this.items.length); - for (int i = 0; i < this.items.length; i++) + for (int item : this.items) { - this.response.appendInt(this.items[i]); + this.response.appendInt(item); } return this.response; } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/habboway/HabboWayQuizComposer2.java b/src/main/java/com/eu/habbo/messages/outgoing/habboway/HabboWayQuizComposer2.java index e0394ad8..a12df06b 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/habboway/HabboWayQuizComposer2.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/habboway/HabboWayQuizComposer2.java @@ -21,9 +21,9 @@ public class HabboWayQuizComposer2 extends MessageComposer this.response.init(Outgoing.HabboWayQuizComposer2); this.response.appendString(this.name); this.response.appendInt(this.items.length); - for (int i = 0; i < this.items.length; i++) + for (int item : this.items) { - this.response.appendInt(this.items[i]); + this.response.appendInt(item); } return this.response; } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/handshake/BannerTokenComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/handshake/BannerTokenComposer.java index cf4d04d3..e93ad5f1 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/handshake/BannerTokenComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/handshake/BannerTokenComposer.java @@ -6,7 +6,6 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class BannerTokenComposer extends MessageComposer { - private final String token; private final boolean unknown; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/handshake/DebugConsoleComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/handshake/DebugConsoleComposer.java index 2dd6ea05..469f80d1 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/handshake/DebugConsoleComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/handshake/DebugConsoleComposer.java @@ -6,16 +6,18 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class DebugConsoleComposer extends MessageComposer { + private final boolean debugging; - private static final boolean debugging = true; + public DebugConsoleComposer(boolean debugging) + { + this.debugging = debugging; + } @Override public ServerMessage compose() { this.response.init(Outgoing.DebugConsoleComposer); - - this.response.appendBoolean(true); - + this.response.appendBoolean(this.debugging); return this.response; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/handshake/PongComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/handshake/PongComposer.java index dbed0fc0..6e7a44c5 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/handshake/PongComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/handshake/PongComposer.java @@ -6,7 +6,7 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class PongComposer extends MessageComposer { - private int id; + private final int id; public PongComposer(int id) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/handshake/SecureLoginOKComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/handshake/SecureLoginOKComposer.java index 48774dc6..38df4801 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/handshake/SecureLoginOKComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/handshake/SecureLoginOKComposer.java @@ -6,12 +6,10 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class SecureLoginOKComposer extends MessageComposer { - @Override public ServerMessage compose() { this.response.init(Outgoing.SecureLoginOKComposer); - return this.response; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/handshake/SessionRightsComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/handshake/SessionRightsComposer.java index c266c7df..83d1f768 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/handshake/SessionRightsComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/handshake/SessionRightsComposer.java @@ -6,7 +6,6 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class SessionRightsComposer extends MessageComposer { - private static final boolean unknownBooleanOne = true; //true private static final boolean unknownBooleanTwo = false; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/handshake/SomeConnectionComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/handshake/SomeConnectionComposer.java index 80c7bf39..6b1c3421 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/handshake/SomeConnectionComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/handshake/SomeConnectionComposer.java @@ -10,7 +10,6 @@ public class SomeConnectionComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.SomeConnectionComposer); - return this.response; } } \ No newline at end of file diff --git a/src/main/java/com/eu/habbo/messages/outgoing/hotelview/HallOfFameComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/hotelview/HallOfFameComposer.java index 98f1ef4b..e2e0a722 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/hotelview/HallOfFameComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/hotelview/HallOfFameComposer.java @@ -13,19 +13,23 @@ import java.util.List; public class HallOfFameComposer extends MessageComposer { + private final HallOfFame hallOfFame; + + public HallOfFameComposer(HallOfFame hallOfFame) + { + this.hallOfFame = hallOfFame; + } @Override public ServerMessage compose() { this.response.init(Outgoing.HallOfFameComposer); - HallOfFame hallOfFame = Emulator.getGameEnvironment().getHotelViewManager().getHallOfFame(); - - this.response.appendString(hallOfFame.getCompetitionName()); - this.response.appendInt(hallOfFame.getWinners().size()); + this.response.appendString(this.hallOfFame.getCompetitionName()); + this.response.appendInt(this.hallOfFame.getWinners().size()); int count = 1; - List winners = new ArrayList(hallOfFame.getWinners().values()); + List winners = new ArrayList<>(this.hallOfFame.getWinners().values()); Collections.sort(winners); for(HallOfFameWinner winner : winners) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/hotelview/HotelViewCommunityGoalComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/hotelview/HotelViewCommunityGoalComposer.java index c66494f6..8a752073 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/hotelview/HotelViewCommunityGoalComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/hotelview/HotelViewCommunityGoalComposer.java @@ -55,7 +55,7 @@ public class HotelViewCommunityGoalComposer extends MessageComposer this.response.appendString(this.competitionName); this.response.appendInt(this.timeLeft); //Timer this.response.appendInt(this.rankData.length); //Rank Count - for (int i : rankData) + for (int i : this.rankData) { this.response.appendInt(i); } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/unknown/HotelViewExpiringCatalogPageCommposer.java b/src/main/java/com/eu/habbo/messages/outgoing/hotelview/HotelViewExpiringCatalogPageCommposer.java similarity index 94% rename from src/main/java/com/eu/habbo/messages/outgoing/unknown/HotelViewExpiringCatalogPageCommposer.java rename to src/main/java/com/eu/habbo/messages/outgoing/hotelview/HotelViewExpiringCatalogPageCommposer.java index ccc7c6d6..d9c0eed7 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/unknown/HotelViewExpiringCatalogPageCommposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/hotelview/HotelViewExpiringCatalogPageCommposer.java @@ -1,4 +1,4 @@ -package com.eu.habbo.messages.outgoing.unknown; +package com.eu.habbo.messages.outgoing.hotelview; import com.eu.habbo.habbohotel.catalog.CatalogPage; import com.eu.habbo.messages.ServerMessage; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/unknown/HotelViewHideCommunityVoteButtonComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/hotelview/HotelViewHideCommunityVoteButtonComposer.java similarity index 92% rename from src/main/java/com/eu/habbo/messages/outgoing/unknown/HotelViewHideCommunityVoteButtonComposer.java rename to src/main/java/com/eu/habbo/messages/outgoing/hotelview/HotelViewHideCommunityVoteButtonComposer.java index 342a5745..0a532809 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/unknown/HotelViewHideCommunityVoteButtonComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/hotelview/HotelViewHideCommunityVoteButtonComposer.java @@ -1,4 +1,4 @@ -package com.eu.habbo.messages.outgoing.unknown; +package com.eu.habbo.messages.outgoing.hotelview; import com.eu.habbo.messages.ServerMessage; import com.eu.habbo.messages.outgoing.MessageComposer; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/hotelview/NewsListComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/hotelview/NewsListComposer.java index bf9c0c7e..75f9799b 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/hotelview/NewsListComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/hotelview/NewsListComposer.java @@ -24,7 +24,7 @@ public class NewsListComposer extends MessageComposer this.response.appendString(widget.getMessage()); this.response.appendString(widget.getButtonMessage()); this.response.appendInt(widget.getType()); - this.response.appendString("event:" + widget.getLink()); + this.response.appendString(widget.getLink()); this.response.appendString(widget.getImage()); } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/inventory/AddHabboItemComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/inventory/AddHabboItemComposer.java index 8cdcb8aa..2af53017 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/inventory/AddHabboItemComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/inventory/AddHabboItemComposer.java @@ -26,7 +26,7 @@ public class AddHabboItemComposer extends MessageComposer { this.response.init(Outgoing.AddHabboItemComposer); - if(item == null) + if(this.item == null) { this.response.appendInt(1); this.response.appendInt(1); diff --git a/src/main/java/com/eu/habbo/messages/outgoing/inventory/AddPetComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/inventory/AddPetComposer.java index 0c06f2b3..da696b5c 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/inventory/AddPetComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/inventory/AddPetComposer.java @@ -18,7 +18,7 @@ public class AddPetComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.AddPetComposer); - pet.serialize(this.response); + this.pet.serialize(this.response); this.response.appendBoolean(false); return this.response; } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/inventory/InventoryAchievementsComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/inventory/InventoryAchievementsComposer.java index 19af4585..bf2648b5 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/inventory/InventoryAchievementsComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/inventory/InventoryAchievementsComposer.java @@ -26,13 +26,13 @@ public class InventoryAchievementsComposer extends MessageComposer @Override public boolean execute(Achievement achievement) { - response.appendString((achievement.name.startsWith("ACH_") ? achievement.name.replace("ACH_", "") : achievement.name)); - response.appendInt(achievement.levels.size()); + InventoryAchievementsComposer.this.response.appendString((achievement.name.startsWith("ACH_") ? achievement.name.replace("ACH_", "") : achievement.name)); + InventoryAchievementsComposer.this.response.appendInt(achievement.levels.size()); for (AchievementLevel level : achievement.levels.values()) { - response.appendInt(level.level); - response.appendInt(level.progress); + InventoryAchievementsComposer.this.response.appendInt(level.level); + InventoryAchievementsComposer.this.response.appendInt(level.progress); } return true; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/inventory/InventoryItemsComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/inventory/InventoryItemsComposer.java index 06584c35..981ae02b 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/inventory/InventoryItemsComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/inventory/InventoryItemsComposer.java @@ -52,16 +52,15 @@ public class InventoryItemsComposer extends MessageComposer implements TIntObjec this.response.appendInt(habboItem.getId()); this.response.appendInt(habboItem.getBaseItem().getSpriteId()); - if(habboItem.getBaseItem().getName().equals("floor") || habboItem.getBaseItem().getName().equals("landscape") || habboItem.getBaseItem().getName().equals("wallpaper") || habboItem.getBaseItem().getName().equals("poster")) { - if (habboItem.getBaseItem().getName().equals("landscape")) - this.response.appendInt(4); - else if (habboItem.getBaseItem().getName().equals("floor")) - this.response.appendInt(3); - else if (habboItem.getBaseItem().getName().equals("wallpaper")) - this.response.appendInt(2); - else if (habboItem.getBaseItem().getName().equals("poster")) - this.response.appendInt(6); - + if(habboItem.getBaseItem().getName().equals("floor") || habboItem.getBaseItem().getName().equals("landscape") || habboItem.getBaseItem().getName().equals("wallpaper") || habboItem.getBaseItem().getName().equals("poster")) + { + switch (habboItem.getBaseItem().getName()) + { + case "landscape": this.response.appendInt(4); break; + case "floor": this.response.appendInt(3); break; + case "wallpaper": this.response.appendInt(2); break; + case "poster": this.response.appendInt(6); break; + } this.response.appendInt(0); this.response.appendString(habboItem.getExtradata()); diff --git a/src/main/java/com/eu/habbo/messages/outgoing/inventory/InventoryUpdateItemComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/inventory/InventoryUpdateItemComposer.java index 3b9e65db..7ec74e1e 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/inventory/InventoryUpdateItemComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/inventory/InventoryUpdateItemComposer.java @@ -25,12 +25,13 @@ public class InventoryUpdateItemComposer extends MessageComposer this.response.appendInt(this.habboItem.getId()); this.response.appendInt(this.habboItem.getBaseItem().getSpriteId()); - if (this.habboItem.getBaseItem().getName().equals("landscape")) - this.response.appendInt(4); - else if (this.habboItem.getBaseItem().getName().equals("floor")) - this.response.appendInt(3); - else if (this.habboItem.getBaseItem().getName().equals("wallpaper")) - this.response.appendInt(2); + switch (this.habboItem.getBaseItem().getName()) + { + case "landscape": this.response.appendInt(4); break; + case "floor": this.response.appendInt(3); break; + case "wallpaper": this.response.appendInt(2); break; + case "poster": this.response.appendInt(6); break; + } if(this.habboItem.isLimited()) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/inventory/RemoveHabboItemComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/inventory/RemoveHabboItemComposer.java index 3ccd2507..64abb1d1 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/inventory/RemoveHabboItemComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/inventory/RemoveHabboItemComposer.java @@ -6,7 +6,7 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class RemoveHabboItemComposer extends MessageComposer { - private int itemId; + private final int itemId; public RemoveHabboItemComposer(final int itemId) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/inventory/RemovePetComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/inventory/RemovePetComposer.java index 764d6593..50f751fe 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/inventory/RemovePetComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/inventory/RemovePetComposer.java @@ -9,11 +9,6 @@ public class RemovePetComposer extends MessageComposer { private final int petId; - public RemovePetComposer(int petId) - { - this.petId = petId; - } - public RemovePetComposer(Pet pet) { this.petId = pet.getId(); diff --git a/src/main/java/com/eu/habbo/messages/outgoing/inventory/UserEffectsListComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/inventory/UserEffectsListComposer.java index 8dbd970f..bb4e19a0 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/inventory/UserEffectsListComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/inventory/UserEffectsListComposer.java @@ -30,12 +30,12 @@ public class UserEffectsListComposer extends MessageComposer @Override public boolean execute(EffectsComponent.HabboEffect effect) { - response.appendInt(effect.effect); - response.appendInt(0); - response.appendInt(effect.duration); - response.appendInt(effect.total); - response.appendInt(effect.activationTimestamp >= 0 ? Emulator.getIntUnixTimestamp() - effect.activationTimestamp : -1); - response.appendBoolean(effect.isActivated()); + UserEffectsListComposer.this.response.appendInt(effect.effect); + UserEffectsListComposer.this.response.appendInt(0); + UserEffectsListComposer.this.response.appendInt(effect.duration); + UserEffectsListComposer.this.response.appendInt(effect.total); + UserEffectsListComposer.this.response.appendInt(effect.activationTimestamp >= 0 ? Emulator.getIntUnixTimestamp() - effect.activationTimestamp : -1); + UserEffectsListComposer.this.response.appendBoolean(effect.isActivated()); return true; } }); diff --git a/src/main/java/com/eu/habbo/messages/outgoing/modtool/BullyReportRequestComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/modtool/BullyReportRequestComposer.java index e6603af7..cbf925b0 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/modtool/BullyReportRequestComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/modtool/BullyReportRequestComposer.java @@ -14,7 +14,6 @@ public class BullyReportRequestComposer extends MessageComposer private final int errorCode; private final int errorCodeType; - public BullyReportRequestComposer(int errorCode, int errorCodeType) { this.errorCode = errorCode; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/modtool/CfhTopicsMessageComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/modtool/CfhTopicsMessageComposer.java index aaffed20..02f0ae6f 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/modtool/CfhTopicsMessageComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/modtool/CfhTopicsMessageComposer.java @@ -22,16 +22,16 @@ public class CfhTopicsMessageComposer extends MessageComposer @Override public boolean execute(CfhCategory category) { - response.appendString(category.getName()); - response.appendInt(category.getTopics().valueCollection().size()); + CfhTopicsMessageComposer.this.response.appendString(category.getName()); + CfhTopicsMessageComposer.this.response.appendInt(category.getTopics().valueCollection().size()); category.getTopics().forEachValue(new TObjectProcedure() { @Override public boolean execute(CfhTopic topic) { - response.appendString(topic.name); - response.appendInt(topic.id); - response.appendString(topic.action.toString()); + CfhTopicsMessageComposer.this.response.appendString(topic.name); + CfhTopicsMessageComposer.this.response.appendInt(topic.id); + CfhTopicsMessageComposer.this.response.appendString(topic.action.toString()); return true; } }); diff --git a/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolIssueChatlogComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolIssueChatlogComposer.java index f1641618..8f39a29e 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolIssueChatlogComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolIssueChatlogComposer.java @@ -15,9 +15,9 @@ import java.util.Collections; public class ModToolIssueChatlogComposer extends MessageComposer { public static SimpleDateFormat format = new SimpleDateFormat("HH:mm"); - private ModToolIssue issue; - private ArrayList chatlog; - private String roomName; + private final ModToolIssue issue; + private final ArrayList chatlog; + private final String roomName; public ModToolIssueChatlogComposer(ModToolIssue issue, ArrayList chatlog, String roomName) { @@ -35,9 +35,9 @@ public class ModToolIssueChatlogComposer extends MessageComposer this.response.appendInt(this.issue.reportedId); this.response.appendInt(this.issue.roomId); - Collections.sort(chatlog); + Collections.sort(this.chatlog); - if(chatlog.isEmpty()) + if(this.chatlog.isEmpty()) return null; //ChatRecordData @@ -69,7 +69,7 @@ public class ModToolIssueChatlogComposer extends MessageComposer this.response.appendShort(this.chatlog.size()); for(ModToolChatLog chatLog : this.chatlog) { - this.response.appendString(format.format(chatLog.timestamp * 1000l)); + this.response.appendString(format.format(chatLog.timestamp * 1000L)); this.response.appendInt(chatLog.habboId); this.response.appendString(chatLog.username); this.response.appendString(chatLog.message); diff --git a/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolIssueHandledComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolIssueHandledComposer.java index 6c71f966..02f0ede6 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolIssueHandledComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolIssueHandledComposer.java @@ -10,16 +10,18 @@ public class ModToolIssueHandledComposer extends MessageComposer public static final int USELESS = 1; public static final int ABUSIVE = 2; - private int code = 0; - private String message = ""; + private final int code; + private final String message; public ModToolIssueHandledComposer(int code) { this.code = code; + this.message = ""; } public ModToolIssueHandledComposer(String message) { + this.code = 0; this.message = message; } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolIssueInfoComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolIssueInfoComposer.java index d10b0c31..64732ada 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolIssueInfoComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolIssueInfoComposer.java @@ -8,6 +8,7 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class ModToolIssueInfoComposer extends MessageComposer { private final ModToolIssue issue; + public ModToolIssueInfoComposer(ModToolIssue issue) { this.issue = issue; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolIssueResponseAlertComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolIssueResponseAlertComposer.java index f1a63ff3..cb9f69e1 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolIssueResponseAlertComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolIssueResponseAlertComposer.java @@ -6,7 +6,7 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class ModToolIssueResponseAlertComposer extends MessageComposer { - private String message; + private final String message; public ModToolIssueResponseAlertComposer(String message) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolReportReceivedAlertComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolReportReceivedAlertComposer.java index b9d8b14b..86023daf 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolReportReceivedAlertComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolReportReceivedAlertComposer.java @@ -10,7 +10,7 @@ public class ModToolReportReceivedAlertComposer extends MessageComposer public static final int REPORT_WINDOW = 1; public static final int REPORT_ABUSIVE = 2; - private int errorCode; + private final int errorCode; public ModToolReportReceivedAlertComposer(int errorCode) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolRoomChatlogComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolRoomChatlogComposer.java index d92cd8cd..45324b8a 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolRoomChatlogComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolRoomChatlogComposer.java @@ -12,8 +12,8 @@ import java.util.Date; public class ModToolRoomChatlogComposer extends MessageComposer { - private Room room; - private ArrayList chatlog; + private final Room room; + private final ArrayList chatlog; public ModToolRoomChatlogComposer(Room room, ArrayList chatlog) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolRoomInfoComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolRoomInfoComposer.java index 668b63f4..57fb3445 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolRoomInfoComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolRoomInfoComposer.java @@ -7,7 +7,7 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class ModToolRoomInfoComposer extends MessageComposer { - private Room room; + private final Room room; public ModToolRoomInfoComposer(Room room) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolSanctionInfoComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolSanctionInfoComposer.java index 7640257b..731dd6a9 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolSanctionInfoComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolSanctionInfoComposer.java @@ -23,7 +23,6 @@ public class ModToolSanctionInfoComposer extends MessageComposer this.response.appendInt(-1); //Unused this.response.appendBoolean(false); //Trade Locked this.response.appendString("1/1/1970 00:00"); //Trade Locked Untill - return this.response; } } \ No newline at end of file diff --git a/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolUserChatlogComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolUserChatlogComposer.java index ad9ad1a1..59814b15 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolUserChatlogComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolUserChatlogComposer.java @@ -12,9 +12,9 @@ import java.util.ArrayList; public class ModToolUserChatlogComposer extends MessageComposer { public static SimpleDateFormat format = new SimpleDateFormat("HH:mm"); - private ArrayList set; - private int userId; - private String username; + private final ArrayList set; + private final int userId; + private final String username; public ModToolUserChatlogComposer(ArrayList set, int userId, String username) { @@ -27,12 +27,11 @@ public class ModToolUserChatlogComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.ModToolUserChatlogComposer); - this.response.appendInt(this.userId); this.response.appendString(this.username); this.response.appendInt(this.set.size()); - for(ModToolRoomVisit visit : set) + for(ModToolRoomVisit visit : this.set) { this.response.appendByte(1); this.response.appendShort(2); @@ -46,7 +45,7 @@ public class ModToolUserChatlogComposer extends MessageComposer this.response.appendShort(visit.chat.size()); for(ModToolChatLog chatLog : visit.chat) { - this.response.appendString(format.format(chatLog.timestamp * 1000l)); + this.response.appendString(format.format(chatLog.timestamp * 1000L)); this.response.appendInt(chatLog.habboId); this.response.appendString(chatLog.username); this.response.appendString(chatLog.message); diff --git a/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolUserInfoComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolUserInfoComposer.java index f75f036c..2a4336e9 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolUserInfoComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolUserInfoComposer.java @@ -10,7 +10,7 @@ import java.sql.SQLException; public class ModToolUserInfoComposer extends MessageComposer { - private ResultSet set; + private final ResultSet set; public ModToolUserInfoComposer(ResultSet set) { @@ -52,7 +52,6 @@ public class ModToolUserInfoComposer extends MessageComposer { Emulator.getLogging().logSQLException(e); } - return null; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolUserRoomVisitsComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolUserRoomVisitsComposer.java index 150c95d9..392cd467 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolUserRoomVisitsComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/modtool/ModToolUserRoomVisitsComposer.java @@ -25,7 +25,6 @@ public class ModToolUserRoomVisitsComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.ModToolUserRoomVisitsComposer); - this.response.appendInt(this.habbo.getHabboInfo().getId()); this.response.appendString(this.habbo.getHabboInfo().getUsername()); this.response.appendInt(this.roomVisits.size()); @@ -39,7 +38,6 @@ public class ModToolUserRoomVisitsComposer extends MessageComposer this.response.appendInt(cal.get(Calendar.HOUR)); this.response.appendInt(cal.get(Calendar.MINUTE)); } - return this.response; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/modtool/ReportRoomFormComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/modtool/ReportRoomFormComposer.java index 85f1ce30..fd6c278d 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/modtool/ReportRoomFormComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/modtool/ReportRoomFormComposer.java @@ -10,12 +10,7 @@ import java.util.List; public class ReportRoomFormComposer extends MessageComposer { - private List pendingIssues = new ArrayList<>(); - - public ReportRoomFormComposer() - { - - } + private final List pendingIssues; public ReportRoomFormComposer(List issues) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/navigator/NewNavigatorMetaDataComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/navigator/NewNavigatorMetaDataComposer.java index 3fb96006..2a4673a9 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/navigator/NewNavigatorMetaDataComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/navigator/NewNavigatorMetaDataComposer.java @@ -11,7 +11,6 @@ public class NewNavigatorMetaDataComposer extends MessageComposer { this.response.init(Outgoing.NewNavigatorMetaDataComposer); this.response.appendInt(4); - this.response.appendString("official_view"); this.response.appendInt(0); this.response.appendString("hotel_view"); diff --git a/src/main/java/com/eu/habbo/messages/outgoing/navigator/NewNavigatorSearchResultsComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/navigator/NewNavigatorSearchResultsComposer.java index f3ec9cec..f40ba655 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/navigator/NewNavigatorSearchResultsComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/navigator/NewNavigatorSearchResultsComposer.java @@ -9,8 +9,8 @@ import java.util.List; public class NewNavigatorSearchResultsComposer extends MessageComposer { - private String searchCode; - private String searchQuery; + private final String searchCode; + private final String searchQuery; private final List resultList; public NewNavigatorSearchResultsComposer(String searchCode, String searchQuery, List resultList) @@ -29,7 +29,7 @@ public class NewNavigatorSearchResultsComposer extends MessageComposer this.response.appendInt(this.resultList.size()); //Count - for (SearchResultList item : resultList) + for (SearchResultList item : this.resultList) { item.serialize(this.response); } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/navigator/OpenRoomCreationWindowComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/navigator/OpenRoomCreationWindowComposer.java index 9e766fdb..4135f752 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/navigator/OpenRoomCreationWindowComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/navigator/OpenRoomCreationWindowComposer.java @@ -10,7 +10,6 @@ public class OpenRoomCreationWindowComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.OpenRoomCreationWindowComposer); - //Empty Body return this.response; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/navigator/PrivateRoomsComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/navigator/PrivateRoomsComposer.java index b4a221ca..e42d3e44 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/navigator/PrivateRoomsComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/navigator/PrivateRoomsComposer.java @@ -1,5 +1,6 @@ package com.eu.habbo.messages.outgoing.navigator; +import com.eu.habbo.Emulator; import com.eu.habbo.habbohotel.rooms.Room; import com.eu.habbo.messages.ServerMessage; import com.eu.habbo.messages.outgoing.MessageComposer; @@ -9,7 +10,7 @@ import java.util.List; public class PrivateRoomsComposer extends MessageComposer { - private List rooms; + private final List rooms; public PrivateRoomsComposer(List rooms) { @@ -47,7 +48,7 @@ public class PrivateRoomsComposer extends MessageComposer } catch(Exception e) { - e.printStackTrace(); + Emulator.getLogging().logErrorLine(e); } return null; } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/navigator/RoomCategoriesComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/navigator/RoomCategoriesComposer.java index 17d9dde0..5ee0ac8d 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/navigator/RoomCategoriesComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/navigator/RoomCategoriesComposer.java @@ -9,7 +9,7 @@ import java.util.List; public class RoomCategoriesComposer extends MessageComposer { - private List categories; + private final List categories; public RoomCategoriesComposer(List categories) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/polls/PollQuestionsComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/polls/PollQuestionsComposer.java index 0739d4d3..ea1a01a8 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/polls/PollQuestionsComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/polls/PollQuestionsComposer.java @@ -8,7 +8,7 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class PollQuestionsComposer extends MessageComposer { - private Poll poll; + private final Poll poll; public PollQuestionsComposer(Poll poll) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/polls/infobus/SimplePollAnswersComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/polls/infobus/SimplePollAnswersComposer.java index 84a566e0..fdce87ea 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/polls/infobus/SimplePollAnswersComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/polls/infobus/SimplePollAnswersComposer.java @@ -6,13 +6,11 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class SimplePollAnswersComposer extends MessageComposer { - private final int unknownInt; private final int no; private final int yes; - public SimplePollAnswersComposer(int unknownInt, int no, int yes) + public SimplePollAnswersComposer(int no, int yes) { - this.unknownInt = unknownInt; this.no = no; this.yes = yes; } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/unknown/QuestCompletedComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/quests/QuestCompletedComposer.java similarity index 97% rename from src/main/java/com/eu/habbo/messages/outgoing/unknown/QuestCompletedComposer.java rename to src/main/java/com/eu/habbo/messages/outgoing/quests/QuestCompletedComposer.java index 9ce414fb..ef96d757 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/unknown/QuestCompletedComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/quests/QuestCompletedComposer.java @@ -1,4 +1,4 @@ -package com.eu.habbo.messages.outgoing.unknown; +package com.eu.habbo.messages.outgoing.quests; import com.eu.habbo.messages.ISerialize; import com.eu.habbo.messages.ServerMessage; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/unknown/QuestComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/quests/QuestComposer.java similarity index 84% rename from src/main/java/com/eu/habbo/messages/outgoing/unknown/QuestComposer.java rename to src/main/java/com/eu/habbo/messages/outgoing/quests/QuestComposer.java index 3c3d5d07..e8dfbbd6 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/unknown/QuestComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/quests/QuestComposer.java @@ -1,4 +1,4 @@ -package com.eu.habbo.messages.outgoing.unknown; +package com.eu.habbo.messages.outgoing.quests; import com.eu.habbo.messages.ServerMessage; import com.eu.habbo.messages.outgoing.MessageComposer; @@ -17,7 +17,7 @@ public class QuestComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.QuestComposer); - this.response.append(quest); + this.response.append(this.quest); return this.response; } } \ No newline at end of file diff --git a/src/main/java/com/eu/habbo/messages/outgoing/unknown/QuestExpiredComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/quests/QuestExpiredComposer.java similarity index 91% rename from src/main/java/com/eu/habbo/messages/outgoing/unknown/QuestExpiredComposer.java rename to src/main/java/com/eu/habbo/messages/outgoing/quests/QuestExpiredComposer.java index a9b203d6..15cfd551 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/unknown/QuestExpiredComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/quests/QuestExpiredComposer.java @@ -1,4 +1,4 @@ -package com.eu.habbo.messages.outgoing.unknown; +package com.eu.habbo.messages.outgoing.quests; import com.eu.habbo.messages.ServerMessage; import com.eu.habbo.messages.outgoing.MessageComposer; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/unknown/QuestionInfoComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/quests/QuestionInfoComposer.java similarity index 88% rename from src/main/java/com/eu/habbo/messages/outgoing/unknown/QuestionInfoComposer.java rename to src/main/java/com/eu/habbo/messages/outgoing/quests/QuestionInfoComposer.java index 09e92dcf..77a71e3f 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/unknown/QuestionInfoComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/quests/QuestionInfoComposer.java @@ -1,4 +1,4 @@ -package com.eu.habbo.messages.outgoing.unknown; +package com.eu.habbo.messages.outgoing.quests; import com.eu.habbo.messages.ServerMessage; import com.eu.habbo.messages.outgoing.MessageComposer; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/unknown/QuestsComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/quests/QuestsComposer.java similarity index 98% rename from src/main/java/com/eu/habbo/messages/outgoing/unknown/QuestsComposer.java rename to src/main/java/com/eu/habbo/messages/outgoing/quests/QuestsComposer.java index cff97ffe..ba694df3 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/unknown/QuestsComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/quests/QuestsComposer.java @@ -1,4 +1,4 @@ -package com.eu.habbo.messages.outgoing.unknown; +package com.eu.habbo.messages.outgoing.quests; import com.eu.habbo.messages.ISerialize; import com.eu.habbo.messages.ServerMessage; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/BotSettingsComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/BotSettingsComposer.java index c05e5f8f..8eab9301 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/BotSettingsComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/BotSettingsComposer.java @@ -27,34 +27,34 @@ public class BotSettingsComposer extends MessageComposer { case 1: this.response.appendString(""); break; case 2: - String data = ""; + StringBuilder data = new StringBuilder(); if (this.bot.hasChat()) { for (String s : this.bot.getChatLines()) { - data += s + "\r"; + data.append(s).append("\r"); } } else { - data += Bot.NO_CHAT_SET; + data.append(Bot.NO_CHAT_SET); } - data += ";#;" + (this.bot.isChatAuto() ? "true" : "false"); - data += ";#;" + this.bot.getChatDelay(); - data += ";#;" + (this.bot.isChatRandom() ? "true" : "false"); - this.response.appendString(data); + data.append(";#;").append(this.bot.isChatAuto() ? "true" : "false"); + data.append(";#;").append(this.bot.getChatDelay()); + data.append(";#;").append(this.bot.isChatRandom() ? "true" : "false"); + this.response.appendString(data.toString()); break; case 3: this.response.appendString(""); break; case 4: this.response.appendString(""); break; case 5: - this.response.appendString(bot.getName()); + this.response.appendString(this.bot.getName()); break; case 6: this.response.appendString(""); break; case 9: - this.response.appendString(bot.getMotto()); + this.response.appendString(this.bot.getMotto()); break; } return this.response; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/FloodCounterComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/FloodCounterComposer.java index 89534358..e0d2887b 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/FloodCounterComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/FloodCounterComposer.java @@ -17,7 +17,7 @@ public class FloodCounterComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.FloodCounterComposer); - this.response.appendInt(time); + this.response.appendInt(this.time); return this.response; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/ForwardToRoomComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/ForwardToRoomComposer.java index e90a7f51..aae01b43 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/ForwardToRoomComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/ForwardToRoomComposer.java @@ -6,7 +6,7 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class ForwardToRoomComposer extends MessageComposer { - private int roomId; + private final int roomId; public ForwardToRoomComposer(int roomId) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomDataComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomDataComposer.java index 6a4d14d8..9e209e60 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomDataComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomDataComposer.java @@ -10,7 +10,6 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class RoomDataComposer extends MessageComposer { - private final Room room; private final Habbo habbo; private final boolean publicRoom; @@ -44,7 +43,7 @@ public class RoomDataComposer extends MessageComposer this.response.appendInt(this.room.getUserCount()); this.response.appendInt(this.room.getUsersMax()); this.response.appendString(this.room.getDescription()); - this.response.appendInt(0); + this.response.appendInt(this.room.getTradeMode()); this.response.appendInt(2); this.response.appendInt(this.room.getScore()); this.response.appendInt(this.room.getCategory()); @@ -63,7 +62,7 @@ public class RoomDataComposer extends MessageComposer this.response.appendInt(0); } - int base = 16; + int base = 32; if(this.room.getGuildId() > 0) { @@ -80,6 +79,11 @@ public class RoomDataComposer extends MessageComposer base = base | 4; } + if (this.room.isAllowPets()) + { + base = base | 16; + } + this.response.appendInt(base); if(this.room.getGuildId() > 0) @@ -106,16 +110,17 @@ public class RoomDataComposer extends MessageComposer this.response.appendInt((this.room.getPromotion().getEndTimestamp() - Emulator.getIntUnixTimestamp()) / 60); } - this.response.appendBoolean(this.publicRoom); - this.response.appendBoolean(this.room.isStaffPromotedRoom()); //staffpicked - this.response.appendBoolean(this.room.isPublicRoom()); //ispublicroom + this.response.appendBoolean(true); //forwarded + this.response.appendBoolean(false); //staffpick + this.response.appendBoolean(false); //_isGroupMember this.response.appendBoolean(this.room.isMuted()); //isroommuted this.response.appendInt(this.room.getMuteOption()); this.response.appendInt(this.room.getKickOption()); this.response.appendInt(this.room.getBanOption()); - this.response.appendBoolean(this.room.hasRights(this.habbo)); //mute all button + this.response.appendBoolean(this.room.hasRights(this.habbo)); //canMute + this.response.appendInt(this.room.getChatMode()); this.response.appendInt(this.room.getChatWeight()); @@ -124,6 +129,14 @@ public class RoomDataComposer extends MessageComposer this.response.appendInt(this.room.getChatProtection()); + + + + + //mute all button + + + return this.response; } } \ No newline at end of file diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomEnterErrorComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomEnterErrorComposer.java index 4c745745..6be81198 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomEnterErrorComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomEnterErrorComposer.java @@ -6,7 +6,6 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class RoomEnterErrorComposer extends MessageComposer { - public static final int ROOM_ERROR_GUESTROOM_FULL = 1; public static final int ROOM_ERROR_CANT_ENTER = 2; public static final int ROOM_ERROR_QUE = 3; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomFilterWordsComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomFilterWordsComposer.java index 5e1d1dff..24a28ca9 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomFilterWordsComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomFilterWordsComposer.java @@ -7,7 +7,7 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class RoomFilterWordsComposer extends MessageComposer { - private Room room; + private final Room room; public RoomFilterWordsComposer(Room room) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomHeightMapComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomHeightMapComposer.java index 3c048152..85d969fe 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomHeightMapComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomHeightMapComposer.java @@ -7,7 +7,6 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class RoomHeightMapComposer extends MessageComposer { - private final Room room; public RoomHeightMapComposer(Room room) diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomModelComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomModelComposer.java index 8d5fea7a..059bb3c4 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomModelComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomModelComposer.java @@ -7,13 +7,13 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class RoomModelComposer extends MessageComposer { - private final Room room; public RoomModelComposer(Room room) { this.room = room; } + @Override public ServerMessage compose() { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomMutedComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomMutedComposer.java index cf4a386e..2d357d9c 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomMutedComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomMutedComposer.java @@ -7,7 +7,7 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class RoomMutedComposer extends MessageComposer { - private Room room; + private final Room room; public RoomMutedComposer(Room room) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomOpenComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomOpenComposer.java index fe4924fb..a630f541 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomOpenComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomOpenComposer.java @@ -6,7 +6,6 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class RoomOpenComposer extends MessageComposer { - @Override public ServerMessage compose() { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomPaintComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomPaintComposer.java index 0938d288..683a6557 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomPaintComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomPaintComposer.java @@ -6,7 +6,6 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class RoomPaintComposer extends MessageComposer { - private final String type; private final String value; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomPaneComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomPaneComposer.java index d7cdb2ba..9da8de7d 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomPaneComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomPaneComposer.java @@ -7,7 +7,6 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class RoomPaneComposer extends MessageComposer { - private final Room room; private final boolean roomOwner; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomRelativeMapComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomRelativeMapComposer.java index bcdd1ce4..2edde5cd 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomRelativeMapComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomRelativeMapComposer.java @@ -8,7 +8,6 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class RoomRelativeMapComposer extends MessageComposer { - private final Room room; public RoomRelativeMapComposer(Room room) diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomRightsComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomRightsComposer.java index c4fdaa0f..3b6d6700 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomRightsComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomRightsComposer.java @@ -7,7 +7,6 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class RoomRightsComposer extends MessageComposer { - private final RoomRightLevels type; public RoomRightsComposer(RoomRightLevels type) diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomScoreComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomScoreComposer.java index 084a152f..c2d7c926 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomScoreComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomScoreComposer.java @@ -6,7 +6,6 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class RoomScoreComposer extends MessageComposer { - private final int score; private final boolean canVote; @@ -20,7 +19,7 @@ public class RoomScoreComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.RoomScoreComposer); - this.response.appendInt(score); + this.response.appendInt(this.score); this.response.appendBoolean(this.canVote); return this.response; } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomSettingsComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomSettingsComposer.java index c7067789..7fa54b3d 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomSettingsComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomSettingsComposer.java @@ -7,7 +7,6 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class RoomSettingsComposer extends MessageComposer { - private final Room room; public RoomSettingsComposer(Room room) diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomSettingsUpdatedComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomSettingsUpdatedComposer.java index 9675c525..7f7f97a8 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomSettingsUpdatedComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomSettingsUpdatedComposer.java @@ -13,6 +13,7 @@ public class RoomSettingsUpdatedComposer extends MessageComposer { this.room = room; } + @Override public ServerMessage compose() { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomThicknessComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomThicknessComposer.java index edc9087b..c570d544 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomThicknessComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/RoomThicknessComposer.java @@ -7,7 +7,6 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class RoomThicknessComposer extends MessageComposer { - private final Room room; public RoomThicknessComposer(Room room) diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/UpdateStackHeightComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/UpdateStackHeightComposer.java index 88b2fb37..2c707a39 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/UpdateStackHeightComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/UpdateStackHeightComposer.java @@ -8,7 +8,6 @@ import gnu.trove.set.hash.THashSet; public class UpdateStackHeightComposer extends MessageComposer { - private int x; private int y; private double height; @@ -38,7 +37,7 @@ public class UpdateStackHeightComposer extends MessageComposer { this.response.appendByte((int) t.x); this.response.appendByte((int) t.y); - this.response.appendShort((int)(t.relativeHeight())); + this.response.appendShort(t.relativeHeight()); } } else diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/FloorItemOnRollerComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/FloorItemOnRollerComposer.java index 1c3a624d..3bbb543c 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/FloorItemOnRollerComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/FloorItemOnRollerComposer.java @@ -43,7 +43,7 @@ public class FloorItemOnRollerComposer extends MessageComposer this.response.appendString(Double.toString(this.item.getZ() + this.heightOffset)); this.response.appendInt(this.roller != null ? this.roller.getId() : -1); - this.item.onMove(this.room, this.room.getLayout().getTile(item.getX(), item.getY()), this.newLocation); + this.item.onMove(this.room, this.room.getLayout().getTile(this.item.getX(), this.item.getY()), this.newLocation); this.item.setX(this.newLocation.x); this.item.setY(this.newLocation.y); this.item.setZ(this.item.getZ() + this.heightOffset); diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/FloorItemUpdateComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/FloorItemUpdateComposer.java index 04f13621..67927ace 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/FloorItemUpdateComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/FloorItemUpdateComposer.java @@ -21,10 +21,10 @@ public class FloorItemUpdateComposer extends MessageComposer { this.response.init(Outgoing.FloorItemUpdateComposer); this.item.serializeFloorData(this.response); - this.response.appendInt(this.item instanceof InteractionGift ? ((((InteractionGift) this.item).getColorId() * 1000) + ((InteractionGift) this.item).getRibbonId()) : (this.item instanceof InteractionMusicDisc ? ((InteractionMusicDisc) this.item).getSongId() : 1)); + this.response.appendInt(this.item instanceof InteractionGift ? ((((InteractionGift) this.item).getColorId() * 1000) + ((InteractionGift) this.item).getRibbonId()) : (this.item instanceof InteractionMusicDisc ? ((InteractionMusicDisc) this.item).getSongId() : item.isUsable() ? 0 : 0)); this.item.serializeExtradata(this.response); this.response.appendInt(-1); - this.response.appendInt(this.item.isUsable()); + this.response.appendInt(0); this.response.appendInt(this.item.getUserId()); return this.response; } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/unknown/ItemExtraDataComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/ItemExtraDataComposer.java similarity index 92% rename from src/main/java/com/eu/habbo/messages/outgoing/unknown/ItemExtraDataComposer.java rename to src/main/java/com/eu/habbo/messages/outgoing/rooms/items/ItemExtraDataComposer.java index 1a6f0cda..70a8887b 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/unknown/ItemExtraDataComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/ItemExtraDataComposer.java @@ -1,4 +1,4 @@ -package com.eu.habbo.messages.outgoing.unknown; +package com.eu.habbo.messages.outgoing.rooms.items; import com.eu.habbo.habbohotel.users.HabboItem; import com.eu.habbo.messages.ServerMessage; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/unknown/ItemStateComposer2.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/ItemIntStateComposer.java similarity index 75% rename from src/main/java/com/eu/habbo/messages/outgoing/unknown/ItemStateComposer2.java rename to src/main/java/com/eu/habbo/messages/outgoing/rooms/items/ItemIntStateComposer.java index f15b6d9b..f39a162a 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/unknown/ItemStateComposer2.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/ItemIntStateComposer.java @@ -1,15 +1,15 @@ -package com.eu.habbo.messages.outgoing.unknown; +package com.eu.habbo.messages.outgoing.rooms.items; import com.eu.habbo.messages.ServerMessage; import com.eu.habbo.messages.outgoing.MessageComposer; import com.eu.habbo.messages.outgoing.Outgoing; -public class ItemStateComposer2 extends MessageComposer +public class ItemIntStateComposer extends MessageComposer { private final int id; private final int value; - public ItemStateComposer2(int id, int value) + public ItemIntStateComposer(int id, int value) { this.id = id; this.value = value; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/unknown/ItemsDataUpdateComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/ItemsDataUpdateComposer.java similarity index 93% rename from src/main/java/com/eu/habbo/messages/outgoing/unknown/ItemsDataUpdateComposer.java rename to src/main/java/com/eu/habbo/messages/outgoing/rooms/items/ItemsDataUpdateComposer.java index 5c782cd0..2a7b1adc 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/unknown/ItemsDataUpdateComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/ItemsDataUpdateComposer.java @@ -1,4 +1,4 @@ -package com.eu.habbo.messages.outgoing.unknown; +package com.eu.habbo.messages.outgoing.rooms.items; import com.eu.habbo.habbohotel.users.HabboItem; import com.eu.habbo.messages.ServerMessage; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/MoodLightDataComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/MoodLightDataComposer.java index 846456bf..f0351352 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/MoodLightDataComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/MoodLightDataComposer.java @@ -8,7 +8,7 @@ import gnu.trove.map.TIntObjectMap; public class MoodLightDataComposer extends MessageComposer { - private TIntObjectMap moodLightData; + private final TIntObjectMap moodLightData; public MoodLightDataComposer(TIntObjectMap moodLightData) { @@ -22,7 +22,7 @@ public class MoodLightDataComposer extends MessageComposer this.response.appendInt(3); //PresetCount int index = 1; - for(RoomMoodlightData data : moodLightData.valueCollection()) + for(RoomMoodlightData data : this.moodLightData.valueCollection()) { if(data.isEnabled()) { @@ -39,7 +39,7 @@ public class MoodLightDataComposer extends MessageComposer } int i = 1; - for(RoomMoodlightData data : moodLightData.valueCollection()) + for(RoomMoodlightData data : this.moodLightData.valueCollection()) { this.response.appendInt(data.getId()); //Preset ID this.response.appendInt(data.isBackgroundOnly() ? 2 : 1); //Background only ? 2 : 1 diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/PostItDataComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/PostItDataComposer.java index c8b586f3..0600fdfc 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/PostItDataComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/PostItDataComposer.java @@ -7,13 +7,11 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class PostItDataComposer extends MessageComposer { - private InteractionPostIt postIt; - private boolean hasRights; + private final InteractionPostIt postIt; - public PostItDataComposer(InteractionPostIt postIt, boolean hasRights) + public PostItDataComposer(InteractionPostIt postIt) { this.postIt = postIt; - this.hasRights = hasRights; } @Override diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/RemoveFloorItemComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/RemoveFloorItemComposer.java index 7f96b8dc..a14d2fb2 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/RemoveFloorItemComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/RemoveFloorItemComposer.java @@ -7,7 +7,6 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class RemoveFloorItemComposer extends MessageComposer { - private final HabboItem item; private final boolean noUser; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/RemoveWallItemComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/RemoveWallItemComposer.java index db8bb658..dd8dc773 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/RemoveWallItemComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/RemoveWallItemComposer.java @@ -7,7 +7,6 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class RemoveWallItemComposer extends MessageComposer { - private final HabboItem item; public RemoveWallItemComposer(HabboItem item) diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/RoomFloorItemsComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/RoomFloorItemsComposer.java index e9add4f0..ff261941 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/RoomFloorItemsComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/RoomFloorItemsComposer.java @@ -14,7 +14,6 @@ import java.util.NoSuchElementException; public class RoomFloorItemsComposer extends MessageComposer { - private final TIntObjectMap furniOwnerNames; private final THashSet items; @@ -29,10 +28,10 @@ public class RoomFloorItemsComposer extends MessageComposer { this.response.init(Outgoing.RoomFloorItemsComposer); - TIntObjectIterator iterator = furniOwnerNames.iterator(); + TIntObjectIterator iterator = this.furniOwnerNames.iterator(); - this.response.appendInt(furniOwnerNames.size()); - for(int i = furniOwnerNames.size(); i-- > 0;) + this.response.appendInt(this.furniOwnerNames.size()); + for(int i = this.furniOwnerNames.size(); i-- > 0;) { try { @@ -46,9 +45,9 @@ public class RoomFloorItemsComposer extends MessageComposer } } - this.response.appendInt(items.size()); + this.response.appendInt(this.items.size()); - for(HabboItem item : items) + for(HabboItem item : this.items) { item.serializeFloorData(this.response); this.response.appendInt(item instanceof InteractionGift ? ((((InteractionGift) item).getColorId() * 1000) + ((InteractionGift) item).getRibbonId()) : (item instanceof InteractionMusicDisc ? ((InteractionMusicDisc) item).getSongId() : 1)); diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/RoomWallItemsComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/RoomWallItemsComposer.java index 81106679..37aa801d 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/RoomWallItemsComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/RoomWallItemsComposer.java @@ -15,7 +15,6 @@ import java.util.NoSuchElementException; public class RoomWallItemsComposer extends MessageComposer { - private final Room room; public RoomWallItemsComposer(Room room) diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/WallItemUpdateComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/WallItemUpdateComposer.java index 85758331..78b6af3c 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/WallItemUpdateComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/WallItemUpdateComposer.java @@ -13,6 +13,7 @@ public class WallItemUpdateComposer extends MessageComposer { this.item = item; } + @Override public ServerMessage compose() { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/jukebox/JukeBoxMySongsComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/jukebox/JukeBoxMySongsComposer.java index 9a2a1f28..cfdc9959 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/jukebox/JukeBoxMySongsComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/jukebox/JukeBoxMySongsComposer.java @@ -24,7 +24,7 @@ public class JukeBoxMySongsComposer extends MessageComposer this.response.appendInt(this.items.size()); - for(HabboItem item : items) + for(HabboItem item : this.items) { this.response.appendInt(item.getId()); this.response.appendInt(((InteractionMusicDisc) item).getSongId()); diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/jukebox/JukeBoxPlayListComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/jukebox/JukeBoxPlayListComposer.java index 85b037fb..9bac21d5 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/jukebox/JukeBoxPlayListComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/jukebox/JukeBoxPlayListComposer.java @@ -11,6 +11,7 @@ public class JukeBoxPlayListComposer extends MessageComposer { private final List songs; private final int totalLength; + public JukeBoxPlayListComposer(List songs, int totalLength) { this.songs = songs; @@ -22,14 +23,12 @@ public class JukeBoxPlayListComposer extends MessageComposer { this.response.init(Outgoing.JukeBoxPlayListComposer); this.response.appendInt(this.totalLength); //Dunno //TODO Total play length? - this.response.appendInt(songs.size()); - - for (InteractionMusicDisc soundTrack : songs) + this.response.appendInt(this.songs.size()); + for (InteractionMusicDisc soundTrack : this.songs) { this.response.appendInt(soundTrack.getId()); this.response.appendInt(soundTrack.getSongId()); } - return this.response; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/jukebox/JukeBoxPlayListUpdatedComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/jukebox/JukeBoxPlayListUpdatedComposer.java index e98640cb..fa22f708 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/jukebox/JukeBoxPlayListUpdatedComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/jukebox/JukeBoxPlayListUpdatedComposer.java @@ -22,7 +22,7 @@ public class JukeBoxPlayListUpdatedComposer extends MessageComposer int length = 0; - for(SoundTrack track : tracks) + for(SoundTrack track : this.tracks) { length += track.getLength(); } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/jukebox/JukeBoxPlaylistFullComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/jukebox/JukeBoxPlaylistFullComposer.java index 0eaed4d0..30196bed 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/jukebox/JukeBoxPlaylistFullComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/jukebox/JukeBoxPlaylistFullComposer.java @@ -10,7 +10,6 @@ public class JukeBoxPlaylistFullComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.JukeBoxPlaylistFullComposer); - return this.response; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/jukebox/JukeBoxTrackDataComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/jukebox/JukeBoxTrackDataComposer.java index dbde72f5..293135ee 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/jukebox/JukeBoxTrackDataComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/jukebox/JukeBoxTrackDataComposer.java @@ -9,7 +9,7 @@ import java.util.List; public class JukeBoxTrackDataComposer extends MessageComposer { - private List tracks; + private final List tracks; public JukeBoxTrackDataComposer(List tracks) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/lovelock/LoveLockFurniFinishedComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/lovelock/LoveLockFurniFinishedComposer.java index abec0001..72eaf12b 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/lovelock/LoveLockFurniFinishedComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/lovelock/LoveLockFurniFinishedComposer.java @@ -7,7 +7,7 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class LoveLockFurniFinishedComposer extends MessageComposer { - private InteractionLoveLock loveLock; + private final InteractionLoveLock loveLock; public LoveLockFurniFinishedComposer(InteractionLoveLock loveLock) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/lovelock/LoveLockFurniFriendConfirmedComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/lovelock/LoveLockFurniFriendConfirmedComposer.java index 295f626f..0e8ea0f7 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/lovelock/LoveLockFurniFriendConfirmedComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/lovelock/LoveLockFurniFriendConfirmedComposer.java @@ -7,7 +7,7 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class LoveLockFurniFriendConfirmedComposer extends MessageComposer { - private InteractionLoveLock loveLock; + private final InteractionLoveLock loveLock; public LoveLockFurniFriendConfirmedComposer(InteractionLoveLock loveLock) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/lovelock/LoveLockFurniStartComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/lovelock/LoveLockFurniStartComposer.java index 642014dc..9c974741 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/lovelock/LoveLockFurniStartComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/lovelock/LoveLockFurniStartComposer.java @@ -7,7 +7,7 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class LoveLockFurniStartComposer extends MessageComposer { - private InteractionLoveLock loveLock; + private final InteractionLoveLock loveLock; public LoveLockFurniStartComposer(InteractionLoveLock loveLock) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/rentablespaces/RentableSpaceInfoComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/rentablespaces/RentableSpaceInfoComposer.java index 4563331e..4532990f 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/rentablespaces/RentableSpaceInfoComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/rentablespaces/RentableSpaceInfoComposer.java @@ -22,9 +22,9 @@ public class RentableSpaceInfoComposer extends MessageComposer public static final int CANT_RENT_GENERIC = 400; //:test 194 b:1 i:101 i:1 s:Admin i:10 i:10 - private Habbo habbo; - private HabboItem item; - private int errorCode; + private final Habbo habbo; + private final HabboItem item; + private final int errorCode; public RentableSpaceInfoComposer(Habbo habbo, HabboItem item) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/rentablespaces/RentableSpaceUnknown2Composer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/rentablespaces/RentableSpaceUnknown2Composer.java index cb7f101b..e66aa169 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/rentablespaces/RentableSpaceUnknown2Composer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/rentablespaces/RentableSpaceUnknown2Composer.java @@ -6,7 +6,7 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class RentableSpaceUnknown2Composer extends MessageComposer { - private int itemId; + private final int itemId; public RentableSpaceUnknown2Composer(int itemId) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/rentablespaces/RentableSpaceUnknownComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/rentablespaces/RentableSpaceUnknownComposer.java index 8c0c8c47..3112caa8 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/rentablespaces/RentableSpaceUnknownComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/items/rentablespaces/RentableSpaceUnknownComposer.java @@ -6,7 +6,7 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class RentableSpaceUnknownComposer extends MessageComposer { - private int itemId; + private final int itemId; public RentableSpaceUnknownComposer(int itemId) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/pets/PetInformationComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/pets/PetInformationComposer.java index 45ab40b9..6ce025b0 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/pets/PetInformationComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/pets/PetInformationComposer.java @@ -54,7 +54,7 @@ public class PetInformationComposer extends MessageComposer this.response.appendInt(this.pet.getRespect()); this.response.appendInt(this.pet.getUserId()); this.response.appendInt((int) days + 1); - this.response.appendString(this.room.getFurniOwnerName(pet.getUserId())); //Owner name + this.response.appendString(this.room.getFurniOwnerName(this.pet.getUserId())); //Owner name this.response.appendInt(this.pet instanceof MonsterplantPet ? ((MonsterplantPet) this.pet).getRarity() : 0); this.response.appendBoolean(this.pet instanceof HorsePet && ((HorsePet) this.pet).hasSaddle()); diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/pets/RoomPetRespectComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/pets/RoomPetRespectComposer.java index 04407873..3c81e1eb 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/pets/RoomPetRespectComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/pets/RoomPetRespectComposer.java @@ -31,7 +31,7 @@ public class RoomPetRespectComposer extends MessageComposer this.response.init(Outgoing.RoomPetRespectComposer); this.response.appendInt(this.type); this.response.appendInt(100); - pet.serialize(this.response); + this.pet.serialize(this.response); return this.response; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/pets/breeding/PetBreedingCompleted.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/pets/breeding/PetBreedingCompleted.java index 551eaa57..3ab0635a 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/pets/breeding/PetBreedingCompleted.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/pets/breeding/PetBreedingCompleted.java @@ -6,8 +6,8 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class PetBreedingCompleted extends MessageComposer { - public final int type; - public final int race; + private final int type; + private final int race; public PetBreedingCompleted(int type, int race) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/pets/breeding/PetBreedingFailedComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/pets/breeding/PetBreedingFailedComposer.java index beb19994..d8b3afbd 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/pets/breeding/PetBreedingFailedComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/pets/breeding/PetBreedingFailedComposer.java @@ -6,8 +6,8 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class PetBreedingFailedComposer extends MessageComposer { - public final int anInt1; - public final int anInt2; + private final int anInt1; + private final int anInt2; public PetBreedingFailedComposer(int anInt1, int anInt2) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/pets/breeding/PetBreedingResultComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/pets/breeding/PetBreedingResultComposer.java index d18d9b71..b38e8720 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/pets/breeding/PetBreedingResultComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/pets/breeding/PetBreedingResultComposer.java @@ -15,10 +15,10 @@ import java.util.ArrayList; public class PetBreedingResultComposer extends MessageComposer { - public final int boxId; - public final int petType; - public final PetBreedingPet petOne; - public final PetBreedingPet petTwo; + private final int boxId; + private final int petType; + private final PetBreedingPet petOne; + private final PetBreedingPet petTwo; public PetBreedingResultComposer(int boxId, int petType, Pet petOne, String ownerPetOne, Pet petTwo, String ownerPetTwo) { @@ -36,7 +36,7 @@ public class PetBreedingResultComposer extends MessageComposer this.petOne.serialize(this.response); this.petTwo.serialize(this.response); - double avgLevel = (this.petOne.pet.getLevel() + this.petTwo.pet.getLevel()) / 2; + double avgLevel = ((float)this.petOne.pet.getLevel() + this.petTwo.pet.getLevel()) / 2; NormalDistribution normalDistribution = PetManager.getNormalDistributionForBreeding(avgLevel); diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/pets/breeding/PetBreedingStartComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/pets/breeding/PetBreedingStartComposer.java index 4669b9ae..639c946b 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/pets/breeding/PetBreedingStartComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/pets/breeding/PetBreedingStartComposer.java @@ -6,9 +6,9 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class PetBreedingStartComposer extends MessageComposer { - public final int state; - public final int anInt1; - public final int anInt2; + private final int state; + private final int anInt1; + private final int anInt2; public PetBreedingStartComposer(int state, int anInt1, int anInt2) diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/pets/breeding/PetBreedingStartFailedComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/pets/breeding/PetBreedingStartFailedComposer.java index d3852c22..8971edf1 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/pets/breeding/PetBreedingStartFailedComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/pets/breeding/PetBreedingStartFailedComposer.java @@ -13,7 +13,8 @@ public class PetBreedingStartFailedComposer extends MessageComposer public final static int ALREADY_IN_NEST = 4; public final static int NO_PATH_TO_NEST = 5; public final static int TOO_TIRED = 6; - public final int reason; + + private final int reason; public PetBreedingStartFailedComposer(int reason) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/promotions/RoomPromotionMessageComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/promotions/RoomPromotionMessageComposer.java index 40031a95..86dd3ef9 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/promotions/RoomPromotionMessageComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/promotions/RoomPromotionMessageComposer.java @@ -23,7 +23,7 @@ public class RoomPromotionMessageComposer extends MessageComposer this.response.init(Outgoing.RoomEventMessageComposer); - if (room == null || roomPromotion == null) + if (this.room == null || this.roomPromotion == null) { this.response.appendInt(-1); @@ -46,15 +46,15 @@ public class RoomPromotionMessageComposer extends MessageComposer } else { - this.response.appendInt(room.getId()); - this.response.appendInt(room.getOwnerId()); - this.response.appendString(room.getOwnerName()); + this.response.appendInt(this.room.getId()); + this.response.appendInt(this.room.getOwnerId()); + this.response.appendString(this.room.getOwnerName()); this.response.appendInt(1); this.response.appendInt(1); - this.response.appendString(roomPromotion.getTitle()); - this.response.appendString(roomPromotion.getDescription()); + this.response.appendString(this.roomPromotion.getTitle()); + this.response.appendString(this.roomPromotion.getDescription()); this.response.appendInt(0); this.response.appendInt(0); this.response.appendInt(0); diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUnitIdleComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUnitIdleComposer.java index b0cf4fe6..aa703e08 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUnitIdleComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUnitIdleComposer.java @@ -7,7 +7,7 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class RoomUnitIdleComposer extends MessageComposer { - private RoomUnit roomUnit; + private final RoomUnit roomUnit; public RoomUnitIdleComposer(RoomUnit roomUnit) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUnitOnRollerComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUnitOnRollerComposer.java index 9132410a..f51337da 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUnitOnRollerComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUnitOnRollerComposer.java @@ -49,7 +49,7 @@ public class RoomUnitOnRollerComposer extends MessageComposer this.response.appendString(this.roomUnit.getZ() + ""); this.response.appendString(this.newLocation.getStackHeight() + ""); - this.roomUnit.setLocation(this.newLocation); + this.roomUnit.setLocation(room.getLayout().getTile(newLocation.x, newLocation.y)); this.roomUnit.setPreviousLocationZ(this.newLocation.getStackHeight()); this.roomUnit.setZ(this.newLocation.getStackHeight()); diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUserDanceComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUserDanceComposer.java index 387ff9ae..fdc9ee61 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUserDanceComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUserDanceComposer.java @@ -7,7 +7,6 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class RoomUserDanceComposer extends MessageComposer { - private final RoomUnit roomUnit; public RoomUserDanceComposer(RoomUnit roomUnit) diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUserIgnoredComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUserIgnoredComposer.java index 723f002e..e07e0fac 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUserIgnoredComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUserIgnoredComposer.java @@ -25,7 +25,7 @@ public class RoomUserIgnoredComposer extends MessageComposer { this.response.init(Outgoing.RoomUserIgnoredComposer); this.response.appendInt(this.state); - this.response.appendString(habbo.getHabboInfo().getUsername()); + this.response.appendString(this.habbo.getHabboInfo().getUsername()); return this.response; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUserRespectComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUserRespectComposer.java index 421219a6..55e93f47 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUserRespectComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUserRespectComposer.java @@ -18,8 +18,8 @@ public class RoomUserRespectComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.RoomUserRespectComposer); - this.response.appendInt(habbo.getHabboInfo().getId()); - this.response.appendInt(habbo.getHabboStats().respectPointsReceived); + this.response.appendInt(this.habbo.getHabboInfo().getId()); + this.response.appendInt(this.habbo.getHabboStats().respectPointsReceived); return this.response; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUserStatusComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUserStatusComposer.java index e9df4840..75c1779f 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUserStatusComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUserStatusComposer.java @@ -56,13 +56,13 @@ public class RoomUserStatusComposer extends MessageComposer this.response.appendInt(roomUnit.getHeadRotation().getValue()); this.response.appendInt(roomUnit.getBodyRotation().getValue()); - String status = "/"; + StringBuilder status = new StringBuilder("/"); for (Map.Entry entry : roomUnit.getStatusMap().entrySet()) { - status += entry.getKey() + " " + entry.getValue() + "/"; + status.append(entry.getKey()).append(" ").append(entry.getValue()).append("/"); } - this.response.appendString(status); + this.response.appendString(status.toString()); roomUnit.setPreviousLocation(roomUnit.getCurrentLocation()); } } @@ -87,13 +87,13 @@ public class RoomUserStatusComposer extends MessageComposer this.response.appendInt(habbo.getRoomUnit().getHeadRotation().getValue()); this.response.appendInt(habbo.getRoomUnit().getBodyRotation().getValue()); - String status = "/"; + StringBuilder status = new StringBuilder("/"); for (Map.Entry entry : habbo.getRoomUnit().getStatusMap().entrySet()) { - status += entry.getKey() + " " + entry.getValue() + "/"; + status.append(entry.getKey()).append(" ").append(entry.getValue()).append("/"); } - this.response.appendString(status); + this.response.appendString(status.toString()); habbo.getRoomUnit().setPreviousLocation(habbo.getRoomUnit().getCurrentLocation()); } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUserTalkComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUserTalkComposer.java index 1631fba1..2ef56dd9 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUserTalkComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUserTalkComposer.java @@ -7,8 +7,7 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class RoomUserTalkComposer extends MessageComposer { - - private RoomChatMessage roomChatMessage; + private final RoomChatMessage roomChatMessage; public RoomUserTalkComposer(RoomChatMessage roomChatMessage) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUsersAddGuildBadgeComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUsersAddGuildBadgeComposer.java index 8f0f191f..aec62e3d 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUsersAddGuildBadgeComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUsersAddGuildBadgeComposer.java @@ -7,7 +7,7 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class RoomUsersAddGuildBadgeComposer extends MessageComposer { - public final Guild guild; + private final Guild guild; public RoomUsersAddGuildBadgeComposer(Guild guild) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUsersGuildBadgesComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUsersGuildBadgesComposer.java index b2fa8606..e743864a 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUsersGuildBadgesComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUsersGuildBadgesComposer.java @@ -8,7 +8,7 @@ import gnu.trove.procedure.TObjectObjectProcedure; public class RoomUsersGuildBadgesComposer extends MessageComposer { - public final THashMap guildBadges; + private final THashMap guildBadges; public RoomUsersGuildBadgesComposer(THashMap guildBadges) { @@ -26,8 +26,8 @@ public class RoomUsersGuildBadgesComposer extends MessageComposer @Override public boolean execute(Integer guildId, String badge) { - response.appendInt(guildId); - response.appendString(badge); + RoomUsersGuildBadgesComposer.this.response.appendInt(guildId); + RoomUsersGuildBadgesComposer.this.response.appendString(badge); return true; } }); diff --git a/src/main/java/com/eu/habbo/messages/outgoing/trading/TradeCloseWindowComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/trading/TradeCloseWindowComposer.java index fc67b2d6..f527f110 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/trading/TradeCloseWindowComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/trading/TradeCloseWindowComposer.java @@ -10,7 +10,6 @@ public class TradeCloseWindowComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.TradeCloseWindowComposer); - return this.response; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/trading/TradeCompleteComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/trading/TradeCompleteComposer.java index 335cba30..442dcf90 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/trading/TradeCompleteComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/trading/TradeCompleteComposer.java @@ -10,7 +10,6 @@ public class TradeCompleteComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.UnknownTradeComposer); - return this.response; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/trading/TradeStartComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/trading/TradeStartComposer.java index 6a89e264..9a92f0bf 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/trading/TradeStartComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/trading/TradeStartComposer.java @@ -8,12 +8,13 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class TradeStartComposer extends MessageComposer { - private RoomTrade roomTrade; - private int state = 1; + private final RoomTrade roomTrade; + private final int state; public TradeStartComposer(RoomTrade roomTrade) { this.roomTrade = roomTrade; + this.state = 1; } public TradeStartComposer(RoomTrade roomTrade, int state) diff --git a/src/main/java/com/eu/habbo/messages/outgoing/trading/TradeStartFailComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/trading/TradeStartFailComposer.java index 7e4cbbc8..ac9126e3 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/trading/TradeStartFailComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/trading/TradeStartFailComposer.java @@ -31,8 +31,8 @@ public class TradeStartFailComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.TradeStartFailComposer); - this.response.appendInt(code); - this.response.appendString(username); + this.response.appendInt(this.code); + this.response.appendString(this.username); return this.response; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/trading/TradeUpdateComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/trading/TradeUpdateComposer.java index 960624a7..dab49822 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/trading/TradeUpdateComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/trading/TradeUpdateComposer.java @@ -10,7 +10,7 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class TradeUpdateComposer extends MessageComposer { - private RoomTrade roomTrade; + private final RoomTrade roomTrade; public TradeUpdateComposer(RoomTrade roomTrade) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/unknown/EpicPopupFrameComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/unknown/EpicPopupFrameComposer.java index 10bb19bf..3d3898ec 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/unknown/EpicPopupFrameComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/unknown/EpicPopupFrameComposer.java @@ -7,7 +7,7 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class EpicPopupFrameComposer extends MessageComposer { public static final String LIBRARY_URL = "${image.library.url}"; - private String assetURI; + private final String assetURI; public EpicPopupFrameComposer(String assetURI) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/unknown/ExtendClubMessageComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/unknown/ExtendClubMessageComposer.java index 3d213512..f5eee455 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/unknown/ExtendClubMessageComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/unknown/ExtendClubMessageComposer.java @@ -32,15 +32,15 @@ public class ExtendClubMessageComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.ExtendClubMessageComposer); - this.response.appendInt(item.getId()); - this.response.appendString(item.getName()); + this.response.appendInt(this.item.getId()); + this.response.appendString(this.item.getName()); this.response.appendBoolean(false); //unused - this.response.appendInt(item.getCredits()); - this.response.appendInt(item.getPoints()); - this.response.appendInt(item.getPointsType()); - this.response.appendBoolean(item.getName().contains("_VIP_")); + this.response.appendInt(this.item.getCredits()); + this.response.appendInt(this.item.getPoints()); + this.response.appendInt(this.item.getPointsType()); + this.response.appendBoolean(this.item.getName().contains("_VIP_")); - String[] data = item.getName().replace("_VIP_", "_").toLowerCase().split("_"); + String[] data = this.item.getName().replace("_VIP_", "_").toLowerCase().split("_"); long seconds = 0; @@ -73,7 +73,7 @@ public class ExtendClubMessageComposer extends MessageComposer this.response.appendBoolean(false); //giftable this.response.appendInt((int) seconds); - int endTimestamp = habbo.getHabboStats().getClubExpireTimestamp(); + int endTimestamp = this.habbo.getHabboStats().getClubExpireTimestamp(); if (endTimestamp < Emulator.getIntUnixTimestamp()) { @@ -83,7 +83,7 @@ public class ExtendClubMessageComposer extends MessageComposer endTimestamp += secondsTotal; Calendar cal = Calendar.getInstance(); - cal.setTimeInMillis(endTimestamp * 1000l); + cal.setTimeInMillis(endTimestamp * 1000L); this.response.appendInt(cal.get(Calendar.YEAR)); this.response.appendInt(cal.get(Calendar.MONTH) + 1); this.response.appendInt(cal.get(Calendar.DAY_OF_MONTH)); diff --git a/src/main/java/com/eu/habbo/messages/outgoing/unknown/ModToolSanctionDataComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/unknown/ModToolSanctionDataComposer.java index 363d981b..ae4a54b9 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/unknown/ModToolSanctionDataComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/unknown/ModToolSanctionDataComposer.java @@ -7,13 +7,13 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class ModToolSanctionDataComposer extends MessageComposer { - private final int unknwonInt1; + private final int unknownInt1; private final int accountId; private final CFHSanction sanction; - public ModToolSanctionDataComposer(int unknwonInt1, int accountId, CFHSanction sanction) + public ModToolSanctionDataComposer(int unknownInt1, int accountId, CFHSanction sanction) { - this.unknwonInt1 = unknwonInt1; + this.unknownInt1 = unknownInt1; this.accountId = accountId; this.sanction = sanction; } @@ -22,7 +22,7 @@ public class ModToolSanctionDataComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.ModToolSanctionDataComposer); - this.response.appendInt(this.unknwonInt1); + this.response.appendInt(this.unknownInt1); this.response.appendInt(this.accountId); this.sanction.serialize(this.response); return this.response; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/unknown/SnowWarsUserEnteredArenaComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/unknown/SnowWarsUserEnteredArenaComposer.java index cd95defd..575e4778 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/unknown/SnowWarsUserEnteredArenaComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/unknown/SnowWarsUserEnteredArenaComposer.java @@ -16,7 +16,7 @@ public class SnowWarsUserEnteredArenaComposer extends MessageComposer { this.response.init(3425); - if(type == 1) + if(this.type == 1) { this.response.appendInt(1); //userId this.response.appendString("Admin"); diff --git a/src/main/java/com/eu/habbo/messages/outgoing/unknown/UnknownCatalogPageOfferComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/unknown/UnknownCatalogPageOfferComposer.java index c1407172..79396b95 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/unknown/UnknownCatalogPageOfferComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/unknown/UnknownCatalogPageOfferComposer.java @@ -21,7 +21,7 @@ public class UnknownCatalogPageOfferComposer extends MessageComposer { this.response.init(Outgoing.UnknownCatalogPageOfferComposer); this.response.appendInt(this.pageId); - catalogItem.serialize(this.response); + this.catalogItem.serialize(this.response); return this.response; } } \ No newline at end of file diff --git a/src/main/java/com/eu/habbo/messages/outgoing/unknown/UserClassificationComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/unknown/UserClassificationComposer.java index e5b8d98c..85619b34 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/unknown/UserClassificationComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/unknown/UserClassificationComposer.java @@ -21,7 +21,7 @@ public class UserClassificationComposer extends MessageComposer { this.response.init(Outgoing.UserClassificationComposer); this.response.appendInt(this.info.size()); - for (Pair> set : info) + for (Pair> set : this.info) { this.response.appendInt(set.getKey()); this.response.appendString(set.getValue().getKey()); diff --git a/src/main/java/com/eu/habbo/messages/outgoing/unknown/WatchAndEarnRewardComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/unknown/WatchAndEarnRewardComposer.java index 064c050e..eb97ef1d 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/unknown/WatchAndEarnRewardComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/unknown/WatchAndEarnRewardComposer.java @@ -8,12 +8,10 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class WatchAndEarnRewardComposer extends MessageComposer { private final Item item; - private final String unknownString1; - public WatchAndEarnRewardComposer(Item item, String unknownString1) + public WatchAndEarnRewardComposer(Item item) { this.item = item; - this.unknownString1 = unknownString1; } @Override diff --git a/src/main/java/com/eu/habbo/messages/outgoing/users/ChangeNameCheckResultComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/users/ChangeNameCheckResultComposer.java index f48c3342..99c5395b 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/users/ChangeNameCheckResultComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/users/ChangeNameCheckResultComposer.java @@ -31,9 +31,9 @@ public class ChangeNameCheckResultComposer extends MessageComposer { this.response.init(Outgoing.UnknownComposer_2698); this.response.appendInt(this.status); - this.response.appendString(name); + this.response.appendString(this.name); this.response.appendInt(this.suggestions.size()); - for (String suggestion : suggestions) + for (String suggestion : this.suggestions) { this.response.appendString(suggestion); } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/users/FavoriteRoomsCountComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/users/FavoriteRoomsCountComposer.java index 720065d6..fdaa584f 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/users/FavoriteRoomsCountComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/users/FavoriteRoomsCountComposer.java @@ -17,22 +17,20 @@ public class FavoriteRoomsCountComposer extends MessageComposer } @Override - public ServerMessage compose() { + public ServerMessage compose() + { this.response.init(Outgoing.FavoriteRoomsCountComposer); - this.response.appendInt(Emulator.getConfig().getInt("hotel.rooms.max.favorite")); - this.response.appendInt(this.habbo.getHabboStats().getFavoriteRooms().size()); this.habbo.getHabboStats().getFavoriteRooms().forEach(new TIntProcedure() { @Override public boolean execute(int value) { - response.appendInt(value); + FavoriteRoomsCountComposer.this.response.appendInt(value); return true; } }); - return this.response; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/users/MeMenuSettingsComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/users/MeMenuSettingsComposer.java index 9c4f1d3e..4fb33c4e 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/users/MeMenuSettingsComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/users/MeMenuSettingsComposer.java @@ -7,7 +7,7 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class MeMenuSettingsComposer extends MessageComposer { - private Habbo habbo; + private final Habbo habbo; public MeMenuSettingsComposer(Habbo habbo) { @@ -18,7 +18,6 @@ public class MeMenuSettingsComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.MeMenuSettingsComposer); - this.response.appendInt(this.habbo.getHabboStats().volumeSystem); this.response.appendInt(this.habbo.getHabboStats().volumeFurni); this.response.appendInt(this.habbo.getHabboStats().volumeTrax); @@ -27,7 +26,6 @@ public class MeMenuSettingsComposer extends MessageComposer this.response.appendBoolean(this.habbo.getHabboStats().blockCameraFollow); this.response.appendInt(1); this.response.appendInt(this.habbo.getHabboStats().chatColor.getType()); - return this.response; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/users/MutedWhisperComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/users/MutedWhisperComposer.java index 6106cdad..8d08a9df 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/users/MutedWhisperComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/users/MutedWhisperComposer.java @@ -6,7 +6,7 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class MutedWhisperComposer extends MessageComposer { - private int seconds; + private final int seconds; public MutedWhisperComposer(int seconds) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/users/ProfileFriendsComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/users/ProfileFriendsComposer.java index 2882cf6d..5d516532 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/users/ProfileFriendsComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/users/ProfileFriendsComposer.java @@ -1,5 +1,6 @@ package com.eu.habbo.messages.outgoing.users; +import com.eu.habbo.Emulator; import com.eu.habbo.habbohotel.messenger.MessengerBuddy; import com.eu.habbo.habbohotel.users.Habbo; import com.eu.habbo.messages.ServerMessage; @@ -15,8 +16,6 @@ import java.util.Random; public class ProfileFriendsComposer extends MessageComposer { - - private Habbo habbo; private final List lovers = new ArrayList<>(); private final List friends = new ArrayList<>(); private final List haters = new ArrayList<>(); @@ -24,25 +23,19 @@ public class ProfileFriendsComposer extends MessageComposer public ProfileFriendsComposer(THashMap> map, int userId) { - try { - lovers.addAll(map.get(1)); - friends.addAll(map.get(2)); - haters.addAll(map.get(3)); - } - catch(Exception e) - { - e.printStackTrace(); - } + this.lovers.addAll(map.get(1)); + this.friends.addAll(map.get(2)); + this.haters.addAll(map.get(3)); this.userId = userId; } public ProfileFriendsComposer(Habbo habbo) { - try { - this.habbo = habbo; - - for (Map.Entry map : this.habbo.getMessenger().getFriends().entrySet()) { + try + { + for (Map.Entry map : habbo.getMessenger().getFriends().entrySet()) + { if (map.getValue().getRelation() == 0) continue; @@ -61,7 +54,7 @@ public class ProfileFriendsComposer extends MessageComposer } catch(Exception e) { - e.printStackTrace(); + Emulator.getLogging().logErrorLine(e); } this.userId = habbo.getHabboInfo().getId(); @@ -70,9 +63,8 @@ public class ProfileFriendsComposer extends MessageComposer @Override public ServerMessage compose() { - - try { - + try + { this.response.init(Outgoing.ProfileFriendsComposer); this.response.appendInt(this.userId); @@ -100,7 +92,7 @@ public class ProfileFriendsComposer extends MessageComposer this.response.appendString(this.lovers.get(loversIndex).getLook()); } - if (!friends.isEmpty()) { + if (!this.friends.isEmpty()) { int friendsIndex = random.nextInt(this.friends.size()); this.response.appendInt(2); this.response.appendInt(this.friends.size()); @@ -120,7 +112,7 @@ public class ProfileFriendsComposer extends MessageComposer } catch(Exception e) { - e.printStackTrace(); + Emulator.getLogging().logErrorLine(e); } return this.response; } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/users/UpdateUserLookComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/users/UpdateUserLookComposer.java index b7d0398a..4875ddbb 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/users/UpdateUserLookComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/users/UpdateUserLookComposer.java @@ -7,7 +7,7 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class UpdateUserLookComposer extends MessageComposer { - private Habbo habbo; + private final Habbo habbo; public UpdateUserLookComposer(Habbo habbo) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/users/UserAchievementScoreComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/users/UserAchievementScoreComposer.java index 2845cdfa..5aafcb4b 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/users/UserAchievementScoreComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/users/UserAchievementScoreComposer.java @@ -18,7 +18,7 @@ public class UserAchievementScoreComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.UserAchievementScoreComposer); - this.response.appendInt(habbo.getHabboStats().getAchievementScore()); + this.response.appendInt(this.habbo.getHabboStats().getAchievementScore()); return this.response; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/users/UserBCLimitsComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/users/UserBCLimitsComposer.java index 03715145..060760ba 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/users/UserBCLimitsComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/users/UserBCLimitsComposer.java @@ -6,16 +6,13 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class UserBCLimitsComposer extends MessageComposer { - @Override public ServerMessage compose() { this.response.init(Outgoing.UserBCLimitsComposer); - this.response.appendInt(0); this.response.appendInt(500); this.response.appendInt(0); - return this.response; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/users/UserBadgesComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/users/UserBadgesComposer.java index 8de972b0..ae53d05d 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/users/UserBadgesComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/users/UserBadgesComposer.java @@ -23,7 +23,6 @@ public class UserBadgesComposer extends MessageComposer { this.response.init(Outgoing.UserBadgesComposer); this.response.appendInt(this.habbo); - synchronized (this.badges) { this.response.appendInt(this.badges.size()); @@ -33,7 +32,6 @@ public class UserBadgesComposer extends MessageComposer this.response.appendString(badge.getCode()); } } - return this.response; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/users/UserCitizinShipComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/users/UserCitizinShipComposer.java index 340ba15f..8c05ddd8 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/users/UserCitizinShipComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/users/UserCitizinShipComposer.java @@ -6,7 +6,6 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class UserCitizinShipComposer extends MessageComposer { - private final String name; public UserCitizinShipComposer(String name) @@ -21,7 +20,6 @@ public class UserCitizinShipComposer extends MessageComposer this.response.appendString(this.name); this.response.appendInt(4); this.response.appendInt(4); - return this.response; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/users/UserClothesComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/users/UserClothesComposer.java index b08b6706..329bfba3 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/users/UserClothesComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/users/UserClothesComposer.java @@ -28,10 +28,10 @@ public class UserClothesComposer extends MessageComposer { for (Integer j : item.setId) { - idList.add(j); + UserClothesComposer.this.idList.add(j); } - nameList.add(item.name); + UserClothesComposer.this.nameList.add(item.name); } return true; @@ -43,15 +43,10 @@ public class UserClothesComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.UserClothesComposer); - this.response.appendInt(this.idList.size()); - this.idList.forEach(this.response::appendInt); - this.response.appendInt(this.nameList.size()); - this.nameList.forEach(this.response::appendString); - return this.response; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/users/UserCreditsComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/users/UserCreditsComposer.java index a9841da3..143877a9 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/users/UserCreditsComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/users/UserCreditsComposer.java @@ -7,7 +7,6 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class UserCreditsComposer extends MessageComposer { - private final Habbo habbo; public UserCreditsComposer(Habbo habbo) { @@ -18,9 +17,7 @@ public class UserCreditsComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.UserCreditsComposer); - this.response.appendString(this.habbo.getHabboInfo().getCredits() + ".0"); - return this.response; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/users/UserCurrencyComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/users/UserCurrencyComposer.java index b79c0d85..a3fc81a5 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/users/UserCurrencyComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/users/UserCurrencyComposer.java @@ -8,7 +8,6 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class UserCurrencyComposer extends MessageComposer { - private final Habbo habbo; public UserCurrencyComposer(Habbo habbo) @@ -20,12 +19,11 @@ public class UserCurrencyComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.UserCurrencyComposer); - String[] pointsTypes = Emulator.getConfig().getValue("seasonal.types").split(";"); this.response.appendInt(pointsTypes.length); for(String s : pointsTypes) { - int type = 0; + int type; try { type = Integer.valueOf(s); @@ -38,44 +36,6 @@ public class UserCurrencyComposer extends MessageComposer this.response.appendInt(type); this.response.appendInt(this.habbo.getHabboInfo().getCurrencyAmount(type)); } - - //Size - -// - - -// - - -// - - -// - - -// - - -// - - -// -// - - -// - - -// - - -// - - -// - - - return this.response; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/users/UserDataComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/users/UserDataComposer.java index 4d5457ab..e96a3b10 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/users/UserDataComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/users/UserDataComposer.java @@ -7,7 +7,6 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class UserDataComposer extends MessageComposer { - private final Habbo habbo; public UserDataComposer(Habbo habbo) diff --git a/src/main/java/com/eu/habbo/messages/outgoing/users/UserHomeRoomComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/users/UserHomeRoomComposer.java index 6e52a119..e14ee6a8 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/users/UserHomeRoomComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/users/UserHomeRoomComposer.java @@ -6,9 +6,8 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class UserHomeRoomComposer extends MessageComposer { - - private int homeRoom; - private int newRoom; + private final int homeRoom; + private final int newRoom; public UserHomeRoomComposer(int homeRoom, int newRoom) { @@ -20,10 +19,8 @@ public class UserHomeRoomComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.UserHomeRoomComposer); - this.response.appendInt(this.homeRoom); this.response.appendInt(this.newRoom); - return this.response; } } 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 6d82000e..b2f553f1 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 @@ -19,7 +19,6 @@ public class UserPerksComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.UserPerksComposer); - this.response.appendInt(15); this.response.appendString("USE_GUIDE_TOOL"); diff --git a/src/main/java/com/eu/habbo/messages/outgoing/users/UserPermissionsComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/users/UserPermissionsComposer.java index f1b90e69..91311f69 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/users/UserPermissionsComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/users/UserPermissionsComposer.java @@ -21,11 +21,9 @@ public class UserPermissionsComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.UserPermissionsComposer); - this.response.appendInt(this.clubLevel); this.response.appendInt(this.habbo.getHabboInfo().getRank().getLevel()); this.response.appendBoolean(this.habbo.hasPermission("acc_ambassador")); - return this.response; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/users/UserProfileComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/users/UserProfileComposer.java index ac1cea18..17e7fd87 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/users/UserProfileComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/users/UserProfileComposer.java @@ -77,7 +77,7 @@ public class UserProfileComposer extends MessageComposer } this.response.appendInt(achievementScore); this.response.appendInt(Messenger.getFriendCount(this.habboInfo.getId())); - this.response.appendBoolean(viewer.getHabbo().getMessenger().getFriends().containsKey(this.habboInfo.getId())); //Friend + this.response.appendBoolean(this.viewer.getHabbo().getMessenger().getFriends().containsKey(this.habboInfo.getId())); //Friend this.response.appendBoolean(Messenger.friendRequested(this.viewer.getHabbo().getHabboInfo().getId(), this.habboInfo.getId())); //Friend Request Send this.response.appendBoolean(this.habboInfo.isOnline()); @@ -121,7 +121,7 @@ public class UserProfileComposer extends MessageComposer this.response.appendString(guild.getBadge()); this.response.appendString(Emulator.getGameEnvironment().getGuildManager().getSymbolColor(guild.getColorOne()).valueA); this.response.appendString(Emulator.getGameEnvironment().getGuildManager().getSymbolColor(guild.getColorTwo()).valueA); - this.response.appendBoolean(habbo != null && guild.getId() == this.habbo.getHabboStats().guild); + this.response.appendBoolean(this.habbo != null && guild.getId() == this.habbo.getHabboStats().guild); this.response.appendInt(guild.getOwnerId()); this.response.appendBoolean(guild.getOwnerId() == this.habboInfo.getId()); } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/users/UserWardrobeComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/users/UserWardrobeComposer.java index 07ac4369..96fadd1b 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/users/UserWardrobeComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/users/UserWardrobeComposer.java @@ -7,8 +7,7 @@ import com.eu.habbo.messages.outgoing.Outgoing; public class UserWardrobeComposer extends MessageComposer { - - private WardrobeComponent wardrobeComponent; + private final WardrobeComponent wardrobeComponent; public UserWardrobeComposer(WardrobeComponent wardrobeComponent) { diff --git a/src/main/java/com/eu/habbo/messages/outgoing/unknown/VerifyMobileNumberComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/users/verification/VerifyMobileNumberComposer.java similarity index 84% rename from src/main/java/com/eu/habbo/messages/outgoing/unknown/VerifyMobileNumberComposer.java rename to src/main/java/com/eu/habbo/messages/outgoing/users/verification/VerifyMobileNumberComposer.java index f8210a56..62e180a0 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/unknown/VerifyMobileNumberComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/users/verification/VerifyMobileNumberComposer.java @@ -1,4 +1,4 @@ -package com.eu.habbo.messages.outgoing.unknown; +package com.eu.habbo.messages.outgoing.users.verification; import com.eu.habbo.messages.ServerMessage; import com.eu.habbo.messages.outgoing.MessageComposer; @@ -10,7 +10,6 @@ public class VerifyMobileNumberComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.VerifyMobileNumberComposer); - //Empty body return this.response; } } \ No newline at end of file diff --git a/src/main/java/com/eu/habbo/messages/outgoing/unknown/VerifyMobilePhoneCodeWindowComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/users/verification/VerifyMobilePhoneCodeWindowComposer.java similarity index 92% rename from src/main/java/com/eu/habbo/messages/outgoing/unknown/VerifyMobilePhoneCodeWindowComposer.java rename to src/main/java/com/eu/habbo/messages/outgoing/users/verification/VerifyMobilePhoneCodeWindowComposer.java index e1e5bc98..21a4f9dd 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/unknown/VerifyMobilePhoneCodeWindowComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/users/verification/VerifyMobilePhoneCodeWindowComposer.java @@ -1,4 +1,4 @@ -package com.eu.habbo.messages.outgoing.unknown; +package com.eu.habbo.messages.outgoing.users.verification; import com.eu.habbo.messages.ServerMessage; import com.eu.habbo.messages.outgoing.MessageComposer; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/unknown/VerifyMobilePhoneDoneComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/users/verification/VerifyMobilePhoneDoneComposer.java similarity index 92% rename from src/main/java/com/eu/habbo/messages/outgoing/unknown/VerifyMobilePhoneDoneComposer.java rename to src/main/java/com/eu/habbo/messages/outgoing/users/verification/VerifyMobilePhoneDoneComposer.java index 263a623d..01e21988 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/unknown/VerifyMobilePhoneDoneComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/users/verification/VerifyMobilePhoneDoneComposer.java @@ -1,4 +1,4 @@ -package com.eu.habbo.messages.outgoing.unknown; +package com.eu.habbo.messages.outgoing.users.verification; import com.eu.habbo.messages.ServerMessage; import com.eu.habbo.messages.outgoing.MessageComposer; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/unknown/VerifyMobilePhoneWindowComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/users/verification/VerifyMobilePhoneWindowComposer.java similarity index 93% rename from src/main/java/com/eu/habbo/messages/outgoing/unknown/VerifyMobilePhoneWindowComposer.java rename to src/main/java/com/eu/habbo/messages/outgoing/users/verification/VerifyMobilePhoneWindowComposer.java index 9c5b08a4..d6cb5efb 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/unknown/VerifyMobilePhoneWindowComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/users/verification/VerifyMobilePhoneWindowComposer.java @@ -1,4 +1,4 @@ -package com.eu.habbo.messages.outgoing.unknown; +package com.eu.habbo.messages.outgoing.users.verification; import com.eu.habbo.messages.ServerMessage; import com.eu.habbo.messages.outgoing.MessageComposer; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/wired/WiredConditionDataComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/wired/WiredConditionDataComposer.java index 7755497d..ea64d63c 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/wired/WiredConditionDataComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/wired/WiredConditionDataComposer.java @@ -21,7 +21,7 @@ public class WiredConditionDataComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.WiredConditionDataComposer); - this.condition.serializeWiredData(this.response, room); + this.condition.serializeWiredData(this.response, this.room); this.condition.needsUpdate(true); return this.response; } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/wired/WiredEffectDataComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/wired/WiredEffectDataComposer.java index 532413c1..de2f53b4 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/wired/WiredEffectDataComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/wired/WiredEffectDataComposer.java @@ -21,7 +21,7 @@ public class WiredEffectDataComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.WiredEffectDataComposer); - this.effect.serializeWiredData(this.response, room); + this.effect.serializeWiredData(this.response, this.room); this.effect.needsUpdate(true); return this.response; } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/unknown/UnknownWiredComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/wired/WiredOpenComposer.java similarity index 75% rename from src/main/java/com/eu/habbo/messages/outgoing/unknown/UnknownWiredComposer.java rename to src/main/java/com/eu/habbo/messages/outgoing/wired/WiredOpenComposer.java index eaf91dee..4699d9ed 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/unknown/UnknownWiredComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/wired/WiredOpenComposer.java @@ -1,15 +1,15 @@ -package com.eu.habbo.messages.outgoing.unknown; +package com.eu.habbo.messages.outgoing.wired; import com.eu.habbo.habbohotel.users.HabboItem; import com.eu.habbo.messages.ServerMessage; import com.eu.habbo.messages.outgoing.MessageComposer; import com.eu.habbo.messages.outgoing.Outgoing; -public class UnknownWiredComposer extends MessageComposer +public class WiredOpenComposer extends MessageComposer { private final HabboItem item; - public UnknownWiredComposer(HabboItem item) + public WiredOpenComposer(HabboItem item) { this.item = item; } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/WiredRewardAlertComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/wired/WiredRewardAlertComposer.java similarity index 95% rename from src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/WiredRewardAlertComposer.java rename to src/main/java/com/eu/habbo/messages/outgoing/wired/WiredRewardAlertComposer.java index 334d9dfd..b559eb04 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/generic/alerts/WiredRewardAlertComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/wired/WiredRewardAlertComposer.java @@ -1,4 +1,4 @@ -package com.eu.habbo.messages.outgoing.generic.alerts; +package com.eu.habbo.messages.outgoing.wired; import com.eu.habbo.messages.ServerMessage; import com.eu.habbo.messages.outgoing.MessageComposer; diff --git a/src/main/java/com/eu/habbo/messages/outgoing/wired/WiredSavedComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/wired/WiredSavedComposer.java index 92166cab..50b6ccda 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/wired/WiredSavedComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/wired/WiredSavedComposer.java @@ -10,7 +10,6 @@ public class WiredSavedComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.WiredSavedComposer); - return this.response; } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/wired/WiredTriggerDataComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/wired/WiredTriggerDataComposer.java index edfeacdb..a75ac13d 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/wired/WiredTriggerDataComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/wired/WiredTriggerDataComposer.java @@ -21,7 +21,7 @@ public class WiredTriggerDataComposer extends MessageComposer public ServerMessage compose() { this.response.init(Outgoing.WiredTriggerDataComposer); - this.trigger.serializeWiredData(this.response, room); + this.trigger.serializeWiredData(this.response, this.room); this.trigger.needsUpdate(true); return this.response; } diff --git a/src/main/java/com/eu/habbo/messages/rcon/AlertUser.java b/src/main/java/com/eu/habbo/messages/rcon/AlertUser.java index 2811fd11..3910c204 100644 --- a/src/main/java/com/eu/habbo/messages/rcon/AlertUser.java +++ b/src/main/java/com/eu/habbo/messages/rcon/AlertUser.java @@ -20,18 +20,18 @@ public class AlertUser extends RCONMessage if(habbo != null) { - habbo.getClient().sendResponse(new GenericAlertComposer(object.message)); + habbo.alert(object.message); } this.status = RCONMessage.HABBO_NOT_FOUND; } - public static class JSONAlertUser + static class JSONAlertUser { - public int user_id; + int user_id; - public String message; + String message; } } diff --git a/src/main/java/com/eu/habbo/messages/rcon/ChangeRoomOwner.java b/src/main/java/com/eu/habbo/messages/rcon/ChangeRoomOwner.java index 3a144b76..1038ddad 100644 --- a/src/main/java/com/eu/habbo/messages/rcon/ChangeRoomOwner.java +++ b/src/main/java/com/eu/habbo/messages/rcon/ChangeRoomOwner.java @@ -26,7 +26,7 @@ public class ChangeRoomOwner extends RCONMessage } } - public static class JSON + static class JSON { public int room_id; diff --git a/src/main/java/com/eu/habbo/messages/rcon/CreateModToolTicket.java b/src/main/java/com/eu/habbo/messages/rcon/CreateModToolTicket.java index 17b40474..1d0c5813 100644 --- a/src/main/java/com/eu/habbo/messages/rcon/CreateModToolTicket.java +++ b/src/main/java/com/eu/habbo/messages/rcon/CreateModToolTicket.java @@ -20,7 +20,7 @@ public class CreateModToolTicket extends RCONMessage Emulator.getGameEnvironment().getModToolManager().updateTicketToMods(issue); } - public static class JSON + static class JSON { public int sender_id; diff --git a/src/main/java/com/eu/habbo/messages/rcon/DisconnectUser.java b/src/main/java/com/eu/habbo/messages/rcon/DisconnectUser.java index ae62ea2f..fef7a673 100644 --- a/src/main/java/com/eu/habbo/messages/rcon/DisconnectUser.java +++ b/src/main/java/com/eu/habbo/messages/rcon/DisconnectUser.java @@ -15,7 +15,7 @@ public class DisconnectUser extends RCONMessage= 0) { @@ -42,7 +42,7 @@ public class DisconnectUser extends RCONMessage this.status = RCONMessage.HABBO_NOT_FOUND; } - public static class ForwardUserJSON + static class ForwardUserJSON { public int user_id; diff --git a/src/main/java/com/eu/habbo/messages/rcon/FriendRequest.java b/src/main/java/com/eu/habbo/messages/rcon/FriendRequest.java index 4a94b882..34f8601e 100644 --- a/src/main/java/com/eu/habbo/messages/rcon/FriendRequest.java +++ b/src/main/java/com/eu/habbo/messages/rcon/FriendRequest.java @@ -58,7 +58,7 @@ public class FriendRequest extends RCONMessage } } - public static class JSON + static class JSON { public int user_id; diff --git a/src/main/java/com/eu/habbo/messages/rcon/GiveBadge.java b/src/main/java/com/eu/habbo/messages/rcon/GiveBadge.java index eb689e8a..cb7c7f06 100644 --- a/src/main/java/com/eu/habbo/messages/rcon/GiveBadge.java +++ b/src/main/java/com/eu/habbo/messages/rcon/GiveBadge.java @@ -63,7 +63,7 @@ public class GiveBadge extends RCONMessage { for (String badgeCode : json.badge.split(";")) { - boolean found = false; + boolean found; try (PreparedStatement statement = connection.prepareStatement("SELECT COUNT(slot_id) FROM users_badges INNER JOIN users ON users.id = user_id WHERE users.id = ? AND badge_code = ? LIMIT 1")) { statement.setInt(1, json.user_id); @@ -100,7 +100,7 @@ public class GiveBadge extends RCONMessage } } - public static class GiveBadgeJSON + static class GiveBadgeJSON { public int user_id = -1; diff --git a/src/main/java/com/eu/habbo/messages/rcon/GiveCredits.java b/src/main/java/com/eu/habbo/messages/rcon/GiveCredits.java index a22b7a4e..ebbdfa18 100644 --- a/src/main/java/com/eu/habbo/messages/rcon/GiveCredits.java +++ b/src/main/java/com/eu/habbo/messages/rcon/GiveCredits.java @@ -43,7 +43,7 @@ public class GiveCredits extends RCONMessage } } - public static class JSONGiveCredits + static class JSONGiveCredits { public int user_id; diff --git a/src/main/java/com/eu/habbo/messages/rcon/GivePixels.java b/src/main/java/com/eu/habbo/messages/rcon/GivePixels.java index acf4235b..354b56ae 100644 --- a/src/main/java/com/eu/habbo/messages/rcon/GivePixels.java +++ b/src/main/java/com/eu/habbo/messages/rcon/GivePixels.java @@ -43,7 +43,7 @@ public class GivePixels extends RCONMessage } } - public static class JSONGivePixels + static class JSONGivePixels { public int user_id; diff --git a/src/main/java/com/eu/habbo/messages/rcon/GivePoints.java b/src/main/java/com/eu/habbo/messages/rcon/GivePoints.java index 6498408a..469543a2 100644 --- a/src/main/java/com/eu/habbo/messages/rcon/GivePoints.java +++ b/src/main/java/com/eu/habbo/messages/rcon/GivePoints.java @@ -45,7 +45,7 @@ public class GivePoints extends RCONMessage } } - public static class JSONGivePoints + static class JSONGivePoints { public int user_id; diff --git a/src/main/java/com/eu/habbo/messages/rcon/GiveRespect.java b/src/main/java/com/eu/habbo/messages/rcon/GiveRespect.java index 910ff1f0..b3ecf343 100644 --- a/src/main/java/com/eu/habbo/messages/rcon/GiveRespect.java +++ b/src/main/java/com/eu/habbo/messages/rcon/GiveRespect.java @@ -47,7 +47,7 @@ public class GiveRespect extends RCONMessage } } - public static class JSONGiveRespect + static class JSONGiveRespect { public int user_id; diff --git a/src/main/java/com/eu/habbo/messages/rcon/HotelAlert.java b/src/main/java/com/eu/habbo/messages/rcon/HotelAlert.java index 24714b30..5ac8b03a 100644 --- a/src/main/java/com/eu/habbo/messages/rcon/HotelAlert.java +++ b/src/main/java/com/eu/habbo/messages/rcon/HotelAlert.java @@ -20,7 +20,7 @@ public class HotelAlert extends RCONMessage @Override public void handle(Gson gson, JSONHotelAlert object) { - ServerMessage serverMessage = null; + ServerMessage serverMessage; if (object.url.isEmpty()) { serverMessage = new GenericAlertComposer(object.message).compose(); @@ -43,7 +43,7 @@ public class HotelAlert extends RCONMessage } } - public static class JSONHotelAlert + static class JSONHotelAlert { public String message; diff --git a/src/main/java/com/eu/habbo/messages/rcon/IgnoreUser.java b/src/main/java/com/eu/habbo/messages/rcon/IgnoreUser.java index 86dcbe6f..4158166e 100644 --- a/src/main/java/com/eu/habbo/messages/rcon/IgnoreUser.java +++ b/src/main/java/com/eu/habbo/messages/rcon/IgnoreUser.java @@ -42,7 +42,7 @@ public class IgnoreUser extends RCONMessage } } - public static class JSONIgnoreUser + static class JSONIgnoreUser { public int user_id; diff --git a/src/main/java/com/eu/habbo/messages/rcon/ImageAlertUser.java b/src/main/java/com/eu/habbo/messages/rcon/ImageAlertUser.java index 444e733a..4cb9d571 100644 --- a/src/main/java/com/eu/habbo/messages/rcon/ImageAlertUser.java +++ b/src/main/java/com/eu/habbo/messages/rcon/ImageAlertUser.java @@ -59,7 +59,7 @@ public class ImageAlertUser extends RCONMessage habbo.getClient().sendResponse(new BubbleAlertComposer(json.bubble_key, keys)); } - public static class JSON + static class JSON { public int user_id; diff --git a/src/main/java/com/eu/habbo/messages/rcon/ImageHotelAlert.java b/src/main/java/com/eu/habbo/messages/rcon/ImageHotelAlert.java index 094fb4a8..d21637a4 100644 --- a/src/main/java/com/eu/habbo/messages/rcon/ImageHotelAlert.java +++ b/src/main/java/com/eu/habbo/messages/rcon/ImageHotelAlert.java @@ -62,7 +62,7 @@ public class ImageHotelAlert extends RCONMessage } } - public static class JSON + static class JSON { public String bubble_key = ""; diff --git a/src/main/java/com/eu/habbo/messages/rcon/MuteUser.java b/src/main/java/com/eu/habbo/messages/rcon/MuteUser.java index 6011930a..728917cf 100644 --- a/src/main/java/com/eu/habbo/messages/rcon/MuteUser.java +++ b/src/main/java/com/eu/habbo/messages/rcon/MuteUser.java @@ -44,12 +44,12 @@ public class MuteUser extends RCONMessage } catch (SQLException e) { - e.printStackTrace(); + Emulator.getLogging().logSQLException(e); } } } - public static class JSON + static class JSON { public int user_id; diff --git a/src/main/java/com/eu/habbo/messages/rcon/ProgressAchievement.java b/src/main/java/com/eu/habbo/messages/rcon/ProgressAchievement.java index aa870735..02c4aaeb 100644 --- a/src/main/java/com/eu/habbo/messages/rcon/ProgressAchievement.java +++ b/src/main/java/com/eu/habbo/messages/rcon/ProgressAchievement.java @@ -37,7 +37,7 @@ public class ProgressAchievement extends RCONMessage } } - public static class SendGiftJSON + static class SendGiftJSON { public int user_id = -1; diff --git a/src/main/java/com/eu/habbo/messages/rcon/SendRoomBundle.java b/src/main/java/com/eu/habbo/messages/rcon/SendRoomBundle.java index d0b6f221..6b7487b7 100644 --- a/src/main/java/com/eu/habbo/messages/rcon/SendRoomBundle.java +++ b/src/main/java/com/eu/habbo/messages/rcon/SendRoomBundle.java @@ -23,7 +23,7 @@ public class SendRoomBundle extends RCONMessage Habbo habbo = Emulator.getGameEnvironment().getHabboManager().getHabbo(json.user_id); CatalogPage page = Emulator.getGameEnvironment().getCatalogManager().getCatalogPage(json.catalog_page); - if (page != null && (page instanceof RoomBundleLayout)) + if ((page instanceof RoomBundleLayout)) { if (habbo != null) { @@ -42,7 +42,7 @@ public class SendRoomBundle extends RCONMessage } } - public static class JSON + static class JSON { public int user_id; diff --git a/src/main/java/com/eu/habbo/messages/rcon/SetMotto.java b/src/main/java/com/eu/habbo/messages/rcon/SetMotto.java index 6fad0242..8f8cfe4c 100644 --- a/src/main/java/com/eu/habbo/messages/rcon/SetMotto.java +++ b/src/main/java/com/eu/habbo/messages/rcon/SetMotto.java @@ -44,7 +44,7 @@ public class SetMotto extends RCONMessage } } - public class SetMottoJSON + static class SetMottoJSON { public int user_id; diff --git a/src/main/java/com/eu/habbo/messages/rcon/SetRank.java b/src/main/java/com/eu/habbo/messages/rcon/SetRank.java index 9989bff6..d0213eb8 100644 --- a/src/main/java/com/eu/habbo/messages/rcon/SetRank.java +++ b/src/main/java/com/eu/habbo/messages/rcon/SetRank.java @@ -36,7 +36,7 @@ public class SetRank extends RCONMessage } } - public static class JSONSetRank + static class JSONSetRank { public int user_id; diff --git a/src/main/java/com/eu/habbo/messages/rcon/StaffAlert.java b/src/main/java/com/eu/habbo/messages/rcon/StaffAlert.java index 6c539f44..cd677a8f 100644 --- a/src/main/java/com/eu/habbo/messages/rcon/StaffAlert.java +++ b/src/main/java/com/eu/habbo/messages/rcon/StaffAlert.java @@ -16,7 +16,7 @@ public class StaffAlert extends RCONMessage Emulator.getGameEnvironment().getHabboManager().staffAlert(json.message); } - public static class JSON + static class JSON { public String message; diff --git a/src/main/java/com/eu/habbo/messages/rcon/StalkUser.java b/src/main/java/com/eu/habbo/messages/rcon/StalkUser.java index 04bf8233..49aae373 100644 --- a/src/main/java/com/eu/habbo/messages/rcon/StalkUser.java +++ b/src/main/java/com/eu/habbo/messages/rcon/StalkUser.java @@ -25,24 +25,28 @@ public class StalkUser extends RCONMessage { this.message = Emulator.getTexts().getValue("commands.error.cmd_stalk.not_found").replace("%user%", json.user_id + ""); this.status = STATUS_ERROR; + return; } if(target.getHabboInfo().getCurrentRoom() == null) { this.message = Emulator.getTexts().getValue("commands.error.cmd_stalk.not_room").replace("%user%", json.user_id + ""); this.status = STATUS_ERROR; + return; } if(target.getHabboInfo().getUsername().equals(habbo.getHabboInfo().getUsername())) { this.message = Emulator.getTexts().getValue("commands.generic.cmd_stalk.self").replace("%user%", json.user_id + ""); this.status = STATUS_ERROR; + return; } if(target.getHabboInfo().getCurrentRoom() == habbo.getHabboInfo().getCurrentRoom()) { this.message = Emulator.getTexts().getValue("commands.generic.cmd_stalk.same_room").replace("%user%", json.user_id + ""); this.status = STATUS_ERROR; + return; } if (this.status == 0) @@ -52,7 +56,7 @@ public class StalkUser extends RCONMessage } } - public static class StalkUserJSON + static class StalkUserJSON { public int user_id; diff --git a/src/main/java/com/eu/habbo/messages/rcon/TalkUser.java b/src/main/java/com/eu/habbo/messages/rcon/TalkUser.java index 56fec078..c2f241d5 100644 --- a/src/main/java/com/eu/habbo/messages/rcon/TalkUser.java +++ b/src/main/java/com/eu/habbo/messages/rcon/TalkUser.java @@ -37,7 +37,7 @@ public class TalkUser extends RCONMessage } } - public static class JSON + static class JSON { public String type; diff --git a/src/main/java/com/eu/habbo/messages/rcon/UpdateCatalog.java b/src/main/java/com/eu/habbo/messages/rcon/UpdateCatalog.java index ca9df653..e2c63061 100644 --- a/src/main/java/com/eu/habbo/messages/rcon/UpdateCatalog.java +++ b/src/main/java/com/eu/habbo/messages/rcon/UpdateCatalog.java @@ -26,7 +26,7 @@ public class UpdateCatalog extends RCONMessage Emulator.getGameEnvironment().getCraftingManager().reload(); } - public static class JSONUpdateCatalog + static class JSONUpdateCatalog { } } \ No newline at end of file diff --git a/src/main/java/com/eu/habbo/messages/rcon/UpdateUser.java b/src/main/java/com/eu/habbo/messages/rcon/UpdateUser.java index 51718aa0..b894eaf6 100644 --- a/src/main/java/com/eu/habbo/messages/rcon/UpdateUser.java +++ b/src/main/java/com/eu/habbo/messages/rcon/UpdateUser.java @@ -132,7 +132,7 @@ public class UpdateUser extends RCONMessage } } - public static class JSON + static class JSON { public int user_id; diff --git a/src/main/java/com/eu/habbo/messages/rcon/UpdateWordfilter.java b/src/main/java/com/eu/habbo/messages/rcon/UpdateWordfilter.java index 8b7d591d..7d32b462 100644 --- a/src/main/java/com/eu/habbo/messages/rcon/UpdateWordfilter.java +++ b/src/main/java/com/eu/habbo/messages/rcon/UpdateWordfilter.java @@ -17,7 +17,7 @@ public class UpdateWordfilter extends RCONMessage() + EventLoopGroup eventLoopGroup = new NioEventLoopGroup(); + this.bootstrap.group(eventLoopGroup); + this.bootstrap.channel(NioSocketChannel.class); + this.bootstrap.option(ChannelOption.TCP_NODELAY, true); + this.bootstrap.option(ChannelOption.SO_KEEPALIVE, false); + this.bootstrap.handler(new ChannelInitializer() { @Override public void initChannel(SocketChannel ch) throws Exception @@ -37,10 +37,10 @@ public class CameraClient ch.pipeline().addLast(new CameraHandler()); } }); - bootstrap.option(ChannelOption.SO_RCVBUF, 5120); - bootstrap.option(ChannelOption.SO_REUSEADDR, true); - bootstrap.option(ChannelOption.RCVBUF_ALLOCATOR, new FixedRecvByteBufAllocator(5120)); - bootstrap.option(ChannelOption.ALLOCATOR, new UnpooledByteBufAllocator(false)); + this.bootstrap.option(ChannelOption.SO_RCVBUF, 5120); + this.bootstrap.option(ChannelOption.SO_REUSEADDR, true); + this.bootstrap.option(ChannelOption.RCVBUF_ALLOCATOR, new FixedRecvByteBufAllocator(5120)); + this.bootstrap.option(ChannelOption.ALLOCATOR, new UnpooledByteBufAllocator(false)); } public void connect() @@ -56,7 +56,7 @@ public class CameraClient CameraClient.attemptReconnect = false; CameraClient.channel = channelFuture.channel(); System.out.println("[" + Logging.ANSI_GREEN + "CAMERA" + Logging.ANSI_RESET + "] Connected to the Camera Server. Attempting to login..."); - sendMessage(new CameraLoginComposer()); + this.sendMessage(new CameraLoginComposer()); } else { diff --git a/src/main/java/com/eu/habbo/networking/camera/CameraDecoder.java b/src/main/java/com/eu/habbo/networking/camera/CameraDecoder.java index b233d503..879118e6 100644 --- a/src/main/java/com/eu/habbo/networking/camera/CameraDecoder.java +++ b/src/main/java/com/eu/habbo/networking/camera/CameraDecoder.java @@ -6,7 +6,7 @@ import io.netty.handler.codec.ByteToMessageDecoder; import java.util.List; -public class CameraDecoder extends ByteToMessageDecoder +class CameraDecoder extends ByteToMessageDecoder { @Override protected void decode(ChannelHandlerContext ctx, ByteBuf byteBuf, List objects) diff --git a/src/main/java/com/eu/habbo/networking/camera/CameraIncomingMessage.java b/src/main/java/com/eu/habbo/networking/camera/CameraIncomingMessage.java index 45366e98..af910345 100644 --- a/src/main/java/com/eu/habbo/networking/camera/CameraIncomingMessage.java +++ b/src/main/java/com/eu/habbo/networking/camera/CameraIncomingMessage.java @@ -50,11 +50,10 @@ public abstract class CameraIncomingMessage extends CameraMessage { try { - int length = readInt(); + int length = this.readInt(); byte[] data = new byte[length]; this.buffer.readBytes(data); - String s = new String(data); - return s; + return new String(data); } catch (Exception e) { diff --git a/src/main/java/com/eu/habbo/networking/camera/CameraOutgoingMessage.java b/src/main/java/com/eu/habbo/networking/camera/CameraOutgoingMessage.java index 3e009a33..cc4e1585 100644 --- a/src/main/java/com/eu/habbo/networking/camera/CameraOutgoingMessage.java +++ b/src/main/java/com/eu/habbo/networking/camera/CameraOutgoingMessage.java @@ -76,7 +76,7 @@ public abstract class CameraOutgoingMessage extends CameraMessage { try { - this.stream.writeInt(obj.intValue()); + this.stream.writeInt(obj); } catch(IOException e) { @@ -120,7 +120,7 @@ public abstract class CameraOutgoingMessage extends CameraMessage { try { - this.stream.writeByte(b.intValue()); + this.stream.writeByte(b); } catch(IOException e) { @@ -131,7 +131,7 @@ public abstract class CameraOutgoingMessage extends CameraMessage { try { - this.stream.writeBoolean(obj.booleanValue()); + this.stream.writeBoolean(obj); } catch(IOException e) { diff --git a/src/main/java/com/eu/habbo/networking/camera/CameraPacketHandler.java b/src/main/java/com/eu/habbo/networking/camera/CameraPacketHandler.java index 686c5764..986ea6cf 100644 --- a/src/main/java/com/eu/habbo/networking/camera/CameraPacketHandler.java +++ b/src/main/java/com/eu/habbo/networking/camera/CameraPacketHandler.java @@ -9,7 +9,7 @@ import java.util.HashMap; public class CameraPacketHandler { - private HashMap> packetDefinitions; + private final HashMap> packetDefinitions; private static CameraPacketHandler INSTANCE; public static CameraPacketHandler instance() diff --git a/src/main/java/com/eu/habbo/networking/camera/messages/incoming/CameraResultURLEvent.java b/src/main/java/com/eu/habbo/networking/camera/messages/incoming/CameraResultURLEvent.java index bc42a52b..1948e8a0 100644 --- a/src/main/java/com/eu/habbo/networking/camera/messages/incoming/CameraResultURLEvent.java +++ b/src/main/java/com/eu/habbo/networking/camera/messages/incoming/CameraResultURLEvent.java @@ -44,7 +44,7 @@ public class CameraResultURLEvent extends CameraIncomingMessage habbo.getHabboInfo().setPhotoJSON(""); habbo.getHabboInfo().setPhotoURL(""); - habbo.getClient().sendResponse(new GenericAlertComposer(Emulator.getTexts().getValue("camera.error.creation"))); + habbo.alert(Emulator.getTexts().getValue("camera.error.creation")); return; } } diff --git a/src/main/java/com/eu/habbo/networking/camera/messages/outgoing/CameraLoginComposer.java b/src/main/java/com/eu/habbo/networking/camera/messages/outgoing/CameraLoginComposer.java index ac1af308..6101c5d9 100644 --- a/src/main/java/com/eu/habbo/networking/camera/messages/outgoing/CameraLoginComposer.java +++ b/src/main/java/com/eu/habbo/networking/camera/messages/outgoing/CameraLoginComposer.java @@ -15,8 +15,8 @@ public class CameraLoginComposer extends CameraOutgoingMessage @Override public void compose(Channel channel) { - this.appendString(Emulator.getConfig().getValue("username")); - this.appendString(Emulator.getConfig().getValue("password")); + this.appendString(Emulator.getConfig().getValue("username").trim()); + this.appendString(Emulator.getConfig().getValue("password").trim()); this.appendString(Emulator.version); } } \ No newline at end of file diff --git a/src/main/java/com/eu/habbo/networking/camera/messages/outgoing/CameraRenderImageComposer.java b/src/main/java/com/eu/habbo/networking/camera/messages/outgoing/CameraRenderImageComposer.java index 02ae4a4e..e5eb64c8 100644 --- a/src/main/java/com/eu/habbo/networking/camera/messages/outgoing/CameraRenderImageComposer.java +++ b/src/main/java/com/eu/habbo/networking/camera/messages/outgoing/CameraRenderImageComposer.java @@ -23,7 +23,7 @@ public class CameraRenderImageComposer extends CameraOutgoingMessage this.backgroundColor = backgroundColor; this.width = width; this.height = height; - JSON = json; + this.JSON = json; } @Override diff --git a/src/main/java/com/eu/habbo/networking/gameserver/GameByteDecoder.java b/src/main/java/com/eu/habbo/networking/gameserver/GameByteDecoder.java index ee055ad1..cafaaf54 100644 --- a/src/main/java/com/eu/habbo/networking/gameserver/GameByteDecoder.java +++ b/src/main/java/com/eu/habbo/networking/gameserver/GameByteDecoder.java @@ -41,6 +41,7 @@ public class GameByteDecoder extends ByteToMessageDecoder " \n" + " " + (char) 0, CharsetUtil.UTF_8)); + f.channel().close(); ctx.channel().close(); return; } diff --git a/src/main/java/com/eu/habbo/networking/gameserver/GameMessageHandler.java b/src/main/java/com/eu/habbo/networking/gameserver/GameMessageHandler.java index 89de33c8..08e27963 100644 --- a/src/main/java/com/eu/habbo/networking/gameserver/GameMessageHandler.java +++ b/src/main/java/com/eu/habbo/networking/gameserver/GameMessageHandler.java @@ -19,7 +19,6 @@ public class GameMessageHandler extends ChannelInboundHandlerAdapter if (!Emulator.getGameServer().getGameClientManager().addClient(ctx)) { ctx.channel().close(); - return; } } diff --git a/src/main/java/com/eu/habbo/networking/gameserver/GameServer.java b/src/main/java/com/eu/habbo/networking/gameserver/GameServer.java index 80c2891e..2586f29b 100644 --- a/src/main/java/com/eu/habbo/networking/gameserver/GameServer.java +++ b/src/main/java/com/eu/habbo/networking/gameserver/GameServer.java @@ -13,7 +13,6 @@ public class GameServer extends Server private final PacketManager packetManager; private final GameClientManager gameClientManager; - public GameServer(String host, int port) throws Exception { super("Game Server", host, port, Emulator.getConfig().getInt("io.bossgroup.threads"), Emulator.getConfig().getInt("io.workergroup.threads")); @@ -40,11 +39,11 @@ public class GameServer extends Server public PacketManager getPacketManager() { - return packetManager; + return this.packetManager; } public GameClientManager getGameClientManager() { - return gameClientManager; + return this.gameClientManager; } } diff --git a/src/main/java/com/eu/habbo/networking/rconserver/RCONServer.java b/src/main/java/com/eu/habbo/networking/rconserver/RCONServer.java index a63469f0..8939a7b5 100644 --- a/src/main/java/com/eu/habbo/networking/rconserver/RCONServer.java +++ b/src/main/java/com/eu/habbo/networking/rconserver/RCONServer.java @@ -12,11 +12,13 @@ import io.netty.channel.ChannelInitializer; import io.netty.channel.socket.SocketChannel; import java.util.ArrayList; +import java.util.Collections; import java.util.List; +import java.util.Map; public class RCONServer extends Server { - public List allowedAdresses = new ArrayList(); + public List allowedAdresses = new ArrayList<>(); private final THashMap> messages; @@ -61,10 +63,7 @@ public class RCONServer extends Server this.addRCONMessage("ignoreuser", IgnoreUser.class); this.addRCONMessage("setmotto", SetMotto.class); - for (String ip : Emulator.getConfig().getValue("rcon.allowed", "127.0.0.1").split(";")) - { - this.allowedAdresses.add(ip); - } + Collections.addAll(this.allowedAdresses, Emulator.getConfig().getValue("rcon.allowed", "127.0.0.1").split(";")); } @Override @@ -92,7 +91,7 @@ public class RCONServer extends Server { Class message = this.messages.get(key.replace("_", "").toLowerCase()); - String result = ""; + String result; if(message != null) { try @@ -113,7 +112,7 @@ public class RCONServer extends Server } catch (Exception ex) { - ex.printStackTrace(); + Emulator.getLogging().logErrorLine(ex); Emulator.getLogging().logPacketError("[RCON] Failed to handle RCONMessage: " + message.getName() + ex.getMessage() + " by: " + ctx.channel().remoteAddress()); } } @@ -124,4 +123,9 @@ public class RCONServer extends Server throw new ArrayIndexOutOfBoundsException("Unhandled RCON Message"); } + + public List getCommands() + { + return new ArrayList<>(this.messages.keySet()); + } } diff --git a/src/main/java/com/eu/habbo/plugin/EventPriority.java b/src/main/java/com/eu/habbo/plugin/EventPriority.java index 480092e9..34418704 100644 --- a/src/main/java/com/eu/habbo/plugin/EventPriority.java +++ b/src/main/java/com/eu/habbo/plugin/EventPriority.java @@ -17,7 +17,7 @@ public enum EventPriority private final int slot; - private EventPriority(int slot) + EventPriority(int slot) { this.slot = slot; } diff --git a/src/main/java/com/eu/habbo/plugin/PluginManager.java b/src/main/java/com/eu/habbo/plugin/PluginManager.java index 52f48f85..abb9f3bf 100644 --- a/src/main/java/com/eu/habbo/plugin/PluginManager.java +++ b/src/main/java/com/eu/habbo/plugin/PluginManager.java @@ -42,6 +42,7 @@ import java.lang.reflect.Method; import java.net.URL; import java.net.URLClassLoader; import java.util.NoSuchElementException; +import java.util.Objects; public class PluginManager { @@ -62,12 +63,10 @@ public class PluginManager } } - for (File file : loc.listFiles(new FileFilter() { - public boolean accept(File file) {return file.getPath().toLowerCase().endsWith(".jar");} - })) + for (File file : Objects.requireNonNull(loc.listFiles(file -> file.getPath().toLowerCase().endsWith(".jar")))) { - URLClassLoader urlClassLoader = null; - InputStream stream = null; + URLClassLoader urlClassLoader; + InputStream stream; try { urlClassLoader = URLClassLoader.newInstance(new URL[]{file.toURI().toURL()}); @@ -108,7 +107,7 @@ public class PluginManager } catch (Exception e) { - e.printStackTrace(); + Emulator.getLogging().logErrorLine(e); } } } @@ -185,7 +184,6 @@ public class PluginManager { Emulator.getLogging().logErrorLine("Could not pass event " + event.getClass().getName() + " to " + plugin.configuration.name); Emulator.getLogging().logErrorLine(e); - e.printStackTrace(); } } } @@ -294,8 +292,6 @@ public class PluginManager { try { - this.methods.add(FreezeGame.class.getMethod("onUserWalkEvent", UserTakeStepEvent.class)); - this.methods.add(BattleBanzaiGame.class.getMethod("onUserWalkEvent", UserTakeStepEvent.class)); 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)); diff --git a/src/main/java/com/eu/habbo/plugin/events/users/UserNameChangedEvent.java b/src/main/java/com/eu/habbo/plugin/events/users/UserNameChangedEvent.java index 5c8cc028..9f9a9d7e 100644 --- a/src/main/java/com/eu/habbo/plugin/events/users/UserNameChangedEvent.java +++ b/src/main/java/com/eu/habbo/plugin/events/users/UserNameChangedEvent.java @@ -4,7 +4,8 @@ import com.eu.habbo.habbohotel.users.Habbo; public class UserNameChangedEvent extends UserEvent { - private final String oldName; + public final String oldName; + public UserNameChangedEvent(Habbo habbo, String oldName) { diff --git a/src/main/java/com/eu/habbo/threading/ThreadPooling.java b/src/main/java/com/eu/habbo/threading/ThreadPooling.java index 81821236..a822e5cc 100644 --- a/src/main/java/com/eu/habbo/threading/ThreadPooling.java +++ b/src/main/java/com/eu/habbo/threading/ThreadPooling.java @@ -74,8 +74,7 @@ public class ThreadPooling this.canAdd = false; this.scheduledPool.shutdownNow(); - while(!this.scheduledPool.isTerminated()) { - } + while(!this.scheduledPool.isTerminated()); Emulator.getLogging().logShutdownLine("Threading -> Disposed!"); } diff --git a/src/main/java/com/eu/habbo/threading/runnables/AchievementUpdater.java b/src/main/java/com/eu/habbo/threading/runnables/AchievementUpdater.java index 9c94454b..81f54493 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/AchievementUpdater.java +++ b/src/main/java/com/eu/habbo/threading/runnables/AchievementUpdater.java @@ -9,7 +9,7 @@ import java.util.Map; public class AchievementUpdater implements Runnable { - public static int INTERVAL = 5 * 60; + public static final int INTERVAL = 5 * 60; public int lastExecutionTimestamp = Emulator.getIntUnixTimestamp(); @Override public void run() diff --git a/src/main/java/com/eu/habbo/threading/runnables/BackgroundAnimation.java b/src/main/java/com/eu/habbo/threading/runnables/BackgroundAnimation.java index 87256202..e276c776 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/BackgroundAnimation.java +++ b/src/main/java/com/eu/habbo/threading/runnables/BackgroundAnimation.java @@ -20,9 +20,9 @@ public class BackgroundAnimation implements Runnable @Override public void run() { - if(room.isLoaded() && !room.isPreLoaded()) + if(this.room.isLoaded() && !this.room.isPreLoaded()) { - this.toner.setExtradata("1:" + state + ":126:126"); + this.toner.setExtradata("1:" + this.state + ":126:126"); this.state = (this.state + 1) % 256; this.room.updateItem(this.toner); diff --git a/src/main/java/com/eu/habbo/threading/runnables/BanzaiRandomTeleport.java b/src/main/java/com/eu/habbo/threading/runnables/BanzaiRandomTeleport.java index 4cc523d7..d870ce2c 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/BanzaiRandomTeleport.java +++ b/src/main/java/com/eu/habbo/threading/runnables/BanzaiRandomTeleport.java @@ -1,17 +1,18 @@ package com.eu.habbo.threading.runnables; import com.eu.habbo.habbohotel.rooms.Room; +import com.eu.habbo.habbohotel.rooms.RoomUnit; import com.eu.habbo.habbohotel.users.Habbo; import com.eu.habbo.habbohotel.users.HabboItem; public class BanzaiRandomTeleport implements Runnable { - private HabboItem item; - private HabboItem toItem; - private Habbo habbo; - private Room room; + private final HabboItem item; + private final HabboItem toItem; + private final RoomUnit habbo; + private final Room room; - public BanzaiRandomTeleport(HabboItem item, HabboItem toItem, Habbo habbo, Room room) + public BanzaiRandomTeleport(HabboItem item, HabboItem toItem, RoomUnit habbo, Room room) { this.item = item; this.toItem = toItem; @@ -22,11 +23,11 @@ public class BanzaiRandomTeleport implements Runnable @Override public void run() { - this.habbo.getRoomUnit().setCanWalk(true); + this.habbo.setCanWalk(true); this.item.setExtradata("0"); this.toItem.setExtradata("0"); this.room.updateItem(this.item); this.room.updateItem(this.toItem); - this.room.teleportHabboToItem(this.habbo, this.toItem); + this.room.teleportRoomUnitToItem(this.habbo, this.toItem); } } diff --git a/src/main/java/com/eu/habbo/threading/runnables/BattleBanzaiTilesFlicker.java b/src/main/java/com/eu/habbo/threading/runnables/BattleBanzaiTilesFlicker.java index 7c4ecd96..6cc2ff2d 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/BattleBanzaiTilesFlicker.java +++ b/src/main/java/com/eu/habbo/threading/runnables/BattleBanzaiTilesFlicker.java @@ -9,9 +9,9 @@ import gnu.trove.set.hash.THashSet; public class BattleBanzaiTilesFlicker implements Runnable { - private THashSet items; - private GameTeamColors color; - private Room room; + private final THashSet items; + private final GameTeamColors color; + private final Room room; private boolean on = false; private int count = 0; @@ -30,14 +30,14 @@ public class BattleBanzaiTilesFlicker implements Runnable return; int state = 0; - if(on) + if(this.on) { - state = (color.type * 3) + 5; - on = false; + state = (this.color.type * 3) + 5; + this.on = false; } else { - on = true; + this.on = true; } for(HabboItem item : this.items) diff --git a/src/main/java/com/eu/habbo/threading/runnables/BotFollowHabbo.java b/src/main/java/com/eu/habbo/threading/runnables/BotFollowHabbo.java index 6c9fdb38..efd508b3 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/BotFollowHabbo.java +++ b/src/main/java/com/eu/habbo/threading/runnables/BotFollowHabbo.java @@ -8,9 +8,9 @@ import com.eu.habbo.habbohotel.users.Habbo; public class BotFollowHabbo implements Runnable { - private Bot bot; - private Habbo habbo; - private Room room; + private final Bot bot; + private final Habbo habbo; + private final Room room; public BotFollowHabbo(Bot bot, Habbo habbo, Room room) { 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 23167c96..dcc4bc0e 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/CannonKickAction.java +++ b/src/main/java/com/eu/habbo/threading/runnables/CannonKickAction.java @@ -29,7 +29,10 @@ public class CannonKickAction implements Runnable @Override public void run() { - client.getHabbo().getRoomUnit().setCanWalk(true); + if (this.client != null) + { + this.client.getHabbo().getRoomUnit().setCanWalk(true); + } THashMap dater = new THashMap<>(); dater.put("title", "${notification.room.kick.cannonball.title}"); dater.put("message", "${notification.room.kick.cannonball.message}"); diff --git a/src/main/java/com/eu/habbo/threading/runnables/ChannelReadHandler.java b/src/main/java/com/eu/habbo/threading/runnables/ChannelReadHandler.java index 8c11d59b..a2ac561b 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/ChannelReadHandler.java +++ b/src/main/java/com/eu/habbo/threading/runnables/ChannelReadHandler.java @@ -21,28 +21,32 @@ public class ChannelReadHandler implements Runnable public void run() { - ByteBuf m = (ByteBuf) msg; + ByteBuf m = (ByteBuf) this.msg; int length = m.readInt(); short header = m.readShort(); - GameClient client = ctx.attr(GameClientManager.CLIENT).get(); + GameClient client = this.ctx.channel().attr(GameClientManager.CLIENT).get(); - int count = 0; if (client != null) { - if (Emulator.getIntUnixTimestamp() - client.lastPacketCounterCleared > 1) + int count = 0; + int timestamp = Emulator.getIntUnixTimestamp(); + if (timestamp - client.lastPacketCounterCleared > 1) { client.incomingPacketCounter.clear(); + client.lastPacketCounterCleared = timestamp; } else { count = client.incomingPacketCounter.getOrDefault(header, 0); } - } - if (count <= 10) - { - client.incomingPacketCounter.put((int) header, count++); - ByteBuf body = Unpooled.wrappedBuffer(m.readBytes(m.readableBytes())); - Emulator.getGameServer().getPacketManager().handlePacket(client, new ClientMessage(header, body)); - body.release(); + + if (count <= 10) + { + count++; + client.incomingPacketCounter.put((int) header, count); + ByteBuf body = Unpooled.wrappedBuffer(m.readBytes(m.readableBytes())); + Emulator.getGameServer().getPacketManager().handlePacket(client, new ClientMessage(header, body)); + body.release(); + } } m.release(); } diff --git a/src/main/java/com/eu/habbo/threading/runnables/ClearRentedSpace.java b/src/main/java/com/eu/habbo/threading/runnables/ClearRentedSpace.java index ecd94ed8..a979a702 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/ClearRentedSpace.java +++ b/src/main/java/com/eu/habbo/threading/runnables/ClearRentedSpace.java @@ -11,8 +11,8 @@ import gnu.trove.set.hash.THashSet; public class ClearRentedSpace implements Runnable { - private InteractionRentableSpace item; - private Room room; + private final InteractionRentableSpace item; + private final Room room; public ClearRentedSpace(InteractionRentableSpace item, Room room) { diff --git a/src/main/java/com/eu/habbo/threading/runnables/CrackableExplode.java b/src/main/java/com/eu/habbo/threading/runnables/CrackableExplode.java index 241049a6..e3e18fc9 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/CrackableExplode.java +++ b/src/main/java/com/eu/habbo/threading/runnables/CrackableExplode.java @@ -17,8 +17,8 @@ public class CrackableExplode implements Runnable private final InteractionCrackable habboItem; private final Habbo habbo; private final boolean toInventory; - private short x; - private short y; + private final short x; + private final short y; public CrackableExplode(Room room, InteractionCrackable item, Habbo habbo, boolean toInventory, short x, short y) { @@ -34,7 +34,7 @@ public class CrackableExplode implements Runnable @Override public void run() { - if (habboItem.getRoomId() == 0) + if (this.habboItem.getRoomId() == 0) { return; } @@ -54,20 +54,20 @@ public class CrackableExplode implements Runnable if (rewardItem != null) { - HabboItem newItem = Emulator.getGameEnvironment().getItemManager().createItem(this.habboItem.allowAnyone() ? habbo.getHabboInfo().getId() : this.habboItem.getUserId(), rewardItem, 0, 0, ""); + HabboItem newItem = Emulator.getGameEnvironment().getItemManager().createItem(this.habboItem.allowAnyone() ? this.habbo.getHabboInfo().getId() : this.habboItem.getUserId(), rewardItem, 0, 0, ""); if (newItem != null) { if (this.toInventory) { - habbo.getInventory().getItemsComponent().addItem(newItem); - habbo.getClient().sendResponse(new AddHabboItemComposer(newItem)); - habbo.getClient().sendResponse(new InventoryRefreshComposer()); + this.habbo.getInventory().getItemsComponent().addItem(newItem); + this.habbo.getClient().sendResponse(new AddHabboItemComposer(newItem)); + this.habbo.getClient().sendResponse(new InventoryRefreshComposer()); } else { newItem.setX(this.x); newItem.setY(this.y); - newItem.setZ(room.getStackHeight(this.x, this.y, false)); + newItem.setZ(this.room.getStackHeight(this.x, this.y, false)); newItem.setRoomId(this.room.getId()); newItem.needsUpdate(true); this.room.addHabboItem(newItem); @@ -77,6 +77,6 @@ public class CrackableExplode implements Runnable } - this.room.updateTile(room.getLayout().getTile(this.x, this.y)); + this.room.updateTile(this.room.getLayout().getTile(this.x, this.y)); } } diff --git a/src/main/java/com/eu/habbo/threading/runnables/GameStop.java b/src/main/java/com/eu/habbo/threading/runnables/GameStop.java deleted file mode 100644 index 38ce07ff..00000000 --- a/src/main/java/com/eu/habbo/threading/runnables/GameStop.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.eu.habbo.threading.runnables; - -import com.eu.habbo.habbohotel.games.Game; - -public class GameStop implements Runnable -{ - private Game game; - - public GameStop(Game game) - { - this.game = game; - } - - @Override - public void run() - { - this.game.stop(); - } -} diff --git a/src/main/java/com/eu/habbo/threading/runnables/GuardianTicketFindMoreSlaves.java b/src/main/java/com/eu/habbo/threading/runnables/GuardianTicketFindMoreSlaves.java index 14fd1f32..1757af20 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/GuardianTicketFindMoreSlaves.java +++ b/src/main/java/com/eu/habbo/threading/runnables/GuardianTicketFindMoreSlaves.java @@ -15,6 +15,6 @@ public class GuardianTicketFindMoreSlaves implements Runnable @Override public void run() { - Emulator.getGameEnvironment().getGuideManager().findGuardians(ticket); + Emulator.getGameEnvironment().getGuideManager().findGuardians(this.ticket); } } diff --git a/src/main/java/com/eu/habbo/threading/runnables/GuardianVotingFinish.java b/src/main/java/com/eu/habbo/threading/runnables/GuardianVotingFinish.java index 216ea887..8e1caed2 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/GuardianVotingFinish.java +++ b/src/main/java/com/eu/habbo/threading/runnables/GuardianVotingFinish.java @@ -5,7 +5,7 @@ import com.eu.habbo.habbohotel.guides.GuardianTicket; public class GuardianVotingFinish implements Runnable { private final GuardianTicket ticket; - private int checkSum = 0; + private int checkSum; public GuardianVotingFinish(GuardianTicket ticket) { @@ -16,7 +16,7 @@ public class GuardianVotingFinish implements Runnable @Override public void run() { - if(!this.ticket.isFinished()) + if(this.ticket.inProgress()) { if(this.ticket.getCheckSum() == this.checkSum) { diff --git a/src/main/java/com/eu/habbo/threading/runnables/HabboGiveHandItemToHabbo.java b/src/main/java/com/eu/habbo/threading/runnables/HabboGiveHandItemToHabbo.java index efd98d10..d1d6386d 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/HabboGiveHandItemToHabbo.java +++ b/src/main/java/com/eu/habbo/threading/runnables/HabboGiveHandItemToHabbo.java @@ -6,8 +6,8 @@ import com.eu.habbo.messages.outgoing.rooms.users.RoomUserReceivedHandItemCompos public class HabboGiveHandItemToHabbo implements Runnable { - private Habbo target; - private Habbo from; + private final Habbo target; + private final Habbo from; public HabboGiveHandItemToHabbo(Habbo from, Habbo target) { diff --git a/src/main/java/com/eu/habbo/threading/runnables/KickBallAction.java b/src/main/java/com/eu/habbo/threading/runnables/KickBallAction.java index 274d76b0..c888eedb 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/KickBallAction.java +++ b/src/main/java/com/eu/habbo/threading/runnables/KickBallAction.java @@ -53,7 +53,7 @@ public class KickBallAction implements Runnable { { this.currentStep = this.totalSteps; //End the move sequence, the ball can't bounce anywhere } - run(); + this.run(); } else { @@ -72,16 +72,16 @@ public class KickBallAction implements Runnable { } else { - currentStep = totalSteps; //End the move sequence, the ball can't bounce anywhere - run(); + this.currentStep = this.totalSteps; //End the move sequence, the ball can't bounce anywhere + this.run(); } } } else { //We're done with the move sequence. Stop it the sequence & end the thread. - this.ball.onStop(room, this.kicker, this.currentStep, this.totalSteps); - dead = true; + this.ball.onStop(this.room, this.kicker, this.currentStep, this.totalSteps); + this.dead = true; } } 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 61cf3c9c..b67dec34 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/OneWayGateActionOne.java +++ b/src/main/java/com/eu/habbo/threading/runnables/OneWayGateActionOne.java @@ -27,9 +27,9 @@ public class OneWayGateActionOne implements Runnable RoomTile t = this.room.getLayout().getTileInFront(this.room.getLayout().getTile(this.oneWayGate.getX(), this.oneWayGate.getY()), (this.oneWayGate.getRotation() + 4) % 8); - if(client.getHabbo().getRoomUnit().animateWalk) + if(this.client.getHabbo().getRoomUnit().animateWalk) { - client.getHabbo().getRoomUnit().animateWalk = false; + this.client.getHabbo().getRoomUnit().animateWalk = false; } if (t.isWalkable()) diff --git a/src/main/java/com/eu/habbo/threading/runnables/OneWayGateActionTwo.java b/src/main/java/com/eu/habbo/threading/runnables/OneWayGateActionTwo.java deleted file mode 100644 index cbfe6587..00000000 --- a/src/main/java/com/eu/habbo/threading/runnables/OneWayGateActionTwo.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.eu.habbo.threading.runnables; - -import com.eu.habbo.habbohotel.gameclients.GameClient; -import com.eu.habbo.habbohotel.rooms.Room; -import com.eu.habbo.habbohotel.users.HabboItem; - -class OneWayGateActionTwo implements Runnable -{ - private final HabboItem oneWayGate; - private final Room room; - private final GameClient client; - - public OneWayGateActionTwo(GameClient client, Room room, HabboItem item) - { - this.oneWayGate = item; - this.room = room; - this.client = client; - } - - @Override - public void run() - { - - } -} diff --git a/src/main/java/com/eu/habbo/threading/runnables/OpenGift.java b/src/main/java/com/eu/habbo/threading/runnables/OpenGift.java index d81356ba..84d49be6 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/OpenGift.java +++ b/src/main/java/com/eu/habbo/threading/runnables/OpenGift.java @@ -31,7 +31,7 @@ public class OpenGift implements Runnable { HabboItem inside = null; - THashSet items = ((InteractionGift) item).loadItems(); + THashSet items = ((InteractionGift) this.item).loadItems(); for (HabboItem i : items) { if(inside == null) @@ -54,7 +54,7 @@ public class OpenGift implements Runnable Emulator.getThreading().run(new QueryDeleteHabboItem(this.item)); - Emulator.getThreading().run(new RemoveFloorItemTask(this.room, this.item), item.getBaseItem().getName().contains("present_wrap") ? 5000 : 0); + Emulator.getThreading().run(new RemoveFloorItemTask(this.room, this.item), this.item.getBaseItem().getName().contains("present_wrap") ? 5000 : 0); if (inside != null) { @@ -63,7 +63,7 @@ public class OpenGift implements Runnable } catch (Exception e) { - e.printStackTrace(); + Emulator.getLogging().logErrorLine(e); } } } diff --git a/src/main/java/com/eu/habbo/threading/runnables/PetClearPosture.java b/src/main/java/com/eu/habbo/threading/runnables/PetClearPosture.java index 1f6a730e..b0da3e13 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/PetClearPosture.java +++ b/src/main/java/com/eu/habbo/threading/runnables/PetClearPosture.java @@ -28,14 +28,13 @@ public class PetClearPosture implements Runnable { if(this.pet.getRoomUnit() != null) { - this.pet.getRoomUnit().removeStatus(key); + this.pet.getRoomUnit().removeStatus(this.key); - if(this.pet instanceof Pet) - if(this.clearTask) - pet.setTask(PetTasks.FREE); - else - if(this.newTask != null) - this.pet.setTask(this.newTask); + if(this.clearTask) + this.pet.setTask(PetTasks.FREE); + else + if(this.newTask != null) + this.pet.setTask(this.newTask); } } } 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 d5fe7c68..636e86c9 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/PetFollowHabbo.java +++ b/src/main/java/com/eu/habbo/threading/runnables/PetFollowHabbo.java @@ -33,7 +33,7 @@ public class PetFollowHabbo implements Runnable { if (this.pet.getRoomUnit() != null) { - RoomTile target = this.habbo.getHabboInfo().getCurrentRoom().getLayout().getTileInFront(this.habbo.getRoomUnit().getCurrentLocation(), Math.abs((this.habbo.getRoomUnit().getBodyRotation().getValue() + directionOffset + 4) % 8)); + RoomTile target = this.habbo.getHabboInfo().getCurrentRoom().getLayout().getTileInFront(this.habbo.getRoomUnit().getCurrentLocation(), Math.abs((this.habbo.getRoomUnit().getBodyRotation().getValue() + this.directionOffset + 4) % 8)); if (target != null) { @@ -46,10 +46,7 @@ public class PetFollowHabbo implements Runnable { this.pet.getRoomUnit().setGoalLocation(target); this.pet.getRoomUnit().setCanWalk(true); - if (this.pet instanceof Pet) - { - this.pet.setTask(PetTasks.FOLLOW); - } + this.pet.setTask(PetTasks.FOLLOW); } } Emulator.getThreading().run(this, 500); diff --git a/src/main/java/com/eu/habbo/threading/runnables/QueryDeleteHabboItem.java b/src/main/java/com/eu/habbo/threading/runnables/QueryDeleteHabboItem.java index adb71990..51899b92 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/QueryDeleteHabboItem.java +++ b/src/main/java/com/eu/habbo/threading/runnables/QueryDeleteHabboItem.java @@ -21,7 +21,7 @@ public class QueryDeleteHabboItem implements Runnable { try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("DELETE FROM items WHERE id = ?")) { - statement.setInt(1, item.getId()); + statement.setInt(1, this.item.getId()); statement.execute(); } catch (SQLException e) diff --git a/src/main/java/com/eu/habbo/threading/runnables/QueryDeleteHabboItems.java b/src/main/java/com/eu/habbo/threading/runnables/QueryDeleteHabboItems.java index f00584a9..214cf35f 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/QueryDeleteHabboItems.java +++ b/src/main/java/com/eu/habbo/threading/runnables/QueryDeleteHabboItems.java @@ -22,7 +22,7 @@ public class QueryDeleteHabboItems implements Runnable { try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("DELETE FROM items WHERE id = ?")) { - for (HabboItem item : items.valueCollection()) + for (HabboItem item : this.items.valueCollection()) { if (item.getRoomId() > 0) continue; diff --git a/src/main/java/com/eu/habbo/threading/runnables/RandomDiceNumber.java b/src/main/java/com/eu/habbo/threading/runnables/RandomDiceNumber.java index 42232d8b..650663dc 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/RandomDiceNumber.java +++ b/src/main/java/com/eu/habbo/threading/runnables/RandomDiceNumber.java @@ -31,10 +31,10 @@ public class RandomDiceNumber implements Runnable @Override public void run() { - if(result <= 0) - result = (Emulator.getRandom().nextInt(this.maxNumber) + 1); + if(this.result <= 0) + this.result = (Emulator.getRandom().nextInt(this.maxNumber) + 1); - this.item.setExtradata(result + ""); + this.item.setExtradata(this.result + ""); this.item.needsUpdate(true); Emulator.getThreading().run(this.item); diff --git a/src/main/java/com/eu/habbo/threading/runnables/RoomUnitGiveHanditem.java b/src/main/java/com/eu/habbo/threading/runnables/RoomUnitGiveHanditem.java index 985150e1..38eaef16 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/RoomUnitGiveHanditem.java +++ b/src/main/java/com/eu/habbo/threading/runnables/RoomUnitGiveHanditem.java @@ -20,7 +20,7 @@ public class RoomUnitGiveHanditem implements Runnable @Override public void run() { - if(room != null && this.roomUnit.isInRoom()) + if(this.room != null && this.roomUnit.isInRoom()) { this.roomUnit.setHandItem(this.itemId); this.room.sendComposer(new RoomUserHandItemComposer(this.roomUnit).compose()); diff --git a/src/main/java/com/eu/habbo/threading/runnables/RoomUnitKick.java b/src/main/java/com/eu/habbo/threading/runnables/RoomUnitKick.java index fc86b9b5..111dddfd 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/RoomUnitKick.java +++ b/src/main/java/com/eu/habbo/threading/runnables/RoomUnitKick.java @@ -22,7 +22,7 @@ public class RoomUnitKick implements Runnable { if(this.removeEffect) { - this.habbo.getRoomUnit().setEffectId(0); + this.habbo.getRoomUnit().setEffectId(0, 0); } Emulator.getGameEnvironment().getRoomManager().leaveRoom(this.habbo, this.room); diff --git a/src/main/java/com/eu/habbo/threading/runnables/RoomUnitRideHorse.java b/src/main/java/com/eu/habbo/threading/runnables/RoomUnitRideHorse.java index 5cd0981c..8a06e5e9 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/RoomUnitRideHorse.java +++ b/src/main/java/com/eu/habbo/threading/runnables/RoomUnitRideHorse.java @@ -30,7 +30,7 @@ public class RoomUnitRideHorse implements Runnable if(this.goalTile.x == this.pet.getRoomUnit().getX() && this.goalTile.y == this.pet.getRoomUnit().getY()) { this.habbo.getRoomUnit().setGoalLocation(this.pet.getRoomUnit().getCurrentLocation()); - this.habbo.getHabboInfo().getCurrentRoom().giveEffect(this.habbo, 77); + this.habbo.getHabboInfo().getCurrentRoom().giveEffect(this.habbo, 77, -1); this.habbo.getHabboInfo().setRiding(this.pet); this.pet.setRider(this.habbo); this.pet.setTask(PetTasks.RIDE); diff --git a/src/main/java/com/eu/habbo/threading/runnables/RoomUnitTeleport.java b/src/main/java/com/eu/habbo/threading/runnables/RoomUnitTeleport.java index cba65990..0ba5f8ca 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/RoomUnitTeleport.java +++ b/src/main/java/com/eu/habbo/threading/runnables/RoomUnitTeleport.java @@ -33,7 +33,7 @@ public class RoomUnitTeleport implements Runnable @Override public void run() { - RoomTile t = this.room.getLayout().getTile((short) x, (short) y); + RoomTile t = this.room.getLayout().getTile((short) this.x, (short) this.y); HabboItem topItem = this.room.getTopItemAt(this.roomUnit.getCurrentLocation().x, this.roomUnit.getCurrentLocation().y); if (topItem != null) @@ -54,14 +54,14 @@ public class RoomUnitTeleport implements Runnable this.roomUnit.setPreviousLocationZ(this.z); this.roomUnit.removeStatus(RoomUnitStatus.MOVE); this.room.sendComposer(new RoomUnitOnRollerComposer(this.roomUnit, null, t, this.room).compose()); - Emulator.getThreading().run(new Runnable() - { - @Override - public void run() - { - room.giveEffect(roomUnit, newEffect); - } - }, 1000); + + + + + + + + this.room.updateHabbosAt(t.x, t.y); } } diff --git a/src/main/java/com/eu/habbo/threading/runnables/RoomUnitTeleportWalkToAction.java b/src/main/java/com/eu/habbo/threading/runnables/RoomUnitTeleportWalkToAction.java index 36059244..ca75f194 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/RoomUnitTeleportWalkToAction.java +++ b/src/main/java/com/eu/habbo/threading/runnables/RoomUnitTeleportWalkToAction.java @@ -40,7 +40,7 @@ public class RoomUnitTeleportWalkToAction implements Runnable } catch (Exception e) { - e.printStackTrace(); + Emulator.getLogging().logErrorLine(e); } } else diff --git a/src/main/java/com/eu/habbo/threading/runnables/RoomUnitWalkToRoomUnit.java b/src/main/java/com/eu/habbo/threading/runnables/RoomUnitWalkToRoomUnit.java index 6a45fb17..75cf3146 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/RoomUnitWalkToRoomUnit.java +++ b/src/main/java/com/eu/habbo/threading/runnables/RoomUnitWalkToRoomUnit.java @@ -50,7 +50,7 @@ public class RoomUnitWalkToRoomUnit implements Runnable } else { - List tiles = room.getLayout().getTilesAround(this.target.getCurrentLocation()); + List tiles = this.room.getLayout().getTilesAround(this.target.getCurrentLocation()); for(RoomTile t : tiles) { @@ -77,7 +77,7 @@ public class RoomUnitWalkToRoomUnit implements Runnable if (!this.room.tileWalkable(this.goalTile)) { - List tiles = room.getLayout().getTilesAround(this.target.getCurrentLocation()); + List tiles = this.room.getLayout().getTilesAround(this.target.getCurrentLocation()); for (RoomTile t : tiles) { diff --git a/src/main/java/com/eu/habbo/threading/runnables/TeleportInteraction.java b/src/main/java/com/eu/habbo/threading/runnables/TeleportInteraction.java index 984722b8..46ee51fa 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/TeleportInteraction.java +++ b/src/main/java/com/eu/habbo/threading/runnables/TeleportInteraction.java @@ -37,7 +37,7 @@ class TeleportInteraction extends Thread { try { - if (state == 5) + if (this.state == 5) { this.teleportTwo.setExtradata("1"); this.targetRoom.updateItem(this.teleportTwo); @@ -49,7 +49,7 @@ class TeleportInteraction extends Thread } Emulator.getThreading().run(this.teleportTwo, 500); Emulator.getThreading().run(this.teleportOne, 500); - } else if (state == 4) + } else if (this.state == 4) { int[] data = Emulator.getGameEnvironment().getItemManager().getTargetTeleportRoomId(this.teleportOne); if (data.length == 2 && data[0] != 0) @@ -99,23 +99,23 @@ class TeleportInteraction extends Thread this.state = 5; Emulator.getThreading().run(this, 500); - } else if (state == 3) + } else if (this.state == 3) { this.teleportOne.setExtradata("0"); this.room.updateItem(this.teleportOne); this.state = 4; Emulator.getThreading().run(this, 500); - } else if (state == 2) + } else if (this.state == 2) { this.client.getHabbo().getRoomUnit().setGoalLocation(this.room.getLayout().getTile(this.teleportOne.getX(), this.teleportOne.getY())); - this.client.getHabbo().getRoomUnit().setRotation(RoomUserRotation.values()[newRotation(this.teleportOne.getRotation())]); + this.client.getHabbo().getRoomUnit().setRotation(RoomUserRotation.values()[this.newRotation(this.teleportOne.getRotation())]); this.client.getHabbo().getRoomUnit().setStatus(RoomUnitStatus.MOVE, this.teleportOne.getX() + "," + this.teleportOne.getY() + "," + this.teleportOne.getZ()); //room.sendComposer(new RoomUserStatusComposer(this.client.getHabbo().getRoomUnit())); - state = 3; + this.state = 3; Emulator.getThreading().run(this, 500); - } else if (state == 1) + } else if (this.state == 1) { RoomTile loc = HabboItem.getSquareInFront(this.room.getLayout(), this.teleportOne); @@ -131,7 +131,7 @@ class TeleportInteraction extends Thread } catch (Exception e) { - e.printStackTrace(); + Emulator.getLogging().logErrorLine(e); } } diff --git a/src/main/java/com/eu/habbo/threading/runnables/WiredExecuteTask.java b/src/main/java/com/eu/habbo/threading/runnables/WiredExecuteTask.java index 77a5695a..af5cfc5a 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/WiredExecuteTask.java +++ b/src/main/java/com/eu/habbo/threading/runnables/WiredExecuteTask.java @@ -34,12 +34,12 @@ public class WiredExecuteTask implements Runnable { if (this.task instanceof WiredTriggerAtSetTime) { - if (((WiredTriggerAtSetTime) this.task).taskId != taskId) + if (((WiredTriggerAtSetTime) this.task).taskId != this.taskId) return; } if (this.task instanceof WiredTriggerAtTimeLong) { - if (((WiredTriggerAtTimeLong) this.task).taskId != taskId) + if (((WiredTriggerAtTimeLong) this.task).taskId != this.taskId) return; } WiredHandler.handle(this.task, null, this.room, null); diff --git a/src/main/java/com/eu/habbo/threading/runnables/YouAreAPirate.java b/src/main/java/com/eu/habbo/threading/runnables/YouAreAPirate.java index 0cd3bbab..f200b84c 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/YouAreAPirate.java +++ b/src/main/java/com/eu/habbo/threading/runnables/YouAreAPirate.java @@ -82,7 +82,7 @@ public class YouAreAPirate implements Runnable this.habbo = habbo; this.room = room; this.oldEffect = this.habbo.getRoomUnit().getEffectId(); - this.room.giveEffect(this.habbo, 161); + this.room.giveEffect(this.habbo, 161, -1); } @Override @@ -90,19 +90,19 @@ public class YouAreAPirate implements Runnable { if(this.room == this.habbo.getHabboInfo().getCurrentRoom()) { - if(!iamapirate[index].isEmpty()) + if(!iamapirate[this.index].isEmpty()) { - this.room.talk(this.habbo, new RoomChatMessage(iamapirate[index], this.habbo, RoomChatMessageBubbles.PIRATE), RoomChatType.SHOUT); + this.room.talk(this.habbo, new RoomChatMessage(iamapirate[this.index], this.habbo, RoomChatMessageBubbles.PIRATE), RoomChatType.SHOUT); } this.index++; if(this.index == iamapirate.length) { - this.room.giveEffect(this.habbo, this.oldEffect); + this.room.giveEffect(this.habbo, this.oldEffect, -1); return; } - Emulator.getThreading().run(this, iamapirate[index-1].length() * 100); + Emulator.getThreading().run(this, iamapirate[this.index -1].length() * 100); } } } diff --git a/src/main/java/com/eu/habbo/threading/runnables/freeze/FreezeClearEffects.java b/src/main/java/com/eu/habbo/threading/runnables/freeze/FreezeClearEffects.java index 14af5ccc..0460d4bb 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/freeze/FreezeClearEffects.java +++ b/src/main/java/com/eu/habbo/threading/runnables/freeze/FreezeClearEffects.java @@ -15,7 +15,7 @@ public class FreezeClearEffects implements Runnable @Override public void run() { - this.habbo.getRoomUnit().setEffectId(0); + this.habbo.getRoomUnit().setEffectId(0, 0); this.habbo.getRoomUnit().setCanWalk(true); if(this.habbo.getHabboInfo().getCurrentRoom() != null) { diff --git a/src/main/java/com/eu/habbo/threading/runnables/freeze/FreezeHandleSnowballExplosion.java b/src/main/java/com/eu/habbo/threading/runnables/freeze/FreezeHandleSnowballExplosion.java index 7882c120..6a864354 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/freeze/FreezeHandleSnowballExplosion.java +++ b/src/main/java/com/eu/habbo/threading/runnables/freeze/FreezeHandleSnowballExplosion.java @@ -55,46 +55,63 @@ class FreezeHandleSnowballExplosion implements Runnable THashSet freezeTiles = new THashSet<>(); - for (RoomTile t : tiles) + for (RoomTile roomTile : tiles) { - THashSet items = this.thrownData.room.getItemsAt(t); + THashSet items = this.thrownData.room.getItemsAt(roomTile); - for (HabboItem i : items) + for (HabboItem freezeTile : items) { - if (i instanceof InteractionFreezeTile) + if (freezeTile instanceof InteractionFreezeTile || freezeTile instanceof InteractionFreezeBlock) { - i.setExtradata("11000"); - freezeTiles.add((InteractionFreezeTile) i); - this.thrownData.room.updateItem(i); - i.setExtradata("0"); - - THashSet habbos = new THashSet<>(); - habbos.addAll(this.thrownData.room.getHabbosAt(i.getX(), i.getY())); - - for (Habbo habbo : habbos) + int distance = 0; + if (freezeTile.getX() != this.thrownData.targetTile.getX() && freezeTile.getY() != this.thrownData.targetTile.getY()) { - if (habbo.getHabboInfo().getGamePlayer() != null && habbo.getHabboInfo().getGamePlayer() instanceof FreezeGamePlayer) + distance = Math.abs(freezeTile.getX() - this.thrownData.targetTile.getX()); + } + else + { + distance = (int)Math.ceil(this.thrownData.room.getLayout().getTile(this.thrownData.targetTile.getX(), this.thrownData.targetTile.getY()).distance(roomTile)); + } + + if (freezeTile instanceof InteractionFreezeTile) + { + freezeTile.setExtradata("11" + String.format("%03d", distance * 100)); //TODO Investigate this further. Probably height dependent or something. + freezeTiles.add((InteractionFreezeTile) freezeTile); + this.thrownData.room.updateItem(freezeTile); + + + THashSet habbos = new THashSet<>(); + habbos.addAll(this.thrownData.room.getHabbosAt(freezeTile.getX(), freezeTile.getY())); + + for (Habbo habbo : habbos) { - FreezeGamePlayer hPlayer = (FreezeGamePlayer) habbo.getHabboInfo().getGamePlayer(); - if(!hPlayer.canGetFrozen()) - continue; + if (habbo.getHabboInfo().getGamePlayer() != null && habbo.getHabboInfo().getGamePlayer() instanceof FreezeGamePlayer) + { + FreezeGamePlayer hPlayer = (FreezeGamePlayer) habbo.getHabboInfo().getGamePlayer(); + if (!hPlayer.canGetFrozen()) + continue; - if (hPlayer.getTeamColor().equals(player.getTeamColor())) - player.addScore(-FreezeGame.FREEZE_LOOSE_POINTS); - else - player.addScore(FreezeGame.FREEZE_LOOSE_POINTS); + if (hPlayer.getTeamColor().equals(player.getTeamColor())) + player.addScore(-FreezeGame.FREEZE_LOOSE_POINTS); + else + player.addScore(FreezeGame.FREEZE_LOOSE_POINTS); - ((FreezeGamePlayer)habbo.getHabboInfo().getGamePlayer()).freeze(); + ((FreezeGamePlayer) habbo.getHabboInfo().getGamePlayer()).freeze(); - AchievementManager.progressAchievement(habbo, Emulator.getGameEnvironment().getAchievementManager().getAchievement("EsA")); + if (this.thrownData.habbo != habbo) + { + AchievementManager.progressAchievement(habbo, Emulator.getGameEnvironment().getAchievementManager().getAchievement("EsA")); + } + } } } - } else if (i instanceof InteractionFreezeBlock) - { - if (i.getExtradata().equalsIgnoreCase("0")) + else if (freezeTile instanceof InteractionFreezeBlock) { - game.explodeBox((InteractionFreezeBlock) i); - player.addScore(FreezeGame.DESTROY_BLOCK_POINTS); + if (freezeTile.getExtradata().equalsIgnoreCase("0")) + { + game.explodeBox((InteractionFreezeBlock) freezeTile, distance * 100); + player.addScore(FreezeGame.DESTROY_BLOCK_POINTS); + } } } } diff --git a/src/main/java/com/eu/habbo/threading/runnables/freeze/FreezeResetExplosionTiles.java b/src/main/java/com/eu/habbo/threading/runnables/freeze/FreezeResetExplosionTiles.java index 72408486..2cfde3bd 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/freeze/FreezeResetExplosionTiles.java +++ b/src/main/java/com/eu/habbo/threading/runnables/freeze/FreezeResetExplosionTiles.java @@ -20,7 +20,8 @@ class FreezeResetExplosionTiles implements Runnable { for(HabboItem item : this.tiles) { - room.updateItem(item); + item.setExtradata("0"); + this.room.updateItem(item); } } } diff --git a/src/main/java/com/eu/habbo/threading/runnables/freeze/FreezeThrowSnowball.java b/src/main/java/com/eu/habbo/threading/runnables/freeze/FreezeThrowSnowball.java index b17ea356..11b2e82e 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/freeze/FreezeThrowSnowball.java +++ b/src/main/java/com/eu/habbo/threading/runnables/freeze/FreezeThrowSnowball.java @@ -26,9 +26,9 @@ public class FreezeThrowSnowball implements Runnable @Override public void run() { - ((FreezeGamePlayer)habbo.getHabboInfo().getGamePlayer()).takeSnowball(); - targetTile.setExtradata((this.radius + 1) * 1000 + ""); - room.updateItem(this.targetTile); + ((FreezeGamePlayer) this.habbo.getHabboInfo().getGamePlayer()).takeSnowball(); + this.targetTile.setExtradata((this.radius + 1) * 1000 + ""); + this.room.updateItem(this.targetTile); Emulator.getThreading().run(new FreezeHandleSnowballExplosion(this), 2000); Emulator.getThreading().run(new HabboItemNewState(this.targetTile, this.room, "11000"), 2000); Emulator.getThreading().run(new HabboItemNewState(this.targetTile, this.room, "0"), 3000); diff --git a/src/main/java/com/eu/habbo/threading/runnables/hopper/HopperActionOne.java b/src/main/java/com/eu/habbo/threading/runnables/hopper/HopperActionOne.java index 970e3cdb..d4716bc7 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/hopper/HopperActionOne.java +++ b/src/main/java/com/eu/habbo/threading/runnables/hopper/HopperActionOne.java @@ -37,8 +37,8 @@ public class HopperActionOne implements Runnable @Override public void run() { - client.getHabbo().getRoomUnit().removeStatus(RoomUnitStatus.MOVE); - room.sendComposer(new RoomUserStatusComposer(client.getHabbo().getRoomUnit()).compose()); + HopperActionOne.this.client.getHabbo().getRoomUnit().removeStatus(RoomUnitStatus.MOVE); + HopperActionOne.this.room.sendComposer(new RoomUserStatusComposer(HopperActionOne.this.client.getHabbo().getRoomUnit()).compose()); } }, 750); diff --git a/src/main/java/com/eu/habbo/threading/runnables/hopper/HopperActionThree.java b/src/main/java/com/eu/habbo/threading/runnables/hopper/HopperActionThree.java index 08e20ff9..650bf355 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/hopper/HopperActionThree.java +++ b/src/main/java/com/eu/habbo/threading/runnables/hopper/HopperActionThree.java @@ -32,9 +32,9 @@ class HopperActionThree implements Runnable public void run() { HabboItem targetTeleport; - Room targetRoom = room; + Room targetRoom = this.room; - if(this.teleportOne.getRoomId() != targetRoomId) + if(this.teleportOne.getRoomId() != this.targetRoomId) { Emulator.getGameEnvironment().getRoomManager().leaveRoom(this.client.getHabbo(), this.room, false); targetRoom = Emulator.getGameEnvironment().getRoomManager().loadRoom(this.targetRoomId); @@ -59,7 +59,7 @@ class HopperActionThree implements Runnable this.client.getHabbo().getRoomUnit().removeStatus(RoomUnitStatus.MOVE); targetRoom.sendComposer(new RoomUserStatusComposer(this.client.getHabbo().getRoomUnit()).compose()); - Emulator.getThreading().run(new HabboItemNewState(this.teleportOne, room, "0"), 500); + Emulator.getThreading().run(new HabboItemNewState(this.teleportOne, this.room, "0"), 500); Emulator.getThreading().run(new HopperActionFour(targetTeleport, targetRoom, this.client), 500); if(targetTeleport instanceof InteractionCostumeHopper) diff --git a/src/main/java/com/eu/habbo/threading/runnables/teleport/TeleportActionFive.java b/src/main/java/com/eu/habbo/threading/runnables/teleport/TeleportActionFive.java index 39b147e6..b1e171a7 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/teleport/TeleportActionFive.java +++ b/src/main/java/com/eu/habbo/threading/runnables/teleport/TeleportActionFive.java @@ -30,18 +30,18 @@ class TeleportActionFive implements Runnable return; //if (!(this.currentTeleport instanceof InteractionTeleportTile)) - { - RoomTile tile = this.room.getLayout().getTileInFront(this.room.getLayout().getTile(this.currentTeleport.getX(), this.currentTeleport.getY()), this.currentTeleport.getRotation()); - if (tile != null) - { - this.client.getHabbo().getRoomUnit().setGoalLocation(tile); - } + RoomTile tile = this.room.getLayout().getTileInFront(this.room.getLayout().getTile(this.currentTeleport.getX(), this.currentTeleport.getY()), this.currentTeleport.getRotation()); + + if (tile != null) + { + this.client.getHabbo().getRoomUnit().setGoalLocation(tile); } - this.currentTeleport.setExtradata("1"); - room.updateItem(this.currentTeleport); - Emulator.getThreading().run(new HabboItemNewState(this.currentTeleport, room, "0"), 1000); + this.currentTeleport.setExtradata("1"); + this.room.updateItem(this.currentTeleport); + + Emulator.getThreading().run(new HabboItemNewState(this.currentTeleport, this.room, "0"), 1000); } } diff --git a/src/main/java/com/eu/habbo/threading/runnables/teleport/TeleportActionOne.java b/src/main/java/com/eu/habbo/threading/runnables/teleport/TeleportActionOne.java index d796359a..fb7b4b00 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/teleport/TeleportActionOne.java +++ b/src/main/java/com/eu/habbo/threading/runnables/teleport/TeleportActionOne.java @@ -44,6 +44,6 @@ public class TeleportActionOne implements Runnable this.client.getHabbo().getRoomUnit().setLocation(this.room.getLayout().getTile(this.currentTeleport.getX(), this.currentTeleport.getY())); } - Emulator.getThreading().run(new TeleportActionTwo(currentTeleport, room, client), delay); + Emulator.getThreading().run(new TeleportActionTwo(this.currentTeleport, this.room, this.client), delay); } } diff --git a/src/main/java/com/eu/habbo/threading/runnables/teleport/TeleportActionThree.java b/src/main/java/com/eu/habbo/threading/runnables/teleport/TeleportActionThree.java index 6b8d9824..55f4871e 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/teleport/TeleportActionThree.java +++ b/src/main/java/com/eu/habbo/threading/runnables/teleport/TeleportActionThree.java @@ -30,7 +30,7 @@ class TeleportActionThree implements Runnable return; HabboItem targetTeleport; - Room targetRoom = room; + Room targetRoom = this.room; if(this.currentTeleport.getRoomId() != ((InteractionTeleport)this.currentTeleport).getTargetRoomId()) { @@ -46,21 +46,22 @@ class TeleportActionThree implements Runnable return; this.client.getHabbo().getRoomUnit().setLocation(targetRoom.getLayout().getTile(targetTeleport.getX(), targetTeleport.getY())); + this.client.getHabbo().getRoomUnit().getPath().clear(); + this.client.getHabbo().getRoomUnit().removeStatus(RoomUnitStatus.MOVE); this.client.getHabbo().getRoomUnit().setZ(targetTeleport.getZ()); this.client.getHabbo().getRoomUnit().setPreviousLocationZ(targetTeleport.getZ()); this.client.getHabbo().getRoomUnit().setRotation(RoomUserRotation.values()[targetTeleport.getRotation() % 8]); - this.client.getHabbo().getRoomUnit().removeStatus(RoomUnitStatus.MOVE); if(targetRoom != this.room) { - this.room.sendComposer(new RoomUserRemoveComposer(client.getHabbo().getRoomUnit()).compose()); + this.room.sendComposer(new RoomUserRemoveComposer(this.client.getHabbo().getRoomUnit()).compose()); Emulator.getGameEnvironment().getRoomManager().enterRoom(this.client.getHabbo(), targetRoom.getId(), "", Emulator.getConfig().getBoolean("hotel.teleport.locked.allowed")); } targetTeleport.setExtradata("2"); targetRoom.updateItem(targetTeleport); - //targetRoom.sendComposer(new RoomUserStatusComposer(this.client.getHabbo().getRoomUnit()).compose()); - + targetRoom.updateHabbo(this.client.getHabbo()); + System.out.println(targetTeleport.getX() + " | " + targetTeleport.getY()); this.client.getHabbo().getHabboInfo().setCurrentRoom(targetRoom); //Emulator.getThreading().run(new HabboItemNewState(this.currentTeleport, this.room, "0"), 500); Emulator.getThreading().run(new TeleportActionFour(targetTeleport, targetRoom, this.client), this.currentTeleport instanceof InteractionTeleportTile ? 0 : 500); diff --git a/src/main/java/com/eu/habbo/threading/runnables/teleport/TeleportActionTwo.java b/src/main/java/com/eu/habbo/threading/runnables/teleport/TeleportActionTwo.java index f4adf1b1..2ae57f8a 100644 --- a/src/main/java/com/eu/habbo/threading/runnables/teleport/TeleportActionTwo.java +++ b/src/main/java/com/eu/habbo/threading/runnables/teleport/TeleportActionTwo.java @@ -46,7 +46,7 @@ class TeleportActionTwo implements Runnable if(((InteractionTeleport)this.currentTeleport).getTargetRoomId() > 0 && ((InteractionTeleport) this.currentTeleport).getTargetId() > 0) { - HabboItem item = room.getHabboItem(((InteractionTeleport) this.currentTeleport).getTargetId()); + HabboItem item = this.room.getHabboItem(((InteractionTeleport) this.currentTeleport).getTargetId()); if(item == null) { ((InteractionTeleport) this.currentTeleport).setTargetRoomId(0); @@ -67,10 +67,11 @@ class TeleportActionTwo implements Runnable } if(((InteractionTeleport)this.currentTeleport).getTargetId() == 0) { - try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("SELECT items_teleports.*, A.room_id as a_room_id, A.id as a_id, B.room_id as b_room_id, B.id as b_id FROM items_teleports INNER JOIN items AS A ON items_teleports.teleport_one_id = A.id INNER JOIN items AS B ON items_teleports.teleport_two_id = B.id WHERE (teleport_one_id = ? OR teleport_two_id = ?)")) + try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("SELECT items_teleports.*, A.room_id as a_room_id, A.id as a_id, B.room_id as b_room_id, B.id as b_id FROM items_teleports INNER JOIN items AS A ON items_teleports.teleport_one_id = A.id INNER JOIN items AS B ON items_teleports.teleport_two_id = B.id WHERE (teleport_one_id = ? OR teleport_two_id = ?) AND B.id != ? LIMIT 1")) { statement.setInt(1, this.currentTeleport.getId()); statement.setInt(2, this.currentTeleport.getId()); + statement.setInt(3, this.currentTeleport.getId()); try (ResultSet set = statement.executeQuery()) { @@ -105,8 +106,8 @@ class TeleportActionTwo implements Runnable return; } - Emulator.getThreading().run(new HabboItemNewState(this.currentTeleport, room, "2"), delayOffset); - Emulator.getThreading().run(new HabboItemNewState(this.currentTeleport, room, "0"), delayOffset + 1000); - Emulator.getThreading().run(new TeleportActionThree(this.currentTeleport, this.room, this.client), delayOffset + 0); + Emulator.getThreading().run(new HabboItemNewState(this.currentTeleport, this.room, "2"), delayOffset); + Emulator.getThreading().run(new HabboItemNewState(this.currentTeleport, this.room, "0"), delayOffset + 1000); + Emulator.getThreading().run(new TeleportActionThree(this.currentTeleport, this.room, this.client), delayOffset); } } diff --git a/src/main/java/com/eu/habbo/util/FigureUtil.java b/src/main/java/com/eu/habbo/util/FigureUtil.java index 03c9a8e5..6a5a7f4e 100644 --- a/src/main/java/com/eu/habbo/util/FigureUtil.java +++ b/src/main/java/com/eu/habbo/util/FigureUtil.java @@ -37,13 +37,13 @@ public class FigureUtil THashMap figureBits1 = getFigureBits(figure1); THashMap figureBits2 = getFigureBits(figure2); - String finalLook = ""; + StringBuilder finalLook = new StringBuilder(); for (Map.Entry keys : figureBits1.entrySet()) { if(limitFigure1 == null || ArrayUtils.contains(limitFigure1, keys.getKey())) { - finalLook = finalLook + keys.getKey() + "-" + keys.getValue() + "."; + finalLook.append(keys.getKey()).append("-").append(keys.getValue()).append("."); } } @@ -51,15 +51,15 @@ public class FigureUtil { if(limitFigure2 == null || ArrayUtils.contains(limitFigure2, keys.getKey())) { - finalLook = finalLook + keys.getKey() + "-" + keys.getValue() + "."; + finalLook.append(keys.getKey()).append("-").append(keys.getValue()).append("."); } } - if(finalLook.endsWith(".")) + if(finalLook.toString().endsWith(".")) { - finalLook = finalLook.substring(0, finalLook.length() - 1); + finalLook = new StringBuilder(finalLook.substring(0, finalLook.length() - 1)); } - return finalLook; + return finalLook.toString(); } } \ No newline at end of file diff --git a/src/main/java/com/eu/habbo/util/callback/HTTPPostError.java b/src/main/java/com/eu/habbo/util/callback/HTTPPostError.java index bc18f364..dfbcb7ea 100644 --- a/src/main/java/com/eu/habbo/util/callback/HTTPPostError.java +++ b/src/main/java/com/eu/habbo/util/callback/HTTPPostError.java @@ -26,7 +26,7 @@ public class HTTPPostError implements Runnable StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw); - stackTrace.printStackTrace(pw); + this.stackTrace.printStackTrace(pw); String url = "http://arcturus.pw/callback/error.php"; URL obj = new URL(url); HttpURLConnection con = (HttpURLConnection) obj.openConnection(); @@ -47,7 +47,6 @@ public class HTTPPostError implements Runnable catch (Exception e) { } - return; } @Override diff --git a/src/main/java/com/eu/habbo/util/callback/HTTPPostStatus.java b/src/main/java/com/eu/habbo/util/callback/HTTPPostStatus.java index 5ef63fc5..af635713 100644 --- a/src/main/java/com/eu/habbo/util/callback/HTTPPostStatus.java +++ b/src/main/java/com/eu/habbo/util/callback/HTTPPostStatus.java @@ -23,7 +23,6 @@ public class HTTPPostStatus implements Runnable wr.close(); int responseCode = con.getResponseCode(); con.disconnect(); - return; } @Override diff --git a/src/main/java/com/eu/habbo/util/callback/HTTPVersionCheck.java b/src/main/java/com/eu/habbo/util/callback/HTTPVersionCheck.java index 6628539f..46ca42d2 100644 --- a/src/main/java/com/eu/habbo/util/callback/HTTPVersionCheck.java +++ b/src/main/java/com/eu/habbo/util/callback/HTTPVersionCheck.java @@ -33,7 +33,7 @@ public class HTTPVersionCheck implements Runnable int responseCode = con.getResponseCode(); if (responseCode == 102) { - String text = ""; + StringBuilder text = new StringBuilder(); InputStreamReader in = new InputStreamReader((InputStream) con.getContent()); BufferedReader buff = new BufferedReader(in); String line; @@ -42,14 +42,14 @@ public class HTTPVersionCheck implements Runnable if (line != null) { - text += (line + "\n"); + text.append(line).append("\n"); } } while (line != null); buff.close(); in.close(); - Emulator.getLogging().logStart(text); - Emulator.getGameServer().getGameClientManager().sendBroadcastResponse(new GenericAlertComposer(text)); + Emulator.getLogging().logStart(text.toString()); + Emulator.getGameServer().getGameClientManager().sendBroadcastResponse(new GenericAlertComposer(text.toString())); } wr.close(); con.disconnect(); @@ -58,7 +58,6 @@ public class HTTPVersionCheck implements Runnable { e.printStackTrace(); } - return; } @Override diff --git a/src/main/java/com/eu/habbo/util/figure/FigureUtil.java b/src/main/java/com/eu/habbo/util/figure/FigureUtil.java index cde19bc6..9c17ac91 100644 --- a/src/main/java/com/eu/habbo/util/figure/FigureUtil.java +++ b/src/main/java/com/eu/habbo/util/figure/FigureUtil.java @@ -37,13 +37,13 @@ public class FigureUtil THashMap figureBits1 = getFigureBits(figure1); THashMap figureBits2 = getFigureBits(figure2); - String finalLook = ""; + StringBuilder finalLook = new StringBuilder(); for (Map.Entry keys : figureBits1.entrySet()) { if(limitFigure1 == null || ArrayUtils.contains(limitFigure1, keys.getKey())) { - finalLook = finalLook + keys.getKey() + "-" + keys.getValue() + "."; + finalLook.append(keys.getKey()).append("-").append(keys.getValue()).append("."); } } @@ -51,15 +51,15 @@ public class FigureUtil { if(limitFigure2 == null || ArrayUtils.contains(limitFigure2, keys.getKey())) { - finalLook = finalLook + keys.getKey() + "-" + keys.getValue() + "."; + finalLook.append(keys.getKey()).append("-").append(keys.getValue()).append("."); } } - if(finalLook.endsWith(".")) + if(finalLook.toString().endsWith(".")) { - finalLook = finalLook.substring(0, finalLook.length() - 1); + finalLook = new StringBuilder(finalLook.substring(0, finalLook.length() - 1)); } - return finalLook; + return finalLook.toString(); } } diff --git a/src/main/java/com/eu/habbo/util/imager/badges/BadgeImager.java b/src/main/java/com/eu/habbo/util/imager/badges/BadgeImager.java index fa67fbe2..e41e2ab5 100644 --- a/src/main/java/com/eu/habbo/util/imager/badges/BadgeImager.java +++ b/src/main/java/com/eu/habbo/util/imager/badges/BadgeImager.java @@ -17,7 +17,7 @@ import java.util.Map; public class BadgeImager { - THashMap cachedImages = new THashMap<>(); + final THashMap cachedImages = new THashMap<>(); public BadgeImager() { @@ -97,7 +97,7 @@ public class BadgeImager { outputFile = new File(Emulator.getConfig().getValue("imager.location.output.badges"), badge + ".png"); - if (outputFile == null || outputFile.exists()) + if (outputFile.exists()) return; } catch (Exception e)