Skip to content

Commit 802b1f0

Browse files
committed
Replaced features of ResPwn
I didn't like that it didn't support unsafe enchantments. I don't have armor or full potion effects setup yet, but main and offhand is the same.
1 parent 5a24f28 commit 802b1f0

File tree

5 files changed

+157
-3
lines changed

5 files changed

+157
-3
lines changed

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>net.TylerS1066.Beaming</groupId>
88
<artifactId>BeamingPlugin</artifactId>
9-
<version>1.2.7</version>
9+
<version>1.3.9</version>
1010
<packaging>jar</packaging>
1111

1212
<name>BeamingPlugin</name>
@@ -69,7 +69,7 @@
6969
<dependency>
7070
<groupId>org.spigotmc</groupId>
7171
<artifactId>spigot-api</artifactId>
72-
<version>1.16.1-R0.1-SNAPSHOT</version>
72+
<version>1.16.2-R0.1-SNAPSHOT</version>
7373
<scope>provided</scope>
7474
</dependency>
7575
</dependencies>

src/main/java/net/tylers1066/beaming/BeamingPlugin.java

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
11
package net.tylers1066.beaming;
22

3+
import org.bukkit.Material;
4+
import org.bukkit.enchantments.Enchantment;
5+
import org.bukkit.inventory.ItemStack;
6+
import org.bukkit.inventory.meta.ItemMeta;
37
import org.bukkit.plugin.java.JavaPlugin;
48
import org.bukkit.event.Listener;
59
import org.bukkit.ChatColor;
610

11+
import java.util.Map;
12+
713
public class BeamingPlugin extends JavaPlugin implements Listener{
814
public final static String PREFIX = ChatColor.DARK_BLUE + "[" + ChatColor.YELLOW + "Beaming" + ChatColor.DARK_BLUE + "] " + ChatColor.RED;
915
private static BeamingPlugin instance;
@@ -16,7 +22,62 @@ static BeamingPlugin getInstance() {
1622
@Override
1723
public void onEnable() {
1824
instance = this;
25+
26+
saveDefaultConfig();
27+
28+
if(getConfig().getBoolean("EnableRespawn", false)) {
29+
try {
30+
Config.EnableRespawn = true;
31+
Config.EnableRespawnStrength = getConfig().getBoolean("EnableRespawnStrength", false);
32+
Config.EnableRespawnSpeed = getConfig().getBoolean("EnableRespawnSpeed", false);
33+
Config.EnableRespawnResistance = getConfig().getBoolean("EnableRespawnResistance", false);
34+
35+
if (getConfig().contains("RespawnMainHand") && getConfig().getBoolean("RespawnMainHand.Use")) {
36+
Config.EnableRespawnMainHand = true;
37+
Config.RespawnMainHand = new ItemStack(Material.getMaterial(getConfig().getString("RespawnMainHand.Item")));
38+
39+
ItemMeta im = Config.RespawnMainHand.getItemMeta();
40+
im.setDisplayName(getConfig().getString("RespawnMainHand.Name"));
41+
im.setLore(getConfig().getStringList("RespawnMainHand.Lore"));
42+
Config.RespawnMainHand.setItemMeta(im);
43+
44+
Map<String, Object> enchants = getConfig().getConfigurationSection("RespawnMainHand.Enchants").getValues(false);
45+
for (String s : enchants.keySet()) {
46+
Object o = enchants.get(s);
47+
if(!(o instanceof Integer))
48+
continue;
49+
50+
Config.RespawnMainHand.addUnsafeEnchantment(Enchantment.getByName(s), (Integer) enchants.get(s));
51+
}
52+
}
53+
if (getConfig().contains("RespawnOffHand") && getConfig().getBoolean("RespawnOffHand.Use")) {
54+
Config.EnableRespawnOffHand = true;
55+
Config.RespawnOffHand = new ItemStack(Material.getMaterial(getConfig().getString("RespawnOffHand.Item")));
56+
57+
ItemMeta im = Config.RespawnOffHand.getItemMeta();
58+
im.setDisplayName(getConfig().getString("RespawnOffHand.Name"));
59+
im.setLore(getConfig().getStringList("RespawnOffHand.Lore"));
60+
Config.RespawnOffHand.setItemMeta(im);
61+
62+
Map<String, Object> enchants = getConfig().getConfigurationSection("RespawnOffHand.Enchants").getValues(false);
63+
for (String s : enchants.keySet()) {
64+
Object o = enchants.get(s);
65+
if(!(o instanceof Integer))
66+
continue;
67+
68+
Config.RespawnOffHand.addUnsafeEnchantment(Enchantment.getByName(s), (Integer) enchants.get(s));
69+
}
70+
}
71+
}
72+
catch (Exception e) {
73+
getLogger().severe("Failed to load config!");
74+
throw e;
75+
}
76+
getLogger().info("Loaded config.");
77+
}
78+
1979
this.getCommand("beam").setExecutor(new BeamingCommand());
80+
2081
getServer().getPluginManager().registerEvents(new DeathListener(), this);
2182
}
2283

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package net.tylers1066.beaming;
2+
3+
import org.bukkit.inventory.ItemStack;
4+
5+
public class Config {
6+
public static boolean EnableRespawn = false;
7+
8+
public static boolean EnableRespawnStrength = false;
9+
public static boolean EnableRespawnSpeed = false;
10+
public static boolean EnableRespawnResistance = false;
11+
12+
public static boolean EnableRespawnMainHand = false;
13+
public static ItemStack RespawnMainHand = null;
14+
public static boolean EnableRespawnOffHand = false;
15+
public static ItemStack RespawnOffHand = null;
16+
}

src/main/java/net/tylers1066/beaming/DeathListener.java

Lines changed: 54 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,67 @@
55
import org.bukkit.event.Listener;
66
import org.bukkit.event.entity.PlayerDeathEvent;
77
import org.bukkit.metadata.FixedMetadataValue;
8+
import org.bukkit.potion.PotionEffect;
9+
import org.bukkit.potion.PotionEffectType;
10+
import org.bukkit.scheduler.BukkitRunnable;
811

912
public class DeathListener implements Listener {
1013
@EventHandler
11-
public void onEntityDeath(PlayerDeathEvent e){
14+
public void onPlayerDeath(PlayerDeathEvent e){
1215
Player p = e.getEntity();
1316
if(p.hasMetadata("beaming") && p.getMetadata("beaming").get(0).asBoolean()) {
1417
e.setDeathMessage(BeamingPlugin.PREFIX + p.getDisplayName() + " beamed to their ship");
1518
p.setMetadata("beaming", new FixedMetadataValue(BeamingPlugin.getInstance(),false));
1619
}
20+
21+
if(!Config.EnableRespawn) {
22+
return;
23+
}
24+
25+
if(Config.EnableRespawnMainHand) {
26+
new BukkitRunnable() {
27+
@Override
28+
public void run() {
29+
p.getInventory().setHeldItemSlot(0);
30+
p.getInventory().setItemInMainHand(Config.RespawnMainHand);
31+
}
32+
}.runTaskLater(BeamingPlugin.getInstance(), 5L);
33+
}
34+
if(Config.EnableRespawnOffHand) {
35+
new BukkitRunnable() {
36+
@Override
37+
public void run() {
38+
BeamingPlugin.getInstance().getLogger().info("Offhand: " + Config.RespawnOffHand.toString());
39+
p.getInventory().setItemInOffHand(Config.RespawnOffHand);
40+
}
41+
}.runTaskLater(BeamingPlugin.getInstance(), 5L);
42+
}
43+
else {
44+
BeamingPlugin.getInstance().getLogger().info("Not offhand?");
45+
}
46+
if(Config.EnableRespawnStrength) {
47+
new BukkitRunnable() {
48+
@Override
49+
public void run() {
50+
p.addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 600, 1));
51+
}
52+
}.runTaskLater(BeamingPlugin.getInstance(), 10L);
53+
}
54+
if(Config.EnableRespawnSpeed) {
55+
new BukkitRunnable() {
56+
@Override
57+
public void run() {
58+
p.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 600, 1));
59+
}
60+
}.runTaskLater(BeamingPlugin.getInstance(), 10L);
61+
}
62+
if(Config.EnableRespawnResistance) {
63+
new BukkitRunnable() {
64+
@Override
65+
public void run() {
66+
p.addPotionEffect(new PotionEffect(PotionEffectType.DAMAGE_RESISTANCE, 600, 5));
67+
}
68+
}.runTaskLater(BeamingPlugin.getInstance(), 10L);
69+
}
1770
}
1871
}

src/main/resources/config.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
EnableRespawn: false
2+
3+
EnableRespawnStrength: true
4+
EnableRespawnSpeed: true
5+
EnableRespawnResistance: true
6+
7+
RespawnMainHand:
8+
Use: true
9+
Item: STICK
10+
Name: "Marine's Repelling Twig"
11+
Lore:
12+
- "Marine's Repelling Twig"
13+
Enchants:
14+
KNOCKBACK: 3
15+
DAMAGE_ALL: 5
16+
17+
RespawnOffHand:
18+
Use: false
19+
Item: SHIELD
20+
Name: "Marine's Defense Shield"
21+
Lore:
22+
- "Marine's Defense Shield"
23+
Enchants:
24+
DURABILITY: 3

0 commit comments

Comments
 (0)