Skip to content

Instantly share code, notes, and snippets.

@pocketjawa
Created August 19, 2013 19:48
Show Gist options
  • Save pocketjawa/6273232 to your computer and use it in GitHub Desktop.
Save pocketjawa/6273232 to your computer and use it in GitHub Desktop.
A set of tools for Bukkit Servers
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AntConfiguration">
<defaultAnt bundledAnt="true" />
</component>
</project>
<component name="ArtifactManager">
<artifact type="jar" build-on-make="true" name="servertools:jar">
<output-path>$PROJECT_DIR$/../../plugindev_server/plugins/update</output-path>
<root id="archive" name="servertools.jar">
<element id="module-output" name="servertools" />
<element id="file-copy" path="$PROJECT_DIR$/plugin.yml" />
</root>
</artifact>
</component>
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<option name="DEFAULT_COMPILER" value="Javac" />
<resourceExtensions />
<wildcardResourcePatterns>
<entry name="!?*.java" />
<entry name="!?*.form" />
<entry name="!?*.class" />
<entry name="!?*.groovy" />
<entry name="!?*.scala" />
<entry name="!?*.flex" />
<entry name="!?*.kt" />
<entry name="!?*.clj" />
</wildcardResourcePatterns>
<annotationProcessing>
<profile default="true" name="Default" enabled="false">
<processorPath useClasspath="true" />
</profile>
</annotationProcessing>
</component>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" />
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="EntryPointsManager">
<entry_points version="2.0" />
</component>
<component name="ProjectInspectionProfilesVisibleTreeState">
<entry key="Project Default">
<profile-state>
<expanded-state>
<State>
<id />
</State>
</expanded-state>
<selected-state>
<State>
<id>Abstraction issues</id>
</State>
</selected-state>
</profile-state>
</entry>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" assert-keyword="true" jdk-15="true" project-jdk-name="1.7" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/servertools.iml" filepath="$PROJECT_DIR$/servertools.iml" />
</modules>
</component>
</project>
<component name="DependencyValidationManager">
<state>
<option name="SKIP_IMPORT_STATEMENTS" value="false" />
</state>
</component>
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Palette2">
<group name="Swing">
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
</item>
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
</item>
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
</item>
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
<initial-values>
<property name="text" value="Button" />
</initial-values>
</item>
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="RadioButton" />
</initial-values>
</item>
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="CheckBox" />
</initial-values>
</item>
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
<initial-values>
<property name="text" value="Label" />
</initial-values>
</item>
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
</item>
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
</item>
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
<preferred-size width="-1" height="20" />
</default-constraints>
</item>
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
</item>
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
</item>
</group>
</component>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="" />
</component>
</project>
����3O
&
'(
)*+
& ,-
./
0
12
3 456
0 789:; arrowPlayersLjava/util/ArrayList; Signature)Ljava/util/ArrayList<Ljava/lang/String;>;<init>()VCodeLineNumberTableLocalVariableTablethis2Lio/github/pocketjawa/PJServerTools/PJServerTools;onEnablemanager!Lorg/bukkit/plugin/PluginManager; onDisable
SourceFilePJServerTools.java  <=)Pocketjawa Server Tools live another day!> ?@java/util/ArrayList pjst AB)io/github/pocketjawa/PJServerTools/PJSTCE CD EF GHI JK/io/github/pocketjawa/PJServerTools/PJSTListenerL MN-Pocketjawa Server Tools has died another day!0io/github/pocketjawa/PJServerTools/PJServerTools!org/bukkit/plugin/java/JavaPlugin getLogger()Ljava/util/logging/Logger;java/util/logging/Loggerinfo(Ljava/lang/String;)V
getCommand6(Ljava/lang/String;)Lorg/bukkit/command/PluginCommand;5(Lio/github/pocketjawa/PJServerTools/PJServerTools;)V org/bukkit/command/PluginCommand setExecutor'(Lorg/bukkit/command/CommandExecutor;)V getServer()Lorg/bukkit/Server;org/bukkit/ServergetPluginManager#()Lorg/bukkit/plugin/PluginManager;org/bukkit/plugin/PluginManagerregisterEvents8(Lorg/bukkit/event/Listener;Lorg/bukkit/plugin/Plugin;)V1/*��  �?*��*�Y��*� �
Y*� � *� �L+�Y*�*�� %/>?/!"#8
*���
  
$%
����3
L� K�
���
���
� ��
��
�
� ����� ��
K� ��
����
�� ���� &�
��
�� ���� &�
����������
���
,�
,� ���� ��
1� ���
���
�� &� �� &� &� �� ����
���
D�A ��������plugin2Lio/github/pocketjawa/PJServerTools/PJServerTools;<init>5(Lio/github/pocketjawa/PJServerTools/PJServerTools;)VCodeLineNumberTableLocalVariableTablethis+Lio/github/pocketjawa/PJServerTools/PJSTCE; onCommandf(Lorg/bukkit/command/CommandSender;Lorg/bukkit/command/Command;Ljava/lang/String;[Ljava/lang/String;)ZplayerLorg/bukkit/entity/Player;
playerNameLjava/lang/String;e Ljava/lang/InterruptedException;dNumIaStartrandomLjava/util/Random;rangeJfraction randomNumberdiamond Lorg/bukkit/inventory/ItemStack;sender"Lorg/bukkit/command/CommandSender;cmdLorg/bukkit/command/Command;sargs[Ljava/lang/String; StackMapTable�����p��� permError%(Lorg/bukkit/command/CommandSender;)Vuser
SourceFile PJSTCE.java P� NO� ��pjst� ��java/lang/StringBuilder� �� ��Not enough arguments! �� ��� ��arrowslistpjst.admin.arrows �� {|� ���Invalid Commandtoggle� ��� ��Player  is not online �� �� ��(Exploding arrows have been disabled for #Exploding arrows have been disabled ��'Exploding arrows have been enabled for #Exploding arrows have been enabled! BE CAREFUL!org/bukkit/entity/Player#You can only send this as a player! pjst.arrowsroll pjst.roll� ��java/util/Random ��thedinnerguestorg/bukkit/inventory/ItemStack� �� P� ��
rolled a �� on a  sided die! �� �     
   
OH NOES!!! java/lang/InterruptedException � Invalid Command!)You do not have the required permissions!GPlease contact the server admin (pocketjawa) if you think this is wrong)io/github/pocketjawa/PJServerTools/PJSTCEjava/lang/Object"org/bukkit/command/CommandExecutorjava/lang/String org/bukkit/command/CommandSenderorg/bukkit/command/Command()VgetName()Ljava/lang/String;equalsIgnoreCase(Ljava/lang/String;)Zorg/bukkit/ChatColorREDLorg/bukkit/ChatColor;append-(Ljava/lang/Object;)Ljava/lang/StringBuilder;-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString sendMessage(Ljava/lang/String;)V hasPermission0io/github/pocketjawa/PJServerTools/PJServerTools arrowPlayersLjava/util/ArrayList;java/util/ArrayListorg/bukkit/Bukkit getServer()Lorg/bukkit/Server;org/bukkit/Server getPlayer.(Ljava/lang/String;)Lorg/bukkit/entity/Player;contains(Ljava/lang/Object;)ZremoveGREENaddjava/lang/IntegerparseInt(Ljava/lang/String;)I
nextDouble()Dorg/bukkit/MaterialDIAMONDLorg/bukkit/Material;(Lorg/bukkit/Material;I)VAQUA(I)Ljava/lang/StringBuilder;broadcastMessage getInventory(()Lorg/bukkit/inventory/PlayerInventory;$org/bukkit/inventory/PlayerInventoryaddItem6([Lorg/bukkit/inventory/ItemStack;)Ljava/util/HashMap;getWorld()Lorg/bukkit/World; getLocation()Lorg/bukkit/Location;org/bukkit/entity/EntityTypeFIREWORKLorg/bukkit/entity/EntityType;org/bukkit/World spawnEntityO(Lorg/bukkit/Location;Lorg/bukkit/entity/EntityType;)Lorg/bukkit/entity/Entity;java/lang/Threadsleep(J)VprintStackTracecreateExplosion(Lorg/bukkit/Location;F)Z!KLMNOPQRF
*�*+��S T
UV
NOWXRZ,���O�� +�Y��� 
� � � �2��g��P2��'+��
*+��+*���� �+�Y��� � � � ���B2��+��
*+���2�:�&+�Y�� 2� � � � ��:*����P*���W+�Y��� � 2� � � �Y���  � � �!�*���"W+�Y��� #� 2� � � �Y��� $� � �!�Y��� %� � �!�+�Y��� � � � ����+�&� +�Y��� '� � � �+(��
*+��+�&:�:*����-*���W+�Y���  � � � �*���"W+�Y��� $� � � +�Y��� %� � � �2)���+*��
*+��6�� 2�+66�,Y�-:��e
a7��.k�7

�a�6 +�/0���6 +�&: �1Y�2@�3:�Y��4� +�/� 5� ��  �6�4� 7� �� �6�4� 8� � �9W �0 �:�1YS�;W �< �=�>�?W ��+�Y��� @� � �  �< �=�>�?W �< �=�>�?W �< �=�>�?WA�C�
:�E �< �=F�GW�+�Y��� H� � � ��DSbX !."0$<&C(O)Z*_+a-q.s0�1�4�5�7�8�9�<�=�>�?�A�CDE2FNGPI]JK�L�M�Q�R�U�V�W�X[ \]`a"c1d>eYf[hhi�j�k�q�s�t�u�x�y�z�}�~������� ����+�y������������������#�9�;�V�X�T���YZ��[\�YZ"~[\]^�y_`�fa`�]bc�Rde�Ffe
�=g` YZ +hiZUVZjkZlmZn\Zopqp00$�5r�ds�h*�Grs�D��D tuvswx��ry�oz�tuvsw{|Rs7+�Y��� I� � � +�Y��� J� � � �S��6�T7UV7}k~
����3�
Y� X�
��� �� �� ��
� ��
� �� �� ��B� �� �
�� �� � � �� � ��A� ��� � � �� ��
�� �
��� $� $�A
��
�� ��
�� �� �� ��
��
��
X�
�� �� ��
���
���
9 � �
=� 
=
=
= 
�  F

�





  � � �
�  F  �!"#plugin2Lio/github/pocketjawa/PJServerTools/PJServerTools;<init>5(Lio/github/pocketjawa/PJServerTools/PJServerTools;)VCodeLineNumberTableLocalVariableTablethis1Lio/github/pocketjawa/PJServerTools/PJSTListener;instanceonProjectileHit/(Lorg/bukkit/event/entity/ProjectileHitEvent;)ViIplayerLorg/bukkit/entity/Player;playInv&Lorg/bukkit/inventory/PlayerInventory;gunPwdr Lorg/bukkit/inventory/ItemStack;diamondblazeRodnethStarpowerFarrowLorg/bukkit/entity/Arrow;shooterLorg/bukkit/entity/Entity;eggLorg/bukkit/entity/Egg;event,Lorg/bukkit/event/entity/ProjectileHitEvent;entity StackMapTable!$%��&�RuntimeVisibleAnnotationsLorg/bukkit/event/EventHandler;priority Lorg/bukkit/event/EventPriority;NORMAL deathMessages-(Lorg/bukkit/event/entity/PlayerDeathEvent;)V*Lorg/bukkit/event/entity/PlayerDeathEvent;killermobDeath-(Lorg/bukkit/event/entity/EntityDeathEvent;)VcowLorg/bukkit/entity/Cow;locLorg/bukkit/Location;*Lorg/bukkit/event/entity/EntityDeathEvent;enmobHit.(Lorg/bukkit/event/entity/EntityDamageEvent;)V+Lorg/bukkit/event/entity/EntityDamageEvent; placeBlocks+(Lorg/bukkit/event/block/BlockPlaceEvent;)Ve Ljava/lang/InterruptedException;p(Lorg/bukkit/event/block/BlockPlaceEvent;'�newFW(Type InnerClasses�(Lorg/bukkit/entity/Player;Lorg/bukkit/Location;Lorg/bukkit/Color;Lorg/bukkit/Color;Lorg/bukkit/FireworkEffect$Type;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Integer;Ljava/lang/Boolean;)Vc1Lorg/bukkit/Color;c2type Lorg/bukkit/FireworkEffect$Type;trailLjava/lang/Boolean;flickpwrLjava/lang/Integer;burstfwLorg/bukkit/entity/Firework;fwm(Lorg/bukkit/inventory/meta/FireworkMeta;fweLorg/bukkit/FireworkEffect; )*newFWe�(Lorg/bukkit/entity/Entity;Lorg/bukkit/Location;Lorg/bukkit/Color;Lorg/bukkit/Color;Lorg/bukkit/FireworkEffect$Type;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Integer;Ljava/lang/Boolean;)V
SourceFilePJSTListener.java ]+ [\$ ,-org/bukkit/entity/Arrow ./org/bukkit/entity/Player 01org/bukkit/inventory/ItemStack2 34 ]5 64 ]7 84 94& :;< => ?@A BC DE FG HIJ KL M+N OP QRorg/bukkit/entity/EggS TU VWX ,Y ZY[ ,/org/bukkit/entity/Cow\ ,] ^`a bc dCe f� g� T�h ijk il ��' mno pq r4 sYt uvjava/lang/InterruptedException w+ x4 y7java/lang/StringBuilderz {| }~ What Pumpkin? } �@ �� �Uorg/bukkit/entity/Firework ��* �� ��� �� �� �� �� �� ��) �� �� �� �� �� �� ��%/io/github/pocketjawa/PJServerTools/PJSTListenerjava/lang/Objectorg/bukkit/event/Listener*org/bukkit/event/entity/ProjectileHitEventorg/bukkit/entity/Entity$org/bukkit/inventory/PlayerInventory&org/bukkit/event/block/BlockPlaceEventorg/bukkit/FireworkEffect$Type&org/bukkit/inventory/meta/FireworkMetaorg/bukkit/FireworkEffect()V getEntity ()Lorg/bukkit/entity/Projectile;
getShooter"()Lorg/bukkit/entity/LivingEntity; getInventory(()Lorg/bukkit/inventory/PlayerInventory;org/bukkit/MaterialSULPHURLorg/bukkit/Material;(Lorg/bukkit/Material;I)VDIAMOND(Lorg/bukkit/Material;)V BLAZE_ROD NETHER_STARcontainsAtLeast$(Lorg/bukkit/inventory/ItemStack;I)Z0io/github/pocketjawa/PJServerTools/PJServerTools arrowPlayersLjava/util/ArrayList;getName()Ljava/lang/String;java/util/ArrayListcontains(Ljava/lang/Object;)Z
removeItem6([Lorg/bukkit/inventory/ItemStack;)Ljava/util/HashMap;getWorld()Lorg/bukkit/World; getLocation()Lorg/bukkit/Location;org/bukkit/WorldcreateExplosion(Lorg/bukkit/Location;F)Zremoveorg/bukkit/Sound CREEPER_HISSLorg/bukkit/Sound; playSound,(Lorg/bukkit/Location;Lorg/bukkit/Sound;FF)Vorg/bukkit/entity/EntityTypeCREEPERLorg/bukkit/entity/EntityType; spawnEntityO(Lorg/bukkit/Location;Lorg/bukkit/entity/EntityType;)Lorg/bukkit/entity/Entity;(org/bukkit/event/entity/PlayerDeathEvent()Lorg/bukkit/entity/Player; getKiller(org/bukkit/event/entity/EntityDeathEvent)org/bukkit/event/entity/EntityDamageEvent()Lorg/bukkit/entity/Entity;getCause DamageCause9()Lorg/bukkit/event/entity/EntityDamageEvent$DamageCause;5org/bukkit/event/entity/EntityDamageEvent$DamageCause
PROJECTILE7Lorg/bukkit/event/entity/EntityDamageEvent$DamageCause;equalsorg/bukkit/ColorREDSILVERjava/lang/BooleanvalueOf(Z)Ljava/lang/Boolean;java/lang/Integer(I)Ljava/lang/Integer;getBlockPlaced()Lorg/bukkit/block/Block;org/bukkit/block/BlockgetType()Lorg/bukkit/Material;PUMPKIN getPlayerjava/lang/Threadsleep(J)VprintStackTraceAIRsetTypeorg/bukkit/ChatColorGOLDLorg/bukkit/ChatColor;append-(Ljava/lang/Object;)Ljava/lang/StringBuilder;-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString sendMessage(Ljava/lang/String;)VFIREWORKgetFireworkMeta*()Lorg/bukkit/inventory/meta/FireworkMeta;builderBuilder%()Lorg/bukkit/FireworkEffect$Builder; booleanValue()Z!org/bukkit/FireworkEffect$Builderflicker&(Z)Lorg/bukkit/FireworkEffect$Builder; withColor7(Lorg/bukkit/Color;)Lorg/bukkit/FireworkEffect$Builder;withFadewithE(Lorg/bukkit/FireworkEffect$Type;)Lorg/bukkit/FireworkEffect$Builder;build()Lorg/bukkit/FireworkEffect; addEffect(Lorg/bukkit/FireworkEffect;)VYELLOWORANGEBURSTintValue()IsetPower(I)VsetFireworkMeta+(Lorg/bukkit/inventory/meta/FireworkMeta;)V!XYZ[\]^_F
*�*+��` a
bc
d\ef_C �+�M,��>,�N-�:��)�:�:�Y� �
:�Y� � :�Y� � : �Y�� :
8 6   �  �� �8 � ���
��8 *���������D����YS�W�-� �W-��B�-�� �-��!�-�� �-�,��q,�N-�-��� W-�-��� W-�-��� W-�-��� W-�-��� W�`�$"$ %&(!)(*1+>,J-V.b/e1o2}3�1�7�8�;�<�=�>�@�AC D)HAOGUNVSWhX}Y�Z�[�^a�h gh (ij1kl> mnJ�onV�pn b�qn
e�rs 6tu.vwSixy�bc�z{�|w}H
�h ~����������-" �~��t� ��e����_] +�!M,�"N�`bc ea* bc z�ij �j� ��e����_�*+�#M,�$� ,�$N-�%:-�&'�W�`ik lmn)pa4����*bc*z�%�w}�)�� ��e����_�
C+�(M,�$�9,�$N+�)�*�+�'*,-�%�,�-�.�/�/�0�/�1�`tu vxyBa*1��CbcCz�>|w}�B�� ��e����_�J+�2�3�4�=+�5M6�8�N-�:+�2�;�<,�=Y�>�?�@A�B�C�D�9`& ������"�.�I�a*��5�jJbcJz�}�~����&� ��e����_p �+�,�E� �F:

�G: �H�I�J-�K�L�I�M�N�O:   �P �I�.�H�J�Q�K�R�L�M�S�N�O:   �P �T�U
 �V�`*
���C�L�U�w�������a� �bc�ij������������������������ ���
y�� CS�� }�������_p �+�W,�E� �F:

�G: �H�I�J-�K�L�I�M�N�O:   �P �I�.�H�J�Q�K�R�L�M�S�N�O:   �P �T�U
 �V�`*
���C�L�U�w�������a� �bc�iw������������������������ ���
y�� CS�� }����������@��_@�
Manifest-Version: 1.0
Main-Class: io.github.pocketjawa.PJServerTools.PJServerTools
name: PJServerTools
main: io.github.pocketjawa.PJServerTools.PJServerTools
version: 0.1
commands:
pjst:
description: A basic command by Pocketjawa
usage: /pjst [arrows] [enable|disable]
permission: pjst
permission-message: You don't have pjst
permissions:
pjst:
description: Core permission node for Pocketjawa's Server Tools
default: true
pjst.*:
description: Allows use of all functions
children:
pjst.arrows: true
pjst.admin.arrows: true
pjst.roll: true
pjst.arrows:
description: Allows you to toggling if your arrows explode
default: op
pjst.admin.arrows:
description: Allows toggling other players explosive arrows
default: op
pjst.roll:
description: Simulates rolling a die
default: true
pjst.noPum:
description: What Pumpkin?
default: false
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../../server_jars/craftbukkit-1.5.2-R1.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="http://jd.bukkit.org/apidocs/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MODULE_DIR$/../../server_jars/craftbukkit-1.5.2-R1.0.jar!/" />
</SOURCES>
</library>
</orderEntry>
</component>
</module>
package io.github.pocketjawa.PJServerTools;
import org.bukkit.ChatColor;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
import java.util.ArrayList;
/**
* Created with IntelliJ IDEA.
* User: Scott
* Date: 8/7/13
* Time: 2:09 PM
* To change this template use File | Settings | File Templates.
*/
public final class PJServerTools extends JavaPlugin {
protected ArrayList<String> arrowPlayers;
public void onEnable(){
getLogger().info("Pocketjawa Server Tools live another day!");
this.arrowPlayers = new ArrayList<String>();
getCommand("pjst").setExecutor(new PJSTCE(this));
//this.getServer().getPluginManager().registerEvents(new PJSTListener(null), this);
PluginManager manager = this.getServer().getPluginManager();
manager.registerEvents(new PJSTListener(this), this);
}
public void onDisable(){
getLogger().info("Pocketjawa Server Tools has died another day!");
}
}
package io.github.pocketjawa.PJServerTools;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import java.util.Random;
/**
* Created with IntelliJ IDEA.
* User: Scott
* Date: 8/7/13
* Time: 3:11 PM
* To change this template use File | Settings | File Templates.
*/
public class PJSTCE implements CommandExecutor {
private PJServerTools plugin;
public PJSTCE(PJServerTools plugin) {
this.plugin = plugin;
}
@Override
public boolean onCommand(CommandSender sender, Command cmd, String s, String[] args) {
if(cmd.getName().equalsIgnoreCase("pjst")){
if(args.length < 1) {
sender.sendMessage(ChatColor.RED + "Not enough arguments!");
return false;
}
if(args[0].equalsIgnoreCase("arrows")){
if(args.length == 2){
if(args[1].equalsIgnoreCase("list")){
if(sender.hasPermission("pjst.admin.arrows") == false){
permError(sender);
return true;
}
sender.sendMessage(plugin.arrowPlayers.toString());
return true;
} else {
sender.sendMessage(ChatColor.RED + "Invalid Command");
return false;
}
}
if(args.length == 3){
if(args[1].equalsIgnoreCase("toggle")){
if(sender.hasPermission("pjst.admin.arrows") == false){
permError(sender);
return true;
}
Player player = Bukkit.getServer().getPlayer(args[2]);
if(player == null){
sender.sendMessage("Player " + args[2] + " is not online");
return true;
}
String playerName = player.getName();
if(plugin.arrowPlayers.contains(playerName)){
plugin.arrowPlayers.remove(playerName);
sender.sendMessage(ChatColor.GREEN + "Exploding arrows have been disabled for " + args[2]);
player.sendMessage(ChatColor.GREEN + "Exploding arrows have been disabled");
return true;
} else {
plugin.arrowPlayers.add(playerName);
sender.sendMessage(ChatColor.GREEN + "Exploding arrows have been enabled for " + args[2]);
player.sendMessage(ChatColor.GREEN + "Exploding arrows have been enabled!");
player.sendMessage(ChatColor.RED + "BE CAREFUL!");
return true;
}
} else {
sender.sendMessage(ChatColor.RED + "Invalid Command");
return false;
}
}
if(args.length == 1){
if(sender instanceof Player == false) {
sender.sendMessage(ChatColor.RED + "You can only send this as a player!");
return false;
}
if(sender.hasPermission("pjst.arrows") == false){
permError(sender);
return true;
}
Player player = (Player) sender;
String playerName = player.getName();
if(plugin.arrowPlayers.contains(playerName)){
plugin.arrowPlayers.remove(playerName);
sender.sendMessage(ChatColor.GREEN + "Exploding arrows have been disabled");
return true;
} else {
plugin.arrowPlayers.add(playerName);
sender.sendMessage(ChatColor.GREEN + "Exploding arrows have been enabled!");
sender.sendMessage(ChatColor.RED + "BE CAREFUL!");
return true;
}
}
}
if(args[0].equalsIgnoreCase("roll")){
if(sender.hasPermission("pjst.roll") == false){
permError(sender);
return true;
}
int dNum = 6;
if(args.length == 2){
dNum = Integer.parseInt(args[1]);
}
//int aEnd = 6;
int aStart = 1;
Random random = new Random();
long range = (long)dNum - (long)aStart + 1;
// compute a fraction of the range, 0 <= frac < range
long fraction = (long)(range * random.nextDouble());
int randomNumber = (int)(fraction + aStart);
if(sender.getName().equalsIgnoreCase("thedinnerguest")){
if(dNum >= 23){
randomNumber = 23;
}
}
Player player = (Player) sender;
ItemStack diamond = new ItemStack(Material.DIAMOND, 64);
Bukkit.broadcastMessage(ChatColor.AQUA + sender.getName() + " rolled a " + ChatColor.GREEN + randomNumber + ChatColor.AQUA + " on a " + ChatColor.GREEN + dNum + ChatColor.AQUA + " sided die!");
if(randomNumber == 2){
player.getInventory().addItem(diamond);
player.getWorld().spawnEntity(player.getLocation(), EntityType.FIREWORK);
}
if(randomNumber == 23){
sender.sendMessage(ChatColor.RED + "OH NOES!!!");
player.getWorld().spawnEntity(player.getLocation(), EntityType.FIREWORK);
player.getWorld().spawnEntity(player.getLocation(), EntityType.FIREWORK);
player.getWorld().spawnEntity(player.getLocation(), EntityType.FIREWORK);
try {
Thread.sleep(2300);
} catch (InterruptedException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}
player.getWorld().createExplosion(player.getLocation(), 10);
}
return true;
}
sender.sendMessage(ChatColor.RED + "Invalid Command!");
return false;
}
return false; //To change body of implemented methods use File | Settings | File Templates.
}
public void permError(CommandSender user){
user.sendMessage(ChatColor.RED + "You do not have the required permissions!");
user.sendMessage(ChatColor.RED + "Please contact the server admin (pocketjawa) if you think this is wrong");
}
}
package io.github.pocketjawa.PJServerTools;
import org.bukkit.*;
import org.bukkit.event.Event;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.entity.*;
import org.bukkit.event.block.BlockFormEvent;
import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.event.entity.*;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.PlayerInventory;
import org.bukkit.inventory.meta.FireworkMeta;
import org.bukkit.FireworkEffect.Type;
import org.bukkit.util.Vector;
/**
* Created with IntelliJ IDEA.
* User: Scott
* Date: 8/9/13
* Time: 3:22 PM
* To change this template use File | Settings | File Templates.
*/
public class PJSTListener implements Listener {
private PJServerTools plugin;
public PJSTListener(PJServerTools instance){
plugin = instance;
}
@EventHandler(priority = EventPriority.NORMAL)
public void onProjectileHit(ProjectileHitEvent event){
Entity entity = event.getEntity();
if(entity instanceof Arrow){
Arrow arrow = (Arrow) entity;
Entity shooter = arrow.getShooter();
if(shooter instanceof Player){
Player player = (Player) shooter;
PlayerInventory playInv = player.getInventory();
ItemStack gunPwdr = new ItemStack(Material.SULPHUR, 5);
ItemStack diamond = new ItemStack(Material.DIAMOND);
ItemStack blazeRod = new ItemStack(Material.BLAZE_ROD);
ItemStack nethStar = new ItemStack(Material.NETHER_STAR);
float power = 0;
for(int i=0; i < 32; i++){
if(playInv.containsAtLeast(blazeRod, i)){
power = i;
}
}
if(playInv.containsAtLeast(nethStar, 1)){
power = 100;
}
if(plugin.arrowPlayers.contains(player.getName())){
if(playInv.containsAtLeast(gunPwdr, 5) || playInv.containsAtLeast(diamond, 5)){
if(playInv.containsAtLeast(diamond, 5) == false){
player.getInventory().removeItem(gunPwdr);
}
player.getWorld().createExplosion(arrow.getLocation(), power);
arrow.remove();
}else{
player.getWorld().playSound(arrow.getLocation(), Sound.CREEPER_HISS,20,1);
arrow.remove();
}
}else{
player.getWorld().playSound(arrow.getLocation(), Sound.CREEPER_HISS,20,1);
//newFW(player, arrow.getLocation(), Color.AQUA, Color.TEAL, Type.BALL_LARGE, true, false, 1, true);
//newFW(player, arrow.getLocation(), Color.LIME, Color.SILVER, Type.BALL, false, true, 1, false);
//newFW(player, arrow.getLocation(), Color.RED, Color.RED, Type.CREEPER, false, false, 0, false);
arrow.remove();
}
}
}
if(entity instanceof Egg){
Egg egg = (Egg) entity;
egg.getWorld().spawnEntity(egg.getLocation(), EntityType.CREEPER);
egg.getWorld().spawnEntity(egg.getLocation(), EntityType.CREEPER);
egg.getWorld().spawnEntity(egg.getLocation(), EntityType.CREEPER);
egg.getWorld().spawnEntity(egg.getLocation(), EntityType.CREEPER);
egg.getWorld().spawnEntity(egg.getLocation(), EntityType.CREEPER);
}
}
@EventHandler(priority = EventPriority.NORMAL)
public void deathMessages(PlayerDeathEvent event){
Player player = event.getEntity();
Player killer = player.getKiller();
}
@EventHandler(priority = EventPriority.NORMAL)
public void mobDeath(EntityDeathEvent event){
Entity en = event.getEntity();
if(en instanceof Cow){
Cow cow = (Cow) en;
Location loc = cow.getLocation();
cow.getWorld().createExplosion(loc, 10F);
}
}
@EventHandler(priority = EventPriority.NORMAL)
public void mobHit(EntityDamageEvent event){
Entity entity = event.getEntity();
if(entity instanceof Cow){
Cow cow = (Cow) entity;
if(event.getCause().equals(EntityDamageEvent.DamageCause.PROJECTILE)){
newFWe(entity, cow.getLocation(), Color.RED, Color.SILVER, Type.CREEPER, true, false, 1, false);
}
}
}
@EventHandler(priority = EventPriority.NORMAL)
public void placeBlocks(BlockPlaceEvent event){
if(event.getBlockPlaced().getType() == Material.PUMPKIN){
Player p = event.getPlayer();
//if(p.hasPermission("pjst.noPum")){
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}
event.getBlockPlaced().setType(Material.AIR);
p.sendMessage(ChatColor.GOLD + "What Pumpkin?");
//}
}
}
public void newFW(Player player, Location loc, Color c1, Color c2, Type type, Boolean trail, Boolean flick, Integer pwr, Boolean burst){
Firework fw = (Firework) player.getWorld().spawnEntity(loc, EntityType.FIREWORK);
FireworkMeta fwm = fw.getFireworkMeta();
FireworkEffect fwe = FireworkEffect.builder().flicker(flick).withColor(c1).withFade(c2).trail(trail).with(type).build();
fwm.addEffect(fwe);
if(burst == true){
fwe = FireworkEffect.builder().flicker(true).withColor(Color.YELLOW).withFade(Color.ORANGE).trail(false).with(Type.BURST).build();
fwm.addEffect(fwe);
}
fwm.setPower(pwr);
fw.setFireworkMeta(fwm);
}
public void newFWe(Entity player, Location loc, Color c1, Color c2, Type type, Boolean trail, Boolean flick, Integer pwr, Boolean burst){
Firework fw = (Firework) player.getWorld().spawnEntity(loc, EntityType.FIREWORK);
FireworkMeta fwm = fw.getFireworkMeta();
FireworkEffect fwe = FireworkEffect.builder().flicker(flick).withColor(c1).withFade(c2).trail(trail).with(type).build();
fwm.addEffect(fwe);
if(burst == true){
fwe = FireworkEffect.builder().flicker(true).withColor(Color.YELLOW).withFade(Color.ORANGE).trail(false).with(Type.BURST).build();
fwm.addEffect(fwe);
}
fwm.setPower(pwr);
fw.setFireworkMeta(fwm);
}
}
Manifest-Version: 1.0
Main-Class: io.github.pocketjawa.PJServerTools.PJServerTools
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment