From 7a497cd2b09cb74628f79459200a1e53a9a94dff Mon Sep 17 00:00:00 2001 From: nossr50 Date: Fri, 14 Jan 2011 15:26:48 -0800 Subject: [PATCH] Small plugin for bukkit I wrote to learn bukkit/eclipse. --- vPlayersOnline/.classpath | 7 ++ vPlayersOnline/.project | 17 +++++ .../.settings/org.eclipse.jdt.core.prefs | 12 ++++ .../vPlayersOnline/POBlockListener.class | Bin 0 -> 517 bytes .../vPlayersOnline/POPlayerListener.class | Bin 0 -> 1552 bytes .../vPlayersOnline/vPlayersOnline.class | Bin 0 -> 3578 bytes vPlayersOnline/bin/plugin.yml | 3 + .../vPlayersOnline/POBlockListener.java | 18 +++++ .../vPlayersOnline/POPlayerListener.java | 29 ++++++++ .../vPlayersOnline/vPlayersOnline.java | 66 ++++++++++++++++++ vPlayersOnline/src/plugin.yml | 3 + 11 files changed, 155 insertions(+) create mode 100644 vPlayersOnline/.classpath create mode 100644 vPlayersOnline/.project create mode 100644 vPlayersOnline/.settings/org.eclipse.jdt.core.prefs create mode 100644 vPlayersOnline/bin/com/bukkit/nossr50/vPlayersOnline/POBlockListener.class create mode 100644 vPlayersOnline/bin/com/bukkit/nossr50/vPlayersOnline/POPlayerListener.class create mode 100644 vPlayersOnline/bin/com/bukkit/nossr50/vPlayersOnline/vPlayersOnline.class create mode 100644 vPlayersOnline/bin/plugin.yml create mode 100644 vPlayersOnline/src/com/bukkit/nossr50/vPlayersOnline/POBlockListener.java create mode 100644 vPlayersOnline/src/com/bukkit/nossr50/vPlayersOnline/POPlayerListener.java create mode 100644 vPlayersOnline/src/com/bukkit/nossr50/vPlayersOnline/vPlayersOnline.java create mode 100644 vPlayersOnline/src/plugin.yml diff --git a/vPlayersOnline/.classpath b/vPlayersOnline/.classpath new file mode 100644 index 000000000..c7455396a --- /dev/null +++ b/vPlayersOnline/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/vPlayersOnline/.project b/vPlayersOnline/.project new file mode 100644 index 000000000..da7ce996e --- /dev/null +++ b/vPlayersOnline/.project @@ -0,0 +1,17 @@ + + + vPlayersOnline + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/vPlayersOnline/.settings/org.eclipse.jdt.core.prefs b/vPlayersOnline/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..2da750d8b --- /dev/null +++ b/vPlayersOnline/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,12 @@ +#Fri Jan 14 13:46:19 PST 2011 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.6 +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.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/vPlayersOnline/bin/com/bukkit/nossr50/vPlayersOnline/POBlockListener.class b/vPlayersOnline/bin/com/bukkit/nossr50/vPlayersOnline/POBlockListener.class new file mode 100644 index 0000000000000000000000000000000000000000..d198c650284c3d98bc52448ae3d43ebbc02fb5e6 GIT binary patch literal 517 zcmb7B%TB{E5S&dzLqpo~DBO`av>*{E>IuXFq@E&L3DkQMtYVVd$azS776*jHfe+xL z5Ss#r_5#?lwKLwCUEA*;uWtbQ*mhtMj$=LZqasOU?kk;TW^m+}<1~B}CL5_#D&dbu z7pabuKxVm6!Z@%Ad)iEYWTF%*_oFJuU&tiXAJSqf6`>#eUT3lFDXY( zHzC-U`c}B8VaT4bmcf86>gV7KcPr%)O;dStg l<`W|eZQfgRWfL|>4QAGv+xg1I2K!aRox2jdZ85UY`2>GLg-8GZ literal 0 HcmV?d00001 diff --git a/vPlayersOnline/bin/com/bukkit/nossr50/vPlayersOnline/POPlayerListener.class b/vPlayersOnline/bin/com/bukkit/nossr50/vPlayersOnline/POPlayerListener.class new file mode 100644 index 0000000000000000000000000000000000000000..4bede3748e437fab318299e122c8f8ad0d2dba62 GIT binary patch literal 1552 zcmb7E+fvj(5IwWE*-H>uSS|vJAeaakL|BytR8SOH&~hoNET6(MwM5orE6Gy&&X4%y zvsJnlTEz$WG5QB$PqJFeMTLi%q$k~dPWSZ5x1V1Q08C(wBg8OKv|sC+)tw#F(=FR| zovCqs_gUF^D;)Q!RW>c5KYJS3dDHcTB^-_j!?5j?e#ePjVR?GR57LkNGQ=w7YRR++ zDgS?{qsTdmo-r-cn`4+#&mXRBFhmyYEs;bRDFqw~Ls-=|5@5KXAc`16bDnBktG?b8 z&bqN#77XdUT{OxYhGR;*ei-q#O_yQv3@ncKi^_ zg>wQUIL@Uoh#`)v46O~+gO3V^agCvchz8>p@S;|CsM^a@2yRUBu!0!CD2H}?TbVLWo4S%3}dGO{WYD8ysKaua!fosD2Jh)ZtDcy6lQUcgXGZI z$e?2i?#n7uE>*B9T-PYkutj}oG7L2~@)WrSL*|QBDxaaPF`zyw47^@6(L3#G7}y(H zOQbrwfeJ%Y!83|Gt475a5yv83PQk7^MX_i~rDcvw<%TR7S4f^=`bUuzrAFy3MDHAN z+7o0gk{zOF^7?05BcIUp!S`vV{emCaj0jrDx0QCFBk(3GO%}zWjj|F`v?Ei``JEzU z?!rh79jn(rqN#@7eGD+Hg|m^d7t`^BEDvX6@6pm7&%`FCqk9py7h{=NhQB-fG5Qti zi!|{W%|vR@)3<7vs^QK)WogA|qD^xNW ND}X}D^5hi4>MyCcirWAH literal 0 HcmV?d00001 diff --git a/vPlayersOnline/bin/com/bukkit/nossr50/vPlayersOnline/vPlayersOnline.class b/vPlayersOnline/bin/com/bukkit/nossr50/vPlayersOnline/vPlayersOnline.class new file mode 100644 index 0000000000000000000000000000000000000000..ebafd2c071b4a070d5e36df46f8afbd47772db56 GIT binary patch literal 3578 zcmb7GXLl1v6uslZ+F~&vgNZ4@4g_2PQ3F8^y(43T!Ng7>D`^pn-V-MR0*J8$NnfB*Okz)D=uP$959;|wO!rGWv< zOW01a=&o6w80yX&!=_v8vh$X0j_GQs5@>eZT-mCSFXb#daoiX(5_|aRR(*lGfZcDDaEzqS^2~+ zqj;>-C~!e-kCn3xujHBn$?+>XQX!Xpj=`$DVdoNC94BuYc5(xes%&GBAaNf=P4{@N zW#^fZFw66PPT-31flmM zo^p(==_bSTJ*G>n$WX*&n_0}bR>9+DJFL7JIAl4AP*3sSnm3BYV1w3Py13QJnlV(O zQO8U)XqY3g^47B(!)(lx2)7HYX}O8KMnjcs?X87Cla6Xk(r|~siksmOkwy&7m?u&0 z)S;n9!(xHy$y)5hZVkHx=7f;VA=CB}+vRuR!Qq0b zV-NNUOzuu??%RIg$eym<`vm5Nqc+xpz@6yQz;*Ml1KjOej%#_tI=Zo+f!*i0gGQcZ z^?JBvgXCoN;E;xcQS6EQ)6t8=EI6*2lNH!iE(r`p3dlI_;|Y`tZ={NZ?MAtUZ6l1- zIo*jq9sS{0?mx8qpcKRXIv&7-loj(BQk_8i|70<=P!+3MJcP6cgK|)(*Dt%n^n6f9 z23ek4r{qy(quM2J+hbuijlrabqXM%+hN@m~DOq`z)EJK8xCTpLaVVb=567_4F#x7h zqeJ`DT`+^5j73kzV56YHiBeWO>v$NHu{I=ci7s+m)Dp7qN*^~fUUEW66P~P7C3&7g zCcy>N+FOGYJa$dN71I=h3Ci$MJVqHBg@S1_QcEYY90wLehi)9h6FQ!h9>?f$Z~69m znuV*$DmIzw*k_yNUeD@yPA;tR9G_AQ&*Mc6FR)Ij0I{fq5~JfK>55j6xysuD6@|eu z$0U-6^4XRq*`rbzbk?!ASw&fSYVZbCw$pL4>0z_!gyZJ3%{4hK`;QIvgi!ZUzbel1%{Hdo2mDzEdORaDz?V*N8|g)P)<(UaHIdi-t-W&F zZ>1Q&lac8UE3W+Fk&*d9$B+1lR0{HltqaR1a4V#qa*W0g2~;b=3kZ4?>v2kM#`Kd| zAHDgPNv$vvyKTNK)jeYtHJl^K&bR|xUKCfX7{yS z!rY6P&vvtHFSv+>Y%l7&gqDkFKc~Q#^4mZ_U=FvhC*TY$Aowyg@dsX-3K|J4XOEj; z1z++)wN_y@>B_M+xJ$W~z*?+Bl^VMn>lM)?+5)0~vM&R0yln&>SFlOoJa)8Q!2I(_ zwOzr1YJ?{4op>U}CHHln$C0Zr`<9F#cNv41P>c_a;1PBo=U@COen#-j2u@z}aklbf zF+SR;{2vYzH`pv_f3ue0SeyFfdBvi literal 0 HcmV?d00001 diff --git a/vPlayersOnline/bin/plugin.yml b/vPlayersOnline/bin/plugin.yml new file mode 100644 index 000000000..d4cb22bd1 --- /dev/null +++ b/vPlayersOnline/bin/plugin.yml @@ -0,0 +1,3 @@ +name: PlayersOnline +main: com.bukkit.nossr50.vPlayersOnline.vPlayersOnline +version: 1.0 \ No newline at end of file diff --git a/vPlayersOnline/src/com/bukkit/nossr50/vPlayersOnline/POBlockListener.java b/vPlayersOnline/src/com/bukkit/nossr50/vPlayersOnline/POBlockListener.java new file mode 100644 index 000000000..1e6ef1fa6 --- /dev/null +++ b/vPlayersOnline/src/com/bukkit/nossr50/vPlayersOnline/POBlockListener.java @@ -0,0 +1,18 @@ +package com.bukkit.nossr50.vPlayersOnline; + +import org.bukkit.event.block.BlockListener; + + +/** + * vPlayersOnline block listener + * @author nossr50 + */ +public class POBlockListener extends BlockListener { + private final vPlayersOnline plugin; + + public POBlockListener(final vPlayersOnline plugin) { + this.plugin = plugin; + } + + //put all Block related code here +} diff --git a/vPlayersOnline/src/com/bukkit/nossr50/vPlayersOnline/POPlayerListener.java b/vPlayersOnline/src/com/bukkit/nossr50/vPlayersOnline/POPlayerListener.java new file mode 100644 index 000000000..15bed9851 --- /dev/null +++ b/vPlayersOnline/src/com/bukkit/nossr50/vPlayersOnline/POPlayerListener.java @@ -0,0 +1,29 @@ +package com.bukkit.nossr50.vPlayersOnline; + +import org.bukkit.Player; +import org.bukkit.Color; +import org.bukkit.event.player.PlayerEvent; +import org.bukkit.event.player.PlayerListener; + +/** + * Handle events for all Player related events + * @author nossr50 + */ +public class POPlayerListener extends PlayerListener { + private final vPlayersOnline plugin; + + public POPlayerListener(vPlayersOnline instance) { + this.plugin = instance; + } + + //Insert Player related code here + public void onPlayerJoin(PlayerEvent event) { + Player player = event.getPlayer(); + Player players[] = plugin.getServer().getOnlinePlayers(); + int x = 0; + for(Player herp: players){ + x++; + } + player.sendMessage("There are " + x + " players online"); + } + } \ No newline at end of file diff --git a/vPlayersOnline/src/com/bukkit/nossr50/vPlayersOnline/vPlayersOnline.java b/vPlayersOnline/src/com/bukkit/nossr50/vPlayersOnline/vPlayersOnline.java new file mode 100644 index 000000000..44861b655 --- /dev/null +++ b/vPlayersOnline/src/com/bukkit/nossr50/vPlayersOnline/vPlayersOnline.java @@ -0,0 +1,66 @@ +package com.bukkit.nossr50.vPlayersOnline; +import java.io.File; +import java.util.HashMap; +import org.bukkit.Player; +import org.bukkit.Server; +import org.bukkit.event.Event.Priority; +import org.bukkit.event.Event; +import org.bukkit.plugin.PluginDescriptionFile; +import org.bukkit.plugin.PluginLoader; +import org.bukkit.plugin.java.JavaPlugin; +import org.bukkit.plugin.PluginManager; + +/** + * PlayersOnline for Bukkit + * + * @author nossr50 + */ +public class vPlayersOnline extends JavaPlugin { + private final POPlayerListener playerListener = new POPlayerListener(this); + private final POBlockListener blockListener = new POBlockListener(this); + private final HashMap debugees = new HashMap(); + public final static String name = "vPlayersOnline"; + public final static String version = "1.0"; + + + public vPlayersOnline(PluginLoader pluginLoader, Server instance, PluginDescriptionFile desc, File plugin, ClassLoader cLoader) { + super(pluginLoader, instance, desc, plugin, cLoader); + + // TODO: Place any custom initialization code here + + // NOTE: Event registration should be done in onEnable not here as all events are unregistered when a plugin is disabled + } + + + + public void onEnable() { + // TODO: Place any custom enable code here including the registration of any events + // Register our events + getServer().getPluginManager().registerEvent(Event.Type.PLAYER_JOIN, playerListener, Priority.Normal, this); + getServer().getPluginManager().registerEvent(Event.Type.PLAYER_QUIT, playerListener, Priority.Normal, this); + PluginManager pm = getServer().getPluginManager(); + // EXAMPLE: Custom code, here we just output some info so we can check all is well + PluginDescriptionFile pdfFile = this.getDescription(); + System.out.println( pdfFile.getName() + " version " + pdfFile.getVersion() + " is enabled!" ); + } + public void onDisable() { + // TODO: Place any custom disable code here + + // NOTE: All registered events are automatically unregistered when a plugin is disabled + + // EXAMPLE: Custom code, here we just output some info so we can check all is well + System.out.println("Goodbye world!"); + } + public boolean isDebugging(final Player player) { + if (debugees.containsKey(player)) { + return debugees.get(player); + } else { + return false; + } + } + + public void setDebugging(final Player player, final boolean value) { + debugees.put(player, value); + } +} + diff --git a/vPlayersOnline/src/plugin.yml b/vPlayersOnline/src/plugin.yml new file mode 100644 index 000000000..d4cb22bd1 --- /dev/null +++ b/vPlayersOnline/src/plugin.yml @@ -0,0 +1,3 @@ +name: PlayersOnline +main: com.bukkit.nossr50.vPlayersOnline.vPlayersOnline +version: 1.0 \ No newline at end of file