本文整理汇总了Java中org.bukkit.map.MapCanvas类的典型用法代码示例。如果您正苦于以下问题:Java MapCanvas类的具体用法?Java MapCanvas怎么用?Java MapCanvas使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
MapCanvas类属于org.bukkit.map包,在下文中一共展示了MapCanvas类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: render
import org.bukkit.map.MapCanvas; //导入依赖的package包/类
@Override
public void render(MapView map, MapCanvas canvas, Player player) {
// Map
for (int x = 0; x < 128; ++x) {
for (int y = 0; y < 128; ++y) {
canvas.setPixel(x, y, worldMap.colors[y * 128 + x]);
}
}
// Cursors
MapCursorCollection cursors = canvas.getCursors();
while (cursors.size() > 0) {
cursors.removeCursor(cursors.getCursor(0));
}
for (UUID key : worldMap.playersVisibleOnMap.keySet()) { // Spigot string -> uuid
// If this cursor is for a player check visibility with vanish system
Player other = Bukkit.getPlayer(key); // Spigot
if (other != null && !player.canSee(other)) {
continue;
}
net.minecraft.world.storage.MapData.MapCoord decoration = (net.minecraft.world.storage.MapData.MapCoord) worldMap.playersVisibleOnMap.get(key);
cursors.addCursor(decoration.centerX, decoration.centerZ, (byte) (decoration.iconRotation & 15), decoration.iconSize);
}
}
示例2: render
import org.bukkit.map.MapCanvas; //导入依赖的package包/类
@Override
public void render(MapView map, MapCanvas canvas, Player player) {
// Map
for (int x = 0; x < 128; ++x) {
for (int y = 0; y < 128; ++y) {
canvas.setPixel(x, y, worldMap.colors[y * 128 + x]);
}
}
// Cursors
MapCursorCollection cursors = canvas.getCursors();
while (cursors.size() > 0) {
cursors.removeCursor(cursors.getCursor(0));
}
for (Object key : worldMap.playersVisibleOnMap.keySet()) {
// If this cursor is for a player check visibility with vanish system
Player other = Bukkit.getPlayerExact((String) key);
if (other != null && !player.canSee(other)) {
continue;
}
net.minecraft.world.storage.MapData.MapCoord decoration = (net.minecraft.world.storage.MapData.MapCoord) worldMap.playersVisibleOnMap.get(key);
cursors.addCursor(decoration.centerX, decoration.centerZ, (byte) (decoration.iconRotation & 15), decoration.iconSize);
}
}
示例3: drawNumbers
import org.bukkit.map.MapCanvas; //导入依赖的package包/类
public void drawNumbers(MapCanvas canvas)
{
for(int i = 0; i < icons.length && i < dayOfMonth; i++)
if(icons[i] != null)
{
int numberX = iconStartX + (i % 6) * 18 + (16 - numbers[i].length) / 2;
for(int x = 0; x < numbers[i].length; x++)
{
int numberY = iconStartY + (i / 6) * 18 + (16 - numbers[i][x].length) / 2;
for(int y = 0; y < numbers[i][x].length; y++)
{
int xx = numberX + x;
int yy = numberY + y;
Byte color = numbers[i][x][y];
if(color != null)
canvas.setPixel(xx, yy, color);
}
}
}
}
示例4: drawRectangleFade
import org.bukkit.map.MapCanvas; //导入依赖的package包/类
public static void drawRectangleFade(MapCanvas canvas, int startX, int startY, int width, int height, byte[] color, int fadeId)
{
int colorLength = color.length + color.length - 1;
double barHeight = height / colorLength;
for (double bar = 0; bar < colorLength; bar++)
{
int barStartY = (int) (barHeight * bar);
int reminder = (int) bar % 2;
boolean fade = reminder != 0;
if (fade)
for (int x = startX; x < startX + width; x++)
for (int y = startY; y < startY + height; y++)
{
int color1 = (int) (bar - reminder) / 2;
int color2 = (int) (bar - reminder) / 2 + 1;
int curColor = (x + y + barStartY) % 2 == fadeId ? color1 : color2;
canvas.setPixel(x, y + barStartY, color[curColor]);
}
else
for (int x = startX; x < startX + width; x++)
for (int y = startY; y < startY + height; y++)
canvas.setPixel(x, y + barStartY, color[(int) (bar / 2)]);
}
}
示例5: drawAvailableColors
import org.bukkit.map.MapCanvas; //导入依赖的package包/类
public void drawAvailableColors(MapCanvas canvas)
{
for (int y = 0; y < MAP_SIZE / 4; y++)
for (int x = 0; x < MAP_SIZE / 4; x++)
{
int id = y * (MAP_SIZE / 4) + x;
try
{
drawRectangle(canvas, x * 4, y * 4, 4, 4, BPMapPalette.matchColor(BPMapPalette.colors[id]));
}
catch (Exception e)
{
return;
}
}
}
示例6: renderGraphTick
import org.bukkit.map.MapCanvas; //导入依赖的package包/类
@Override
public int renderGraphTick(MapCanvas canvas, int nextPosX) {
int threadCount = threadBean.getThreadCount();
int daemonCount = threadBean.getDaemonThreadCount();
//round up to the nearest multiple of 5
int roundedMax = (int) (5 * (Math.ceil((float) threadCount / 5)));
int threadHeight = getHeightScaled(roundedMax, threadCount);
int daemonHeight = getHeightScaled(roundedMax, daemonCount);
for (int yPos = MAX_HEIGHT - threadHeight; yPos < 128; yPos++) {
canvas.setPixel(nextPosX, yPos, MAX_COLOR);
}
for (int yPos = MAX_HEIGHT - daemonHeight; yPos < 128; yPos++) {
canvas.setPixel(nextPosX, yPos, USED_COLOR);
}
//these is the max number of all threads
return threadCount;
}
示例7: renderGraphTick
import org.bukkit.map.MapCanvas; //导入依赖的package包/类
@Override
public int renderGraphTick(MapCanvas canvas, int nextPosX) {
for (int i = 0; i < graphRenderers.length; i++) {
GraphRenderer graphRenderer = graphRenderers[i];
int position = this.componentLastPos[i];
position++;
//index starts with 0 so in the end - 1
int maxComponentWidth = (i + 1) * componentWidth + i * SPACES - 1;
if (position > maxComponentWidth) {
//reset it to the start pos
position = i * componentWidth + i * SPACES;
}
graphRenderer.renderGraphTick(canvas, position);
this.componentLastPos[i] = position;
}
return 100;
}
示例8: execute
import org.bukkit.map.MapCanvas; //导入依赖的package包/类
@Override
protected void execute(Event e) {
SkellettMapRenderer render = SkellettMapRenderer.getRenderer(map.getSingle(e));
if (render != null) {
render.update(new MapRenderTask() {
@SuppressWarnings("deprecation")
@Override
public void render(MapView mapView, MapCanvas mapCanvas, Player player) {
MapCursor cursor = new MapCursor((byte)x.getSingle(e).intValue(), (byte)y.getSingle(e).intValue(), (byte)direction.getSingle(e).intValue(), (byte) 2, true);
try {
MapCursor.Type type = MapCursor.Type.valueOf(cursorType.getSingle(e).replace("\"", "").trim().replace(" ", "_").toUpperCase());
if (type != null) {
cursor.setType(type);
}
} catch (IllegalArgumentException error) {
Bukkit.getConsoleSender().sendMessage(Skellett.cc(Skellett.prefix + "&cUnknown mapcursor type " + cursorType.getSingle(e)));
return;
}
mapCanvas.getCursors().addCursor(cursor);
}
});
}
}
示例9: execute
import org.bukkit.map.MapCanvas; //导入依赖的package包/类
@Override
protected void execute(Event e) {
SkellettMapRenderer render = SkellettMapRenderer.getRenderer(map.getSingle(e));
if (render != null && image != null) {
Integer xget = 0;
Integer yget = 0;
if (x != null || y != null) {
xget = x.getSingle(e).intValue();
yget = y.getSingle(e).intValue();
}
final Integer xcoord = xget;
final Integer ycoord = yget;
render.update(new MapRenderTask() {
@Override
public void render(MapView mapView, MapCanvas mapCanvas, Player player) {
mapCanvas.drawImage(xcoord, ycoord, image.getSingle(e));
}
});
}
}
示例10: render
import org.bukkit.map.MapCanvas; //导入依赖的package包/类
@Override
public void render(MapView map, MapCanvas canvas, Player player) {
// Map
for (int x = 0; x < 128; ++x) {
for (int y = 0; y < 128; ++y) {
canvas.setPixel(x, y, worldMap.colors[y * 128 + x]);
}
}
// Cursors
MapCursorCollection cursors = canvas.getCursors();
while (cursors.size() > 0) {
cursors.removeCursor(cursors.getCursor(0));
}
for (Map.Entry<UUID, MapData.MapCoord> key : worldMap.playersVisibleOnMap.entrySet()) {
// If this cursor is for a player check visibility with vanish system
Player other = Bukkit.getPlayer(key.getKey());
if (other != null && !player.canSee(other)) {
continue;
}
MapData.MapCoord decoration = key.getValue();
cursors.addCursor(decoration.centerX, decoration.centerZ, (byte) (decoration.iconRotation & 15), decoration.iconSize);
}
}
示例11: render
import org.bukkit.map.MapCanvas; //导入依赖的package包/类
@Override
public void render(MapView map, MapCanvas canvas, Player player) {
// Map
for (int x = 0; x < 128; ++x) {
for (int y = 0; y < 128; ++y) {
canvas.setPixel(x, y, worldMap.colors[y * 128 + x]);
}
}
// Cursors
MapCursorCollection cursors = canvas.getCursors();
while (cursors.size() > 0) {
cursors.removeCursor(cursors.getCursor(0));
}
for (Object key : worldMap.decorations.keySet()) {
// If this cursor is for a player check visibility with vanish system
Player other = Bukkit.getPlayerExact((String) key);
if (other != null && !player.canSee(other)) {
continue;
}
WorldMapDecoration decoration = (WorldMapDecoration) worldMap.decorations.get(key);
cursors.addCursor(decoration.locX, decoration.locY, (byte) (decoration.rotation & 15), decoration.type);
}
}
示例12: render
import org.bukkit.map.MapCanvas; //导入依赖的package包/类
@Override
@SuppressWarnings("deprecation")
public void render(MapView map, MapCanvas canvas, Player player) {
// Only render when on this world
if (!map.getWorld().equals(plugin.getBeaconzWorld())) {
return;
}
// Only render if the map is in a hand
ItemStack inMainHand = player.getInventory().getItemInMainHand();
ItemStack inOffHand = player.getInventory().getItemInOffHand();
if (inMainHand.getType().equals(Material.MAP) || inOffHand.getType().equals(Material.MAP)) {
//Bukkit.getLogger().info("DEBUG: render");
// here's where you do your drawing - see the Javadocs for the MapCanvas class for
// the methods you can use
canvas.drawText(10, 10, MinecraftFont.Font, Lang.beaconMapBeaconMap);
// Get the text
BeaconObj beacon = plugin.getRegister().getBeaconMap(map.getId());
if (beacon != null) {
canvas.drawText(10, 20, MinecraftFont.Font, Lang.generalLocation + ": " + beacon.getName());
canvas.setPixel(64, 64, (byte) 64);
} else {
canvas.drawText(10, 20, MinecraftFont.Font, Lang.beaconMapUnknownBeacon);
}
}
}
示例13: render
import org.bukkit.map.MapCanvas; //导入依赖的package包/类
@Override
public void render(MapView map, MapCanvas canvas, Player player) {
// Map
for (int x = 0; x < 128; ++x) {
for (int y = 0; y < 128; ++y) {
canvas.setPixel(x, y, worldMap.colors[y * 128 + x]);
}
}
// Cursors
MapCursorCollection cursors = canvas.getCursors();
while (cursors.size() > 0) {
cursors.removeCursor(cursors.getCursor(0));
}
for (Object key : worldMap.g.keySet()) {
// If this cursor is for a player check visibility with vanish system
Player other = Bukkit.getPlayerExact((String) key);
if (other != null && !player.canSee(other)) {
continue;
}
WorldMapDecoration decoration = (WorldMapDecoration) worldMap.g.get(key);
cursors.addCursor(decoration.locX, decoration.locY, (byte) (decoration.rotation & 15), decoration.type);
}
}
示例14: render
import org.bukkit.map.MapCanvas; //导入依赖的package包/类
/**
* Render image on the map
* @param mv Map item map view
* @param mc Map item map canvas
* @param player Player that the redraw is performed for
*/
@Override
public void render(final MapView mv, final MapCanvas mc, Player player) {
if (m_isRendered) {
return;
}
m_isRendered = true;
int idx = 0;
for (int y = 0; y < MAX_SIZE; y++) {
for (int x = 0; x < MAX_SIZE; x++) {
mc.setPixel(x, y, m_img[idx]);
idx++;
}
}
}
示例15: render
import org.bukkit.map.MapCanvas; //导入依赖的package包/类
@Override
public void render(MapView view, MapCanvas canvas, Player player){
if(cacher == null){
cacher = new CachingRunnable(view.getId(), file);
Thread thread = ThreadCallback.createThread(cacher, new Runnable() {
@Override
public void run() {
READY.compareAndSet(false, true);
}
});
thread.start();
} else if(READY.get()){
if(animation == null){
animation = new AnimationRunnable(cacher.getPackets(), cacher.getDelay());
animation.addPlayer(player);
animation.start();
} else {
animation.addPlayer(player);
}
}
}