mirror of
https://github.com/simon987/Much-Assembly-Required.git
synced 2025-04-22 12:06:42 +00:00
Remove NpcPlugin class
This commit is contained in:
parent
21a391e077
commit
cc5627902e
@ -63,7 +63,7 @@ public class Factory extends Structure implements Updatable, MessageReceiver {
|
||||
@Override
|
||||
public void update() {
|
||||
|
||||
Settlement settlement = NpcPlugin.settlementMap.get(getWorld().getId());
|
||||
Settlement settlement = Settlement.MAP.get(getWorld().getId());
|
||||
|
||||
if (settlement == null) {
|
||||
//Only happens when server is killed during save function
|
||||
@ -133,7 +133,7 @@ public class Factory extends Structure implements Updatable, MessageReceiver {
|
||||
public boolean sendMessage(char[] message) {
|
||||
|
||||
if (locked) {
|
||||
Settlement settlement = NpcPlugin.settlementMap.get(getWorld().getId());
|
||||
Settlement settlement = Settlement.MAP.get(getWorld().getId());
|
||||
|
||||
if (Arrays.equals(settlement.getPassword(), message)) {
|
||||
this.locked = false;
|
||||
|
@ -20,6 +20,8 @@ import java.util.Map;
|
||||
|
||||
public class HackedNPC extends NonPlayerCharacter implements ControllableUnit {
|
||||
|
||||
public static Document DEFAULT_HACKED_NPC;
|
||||
|
||||
private static final int MEM_SIZE = GameServer.INSTANCE.getConfig().getInt("hacked_npc_mem_size");
|
||||
private static final boolean DIE_ON_NO_ENERGY = GameServer.INSTANCE.getConfig().getInt("hacked_npc_die_on_no_energy") != 0;
|
||||
|
||||
@ -43,7 +45,7 @@ public class HackedNPC extends NonPlayerCharacter implements ControllableUnit {
|
||||
cpu.setHardwareHost(this);
|
||||
cpu.getMemory().write(cpu.getCodeSectionOffset(), program, 0, program.length);
|
||||
|
||||
for (Object serialisedHw : (List) NpcPlugin.DEFAULT_HACKED_NPC.get("hardware")) {
|
||||
for (Object serialisedHw : (List) DEFAULT_HACKED_NPC.get("hardware")) {
|
||||
HardwareModule hardware = GameServer.INSTANCE.getRegistry().deserializeHardware((Document) serialisedHw, this);
|
||||
hardware.setCpu(cpu);
|
||||
attachHardware(hardware, ((Document) serialisedHw).getInteger("address"));
|
||||
|
@ -1,18 +0,0 @@
|
||||
package net.simon987.mar.npc;
|
||||
|
||||
import net.simon987.mar.server.GameServer;
|
||||
import org.bson.Document;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
public class NpcPlugin {
|
||||
|
||||
public static Map<String, Settlement> settlementMap = new ConcurrentHashMap<>();
|
||||
|
||||
public static Document DEFAULT_HACKED_NPC;
|
||||
|
||||
public void init(GameServer gameServer) {
|
||||
|
||||
}
|
||||
}
|
@ -42,8 +42,8 @@ public class RadioReceiverHardware extends HardwareModule {
|
||||
|
||||
List<char[]> messages = new ArrayList<>(6);
|
||||
|
||||
for (String world : NpcPlugin.settlementMap.keySet()) {
|
||||
RadioTower tower = NpcPlugin.settlementMap.get(world).getRadioTower();
|
||||
for (String world : Settlement.MAP.keySet()) {
|
||||
RadioTower tower = Settlement.MAP.get(world).getRadioTower();
|
||||
|
||||
if (tower != null && Util.manhattanDist(
|
||||
tower.getWorld().getX(), tower.getWorld().getY(),
|
||||
|
@ -11,6 +11,8 @@ import org.bson.types.ObjectId;
|
||||
import java.awt.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
public class Settlement implements MongoSerializable {
|
||||
|
||||
@ -20,6 +22,8 @@ public class Settlement implements MongoSerializable {
|
||||
private final World world;
|
||||
private final DifficultyLevel difficultyLevel;
|
||||
|
||||
public static Map<String, Settlement> MAP = new ConcurrentHashMap<>();
|
||||
|
||||
private final List<NonPlayerCharacter> npcs = new ArrayList<>();
|
||||
|
||||
private final char[] password;
|
||||
|
@ -66,7 +66,7 @@ public class VaultDoor extends Structure implements MessageReceiver, Enterable,
|
||||
@Override
|
||||
public boolean sendMessage(char[] message) {
|
||||
|
||||
Settlement settlement = NpcPlugin.settlementMap.get(getWorld().getId());
|
||||
Settlement settlement = Settlement.MAP.get(getWorld().getId());
|
||||
|
||||
System.out.println("message: " + new String(message));
|
||||
System.out.println("password: " + new String(settlement.getPassword()));
|
||||
|
@ -1,6 +1,6 @@
|
||||
package net.simon987.mar.npc.event;
|
||||
|
||||
import net.simon987.mar.npc.NpcPlugin;
|
||||
import net.simon987.mar.npc.Settlement;
|
||||
import net.simon987.mar.server.GameServer;
|
||||
import net.simon987.mar.server.event.BeforeSaveEvent;
|
||||
import net.simon987.mar.server.event.GameEvent;
|
||||
@ -17,8 +17,8 @@ public class BeforeSaveListener implements GameEventListener {
|
||||
@Override
|
||||
public void handle(GameEvent event) {
|
||||
Document settlements = new Document();
|
||||
for (String world : NpcPlugin.settlementMap.keySet()) {
|
||||
settlements.put(world, NpcPlugin.settlementMap.get(world).mongoSerialise());
|
||||
for (String world : Settlement.MAP.keySet()) {
|
||||
settlements.put(world, Settlement.MAP.get(world).mongoSerialise());
|
||||
}
|
||||
|
||||
GameServer.INSTANCE.getUniverse().store.put("settlement_map", settlements);
|
||||
|
@ -1,6 +1,6 @@
|
||||
package net.simon987.mar.npc.event;
|
||||
|
||||
import net.simon987.mar.npc.NpcPlugin;
|
||||
import net.simon987.mar.npc.HackedNPC;
|
||||
import net.simon987.mar.npc.Settlement;
|
||||
import net.simon987.mar.server.GameServer;
|
||||
import net.simon987.mar.server.event.GameEvent;
|
||||
@ -28,14 +28,14 @@ public class LoadListener implements GameEventListener {
|
||||
}
|
||||
|
||||
for (String world : settlements.keySet()) {
|
||||
NpcPlugin.settlementMap.put(world, new Settlement((Document) settlements.get(world)));
|
||||
Settlement.MAP.put(world, new Settlement((Document) settlements.get(world)));
|
||||
}
|
||||
|
||||
try {
|
||||
InputStream is = new FileInputStream("defaultHackedCubotHardware.json");
|
||||
Scanner scanner = new Scanner(is).useDelimiter("\\A");
|
||||
String json = scanner.next();
|
||||
NpcPlugin.DEFAULT_HACKED_NPC = Document.parse(json);
|
||||
HackedNPC.DEFAULT_HACKED_NPC = Document.parse(json);
|
||||
} catch (FileNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
package net.simon987.mar.npc.event;
|
||||
|
||||
import net.simon987.mar.npc.NpcPlugin;
|
||||
import net.simon987.mar.npc.Settlement;
|
||||
import net.simon987.mar.server.event.GameEvent;
|
||||
import net.simon987.mar.server.event.GameEventListener;
|
||||
@ -38,7 +37,7 @@ public class WorldCreationListener implements GameEventListener {
|
||||
|
||||
try {
|
||||
Settlement settlement = new Settlement(world);
|
||||
NpcPlugin.settlementMap.put(world.getId(), settlement);
|
||||
Settlement.MAP.put(world.getId(), settlement);
|
||||
} catch (WorldGenerationException e) {
|
||||
LogManager.LOGGER.fine(String.format("Exception during settlement generation: %s.",
|
||||
e.getMessage()));
|
||||
|
Loading…
x
Reference in New Issue
Block a user