mirror of
https://github.com/simon987/Much-Assembly-Required.git
synced 2025-12-14 07:09:04 +00:00
Cubot respawns on death. ElectricBox damages near objects
This commit is contained in:
@@ -92,6 +92,7 @@ public class GameServer implements Runnable {
|
||||
eventDispatcher.getListeners().add(new UserInfoCommandListener());
|
||||
eventDispatcher.getListeners().add(new HealObjCommandListener());
|
||||
eventDispatcher.getListeners().add(new DamageObjCommandListener());
|
||||
eventDispatcher.getListeners().add(new SetEnergyCommandListener());
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
package net.simon987.server.game;
|
||||
|
||||
public interface Rechargeable {
|
||||
|
||||
int getEnergy();
|
||||
|
||||
void setEnergy(int energy);
|
||||
|
||||
boolean spendEnergy(int spent);
|
||||
|
||||
void storeEnergy(int amount);
|
||||
|
||||
void setMaxEnergy(int maxEnergy);
|
||||
|
||||
int getMaxEnergy();
|
||||
}
|
||||
@@ -160,6 +160,8 @@ public class World implements MongoSerialisable {
|
||||
if (!object.onDeadCallback()) {
|
||||
removeObject(object);
|
||||
//LogManager.LOGGER.fine("Removed object " + object + " id: " + object.getObjectId());
|
||||
} else if (object instanceof Updatable) {
|
||||
((Updatable) object).update();
|
||||
}
|
||||
|
||||
} else if (object instanceof Updatable) {
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
package net.simon987.server.game.debug;
|
||||
|
||||
import net.simon987.server.GameServer;
|
||||
import net.simon987.server.event.DebugCommandEvent;
|
||||
import net.simon987.server.event.GameEvent;
|
||||
import net.simon987.server.event.GameEventListener;
|
||||
import net.simon987.server.game.GameObject;
|
||||
import net.simon987.server.game.Rechargeable;
|
||||
|
||||
public class SetEnergyCommandListener implements GameEventListener {
|
||||
|
||||
@Override
|
||||
public Class getListenedEventType() {
|
||||
return DebugCommandEvent.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handle(GameEvent event) {
|
||||
|
||||
DebugCommandEvent e = (DebugCommandEvent) event;
|
||||
|
||||
if (e.getName().equals("setEnergy")) {
|
||||
|
||||
GameObject object = GameServer.INSTANCE.getGameUniverse().getObject(e.getLong("objectId"));
|
||||
|
||||
if (object != null) {
|
||||
|
||||
if (object instanceof Rechargeable) {
|
||||
|
||||
int oldEnergy = ((Rechargeable) object).getEnergy();
|
||||
((Rechargeable) object).setEnergy(e.getInt("amount"));
|
||||
|
||||
e.reply("Success: " + oldEnergy + " -> " + e.getInt("amount"));
|
||||
} else {
|
||||
e.reply("Object is not Rechargeable");
|
||||
}
|
||||
|
||||
} else {
|
||||
e.reply("Object not found: " + e.getLong("objectId"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user