mirror of
https://git.krews.org/morningstar/Arcturus-Community.git
synced 2024-10-24 19:53:04 +02:00
75 lines
3.6 KiB
Java
75 lines
3.6 KiB
Java
package com.eu.habbo.habbohotel.commands;
|
|
|
|
import com.eu.habbo.Emulator;
|
|
import com.eu.habbo.habbohotel.catalog.CatalogItem;
|
|
import com.eu.habbo.habbohotel.catalog.CatalogPage;
|
|
import com.eu.habbo.habbohotel.catalog.CatalogPageLayouts;
|
|
import com.eu.habbo.habbohotel.catalog.layouts.RoomBundleLayout;
|
|
import com.eu.habbo.habbohotel.gameclients.GameClient;
|
|
import com.eu.habbo.habbohotel.rooms.RoomChatMessageBubbles;
|
|
|
|
import java.sql.*;
|
|
|
|
public class RoomBundleCommand extends Command {
|
|
public RoomBundleCommand() {
|
|
super("cmd_bundle", Emulator.getTexts().getValue("commands.keys.cmd_bundle").split(";"));
|
|
}
|
|
|
|
@Override
|
|
public boolean handle(GameClient gameClient, String[] params) throws Exception {
|
|
int parentId;
|
|
int credits;
|
|
int points;
|
|
int pointsType;
|
|
|
|
if (params.length < 5) {
|
|
gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_bundle.missing_params"), RoomChatMessageBubbles.ALERT);
|
|
return true;
|
|
}
|
|
|
|
if (Emulator.getGameEnvironment().getCatalogManager().getCatalogPage("room_bundle_" + gameClient.getHabbo().getHabboInfo().getCurrentRoom().getId()) != null) {
|
|
gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.error.cmd_bundle.duplicate"), RoomChatMessageBubbles.ALERT);
|
|
return true;
|
|
}
|
|
|
|
parentId = Integer.valueOf(params[1]);
|
|
credits = Integer.valueOf(params[2]);
|
|
points = Integer.valueOf(params[3]);
|
|
pointsType = Integer.valueOf(params[4]);
|
|
|
|
CatalogPage page = Emulator.getGameEnvironment().getCatalogManager().createCatalogPage("Room Bundle: " + gameClient.getHabbo().getHabboInfo().getCurrentRoom().getName(), "room_bundle_" + gameClient.getHabbo().getHabboInfo().getCurrentRoom().getId(), gameClient.getHabbo().getHabboInfo().getCurrentRoom().getId(), 0, CatalogPageLayouts.room_bundle, gameClient.getHabbo().getHabboInfo().getRank().getId(), parentId);
|
|
|
|
if (page instanceof RoomBundleLayout) {
|
|
try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("INSERT INTO catalog_items (page_id, item_ids, catalog_name, cost_credits, cost_points, points_type ) VALUES (?, ?, ?, ?, ?, ?)", Statement.RETURN_GENERATED_KEYS)) {
|
|
statement.setInt(1, page.getId());
|
|
statement.setString(2, "");
|
|
statement.setString(3, "room_bundle");
|
|
statement.setInt(4, credits);
|
|
statement.setInt(5, points);
|
|
statement.setInt(6, pointsType);
|
|
statement.execute();
|
|
|
|
try (ResultSet set = statement.getGeneratedKeys()) {
|
|
if (set.next()) {
|
|
try (PreparedStatement stmt = connection.prepareStatement("SELECT * FROM catalog_items WHERE id = ?")) {
|
|
stmt.setInt(1, set.getInt(1));
|
|
try (ResultSet st = stmt.executeQuery()) {
|
|
if (st.next()) {
|
|
page.addItem(new CatalogItem(st));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} catch (SQLException e) {
|
|
Emulator.getLogging().logSQLException(e);
|
|
}
|
|
((RoomBundleLayout) page).loadItems(gameClient.getHabbo().getHabboInfo().getCurrentRoom());
|
|
|
|
gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.succes.cmd_bundle").replace("%id%", page.getId() + ""), RoomChatMessageBubbles.ALERT);
|
|
}
|
|
|
|
return true;
|
|
}
|
|
}
|