Fixed Shulker disguises
Fixed Enderdragon direction Added config option to stop shulker disguises from moving Fixed sleeping while in a player disguise
This commit is contained in:
@@ -700,7 +700,6 @@ public class DisguiseUtilities {
|
||||
/**
|
||||
* Resends the entity to all the watching players, which is where the magic begins
|
||||
*/
|
||||
//TODO: Check this method, something's not right here
|
||||
public static void refreshTrackers(final TargetedDisguise disguise) {
|
||||
if (disguise.getEntity().isValid()) {
|
||||
PacketContainer destroyPacket = getDestroyPacket(disguise.getEntity().getEntityId());
|
||||
@@ -947,8 +946,8 @@ public class DisguiseUtilities {
|
||||
if (player.isSleeping()) {
|
||||
sendSelfPacket(
|
||||
player,
|
||||
manager.createPacketConstructor(Server.BED, player, loc.getBlockX(), loc.getBlockY(),
|
||||
loc.getBlockZ()).createPacket(player, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ()));
|
||||
manager.createPacketConstructor(Server.BED, player, ReflectionManager.getBlockPosition(0, 0, 0))
|
||||
.createPacket(player, ReflectionManager.getBlockPosition(loc.getBlockX(), loc.getBlockY(), loc.getBlockZ())));
|
||||
}
|
||||
|
||||
// Resend any active potion effects
|
||||
|
@@ -401,8 +401,7 @@ public class PacketsManager {
|
||||
value += 64;
|
||||
break;
|
||||
case ENDER_DRAGON:
|
||||
//TODO: Enderdragon direction is... weird, consistently backwards
|
||||
// value = (byte) (~value & 0xff);
|
||||
value -= 128;
|
||||
break;
|
||||
case WITHER_SKULL:
|
||||
value -= 128;
|
||||
@@ -831,8 +830,6 @@ public class PacketsManager {
|
||||
|| event.getPacketType() == Server.ENTITY_EFFECT
|
||||
|| event.getPacketType() == Server.ENTITY_EQUIPMENT) {
|
||||
event.setCancelled(true);
|
||||
} else if (event.getPacketType() == Server.BED) {
|
||||
ReflectionManager.setAllowSleep(observer);
|
||||
} else if (event.getPacketType() == Server.ENTITY_STATUS) {
|
||||
Disguise disguise = DisguiseAPI.getDisguise(event.getPlayer(), event.getPlayer());
|
||||
if (disguise.isSelfDisguiseSoundsReplaced() && !disguise.getType().isPlayer()
|
||||
@@ -1300,7 +1297,8 @@ public class PacketsManager {
|
||||
else if (sentPacket.getType() == Server.ENTITY_METADATA) {
|
||||
if (DisguiseConfig.isMetadataPacketsEnabled() && (disguise.getType() != DisguiseType.WOLF &&
|
||||
disguise.getType() != DisguiseType.OCELOT &&
|
||||
disguise.getType() != DisguiseType.ENDERMAN)) {
|
||||
disguise.getType() != DisguiseType.ENDERMAN &&
|
||||
disguise.getType() != DisguiseType.SHULKER)) {
|
||||
List<WrappedWatchableObject> watchableObjects = disguise.getWatcher().convert(
|
||||
packets[0].getWatchableCollectionModifier().read(0));
|
||||
packets[0] = new PacketContainer(sentPacket.getType());
|
||||
@@ -1414,7 +1412,8 @@ public class PacketsManager {
|
||||
List<WrappedWatchableObject> list = new ArrayList<>();
|
||||
if (DisguiseConfig.isMetadataPacketsEnabled() && (disguise.getType() != DisguiseType.WOLF &&
|
||||
disguise.getType() != DisguiseType.OCELOT &&
|
||||
disguise.getType() != DisguiseType.ENDERMAN)) {
|
||||
disguise.getType() != DisguiseType.ENDERMAN &&
|
||||
disguise.getType() != DisguiseType.SHULKER)) {
|
||||
WrappedWatchableObject watch = new WrappedWatchableObject(ReflectionManager.createDataWatcherItem(0,
|
||||
WrappedDataWatcher.getEntityWatcher(entity).getByte(0)));
|
||||
list.add(watch);
|
||||
|
@@ -496,18 +496,6 @@ public class ReflectionManager {
|
||||
//Some future remove code if needed
|
||||
}
|
||||
|
||||
|
||||
public static void setAllowSleep(Player player) {
|
||||
try {
|
||||
//TODO: Fix this!
|
||||
/**
|
||||
* Object nmsEntity = getNmsEntity(player); Object connection = getNmsField(nmsEntity.getClass(), "playerConnection").get(nmsEntity); Field check = getNmsField(connection.getClass(), "checkMovement"); check.setBoolean(connection, true); *
|
||||
*/
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace(System.out);
|
||||
}
|
||||
}
|
||||
|
||||
public static void setBoundingBox(Entity entity, FakeBoundingBox newBox) {
|
||||
try {
|
||||
Location loc = entity.getLocation();
|
||||
|
Reference in New Issue
Block a user