mirror of
https://git.krews.org/morningstar/Arcturus-Community.git
synced 2024-11-23 07:20:50 +01:00
Refactor methods to reduce its Cognitive Complexity
This commit is contained in:
parent
952ba6e172
commit
7a8a2f42ee
@ -4,7 +4,7 @@ import com.eu.habbo.Emulator;
|
||||
import com.eu.habbo.core.*;
|
||||
import com.eu.habbo.habbohotel.achievements.AchievementManager;
|
||||
import com.eu.habbo.habbohotel.bots.BotManager;
|
||||
import com.eu.habbo.habbohotel.campaign.calendar.CalendarManager;
|
||||
import com.eu.habbo.habbohotel.campaign.CalendarManager;
|
||||
import com.eu.habbo.habbohotel.catalog.CatalogManager;
|
||||
import com.eu.habbo.habbohotel.commands.CommandHandler;
|
||||
import com.eu.habbo.habbohotel.crafting.CraftingManager;
|
||||
|
@ -1,10 +1,9 @@
|
||||
package com.eu.habbo.habbohotel.campaign.calendar;
|
||||
package com.eu.habbo.habbohotel.campaign;
|
||||
|
||||
import gnu.trove.map.hash.THashMap;
|
||||
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Timestamp;
|
||||
import java.util.Map;
|
||||
|
||||
public class CalendarCampaign {
|
||||
@ -12,26 +11,26 @@ public class CalendarCampaign {
|
||||
private final String name;
|
||||
private final String image;
|
||||
private Map<Integer , CalendarRewardObject> rewards = new THashMap<>();
|
||||
private final Integer start_timestamp;
|
||||
private final int total_days;
|
||||
private final boolean lock_expired;
|
||||
private final Integer startTimestamp;
|
||||
private final int totalDays;
|
||||
private final boolean lockExpired;
|
||||
|
||||
public CalendarCampaign(ResultSet set) throws SQLException {
|
||||
this.id = set.getInt("id");
|
||||
this.name = set.getString("name");
|
||||
this.image = set.getString("image");
|
||||
this.start_timestamp = set.getInt("start_timestamp");
|
||||
this.total_days = set.getInt("total_days");
|
||||
this.lock_expired = set.getInt("lock_expired") == 1;
|
||||
this.startTimestamp = set.getInt("start_timestamp");
|
||||
this.totalDays = set.getInt("total_days");
|
||||
this.lockExpired = set.getInt("lock_expired") == 1;
|
||||
}
|
||||
|
||||
public CalendarCampaign(int id, String name, String image, Integer start_timestamp, int total_days, boolean lock_expired) {
|
||||
public CalendarCampaign(int id, String name, String image, Integer startTimestamp, int totalDays, boolean lockExpired) {
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
this.image = image;
|
||||
this.start_timestamp = start_timestamp;
|
||||
this.total_days = total_days;
|
||||
this.lock_expired = lock_expired;
|
||||
this.startTimestamp = startTimestamp;
|
||||
this.totalDays = totalDays;
|
||||
this.lockExpired = lockExpired;
|
||||
}
|
||||
|
||||
public int getId() {
|
||||
@ -47,12 +46,12 @@ public class CalendarCampaign {
|
||||
}
|
||||
|
||||
public Integer getStartTimestamp() {
|
||||
return this.start_timestamp;
|
||||
return this.startTimestamp;
|
||||
}
|
||||
|
||||
public int getTotalDays() { return this.total_days; }
|
||||
public int getTotalDays() { return this.totalDays; }
|
||||
|
||||
public boolean getLockExpired() { return this.lock_expired; }
|
||||
public boolean getLockExpired() { return this.lockExpired; }
|
||||
|
||||
public Map<Integer, CalendarRewardObject> getRewards() { return rewards; }
|
||||
|
@ -1,4 +1,4 @@
|
||||
package com.eu.habbo.habbohotel.campaign.calendar;
|
||||
package com.eu.habbo.habbohotel.campaign;
|
||||
|
||||
import com.eu.habbo.Emulator;
|
||||
import com.eu.habbo.habbohotel.users.Habbo;
|
||||
@ -9,16 +9,15 @@ import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.sql.*;
|
||||
import java.util.*;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.Date;
|
||||
|
||||
import static java.time.temporal.ChronoUnit.DAYS;
|
||||
import java.util.*;
|
||||
|
||||
|
||||
public class CalendarManager {
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(CalendarCampaign.class);
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(CalendarManager.class);
|
||||
|
||||
final private static Map<Integer, CalendarCampaign> calendarCampaigns = new THashMap<>();
|
||||
private static final Map<Integer, CalendarCampaign> calendarCampaigns = new THashMap<>();
|
||||
public static double HC_MODIFIER;
|
||||
|
||||
public CalendarManager() {
|
||||
@ -27,7 +26,7 @@ public class CalendarManager {
|
||||
LOGGER.info("Calendar Manager -> Loaded! ({} MS)", (System.currentTimeMillis() - millis));
|
||||
}
|
||||
|
||||
public void dispose(){
|
||||
public void dispose() {
|
||||
calendarCampaigns.clear();
|
||||
}
|
||||
|
||||
@ -48,7 +47,7 @@ public class CalendarManager {
|
||||
try (ResultSet set = statement.executeQuery()) {
|
||||
while (set.next()) {
|
||||
CalendarCampaign campaign = calendarCampaigns.get(set.getInt("campaign_id"));
|
||||
if(campaign != null){
|
||||
if (campaign != null) {
|
||||
campaign.addReward(new CalendarRewardObject(set));
|
||||
}
|
||||
}
|
||||
@ -58,7 +57,7 @@ public class CalendarManager {
|
||||
return false;
|
||||
}
|
||||
|
||||
HC_MODIFIER = Emulator.getConfig().getDouble("hotel.calendar.pixels.hc_modifier", 2.0);
|
||||
CalendarManager.HC_MODIFIER = Emulator.getConfig().getDouble("hotel.calendar.pixels.hc_modifier", 2.0);
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -107,35 +106,29 @@ public class CalendarManager {
|
||||
public CalendarCampaign getCalendarCampaign(String campaignName) {
|
||||
return calendarCampaigns.values().stream().filter(cc -> Objects.equals(cc.getName(), campaignName)).findFirst().orElse(null);
|
||||
}
|
||||
|
||||
public Map<Integer, CalendarCampaign> getCalendarCampaigns() {
|
||||
return calendarCampaigns;
|
||||
}
|
||||
|
||||
public void claimCalendarReward(Habbo habbo, String campaignName, int day, boolean force) {
|
||||
CalendarCampaign campaign = calendarCampaigns.values().stream().filter(cc -> Objects.equals(cc.getName(), campaignName)).findFirst().orElse(null);
|
||||
if(campaign == null) return;
|
||||
if (habbo.getHabboStats().calendarRewardsClaimed.stream().noneMatch(claimed -> claimed.getCampaignId() == campaign.getId() && claimed.getDay() == day)) {
|
||||
if (campaign == null || campaign.getRewards().isEmpty() || (habbo.getHabboStats().calendarRewardsClaimed.stream().anyMatch(claimed -> claimed.getCampaignId() == campaign.getId() && claimed.getDay() == day)))
|
||||
return;
|
||||
|
||||
List<CalendarRewardObject> rewards = new ArrayList<>(campaign.getRewards().values());
|
||||
CalendarRewardObject object = rewards.get(Emulator.getRandom().nextInt(rewards.size() - 1 + 1));
|
||||
|
||||
Set<Integer> keys = campaign.getRewards().keySet();
|
||||
Map<Integer, Integer> rewards = new THashMap<>();
|
||||
if(keys.isEmpty()) return;
|
||||
keys.forEach(key -> rewards.put(rewards.size() + 1, key));
|
||||
int rand = Emulator.getRandom().nextInt(rewards.size() - 1 + 1) + 1;
|
||||
int random = rewards.get(rand);
|
||||
CalendarRewardObject object = campaign.getRewards().get(random);
|
||||
if (object == null) return;
|
||||
int daysBetween = (int) DAYS.between(new Timestamp(campaign.getStartTimestamp() * 1000L).toInstant(), new Date().toInstant());
|
||||
if(daysBetween >= 0 && daysBetween <= campaign.getTotalDays()) {
|
||||
int diff = (daysBetween - day);
|
||||
if ((((diff <= 2 || !campaign.getLockExpired()) && diff >= 0) || (force && habbo.hasPermission("acc_calendar_force")))) {
|
||||
|
||||
long daysBetween = ChronoUnit.DAYS.between(new Timestamp(campaign.getStartTimestamp() * 1000L).toInstant(), new Date().toInstant());
|
||||
if (((daysBetween >= 0 && daysBetween <= campaign.getTotalDays()) && (((daysBetween - day <= 2 || !campaign.getLockExpired()) && daysBetween - day >= 0)) || (force && habbo.hasPermission("acc_calendar_force")))) {
|
||||
if (Emulator.getPluginManager().fireEvent(new UserClaimRewardEvent(habbo, campaign, day, object, force)).isCancelled()) {
|
||||
return;
|
||||
}
|
||||
|
||||
habbo.getHabboStats().calendarRewardsClaimed.add(new CalendarRewardClaimed(habbo.getHabboInfo().getId(), campaign.getId(), day, object.getId(), new Timestamp(System.currentTimeMillis())));
|
||||
habbo.getClient().sendResponse(new CampaignCalendarDoorOpenedMessageComposer(true, object, habbo));
|
||||
object.give(habbo);
|
||||
|
||||
try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("INSERT INTO calendar_rewards_claimed (user_id, campaign_id, day, reward_id, timestamp) VALUES (?, ?, ?, ?, ?)")) {
|
||||
statement.setInt(1, habbo.getHabboInfo().getId());
|
||||
statement.setInt(2, campaign.getId());
|
||||
@ -148,7 +141,5 @@ public class CalendarManager {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
package com.eu.habbo.habbohotel.campaign.calendar;
|
||||
package com.eu.habbo.habbohotel.campaign;
|
||||
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
@ -1,4 +1,4 @@
|
||||
package com.eu.habbo.habbohotel.campaign.calendar;
|
||||
package com.eu.habbo.habbohotel.campaign;
|
||||
|
||||
import com.eu.habbo.Emulator;
|
||||
import com.eu.habbo.habbohotel.items.Item;
|
@ -1,7 +1,7 @@
|
||||
package com.eu.habbo.habbohotel.commands;
|
||||
|
||||
import com.eu.habbo.Emulator;
|
||||
import com.eu.habbo.habbohotel.campaign.calendar.CalendarCampaign;
|
||||
import com.eu.habbo.habbohotel.campaign.CalendarCampaign;
|
||||
import com.eu.habbo.habbohotel.gameclients.GameClient;
|
||||
import com.eu.habbo.messages.outgoing.events.calendar.CampaignCalendarDataMessageComposer;
|
||||
import com.eu.habbo.messages.outgoing.habboway.nux.InClientLinkMessageComposer;
|
||||
|
@ -4168,7 +4168,7 @@ public class Room implements Comparable<Room>, ISerialize, Runnable {
|
||||
}
|
||||
|
||||
public void giveEffect(RoomUnit roomUnit, int effectId, int duration) {
|
||||
if (roomUnit == null) return;
|
||||
if (roomUnit == null || roomUnit.getRoom() == null) return;
|
||||
|
||||
Habbo habbo = roomUnit.getRoom().getHabbo(roomUnit);
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
package com.eu.habbo.habbohotel.users;
|
||||
|
||||
import com.eu.habbo.Emulator;
|
||||
import com.eu.habbo.habbohotel.campaign.calendar.CalendarRewardClaimed;
|
||||
import com.eu.habbo.habbohotel.campaign.CalendarRewardClaimed;
|
||||
import com.eu.habbo.habbohotel.gameclients.GameClient;
|
||||
import com.eu.habbo.habbohotel.achievements.Achievement;
|
||||
import com.eu.habbo.habbohotel.achievements.AchievementManager;
|
||||
|
@ -9,6 +9,8 @@ import com.eu.habbo.messages.incoming.achievements.GetAchievementsEvent;
|
||||
import com.eu.habbo.messages.incoming.ambassadors.AmbassadorAlertEvent;
|
||||
import com.eu.habbo.messages.incoming.ambassadors.FollowFriendEvent;
|
||||
import com.eu.habbo.messages.incoming.camera.*;
|
||||
import com.eu.habbo.messages.incoming.campaign.OpenCampaignCalendarDoorAsStaffEvent;
|
||||
import com.eu.habbo.messages.incoming.campaign.OpenCampaignCalendarDoorEvent;
|
||||
import com.eu.habbo.messages.incoming.catalog.*;
|
||||
import com.eu.habbo.messages.incoming.catalog.marketplace.*;
|
||||
import com.eu.habbo.messages.incoming.catalog.recycler.PresentOpenEvent;
|
||||
@ -16,8 +18,6 @@ import com.eu.habbo.messages.incoming.catalog.recycler.RecycleItemsEvent;
|
||||
import com.eu.habbo.messages.incoming.catalog.recycler.GetRecyclerStatusEvent;
|
||||
import com.eu.habbo.messages.incoming.catalog.recycler.GetRecyclerPrizesEvent;
|
||||
import com.eu.habbo.messages.incoming.crafting.*;
|
||||
import com.eu.habbo.messages.incoming.events.calendar.OpenCampaignCalendarDoorEvent;
|
||||
import com.eu.habbo.messages.incoming.events.calendar.OpenCampaignCalendarDoorAsStaffEvent;
|
||||
import com.eu.habbo.messages.incoming.floorplaneditor.GetOccupiedTilesEvent;
|
||||
import com.eu.habbo.messages.incoming.floorplaneditor.GetRoomEntryTileEvent;
|
||||
import com.eu.habbo.messages.incoming.floorplaneditor.UpdateFloorPropertiesEvent;
|
||||
|
@ -232,8 +232,8 @@ public class Incoming {
|
||||
public static final int NewNavigatorSearchEvent = 249;
|
||||
public static final int NewUserExperienceGetGiftsEvent = 1822;
|
||||
public static final int NewUserExperienceScriptProceedEvent = 1299;
|
||||
public static final int OpenCampaignCalendarDoorAsStaffEvent = 2257;
|
||||
public static final int OpenCampaignCalendarDoorEvent = 3889;
|
||||
public static final int OpenCampaignCalendarDoorEvent = 8809;
|
||||
public static final int OpenCampaignCalendarDoorAsStaffEvent = 2507;
|
||||
public static final int OpenFlatConnectionEvent = 2312;
|
||||
public static final int OpenPetPackageEvent = 3698;
|
||||
public static final int OpenTradingEvent = 1481;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package com.eu.habbo.messages.incoming.events.calendar;
|
||||
package com.eu.habbo.messages.incoming.campaign;
|
||||
|
||||
import com.eu.habbo.Emulator;
|
||||
import com.eu.habbo.messages.incoming.MessageHandler;
|
||||
@ -9,6 +9,7 @@ public class OpenCampaignCalendarDoorAsStaffEvent extends MessageHandler {
|
||||
String campaignName = this.packet.readString();
|
||||
int day = this.packet.readInt();
|
||||
|
||||
Emulator.getGameEnvironment().getCalendarManager().claimCalendarReward(this.client.getHabbo(), campaignName, day, false);
|
||||
Emulator.getGameEnvironment().getCalendarManager().claimCalendarReward(this.client.getHabbo(), campaignName, day, true);
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
package com.eu.habbo.messages.incoming.events.calendar;
|
||||
package com.eu.habbo.messages.incoming.campaign;
|
||||
|
||||
import com.eu.habbo.Emulator;
|
||||
import com.eu.habbo.messages.incoming.MessageHandler;
|
||||
@ -9,6 +9,6 @@ public class OpenCampaignCalendarDoorEvent extends MessageHandler {
|
||||
String campaignName = this.packet.readString();
|
||||
int day = this.packet.readInt();
|
||||
|
||||
Emulator.getGameEnvironment().getCalendarManager().claimCalendarReward(this.client.getHabbo(), campaignName, day, true);
|
||||
Emulator.getGameEnvironment().getCalendarManager().claimCalendarReward(this.client.getHabbo(), campaignName, day, false);
|
||||
}
|
||||
}
|
@ -2,7 +2,7 @@ package com.eu.habbo.messages.incoming.handshake;
|
||||
|
||||
import com.eu.habbo.Emulator;
|
||||
import com.eu.habbo.habbohotel.achievements.AchievementManager;
|
||||
import com.eu.habbo.habbohotel.campaign.calendar.CalendarCampaign;
|
||||
import com.eu.habbo.habbohotel.campaign.CalendarCampaign;
|
||||
import com.eu.habbo.habbohotel.catalog.TargetOffer;
|
||||
import com.eu.habbo.habbohotel.messenger.Messenger;
|
||||
import com.eu.habbo.habbohotel.modtool.ModToolSanctionItem;
|
||||
|
@ -1,6 +1,6 @@
|
||||
package com.eu.habbo.messages.outgoing.events.calendar;
|
||||
|
||||
import com.eu.habbo.habbohotel.campaign.calendar.CalendarRewardClaimed;
|
||||
import com.eu.habbo.habbohotel.campaign.CalendarRewardClaimed;
|
||||
import com.eu.habbo.messages.ServerMessage;
|
||||
import com.eu.habbo.messages.outgoing.MessageComposer;
|
||||
import com.eu.habbo.messages.outgoing.Outgoing;
|
||||
|
@ -1,7 +1,7 @@
|
||||
package com.eu.habbo.messages.outgoing.events.calendar;
|
||||
|
||||
import com.eu.habbo.habbohotel.campaign.calendar.CalendarManager;
|
||||
import com.eu.habbo.habbohotel.campaign.calendar.CalendarRewardObject;
|
||||
import com.eu.habbo.habbohotel.campaign.CalendarManager;
|
||||
import com.eu.habbo.habbohotel.campaign.CalendarRewardObject;
|
||||
import com.eu.habbo.habbohotel.users.Habbo;
|
||||
import com.eu.habbo.messages.ServerMessage;
|
||||
import com.eu.habbo.messages.outgoing.MessageComposer;
|
||||
|
@ -1,7 +1,7 @@
|
||||
package com.eu.habbo.plugin.events.users.calendar;
|
||||
|
||||
import com.eu.habbo.habbohotel.campaign.calendar.CalendarCampaign;
|
||||
import com.eu.habbo.habbohotel.campaign.calendar.CalendarRewardObject;
|
||||
import com.eu.habbo.habbohotel.campaign.CalendarCampaign;
|
||||
import com.eu.habbo.habbohotel.campaign.CalendarRewardObject;
|
||||
import com.eu.habbo.habbohotel.users.Habbo;
|
||||
import com.eu.habbo.plugin.events.users.UserEvent;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user