VulnerabilityPatcher/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Trident_Riptide.java
2019-01-20 01:33:46 +01:00

71 lines
2.2 KiB
Java

package me.cooljwb.vulnerabilitypatcher.patches;
import me.cooljwb.vulnerabilitypatcher.SMG;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
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.PlayerInteractEvent;
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.event.player.PlayerRiptideEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.scheduler.BukkitScheduler;
import java.util.HashMap;
/*
* Copyright 2019 CoolJWB
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* @author CoolJWB
*/
public class Trident_Riptide extends Patches implements Listener {
private HashMap<Player, Integer> enchantlevel = new HashMap<>();
@EventHandler
public void onPlayerInteractEvent(PlayerInteractEvent event) {
Player player = event.getPlayer();
ItemStack item = event.getItem();
if(item != null) {
if(item.getType() == Material.TRIDENT) {
if(item.getEnchantmentLevel(Enchantment.RIPTIDE) > 10) {
enchantlevel.put(player, item.getEnchantmentLevel(Enchantment.RIPTIDE));
item.removeEnchantment(Enchantment.RIPTIDE);
item.addUnsafeEnchantment(Enchantment.RIPTIDE, 10);
}
}
}
}
@EventHandler
public void onPlayerRiptideEvent(PlayerRiptideEvent event) {
Player player = event.getPlayer();
ItemStack item = event.getItem();
if(enchantlevel.containsKey(player)) {
item.removeEnchantment(Enchantment.RIPTIDE);
item.addUnsafeEnchantment(Enchantment.RIPTIDE, enchantlevel.get(player));
}
}
}