Skip to content

Commit c457398

Browse files
Sacha LewinSacha Lewin
authored andcommitted
Fixes
1 parent 1618831 commit c457398

48 files changed

Lines changed: 898 additions & 1343 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ allprojects {
2828
}
2929
}
3030

31-
boolean local = false
31+
boolean local = true
3232

33-
if (local) libsDirName = '/Users/Sacha/Desktop/LOCAL/plugins'
33+
if (local) libsDirName = '/Users/sachalewin/Desktop/LOCAL/plugins'
3434

3535
dependencies{
3636
subprojects.each{ p ->

core/src/main/java/be/isach/ultracosmetics/UltraCosmetics.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -988,6 +988,8 @@ public IEntityUtil getEntityUtil() {
988988
*/
989989
@Override
990990
public void onDisable() {
991+
Pet.purgeNames();
992+
991993
if (morphMenuListener != null)
992994
((MorphManager) morphMenuListener).dispose();
993995

core/src/main/java/be/isach/ultracosmetics/command/subcommands/SubCommandClear.java

Lines changed: 28 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -31,38 +31,34 @@ private void common(CommandSender sender, String... args) {
3131
Player receiver;
3232
if (args.length < 2) {
3333
sender.sendMessage("§c§l Incorrect Usage. " + getUsage());
34-
} else {
35-
if (sender.hasPermission(getPermission() + ".others")) {
36-
receiver = Bukkit.getPlayer(args[1]);
37-
if (receiver == null) {
38-
sender.sendMessage(" §c§lPlayer " + args[1] + " not found!");
39-
return;
40-
}
41-
if (args.length < 3) {
42-
UltraCosmetics.getPlayerManager().getCustomPlayer(receiver).clear();
43-
return;
44-
} else {
45-
CustomPlayer cp = UltraCosmetics.getPlayerManager().getCustomPlayer(receiver);
46-
String s = args[2].toLowerCase();
47-
if (s.startsWith("g"))
48-
cp.removeGadget();
49-
else if (s.startsWith("pa"))
50-
cp.removeParticleEffect();
51-
else if (s.startsWith("pe"))
52-
cp.removePet();
53-
else if (s.startsWith("h"))
54-
cp.removeHat();
55-
else if (s.startsWith("s"))
56-
cp.removeSuit();
57-
else if (s.startsWith("mor"))
58-
cp.removeMorph();
59-
else if (s.startsWith("mou"))
60-
cp.removeMount();
61-
else
62-
sender.sendMessage("§c§l/uc menu <menu>\n§c§lInvalid Type.\n§c§lAvailable types: gadgets, particleeffects, pets, mounts, suits, hats, morphs");
63-
return;
64-
}
65-
}
34+
return;
35+
}
36+
37+
if (!sender.hasPermission(getPermission() + ".others")) return;
38+
receiver = Bukkit.getPlayer(args[1]);
39+
40+
if (receiver == null) {
41+
sender.sendMessage(" §c§lPlayer " + args[1] + " not found!");
42+
return;
43+
}
44+
if (args.length < 3) {
45+
UltraCosmetics.getPlayerManager().getCustomPlayer(receiver).clear();
46+
return;
47+
}
48+
49+
CustomPlayer cp = UltraCosmetics.getPlayerManager().getCustomPlayer(receiver);
50+
String s = args[2].toLowerCase();
51+
52+
if (s.startsWith("g")) cp.removeGadget();
53+
else if (s.startsWith("pa")) cp.removeParticleEffect();
54+
else if (s.startsWith("pe")) cp.removePet();
55+
else if (s.startsWith("h")) cp.removeHat();
56+
else if (s.startsWith("s")) cp.removeSuit();
57+
else if (s.startsWith("mor")) cp.removeMorph();
58+
else if (s.startsWith("mou")) cp.removeMount();
59+
else if (s.startsWith("e")) cp.removeEmote();
60+
else {
61+
sender.sendMessage("§c§l/uc menu <menu>\n§c§lInvalid Type.\n§c§lAvailable types: gadgets, particleeffects, pets, mounts, suits, hats, morphs");
6662
}
6763
}
6864
}

core/src/main/java/be/isach/ultracosmetics/cosmetics/gadgets/GadgetPortalGun.java

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import org.bukkit.Sound;
99
import org.bukkit.block.Block;
1010
import org.bukkit.block.BlockFace;
11+
import org.bukkit.entity.Entity;
1112
import org.bukkit.util.Vector;
1213

1314
import java.util.HashSet;
@@ -150,16 +151,16 @@ void onUpdate() {
150151
}
151152
if (toDistance.distance(locBlue) < 1.01) {
152153
teleported = true;
153-
getPlayer().teleport(locRed);
154+
teleport(getPlayer(), locRed);
154155
getPlayer().setVelocity(getVectorFromBlockFace(redBlockFace));
155156
if (redBlockFace == BlockFace.UP || redBlockFace == BlockFace.DOWN) {
156157
Location loc = getPlayer().getLocation().clone();
157158
loc.setPitch(getPitch(redBlockFace));
158-
getPlayer().teleport(loc);
159+
teleport(getPlayer(), loc);
159160
} else {
160161
Location loc = getPlayer().getLocation().clone();
161162
loc.setYaw(getYaw(redBlockFace));
162-
getPlayer().teleport(loc);
163+
teleport(getPlayer(), loc);
163164
}
164165
Bukkit.getScheduler().runTaskLaterAsynchronously(UltraCosmetics.getInstance(), new Runnable() {
165166
@Override
@@ -203,16 +204,16 @@ public void run() {
203204
}
204205
if (toDistance.distance(locRed) < 1.1) {
205206
teleported = true;
206-
getPlayer().teleport(locBlue);
207+
teleport(getPlayer(), locBlue);
207208
getPlayer().setVelocity(getVectorFromBlockFace(blueBlockFace));
208209
if (blueBlockFace == BlockFace.UP || blueBlockFace == BlockFace.DOWN) {
209210
Location loc = getPlayer().getLocation().clone();
210211
loc.setPitch(getPitch(blueBlockFace));
211-
getPlayer().teleport(loc);
212+
teleport(getPlayer(), loc);
212213
} else {
213214
Location loc = getPlayer().getLocation().clone();
214215
loc.setYaw(getYaw(blueBlockFace));
215-
getPlayer().teleport(loc);
216+
teleport(getPlayer(), loc);
216217
}
217218
Bukkit.getScheduler().runTaskLaterAsynchronously(UltraCosmetics.getInstance(), new Runnable() {
218219
@Override
@@ -265,6 +266,15 @@ public BlockFace yawToFace(float yaw, boolean useSubCardinalDirections) {
265266
}
266267
}
267268

269+
private void teleport(final Entity entity, final Location location) {
270+
Bukkit.getScheduler().runTask(UltraCosmetics.getInstance(), new Runnable() {
271+
@Override
272+
public void run() {
273+
entity.teleport(location);
274+
}
275+
});
276+
}
277+
268278
@Override
269279
public void onClear() {
270280
locBlue = null;

core/src/main/java/be/isach/ultracosmetics/cosmetics/pets/Pet.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import org.bukkit.scheduler.BukkitRunnable;
1616

1717
import java.util.ArrayList;
18+
import java.util.List;
1819
import java.util.UUID;
1920
import java.util.concurrent.ExecutorService;
2021
import java.util.concurrent.Executors;
@@ -24,6 +25,8 @@
2425
*/
2526
public abstract class Pet implements Listener {
2627

28+
public static final List<ArmorStand> PET_NAMES = new ArrayList<>();
29+
2730
/**
2831
* List of items popping out from Pet.
2932
*/
@@ -97,6 +100,7 @@ public void equip() {
97100
armorStand.setCustomName(getType().getEntityName(getPlayer()));
98101
armorStand.setCustomNameVisible(true);
99102
armorStand.setMetadata("C_AD_ArmorStand", new FixedMetadataValue(UltraCosmetics.getInstance(), "C_AD_ArmorStand"));
103+
PET_NAMES.add(armorStand);
100104
if (UltraCosmetics.getCustomPlayer(getPlayer()).getPetName(getType().getConfigName()) != null)
101105
armorStand.setCustomName(UltraCosmetics.getCustomPlayer(getPlayer()).getPetName(getType().getConfigName()));
102106

@@ -275,8 +279,17 @@ public void onPlayerTeleport(PlayerTeleportEvent event) {
275279
if (event.getPlayer() == getPlayer())
276280
pet.getEntity().teleport(getPlayer());
277281
}
282+
}
278283

279-
284+
public static void purgeNames() {
285+
synchronized (PET_NAMES) {
286+
for(ArmorStand armorStand : PET_NAMES) {
287+
if(armorStand.isValid()) {
288+
armorStand.remove();
289+
}
290+
}
291+
PET_NAMES.clear();
292+
}
280293
}
281294

282295
}

core/src/main/java/be/isach/ultracosmetics/cosmetics/pets/PetMooshroom.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,13 @@ public PetMooshroom(UUID owner) {
2323

2424
@Override
2525
protected void onUpdate() {
26-
final Item ITEM = entity.getWorld().dropItem(((MushroomCow) entity).getEyeLocation(), ItemFactory.create(Material.RED_MUSHROOM, (byte) 0, UUID.randomUUID().toString()));
27-
ITEM.setPickupDelay(30000);
28-
ITEM.setVelocity(new Vector(r.nextDouble() - 0.5, r.nextDouble() / 2.0 + 0.3, r.nextDouble() - 0.5).multiply(0.4));
26+
final Item item = entity.getWorld().dropItem(((MushroomCow) entity).getEyeLocation(), ItemFactory.create(Material.RED_MUSHROOM, (byte) 0, UUID.randomUUID().toString()));
27+
item.setPickupDelay(30000);
28+
item.setVelocity(new Vector(r.nextDouble() - 0.5, r.nextDouble() / 2.0 + 0.3, r.nextDouble() - 0.5).multiply(0.4));
2929
Bukkit.getScheduler().runTaskLater(UltraCosmetics.getInstance(), new Runnable() {
3030
@Override
3131
public void run() {
32-
ITEM.remove();
32+
item.remove();
3333
}
3434
}, 5);
3535
}

core/src/main/java/be/isach/ultracosmetics/version/IPets.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,4 @@
44

55
public interface IPets {
66
Class<? extends Pet> getPumplingClass();
7-
Class<? extends Pet> getCompanionCubeClass();
87
}

0 commit comments

Comments
 (0)