1
0
mirror of https://github.com/Rogiel/l2jserver2 synced 2025-12-05 23:22:47 +00:00

Change-Id: I0000000000000000000000000000000000000000

Change-Id: Idb54de2399013c159bda588be1ce065b8314af60
Change-Id: I8b913da4fe5139078b935b99e8e1aaa091480a75
This commit is contained in:
rogiel
2011-05-04 14:22:42 -03:00
parent 9a6c0233e9
commit 81d2babede
60 changed files with 274 additions and 126 deletions

View File

@@ -1,10 +0,0 @@
package script.template.armor;
import com.l2jserver.model.id.TemplateID;
import com.l2jserver.model.template.ArmorTemplate;
public abstract class AbstractNoGradeArmorTemplate extends ArmorTemplate {
public AbstractNoGradeArmorTemplate(TemplateID id) {
super(id);
}
}

View File

@@ -1,12 +1,24 @@
package script.template.item;
import com.l2jserver.model.id.TemplateID;
import com.l2jserver.model.id.template.factory.ItemTemplateIDFactory;
import com.l2jserver.model.template.ItemTemplate;
import com.l2jserver.model.template.capability.Stackable;
import com.l2jserver.model.world.Item;
public class AdenaItemTemplate extends ItemTemplate {
public static final TemplateID ID = new TemplateID(57);
public class AdenaItemTemplate extends ItemTemplate implements Stackable<Item> {
public static final int ID = 57;
public AdenaItemTemplate() {
super(ID);
public AdenaItemTemplate(ItemTemplateIDFactory factory) {
super(factory.createID(ID));
}
@Override
public void stack(Item... object) {
final Item item1 = object[0];
if (object.length >= 2) {
for (int i = 1; i < object.length; i++) {
// TODO set item amount
}
}
}
}

View File

@@ -1,16 +1,19 @@
package script.template.item;
import com.l2jserver.model.id.template.factory.ItemTemplateIDFactory;
import com.l2jserver.model.template.PotionTemplate;
import com.l2jserver.model.world.capability.Attackable;
import com.l2jserver.model.world.capability.Attacker;
public class TestPotionTemplate extends PotionTemplate {
public TestPotionTemplate() {
super(null);
public static final int ID = 15;
public TestPotionTemplate(ItemTemplateIDFactory factory) {
super(factory.createID(ID));
}
@Override
public void consume(Attacker source, Attackable target) {
//TODO consume item
// TODO Auto-generated method stub
}
}

View File

@@ -1,6 +1,6 @@
package script.template.armor;
package script.template.item.armor;
import com.l2jserver.model.id.TemplateID;
import com.l2jserver.model.id.template.ItemTemplateID;
import com.l2jserver.model.template.ArmorTemplate;
import com.l2jserver.model.template.capability.Enchantable;
import com.l2jserver.model.template.capability.Penalty;
@@ -10,7 +10,7 @@ import com.l2jserver.model.world.capability.Levelable;
public abstract class AbstractGradeAArmorTemplate extends ArmorTemplate
implements Enchantable, Penalty {
public AbstractGradeAArmorTemplate(TemplateID id) {
public AbstractGradeAArmorTemplate(ItemTemplateID id) {
super(id);
}

View File

@@ -0,0 +1,10 @@
package script.template.item.armor;
import com.l2jserver.model.id.template.ItemTemplateID;
import com.l2jserver.model.template.ArmorTemplate;
public abstract class AbstractNoGradeArmorTemplate extends ArmorTemplate {
public AbstractNoGradeArmorTemplate(ItemTemplateID id) {
super(id);
}
}

View File

@@ -1,17 +1,20 @@
package script.template.armor;
package script.template.item.armor;
import com.l2jserver.model.id.template.factory.ItemTemplateIDFactory;
import com.l2jserver.model.world.capability.Attackable;
import com.l2jserver.model.world.capability.Attacker;
import com.l2jserver.model.world.capability.Damagable;
import com.l2jserver.model.world.capability.Enchantable;
public class Dummy2ArmorTemplate extends AbstractGradeAArmorTemplate {
public static final int ID = 10;
private static final int REDUCED_DAMAGE_PHYSICAL = 10;
private static final int REDUCED_DAMAGE_MAGICAL = 10;
private static final int MAX_ENCHANT = 10;
public Dummy2ArmorTemplate() {
super(null);
public Dummy2ArmorTemplate(ItemTemplateIDFactory factory) {
super(factory.createID(ID));
}
@Override

View File

@@ -1,15 +1,18 @@
package script.template.armor;
package script.template.item.armor;
import com.l2jserver.model.id.template.factory.ItemTemplateIDFactory;
import com.l2jserver.model.world.capability.Attackable;
import com.l2jserver.model.world.capability.Attacker;
import com.l2jserver.model.world.capability.Damagable;
public class DummyArmorTemplate extends AbstractNoGradeArmorTemplate {
public static final int ID = 20;
private static final int REDUCED_DAMAGE_PHYSICAL = 10;
private static final int REDUCED_DAMAGE_MAGICAL = 10;
public DummyArmorTemplate() {
super(null);
public DummyArmorTemplate(ItemTemplateIDFactory factory) {
super(factory.createID(ID));
}
@Override

View File

@@ -1,4 +1,4 @@
package script.template.weapon;
package script.template.item.weapon;
import com.l2jserver.model.template.WeaponTemplate;
import com.l2jserver.model.world.capability.Attackable;

View File

@@ -1,16 +1,19 @@
package script.template.skill;
import com.l2jserver.model.id.template.factory.SkillTemplateIDFactory;
import com.l2jserver.model.template.SkillTemplate;
import com.l2jserver.model.world.capability.Castable;
import com.l2jserver.model.world.capability.Caster;
public class TestSkillTemplate extends SkillTemplate {
public TestSkillTemplate() {
super(null);
public static final int ID = 10;
public TestSkillTemplate(SkillTemplateIDFactory factory) {
super(factory.createID(ID));
}
@Override
public void cast(Caster caster, Castable target) {
public void cast(Caster caster, Castable... targets) {
// TODO do casting
}
}

View File

@@ -2,8 +2,8 @@ package com.l2jserver.db.dao;
import java.util.List;
import com.l2jserver.model.id.CharacterID;
import com.l2jserver.model.id.ID;
import com.l2jserver.model.id.object.CharacterID;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.service.cache.Cacheable;
import com.l2jserver.service.cache.IgnoreCaching;

View File

@@ -2,8 +2,8 @@ package com.l2jserver.db.dao;
import java.util.List;
import com.l2jserver.model.id.ClanID;
import com.l2jserver.model.id.ID;
import com.l2jserver.model.id.object.ClanID;
import com.l2jserver.model.world.Clan;
import com.l2jserver.service.cache.Cacheable;
import com.l2jserver.service.cache.IgnoreCaching;

View File

@@ -3,7 +3,7 @@ package com.l2jserver.db.dao;
import java.util.List;
import com.l2jserver.model.id.ID;
import com.l2jserver.model.id.ItemID;
import com.l2jserver.model.id.object.ItemID;
import com.l2jserver.model.world.Item;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.service.cache.Cacheable;

View File

@@ -3,7 +3,7 @@ package com.l2jserver.db.dao;
import java.util.List;
import com.l2jserver.model.id.ID;
import com.l2jserver.model.id.PetID;
import com.l2jserver.model.id.object.PetID;
import com.l2jserver.model.world.Pet;
import com.l2jserver.service.cache.Cacheable;
import com.l2jserver.service.cache.IgnoreCaching;

View File

@@ -7,8 +7,8 @@ import java.util.List;
import com.google.inject.Inject;
import com.l2jserver.db.dao.CharacterDAO;
import com.l2jserver.model.id.CharacterID;
import com.l2jserver.model.id.factory.CharacterIDFactory;
import com.l2jserver.model.id.object.CharacterID;
import com.l2jserver.model.id.object.factory.CharacterIDFactory;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.service.database.DatabaseService;
import com.l2jserver.service.database.MySQLDatabaseService.Mapper;

View File

@@ -7,9 +7,9 @@ import java.util.List;
import com.google.inject.Inject;
import com.l2jserver.db.dao.ItemDAO;
import com.l2jserver.model.id.ItemID;
import com.l2jserver.model.id.factory.CharacterIDFactory;
import com.l2jserver.model.id.factory.ItemIDFactory;
import com.l2jserver.model.id.object.ItemID;
import com.l2jserver.model.id.object.factory.CharacterIDFactory;
import com.l2jserver.model.id.object.factory.ItemIDFactory;
import com.l2jserver.model.world.Item;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.model.world.character.CharacterInventory;

View File

@@ -6,7 +6,7 @@ import com.google.inject.Inject;
import com.l2jserver.game.net.Lineage2Connection;
import com.l2jserver.game.net.packet.AbstractClientPacket;
import com.l2jserver.game.net.packet.server.CharSelectionInfoPacket;
import com.l2jserver.model.id.factory.CharacterIDFactory;
import com.l2jserver.model.id.object.factory.CharacterIDFactory;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.service.game.world.WorldService;
import com.l2jserver.util.BufferUtil;

View File

@@ -1,5 +1,8 @@
package com.l2jserver.model.id;
import com.l2jserver.model.template.Template;
/**
* Templates IDs, different from {@link ObjectID}s, can be repeated and are
* defined in the template class.
@@ -7,8 +10,10 @@ package com.l2jserver.model.id;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public final class TemplateID extends ID {
public abstract class TemplateID<T extends Template> extends ID {
public TemplateID(int id) {
super(id);
}
public abstract T getTemplate();
}

View File

@@ -9,13 +9,6 @@ import com.l2jserver.model.id.ID;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*/
public interface IDFactory<T extends ID> {
/**
* Generated a new ID
*
* @return the new ID
*/
T createID();
/**
* Creates the ID object for an <b>EXISTING</b> ID.
*
@@ -23,12 +16,4 @@ public interface IDFactory<T extends ID> {
* @return
*/
T createID(int id);
/**
* Destroy this ID. Releases this value to be used once again.
*
* @param id
* the id to be destroyed.
*/
void destroy(T id);
}

View File

@@ -3,10 +3,14 @@ package com.l2jserver.model.id.factory;
import com.google.inject.AbstractModule;
import com.google.inject.Scopes;
import com.google.inject.assistedinject.FactoryModuleBuilder;
import com.l2jserver.model.id.allocator.BitSetIDAllocator;
import com.l2jserver.model.id.allocator.IDAllocator;
import com.l2jserver.model.id.factory.CharacterIDFactory.CharacterIDGuiceFactory;
import com.l2jserver.model.id.factory.ItemIDFactory.ItemIDGuiceFactory;
import com.l2jserver.model.id.object.allocator.BitSetIDAllocator;
import com.l2jserver.model.id.object.allocator.IDAllocator;
import com.l2jserver.model.id.object.factory.CharacterIDFactory;
import com.l2jserver.model.id.object.factory.CharacterIDFactory.CharacterIDGuiceFactory;
import com.l2jserver.model.id.object.factory.ItemIDFactory;
import com.l2jserver.model.id.object.factory.ItemIDFactory.ItemIDGuiceFactory;
import com.l2jserver.model.id.template.factory.ItemTemplateIDFactory;
import com.l2jserver.model.id.template.factory.SkillTemplateIDFactory;
public class IDFactoryModule extends AbstractModule {
@Override
@@ -14,6 +18,7 @@ public class IDFactoryModule extends AbstractModule {
bind(IDAllocator.class).to(BitSetIDAllocator.class)
.in(Scopes.SINGLETON);
// OBJECT IDS
bind(CharacterIDFactory.class).in(Scopes.SINGLETON);
install(new FactoryModuleBuilder().build(CharacterIDGuiceFactory.class));
@@ -25,5 +30,9 @@ public class IDFactoryModule extends AbstractModule {
//
// bind(PetIDFactory.class).in(Scopes.SINGLETON);
// install(new FactoryModuleBuilder().build(PetIDGuiceFactory.class));
// TEMPLATE IDS
install(new FactoryModuleBuilder().build(ItemTemplateIDFactory.class));
install(new FactoryModuleBuilder().build(SkillTemplateIDFactory.class));
}
}

View File

@@ -1,6 +0,0 @@
package com.l2jserver.model.id.factory;
import com.l2jserver.model.id.ObjectID;
public interface ObjectIDFactory<T extends ObjectID<?>> extends IDFactory<T> {
}

View File

@@ -1,8 +1,9 @@
package com.l2jserver.model.id;
package com.l2jserver.model.id.object;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
import com.l2jserver.db.dao.CharacterDAO;
import com.l2jserver.model.id.ObjectID;
import com.l2jserver.model.world.L2Character;
public final class CharacterID extends ObjectID<L2Character> {

View File

@@ -1,7 +1,8 @@
package com.l2jserver.model.id;
package com.l2jserver.model.id.object;
import com.google.inject.Inject;
import com.l2jserver.db.dao.ClanDAO;
import com.l2jserver.model.id.ObjectID;
import com.l2jserver.model.world.Clan;
public final class ClanID extends ObjectID<Clan> {

View File

@@ -1,8 +1,9 @@
package com.l2jserver.model.id;
package com.l2jserver.model.id.object;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
import com.l2jserver.db.dao.ItemDAO;
import com.l2jserver.model.id.ObjectID;
import com.l2jserver.model.world.Item;
public final class ItemID extends ObjectID<Item> {

View File

@@ -1,7 +1,8 @@
package com.l2jserver.model.id;
package com.l2jserver.model.id.object;
import com.google.inject.Inject;
import com.l2jserver.db.dao.PetDAO;
import com.l2jserver.model.id.ObjectID;
import com.l2jserver.model.world.Pet;
public final class PetID extends ObjectID<Pet> {

View File

@@ -1,4 +1,4 @@
package com.l2jserver.model.id.allocator;
package com.l2jserver.model.id.object.allocator;
import java.util.BitSet;
import java.util.concurrent.atomic.AtomicInteger;

View File

@@ -1,4 +1,4 @@
package com.l2jserver.model.id.allocator;
package com.l2jserver.model.id.object.allocator;
/**
* The ID allocator is used to alloc new ID and to release IDs that aren't used

View File

@@ -1,4 +1,4 @@
package com.l2jserver.model.id.allocator;
package com.l2jserver.model.id.object.allocator;
public class IDAllocatorException extends RuntimeException {
private static final long serialVersionUID = 111195059766878062L;

View File

@@ -1,9 +1,10 @@
package com.l2jserver.model.id.factory;
package com.l2jserver.model.id.object.factory;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
import com.l2jserver.model.id.CharacterID;
import com.l2jserver.model.id.allocator.IDAllocator;
import com.l2jserver.model.id.factory.IDFactory;
import com.l2jserver.model.id.object.CharacterID;
import com.l2jserver.model.id.object.allocator.IDAllocator;
/**
* {@link IDFactory} for {@link CharacterID}.

View File

@@ -1,9 +1,10 @@
package com.l2jserver.model.id.factory;
package com.l2jserver.model.id.object.factory;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
import com.l2jserver.model.id.ClanID;
import com.l2jserver.model.id.allocator.IDAllocator;
import com.l2jserver.model.id.factory.IDFactory;
import com.l2jserver.model.id.object.ClanID;
import com.l2jserver.model.id.object.allocator.IDAllocator;
/**
* {@link IDFactory} for {@link ClanID}.

View File

@@ -1,9 +1,10 @@
package com.l2jserver.model.id.factory;
package com.l2jserver.model.id.object.factory;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
import com.l2jserver.model.id.ItemID;
import com.l2jserver.model.id.allocator.IDAllocator;
import com.l2jserver.model.id.factory.IDFactory;
import com.l2jserver.model.id.object.ItemID;
import com.l2jserver.model.id.object.allocator.IDAllocator;
/**
* {@link IDFactory} for {@link ItemID}.

View File

@@ -0,0 +1,21 @@
package com.l2jserver.model.id.object.factory;
import com.l2jserver.model.id.ObjectID;
import com.l2jserver.model.id.factory.IDFactory;
public interface ObjectIDFactory<T extends ObjectID<?>> extends IDFactory<T> {
/**
* Generates a new ID
*
* @return the new ID
*/
T createID();
/**
* Destroy this ID. Releases this value to be used once again.
*
* @param id
* the id to be destroyed.
*/
void destroy(T id);
}

View File

@@ -1,9 +1,10 @@
package com.l2jserver.model.id.factory;
package com.l2jserver.model.id.object.factory;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
import com.l2jserver.model.id.PetID;
import com.l2jserver.model.id.allocator.IDAllocator;
import com.l2jserver.model.id.factory.IDFactory;
import com.l2jserver.model.id.object.PetID;
import com.l2jserver.model.id.object.allocator.IDAllocator;
/**
* {@link IDFactory} for {@link PetID}.

View File

@@ -0,0 +1,22 @@
package com.l2jserver.model.id.template;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
import com.l2jserver.model.id.TemplateID;
import com.l2jserver.model.template.ItemTemplate;
import com.l2jserver.service.game.template.TemplateService;
public class ItemTemplateID extends TemplateID<ItemTemplate> {
private final TemplateService templateService;
@Inject
protected ItemTemplateID(@Assisted int id, TemplateService templateService) {
super(id);
this.templateService = templateService;
}
@Override
public ItemTemplate getTemplate() {
return (ItemTemplate) templateService.getTemplate(this);
}
}

View File

@@ -0,0 +1,22 @@
package com.l2jserver.model.id.template;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
import com.l2jserver.model.id.TemplateID;
import com.l2jserver.model.template.SkillTemplate;
import com.l2jserver.service.game.template.TemplateService;
public class SkillTemplateID extends TemplateID<SkillTemplate> {
private final TemplateService templateService;
@Inject
public SkillTemplateID(@Assisted int id, TemplateService templateService) {
super(id);
this.templateService = templateService;
}
@Override
public SkillTemplate getTemplate() {
return (SkillTemplate) templateService.getTemplate(this);
}
}

View File

@@ -0,0 +1,7 @@
package com.l2jserver.model.id.template.factory;
import com.l2jserver.model.id.template.ItemTemplateID;
public interface ItemTemplateIDFactory extends
TemplateIDFactory<ItemTemplateID> {
}

View File

@@ -0,0 +1,7 @@
package com.l2jserver.model.id.template.factory;
import com.l2jserver.model.id.template.SkillTemplateID;
public interface SkillTemplateIDFactory extends
TemplateIDFactory<SkillTemplateID> {
}

View File

@@ -0,0 +1,8 @@
package com.l2jserver.model.id.template.factory;
import com.l2jserver.model.id.TemplateID;
import com.l2jserver.model.id.factory.IDFactory;
public interface TemplateIDFactory<T extends TemplateID<?>> extends
IDFactory<T> {
}

View File

@@ -3,15 +3,15 @@ package com.l2jserver.model.template;
import com.l2jserver.model.id.TemplateID;
public class AbstractTemplate implements Template {
private final TemplateID id;
private final TemplateID<?> id;
public AbstractTemplate(TemplateID id) {
public AbstractTemplate(TemplateID<?> id) {
super();
this.id = id;
}
@Override
public TemplateID getID() {
public TemplateID<?> getID() {
return id;
}
}

View File

@@ -1,12 +1,12 @@
package com.l2jserver.model.template;
import com.l2jserver.model.id.TemplateID;
import com.l2jserver.model.id.template.ItemTemplateID;
import com.l2jserver.model.template.capability.Defendable;
import com.l2jserver.model.template.capability.IncomingDamageIntercept;
public abstract class ArmorTemplate extends ItemTemplate implements Defendable,
IncomingDamageIntercept {
public ArmorTemplate(TemplateID id) {
public ArmorTemplate(ItemTemplateID id) {
super(id);
}
}

View File

@@ -1,11 +1,11 @@
package com.l2jserver.model.template;
import com.l2jserver.model.id.TemplateID;
import com.l2jserver.model.id.template.ItemTemplateID;
import com.l2jserver.model.template.capability.Consumable;
public abstract class ConsumableTemplate extends ItemTemplate implements
Consumable {
public ConsumableTemplate(TemplateID id) {
public ConsumableTemplate(ItemTemplateID id) {
super(id);
}
}

View File

@@ -1,9 +1,14 @@
package com.l2jserver.model.template;
import com.l2jserver.model.id.TemplateID;
import com.l2jserver.model.id.template.ItemTemplateID;
public abstract class ItemTemplate extends AbstractTemplate {
public ItemTemplate(TemplateID id) {
public ItemTemplate(ItemTemplateID id) {
super(id);
}
@Override
public ItemTemplateID getID() {
return (ItemTemplateID) super.getID();
}
}

View File

@@ -1,9 +1,9 @@
package com.l2jserver.model.template;
import com.l2jserver.model.id.TemplateID;
import com.l2jserver.model.id.template.ItemTemplateID;
public abstract class PotionTemplate extends ConsumableTemplate {
public PotionTemplate(TemplateID id) {
public PotionTemplate(ItemTemplateID id) {
super(id);
}
}

View File

@@ -1,11 +1,16 @@
package com.l2jserver.model.template;
import com.l2jserver.model.id.TemplateID;
import com.l2jserver.model.id.template.SkillTemplateID;
import com.l2jserver.model.template.capability.Castable;
public abstract class SkillTemplate extends AbstractTemplate implements
Castable {
public SkillTemplate(TemplateID id) {
public SkillTemplate(SkillTemplateID id) {
super(id);
}
@Override
public SkillTemplateID getID() {
return (SkillTemplateID) super.getID();
}
}

View File

@@ -3,5 +3,5 @@ package com.l2jserver.model.template;
import com.l2jserver.model.id.TemplateID;
public interface Template {
TemplateID getID();
TemplateID<?> getID();
}

View File

@@ -1,10 +1,10 @@
package com.l2jserver.model.template;
import com.l2jserver.model.id.TemplateID;
import com.l2jserver.model.id.template.ItemTemplateID;
import com.l2jserver.model.template.capability.Attackable;
public abstract class WeaponTemplate extends ItemTemplate implements Attackable {
public WeaponTemplate(TemplateID id) {
public WeaponTemplate(ItemTemplateID id) {
super(id);
}
}

View File

@@ -4,5 +4,5 @@ import com.l2jserver.model.world.capability.Caster;
public interface Castable extends TemplateCapability {
void cast(Caster caster,
com.l2jserver.model.world.capability.Castable target);
com.l2jserver.model.world.capability.Castable... targets);
}

View File

@@ -0,0 +1,13 @@
package com.l2jserver.model.template.capability;
import com.l2jserver.model.world.WorldObject;
/**
* Defines an template that can be stacked (i.e. more then one item per slot in
* the inventory)
*
* @author <a href="http://www.rogiel.com">Rogiel</a>
*/
public interface Stackable<T extends WorldObject> extends TemplateCapability {
void stack(T... object);
}

View File

@@ -2,8 +2,8 @@ package com.l2jserver.model.world;
import java.util.List;
import com.l2jserver.model.id.CharacterID;
import com.l2jserver.model.id.ClanID;
import com.l2jserver.model.id.object.CharacterID;
import com.l2jserver.model.id.object.ClanID;
import com.l2jserver.model.world.capability.Joinable;
import com.l2jserver.model.world.capability.Listenable;
import com.l2jserver.model.world.clan.ClanEvent;

View File

@@ -2,7 +2,7 @@ package com.l2jserver.model.world;
import java.util.List;
import com.l2jserver.model.id.CharacterID;
import com.l2jserver.model.id.object.CharacterID;
import com.l2jserver.model.world.capability.Listenable;
import com.l2jserver.model.world.capability.Playable;
import com.l2jserver.model.world.capability.Spawnable;

View File

@@ -2,9 +2,9 @@ package com.l2jserver.model.world;
import java.sql.Date;
import com.l2jserver.model.id.CharacterID;
import com.l2jserver.model.id.ClanID;
import com.l2jserver.model.id.PetID;
import com.l2jserver.model.id.object.CharacterID;
import com.l2jserver.model.id.object.ClanID;
import com.l2jserver.model.id.object.PetID;
import com.l2jserver.model.world.character.CharacterAppearance;
import com.l2jserver.model.world.character.CharacterInventory;

View File

@@ -2,8 +2,8 @@ package com.l2jserver.model.world;
import java.util.List;
import com.l2jserver.model.id.CharacterID;
import com.l2jserver.model.id.ClanID;
import com.l2jserver.model.id.object.CharacterID;
import com.l2jserver.model.id.object.ClanID;
import com.l2jserver.model.world.capability.Joinable;
import com.l2jserver.model.world.capability.Listenable;
import com.l2jserver.model.world.party.PartyEvent;

View File

@@ -1,6 +1,6 @@
package com.l2jserver.model.world;
import com.l2jserver.model.id.CharacterID;
import com.l2jserver.model.id.object.CharacterID;
import com.l2jserver.model.world.capability.Summonable;
import com.l2jserver.util.Coordinate;

View File

@@ -3,7 +3,7 @@ package com.l2jserver.model.world.character;
import java.util.Iterator;
import java.util.Set;
import com.l2jserver.model.id.CharacterID;
import com.l2jserver.model.id.object.CharacterID;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.util.factory.CollectionFactory;

View File

@@ -4,7 +4,7 @@ import java.util.Iterator;
import java.util.List;
import java.util.Set;
import com.l2jserver.model.id.CharacterID;
import com.l2jserver.model.id.object.CharacterID;
import com.l2jserver.model.world.Clan;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.util.factory.CollectionFactory;

View File

@@ -51,8 +51,9 @@ public class StaticTemplateService extends AbstractService implements
}
@Override
public Template getTemplate(TemplateID id) {
return templates.get(id);
@SuppressWarnings("unchecked")
public <T extends Template> T getTemplate(TemplateID<T> id) {
return (T) templates.get(id);
}
public void addTemplate(Class<? extends Template> t) {

View File

@@ -8,11 +8,13 @@ public interface TemplateService extends Service {
/**
* Get the template assigned with <tt>id</tt>
*
* @param <T>
* the template type
* @param id
* the template id
* @return the template matching the id
* @return the template
*/
Template getTemplate(TemplateID id);
<T extends Template> T getTemplate(TemplateID<T> id);
/**
* Reload the template list.

View File

@@ -6,6 +6,10 @@ import static junit.framework.Assert.assertFalse;
import org.junit.Before;
import org.junit.Test;
import com.l2jserver.model.id.object.allocator.BitSetIDAllocator;
import com.l2jserver.model.id.object.allocator.IDAllocator;
import com.l2jserver.model.id.object.allocator.IDAllocatorException;
public class BitSetIDAllocatorTest {
private final BitSetIDAllocator allocator = new BitSetIDAllocator();

View File

@@ -8,8 +8,9 @@ import org.junit.Test;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.l2jserver.db.dao.DAOModuleMySQL5;
import com.l2jserver.model.id.CharacterID;
import com.l2jserver.model.id.ID;
import com.l2jserver.model.id.object.CharacterID;
import com.l2jserver.model.id.object.factory.CharacterIDFactory;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.service.BasicServiceModule;
import com.l2jserver.service.ServiceStartException;

View File

@@ -8,14 +8,17 @@ import com.google.inject.AbstractModule;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Scopes;
import com.l2jserver.db.dao.DAOModuleMySQL5;
import com.l2jserver.model.id.factory.IDFactoryModule;
import com.l2jserver.model.id.template.factory.ItemTemplateIDFactory;
import com.l2jserver.service.BasicServiceModule;
import com.l2jserver.service.ServiceStartException;
import com.l2jserver.service.game.scripting.ScriptingService;
import com.l2jserver.service.game.scripting.ScriptingServiceImpl;
public class StaticTemplateServiceTest {
private final Injector injector = Guice
.createInjector(new BasicServiceModule(), new AbstractModule() {
private final Injector injector = Guice.createInjector(
new BasicServiceModule(), new IDFactoryModule(), new DAOModuleMySQL5(), new AbstractModule() {
@Override
protected void configure() {
bind(ScriptingService.class).to(ScriptingServiceImpl.class)
@@ -26,10 +29,12 @@ public class StaticTemplateServiceTest {
});
private final TemplateService service = injector
.getInstance(TemplateService.class);
private final ItemTemplateIDFactory factory = injector
.getInstance(ItemTemplateIDFactory.class);
@Test
public void testAdena() throws ServiceStartException {
service.start();
System.out.println(service.getTemplate(AdenaItemTemplate.ID));
System.out.println(factory.createID(AdenaItemTemplate.ID).getTemplate());
}
}

View File

@@ -13,9 +13,9 @@ import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Scopes;
import com.l2jserver.db.dao.DAOModuleMySQL5;
import com.l2jserver.model.id.factory.CharacterIDFactory;
import com.l2jserver.model.id.factory.IDFactoryModule;
import com.l2jserver.model.id.factory.ItemIDFactory;
import com.l2jserver.model.id.object.factory.CharacterIDFactory;
import com.l2jserver.model.id.object.factory.ItemIDFactory;
import com.l2jserver.model.world.Item;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.model.world.item.ItemDropEvent;