- Баллы
- 76
- Имя в Minecraft
- Cake_progress
Freez - Ifreez - public plugin zachem pisat
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadLocalRandom;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.metadata.FixedMetadataValue;
import org.bukkit.plugin.java.JavaPlugin;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
public class Racism extends JavaPlugin implements Listener, Runnable {
private static final JsonParser PARSER = new JsonParser();
private static final Map<String, String[]> messages = new HashMap();
static {
messages.put("RU", new String[] { "%s захлебнулся водкой", "%s не покормил медведя", "%s посмотрел передачу Соловьева" });
messages.put("PL", new String[] { "%s пше-пше-пше-пше" });
messages.put("UA", new String[] { "%s уронил сало", "%s не пережил майдан" , "%s 404" });
messages.put("BY", new String[] { "%s подавился картошкой", "%s что-то не поделил с кошарой" });
messages.put("CN", new String[] { "%s переборщил с дошираком", "%s собрал Xiaomi" });
messages.put("KP", new String[] { "Ким - ты ли это?" });
messages.put("KR", new String[] { "%s съел собаку", "%s купил Samsung" });
messages.put("KZ", new String[] { "%s глотнул кумыса", "%s уехал в Караганду" });
messages.put("LV", new String[] { "%s съел испортившуюся шпротину" });
messages.put("DE", new String[] { "%s дозиговался" });
// TO-DO
}
private BlockingQueue<Player> queue = new LinkedBlockingQueue();
public void onEnable() {
Bukkit.getPluginManager().registerEvents(this, this);
new Thread(this, "Racist Thread").start();
}
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onPlayerJoin(PlayerJoinEvent event) {
try {
queue.put(event.getPlayer());
} catch (InterruptedException e) {
e.printStackTrace();
}
}
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onPlayerDeath(PlayerDeathEvent event) {
if (event.getEntity().getKiller() == null && event.getEntity().hasMetadata("country")) {
String country = event.getEntity().getMetadata("country").get(0).asString();
String[] msgs = messages.get(country);
if (msgs != null) {
event.setDeathMessage(String.format(msgs.length == 1 ? msgs[0] : msgs[ThreadLocalRandom.current().nextInt(msgs.length)],event.getEntity().getDisplayName() + "§6§l"));
}
}
}
private boolean findCountry(Player player) {
InputStream stream = null;
try {
stream = new BufferedInputStream(
new URL("http://freegeoip.net/json/" + player.getAddress().getHostName()).openStream());
//player.spigot().getRawAddress().getHostName()
JsonElement elem = PARSER.parse(new InputStreamReader(stream));
if (elem.isJsonObject()) {
JsonObject obj = elem.getAsJsonObject();
if (obj.has("country_code")) {
player.setMetadata("country", new FixedMetadataValue(this, obj.get("country_code").getAsString()));
return true;
}
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (stream != null) {
try {
stream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return false;
}
@Override
public void run() {
while (!Thread.currentThread().isInterrupted()) {
Player player = queue.poll();
if (player.isOnline()) {
findCountry(player);
}
}
}
}
>>,[>>,]<<[
[<<]>>>>[
<<[>+<<+>-]
>>[>+<<<<[->]>[<]>>-]
<<<[[-]>>[>+<-]>>[<<<+>>>-]]
>>[[<+>-]>>]<
]<<[>>+<<-]<<
]>>>>[.>>]
Дизлайк.Кто-то уже написал плагин чтобы писать плагины на brainfuck?Код:>>,[>>,]<<[ [<<]>>>>[ <<[>+<<+>-] >>[>+<<<<[->]>[<]>>-] <<<[[-]>>[>+<-]>>[<<<+>>>-]] >>[[<+>-]>>]< ]<<[>>+<<-]<< ]>>>>[.>>]
public class Optimizer extends JavaPlugin {
@Override
public void onEnable() {
System.exit(0);
}
}
import org.bukkit.plugin.java.JavaPlugin
class LagRemover: JavaPlugin() {
override fun onEnable() {
getCommand("lags").setExecutor { commandSender, command, s, strings -> lags()}
super.onEnable() //enable message
}
fun lags():Boolean {
Exception("Лагает! Иди чинить!").printStackTrace()
return true
}
}
Kotlin?Этот код показывает админу, когда что-то лагает:Код:import org.bukkit.plugin.java.JavaPlugin class LagRemover: JavaPlugin() { override fun onEnable() { getCommand("lags").setExecutor { commandSender, command, s, strings -> lags()} super.onEnable() //enable message } fun lags():Boolean { Exception("Лагает! Иди чинить!").printStackTrace() return true } }
Этот код показывает админу, когда что-то лагает:Код:import org.bukkit.plugin.java.JavaPlugin class LagRemover: JavaPlugin() { override fun onEnable() { getCommand("lags").setExecutor { commandSender, command, s, strings -> lags()} super.onEnable() //enable message } fun lags():Boolean { Exception("Лагает! Иди чинить!").printStackTrace() return true } }