Skip to content

Instantly share code, notes, and snippets.

@aadnk
aadnk / Main.java
Created April 30, 2013 02:45
Difference between AntiCommandTab (BukkitDev) and AntiTab (Spigot)
package De24.one;
import com.comphenix.protocol.ProtocolLibrary;
import com.comphenix.protocol.ProtocolManager;
import com.comphenix.protocol.events.ConnectionSide;
import com.comphenix.protocol.events.ListenerPriority;
import com.comphenix.protocol.events.PacketAdapter;
import com.comphenix.protocol.events.PacketContainer;
import com.comphenix.protocol.events.PacketEvent;
import com.comphenix.protocol.reflect.FieldAccessException;
@aadnk
aadnk / FlamingAnvil.java
Created April 30, 2013 01:53
Change the appearance of a falling anvil to a flaming block.
package com.comphenix.example;
import java.util.HashSet;
import java.util.Set;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
@aadnk
aadnk / TileEntityProcessor.java
Last active September 16, 2024 07:56
Thread-safe tile entity processor that splits up the work in smaller portions.
package com.comphenix.example;
import java.util.ArrayDeque;
import java.util.Arrays;
import java.util.Queue;
import java.util.concurrent.TimeUnit;
import org.bukkit.Bukkit;
import org.bukkit.Chunk;
import org.bukkit.block.BlockState;
@aadnk
aadnk / DisplayNameMod.java
Created April 22, 2013 01:10
Let the displayed name on a mob be different depending on the player.
package com.comphenix.example;
import java.util.UUID;
import org.bukkit.ChatColor;
import org.bukkit.entity.Entity;
import org.bukkit.entity.LivingEntity;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.CreatureSpawnEvent;
@aadnk
aadnk / EventExceptionHandler.java
Created April 21, 2013 18:03
Add an exception handler to every event handler in your plugin.
package com.comphenix.example;
import java.lang.reflect.Method;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.apache.commons.lang.Validate;
import org.bukkit.event.Event;
@aadnk
aadnk / ConsumeListener.java
Created April 15, 2013 18:29
Player consume/food listener.
package com.comphenix.example;
import java.util.Map;
import java.util.WeakHashMap;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
@aadnk
aadnk / ExampleMod.java
Created April 5, 2013 16:42
Hide enchantments on worn inventory, but keep them enabled otherwise.
package com.comphenix.example;
import java.util.Arrays;
import org.bukkit.Material;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
@aadnk
aadnk / FlipMobs.java
Last active December 4, 2018 17:03
April fools. Flip zombies and chickens.
package com.comphenix.flipmobs;
import java.util.List;
import org.bukkit.World;
import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType;
import org.bukkit.plugin.java.JavaPlugin;
import com.comphenix.protocol.Packets;
@aadnk
aadnk / TestChunkLoadEvent.java
Last active December 15, 2015 01:59
Determine whether or not ChunkLoadEvent is reliable or not.
package com.comphenix.example;
import java.util.Collections;
import java.util.List;
import java.util.Set;
import net.minecraft.server.v1_7_R1.ChunkCoordIntPair;
import static com.comphenix.protocol.PacketType.Play.Server.*;
@aadnk
aadnk / ImportChunksTask.java
Last active December 14, 2015 13:38
Import chunks on the main thread.
package com.comphenix.example;
import java.util.Queue;
import java.util.concurrent.ConcurrentLinkedQueue;
import org.bukkit.Location;
import org.bukkit.plugin.Plugin;
import org.bukkit.scheduler.BukkitScheduler;
/**