mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2025-07-18 10:32:30 +00:00
50 lines
1.7 KiB
Java
50 lines
1.7 KiB
Java
package com.dfsek.terra.image;
|
|
|
|
import com.dfsek.terra.Terra;
|
|
import com.dfsek.terra.biome.TerraBiomeGrid;
|
|
import com.dfsek.terra.biome.UserDefinedBiome;
|
|
import com.dfsek.terra.config.genconfig.BiomeConfig;
|
|
import org.bukkit.Bukkit;
|
|
import org.bukkit.entity.Player;
|
|
|
|
import javax.swing.*;
|
|
import java.awt.*;
|
|
import java.awt.event.ActionEvent;
|
|
import java.awt.event.ActionListener;
|
|
import java.awt.image.BufferedImage;
|
|
|
|
public class DebugFrame extends JFrame implements ActionListener {
|
|
private final int x;
|
|
private final int z;
|
|
private final BufferedImage img;
|
|
public DebugFrame(BufferedImage image, String s) {
|
|
super(s);
|
|
this.x = image.getWidth();
|
|
this.z = image.getHeight();
|
|
this.img = image;
|
|
new Timer(500, this).start();
|
|
}
|
|
|
|
@Override
|
|
public void paint(Graphics g) {
|
|
super.paintComponents(g);
|
|
for(Player p : Bukkit.getOnlinePlayers()) {
|
|
int xp = (int) (((double) Math.floorMod(p.getLocation().getBlockX(), x)/x)*getWidth());
|
|
int zp = (int) (((double) Math.floorMod(p.getLocation().getBlockZ(), z)/z)*getHeight());
|
|
g.setColor(new Color(255, 255, 255, 64));
|
|
g.drawRect(xp+10, zp-5, 20, 20);
|
|
g.setColor(Color.BLACK);
|
|
g.drawString(p.getName(), xp+15, zp);
|
|
g.drawString(BiomeConfig.fromBiome((UserDefinedBiome) TerraBiomeGrid.fromWorld(p.getWorld()).getBiome(p.getLocation())).getID(), xp+15, zp+15);
|
|
g.fillOval(xp, zp, 10, 10);
|
|
g.setColor(Color.RED);
|
|
g.fillOval(xp+3, zp+3, 5, 5);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void actionPerformed(ActionEvent e) {
|
|
this.repaint();
|
|
}
|
|
}
|