A feature-rich Minecraft plugin which enhances gaming experience
git clone git://soophie.de/poppy
40
info:41
usage: /info42
description: Opens a book with the latest features.43
e:44
usage: /e45
description: Opens the enderchest.46
enderchest:47
usage: /enderchest48
description: Opens the enderchest.
5
import org.bukkit.GameMode;6
import org.bukkit.Location;7
import org.bukkit.Material;8
import org.bukkit.NamespacedKey;9
import org.bukkit.block.Block;10
import org.bukkit.command.Command;11
import org.bukkit.command.CommandSender;12
import org.bukkit.entity.Player;13
import org.bukkit.inventory.FurnaceRecipe;14
import org.bukkit.inventory.ItemStack;15
import org.bukkit.inventory.RecipeChoice;16
import org.bukkit.inventory.meta.SkullMeta;17
import org.bukkit.inventory.meta.BookMeta;18
import org.bukkit.plugin.Plugin;
96
blockDetectorModule = new BlockDetectorModule();97
pluginManager.registerEvents(blockDetectorModule, this);99
NamespacedKey key = new NamespacedKey(this, "leather");100
FurnaceRecipe recipe = new FurnaceRecipe(key, new ItemStack(Material.LEATHER), Material.ROTTEN_FLESH, 1, 200);101
Bukkit.addRecipe(recipe);102
}104
@Override
140
return doReload(player, args);141
case "up":142
return placeBlockBelow(player, args);143
case "e":144
return openEnderChest(player, args);145
case "enderchest":146
return openEnderChest(player, args);147
default:148
return false;149
}
386
return true;387
}389
private boolean openEnderChest(final Player player, final String[] args)390
{391
if(args.length != 0)392
{393
if(!player.isOp())394
{395
player.sendMessage(Constants.Messages.NOT_ENOUGH_PERMISSION);396
return true;397
}399
final Player target = Bukkit.getPlayer(args[0]);401
if(target == null)402
{403
player.sendMessage(ChatColor.RED + "Player not found!");404
return true;405
}407
player.openInventory(target.getEnderChest());409
}410
else411
{412
player.openInventory(player.getEnderChest());413
}415
return true;416
}417
}
53
faceBlock.setType(item.getType());54
removeSnapshotItem(dispenser, item.getType(), 1);55
}57
if(Tag.ITEMS_HOES.isTagged(item.getType()) && faceBlock.getType() == Material.COARSE_DIRT)58
{59
faceBlock.setType(Material.DIRT);60
}61
}63
if(isShulkerboxContent(item))
3
import java.util.HashSet;5
import org.bukkit.Location;6
import org.bukkit.Tag;7
import org.bukkit.Material;8
import org.bukkit.block.Block;9
import org.bukkit.block.data.Directional;10
import org.bukkit.block.data.type.Observer;11
import org.bukkit.block.data.type.TripwireHook;12
import org.bukkit.entity.ItemFrame;13
import org.bukkit.event.EventHandler;14
import org.bukkit.event.Listener;
62
}63
return itemstacks.toArray(new ItemStack[itemstacks.size()]);64
}66
@EventHandler67
public void onBlockRedstoneHook(BlockRedstoneEvent event)68
{69
final Block block = event.getBlock();71
if(block.getType() != Material.TRIPWIRE_HOOK) return;72
if (!(block.getBlockData() instanceof TripwireHook)) return;74
final TripwireHook tripwireHook = (TripwireHook) block.getBlockData();76
if(tripwireHook.getFacing().toString() == "NORTH" || tripwireHook.getFacing().toString() == "EAST")77
{78
if(tripwireHook.isPowered())79
{80
if(tripwireHook.getFacing().toString() == "NORTH")81
{82
Block aBlock = block.getLocation().clone().add(0, 0, 1).getBlock();84
if(!Tag.TRAPDOORS.isTagged(aBlock.getType())) return;86
block.breakNaturally();87
block.setType(Material.TRIPWIRE_HOOK);88
}90
if(tripwireHook.getFacing().toString() == "EAST")91
{92
Block aBlock = block.getLocation().clone().add(-1, 0, 0).getBlock();94
if(!Tag.TRAPDOORS.isTagged(aBlock.getType())) return;96
block.breakNaturally();97
block.setType(Material.TRIPWIRE_HOOK);98
}99
}100
}101
}102
}
66
final Material material = block.getType();67
final Set<Material> signs = Tag.ALL_SIGNS.getValues();68
final String playerMainItemTypeString = player.getInventory().getItemInMainHand().getType().toString();70
for(Material sign : signs)71
{72
if(material == sign && !player.isSneaking())73
{73
event.setCancelled(true);74
if(!playerMainItemTypeString.endsWith("DYE") && !playerMainItemTypeString.endsWith("SAC"))75
{76
event.setCancelled(true);77
}78
}79
}81
// Location blockpos = block.getLocation().clone();83
// double radius = 2;85
// for (int i = 0; i < 20; i++) {87
// double posX = (radius * Math.sin(i));88
// double posZ = (radius * Math.cos(i));90
// player.spawnParticle(Particle.FIREWORKS_SPARK, blockpos.getX() + posX + 0.5, blockpos.getY() + 2, blockpos.getZ() + posZ + 0.5 ,2, 0, 0, 0, 0);92
// }94
//player.spawnParticle(Particle.FIREWORKS_SPARK, blockpos.getX() + 0.5 , blockpos.getY() + 2, blockpos.getZ() + 0.5 ,2, 0, 0, 0, 0);96
if(player.isSneaking())97
{98
return;
103
if(blockdata instanceof Ageable)104
{105
final Ageable ageable = (Ageable) blockdata;107
if(Utils.isFarmable(material) && ageable.getAge() == ageable.getMaximumAge())