Add Custom sentence when boy milk is drain.
Correct absorption not given
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
1
.idea/gradle.xml
generated
1
.idea/gradle.xml
generated
@@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="GradleMigrationSettings" migrationVersion="1" />
|
||||
<component name="GradleSettings">
|
||||
<option name="linkedExternalProjectsSettings">
|
||||
<GradleProjectSettings>
|
||||
|
||||
@@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
group = 'fr.trollfury'
|
||||
version = '1.0'
|
||||
version = '1.3'
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
{"stats":{"minecraft:picked_up":{"minecraft:andesite":1,"minecraft:granite":4,"minecraft:iron_ore":9,"minecraft:diorite":3,"minecraft:redstone":27,"minecraft:iron_sword":1,"minecraft:dirt":17,"minecraft:cobblestone":83},"minecraft:dropped":{"minecraft:iron_sword":1},"minecraft:used":{"minecraft:cobblestone":1,"minecraft:iron_pickaxe":110},"minecraft:custom":{"minecraft:time_since_rest":26439,"minecraft:open_chest":26,"minecraft:play_one_minute":26439,"minecraft:interact_with_furnace":4,"minecraft:damage_taken":105,"minecraft:walk_one_cm":78683,"minecraft:walk_under_water_one_cm":612,"minecraft:drop":1,"minecraft:jump":74,"minecraft:leave_game":2,"minecraft:walk_on_water_one_cm":7041,"minecraft:time_since_death":26439,"minecraft:climb_one_cm":107,"minecraft:swim_one_cm":647,"minecraft:fall_one_cm":1762,"minecraft:fly_one_cm":770},"minecraft:mined":{"minecraft:granite":4,"minecraft:redstone_ore":6,"minecraft:dirt":17,"minecraft:iron_ore":9,"minecraft:stone":83,"minecraft:andesite":1,"minecraft:diorite":3}},"DataVersion":1631}
|
||||
@@ -1,7 +1,10 @@
|
||||
package fr.trollfury.femboy;
|
||||
|
||||
import fr.trollfury.femboy.commands.PingCommand;
|
||||
import fr.trollfury.femboy.commands.UpdateScoreboard;
|
||||
import fr.trollfury.femboy.listeners.BoyMilkListeners;
|
||||
import fr.trollfury.femboy.listeners.BoyMilkDrinkedListener;
|
||||
import fr.trollfury.femboy.utils.CustomSentenceBoyMilk;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
public final class Main extends JavaPlugin {
|
||||
@@ -10,6 +13,9 @@ public final class Main extends JavaPlugin {
|
||||
public void onEnable() {
|
||||
getCommand("ping").setExecutor(new PingCommand());
|
||||
getServer().getPluginManager().registerEvents(new BoyMilkListeners(), this);
|
||||
getServer().getPluginManager().registerEvents(new BoyMilkDrinkedListener(), this);
|
||||
getCommand("updatescoreboard").setExecutor(new UpdateScoreboard());
|
||||
getCommand("updatescoreboard").setTabCompleter(new UpdateScoreboard());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
102
src/main/java/fr/trollfury/femboy/commands/UpdateScoreboard.java
Normal file
102
src/main/java/fr/trollfury/femboy/commands/UpdateScoreboard.java
Normal file
@@ -0,0 +1,102 @@
|
||||
package fr.trollfury.femboy.commands;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.Statistic;
|
||||
import org.bukkit.command.*;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.scoreboard.Objective;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
public class UpdateScoreboard implements CommandExecutor, TabExecutor {
|
||||
|
||||
@Override
|
||||
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
||||
if(sender instanceof Player){
|
||||
Player p = (Player) sender;
|
||||
|
||||
if(args.length > 1) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if(args.length == 1) {
|
||||
switch (args[0].toLowerCase()) {
|
||||
case "beacon":
|
||||
Arrays.stream(p.getServer().getOfflinePlayers()).toList().forEach(oPLayer -> {
|
||||
int beaconStat = oPLayer.getStatistic(Statistic.CRAFT_ITEM, Material.BEACON);
|
||||
if(oPLayer.getName() != null) {
|
||||
if(p.getScoreboard().getObjective("rwby").getScore(oPLayer.getName()) != null) {
|
||||
p.getScoreboard().getObjective("rwby").getScore(oPLayer.getName()).setScore(beaconStat);
|
||||
}
|
||||
}
|
||||
});
|
||||
p.getWorld().getPlayers().forEach(player -> {
|
||||
int beaconStat = player.getStatistic(Statistic.CRAFT_ITEM, Material.BEACON);
|
||||
player.getScoreboard().getObjective("rwby").getScore(player.getName()).setScore(beaconStat);
|
||||
});
|
||||
break;
|
||||
case "netherite":
|
||||
Arrays.stream(p.getServer().getOfflinePlayers()).toList().forEach(oPLayer -> {
|
||||
int beaconStat = oPLayer.getStatistic(Statistic.MINE_BLOCK, Material.ANCIENT_DEBRIS);
|
||||
if(oPLayer.getName() != null) {
|
||||
if(p.getScoreboard().getObjective("netherite").getScore(oPLayer.getName()) != null) {
|
||||
p.getScoreboard().getObjective("netherite").getScore(oPLayer.getName()).setScore(beaconStat);
|
||||
}
|
||||
}
|
||||
});
|
||||
p.getWorld().getPlayers().forEach(player -> {
|
||||
int beaconStat = player.getStatistic(Statistic.MINE_BLOCK, Material.ANCIENT_DEBRIS);
|
||||
player.getScoreboard().getObjective("netherite").getScore(player.getName()).setScore(beaconStat);
|
||||
});
|
||||
break;
|
||||
case "rolex":
|
||||
Arrays.stream(p.getServer().getOfflinePlayers()).toList().forEach(oPLayer -> {
|
||||
int beaconStat = oPLayer.getStatistic(Statistic.CRAFT_ITEM, Material.DIAMOND_HOE);
|
||||
if(oPLayer.getName() != null) {
|
||||
if(p.getScoreboard().getObjective("netherite").getScore(oPLayer.getName()) != null) {
|
||||
p.getScoreboard().getObjective("netherite").getScore(oPLayer.getName()).setScore(beaconStat);
|
||||
}
|
||||
}
|
||||
});
|
||||
p.getWorld().getPlayers().forEach(player -> {
|
||||
int beaconStat = player.getStatistic(Statistic.CRAFT_ITEM, Material.DIAMOND_HOE);
|
||||
player.getScoreboard().getObjective("rolex").getScore(player.getName()).setScore(beaconStat);
|
||||
});
|
||||
break;
|
||||
case "time":
|
||||
Arrays.stream(p.getServer().getOfflinePlayers()).toList().forEach(oPLayer -> {
|
||||
int beaconStat = oPLayer.getStatistic(Statistic.TOTAL_WORLD_TIME);
|
||||
if(oPLayer.getName() != null) {
|
||||
if(p.getScoreboard().getObjective("total_time").getScore(oPLayer.getName()) != null) {
|
||||
p.getScoreboard().getObjective("total_time").getScore(oPLayer.getName()).setScore(beaconStat);
|
||||
}
|
||||
}
|
||||
});
|
||||
p.getWorld().getPlayers().forEach(player -> {
|
||||
int beaconStat = player.getStatistic(Statistic.TOTAL_WORLD_TIME);
|
||||
player.getScoreboard().getObjective("total_time").getScore(player.getName()).setScore(beaconStat);
|
||||
});
|
||||
break;
|
||||
default:break;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
} else sender.sendMessage("Cette commande ne peux pas etre effectuer en console.");
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
||||
if(args.length == 1) {
|
||||
return Arrays.asList("beacon","netherite","rolex","time");
|
||||
}
|
||||
return new ArrayList<>();
|
||||
}
|
||||
}
|
||||
@@ -1,19 +1,18 @@
|
||||
package fr.trollfury.femboy.listeners;
|
||||
|
||||
import fr.trollfury.femboy.utils.CustomSentenceBoyMilk;
|
||||
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.player.PlayerInteractAtEntityEvent;
|
||||
import org.bukkit.event.player.PlayerInteractEntityEvent;
|
||||
import org.bukkit.inventory.EquipmentSlot;
|
||||
import org.bukkit.inventory.ItemFlag;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class BoyMilkListeners implements Listener {
|
||||
|
||||
@@ -28,14 +27,22 @@ public class BoyMilkListeners implements Listener {
|
||||
ItemStack item = new ItemStack(Material.MILK_BUCKET);
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
meta.setItemName("§dBoy Milk");
|
||||
meta.setLore(Collections.singletonList("Semence récupérée sur §b§o" + target.getPlayer().getDisplayName()));
|
||||
meta.setLore(Collections.singletonList("Récupérée sur §b§o" + target.getPlayer().getDisplayName()));
|
||||
meta.addEnchant(Enchantment.INFINITY, 1, true);
|
||||
meta.addItemFlags(ItemFlag.HIDE_ENCHANTS);
|
||||
item.setItemMeta(meta);
|
||||
|
||||
p.getItemInHand().setAmount(p.getItemInHand().getAmount() - 1);
|
||||
p.getInventory().addItem(item);
|
||||
p.getServer().broadcastMessage("§d§o" + p.getName() + " a récupéré quelque chose sur " + target.getName());
|
||||
|
||||
p.getServer().getWorlds().forEach(world -> {
|
||||
world.getPlayers().forEach(player -> {
|
||||
player.sendMessage("§d§o" + p.getName() + " a récupéré quelque chose sur " + target.getName());
|
||||
CustomSentenceBoyMilk customSentence = new CustomSentenceBoyMilk();
|
||||
customSentence.setupCustomSentence();
|
||||
player.sendMessage(customSentence.getRandomSentence());
|
||||
});
|
||||
});
|
||||
break;
|
||||
default:break;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
package fr.trollfury.femboy.utils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class CustomSentenceBoyMilk {
|
||||
private List<String> customSentence = new ArrayList<>();
|
||||
|
||||
public void CustomSentenceBoyMilk() {}
|
||||
|
||||
public List<String> getList() {
|
||||
return customSentence;
|
||||
}
|
||||
|
||||
public void addList(String sentence) {
|
||||
customSentence.add(sentence);
|
||||
}
|
||||
|
||||
public String getRandomSentence() {
|
||||
int n = (int)(Math.random() * this.customSentence.size());
|
||||
return this.customSentence.get(n);
|
||||
}
|
||||
|
||||
public void setupCustomSentence() {
|
||||
this.addList("§d§oChat is it gay drain boy milk from my homies ?");
|
||||
this.addList("§d§oIs it gay if I kiss my homies but I'm wearing socks ?");
|
||||
this.addList("§d§oIs it gay if I like femboy on my social media feed ?");
|
||||
this.addList("§d§oYou like female ? Don't forget there are male in fe§nmale§r§d§o. Think about it");
|
||||
this.addList("§d§o§c#§6g§ea§ay §b#§3l§9e§1s§5b§di§ca§6n §e#§ab§bi§3s§9e§1x§5u§da§cl §dAll the gay hashtags are rainbow. Now Watch #kissingTheHommiesGoodNight See it's not gay !");
|
||||
this.addList("§d§oAs long as you're wearing thigh highs...");
|
||||
this.addList("§d§oAin't gay if the programming socks are on !");
|
||||
this.addList("§d§oYou like kissing boys don't you?");
|
||||
this.addList("§d§oBoys makes the best girls :3");
|
||||
this.addList("§d§oThere's 'male' in 'female', think about it you GAY");
|
||||
this.addList("§d§oProgramming socks are high, 'cuz it's for blood circulation.");
|
||||
this.addList("§d§oY-you want b-boi m-milk?? >w<");
|
||||
this.addList("§d§oSir, this is a Femboy Hooters !");
|
||||
this.addList("§d§oDEMOCRATS are turning the frogs GAY!");
|
||||
this.addList("§d§oCan I have a cup of your *special* milk?");
|
||||
}
|
||||
}
|
||||
@@ -2,5 +2,5 @@ package fr.trollfury.femboy.utils;
|
||||
|
||||
public class Reference {
|
||||
public static final String NAME = "Femboy";
|
||||
public static final String VERSION = "1.0";
|
||||
public static final String VERSION = "1.3";
|
||||
}
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
name: femboy
|
||||
version: '1.0'
|
||||
version: '1.3'
|
||||
main: fr.trollfury.femboy.Main
|
||||
api-version: '1.21'
|
||||
commands:
|
||||
ping:
|
||||
description: "Commande par defaut"
|
||||
usage: /<command>
|
||||
updatescoreboard:
|
||||
description: "Actualiser les scoreboard directement avec les stats de chaque personne"
|
||||
usage: /<command>
|
||||
|
||||
Reference in New Issue
Block a user