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 extends CatalogPage> 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 extends CatalogPage> 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 extends GameTeam> gameTeamClazz, Class extends GamePlayer> 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 extends Game> getGameType();
+ public Class extends Game> 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