Fix exp disappearing, fixes #552
This commit is contained in:
parent
aa51a5fbe4
commit
135b0fdeaa
@ -24,6 +24,7 @@ class DisguiseRunnable extends BukkitRunnable {
|
|||||||
private int blockX, blockY, blockZ, facing;
|
private int blockX, blockY, blockZ, facing;
|
||||||
private int deadTicks = 0;
|
private int deadTicks = 0;
|
||||||
private int actionBarTicks = -1;
|
private int actionBarTicks = -1;
|
||||||
|
private int refreshRate;
|
||||||
private long lastRefreshed = System.currentTimeMillis();
|
private long lastRefreshed = System.currentTimeMillis();
|
||||||
private Disguise disguise;
|
private Disguise disguise;
|
||||||
final Double vectorY;
|
final Double vectorY;
|
||||||
@ -45,6 +46,20 @@ class DisguiseRunnable extends BukkitRunnable {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Where refresh rate is in ticks, exp is in here due to a fire exploit + stop it glitching out so much
|
||||||
|
switch (disguise.getType()) {
|
||||||
|
case FIREWORK:
|
||||||
|
case EXPERIENCE_ORB:
|
||||||
|
refreshRate = 40; // 2 seconds
|
||||||
|
break;
|
||||||
|
case EVOKER_FANGS:
|
||||||
|
refreshRate = 23;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
refreshRate *= 50;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -89,13 +104,11 @@ class DisguiseRunnable extends BukkitRunnable {
|
|||||||
|
|
||||||
deadTicks = 0;
|
deadTicks = 0;
|
||||||
|
|
||||||
// If the disguise type is tnt, we need to resend the entity packet else it will turn invisible
|
// If the disguise type is invisibable, we need to resend the entity packet else it will turn invisible
|
||||||
if (disguise.getType() == DisguiseType.FIREWORK || disguise.getType() == DisguiseType.EVOKER_FANGS) {
|
if (refreshRate > 0 && lastRefreshed + refreshRate < System.currentTimeMillis()) {
|
||||||
if (lastRefreshed + ((disguise.getType() == DisguiseType.FIREWORK ? 40 : 23) * 50) < System.currentTimeMillis()) {
|
lastRefreshed = System.currentTimeMillis();
|
||||||
lastRefreshed = System.currentTimeMillis();
|
|
||||||
|
|
||||||
DisguiseUtilities.refreshTrackers((TargetedDisguise) disguise);
|
DisguiseUtilities.refreshTrackers((TargetedDisguise) disguise);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (disguise.isModifyBoundingBox()) {
|
if (disguise.isModifyBoundingBox()) {
|
||||||
|
Loading…
Reference in New Issue
Block a user