2018-07-06 15:30:00 +02:00
|
|
|
package com.eu.habbo.messages.incoming.rooms;
|
|
|
|
|
|
|
|
import com.eu.habbo.Emulator;
|
2020-06-05 10:12:49 +02:00
|
|
|
import com.eu.habbo.habbohotel.permissions.Permission;
|
2018-07-06 15:30:00 +02:00
|
|
|
import com.eu.habbo.habbohotel.rooms.Room;
|
|
|
|
import com.eu.habbo.habbohotel.users.HabboItem;
|
|
|
|
import com.eu.habbo.messages.incoming.MessageHandler;
|
|
|
|
import com.eu.habbo.plugin.events.furniture.FurnitureRoomTonerEvent;
|
|
|
|
|
2019-05-26 20:14:53 +02:00
|
|
|
public class RoomBackgroundEvent extends MessageHandler {
|
2018-07-06 15:30:00 +02:00
|
|
|
@Override
|
2019-05-26 20:14:53 +02:00
|
|
|
public void handle() throws Exception {
|
2018-07-06 15:30:00 +02:00
|
|
|
int itemId = this.packet.readInt();
|
|
|
|
|
|
|
|
Room room = this.client.getHabbo().getHabboInfo().getCurrentRoom();
|
2019-05-26 20:14:53 +02:00
|
|
|
if (room == null)
|
2018-07-06 15:30:00 +02:00
|
|
|
return;
|
|
|
|
|
2020-06-05 10:12:49 +02:00
|
|
|
if (room.hasRights(this.client.getHabbo()) || this.client.getHabbo().hasPermission(Permission.ACC_PLACEFURNI)) {
|
2018-07-06 15:30:00 +02:00
|
|
|
HabboItem item = room.getHabboItem(itemId);
|
|
|
|
|
2019-05-26 20:14:53 +02:00
|
|
|
if (item == null)
|
2018-07-06 15:30:00 +02:00
|
|
|
return;
|
|
|
|
|
2019-05-26 20:14:53 +02:00
|
|
|
int hue = this.packet.readInt();
|
|
|
|
int saturation = this.packet.readInt();
|
|
|
|
int brightness = this.packet.readInt();
|
2018-07-06 15:30:00 +02:00
|
|
|
|
2019-05-26 20:14:53 +02:00
|
|
|
FurnitureRoomTonerEvent event = (FurnitureRoomTonerEvent) Emulator.getPluginManager().fireEvent(new FurnitureRoomTonerEvent(item, this.client.getHabbo(), hue, saturation, brightness));
|
2018-07-06 15:30:00 +02:00
|
|
|
|
2019-05-26 20:14:53 +02:00
|
|
|
if (event.isCancelled())
|
2018-07-06 15:30:00 +02:00
|
|
|
return;
|
|
|
|
|
2019-05-26 20:14:53 +02:00
|
|
|
hue = event.hue % 256;
|
2018-07-06 15:30:00 +02:00
|
|
|
saturation = event.saturation % 256;
|
|
|
|
brightness = event.brightness % 256;
|
|
|
|
|
|
|
|
item.setExtradata(item.getExtradata().split(":")[0] + ":" + hue + ":" + saturation + ":" + brightness);
|
|
|
|
item.needsUpdate(true);
|
|
|
|
Emulator.getThreading().run(item);
|
|
|
|
room.updateItem(item);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|