Forráskód Böngészése

Core-part for L2J/L2J_DataPack@fc5ad806a4764b458d3007782aaa3c6e11a459e7
Patch by: @LucusAngel

St3eT 10 éve
szülő
commit
2f3dca83e5

+ 1 - 16
L2J_Server/dist/game/config/Character.properties

@@ -721,21 +721,6 @@ OffsetOnTeleportEnabled = True
 # Default: 50
 # Default: 50
 MaxOffsetOnTeleport = 50
 MaxOffsetOnTeleport = 50
 
 
-# Restores the player to their previous instance (ie. an instanced area/dungeon) on EnterWorld.
-# Default: False
-RestorePlayerInstance = False
-
-# Set whether summon skills can be used to summon players inside an instance.
-# When enabled individual instances can have summoning disabled in instance xml's.
-# DEFAULT NEEDS TO BE VERIFIED, MUST BE CHANGED HERE AND IN CONFIG.JAVA IF NOT CORRECT
-# Default: ?
-AllowSummonToInstance = True
-
-# When a player dies, is removed from instance after a fixed period of time.
-# Time in seconds.
-# Default: 60
-EjectDeadPlayerTime = 60
-
 # This option is to enable or disable the use of in game petitions.
 # This option is to enable or disable the use of in game petitions.
 # The MaxPetitionsPerPlayer is the amount of petitions a player can make.
 # The MaxPetitionsPerPlayer is the amount of petitions a player can make.
 # The MaximumPendingPetitions is the total amount of petitions in the server.
 # The MaximumPendingPetitions is the total amount of petitions in the server.
@@ -826,4 +811,4 @@ SilenceModeExclude = False
 # When enabled pvp skills will not be casted on non flagged player.
 # When enabled pvp skills will not be casted on non flagged player.
 # Sadly its non-retail
 # Sadly its non-retail
 # Default: False
 # Default: False
-AltValidateTriggerSkills = False
+AltValidateTriggerSkills = False

+ 29 - 1
L2J_Server/dist/game/config/General.properties

@@ -462,6 +462,30 @@ WearDelay = 5
 WearPrice = 10
 WearPrice = 10
 
 
 
 
+# ---------------------------------------------------------------------------
+# Instances
+# ---------------------------------------------------------------------------
+# Restores the player to their previous instance (ie. an instanced area/dungeon) on EnterWorld.
+# Default: False
+RestorePlayerInstance = False
+
+# Set whether summon skills can be used to summon players inside an instance.
+# When enabled individual instances can have summoning disabled in instance xml's.
+# DEFAULT NEEDS TO BE VERIFIED, MUST BE CHANGED HERE AND IN CONFIG.JAVA IF NOT CORRECT
+# Default: False
+AllowSummonInInstance = False
+
+# When a player dies, is removed from instance after a fixed period of time.
+# Time in seconds.
+# Default: 60
+EjectDeadPlayerTime = 60
+
+# When is instance finished, is set time to destruction currency instance.
+# Time in seconds.
+# Default: 300
+DefaultFinishTime = 300
+
+
 # ---------------------------------------------------------------------------
 # ---------------------------------------------------------------------------
 # Misc Settings
 # Misc Settings
 # ---------------------------------------------------------------------------
 # ---------------------------------------------------------------------------
@@ -837,6 +861,10 @@ AllowReportsFromSameClanMembers = False
 # Default: False
 # Default: False
 Debug = False
 Debug = False
 
 
+# Instances debugging
+# Default: False
+InstanceDebug = False
+
 # Html action cache debugging
 # Html action cache debugging
 # Default: False
 # Default: False
 HtmlActionCacheDebug = False
 HtmlActionCacheDebug = False
@@ -866,4 +894,4 @@ AltDevShowQuestsLoadInLogs = False
 
 
 # Show scripts while loading them.
 # Show scripts while loading them.
 # Default: False
 # Default: False
-AltDevShowScriptsLoadInLogs = False
+AltDevShowScriptsLoadInLogs = False

+ 22 - 12
L2J_Server/java/com/l2jserver/Config.java

@@ -240,9 +240,6 @@ public final class Config
 	public static boolean RANDOM_RESPAWN_IN_TOWN_ENABLED;
 	public static boolean RANDOM_RESPAWN_IN_TOWN_ENABLED;
 	public static boolean OFFSET_ON_TELEPORT_ENABLED;
 	public static boolean OFFSET_ON_TELEPORT_ENABLED;
 	public static int MAX_OFFSET_ON_TELEPORT;
 	public static int MAX_OFFSET_ON_TELEPORT;
-	public static boolean RESTORE_PLAYER_INSTANCE;
-	public static boolean ALLOW_SUMMON_TO_INSTANCE;
-	public static int EJECT_DEAD_PLAYER_TIME;
 	public static boolean PETITIONING_ALLOWED;
 	public static boolean PETITIONING_ALLOWED;
 	public static int MAX_PETITIONS_PER_PLAYER;
 	public static int MAX_PETITIONS_PER_PLAYER;
 	public static int MAX_PETITIONS_PENDING;
 	public static int MAX_PETITIONS_PENDING;
@@ -455,6 +452,7 @@ public final class Config
 	public static boolean SKILL_CHECK_REMOVE;
 	public static boolean SKILL_CHECK_REMOVE;
 	public static boolean SKILL_CHECK_GM;
 	public static boolean SKILL_CHECK_GM;
 	public static boolean DEBUG;
 	public static boolean DEBUG;
+	public static boolean DEBUG_INSTANCES;
 	public static boolean HTML_ACTION_CACHE_DEBUG;
 	public static boolean HTML_ACTION_CACHE_DEBUG;
 	public static boolean PACKET_HANDLER_DEBUG;
 	public static boolean PACKET_HANDLER_DEBUG;
 	public static boolean DEVELOPER;
 	public static boolean DEVELOPER;
@@ -526,6 +524,10 @@ public final class Config
 	public static boolean ALLOW_WEAR;
 	public static boolean ALLOW_WEAR;
 	public static int WEAR_DELAY;
 	public static int WEAR_DELAY;
 	public static int WEAR_PRICE;
 	public static int WEAR_PRICE;
+	public static int INSTANCE_FINISH_TIME;
+	public static boolean RESTORE_PLAYER_INSTANCE;
+	public static boolean ALLOW_SUMMON_IN_INSTANCE;
+	public static int EJECT_DEAD_PLAYER_TIME;
 	public static boolean ALLOW_LOTTERY;
 	public static boolean ALLOW_LOTTERY;
 	public static boolean ALLOW_RACE;
 	public static boolean ALLOW_RACE;
 	public static boolean ALLOW_WATER;
 	public static boolean ALLOW_WATER;
@@ -1651,9 +1653,6 @@ public final class Config
 			RANDOM_RESPAWN_IN_TOWN_ENABLED = Character.getBoolean("RandomRespawnInTownEnabled", true);
 			RANDOM_RESPAWN_IN_TOWN_ENABLED = Character.getBoolean("RandomRespawnInTownEnabled", true);
 			OFFSET_ON_TELEPORT_ENABLED = Character.getBoolean("OffsetOnTeleportEnabled", true);
 			OFFSET_ON_TELEPORT_ENABLED = Character.getBoolean("OffsetOnTeleportEnabled", true);
 			MAX_OFFSET_ON_TELEPORT = Character.getInt("MaxOffsetOnTeleport", 50);
 			MAX_OFFSET_ON_TELEPORT = Character.getInt("MaxOffsetOnTeleport", 50);
-			RESTORE_PLAYER_INSTANCE = Character.getBoolean("RestorePlayerInstance", false);
-			ALLOW_SUMMON_TO_INSTANCE = Character.getBoolean("AllowSummonToInstance", true);
-			EJECT_DEAD_PLAYER_TIME = 1000 * Character.getInt("EjectDeadPlayerTime", 60);
 			PETITIONING_ALLOWED = Character.getBoolean("PetitioningAllowed", true);
 			PETITIONING_ALLOWED = Character.getBoolean("PetitioningAllowed", true);
 			MAX_PETITIONS_PER_PLAYER = Character.getInt("MaxPetitionsPerPlayer", 5);
 			MAX_PETITIONS_PER_PLAYER = Character.getInt("MaxPetitionsPerPlayer", 5);
 			MAX_PETITIONS_PENDING = Character.getInt("MaxPetitionsPending", 25);
 			MAX_PETITIONS_PENDING = Character.getInt("MaxPetitionsPending", 25);
@@ -1743,6 +1742,7 @@ public final class Config
 			SKILL_CHECK_REMOVE = General.getBoolean("SkillCheckRemove", false);
 			SKILL_CHECK_REMOVE = General.getBoolean("SkillCheckRemove", false);
 			SKILL_CHECK_GM = General.getBoolean("SkillCheckGM", true);
 			SKILL_CHECK_GM = General.getBoolean("SkillCheckGM", true);
 			DEBUG = General.getBoolean("Debug", false);
 			DEBUG = General.getBoolean("Debug", false);
+			DEBUG_INSTANCES = General.getBoolean("InstanceDebug", false);
 			HTML_ACTION_CACHE_DEBUG = General.getBoolean("HtmlActionCacheDebug", false);
 			HTML_ACTION_CACHE_DEBUG = General.getBoolean("HtmlActionCacheDebug", false);
 			PACKET_HANDLER_DEBUG = General.getBoolean("PacketHandlerDebug", false);
 			PACKET_HANDLER_DEBUG = General.getBoolean("PacketHandlerDebug", false);
 			DEVELOPER = General.getBoolean("Developer", false);
 			DEVELOPER = General.getBoolean("Developer", false);
@@ -1825,6 +1825,10 @@ public final class Config
 			ALLOW_WEAR = General.getBoolean("AllowWear", true);
 			ALLOW_WEAR = General.getBoolean("AllowWear", true);
 			WEAR_DELAY = General.getInt("WearDelay", 5);
 			WEAR_DELAY = General.getInt("WearDelay", 5);
 			WEAR_PRICE = General.getInt("WearPrice", 10);
 			WEAR_PRICE = General.getInt("WearPrice", 10);
+			INSTANCE_FINISH_TIME = 1000 * General.getInt("DefaultFinishTime", 300);
+			RESTORE_PLAYER_INSTANCE = General.getBoolean("RestorePlayerInstance", false);
+			ALLOW_SUMMON_IN_INSTANCE = General.getBoolean("AllowSummonInInstance", false);
+			EJECT_DEAD_PLAYER_TIME = 1000 * General.getInt("EjectDeadPlayerTime", 60);
 			ALLOW_LOTTERY = General.getBoolean("AllowLottery", true);
 			ALLOW_LOTTERY = General.getBoolean("AllowLottery", true);
 			ALLOW_RACE = General.getBoolean("AllowRace", true);
 			ALLOW_RACE = General.getBoolean("AllowRace", true);
 			ALLOW_WATER = General.getBoolean("AllowWater", true);
 			ALLOW_WATER = General.getBoolean("AllowWater", true);
@@ -3031,6 +3035,18 @@ public final class Config
 			case "wearprice":
 			case "wearprice":
 				WEAR_PRICE = Integer.parseInt(pValue);
 				WEAR_PRICE = Integer.parseInt(pValue);
 				break;
 				break;
+			case "defaultfinishtime":
+				INSTANCE_FINISH_TIME = Integer.parseInt(pValue);
+				break;
+			case "restoreplayerinstance":
+				RESTORE_PLAYER_INSTANCE = Boolean.parseBoolean(pValue);
+				break;
+			case "allowsummonininstance":
+				ALLOW_SUMMON_IN_INSTANCE = Boolean.parseBoolean(pValue);
+				break;
+			case "ejectdeadplayertime":
+				EJECT_DEAD_PLAYER_TIME = Integer.parseInt(pValue);
+				break;
 			case "allowwater":
 			case "allowwater":
 				ALLOW_WATER = Boolean.parseBoolean(pValue);
 				ALLOW_WATER = Boolean.parseBoolean(pValue);
 				break;
 				break;
@@ -3205,12 +3221,6 @@ public final class Config
 			case "playerfakedeathupprotection":
 			case "playerfakedeathupprotection":
 				PLAYER_FAKEDEATH_UP_PROTECTION = Integer.parseInt(pValue);
 				PLAYER_FAKEDEATH_UP_PROTECTION = Integer.parseInt(pValue);
 				break;
 				break;
-			case "restoreplayerinstance":
-				RESTORE_PLAYER_INSTANCE = Boolean.parseBoolean(pValue);
-				break;
-			case "allowsummontoinstance":
-				ALLOW_SUMMON_TO_INSTANCE = Boolean.parseBoolean(pValue);
-				break;
 			case "partyxpcutoffmethod":
 			case "partyxpcutoffmethod":
 				PARTY_XP_CUTOFF_METHOD = pValue;
 				PARTY_XP_CUTOFF_METHOD = pValue;
 				break;
 				break;

+ 29 - 0
L2J_Server/java/com/l2jserver/gameserver/enums/InstanceReenterType.java

@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2004-2015 L2J Server
+ * 
+ * This file is part of L2J Server.
+ * 
+ * L2J Server is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ * 
+ * L2J Server is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package com.l2jserver.gameserver.enums;
+
+/**
+ * @author FallenAngel
+ */
+public enum InstanceReenterType
+{
+	NONE,
+	ON_INSTANCE_ENTER,
+	ON_INSTANCE_FINISH,
+}

+ 30 - 0
L2J_Server/java/com/l2jserver/gameserver/enums/InstanceRemoveBuffType.java

@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2004-2015 L2J Server
+ * 
+ * This file is part of L2J Server.
+ * 
+ * L2J Server is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ * 
+ * L2J Server is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package com.l2jserver.gameserver.enums;
+
+/**
+ * @author St3eT
+ */
+public enum InstanceRemoveBuffType
+{
+	NONE,
+	ALL,
+	WHITELIST,
+	BLACKLIST,
+}

+ 5 - 0
L2J_Server/java/com/l2jserver/gameserver/model/actor/L2Character.java

@@ -783,6 +783,11 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
 		teleToLocation(loc.getX(), loc.getY(), loc.getZ(), loc.getHeading(), loc.getInstanceId(), randomOffset);
 		teleToLocation(loc.getX(), loc.getY(), loc.getZ(), loc.getHeading(), loc.getInstanceId(), randomOffset);
 	}
 	}
 	
 	
+	public void teleToLocation(ILocational loc, int instanceId, int randomOffset)
+	{
+		teleToLocation(loc.getX(), loc.getY(), loc.getZ(), loc.getHeading(), instanceId, randomOffset);
+	}
+	
 	public void teleToLocation(ILocational loc, boolean randomOffset)
 	public void teleToLocation(ILocational loc, boolean randomOffset)
 	{
 	{
 		teleToLocation(loc.getX(), loc.getY(), loc.getZ(), loc.getHeading(), loc.getInstanceId(), (randomOffset) ? Config.MAX_OFFSET_ON_TELEPORT : 0);
 		teleToLocation(loc.getX(), loc.getY(), loc.getZ(), loc.getHeading(), loc.getInstanceId(), (randomOffset) ? Config.MAX_OFFSET_ON_TELEPORT : 0);

+ 113 - 1
L2J_Server/java/com/l2jserver/gameserver/model/entity/Instance.java

@@ -20,6 +20,7 @@ package com.l2jserver.gameserver.model.entity;
 
 
 import java.io.File;
 import java.io.File;
 import java.io.IOException;
 import java.io.IOException;
+import java.time.DayOfWeek;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.HashMap;
@@ -43,6 +44,8 @@ import com.l2jserver.Config;
 import com.l2jserver.gameserver.ThreadPoolManager;
 import com.l2jserver.gameserver.ThreadPoolManager;
 import com.l2jserver.gameserver.data.xml.impl.DoorData;
 import com.l2jserver.gameserver.data.xml.impl.DoorData;
 import com.l2jserver.gameserver.data.xml.impl.NpcData;
 import com.l2jserver.gameserver.data.xml.impl.NpcData;
+import com.l2jserver.gameserver.enums.InstanceReenterType;
+import com.l2jserver.gameserver.enums.InstanceRemoveBuffType;
 import com.l2jserver.gameserver.idfactory.IdFactory;
 import com.l2jserver.gameserver.idfactory.IdFactory;
 import com.l2jserver.gameserver.instancemanager.InstanceManager;
 import com.l2jserver.gameserver.instancemanager.InstanceManager;
 import com.l2jserver.gameserver.model.L2Spawn;
 import com.l2jserver.gameserver.model.L2Spawn;
@@ -58,6 +61,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2DoorInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.actor.templates.L2DoorTemplate;
 import com.l2jserver.gameserver.model.actor.templates.L2DoorTemplate;
 import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
 import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
+import com.l2jserver.gameserver.model.holders.InstanceReenterTimeHolder;
 import com.l2jserver.gameserver.model.instancezone.InstanceWorld;
 import com.l2jserver.gameserver.model.instancezone.InstanceWorld;
 import com.l2jserver.gameserver.network.SystemMessageId;
 import com.l2jserver.gameserver.network.SystemMessageId;
 import com.l2jserver.gameserver.network.clientpackets.Say2;
 import com.l2jserver.gameserver.network.clientpackets.Say2;
@@ -92,6 +96,12 @@ public final class Instance
 	private boolean _showTimer = false;
 	private boolean _showTimer = false;
 	private boolean _isTimerIncrease = true;
 	private boolean _isTimerIncrease = true;
 	private String _timerText = "";
 	private String _timerText = "";
+	// Instance reset data
+	private InstanceReenterType _type = InstanceReenterType.NONE;
+	private final List<InstanceReenterTimeHolder> _resetData = new ArrayList<>();
+	// Instance remove buffs data
+	private InstanceRemoveBuffType _removeBuffType = InstanceRemoveBuffType.NONE;
+	private final List<Integer> _exceptionList = new ArrayList<>();
 	
 	
 	protected ScheduledFuture<?> _checkTimeUpTask = null;
 	protected ScheduledFuture<?> _checkTimeUpTask = null;
 	protected final Map<Integer, ScheduledFuture<?>> _ejectDeadTasks = new FastMap<>();
 	protected final Map<Integer, ScheduledFuture<?>> _ejectDeadTasks = new FastMap<>();
@@ -655,6 +665,78 @@ public final class Instance
 					_spawnLoc = null;
 					_spawnLoc = null;
 				}
 				}
 			}
 			}
+			else if ("reenter".equalsIgnoreCase(n.getNodeName()))
+			{
+				a = n.getAttributes().getNamedItem("additionStyle");
+				if (a != null)
+				{
+					_type = InstanceReenterType.valueOf(a.getNodeValue());
+				}
+				
+				for (Node d = n.getFirstChild(); d != null; d = d.getNextSibling())
+				{
+					long time = -1;
+					DayOfWeek day = null;
+					int hour = -1;
+					int minute = -1;
+					
+					if ("reset".equalsIgnoreCase(d.getNodeName()))
+					{
+						a = d.getAttributes().getNamedItem("time");
+						if (a != null)
+						{
+							time = Long.parseLong(a.getNodeValue());
+							
+							if (time > 0)
+							{
+								_resetData.add(new InstanceReenterTimeHolder(time));
+								break;
+							}
+						}
+						else if (time == -1)
+						{
+							a = d.getAttributes().getNamedItem("day");
+							if (a != null)
+							{
+								day = DayOfWeek.valueOf(a.getNodeValue().toUpperCase());
+							}
+							
+							a = d.getAttributes().getNamedItem("hour");
+							if (a != null)
+							{
+								hour = Integer.parseInt(a.getNodeValue());
+							}
+							
+							a = d.getAttributes().getNamedItem("minute");
+							if (a != null)
+							{
+								minute = Integer.parseInt(a.getNodeValue());
+							}
+							_resetData.add(new InstanceReenterTimeHolder(day, hour, minute));
+						}
+					}
+				}
+			}
+			else if ("removeBuffs".equalsIgnoreCase(n.getNodeName()))
+			{
+				a = n.getAttributes().getNamedItem("type");
+				if (a != null)
+				{
+					_removeBuffType = InstanceRemoveBuffType.valueOf(a.getNodeValue().toUpperCase());
+				}
+				
+				for (Node d = n.getFirstChild(); d != null; d = d.getNextSibling())
+				{
+					if ("skill".equalsIgnoreCase(d.getNodeName()))
+					{
+						a = d.getAttributes().getNamedItem("id");
+						if (a != null)
+						{
+							_exceptionList.add(Integer.parseInt(a.getNodeValue()));
+						}
+					}
+				}
+			}
 		}
 		}
 	}
 	}
 	
 	
@@ -832,4 +914,34 @@ public final class Instance
 			InstanceManager.getInstance().destroyInstance(getId());
 			InstanceManager.getInstance().destroyInstance(getId());
 		}
 		}
 	}
 	}
-}
+	
+	public InstanceReenterType getReenterType()
+	{
+		return _type;
+	}
+	
+	public void setReenterType(InstanceReenterType type)
+	{
+		_type = type;
+	}
+	
+	public List<InstanceReenterTimeHolder> getReenterData()
+	{
+		return _resetData;
+	}
+	
+	public boolean isRemoveBuffEnabled()
+	{
+		return getRemoveBuffType() != InstanceRemoveBuffType.NONE;
+	}
+	
+	public InstanceRemoveBuffType getRemoveBuffType()
+	{
+		return _removeBuffType;
+	}
+	
+	public List<Integer> getBuffExceptionList()
+	{
+		return _exceptionList;
+	}
+}

+ 69 - 0
L2J_Server/java/com/l2jserver/gameserver/model/holders/InstanceReenterTimeHolder.java

@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2004-2015 L2J Server
+ * 
+ * This file is part of L2J Server.
+ * 
+ * L2J Server is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ * 
+ * L2J Server is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package com.l2jserver.gameserver.model.holders;
+
+import java.time.DayOfWeek;
+
+/**
+ * Simple class for storing Reenter Data for Instances.
+ * @author FallenAngel
+ */
+public final class InstanceReenterTimeHolder
+{
+	private final DayOfWeek _day;
+	private final int _hour;
+	private final int _minute;
+	private final long _time;
+	
+	public InstanceReenterTimeHolder(long time)
+	{
+		_time = time;
+		_day = null;
+		_hour = -1;
+		_minute = -1;
+	}
+	
+	public InstanceReenterTimeHolder(DayOfWeek day, int hour, int minute)
+	{
+		_time = -1;
+		_day = day;
+		_hour = hour;
+		_minute = minute;
+	}
+	
+	public final Long getTime()
+	{
+		return _time;
+	}
+	
+	public final DayOfWeek getDay()
+	{
+		return _day;
+	}
+	
+	public final int getHour()
+	{
+		return _hour;
+	}
+	
+	public final int getMinute()
+	{
+		return _minute;
+	}
+}