added force_body_rotation property for player npc
This commit is contained in:
parent
f0e7ea8302
commit
c50e2fd0d4
4 changed files with 30 additions and 3 deletions
|
@ -115,7 +115,7 @@ public class ZNpcsPlus {
|
|||
MojangSkinCache skinCache = new MojangSkinCache(configManager);
|
||||
EntityPropertyRegistryImpl propertyRegistry = new EntityPropertyRegistryImpl(skinCache, configManager);
|
||||
PacketFactory packetFactory = setupPacketFactory(scheduler, propertyRegistry, configManager);
|
||||
propertyRegistry.registerTypes(packetFactory, textSerializer);
|
||||
propertyRegistry.registerTypes(bootstrap, packetFactory, textSerializer);
|
||||
|
||||
ActionRegistry actionRegistry = new ActionRegistry();
|
||||
NpcTypeRegistryImpl typeRegistry = new NpcTypeRegistryImpl();
|
||||
|
|
|
@ -9,6 +9,7 @@ import com.github.retrooper.packetevents.protocol.nbt.NBTInt;
|
|||
import com.github.retrooper.packetevents.protocol.nbt.NBTString;
|
||||
import com.github.retrooper.packetevents.protocol.player.EquipmentSlot;
|
||||
import com.github.retrooper.packetevents.protocol.world.BlockFace;
|
||||
import lol.pyr.znpcsplus.ZNpcsPlusBootstrap;
|
||||
import lol.pyr.znpcsplus.api.entity.EntityProperty;
|
||||
import lol.pyr.znpcsplus.api.entity.EntityPropertyRegistry;
|
||||
import lol.pyr.znpcsplus.api.skin.SkinDescriptor;
|
||||
|
@ -103,7 +104,7 @@ public class EntityPropertyRegistryImpl implements EntityPropertyRegistry {
|
|||
*/
|
||||
}
|
||||
|
||||
public void registerTypes(PacketFactory packetFactory, LegacyComponentSerializer textSerializer) {
|
||||
public void registerTypes(ZNpcsPlusBootstrap plugin, PacketFactory packetFactory, LegacyComponentSerializer textSerializer) {
|
||||
ServerVersion ver = PacketEvents.getAPI().getServerManager().getVersion();
|
||||
boolean legacyBooleans = ver.isOlderThan(ServerVersion.V_1_9);
|
||||
boolean legacyNames = ver.isOlderThan(ServerVersion.V_1_9);
|
||||
|
@ -126,6 +127,8 @@ public class EntityPropertyRegistryImpl implements EntityPropertyRegistry {
|
|||
|
||||
register(new DummyProperty<>("permission_required", false));
|
||||
|
||||
register(new ForceBodyRotationProperty(plugin));
|
||||
|
||||
register(new DummyProperty<>("player_knockback", false));
|
||||
register(new DummyProperty<>("player_knockback_exempt_permission", String.class));
|
||||
register(new DummyProperty<>("player_knockback_distance", 0.4));
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
package lol.pyr.znpcsplus.entity.properties;
|
||||
|
||||
import com.github.retrooper.packetevents.protocol.entity.data.EntityData;
|
||||
import lol.pyr.znpcsplus.ZNpcsPlusBootstrap;
|
||||
import lol.pyr.znpcsplus.entity.PacketEntity;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public class ForceBodyRotationProperty extends DummyProperty<Boolean> {
|
||||
private final ZNpcsPlusBootstrap plugin;
|
||||
|
||||
public ForceBodyRotationProperty(ZNpcsPlusBootstrap plugin) {
|
||||
super("force_body_rotation", false);
|
||||
this.plugin = plugin;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void apply(Player player, PacketEntity entity, boolean isSpawned, Map<Integer, EntityData> properties) {
|
||||
Bukkit.getScheduler().runTaskLater(plugin, () -> entity.swingHand(player, false), 2L);
|
||||
Bukkit.getScheduler().runTaskLater(plugin, () -> entity.swingHand(player, false), 6L);
|
||||
}
|
||||
}
|
|
@ -36,7 +36,7 @@ public class NpcTypeRegistryImpl implements NpcTypeRegistry {
|
|||
register(builder(p, "player", EntityTypes.PLAYER)
|
||||
.setHologramOffset(-0.15D)
|
||||
.addEquipmentProperties()
|
||||
.addProperties("skin_cape", "skin_jacket", "skin_left_sleeve", "skin_right_sleeve", "skin_left_leg", "skin_right_leg", "skin_hat", "shoulder_entity_left", "shoulder_entity_right")
|
||||
.addProperties("skin_cape", "skin_jacket", "skin_left_sleeve", "skin_right_sleeve", "skin_left_leg", "skin_right_leg", "skin_hat", "shoulder_entity_left", "shoulder_entity_right", "force_body_rotation")
|
||||
.addDefaultProperty("skin_cape", true)
|
||||
.addDefaultProperty("skin_jacket", true)
|
||||
.addDefaultProperty("skin_left_sleeve", true)
|
||||
|
|
Loading…
Reference in a new issue