Ability for plugins to catch or cancel outgoing packets

This commit is contained in:
ArpyAge 2024-10-16 22:04:41 +02:00
parent 0a6355996a
commit 1bef0e5865
377 changed files with 3018 additions and 86 deletions

View File

@ -6,6 +6,7 @@ import com.eu.habbo.habbohotel.users.Habbo;
import com.eu.habbo.messages.ServerMessage; import com.eu.habbo.messages.ServerMessage;
import com.eu.habbo.messages.incoming.MessageHandler; import com.eu.habbo.messages.incoming.MessageHandler;
import com.eu.habbo.messages.outgoing.MessageComposer; import com.eu.habbo.messages.outgoing.MessageComposer;
import com.eu.habbo.plugin.events.emulator.OutgoingPacketEvent;
import io.netty.channel.Channel; import io.netty.channel.Channel;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -87,6 +88,17 @@ public class GameClient {
return; return;
} }
OutgoingPacketEvent event = new OutgoingPacketEvent(this.habbo, response.getComposer(), response);
Emulator.getPluginManager().fireEvent(event);
if (event.isCancelled()) {
return;
}
if (event.hasCustomMessage()) {
response = event.getCustomMessage();
}
this.channel.write(response, this.channel.voidPromise()); this.channel.write(response, this.channel.voidPromise());
this.channel.flush(); this.channel.flush();
} }
@ -99,6 +111,17 @@ public class GameClient {
return; return;
} }
OutgoingPacketEvent event = new OutgoingPacketEvent(this.habbo, response.getComposer(), response);
Emulator.getPluginManager().fireEvent(event);
if (event.isCancelled()) {
continue;
}
if (event.hasCustomMessage()) {
response = event.getCustomMessage();
}
this.channel.write(response); this.channel.write(response);
} }

View File

@ -4795,16 +4795,28 @@ public class Room implements Comparable<Room>, ISerialize, Runnable {
} }
} }
if(height > MAXIMUM_FURNI_HEIGHT) return FurnitureMovementError.CANT_STACK; boolean cantStack = false;
if(height < this.getLayout().getHeightAtSquare(tile.x, tile.y)) return FurnitureMovementError.CANT_STACK; //prevent furni going under the floor boolean pluginHeight = false;
if(height > MAXIMUM_FURNI_HEIGHT) {
cantStack = true;
}
if(height < this.getLayout().getHeightAtSquare(tile.x, tile.y)) {
cantStack = true;
}
if (Emulator.getPluginManager().isRegistered(FurnitureBuildheightEvent.class, true)) { if (Emulator.getPluginManager().isRegistered(FurnitureBuildheightEvent.class, true)) {
FurnitureBuildheightEvent event = Emulator.getPluginManager().fireEvent(new FurnitureBuildheightEvent(item, actor, 0.00, height)); FurnitureBuildheightEvent event = Emulator.getPluginManager().fireEvent(new FurnitureBuildheightEvent(item, actor, 0.00, height));
if (event.hasChangedHeight()) { if (event.hasChangedHeight()) {
height = event.getUpdatedHeight(); height = event.getUpdatedHeight();
pluginHeight = true;
} }
} }
if(!pluginHeight && cantStack) {
return FurnitureMovementError.CANT_STACK;
}
item.setX(tile.x); item.setX(tile.x);
item.setY(tile.y); item.setY(tile.y);
item.setZ(height); item.setZ(height);

View File

@ -1,5 +1,6 @@
package com.eu.habbo.messages; package com.eu.habbo.messages;
import com.eu.habbo.messages.outgoing.MessageComposer;
import com.eu.habbo.util.PacketUtils; import com.eu.habbo.util.PacketUtils;
import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBuf;
import io.netty.buffer.ByteBufOutputStream; import io.netty.buffer.ByteBufOutputStream;
@ -19,6 +20,7 @@ public class ServerMessage {
private AtomicInteger refs; private AtomicInteger refs;
private ByteBufOutputStream stream; private ByteBufOutputStream stream;
private ByteBuf channelBuffer; private ByteBuf channelBuffer;
private MessageComposer composer;
public ServerMessage() { public ServerMessage() {
@ -38,6 +40,7 @@ public class ServerMessage {
this.refs = new AtomicInteger(0); this.refs = new AtomicInteger(0);
this.channelBuffer = Unpooled.buffer(); this.channelBuffer = Unpooled.buffer();
this.stream = new ByteBufOutputStream(this.channelBuffer); this.stream = new ByteBufOutputStream(this.channelBuffer);
this.composer = null;
try { try {
this.stream.writeInt(0); this.stream.writeInt(0);
@ -185,4 +188,12 @@ public class ServerMessage {
return this.channelBuffer.copy(); return this.channelBuffer.copy();
} }
public MessageComposer getComposer() {
return composer;
}
public void setComposer(MessageComposer composer) {
this.composer = composer;
}
} }

View File

@ -17,6 +17,7 @@ public abstract class MessageComposer {
public ServerMessage compose() { public ServerMessage compose() {
if (this.composed == null) { if (this.composed == null) {
this.composed = this.composeInternal(); this.composed = this.composeInternal();
this.composed.setComposer(this);
} }
return this.composed; return this.composed;

View File

@ -58,4 +58,8 @@ public class AchievementListComposer extends MessageComposer {
return this.response; return this.response;
} }
public Habbo getHabbo() {
return habbo;
}
} }

View File

@ -56,4 +56,12 @@ public class AchievementProgressComposer extends MessageComposer {
return this.response; return this.response;
} }
public Habbo getHabbo() {
return habbo;
}
public Achievement getAchievement() {
return achievement;
}
} }

View File

@ -35,4 +35,12 @@ public class AchievementUnlockedComposer extends MessageComposer {
this.response.appendBoolean(true); this.response.appendBoolean(true);
return this.response; return this.response;
} }
public Achievement getAchievement() {
return achievement;
}
public Habbo getHabbo() {
return habbo;
}
} }

View File

@ -38,4 +38,12 @@ public class TalentLevelUpdateComposer extends MessageComposer {
} }
return this.response; return this.response;
} }
public TalentTrackType getTalentTrackType() {
return talentTrackType;
}
public TalentTrackLevel getTalentTrackLevel() {
return talentTrackLevel;
}
} }

View File

@ -127,4 +127,12 @@ public class TalentTrackComposer extends MessageComposer {
this.id = id; this.id = id;
} }
} }
public Habbo getHabbo() {
return habbo;
}
public TalentTrackType getType() {
return type;
}
} }

View File

@ -20,4 +20,12 @@ public class CameraCompetitionStatusComposer extends MessageComposer {
this.response.appendString(this.unknownString); this.response.appendString(this.unknownString);
return this.response; return this.response;
} }
public boolean isUnknownBoolean() {
return unknownBoolean;
}
public String getUnknownString() {
return unknownString;
}
} }

View File

@ -23,4 +23,16 @@ public class CameraPriceComposer extends MessageComposer {
this.response.appendInt(this.pointsType); this.response.appendInt(this.pointsType);
return this.response; return this.response;
} }
public int getCredits() {
return credits;
}
public int getPoints() {
return points;
}
public int getPointsType() {
return pointsType;
}
} }

View File

@ -28,4 +28,16 @@ public class CameraPublishWaitMessageComposer extends MessageComposer {
return this.response; return this.response;
} }
public boolean isOk() {
return isOk;
}
public int getCooldownSeconds() {
return cooldownSeconds;
}
public String getExtraDataId() {
return extraDataId;
}
} }

View File

@ -17,4 +17,8 @@ public class CameraURLComposer extends MessageComposer {
this.response.appendString(this.URL); this.response.appendString(this.URL);
return this.response; return this.response;
} }
public String getURL() {
return URL;
}
} }

View File

@ -20,4 +20,8 @@ public class AlertPurchaseFailedComposer extends MessageComposer {
this.response.appendInt(this.error); this.response.appendInt(this.error);
return this.response; return this.response;
} }
public int getError() {
return error;
}
} }

View File

@ -20,4 +20,8 @@ public class AlertPurchaseUnavailableComposer extends MessageComposer {
this.response.appendInt(this.code); this.response.appendInt(this.code);
return this.response; return this.response;
} }
public int getCode() {
return code;
}
} }

View File

@ -17,4 +17,8 @@ public class CatalogModeComposer extends MessageComposer {
this.response.appendInt(this.mode); this.response.appendInt(this.mode);
return this.response; return this.response;
} }
public int getMode() {
return mode;
}
} }

View File

@ -68,4 +68,20 @@ public class CatalogPageComposer extends MessageComposer {
page.serialize(message); page.serialize(message);
} }
} }
public CatalogPage getPage() {
return page;
}
public Habbo getHabbo() {
return habbo;
}
public int getOfferId() {
return offerId;
}
public String getMode() {
return mode;
}
} }

View File

@ -75,4 +75,17 @@ public class CatalogPagesListComposer extends MessageComposer {
this.append(page); this.append(page);
} }
} }
public Habbo getHabbo() {
return habbo;
}
public String getMode() {
return mode;
}
public boolean isHasPermission() {
return hasPermission;
}
} }

View File

@ -18,4 +18,8 @@ public class CatalogSearchResultComposer extends MessageComposer {
this.item.serialize(this.response); this.item.serialize(this.response);
return this.response; return this.response;
} }
public CatalogItem getItem() {
return item;
}
} }

View File

@ -50,5 +50,39 @@ public class ClubCenterDataComposer extends MessageComposer {
return this.response; return this.response;
} }
public int getCurrentHcStreak() {
return currentHcStreak;
}
public String getFirstSubDate() {
return firstSubDate;
}
public double getKickbackPercentage() {
return kickbackPercentage;
}
public int getTotalCreditsMissed() {
return totalCreditsMissed;
}
public int getTotalCreditsRewarded() {
return totalCreditsRewarded;
}
public int getTotalCreditsSpent() {
return totalCreditsSpent;
}
public int getCreditRewardForStreakBonus() {
return creditRewardForStreakBonus;
}
public int getCreditRewardForMonthlySpent() {
return creditRewardForMonthlySpent;
}
public int getTimeUntilPayday() {
return timeUntilPayday;
}
} }

View File

@ -34,4 +34,12 @@ public class ClubDataComposer extends MessageComposer {
this.response.appendInt(this.windowId); this.response.appendInt(this.windowId);
return this.response; return this.response;
} }
public int getWindowId() {
return windowId;
}
public Habbo getHabbo() {
return habbo;
}
} }

View File

@ -65,4 +65,16 @@ public class ClubGiftsComposer extends MessageComposer {
return this.response; return this.response;
} }
public int getDaysTillNextGift() {
return daysTillNextGift;
}
public int getAvailableGifts() {
return availableGifts;
}
public int getDaysAsHc() {
return daysAsHc;
}
} }

View File

@ -23,4 +23,16 @@ public class NotEnoughPointsTypeComposer extends MessageComposer {
this.response.appendInt(this.pointsType); this.response.appendInt(this.pointsType);
return this.response; return this.response;
} }
public boolean isCredits() {
return isCredits;
}
public boolean isPixels() {
return isPixels;
}
public int getPointsType() {
return pointsType;
}
} }

View File

@ -21,4 +21,12 @@ public class PetBoughtNotificationComposer extends MessageComposer {
this.pet.serialize(this.response); this.pet.serialize(this.response);
return this.response; return this.response;
} }
public Pet getPet() {
return pet;
}
public boolean isGift() {
return gift;
}
} }

View File

@ -31,4 +31,12 @@ public class PetBreedsComposer extends MessageComposer {
} }
return this.response; return this.response;
} }
public String getPetName() {
return petName;
}
public THashSet<PetRace> getPetRaces() {
return petRaces;
}
} }

View File

@ -26,4 +26,12 @@ public class PetNameErrorComposer extends MessageComposer {
this.response.appendString(this.value); this.response.appendString(this.value);
return this.response; return this.response;
} }
public int getType() {
return type;
}
public String getValue() {
return value;
}
} }

View File

@ -40,4 +40,8 @@ public class PurchaseOKComposer extends MessageComposer {
} }
return this.response; return this.response;
} }
public CatalogItem getCatalogItem() {
return catalogItem;
}
} }

View File

@ -21,4 +21,8 @@ public class RecyclerCompleteComposer extends MessageComposer {
this.response.appendInt(0); //prize ID. this.response.appendInt(0); //prize ID.
return this.response; return this.response;
} }
public int getCode() {
return code;
}
} }

View File

@ -20,4 +20,8 @@ public class RedeemVoucherErrorComposer extends MessageComposer {
this.response.appendString(this.code + ""); this.response.appendString(this.code + "");
return this.response; return this.response;
} }
public int getCode() {
return code;
}
} }

View File

@ -23,4 +23,12 @@ public class TargetedOfferComposer extends MessageComposer {
this.offer.serialize(this.response, purchase); this.offer.serialize(this.response, purchase);
return this.response; return this.response;
} }
public Habbo getHabbo() {
return habbo;
}
public TargetOffer getOffer() {
return offer;
}
} }

View File

@ -31,4 +31,20 @@ public class MarketplaceBuyErrorComposer extends MessageComposer {
this.response.appendInt(this.price); //requestedOfferId this.response.appendInt(this.price); //requestedOfferId
return this.response; return this.response;
} }
public int getErrorCode() {
return errorCode;
}
public int getUnknown() {
return unknown;
}
public int getOfferId() {
return offerId;
}
public int getPrice() {
return price;
}
} }

View File

@ -21,4 +21,12 @@ public class MarketplaceCancelSaleComposer extends MessageComposer {
this.response.appendBoolean(this.success); this.response.appendBoolean(this.success);
return this.response; return this.response;
} }
public MarketPlaceOffer getOffer() {
return offer;
}
public boolean isSuccess() {
return success;
}
} }

View File

@ -18,4 +18,8 @@ public class MarketplaceItemInfoComposer extends MessageComposer {
MarketPlace.serializeItemInfo(this.itemId, this.response); MarketPlace.serializeItemInfo(this.itemId, this.response);
return this.response; return this.response;
} }
public int getItemId() {
return itemId;
}
} }

View File

@ -22,4 +22,8 @@ public class MarketplaceItemPostedComposer extends MessageComposer {
this.response.appendInt(this.code); this.response.appendInt(this.code);
return this.response; return this.response;
} }
public int getCode() {
return code;
}
} }

View File

@ -45,4 +45,8 @@ public class MarketplaceOffersComposer extends MessageComposer {
this.response.appendInt(this.offers.size()); this.response.appendInt(this.offers.size());
return this.response; return this.response;
} }
public List<MarketPlaceOffer> getOffers() {
return offers;
}
} }

View File

@ -64,4 +64,8 @@ public class MarketplaceOwnItemsComposer extends MessageComposer {
return this.response; return this.response;
} }
public Habbo getHabbo() {
return habbo;
}
} }

View File

@ -27,4 +27,16 @@ public class MarketplaceSellItemComposer extends MessageComposer {
this.response.appendInt(this.valueB); this.response.appendInt(this.valueB);
return this.response; return this.response;
} }
public int getErrorCode() {
return errorCode;
}
public int getValueA() {
return valueA;
}
public int getValueB() {
return valueB;
}
} }

View File

@ -35,4 +35,12 @@ public class CraftableProductsComposer extends MessageComposer {
return this.response; return this.response;
} }
public List<CraftingRecipe> getRecipes() {
return recipes;
}
public Collection<Item> getIngredients() {
return ingredients;
}
} }

View File

@ -26,4 +26,8 @@ public class CraftingRecipeComposer extends MessageComposer {
} }
return this.response; return this.response;
} }
public CraftingRecipe getRecipe() {
return recipe;
}
} }

View File

@ -20,4 +20,12 @@ public class CraftingRecipesAvailableComposer extends MessageComposer {
this.response.appendBoolean(this.found); this.response.appendBoolean(this.found);
return this.response; return this.response;
} }
public int getCount() {
return count;
}
public boolean isFound() {
return found;
}
} }

View File

@ -32,4 +32,12 @@ public class CraftingResultComposer extends MessageComposer {
return this.response; return this.response;
} }
public CraftingRecipe getRecipe() {
return recipe;
}
public boolean isSucces() {
return succes;
}
} }

View File

@ -61,4 +61,28 @@ public class AdventCalendarDataComposer extends MessageComposer {
return this.response; return this.response;
} }
public String getEventName() {
return eventName;
}
public String getCampaignImage() {
return campaignImage;
}
public int getTotalDays() {
return totalDays;
}
public int getCurrentDay() {
return currentDay;
}
public ArrayList<CalendarRewardClaimed> getUnlocked() {
return unlocked;
}
public boolean isLockExpired() {
return lockExpired;
}
} }

View File

@ -46,4 +46,16 @@ public class AdventCalendarProductComposer extends MessageComposer {
return this.response; return this.response;
} }
public boolean isVisible() {
return visible;
}
public CalendarRewardObject getRewardObject() {
return rewardObject;
}
public Habbo getHabbo() {
return habbo;
}
} }

View File

@ -20,4 +20,12 @@ public class MysticBoxPrizeComposer extends MessageComposer {
this.response.appendInt(this.itemId); this.response.appendInt(this.itemId);
return this.response; return this.response;
} }
public String getType() {
return type;
}
public int getItemId() {
return itemId;
}
} }

View File

@ -18,4 +18,8 @@ public class NewYearResolutionCompletedComposer extends MessageComposer {
this.response.appendString(this.badge); this.response.appendString(this.badge);
return this.response; return this.response;
} }
public String getBadge() {
return badge;
}
} }

View File

@ -32,4 +32,28 @@ public class NewYearResolutionProgressComposer extends MessageComposer {
this.response.appendInt(this.timeLeft); this.response.appendInt(this.timeLeft);
return this.response; return this.response;
} }
public int getStuffId() {
return stuffId;
}
public int getAchievementId() {
return achievementId;
}
public String getAchievementName() {
return achievementName;
}
public int getCurrentProgress() {
return currentProgress;
}
public int getProgressNeeded() {
return progressNeeded;
}
public int getTimeLeft() {
return timeLeft;
}
} }

View File

@ -28,4 +28,8 @@ public class FloorPlanEditorBlockedTilesComposer extends MessageComposer {
return this.response; return this.response;
} }
public Room getRoom() {
return room;
}
} }

View File

@ -20,4 +20,8 @@ public class FloorPlanEditorDoorSettingsComposer extends MessageComposer {
this.response.appendInt(this.room.getLayout().getDoorDirection()); this.response.appendInt(this.room.getLayout().getDoorDirection());
return this.response; return this.response;
} }
public Room getRoom() {
return room;
}
} }

View File

@ -50,4 +50,16 @@ public class FriendChatMessageComposer extends MessageComposer {
return this.response; return this.response;
} }
public Message getMessage() {
return message;
}
public int getToId() {
return toId;
}
public int getFromId() {
return fromId;
}
} }

View File

@ -20,4 +20,8 @@ public class FriendFindingRoomComposer extends MessageComposer {
this.response.appendInt(this.errorCode); this.response.appendInt(this.errorCode);
return this.response; return this.response;
} }
public int getErrorCode() {
return errorCode;
}
} }

View File

@ -31,4 +31,16 @@ public class FriendNotificationComposer extends MessageComposer {
this.response.appendString(this.data); this.response.appendString(this.data);
return this.response; return this.response;
} }
public int getUserId() {
return userId;
}
public int getType() {
return type;
}
public String getData() {
return data;
}
} }

View File

@ -22,4 +22,8 @@ public class FriendRequestComposer extends MessageComposer {
return this.response; return this.response;
} }
public Habbo getHabbo() {
return habbo;
}
} }

View File

@ -23,4 +23,8 @@ public class FriendRequestErrorComposer extends MessageComposer {
this.response.appendInt(this.errorCode); this.response.appendInt(this.errorCode);
return this.response; return this.response;
} }
public int getErrorCode() {
return errorCode;
}
} }

View File

@ -80,4 +80,16 @@ public class FriendsComposer extends MessageComposer {
return messages; return messages;
} }
public int getTotalPages() {
return totalPages;
}
public int getPageIndex() {
return pageIndex;
}
public Collection<MessengerBuddy> getFriends() {
return friends;
}
} }

View File

@ -30,4 +30,8 @@ public class LoadFriendRequestsComposer extends MessageComposer {
return this.response; return this.response;
} }
public Habbo getHabbo() {
return habbo;
}
} }

View File

@ -44,5 +44,9 @@ public class MessengerInitComposer extends MessageComposer {
} }
return this.response; return this.response;
} }
public Habbo getHabbo() {
return habbo;
}
} }

View File

@ -30,4 +30,8 @@ public class RemoveFriendComposer extends MessageComposer {
return this.response; return this.response;
} }
public TIntArrayList getUnfriendIds() {
return unfriendIds;
}
} }

View File

@ -20,4 +20,12 @@ public class RoomInviteComposer extends MessageComposer {
this.response.appendString(this.message); this.response.appendString(this.message);
return this.response; return this.response;
} }
public int getUserId() {
return userId;
}
public String getMessage() {
return message;
}
} }

View File

@ -30,4 +30,12 @@ public class RoomInviteErrorComposer extends MessageComposer {
}); });
return this.response; return this.response;
} }
public int getErrorCode() {
return errorCode;
}
public THashSet<MessengerBuddy> getBuddies() {
return buddies;
}
} }

View File

@ -22,4 +22,8 @@ public class StalkErrorComposer extends MessageComposer {
this.response.appendInt(this.errorCode); this.response.appendInt(this.errorCode);
return this.response; return this.response;
} }
public int getErrorCode() {
return errorCode;
}
} }

View File

@ -51,27 +51,39 @@ public class UpdateFriendComposer extends MessageComposer {
for(MessengerBuddy buddy : buddies){ for(MessengerBuddy buddy : buddies){
if (buddy != null) { if (buddy != null) {
this.response.appendInt(this.action); // -1 = removed friendId / 0 = updated friend / 1 = added friend this.response.appendInt(this.action); // -1 = removed friendId / 0 = updated friend / 1 = added friend
this.response.appendInt(buddy.getId()); this.response.appendInt(buddy.getId());
if (this.action == -1) { if (this.action == -1) {
continue; continue;
}
this.response.appendString(buddy.getUsername());
this.response.appendInt(buddy.getGender().equals(HabboGender.M) ? 0 : 1);
this.response.appendBoolean(buddy.getOnline() == 1);
this.response.appendBoolean(buddy.inRoom()); //In room
this.response.appendString(buddy.getLook());
this.response.appendInt(buddy.getCategoryId());
this.response.appendString(buddy.getMotto());
this.response.appendString(""); //Last seen as DATETIMESTRING
this.response.appendString(""); //Realname or Facebookame as String
this.response.appendBoolean(false); //Offline messaging.
this.response.appendBoolean(false);
this.response.appendBoolean(false);
this.response.appendShort(buddy.getRelation());
} }
this.response.appendString(buddy.getUsername());
this.response.appendInt(buddy.getGender().equals(HabboGender.M) ? 0 : 1);
this.response.appendBoolean(buddy.getOnline() == 1);
this.response.appendBoolean(buddy.inRoom()); //In room
this.response.appendString(buddy.getLook());
this.response.appendInt(buddy.getCategoryId());
this.response.appendString(buddy.getMotto());
this.response.appendString(""); //Last seen as DATETIMESTRING
this.response.appendString(""); //Realname or Facebookame as String
this.response.appendBoolean(false); //Offline messaging.
this.response.appendBoolean(false);
this.response.appendBoolean(false);
this.response.appendShort(buddy.getRelation());
} }
}
return this.response; return this.response;
} }
public Collection<MessengerBuddy> getBuddies() {
return buddies;
}
public Habbo getHabbo() {
return habbo;
}
public int getAction() {
return action;
}
} }

View File

@ -77,4 +77,16 @@ public class UserSearchResultComposer extends MessageComposer {
return false; return false;
} }
public THashSet<MessengerBuddy> getUsers() {
return users;
}
public THashSet<MessengerBuddy> getFriends() {
return friends;
}
public Habbo getHabbo() {
return habbo;
}
} }

View File

@ -21,4 +21,12 @@ public class GameCenterAccountInfoComposer extends MessageComposer {
this.response.appendInt(1); this.response.appendInt(1);
return this.response; return this.response;
} }
public int getGameId() {
return gameId;
}
public int getGamesLeft() {
return gamesLeft;
}
} }

View File

@ -23,4 +23,12 @@ public class GameCenterGameComposer extends MessageComposer {
this.response.appendInt(this.status); this.response.appendInt(this.status);
return this.response; return this.response;
} }
public int getGameId() {
return gameId;
}
public int getStatus() {
return status;
}
} }

View File

@ -17,4 +17,8 @@ public class BaseJumpJoinQueueComposer extends MessageComposer {
this.response.appendInt(this.gameId); this.response.appendInt(this.gameId);
return this.response; return this.response;
} }
public int getGameId() {
return gameId;
}
} }

View File

@ -48,4 +48,12 @@ public class BaseJumpLoadGameComposer extends MessageComposer {
} }
return this.response; return this.response;
} }
public GameClient getClient() {
return client;
}
public int getGame() {
return game;
}
} }

View File

@ -17,4 +17,8 @@ public class PickMonthlyClubGiftNotificationComposer extends MessageComposer {
this.response.appendInt(this.count); this.response.appendInt(this.count);
return this.response; return this.response;
} }
public int getCount() {
return count;
}
} }

View File

@ -23,4 +23,8 @@ public class BotErrorComposer extends MessageComposer {
this.response.appendInt(this.errorCode); this.response.appendInt(this.errorCode);
return this.response; return this.response;
} }
public int getErrorCode() {
return errorCode;
}
} }

View File

@ -38,4 +38,12 @@ public class BubbleAlertComposer extends MessageComposer {
} }
return this.response; return this.response;
} }
public String getErrorKey() {
return errorKey;
}
public THashMap<String, String> getKeys() {
return keys;
}
} }

View File

@ -23,4 +23,8 @@ public class CustomNotificationComposer extends MessageComposer {
this.response.appendInt(this.type); this.response.appendInt(this.type);
return this.response; return this.response;
} }
public int getType() {
return type;
}
} }

View File

@ -24,4 +24,8 @@ public class GenericAlertComposer extends MessageComposer {
return this.response; return this.response;
} }
public String getMessage() {
return message;
}
} }

View File

@ -25,4 +25,8 @@ public class GenericErrorMessagesComposer extends MessageComposer {
this.response.appendInt(this.errorCode); this.response.appendInt(this.errorCode);
return this.response; return this.response;
} }
public int getErrorCode() {
return errorCode;
}
} }

View File

@ -20,4 +20,12 @@ public class HotelClosedAndOpensComposer extends MessageComposer {
this.response.appendInt(this.minute); this.response.appendInt(this.minute);
return this.response; return this.response;
} }
public int getHour() {
return hour;
}
public int getMinute() {
return minute;
}
} }

View File

@ -23,4 +23,16 @@ public class HotelClosesAndWillOpenAtComposer extends MessageComposer {
this.response.appendBoolean(this.disconnected); this.response.appendBoolean(this.disconnected);
return this.response; return this.response;
} }
public int getHour() {
return hour;
}
public int getMinute() {
return minute;
}
public boolean isDisconnected() {
return disconnected;
}
} }

View File

@ -21,4 +21,12 @@ public class HotelWillCloseInMinutesAndBackInComposer extends MessageComposer {
this.response.appendInt(this.reopenInMinutes); this.response.appendInt(this.reopenInMinutes);
return this.response; return this.response;
} }
public int getCloseInMinutes() {
return closeInMinutes;
}
public int getReopenInMinutes() {
return reopenInMinutes;
}
} }

View File

@ -17,4 +17,8 @@ public class HotelWillCloseInMinutesComposer extends MessageComposer {
this.response.appendInt(this.minutes); this.response.appendInt(this.minutes);
return this.response; return this.response;
} }
public int getMinutes() {
return minutes;
}
} }

View File

@ -36,4 +36,12 @@ public class MessagesForYouComposer extends MessageComposer {
return this.response; return this.response;
} }
public String[] getMessages() {
return messages;
}
public List<String> getNewMessages() {
return newMessages;
}
} }

View File

@ -24,4 +24,8 @@ public class PetErrorComposer extends MessageComposer {
this.response.appendInt(this.errorCode); this.response.appendInt(this.errorCode);
return this.response; return this.response;
} }
public int getErrorCode() {
return errorCode;
}
} }

View File

@ -17,4 +17,8 @@ public class StaffAlertAndOpenHabboWayComposer extends MessageComposer {
this.response.appendString(this.message); this.response.appendString(this.message);
return this.response; return this.response;
} }
public String getMessage() {
return message;
}
} }

View File

@ -20,4 +20,12 @@ public class StaffAlertWIthLinkAndOpenHabboWayComposer extends MessageComposer {
this.response.appendString(this.link); this.response.appendString(this.link);
return this.response; return this.response;
} }
public String getMessage() {
return message;
}
public String getLink() {
return link;
}
} }

View File

@ -20,4 +20,12 @@ public class StaffAlertWithLinkComposer extends MessageComposer {
this.response.appendString(this.link); this.response.appendString(this.link);
return this.response; return this.response;
} }
public String getMessage() {
return message;
}
public String getLink() {
return link;
}
} }

View File

@ -17,4 +17,8 @@ public class UpdateFailedComposer extends MessageComposer {
this.response.appendString(this.message); this.response.appendString(this.message);
return this.response; return this.response;
} }
public String getMessage() {
return message;
}
} }

View File

@ -47,4 +47,8 @@ public class GuardianVotingRequestedComposer extends MessageComposer {
//2015 10 17 14 24 30 //2015 10 17 14 24 30
return this.response; return this.response;
} }
public GuardianTicket getTicket() {
return ticket;
}
} }

View File

@ -34,4 +34,12 @@ public class GuardianVotingResultComposer extends MessageComposer {
} }
return this.response; return this.response;
} }
public GuardianTicket getTicket() {
return ticket;
}
public GuardianVote getVote() {
return vote;
}
} }

View File

@ -32,4 +32,12 @@ public class GuardianVotingVotesComposer extends MessageComposer {
return this.response; return this.response;
} }
public GuardianTicket getTicket() {
return ticket;
}
public Habbo getGuardian() {
return guardian;
}
} }

View File

@ -20,4 +20,8 @@ public class BullyReportClosedComposer extends MessageComposer {
this.response.appendInt(this.code); this.response.appendInt(this.code);
return this.response; return this.response;
} }
public int getCode() {
return code;
}
} }

View File

@ -25,4 +25,12 @@ public class GuideSessionAttachedComposer extends MessageComposer {
this.response.appendInt(this.isHelper ? 60 : Emulator.getGameEnvironment().getGuideManager().getAverageWaitingTime()); //? Avarage Waiting Time (for noob) | Time left to pickup (For helper) this.response.appendInt(this.isHelper ? 60 : Emulator.getGameEnvironment().getGuideManager().getAverageWaitingTime()); //? Avarage Waiting Time (for noob) | Time left to pickup (For helper)
return this.response; return this.response;
} }
public GuideTour getTour() {
return tour;
}
public boolean isHelper() {
return isHelper;
}
} }

View File

@ -20,4 +20,8 @@ public class GuideSessionEndedComposer extends MessageComposer {
this.response.appendInt(this.errorCode); //? this.response.appendInt(this.errorCode); //?
return this.response; return this.response;
} }
public int getErrorCode() {
return errorCode;
}
} }

View File

@ -21,4 +21,8 @@ public class GuideSessionErrorComposer extends MessageComposer {
this.response.appendInt(this.errorCode); this.response.appendInt(this.errorCode);
return this.response; return this.response;
} }
public int getErrorCode() {
return errorCode;
}
} }

View File

@ -20,4 +20,8 @@ public class GuideSessionInvitedToGuideRoomComposer extends MessageComposer {
this.response.appendString(this.room != null ? this.room.getName() : ""); this.response.appendString(this.room != null ? this.room.getName() : "");
return this.response; return this.response;
} }
public Room getRoom() {
return room;
}
} }

View File

@ -19,4 +19,8 @@ public class GuideSessionMessageComposer extends MessageComposer {
this.response.appendInt(this.message.userId); //Sender ID this.response.appendInt(this.message.userId); //Sender ID
return this.response; return this.response;
} }
public GuideChatMessage getMessage() {
return message;
}
} }

View File

@ -17,4 +17,8 @@ public class GuideSessionPartnerIsPlayingComposer extends MessageComposer {
this.response.appendBoolean(this.isPlaying); this.response.appendBoolean(this.isPlaying);
return this.response; return this.response;
} }
public boolean isPlaying() {
return isPlaying;
}
} }

View File

@ -17,4 +17,8 @@ public class GuideSessionPartnerIsTypingComposer extends MessageComposer {
this.response.appendBoolean(this.typing); this.response.appendBoolean(this.typing);
return this.response; return this.response;
} }
public boolean isTyping() {
return typing;
}
} }

View File

@ -18,4 +18,8 @@ public class GuideSessionRequesterRoomComposer extends MessageComposer {
this.response.appendInt(this.room != null ? this.room.getId() : 0); this.response.appendInt(this.room != null ? this.room.getId() : 0);
return this.response; return this.response;
} }
public Room getRoom() {
return room;
}
} }

View File

@ -23,4 +23,8 @@ public class GuideSessionStartedComposer extends MessageComposer {
this.response.appendString(this.tour.getHelper().getHabboInfo().getLook()); this.response.appendString(this.tour.getHelper().getHabboInfo().getLook());
return this.response; return this.response;
} }
public GuideTour getTour() {
return tour;
}
} }

View File

@ -21,4 +21,8 @@ public class GuideToolsComposer extends MessageComposer {
this.response.appendInt(Emulator.getGameEnvironment().getGuideManager().getGuardiansCount()); //Guardians On Duty this.response.appendInt(Emulator.getGameEnvironment().getGuideManager().getGuardiansCount()); //Guardians On Duty
return this.response; return this.response;
} }
public boolean isOnDuty() {
return onDuty;
}
} }

View File

@ -24,4 +24,12 @@ public class GuildAcceptMemberErrorComposer extends MessageComposer {
this.response.appendInt(this.errorCode); this.response.appendInt(this.errorCode);
return this.response; return this.response;
} }
public int getGuildId() {
return guildId;
}
public int getErrorCode() {
return errorCode;
}
} }

View File

@ -19,4 +19,8 @@ public class GuildBoughtComposer extends MessageComposer {
this.response.appendInt(this.guild.getId()); this.response.appendInt(this.guild.getId());
return this.response; return this.response;
} }
public Guild getGuild() {
return guild;
}
} }

View File

@ -49,4 +49,8 @@ public class GuildBuyRoomsComposer extends MessageComposer {
this.response.appendInt(0); this.response.appendInt(0);
return this.response; return this.response;
} }
public THashSet<Room> getRooms() {
return rooms;
}
} }

View File

@ -20,4 +20,12 @@ public class GuildConfirmRemoveMemberComposer extends MessageComposer {
this.response.appendInt(this.furniCount); this.response.appendInt(this.furniCount);
return this.response; return this.response;
} }
public int getUserId() {
return userId;
}
public int getFurniCount() {
return furniCount;
}
} }

Some files were not shown because too many files have changed in this diff Show More