Add Maven !
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
<?xml version="1.0"?>
|
||||
<project
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
|
||||
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<parent>
|
||||
<groupId>net.jitse</groupId>
|
||||
<artifactId>npclib</artifactId>
|
||||
<version>1.0.4</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>npclib-plugin</artifactId>
|
||||
|
||||
<build>
|
||||
<finalName>NPCLib</finalName>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>src/main/resources</directory>
|
||||
<filtering>true</filtering>
|
||||
</resource>
|
||||
</resources>
|
||||
</build>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>${project.parent.groupId}</groupId>
|
||||
<artifactId>npclib-api</artifactId>
|
||||
<version>${project.parent.version}</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
@@ -0,0 +1,64 @@
|
||||
/*
|
||||
* Copyright (c) 2018 Jitse Boonstra
|
||||
*/
|
||||
|
||||
package net.jitse.npclib.plugin;
|
||||
|
||||
import net.jitse.npclib.NPCLib;
|
||||
import net.jitse.npclib.api.NPC;
|
||||
import net.jitse.npclib.plugin.listeners.NPCListener;
|
||||
import net.jitse.npclib.skin.MineSkinFetcher;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerToggleSneakEvent;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* @author Jitse Boonstra
|
||||
*/
|
||||
public class NPCLibPlugin extends JavaPlugin implements Listener {
|
||||
|
||||
private NPCLib npcLib;
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
this.npcLib = new NPCLib(this);
|
||||
getServer().getConsoleSender().sendMessage(ChatColor.BLUE + "[NPCLib] " + ChatColor.WHITE + "plugin enabled.");
|
||||
getServer().getConsoleSender().sendMessage(ChatColor.BLUE + "[NPCLib] " +
|
||||
ChatColor.GRAY + "This is a test plugin usually used for development reasons. " +
|
||||
"You can spawn NPCs by pressing [shift] in game.");
|
||||
|
||||
|
||||
getServer().getPluginManager().registerEvents(this, this);
|
||||
getServer().getPluginManager().registerEvents(new NPCListener(), this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
getServer().getConsoleSender().sendMessage(ChatColor.BLUE + "[NPCLib] " + ChatColor.WHITE + "plugin disabled.");
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onPlayerShift(PlayerToggleSneakEvent event) {
|
||||
if (event.isSneaking()) {
|
||||
return;
|
||||
}
|
||||
|
||||
MineSkinFetcher.fetchSkinFromIdAsync(168841, skin -> {
|
||||
NPC npc = npcLib.createNPC(skin, Arrays.asList(
|
||||
ChatColor.BOLD + "NPC Library", "",
|
||||
"Create your own", "non-player characters",
|
||||
"with the simplistic", "API of NPCLib!"
|
||||
));
|
||||
npc.create(event.getPlayer().getLocation());
|
||||
|
||||
for (Player player : getServer().getOnlinePlayers()) {
|
||||
npc.show(player);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
/*
|
||||
* Copyright (c) 2018 Jitse Boonstra
|
||||
*/
|
||||
|
||||
package net.jitse.npclib.plugin.listeners;
|
||||
|
||||
import net.jitse.npclib.events.NPCDestroyEvent;
|
||||
import net.jitse.npclib.events.NPCInteractEvent;
|
||||
import net.jitse.npclib.events.NPCSpawnEvent;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
|
||||
/**
|
||||
* @author Jitse Boonstra
|
||||
*/
|
||||
public class NPCListener implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onNPCSpawn(NPCSpawnEvent event) {
|
||||
event.getPlayer().sendMessage(ChatColor.GREEN + "Spawned NPC " + event.getNPC().getEntityId());
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onNPCDestroy(NPCDestroyEvent event) {
|
||||
event.getPlayer().sendMessage(ChatColor.RED + "Destroyed NPC " + event.getNPC().getEntityId());
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onNPCInteract(NPCInteractEvent event) {
|
||||
event.getWhoClicked().sendMessage(ChatColor.BLUE + "Interacted with NPC "
|
||||
+ event.getNPC().getEntityId() + " type " + event.getClickType());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
name: NPCLib
|
||||
version: 1.0.4
|
||||
author: JitseB
|
||||
main: net.jitse.npclib.plugin.NPCLibPlugin
|
||||
description: An NPC library.
|
||||
Reference in New Issue
Block a user