Init!!!
Works well so far. Stealing lives still not impl'ed
This commit is contained in:
commit
7bdcfd890b
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5">
|
||||
<attributes>
|
||||
<attribute name="module" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="lib" path="/home/thetechrobo/BT/Spigot/Spigot-API/target/spigot-api-1.18.1-R0.1-SNAPSHOT-shaded.jar"/>
|
||||
<classpathentry kind="lib" path="/home/thetechrobo/json-simple-1.1.jar"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
|
@ -0,0 +1 @@
|
|||
bin/
|
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>lifesteal-mc</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
|
@ -0,0 +1,14 @@
|
|||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
|
||||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
|
||||
org.eclipse.jdt.core.compiler.compliance=1.5
|
||||
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
|
||||
org.eclipse.jdt.core.compiler.debug.localVariable=generate
|
||||
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
|
||||
org.eclipse.jdt.core.compiler.release=disabled
|
||||
org.eclipse.jdt.core.compiler.source=1.5
|
|
@ -0,0 +1,4 @@
|
|||
name: Lifesteal
|
||||
main: ca.thetechrobo.smp.LifestealPlugin
|
||||
version: 1.0
|
||||
api-version: 1.13
|
|
@ -0,0 +1,24 @@
|
|||
package ca.thetechrobo.smp;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.PlayerDeathEvent;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
|
||||
public class DeathListener implements Listener {
|
||||
private ScoreboardWrapper scores;
|
||||
@EventHandler
|
||||
public void onDeath(PlayerDeathEvent e) {
|
||||
Bukkit.broadcastMessage("It Works!");
|
||||
this.scores.die(e.getEntity(), e.getEntity().getKiller());
|
||||
}
|
||||
@EventHandler
|
||||
public void onPlayerJoin(PlayerJoinEvent e) {
|
||||
this.scores.addPlayerToScoreboard(e);
|
||||
}
|
||||
public void initialise() {
|
||||
this.scores = new ScoreboardWrapper();
|
||||
this.scores.initialise();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
package ca.thetechrobo.smp;
|
||||
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
public class Life {
|
||||
public ItemStack item;
|
||||
|
||||
public void create() {
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
package ca.thetechrobo.smp;
|
||||
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
public class LifestealPlugin extends JavaPlugin {
|
||||
@Override
|
||||
public void onEnable() {
|
||||
DeathListener dl = new DeathListener();
|
||||
dl.initialise();
|
||||
getServer().getPluginManager().registerEvents(dl, this);
|
||||
}
|
||||
@Override
|
||||
public void onDisable() {
|
||||
}
|
||||
}
|
|
@ -0,0 +1,54 @@
|
|||
package ca.thetechrobo.smp;
|
||||
|
||||
import org.bukkit.BanList.Type;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
import org.bukkit.scoreboard.DisplaySlot;
|
||||
import org.bukkit.scoreboard.Objective;
|
||||
import org.bukkit.scoreboard.Score;
|
||||
import org.bukkit.scoreboard.Scoreboard;
|
||||
import org.bukkit.scoreboard.ScoreboardManager;
|
||||
|
||||
public class ScoreboardWrapper {
|
||||
private ScoreboardManager manager;
|
||||
private HashMap<String, Scoreboard> boards;
|
||||
|
||||
public void initialise () {
|
||||
this.manager = Bukkit.getScoreboardManager();
|
||||
this.boards = new HashMap<String, Scoreboard>();
|
||||
}
|
||||
public void addPlayerToScoreboard(PlayerJoinEvent e) {
|
||||
Player p = e.getPlayer();
|
||||
Scoreboard temp = this.manager.getNewScoreboard();
|
||||
Objective lives = temp.registerNewObjective("lives", "dummy", "Lives");
|
||||
lives.setDisplaySlot(DisplaySlot.SIDEBAR);
|
||||
Score score = lives.getScore(p.getName());
|
||||
this.boards.put(p.getName(), temp);
|
||||
Bukkit.broadcastMessage("It Works!");
|
||||
score.setScore(1);
|
||||
p.setScoreboard(this.boards.get(p.getName()));
|
||||
}
|
||||
public byte die(Player p, Player k) {
|
||||
Scoreboard board = this.boards.get(p.getName());
|
||||
Objective lives = board.getObjective("lives");
|
||||
Score score = lives.getScore(p);
|
||||
int curscore = score.getScore();
|
||||
score.setScore(curscore - 1);
|
||||
if (curscore - 1 == 0) {
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.setTime(new Date());
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 5);
|
||||
Date date = calendar.getTime();
|
||||
Bukkit.getBanList(Type.NAME).addBan(p.getName(), "Ran out of lives.", date, null);
|
||||
p.kickPlayer("Ran out of lives.");
|
||||
}
|
||||
|
||||
return (byte) score.getScore();
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue