moved map object to new package. still needs love, though (tempDist & stuff)
parent
bae368b8dc
commit
7a8f7e1ea3
|
@ -2,8 +2,7 @@ package MoF;
|
|||
|
||||
|
||||
|
||||
import amidst.map.MapMarkers;
|
||||
import amidst.map.Stronghold;
|
||||
import amidst.map.*;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.Graphics2D;
|
||||
|
@ -20,7 +19,7 @@ public class ChunkManager extends Thread
|
|||
private Object b;
|
||||
public float[] a;
|
||||
public long seed;
|
||||
public Stronghold[] strongholds;
|
||||
public MapObjectStronghold[] strongholds;
|
||||
private Stack<Fragment> queue;
|
||||
private MapGenVillage villageFinder;
|
||||
private MapGenNetherhold netherholdFinder;
|
||||
|
@ -28,7 +27,7 @@ public class ChunkManager extends Thread
|
|||
private boolean active;
|
||||
private static Class<?> iBiome, iCache, s12w03a;
|
||||
private Method getData, clearCache;
|
||||
private List<Player> players;
|
||||
private List<MapObjectPlayer> players;
|
||||
private static boolean firstRun = true;
|
||||
private SkinManager m;
|
||||
public ChunkManager(long seed) {
|
||||
|
@ -81,7 +80,7 @@ public class ChunkManager extends Thread
|
|||
this.seed = seed;
|
||||
strongholds = new MapGenStronghold().a(seed, this);
|
||||
queue = new Stack<Fragment>();
|
||||
players = new ArrayList<Player>();
|
||||
players = new ArrayList<MapObjectPlayer>();
|
||||
active = true;
|
||||
villageFinder = new MapGenVillage();
|
||||
netherholdFinder = new MapGenNetherhold(seed);
|
||||
|
@ -153,19 +152,19 @@ public class ChunkManager extends Thread
|
|||
}
|
||||
|
||||
private void getPlayerData(Fragment frag) {
|
||||
for (Player p : players) {
|
||||
for (MapObjectPlayer p : players) {
|
||||
if (frag.isInside(p.x, p.y)) {
|
||||
frag.addMapObject(p);
|
||||
}
|
||||
}
|
||||
}
|
||||
public void addPlayer(Player p) {
|
||||
public void addPlayer(MapObjectPlayer p) {
|
||||
players.add(p);
|
||||
m.addPlayer(p);
|
||||
}
|
||||
public void setPlayerData(List<Player> ar) {
|
||||
public void setPlayerData(List<MapObjectPlayer> ar) {
|
||||
players = ar;
|
||||
for (Player player : ar)
|
||||
for (MapObjectPlayer player : ar)
|
||||
m.addPlayer(player);
|
||||
}
|
||||
|
||||
|
@ -195,7 +194,7 @@ public class ChunkManager extends Thread
|
|||
for (int y = 0; y < fs; y++) {
|
||||
for (int x = 0; x < fs; x++) {
|
||||
if (netherholdFinder.checkChunk((frag.x*fs) + (x), (frag.y*fs) + (y))) {
|
||||
frag.addMapObject(new NetherMapObject((frag.x*ls) + (x << 4), (frag.y*ls) + (y << 4)));
|
||||
frag.addMapObject(new MapObjectNether((frag.x*ls) + (x << 4), (frag.y*ls) + (y << 4)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -211,8 +210,6 @@ public class ChunkManager extends Thread
|
|||
|
||||
frag.addMapObject(new MapObject(type, (frag.x*ls) + (x << 4), (frag.y*ls) + (y << 4)));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -221,7 +218,7 @@ public class ChunkManager extends Thread
|
|||
for (int i = 0; i < 3; i++) {
|
||||
Point t = strongholds[i];
|
||||
if (frag.isInside(t.x, t.y)) {
|
||||
frag.addMapObject(new MapObject(MapMarkers.STRONGHOLD, t.x, t.y));
|
||||
frag.addMapObject(new MapObjectStronghold(t.x, t.y));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@ package MoF;
|
|||
|
||||
import amidst.Options;
|
||||
import amidst.map.MapMarkers;
|
||||
import amidst.map.MapObject;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.Graphics2D;
|
||||
|
@ -105,13 +106,8 @@ public class Fragment extends BufferedImage {
|
|||
}
|
||||
|
||||
public void addMapObject(MapObject m) {
|
||||
int sX = m.x >> 2;
|
||||
int sY = m.y >> 2;
|
||||
int fs = Project.FRAGMENT_SIZE;
|
||||
sX -= this.x * fs;
|
||||
sY -= this.y * fs;
|
||||
m.rx = sX;
|
||||
m.ry = sY;
|
||||
m.rx = (m.x >> 2) - (this.x * Project.FRAGMENT_SIZE);
|
||||
m.ry = (m.y >> 2) - (this.y * Project.FRAGMENT_SIZE);
|
||||
if (m.type == MapMarkers.STRONGHOLD) {
|
||||
strongholdCount++;
|
||||
} else if (m.type == MapMarkers.VILLAGE) {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
package MoF;
|
||||
import amidst.map.Stronghold;
|
||||
import amidst.map.MapObjectStronghold;
|
||||
|
||||
import java.awt.Point;
|
||||
import java.util.ArrayList;
|
||||
|
@ -10,10 +10,10 @@ public class MapGenStronghold {
|
|||
private Biome[] b = { Biome.d, Biome.f, Biome.e, Biome.h, Biome.g, Biome.n, Biome.o };
|
||||
private Biome[] ab = { Biome.d, Biome.f, Biome.e, Biome.h, Biome.g, Biome.n, Biome.o, Biome.s, Biome.t, Biome.v };
|
||||
private Biome[] ac = { Biome.d, Biome.f, Biome.e, Biome.h, Biome.g, Biome.n, Biome.o, Biome.s, Biome.t, Biome.v, Biome.w, Biome.x };
|
||||
public Stronghold[] coords = new Stronghold[3];
|
||||
public MapObjectStronghold[] coords = new MapObjectStronghold[3];
|
||||
private Random c = new Random();
|
||||
public static boolean reset0 = false;
|
||||
protected Stronghold[] a(long seed, ChunkManager x) {
|
||||
protected MapObjectStronghold[] a(long seed, ChunkManager x) {
|
||||
int j;
|
||||
c = new Random();
|
||||
this.c.setSeed(seed);
|
||||
|
@ -41,12 +41,12 @@ public class MapGenStronghold {
|
|||
k = localPoint.x >> 4;
|
||||
m = localPoint.y >> 4;
|
||||
}
|
||||
coords[j] = new Stronghold((k << 4), (m << 4));
|
||||
coords[j] = new MapObjectStronghold((k << 4), (m << 4));
|
||||
|
||||
d1 += 6.283185307179586D / this.coords.length;
|
||||
}
|
||||
if (reset0)
|
||||
coords[0] = new Stronghold(0, 0);
|
||||
coords[0] = new MapObjectStronghold(0, 0);
|
||||
|
||||
return coords;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
package MoF;
|
||||
import amidst.map.MapObject;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Font;
|
||||
|
|
|
@ -2,6 +2,8 @@ package MoF;
|
|||
|
||||
|
||||
import amidst.Options;
|
||||
import amidst.map.MapObject;
|
||||
import amidst.map.MapObjectPlayer;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.Font;
|
||||
|
@ -83,8 +85,8 @@ public class MapViewer extends JComponent implements MouseListener, MouseWheelLi
|
|||
this.addMouseWheelListener(this);
|
||||
menu = new JPopupMenu();
|
||||
if (proj.saveLoaded) {
|
||||
List<Player> pl = proj.save.getPlayers();
|
||||
for (Player player : pl) {
|
||||
List<MapObjectPlayer> pl = proj.save.getPlayers();
|
||||
for (MapObjectPlayer player : pl) {
|
||||
JMenuItem tj = new JMenuItem("Move " + player.getName() + " here.");
|
||||
|
||||
tj.addActionListener(new MapListener(this, player.getName()));
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
package MoF;
|
||||
|
||||
import amidst.map.MapObject;
|
||||
|
||||
public class PixelInfo {
|
||||
private int biome, x, y;
|
||||
private MapObject obj;
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
package MoF;
|
||||
|
||||
import amidst.map.MapObject;
|
||||
import amidst.map.MapObjectPlayer;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Color;
|
||||
import java.util.List;
|
||||
|
@ -41,7 +44,7 @@ public class Project extends JPanel {
|
|||
save = file;
|
||||
|
||||
Google.track("seed/file/" + this.seed);
|
||||
List<Player> players = file.getPlayers();
|
||||
List<MapObjectPlayer> players = file.getPlayers();
|
||||
manager.setPlayerData(players);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package MoF;
|
||||
import amidst.Util;
|
||||
import amidst.map.MapObjectPlayer;
|
||||
import amidst.nbt.Tag;
|
||||
import amidst.nbt.TagCompound;
|
||||
|
||||
|
@ -51,11 +52,11 @@ public class SaveLoader {
|
|||
}
|
||||
|
||||
private File file;
|
||||
private List<Player> players;
|
||||
private List<MapObjectPlayer> players;
|
||||
public long seed;
|
||||
private boolean multi;
|
||||
private List<String> back;
|
||||
public List<Player> getPlayers() {
|
||||
public List<MapObjectPlayer> getPlayers() {
|
||||
return players;
|
||||
}
|
||||
public void movePlayer(String name, int x, int y) {
|
||||
|
@ -113,17 +114,17 @@ public class SaveLoader {
|
|||
|
||||
public SaveLoader(File f) {
|
||||
file = f;
|
||||
players = new ArrayList<Player>();
|
||||
players = new ArrayList<MapObjectPlayer>();
|
||||
back = new ArrayList<String>();
|
||||
try {
|
||||
TagCompound t = Tag.readFrom(new FileInputStream(f));
|
||||
TagCompound pTag = (TagCompound) t.findTagByName("Player");
|
||||
TagCompound pTag = (TagCompound) t.findTagByName("MapObjectPlayer");
|
||||
seed = (Long) t.findTagByName("RandomSeed").getValue();
|
||||
genType = Type.fromMixedCase((String) t.findTagByName("generatorName").getValue());
|
||||
System.out.println("Gen Type: " + genType);
|
||||
multi = pTag == null;
|
||||
if (!multi) {
|
||||
addPlayer("Player", pTag);
|
||||
addPlayer("MapObjectPlayer", pTag);
|
||||
} else {
|
||||
File[] listing = new File(f.getParent(), "players").listFiles();
|
||||
for (int i = 0; i < (listing != null ? listing.length : 0); i++) {
|
||||
|
@ -141,6 +142,6 @@ public class SaveLoader {
|
|||
Tag<Double>[] pa = (Tag[]) pos.getValue();
|
||||
double x = pa[0].getValue();
|
||||
double z = pa[2].getValue();
|
||||
players.add(new Player(name, (int) x, (int) z));
|
||||
players.add(new MapObjectPlayer(name, (int) x, (int) z));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
package MoF;
|
||||
|
||||
import amidst.map.MapObjectPlayer;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.Graphics2D;
|
||||
import java.awt.image.BufferedImage;
|
||||
|
@ -11,14 +13,14 @@ import java.util.Stack;
|
|||
import javax.imageio.ImageIO;
|
||||
|
||||
public class SkinManager extends Thread {
|
||||
private Stack<Player> players;
|
||||
private Stack<MapObjectPlayer> players;
|
||||
public boolean active;
|
||||
public SkinManager() {
|
||||
players = new Stack<Player>();
|
||||
players = new Stack<MapObjectPlayer>();
|
||||
active = true;
|
||||
}
|
||||
|
||||
public void addPlayer(Player p) {
|
||||
public void addPlayer(MapObjectPlayer p) {
|
||||
players.push(p);
|
||||
}
|
||||
public void run() {
|
||||
|
@ -27,7 +29,7 @@ public class SkinManager extends Thread {
|
|||
if (players.isEmpty()) {
|
||||
Thread.sleep(50L);
|
||||
} else {
|
||||
Player p = players.pop();
|
||||
MapObjectPlayer p = players.pop();
|
||||
try {
|
||||
URL url = new URL("http://s3.amazonaws.com/MinecraftSkins/" + p.getName() + ".png");
|
||||
BufferedImage img = ImageIO.read(url);
|
||||
|
|
|
@ -3,6 +3,7 @@ package amidst.gui;
|
|||
import MoF.*;
|
||||
import amidst.Options;
|
||||
import amidst.Util;
|
||||
import amidst.map.MapObjectPlayer;
|
||||
import amidst.resources.ResourceLoader;
|
||||
|
||||
import javax.swing.*;
|
||||
|
@ -13,7 +14,6 @@ import java.awt.event.InputEvent;
|
|||
import java.awt.event.KeyEvent;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
/** Structured menubar-creation to alleviate the huge mess that it would be elsewise
|
||||
|
@ -60,7 +60,7 @@ public class AmidstMenu extends JMenuBar {
|
|||
@Override
|
||||
public void actionPerformed(ActionEvent arg0) {
|
||||
if (window.curProject.saveLoaded)
|
||||
for (Player player : window.curProject.save.getPlayers())
|
||||
for (MapObjectPlayer player : window.curProject.save.getPlayers())
|
||||
if (player.needSave) {
|
||||
window.curProject.save.movePlayer(player.getName(), player.x, player.y);
|
||||
player.needSave = false;
|
||||
|
@ -140,7 +140,7 @@ public class AmidstMenu extends JMenuBar {
|
|||
super("Find");
|
||||
//add(new JMenuItem("Biome"));
|
||||
//add(new JMenuItem("Village"));
|
||||
add(new JMenuItem("Stronghold") {{
|
||||
add(new JMenuItem("MapObjectStronghold") {{
|
||||
setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F, InputEvent.CTRL_DOWN_MASK));
|
||||
addActionListener(new ActionListener() {
|
||||
@Override
|
||||
|
@ -177,14 +177,14 @@ public class AmidstMenu extends JMenuBar {
|
|||
});
|
||||
}});
|
||||
|
||||
add(new JMenuItem("Player") {{
|
||||
add(new JMenuItem("MapObjectPlayer") {{
|
||||
addActionListener(new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent arg0) {
|
||||
if (window.curProject.saveLoaded) {
|
||||
List<Player> playerList = window.curProject.save.getPlayers();
|
||||
Player[] players = playerList.toArray(new Player[playerList.size()]);
|
||||
goToChosenPoint(players, "Player");
|
||||
List<MapObjectPlayer> playerList = window.curProject.save.getPlayers();
|
||||
MapObjectPlayer[] players = playerList.toArray(new MapObjectPlayer[playerList.size()]);
|
||||
goToChosenPoint(players, "MapObjectPlayer");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package MoF;
|
||||
package amidst.map;
|
||||
import amidst.Options;
|
||||
import amidst.map.MapMarkers;
|
||||
|
||||
|
@ -10,15 +10,15 @@ public class MapObject extends Point {
|
|||
public MapMarkers type;
|
||||
public int rx, ry;
|
||||
public double localScale = 1.0;
|
||||
public boolean selectable = true;
|
||||
public double tempDist = 0;
|
||||
protected JToggleButton.ToggleButtonModel model;
|
||||
public MapObject(MapMarkers eType, int eX, int eY) {
|
||||
|
||||
public MapObject(MapMarkers eType, int x, int y) {
|
||||
super(x, y);
|
||||
type = eType;
|
||||
x = eX;
|
||||
y = eY;
|
||||
model = Options.instance.showIcons;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return type.toString();
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
package amidst.map;
|
||||
|
||||
import amidst.Options;
|
||||
|
||||
public class MapObjectNether extends MapObject {
|
||||
public MapObjectNether(int eX, int eY) {
|
||||
super(MapMarkers.NETHER_FORTRESS, eX, eY);
|
||||
model = Options.instance.showNetherFortresses;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,47 @@
|
|||
package amidst.map;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
|
||||
public class MapObjectPlayer extends MapObject {
|
||||
private String name;
|
||||
public boolean needSave;
|
||||
private BufferedImage marker;
|
||||
|
||||
public MapObjectPlayer(String name, int x, int y) {
|
||||
super(MapMarkers.PLAYER, x , y);
|
||||
marker = type.image;
|
||||
needSave = false;
|
||||
this.setName(name);
|
||||
}
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
public int getWidth() {
|
||||
return (int)(marker.getWidth()*localScale*3);
|
||||
}
|
||||
public int getHeight() {
|
||||
return (int)(marker.getHeight()*localScale*3);
|
||||
}
|
||||
public void setPosition(int x, int y) {
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
needSave = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BufferedImage getImage() {
|
||||
return marker;
|
||||
}
|
||||
|
||||
public void setMarker(BufferedImage img) {
|
||||
this.marker = img;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "MapObjectPlayer \"" + name + "\" at (" + x + ", " + y + ")";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
package amidst.map;
|
||||
|
||||
/** Used mainly to be override its toString method for use in choices
|
||||
*/
|
||||
public class MapObjectStronghold extends MapObject {
|
||||
public MapObjectStronghold(int x, int y) {
|
||||
super(MapMarkers.STRONGHOLD, x, y);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "MapObjectStronghold at (" + x + ", " + y + ")";
|
||||
}
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
package amidst.map;
|
||||
|
||||
import java.awt.*;
|
||||
|
||||
/** Used mainly to be override its toString method for use in choices
|
||||
*/
|
||||
public class Stronghold extends Point {
|
||||
public Stronghold(int x, int y) {
|
||||
super(x, y);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Stronghold at (" + x + ", " + y + ")";
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue