mirror of
https://github.com/KAMKEEL/CustomNPC-Plus.git
synced 2026-11-11 21:57:40 +00:00
Added handler support to NPC API.
This commit is contained in:
1 parent
69f96519dc
commit
d50f51e208
40 files changed
+1471
-56
No files matched your search
@@ -29,15 +29,20 @@ import noppes.npcs.scripted.NpcAPI;
|
||||
import noppes.npcs.scripted.ScriptItemStack;
|
||||
import noppes.npcs.scripted.ScriptPixelmonPlayerData;
|
||||
import noppes.npcs.scripted.constants.EntityType;
|
||||
import noppes.npcs.scripted.handler.data.IQuest;
|
||||
import noppes.npcs.scripted.interfaces.IPlayer;
|
||||
import noppes.npcs.scripted.interfaces.ITimers;
|
||||
import noppes.npcs.util.ValueUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
public class ScriptPlayer<T extends EntityPlayerMP> extends ScriptLivingBase<T> implements IPlayer {
|
||||
public T player;
|
||||
private PlayerData data;
|
||||
|
||||
public ScriptPlayer(T player){
|
||||
super(player);
|
||||
this.player = player;
|
||||
@@ -388,6 +393,12 @@ public class ScriptPlayer<T extends EntityPlayerMP> extends ScriptLivingBase<T>
|
||||
return data.getGUIOpen();
|
||||
}
|
||||
|
||||
public void checkQuestCompleted() {
|
||||
PlayerQuestData playerdata = PlayerDataController.instance.getPlayerData(player).questData;
|
||||
for(EnumQuestType e : EnumQuestType.values())
|
||||
playerdata.checkQuestCompletion((EntityPlayer)this.entity, e);
|
||||
}
|
||||
|
||||
public ScriptDBCPlayer<T> getDBCPlayer() {
|
||||
Set keySet = player.getEntityData().getCompoundTag("PlayerPersisted").func_150296_c();
|
||||
Iterator iterator = keySet.iterator();
|
||||
@@ -404,4 +415,44 @@ public class ScriptPlayer<T extends EntityPlayerMP> extends ScriptLivingBase<T>
|
||||
public boolean blocking() {
|
||||
return player.isBlocking();
|
||||
}
|
||||
|
||||
private PlayerData getData() {
|
||||
if (this.data == null) {
|
||||
this.data = PlayerDataController.instance.getPlayerData(player);
|
||||
}
|
||||
|
||||
return this.data;
|
||||
}
|
||||
|
||||
public IQuest[] getActiveQuests() {
|
||||
PlayerQuestData data = this.getData().questData;
|
||||
List<IQuest> quests = new ArrayList();
|
||||
Iterator var3 = data.activeQuests.keySet().iterator();
|
||||
|
||||
while(var3.hasNext()) {
|
||||
int id = (Integer)var3.next();
|
||||
IQuest quest = (IQuest)QuestController.instance.quests.get(id);
|
||||
if (quest != null) {
|
||||
quests.add(quest);
|
||||
}
|
||||
}
|
||||
|
||||
return (IQuest[])quests.toArray(new IQuest[quests.size()]);
|
||||
}
|
||||
|
||||
public IQuest[] getFinishedQuests() {
|
||||
PlayerQuestData data = this.getData().questData;
|
||||
List<IQuest> quests = new ArrayList();
|
||||
Iterator var3 = data.finishedQuests.keySet().iterator();
|
||||
|
||||
while(var3.hasNext()) {
|
||||
int id = (Integer)var3.next();
|
||||
IQuest quest = (IQuest)QuestController.instance.quests.get(id);
|
||||
if (quest != null) {
|
||||
quests.add(quest);
|
||||
}
|
||||
}
|
||||
|
||||
return (IQuest[])quests.toArray(new IQuest[quests.size()]);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user