Java Code Examples for org.bukkit.block.Skull#setRotation()
The following examples show how to use
org.bukkit.block.Skull#setRotation() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: SkullBlock.java From askyblock with GNU General Public License v2.0 | 6 votes |
@SuppressWarnings("deprecation") public boolean set(Block block) { Skull skull = (Skull) block.getState(); if(skullOwnerName != null){ skull.setOwner(skullOwnerName); } skull.setSkullType(skullType); skull.setRotation(skullRotation); skull.setRawData((byte) skullStanding); // Texture update if(skullTextureValue != null){ setSkullWithNonPlayerProfile(skullTextureValue, skullTextureSignature, skullOwnerUUID, skullOwnerName, skull); } skull.update(true, false); return true; }
Example 2
Source File: PlayerHeadProvider.java From UHC with MIT License | 5 votes |
public void setBlockAsHead(String name, Block headBlock, BlockFaceXZ direction) { // set the type to skull headBlock.setType(Material.SKULL); headBlock.setData((byte) 1); final Skull state = (Skull) headBlock.getState(); state.setSkullType(SkullType.PLAYER); state.setOwner(name); state.setRotation(direction.getBlockFace()); state.update(); }
Example 3
Source File: PlayersManager.java From UhcCore with GNU General Public License v3.0 | 4 votes |
public void killOfflineUhcPlayer(UhcPlayer uhcPlayer, @Nullable Location location, Set<ItemStack> playerDrops, @Nullable Player killer){ GameManager gm = GameManager.getGameManager(); PlayersManager pm = gm.getPlayersManager(); MainConfiguration cfg = gm.getConfiguration(); if (uhcPlayer.getState() != PlayerState.PLAYING){ Bukkit.getLogger().warning("[UhcCore] " + uhcPlayer.getName() + " died while already in 'DEAD' mode!"); return; } // kill event if(killer != null){ UhcPlayer uhcKiller = pm.getUhcPlayer(killer); uhcKiller.kills++; // Call Bukkit event UhcPlayerKillEvent killEvent = new UhcPlayerKillEvent(uhcKiller, uhcPlayer); Bukkit.getServer().getPluginManager().callEvent(killEvent); if(cfg.getEnableKillEvent()){ double reward = cfg.getRewardKillEvent(); List<String> killCommands = cfg.getKillCommands(); if (reward > 0) { VaultManager.addMoney(killer, reward); if (!Lang.EVENT_KILL_REWARD.isEmpty()) { killer.sendMessage(Lang.EVENT_KILL_REWARD.replace("%money%", "" + reward)); } } killCommands.forEach(cmd -> { try { Bukkit.dispatchCommand(Bukkit.getConsoleSender(), cmd.replace("%name%", killer.getName())); } catch (CommandException exception) { Bukkit.getLogger().warning("[UhcCore] Failed to execute kill reward command: " + cmd); exception.printStackTrace(); } }); } } // Store drops in case player gets re-spawned. uhcPlayer.getStoredItems().clear(); uhcPlayer.getStoredItems().addAll(playerDrops); // eliminations ScenarioManager sm = gm.getScenarioManager(); if (!sm.isActivated(Scenario.SILENTNIGHT) || !((SilentNightListener) sm.getScenarioListener(Scenario.SILENTNIGHT)).isNightMode()) { gm.broadcastInfoMessage(Lang.PLAYERS_ELIMINATED.replace("%player%", uhcPlayer.getName())); } if(cfg.getRegenHeadDropOnPlayerDeath()){ playerDrops.add(UhcItems.createRegenHead(uhcPlayer)); } if(location != null && cfg.getEnableGoldenHeads()){ if (cfg.getPlaceHeadOnFence() && !gm.getScenarioManager().isActivated(Scenario.TIMEBOMB)){ // place head on fence Location loc = location.clone().add(1,0,0); loc.getBlock().setType(UniversalMaterial.OAK_FENCE.getType()); loc.add(0, 1, 0); loc.getBlock().setType(UniversalMaterial.PLAYER_HEAD_BLOCK.getType()); Skull skull = (Skull) loc.getBlock().getState(); VersionUtils.getVersionUtils().setSkullOwner(skull, uhcPlayer); skull.setRotation(BlockFace.NORTH); skull.update(); }else{ playerDrops.add(UhcItems.createGoldenHeadPlayerSkull(uhcPlayer.getName(), uhcPlayer.getUuid())); } } if(location != null && cfg.getEnableExpDropOnDeath()){ UhcItems.spawnExtraXp(location, cfg.getExpDropOnDeath()); } if (location != null){ playerDrops.forEach(item -> location.getWorld().dropItem(location, item)); } uhcPlayer.setState(PlayerState.DEAD); pm.strikeLightning(uhcPlayer); pm.playSoundPlayerDeath(); pm.checkIfRemainingPlayers(); }
Example 4
Source File: PlayerDeathListener.java From UhcCore with GNU General Public License v3.0 | 4 votes |
@EventHandler(priority = EventPriority.HIGH) public void onPlayerDeath(PlayerDeathEvent event){ Player player = event.getEntity(); GameManager gm = GameManager.getGameManager(); PlayersManager pm = gm.getPlayersManager(); MainConfiguration cfg = gm.getConfiguration(); UhcPlayer uhcPlayer = pm.getUhcPlayer(player); if (uhcPlayer.getState() != PlayerState.PLAYING){ Bukkit.getLogger().warning("[UhcCore] " + player.getName() + " died while already in 'DEAD' mode!"); player.kickPlayer("Don't cheat!"); return; } pm.setLastDeathTime(); // kill event Player killer = player.getKiller(); if(killer != null){ UhcPlayer uhcKiller = pm.getUhcPlayer(killer); uhcKiller.kills++; // Call Bukkit event UhcPlayerKillEvent killEvent = new UhcPlayerKillEvent(uhcPlayer, uhcKiller); Bukkit.getServer().getPluginManager().callEvent(killEvent); if(cfg.getEnableKillEvent()){ double reward = cfg.getRewardKillEvent(); List<String> killCommands = cfg.getKillCommands(); if (reward > 0) { VaultManager.addMoney(killer, reward); if (!Lang.EVENT_KILL_REWARD.isEmpty()) { killer.sendMessage(Lang.EVENT_KILL_REWARD.replace("%money%", "" + reward)); } } // If the list is empty, this will never execute killCommands.forEach(cmd -> { try { Bukkit.dispatchCommand(Bukkit.getConsoleSender(), cmd.replace("%name%", uhcKiller.getRealName())); } catch (CommandException exception){ Bukkit.getLogger().warning("[UhcCore] Failed to execute kill reward command: " + cmd); exception.printStackTrace(); } }); } } // Store drops in case player gets re-spawned. uhcPlayer.getStoredItems().clear(); uhcPlayer.getStoredItems().addAll(event.getDrops()); // eliminations ScenarioManager sm = gm.getScenarioManager(); if (!sm.isActivated(Scenario.SILENTNIGHT) || !((SilentNightListener) sm.getScenarioListener(Scenario.SILENTNIGHT)).isNightMode()) { gm.broadcastInfoMessage(Lang.PLAYERS_ELIMINATED.replace("%player%", player.getName())); } if(cfg.getRegenHeadDropOnPlayerDeath()){ event.getDrops().add(UhcItems.createRegenHead(uhcPlayer)); } if(cfg.getEnableGoldenHeads()){ if (cfg.getPlaceHeadOnFence() && !gm.getScenarioManager().isActivated(Scenario.TIMEBOMB)){ // place head on fence Location loc = player.getLocation().clone().add(1,0,0); loc.getBlock().setType(UniversalMaterial.OAK_FENCE.getType()); loc.add(0, 1, 0); loc.getBlock().setType(UniversalMaterial.PLAYER_HEAD_BLOCK.getType()); Skull skull = (Skull) loc.getBlock().getState(); VersionUtils.getVersionUtils().setSkullOwner(skull, uhcPlayer); skull.setRotation(BlockFace.NORTH); skull.update(); }else{ event.getDrops().add(UhcItems.createGoldenHeadPlayerSkull(player.getName(), player.getUniqueId())); } } if(cfg.getEnableExpDropOnDeath()){ UhcItems.spawnExtraXp(player.getLocation(), cfg.getExpDropOnDeath()); } uhcPlayer.setState(PlayerState.DEAD); pm.strikeLightning(uhcPlayer); pm.playSoundPlayerDeath(); // handle player leaving the server boolean canContinueToSpectate = player.hasPermission("uhc-core.spectate.override") || cfg.getCanSpectateAfterDeath(); if (!canContinueToSpectate) { if (cfg.getEnableBungeeSupport()) { Bukkit.getScheduler().runTaskAsynchronously(UhcCore.getPlugin(), new TimeBeforeSendBungeeThread(uhcPlayer, cfg.getTimeBeforeSendBungeeAfterDeath())); } else { player.kickPlayer(Lang.DISPLAY_MESSAGE_PREFIX + " " + Lang.KICK_DEAD); } } pm.checkIfRemainingPlayers(); }
Example 5
Source File: ExtensionLeaderboardPodium.java From HeavySpleef with GNU General Public License v3.0 | 4 votes |
@SuppressWarnings("deprecation") public void update(Map<String, Statistic> statistics, boolean forceBlocks, boolean delete) { BlockFace2D rightDir = direction.right(); BlockFace2D leftDir = direction.left(); BlockFace rightFace = rightDir.getBlockFace3D(); BlockFace leftFace = leftDir.getBlockFace3D(); Block baseBlock = baseLocation.getBlock(); if (delete) { baseBlock.setType(Material.AIR); } SignLayout layout = layoutConfig.getLayout(); Iterator<Entry<String, Statistic>> iterator = statistics != null ? statistics.entrySet().iterator() : null; for (int i = 0; i < size.getStatisticAmount(); i++) { Entry<String, Statistic> entry = iterator != null && iterator.hasNext() ? iterator.next() : null; Block position = null; Material type = null; switch (i) { case 0: //Top position = baseBlock.getRelative(BlockFace.UP); type = Material.DIAMOND_BLOCK; break; case 1: //First left position = baseBlock.getRelative(leftFace); type = Material.GOLD_BLOCK; break; case 2: //First right position = baseBlock.getRelative(rightFace); type = Material.IRON_BLOCK; break; case 3: //Second left position = baseBlock.getRelative(leftFace, 2); type = Material.DOUBLE_STEP; break; case 4: //Second right position = baseBlock.getRelative(rightFace, 2); type = Material.DOUBLE_STEP; break; } if (position == null) { continue; } Block signBlock = position.getRelative(direction.getBlockFace3D()); Block skullBlock = position.getRelative(BlockFace.UP); if (delete) { signBlock.setType(Material.AIR); skullBlock.setType(Material.AIR); position.setType(Material.AIR); continue; } if (baseBlock.getType() == Material.AIR || forceBlocks) { baseBlock.setType(Material.DOUBLE_STEP); } if (position.getType() == Material.AIR || forceBlocks) { position.setType(type); } if (entry == null) { continue; } /* For legacy reasons and compatibility */ signBlock.setTypeId(Material.WALL_SIGN.getId(), false); skullBlock.setTypeId(Material.SKULL.getId(), false); Skull skull = (Skull) skullBlock.getState(); skull.setRotation(direction.getBlockFace3D()); skull.setSkullType(SkullType.PLAYER); skull.setOwner(entry.getKey()); skull.setRawData(SKULL_ON_FLOOR); skull.update(true, false); Sign sign = (Sign) signBlock.getState(); Set<Variable> variables = Sets.newHashSet(); entry.getValue().supply(variables, null); variables.add(new Variable("player", entry.getKey())); variables.add(new Variable("rank", i + 1)); layout.inflate(sign, variables); org.bukkit.material.Sign data = new org.bukkit.material.Sign(Material.WALL_SIGN); data.setFacingDirection(direction.getBlockFace3D()); sign.setData(data); sign.update(); } }