Skip to content

Instantly share code, notes, and snippets.

View HugoSilvaF's full-sized avatar
💭
OFFLINE

Hugo Leonardo da Silva Filho HugoSilvaF

💭
OFFLINE
View GitHub Profile
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;
import org.bukkit.Bukkit;
/**
@HugoSilvaF
HugoSilvaF / BukkitSerialization.java
Last active November 20, 2015 16:04 — forked from aadnk/BukkitSerialization.java
Serialize and deserialize inventories to a string.
package com.comphenix.example;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import org.bukkit.Bukkit;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.util.io.BukkitObjectInputStream;
@HugoSilvaF
HugoSilvaF / BukkitSerialization.java
Created November 30, 2015 18:11 — forked from graywolf336/BukkitSerialization.java
Serialize and deserialize the player's inventory, including armor and content.
/**
* Converts the player inventory to a String array of Base64 strings. First string is the content and second string is the armor.
*
* @param playerInventory to turn into an array of strings.
* @return Array of strings: [ main content, armor content ]
* @throws IllegalStateException
*/
public static String[] playerInventoryToBase64(PlayerInventory playerInventory) throws IllegalStateException {
//get the main content part, this doesn't return the armor
String content = toBase64(playerInventory);
@HugoSilvaF
HugoSilvaF / ItemSerialization.java
Created November 30, 2015 18:11 — forked from aadnk/ItemSerialization.java
Only use this version if you've used ItemSerialization before, and want backwards compatibility. This Bukkit-only version is far superior: https://gist.github.com/aadnk/8138186
package com.comphenix.example;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInput;
import java.io.DataInputStream;
import java.io.DataOutput;
import java.io.DataOutputStream;
import java.lang.reflect.Method;
@HugoSilvaF
HugoSilvaF / BlockChangeArray.java
Created November 30, 2015 18:25 — forked from aadnk/BlockChangeArray.java
Disguise a block (like a chest) as an arbitrary block.
package com.comphenix.example;
import java.nio.ByteBuffer;
import java.nio.IntBuffer;
import org.bukkit.Location;
import org.bukkit.World;
/**
* Utility class for creating arrays of block changes.
@HugoSilvaF
HugoSilvaF / Ability.java
Created November 30, 2015 18:25 — forked from aadnk/Ability.java
A simple cooldown system with charges.
package com.comphenix.example;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import org.bukkit.entity.Player;
public class Ability {
/**
@HugoSilvaF
HugoSilvaF / Cooldowns.java
Created November 30, 2015 18:26 — forked from aadnk/Cooldowns.java
A very simple cooldown library.
package com.comphenix.example;
import org.bukkit.entity.Player;
import com.google.common.collect.HashBasedTable;
import com.google.common.collect.Table;
public class Cooldowns {
private static Table<String, String, Long> cooldowns = HashBasedTable.create();
@HugoSilvaF
HugoSilvaF / REP.java
Created November 30, 2015 18:26 — forked from aadnk/REP.java
A read-eval print loop in Java using Rhino.
package com.comphenix.testing;
import java.io.PrintStream;
import java.util.Scanner;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class REP {
@HugoSilvaF
HugoSilvaF / EntityProximityDetector.java
Created November 30, 2015 18:27 — forked from aadnk/EntityProximityDetector.java
Entity proximity detection API
package com.comphenix.proximity;
import java.util.ArrayDeque;
import java.util.Collection;
import java.util.Deque;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
@HugoSilvaF
HugoSilvaF / ItemSerialization.java
Created November 30, 2015 18:35 — forked from aadnk/ItemSerialization.java
ItemSerialization for Minecraft 1.7.9 that supports player inventories.
package com.comphenix.example;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInput;
import java.io.DataInputStream;
import java.io.DataOutput;
import java.io.DataOutputStream;
import java.lang.reflect.Method;
import java.util.Arrays;