This commit is contained in:
zimzaza4
2024-05-01 22:43:01 +08:00
parent 18b4008c9c
commit a9ed339af9
6 changed files with 179 additions and 60 deletions

View File

@@ -1,11 +1,14 @@
package re.imc.geysermodelengine;
import com.comphenix.protocol.ProtocolLibrary;
import com.comphenix.protocol.wrappers.Pair;
import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;
import com.google.common.collect.Sets;
import com.ticxo.modelengine.api.ModelEngineAPI;
import com.ticxo.modelengine.api.model.ActiveModel;
import com.ticxo.modelengine.api.model.ModeledEntity;
import com.ticxo.modelengine.api.model.bone.type.Mount;
import lombok.Getter;
import lombok.Setter;
import org.bukkit.Bukkit;
@@ -16,10 +19,14 @@ import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
import re.imc.geysermodelengine.listener.AddEntityPacketListener;
import re.imc.geysermodelengine.listener.ModelListener;
import re.imc.geysermodelengine.listener.MountPacketListener;
import re.imc.geysermodelengine.model.ModelEntity;
import java.util.HashSet;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.TimeUnit;
public final class GeyserModelEngine extends JavaPlugin {
@@ -55,6 +62,12 @@ public final class GeyserModelEngine extends JavaPlugin {
@Getter
private int joinSendDelay;
@Getter
private boolean debug;
@Getter
private Map<Player, Pair<ActiveModel, Mount>> drivers = new ConcurrentHashMap<>();
@Override
public void onEnable() {
// Plugin startup logic
@@ -62,6 +75,7 @@ public final class GeyserModelEngine extends JavaPlugin {
// alwaysSendSkin = getConfig().getBoolean("always-send-skin");
skinSendDelay = getConfig().getInt("skin-send-delay", 0);
viewDistance = getConfig().getInt("skin-view-distance", 60);
debug = getConfig().getBoolean("debug", false);
modelEntityType = EntityType.valueOf(getConfig().getString("model-entity-type", "BAT"));
joinSendDelay = getConfig().getInt("join-send-delay", 20);
if (joinSendDelay > 0) {
@@ -70,6 +84,7 @@ public final class GeyserModelEngine extends JavaPlugin {
}
instance = this;
ProtocolLibrary.getProtocolManager().addPacketListener(new AddEntityPacketListener());
ProtocolLibrary.getProtocolManager().addPacketListener(new MountPacketListener());
Bukkit.getPluginManager().registerEvents(new ModelListener(), this);
Bukkit.getScheduler()