public void spawn(int npcId, int X, int Y, int H, short Map) { L1Npc l1npc = NpcTable.getInstance().getTemplate(npcId); if (l1npc != null) { L1NpcInstance mob = null; try { String implementationName = l1npc.getImpl(); Constructor<?> _constructor = Class.forName( (new StringBuilder()) .append("l1j.server.server.model.Instance.") .append(implementationName) .append("Instance") .toString()) .getConstructors()[0]; mob = (L1NpcInstance) _constructor.newInstance(new Object[] {l1npc}); mob.setId(IdFactory.getInstance().nextId()); mob.setX(X); mob.setY(Y); mob.setHomeX(X); mob.setHomeY(Y); mob.setMap(Map); mob.setHeading(H); L1World.getInstance().storeObject(mob); L1World.getInstance().addVisibleObject(mob); L1Object object = L1World.getInstance().findObject(mob.getId()); L1QuestInstance newnpc = (L1QuestInstance) object; newnpc.onNpcAI(); newnpc.turnOnOffLight(); newnpc.startChat(L1NpcInstance.CHAT_TIMING_APPEARANCE); // チャット開始 } catch (Exception e) { e.printStackTrace(); } } }