Mirror von
https://github.com/ViaVersion/ViaVersion.git
synchronisiert 2024-11-08 17:20:24 +01:00
Merge pull request #261 from HugoDaBosss/apiv2
Add config option to suppress 'Unable to get entity for ID' errors (apiv2)
Dieser Commit ist enthalten in:
Commit
88ab4e53a7
@ -14,6 +14,7 @@ import org.bukkit.event.player.PlayerQuitEvent;
|
|||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
import us.myles.ViaVersion.api.ViaVersion;
|
import us.myles.ViaVersion.api.ViaVersion;
|
||||||
import us.myles.ViaVersion.api.ViaVersionAPI;
|
import us.myles.ViaVersion.api.ViaVersionAPI;
|
||||||
|
import us.myles.ViaVersion.api.ViaVersionConfig;
|
||||||
import us.myles.ViaVersion.api.boss.BossBar;
|
import us.myles.ViaVersion.api.boss.BossBar;
|
||||||
import us.myles.ViaVersion.api.boss.BossColor;
|
import us.myles.ViaVersion.api.boss.BossColor;
|
||||||
import us.myles.ViaVersion.api.boss.BossStyle;
|
import us.myles.ViaVersion.api.boss.BossStyle;
|
||||||
@ -42,7 +43,7 @@ import java.util.concurrent.ConcurrentHashMap;
|
|||||||
import java.util.concurrent.Future;
|
import java.util.concurrent.Future;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
public class ViaVersionPlugin extends JavaPlugin implements ViaVersionAPI {
|
public class ViaVersionPlugin extends JavaPlugin implements ViaVersionAPI, ViaVersionConfig {
|
||||||
|
|
||||||
private final Map<UUID, UserConnection> portedPlayers = new ConcurrentHashMap<>();
|
private final Map<UUID, UserConnection> portedPlayers = new ConcurrentHashMap<>();
|
||||||
private boolean debug = false;
|
private boolean debug = false;
|
||||||
@ -313,6 +314,10 @@ public class ViaVersionPlugin extends JavaPlugin implements ViaVersionAPI {
|
|||||||
return getConfig().getBoolean("bossbar-anti-flicker", false);
|
return getConfig().getBoolean("bossbar-anti-flicker", false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isUnknownEntitiesSuppressed() {
|
||||||
|
return getConfig().getBoolean("suppress-entityid-errors", false);
|
||||||
|
}
|
||||||
|
|
||||||
public double getHologramYOffset() {
|
public double getHologramYOffset() {
|
||||||
return getConfig().getDouble("hologram-y", -1D);
|
return getConfig().getDouble("hologram-y", -1D);
|
||||||
}
|
}
|
||||||
|
@ -2,10 +2,17 @@ package us.myles.ViaVersion.api;
|
|||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
import us.myles.ViaVersion.ViaVersionPlugin;
|
||||||
|
|
||||||
public class ViaVersion {
|
public class ViaVersion {
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
|
||||||
private static ViaVersionAPI instance;
|
private static ViaVersionAPI instance;
|
||||||
|
@Getter
|
||||||
|
private static ViaVersionConfig config;
|
||||||
|
|
||||||
|
public static void setInstance(ViaVersionPlugin plugin) {
|
||||||
|
ViaVersion.instance = plugin;
|
||||||
|
ViaVersion.config = plugin;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -80,7 +80,7 @@ public interface ViaVersionAPI {
|
|||||||
BossBar createBossBar(String title, float health, BossColor color, BossStyle style);
|
BossBar createBossBar(String title, float health, BossColor color, BossStyle style);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Obtain if global debug is enabled
|
* Get if global debug is enabled
|
||||||
*
|
*
|
||||||
* @return true if debug is enabled
|
* @return true if debug is enabled
|
||||||
*/
|
*/
|
||||||
|
82
src/main/java/us/myles/ViaVersion/api/ViaVersionConfig.java
Normale Datei
82
src/main/java/us/myles/ViaVersion/api/ViaVersionConfig.java
Normale Datei
@ -0,0 +1,82 @@
|
|||||||
|
package us.myles.ViaVersion.api;
|
||||||
|
|
||||||
|
public interface ViaVersionConfig {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get if global debug is enabled
|
||||||
|
*
|
||||||
|
* @return true if debug is enabled
|
||||||
|
*/
|
||||||
|
boolean isDebug();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get if collision preventing for players is enabled
|
||||||
|
*
|
||||||
|
* @return true if collision preventing is enabled
|
||||||
|
*/
|
||||||
|
boolean isPreventCollision();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get if 1.9 clients are shown the new effect indicator in the top-right corner
|
||||||
|
*
|
||||||
|
* @return true if the using of the new effect indicator is enabled
|
||||||
|
*/
|
||||||
|
boolean isNewEffectIndicator();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get if metadata errors will be suppressed
|
||||||
|
*
|
||||||
|
* @return true if metadata errors suppression is enabled
|
||||||
|
*/
|
||||||
|
boolean isSuppressMetadataErrors();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get if blocking in 1.9 appears as a player holding a shield
|
||||||
|
*
|
||||||
|
* @return true if shield blocking is enabled
|
||||||
|
*/
|
||||||
|
boolean isShieldBlocking();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get if armor stand positions are fixed so holograms show up at the correct height in 1.9
|
||||||
|
*
|
||||||
|
* @return true if hologram patching is enabled
|
||||||
|
*/
|
||||||
|
boolean isHologramPatch();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get if boss bars are fixed for 1.9 clients
|
||||||
|
*
|
||||||
|
* @return true if boss bar patching is enabled
|
||||||
|
*/
|
||||||
|
boolean isBossbarPatch();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get if the boss bars for 1.9 clients are being stopped from flickering
|
||||||
|
* This will keep all boss bars on 100% (not recommended)
|
||||||
|
*
|
||||||
|
* @return true if boss bar anti flickering is enabled
|
||||||
|
*/
|
||||||
|
boolean isBossbarAntiflicker();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get if unknown entity errors will be suppressed
|
||||||
|
*
|
||||||
|
* @return true if boss bar patching is enabled
|
||||||
|
*/
|
||||||
|
boolean isUnknownEntitiesSuppressed();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the vertical offset armor stands are being moved with when the hologram patch is enabled
|
||||||
|
*
|
||||||
|
* @return the vertical offset holograms will be moved with
|
||||||
|
*/
|
||||||
|
double getHologramYOffset();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get if players will be automatically put in the same team when collision preventing is enabled
|
||||||
|
*
|
||||||
|
* @return true if automatic teaming is enabled
|
||||||
|
*/
|
||||||
|
boolean isAutoTeam();
|
||||||
|
}
|
@ -183,7 +183,7 @@ public class EntityPackets {
|
|||||||
EntityTracker tracker = wrapper.user().get(EntityTracker.class);
|
EntityTracker tracker = wrapper.user().get(EntityTracker.class);
|
||||||
if (tracker.getClientEntityTypes().containsKey(entityID)) {
|
if (tracker.getClientEntityTypes().containsKey(entityID)) {
|
||||||
MetadataRewriter.transform(tracker.getClientEntityTypes().get(entityID), metadataList);
|
MetadataRewriter.transform(tracker.getClientEntityTypes().get(entityID), metadataList);
|
||||||
} else {
|
} else if(!ViaVersion.getConfig().isUnknownEntitiesSuppressed()){
|
||||||
System.out.println("Unable to find entity for metadata, entity ID: " + entityID);
|
System.out.println("Unable to find entity for metadata, entity ID: " + entityID);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -21,4 +21,7 @@ bossbar-patch: true
|
|||||||
# If your boss bar flickers on 1.9, set this to 'true'. It will keep all boss bars on 100% (not recommended)
|
# If your boss bar flickers on 1.9, set this to 'true'. It will keep all boss bars on 100% (not recommended)
|
||||||
bossbar-anti-flicker: false
|
bossbar-anti-flicker: false
|
||||||
# This will show the new effect indicator in the top-right corner for 1.9 players.
|
# This will show the new effect indicator in the top-right corner for 1.9 players.
|
||||||
use-new-effect-indicator: true
|
use-new-effect-indicator: true
|
||||||
|
# This will suppress the following error: 'Unable to get entity for ID: xxxx'
|
||||||
|
# This error message means one of you plugins is sending bad packets!
|
||||||
|
suppress-entityid-errors: false
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren