More updates

This commit is contained in:
Logan Saso
2025-10-04 22:09:25 -07:00
parent 2b2f2fd556
commit 569fe40074
4 changed files with 33 additions and 21 deletions

View File

@@ -75,39 +75,32 @@ update-interval-ticks: 20
# Maximum render distance in blocks # Maximum render distance in blocks
max-render-distance: 100 max-render-distance: 100
# Spacing between particles
particle-spacing: 0.5
# Render walls or just edges # Render walls or just edges
render-walls: true render-walls: true
# Particle color (RGB 0-255) # Particle rendering
render-particles: true
particle-spacing: 0.5
particle-color: particle-color:
red: 147 red: 147
green: 112 green: 112
blue: 219 blue: 219
# Particle size (0.5-2.0 recommended)
particle-size: 1.0 particle-size: 1.0
# Block rendering settings # Block rendering
# Whether to render actual blocks (glass panes) in addition to particles
render-blocks: true render-blocks: true
# Distance between blocks (in blocks)
block-spacing: 1.0 block-spacing: 1.0
# Block material to use (e.g., PURPLE_STAINED_GLASS_PANE, BARRIER, GLASS)
block-material: PURPLE_STAINED_GLASS_PANE block-material: PURPLE_STAINED_GLASS_PANE
``` ```
## Performance Tips ## Performance Tips
- Reduce `max-render-distance` for servers with many regions - Reduce `max-render-distance` for servers with many regions
- Set `render-particles: false` to disable particles and only show blocks
- Set `render-blocks: false` to disable glass panes and only use particles
- Increase `particle-spacing` to reduce particle count - Increase `particle-spacing` to reduce particle count
- Increase `block-spacing` to reduce block count - Increase `block-spacing` to reduce block count
- Set `render-blocks: false` to disable glass panes and only use particles - Set `render-walls: false` to only show edges (not faces)
- Set `render-walls: false` to only show edges
- Increase `update-interval-ticks` if you don't need real-time updates - Increase `update-interval-ticks` if you don't need real-time updates
- Use `BARRIER` blocks instead of glass panes (less visible but lighter) - Use `BARRIER` blocks instead of glass panes (less visible but lighter)

View File

@@ -111,17 +111,28 @@ public class ForcefieldCommand implements CommandExecutor, TabCompleter {
plugin.getConfig().getLong("update-interval-ticks", 20L) + " ticks"); plugin.getConfig().getLong("update-interval-ticks", 20L) + " ticks");
sender.sendMessage(ChatColor.YELLOW + "Max Render Distance: " + ChatColor.WHITE + sender.sendMessage(ChatColor.YELLOW + "Max Render Distance: " + ChatColor.WHITE +
plugin.getConfig().getInt("max-render-distance", 100) + " blocks"); plugin.getConfig().getInt("max-render-distance", 100) + " blocks");
sender.sendMessage(ChatColor.YELLOW + "Particle Spacing: " + ChatColor.WHITE +
plugin.getConfig().getDouble("particle-spacing", 0.5) + " blocks");
sender.sendMessage(ChatColor.YELLOW + "Render Walls: " + ChatColor.WHITE + sender.sendMessage(ChatColor.YELLOW + "Render Walls: " + ChatColor.WHITE +
(plugin.getConfig().getBoolean("render-walls", true) ? "Yes" : "No")); (plugin.getConfig().getBoolean("render-walls", true) ? "Yes" : "No"));
sender.sendMessage(ChatColor.GOLD + "Particles:");
sender.sendMessage(ChatColor.YELLOW + " Enabled: " + ChatColor.WHITE +
(plugin.getConfig().getBoolean("render-particles", true) ? "Yes" : "No"));
sender.sendMessage(ChatColor.YELLOW + " Spacing: " + ChatColor.WHITE +
plugin.getConfig().getDouble("particle-spacing", 0.5) + " blocks");
int red = plugin.getConfig().getInt("particle-color.red", 147); int red = plugin.getConfig().getInt("particle-color.red", 147);
int green = plugin.getConfig().getInt("particle-color.green", 112); int green = plugin.getConfig().getInt("particle-color.green", 112);
int blue = plugin.getConfig().getInt("particle-color.blue", 219); int blue = plugin.getConfig().getInt("particle-color.blue", 219);
sender.sendMessage(ChatColor.YELLOW + "Particle Color: " + ChatColor.WHITE + sender.sendMessage(ChatColor.YELLOW + " Color: " + ChatColor.WHITE +
"RGB(" + red + ", " + green + ", " + blue + ")"); "RGB(" + red + ", " + green + ", " + blue + ")");
sender.sendMessage(ChatColor.GOLD + "Blocks:");
sender.sendMessage(ChatColor.YELLOW + " Enabled: " + ChatColor.WHITE +
(plugin.getConfig().getBoolean("render-blocks", true) ? "Yes" : "No"));
sender.sendMessage(ChatColor.YELLOW + " Spacing: " + ChatColor.WHITE +
plugin.getConfig().getDouble("block-spacing", 1.0) + " blocks");
sender.sendMessage(ChatColor.YELLOW + " Material: " + ChatColor.WHITE +
plugin.getConfig().getString("block-material", "PURPLE_STAINED_GLASS_PANE"));
sender.sendMessage(ChatColor.YELLOW + "Online Players: " + ChatColor.WHITE + sender.sendMessage(ChatColor.YELLOW + "Online Players: " + ChatColor.WHITE +
plugin.getServer().getOnlinePlayers().size()); plugin.getServer().getOnlinePlayers().size());

View File

@@ -269,6 +269,10 @@ public class ForcefieldRenderer {
* Spawns a single particle at the specified location for a player. * Spawns a single particle at the specified location for a player.
*/ */
private void spawnParticle(@NotNull Player player, @NotNull World world, double x, double y, double z) { private void spawnParticle(@NotNull Player player, @NotNull World world, double x, double y, double z) {
if (!plugin.getConfig().getBoolean("render-particles", true)) {
return;
}
Location location = new Location(world, x, y, z); Location location = new Location(world, x, y, z);
player.spawnParticle(Particle.DUST, location, 1, 0, 0, 0, 0, dustOptions); player.spawnParticle(Particle.DUST, location, 1, 0, 0, 0, 0, dustOptions);
} }

View File

@@ -10,14 +10,18 @@ update-interval-ticks: 20
# Reducing this can improve performance on servers with many regions # Reducing this can improve performance on servers with many regions
max-render-distance: 100 max-render-distance: 100
# Distance between particles (in blocks)
# Smaller values = more particles = more detailed forcefields but more performance intensive
particle-spacing: 0.5
# Whether to render the walls (faces) of regions, or just the edges # Whether to render the walls (faces) of regions, or just the edges
# Setting to false will only render the outlines/edges # Setting to false will only render the outlines/edges
render-walls: true render-walls: true
# Particle rendering settings
# Whether to render particles
render-particles: true
# Distance between particles (in blocks)
# Smaller values = more particles = more detailed forcefields but more performance intensive
particle-spacing: 0.5
# Particle color (RGB values from 0-255) # Particle color (RGB values from 0-255)
particle-color: particle-color:
red: 147 red: 147