parent
c37b23b71a
commit
29a98733b7
6 changed files with 175 additions and 2 deletions
@ -0,0 +1,47 @@ |
|||||||
|
package xyz.mineconomia.mineconomiacore.commands; |
||||||
|
|
||||||
|
import org.bukkit.ChatColor; |
||||||
|
import org.bukkit.block.Sign; |
||||||
|
import org.bukkit.command.Command; |
||||||
|
import org.bukkit.command.CommandSender; |
||||||
|
import org.bukkit.command.TabExecutor; |
||||||
|
import org.bukkit.entity.Player; |
||||||
|
import org.jetbrains.annotations.NotNull; |
||||||
|
import org.jetbrains.annotations.Nullable; |
||||||
|
import xyz.mineconomia.mineconomiacore.handlers.SignHandler; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
import static xyz.mineconomia.mineconomiacore.MineconomiaCore.getArgs; |
||||||
|
|
||||||
|
public class editSign implements TabExecutor { |
||||||
|
@Override |
||||||
|
public boolean onCommand(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, @NotNull String[] args) { |
||||||
|
StringBuilder argsString = new StringBuilder(); |
||||||
|
for (String ss : args) { |
||||||
|
argsString.append(ChatColor.translateAlternateColorCodes('&', ss)).append(" "); |
||||||
|
} |
||||||
|
List<String> pArgs = getArgs(argsString.toString()); |
||||||
|
if (pArgs.size() != 2){ |
||||||
|
commandSender.sendMessage(ChatColor.RED + "špatný počet argumentů"); |
||||||
|
return false; |
||||||
|
} |
||||||
|
Player player = (Player) commandSender; |
||||||
|
|
||||||
|
if (!(player.getTargetBlock(null, 5).getState() instanceof Sign sign)){ |
||||||
|
|
||||||
|
commandSender.sendMessage(ChatColor.RED + "musíš se dívat na cedulku"); |
||||||
|
return false; |
||||||
|
} |
||||||
|
sign.setLine(Integer.parseInt(pArgs.get(0))-1, pArgs.get(1)); |
||||||
|
commandSender.sendMessage(ChatColor.GREEN + "Cedulka upravena"); |
||||||
|
sign.update(); |
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
@Nullable |
||||||
|
@Override |
||||||
|
public List<String> onTabComplete(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, @NotNull String[] strings) { |
||||||
|
return List.of(); |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,48 @@ |
|||||||
|
package xyz.mineconomia.mineconomiacore.commands; |
||||||
|
|
||||||
|
import org.bukkit.ChatColor; |
||||||
|
import org.bukkit.block.Sign; |
||||||
|
import org.bukkit.command.Command; |
||||||
|
import org.bukkit.command.CommandSender; |
||||||
|
import org.bukkit.command.TabExecutor; |
||||||
|
import org.bukkit.entity.Player; |
||||||
|
import org.jetbrains.annotations.NotNull; |
||||||
|
import org.jetbrains.annotations.Nullable; |
||||||
|
import xyz.mineconomia.mineconomiacore.handlers.SignHandler; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
import static xyz.mineconomia.mineconomiacore.MineconomiaCore.getArgs; |
||||||
|
|
||||||
|
public class setSign implements TabExecutor { |
||||||
|
@Override |
||||||
|
public boolean onCommand(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, @NotNull String[] args) { |
||||||
|
|
||||||
|
StringBuilder argsString = new StringBuilder(); |
||||||
|
for (String ss : args) { |
||||||
|
argsString.append(ChatColor.translateAlternateColorCodes('&', ss)).append(" "); |
||||||
|
} |
||||||
|
List<String> pArgs = getArgs(argsString.toString()); |
||||||
|
if (pArgs.size() != 4){ |
||||||
|
commandSender.sendMessage(ChatColor.RED + "špatný počet argumentů"); |
||||||
|
return false; |
||||||
|
} |
||||||
|
Player player = (Player) commandSender; |
||||||
|
|
||||||
|
if (!(player.getTargetBlock(null, 5).getState() instanceof Sign sign)){ |
||||||
|
|
||||||
|
commandSender.sendMessage(ChatColor.RED + "musíš se dívat na cedulku"); |
||||||
|
return false; |
||||||
|
} |
||||||
|
SignHandler.changeSignText(sign, pArgs.get(0), pArgs.get(1), pArgs.get(2), pArgs.get(3)); |
||||||
|
commandSender.sendMessage(ChatColor.GREEN + "Cedulka nastavena"); |
||||||
|
sign.update(); |
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
@Nullable |
||||||
|
@Override |
||||||
|
public List<String> onTabComplete(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, @NotNull String[] strings) { |
||||||
|
return List.of(); |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,19 @@ |
|||||||
|
package xyz.mineconomia.mineconomiacore.events; |
||||||
|
|
||||||
|
import org.bukkit.ChatColor; |
||||||
|
import org.bukkit.event.EventHandler; |
||||||
|
import org.bukkit.event.Listener; |
||||||
|
import org.bukkit.event.block.SignChangeEvent; |
||||||
|
|
||||||
|
|
||||||
|
import java.util.Objects; |
||||||
|
|
||||||
|
public class signComplete implements Listener { |
||||||
|
@EventHandler |
||||||
|
public void signCreate(SignChangeEvent event){ |
||||||
|
|
||||||
|
for (int i = 0; 4 > i; i++){ |
||||||
|
event.setLine(i, ChatColor.translateAlternateColorCodes('&', Objects.requireNonNull(event.getLine(i)))); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,35 @@ |
|||||||
|
package xyz.mineconomia.mineconomiacore.events; |
||||||
|
|
||||||
|
import org.bukkit.Particle; |
||||||
|
import org.bukkit.Sound; |
||||||
|
import org.bukkit.entity.*; |
||||||
|
import org.bukkit.event.EventHandler; |
||||||
|
import org.bukkit.event.Listener; |
||||||
|
import org.bukkit.event.player.PlayerInteractEntityEvent; |
||||||
|
import org.bukkit.inventory.EquipmentSlot; |
||||||
|
|
||||||
|
public class toggleFrame implements Listener { |
||||||
|
@EventHandler |
||||||
|
public void frameToggle(PlayerInteractEntityEvent event){ |
||||||
|
Entity entity = event.getRightClicked(); |
||||||
|
Player player = event.getPlayer(); |
||||||
|
if (entity.getType() != EntityType.ITEM_FRAME){ |
||||||
|
return; |
||||||
|
} |
||||||
|
|
||||||
|
if (!player.isSneaking()){ |
||||||
|
return; |
||||||
|
} |
||||||
|
event.setCancelled(true); |
||||||
|
if (event.getHand() == EquipmentSlot.OFF_HAND) { |
||||||
|
return; |
||||||
|
} |
||||||
|
ItemFrame itemFrame = (ItemFrame) entity; |
||||||
|
itemFrame.setVisible(!itemFrame.isVisible()); |
||||||
|
player.playSound(itemFrame, Sound.ITEM_HOE_TILL, 100, 1); |
||||||
|
player.spawnParticle(Particle.EXPLOSION_NORMAL, itemFrame.getLocation(), 0); |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
} |
||||||
|
} |
||||||
Loading…
Reference in new issue