mirror of
https://github.com/tanyaofei/minecraft-fakeplayer.git
synced 2025-07-13 21:02:27 +08:00
config.yml add invsee-implement
This commit is contained in:
parent
a1d4315486
commit
b665b12cd2
@ -4,11 +4,12 @@ import com.google.inject.AbstractModule;
|
|||||||
import com.google.inject.Provides;
|
import com.google.inject.Provides;
|
||||||
import com.google.inject.Singleton;
|
import com.google.inject.Singleton;
|
||||||
import io.github.hello09x.fakeplayer.api.spi.NMSBridge;
|
import io.github.hello09x.fakeplayer.api.spi.NMSBridge;
|
||||||
|
import io.github.hello09x.fakeplayer.core.config.FakeplayerConfig;
|
||||||
import io.github.hello09x.fakeplayer.core.manager.FakeplayerList;
|
import io.github.hello09x.fakeplayer.core.manager.FakeplayerList;
|
||||||
import io.github.hello09x.fakeplayer.core.manager.FakeplayerManager;
|
import io.github.hello09x.fakeplayer.core.manager.FakeplayerManager;
|
||||||
import io.github.hello09x.fakeplayer.core.manager.invsee.DefaultInvseeManagerImpl;
|
|
||||||
import io.github.hello09x.fakeplayer.core.manager.invsee.InvseeManager;
|
import io.github.hello09x.fakeplayer.core.manager.invsee.InvseeManager;
|
||||||
import io.github.hello09x.fakeplayer.core.manager.invsee.OpenInvInvseeManagerImpl;
|
import io.github.hello09x.fakeplayer.core.manager.invsee.OpenInvInvseeManagerImpl;
|
||||||
|
import io.github.hello09x.fakeplayer.core.manager.invsee.SimpleInvseeManagerImpl;
|
||||||
import io.github.hello09x.fakeplayer.core.util.ClassUtils;
|
import io.github.hello09x.fakeplayer.core.util.ClassUtils;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.plugin.Plugin;
|
import org.bukkit.plugin.Plugin;
|
||||||
@ -27,14 +28,18 @@ public class FakeplayerModule extends AbstractModule {
|
|||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@Singleton
|
@Singleton
|
||||||
public InvseeManager invseeManager(FakeplayerManager fakeplayerManager, FakeplayerList fakeplayerList) {
|
public InvseeManager invseeManager(FakeplayerConfig config, FakeplayerManager fakeplayerManager, FakeplayerList fakeplayerList) {
|
||||||
if (Bukkit.getPluginManager().isPluginEnabled("OpenInv") && ClassUtils.isClassExists("com.lishid.openinv.IOpenInv")) {
|
return switch (config.getInvseeImplement()) {
|
||||||
log.info("Using OpenInv as invsee implementation");
|
case SIMPLE -> new SimpleInvseeManagerImpl(fakeplayerManager, fakeplayerList);
|
||||||
return new OpenInvInvseeManagerImpl(fakeplayerManager, fakeplayerList);
|
case AUTO -> {
|
||||||
}
|
if (Bukkit.getPluginManager().isPluginEnabled("OpenInv") && ClassUtils.isClassExists("com.lishid.openinv.IOpenInv")) {
|
||||||
|
log.info("Using OpenInv as invsee implement");
|
||||||
log.info("Using default invsee implementation");
|
yield new OpenInvInvseeManagerImpl(fakeplayerManager, fakeplayerList);
|
||||||
return new DefaultInvseeManagerImpl(fakeplayerManager, fakeplayerList);
|
}
|
||||||
|
log.info("Using simple invsee implement");
|
||||||
|
yield new SimpleInvseeManagerImpl(fakeplayerManager, fakeplayerList);
|
||||||
|
}
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
|
@ -4,6 +4,7 @@ package io.github.hello09x.fakeplayer.core.config;
|
|||||||
import com.google.common.annotations.Beta;
|
import com.google.common.annotations.Beta;
|
||||||
import com.google.inject.Inject;
|
import com.google.inject.Inject;
|
||||||
import com.google.inject.Singleton;
|
import com.google.inject.Singleton;
|
||||||
|
import io.github.hello09x.devtools.core.config.ConfigUtils;
|
||||||
import io.github.hello09x.devtools.core.config.PluginConfig;
|
import io.github.hello09x.devtools.core.config.PluginConfig;
|
||||||
import io.github.hello09x.fakeplayer.core.Main;
|
import io.github.hello09x.fakeplayer.core.Main;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
@ -139,6 +140,11 @@ public class FakeplayerConfig extends PluginConfig {
|
|||||||
*/
|
*/
|
||||||
private PreventKicking preventKicking;
|
private PreventKicking preventKicking;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* invsee 实现方式
|
||||||
|
*/
|
||||||
|
private InvseeImplement invseeImplement;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 真实皮肤
|
* 真实皮肤
|
||||||
*/
|
*/
|
||||||
@ -164,7 +170,6 @@ public class FakeplayerConfig extends PluginConfig {
|
|||||||
this.selfCommands = file.getStringList("self-commands");
|
this.selfCommands = file.getStringList("self-commands");
|
||||||
this.preSpawnCommands = file.getStringList("pre-spawn-commands");
|
this.preSpawnCommands = file.getStringList("pre-spawn-commands");
|
||||||
this.postSpawnCommands = file.getStringList("post-spawn-commands");
|
this.postSpawnCommands = file.getStringList("post-spawn-commands");
|
||||||
deprecated:
|
|
||||||
this.afterSpawnCommands = file.getStringList("after-spawn-commands");
|
this.afterSpawnCommands = file.getStringList("after-spawn-commands");
|
||||||
this.postQuitCommands = file.getStringList("post-quit-commands");
|
this.postQuitCommands = file.getStringList("post-quit-commands");
|
||||||
this.afterQuitCommands = file.getStringList("after-quit-commands");
|
this.afterQuitCommands = file.getStringList("after-quit-commands");
|
||||||
@ -184,6 +189,7 @@ public class FakeplayerConfig extends PluginConfig {
|
|||||||
.collect(Collectors.toSet());
|
.collect(Collectors.toSet());
|
||||||
|
|
||||||
this.defaultOnlineSkin = file.getBoolean("default-online-skin", false);
|
this.defaultOnlineSkin = file.getBoolean("default-online-skin", false);
|
||||||
|
this.invseeImplement = ConfigUtils.getEnum(file, "invsee-implement", InvseeImplement.class, InvseeImplement.AUTO);
|
||||||
this.debug = file.getBoolean("debug", false);
|
this.debug = file.getBoolean("debug", false);
|
||||||
|
|
||||||
if (this.isFileConfigurationOutOfDate()) {
|
if (this.isFileConfigurationOutOfDate()) {
|
||||||
@ -245,7 +251,7 @@ public class FakeplayerConfig extends PluginConfig {
|
|||||||
return PreventKicking.ON_SPAWNING;
|
return PreventKicking.ON_SPAWNING;
|
||||||
}
|
}
|
||||||
|
|
||||||
return PreventKicking.valueOf(file.getString("prevent-kicking", PreventKicking.NEVER.toString()));
|
return ConfigUtils.getEnum(file, "prevent-kicking", PreventKicking.class, PreventKicking.ON_SPAWNING);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,13 @@
|
|||||||
|
package io.github.hello09x.fakeplayer.core.config;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author tanyaofei
|
||||||
|
* @since 2024/8/12
|
||||||
|
**/
|
||||||
|
public enum InvseeImplement {
|
||||||
|
|
||||||
|
AUTO,
|
||||||
|
|
||||||
|
SIMPLE
|
||||||
|
|
||||||
|
}
|
@ -16,10 +16,10 @@ import org.jetbrains.annotations.Nullable;
|
|||||||
* @since 2024/8/12
|
* @since 2024/8/12
|
||||||
**/
|
**/
|
||||||
@Singleton
|
@Singleton
|
||||||
public class DefaultInvseeManagerImpl extends AbstractInvseeManager {
|
public class SimpleInvseeManagerImpl extends AbstractInvseeManager {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public DefaultInvseeManagerImpl(FakeplayerManager manager, FakeplayerList fakeplayerList) {
|
public SimpleInvseeManagerImpl(FakeplayerManager manager, FakeplayerList fakeplayerList) {
|
||||||
super(manager, fakeplayerList);
|
super(manager, fakeplayerList);
|
||||||
}
|
}
|
||||||
|
|
@ -4,7 +4,7 @@
|
|||||||
# 不要直接修改 config.tmpl.yml 文件,将这份文件复制并重命名为 config.yml 来作为配置文件
|
# 不要直接修改 config.tmpl.yml 文件,将这份文件复制并重命名为 config.yml 来作为配置文件
|
||||||
# 【Important】【非常重要】
|
# 【Important】【非常重要】
|
||||||
# =========================================================================================================
|
# =========================================================================================================
|
||||||
version: 16
|
version: 17
|
||||||
|
|
||||||
# 多国语言配置
|
# 多国语言配置
|
||||||
# 可选项: en, zh, zh_cn, zh_tw, zh_hk
|
# 可选项: en, zh, zh_cn, zh_tw, zh_hk
|
||||||
@ -124,6 +124,17 @@ kick-on-dead: true
|
|||||||
kale-tps: 0
|
kale-tps: 0
|
||||||
|
|
||||||
|
|
||||||
|
# Invsee implement:
|
||||||
|
# Options:
|
||||||
|
# AUTO: Auto choose a implement depends on server plugins. Supports: OpenInv
|
||||||
|
# SIMPLE: A simple implement, with it, you can NOT visit or modify equipments
|
||||||
|
# Invsee 实现:
|
||||||
|
# 可选项:
|
||||||
|
# AUTO: 自动,自动根据服务器安装的插件来选择, 当前支持的插件: OpenInv
|
||||||
|
# SIMPLE: 一个简单的内嵌实现, 使用这个不能看到或者编辑假人的装备栏
|
||||||
|
invsee-implement: AUTO
|
||||||
|
|
||||||
|
|
||||||
# Pre-Spawn-Commands
|
# Pre-Spawn-Commands
|
||||||
# Server will execute the following commands BEFORE trying to spawn a fake player.
|
# Server will execute the following commands BEFORE trying to spawn a fake player.
|
||||||
# This is helpful for adding fake player into whitelist
|
# This is helpful for adding fake player into whitelist
|
||||||
|
2
pom.xml
2
pom.xml
@ -26,7 +26,7 @@
|
|||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
<revision>0.3.9-b.4</revision>
|
<revision>0.3.9-b.4</revision>
|
||||||
|
|
||||||
<detools.version>0.1.3-SNAPSHOT</detools.version>
|
<detools.version>0.1.4-SNAPSHOT</detools.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<repositories>
|
<repositories>
|
||||||
|
Loading…
Reference in New Issue
Block a user