Skip to content

Instantly share code, notes, and snippets.

@aadnk
aadnk / CancelInventoryClick.java
Last active August 29, 2015 14:00
Cancel inventory clicks with TinyProtocol
package com.comphenix.example;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;
import com.comphenix.example.Reflection.FieldAccessor;
import com.comphenix.example.Reflection.MethodInvoker;
import net.minecraft.util.io.netty.channel.Channel;
@aadnk
aadnk / AnvilListener.java
Created April 13, 2014 00:44
Detect when anvils are broken by overuse.
package com.comphenix.example;
import java.util.Map;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.block.BlockState;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
@aadnk
aadnk / DifferentArmorColor.java
Created April 10, 2014 01:54
Demonstrates different armor color per player.
package com.comphenix.example;
import org.bukkit.Color;
import org.bukkit.event.Listener;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.LeatherArmorMeta;
import org.bukkit.plugin.java.JavaPlugin;
import com.comphenix.protocol.PacketType;
import com.comphenix.protocol.ProtocolLibrary;
package com.comphenix.example;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
import com.comphenix.protocol.ProtocolLibrary;
import com.comphenix.protocol.ProtocolManager;
import com.comphenix.protocol.events.PacketAdapter;
import com.comphenix.protocol.events.PacketEvent;
@aadnk
aadnk / OfflinePlayers.java
Created April 1, 2014 21:05
Serialize/deserialize offline player NBT data with ProtocolLib.
package com.comphenix.example;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;
@aadnk
aadnk / PlayServerMultiBlockChange.java
Created March 31, 2014 00:04
Sending a WrapperPlayServerMultiBlockChange packet.
package com.comphenix.example;
import org.bukkit.Location;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
public class PlayServerMultiBlockChange extends JavaPlugin {
@Override
@aadnk
aadnk / pom.xml
Last active August 29, 2015 13:57
POM file for MCore.
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.massivecraft</groupId>
<artifactId>mcore</artifactId>
<version>7.0.2</version>
<packaging>jar</packaging>
<description>MCore stands for MassiveCraft Core and is a plugin that contains libraries and features that other plugins make use of.</description>
<properties>
@aadnk
aadnk / ArtificalChunkErrors.java
Created March 23, 2014 20:12
Prevent certain chunks from being processed by certain players.
package com.comphenix.example;
import org.bukkit.plugin.java.JavaPlugin;
import com.comphenix.protocol.PacketType;
import com.comphenix.protocol.ProtocolLibrary;
import com.comphenix.protocol.events.PacketAdapter;
import com.comphenix.protocol.events.PacketContainer;
import com.comphenix.protocol.events.PacketEvent;
@aadnk
aadnk / MapSorting.java
Created March 19, 2014 00:04
Sorting maps by value.
package com.comphenix.testing;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import com.google.common.base.Function;
import com.google.common.collect.Iterables;
import com.google.common.collect.Ordering;
@aadnk
aadnk / SpawnFakeWither.java
Created March 5, 2014 18:44
Spawn a fake wither boss with ProtocolLib 3.0.0+ and Minecraft 1.7.2 (though earlier versions are supported).
package com.comphenix.example;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.plugin.java.JavaPlugin;
import com.comphenix.protocol.ProtocolLibrary;
import com.comphenix.protocol.events.PacketContainer;
import java.lang.reflect.InvocationTargetException;
import java.util.logging.Level;