Skip to content

Instantly share code, notes, and snippets.

View DarkSeraphim's full-sized avatar

Mark Hendriks DarkSeraphim

View GitHub Profile
@DarkSeraphim
DarkSeraphim / Artificial piston :D
Created January 24, 2013 01:40
Artificial piston movement
public void powerPiston(Block b)
{
if(b == null)
{
return;
}
if(b.getType() != Material.PISTON_BASE && b.getType() != Material.PISTON_STICKY_BASE)
{
return;
import java.util.List;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.PotionMeta;
import org.bukkit.potion.Potion;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionType;
/**
*
* @author DarkSeraphim
@Command(name="freeforall", description="Teleports you to the free for all arena")
@Aliases("ffa")
public boolean freeForAll(CommandSender sender, org.bukkit.command.Command command, String[] args)
{
if(sender instanceof Player)
{
((Player)sender).teleport(this.loc);
sender.sendMessage(ChatColor.YELLOW+"Have a good fight >:)!");
}
return true;
@DarkSeraphim
DarkSeraphim / Annotation commands :D
Created April 4, 2014 18:30
Annotation commands for the addon manager @SensationCraft
@Command(name="ffa", description="Teleports you to the free for all arena")
@Aliases("freeforall")
public boolean freeForAll(CommandSender sender, org.bukkit.command.Command command, String label, String[] args)
{
if(sender instanceof Player)
{
((Player)sender).teleport(this.loc);
sender.sendMessage(ChatColor.YELLOW+"Have a good fight >:)!");
}
return true;
@DarkSeraphim
DarkSeraphim / Main.java
Last active August 29, 2015 14:00
A tool to allow developers to use one generic scoreboard, with the freedom to assign personal objectives or teams to users.
package net.darkseraphim.sbt;
import org.bukkit.Bukkit;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.entity.Player;
import org.bukkit.scoreboard.Objective;
import org.bukkit.scoreboard.DisplaySlot;
@DarkSeraphim
DarkSeraphim / Faction.java
Last active August 29, 2015 14:01
Recovering factions from log entries
package net.darkseraphim.fr;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
@DarkSeraphim
DarkSeraphim / KitExtractor.java
Last active January 3, 2022 23:58
Utility to extract kits from Essentials, as ItemStack[]
import com.earth2me.essentials.Essentials;
import com.earth2me.essentials.Kit;
import com.earth2me.essentials.MetaItemStack;
import com.earth2me.essentials.textreader.IText;
import com.earth2me.essentials.textreader.KeywordReplacer;
import com.earth2me.essentials.textreader.SimpleTextInput;
import net.ess3.api.IEssentials;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
@DarkSeraphim
DarkSeraphim / ClairvoyantRandom.java
Created May 26, 2014 12:23
Random with preview functionality
package net.darkseraphim.util;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
/**
* @Author DarkSeraphim
*/
public class ClairvoyantRandom extends Random
@DarkSeraphim
DarkSeraphim / LoadingCache.java
Created June 5, 2014 17:42
simple LoadingCache implementation as seen with Guava
public class LoadingCache<K, V> extends HashMap<K, V>
{
private final long timeout;
private final Function<K, V> function;
private Map<K, Long> timeouts = new HashMap<K, Long>();
public LoadingCache(long timeout, Function<K, V> function)
@DarkSeraphim
DarkSeraphim / SQLUtil.java
Created June 6, 2014 14:06
Callbacks for newbies
public void getMeMyMessages(String player)
{
db.execute(String.format("SELECT * FROM `messages` WHERE `player` = '%s'", player), new Callback()
{
@Override
public void callMeMaybe(ResultSet rs)
{
Player p = Bukkit.getPlayer(player);
if(p == null)
return;