From 784cff7914473fe8737cf695f604ad599aaf1af9 Mon Sep 17 00:00:00 2001 From: Stephen Seo Date: Thu, 30 Aug 2018 16:15:20 +0900 Subject: [PATCH] Work In Progress - Begin adding config src/main/resources/TBM_Config.xml will be copied to this mod's config directory. If a config file already exists and the version number is the same, it won't be overridded. If the version number is less than the mod's internal config file, then the old one will be renamed and the new one will take its place. At least this is how it is planned. --- .../TurnBasedMinecraftMod.java | 7 +- .../TurnBasedMinecraft/common/Battle.java | 24 ++++ .../common/BattleManager.java | 3 + .../networking/PacketBattleDecision.java | 3 +- .../networking/PacketBattleEntered.java | 6 +- .../networking/PacketBattleRequestInfo.java | 2 +- src/main/resources/TBM_Config.xml | 134 ++++++++++++++++++ 7 files changed, 172 insertions(+), 7 deletions(-) create mode 100644 src/main/resources/TBM_Config.xml diff --git a/src/main/java/com/seodisparate/TurnBasedMinecraft/TurnBasedMinecraftMod.java b/src/main/java/com/seodisparate/TurnBasedMinecraft/TurnBasedMinecraftMod.java index 4fc7b07..0ae12db 100644 --- a/src/main/java/com/seodisparate/TurnBasedMinecraft/TurnBasedMinecraftMod.java +++ b/src/main/java/com/seodisparate/TurnBasedMinecraft/TurnBasedMinecraftMod.java @@ -30,7 +30,7 @@ public class TurnBasedMinecraftMod public static final Duration BattleDecisionTime = Duration.ofSeconds(15); private static Logger logger; - public static BattleManager battleManager; + private static BattleManager battleManager; private static int packetHandlerID = 0; public static Entity attackingEntity; @@ -103,4 +103,9 @@ public class TurnBasedMinecraftMod event.setCanceled(true); } } + + public static BattleManager getBattleManager() + { + return battleManager; + } } diff --git a/src/main/java/com/seodisparate/TurnBasedMinecraft/common/Battle.java b/src/main/java/com/seodisparate/TurnBasedMinecraft/common/Battle.java index 80b025d..d41da57 100644 --- a/src/main/java/com/seodisparate/TurnBasedMinecraft/common/Battle.java +++ b/src/main/java/com/seodisparate/TurnBasedMinecraft/common/Battle.java @@ -6,18 +6,23 @@ import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Hashtable; +import java.util.List; import java.util.Map; import com.seodisparate.TurnBasedMinecraft.TurnBasedMinecraftMod; +import com.seodisparate.TurnBasedMinecraft.common.networking.PacketBattleInfo; +import com.seodisparate.TurnBasedMinecraft.common.networking.PacketHandler; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; public class Battle { private final int id; private Map sideA; private Map sideB; + private Map players; private Instant lastUpdated; private State state; @@ -72,6 +77,7 @@ public class Battle this.id = id; this.sideA = new Hashtable(); this.sideB = new Hashtable(); + players = new HashMap(); playerCount = 0; if(sideA != null) { @@ -81,6 +87,7 @@ public class Battle if(e instanceof EntityPlayer) { ++playerCount; + players.put(e.getEntityId(), (EntityPlayer)e); } } } @@ -92,6 +99,7 @@ public class Battle if(e instanceof EntityPlayer) { ++playerCount; + players.put(e.getEntityId(), (EntityPlayer)e); } } } @@ -123,6 +131,7 @@ public class Battle if(e instanceof EntityPlayer) { ++playerCount; + players.put(e.getEntityId(), (EntityPlayer)e); if(state == State.DECISION) { ++undecidedCount; @@ -136,6 +145,7 @@ public class Battle if(e instanceof EntityPlayer) { ++playerCount; + players.put(e.getEntityId(), (EntityPlayer)e); if(state == State.DECISION) { ++undecidedCount; @@ -147,6 +157,7 @@ public class Battle { sideA.clear(); sideB.clear(); + players.clear(); playerCount = 0; undecidedCount = 0; } @@ -219,6 +230,19 @@ public class Battle return state; } + public void notifyPlayersBattleInfo() + { + if(TurnBasedMinecraftMod.getBattleManager() == null) + { + return; + } + PacketBattleInfo infoPacket = new PacketBattleInfo(getSideAIDs(), getSideBIDs()); + for(EntityPlayer p : players.values()) + { + PacketHandler.INSTANCE.sendTo(infoPacket, (EntityPlayerMP)p); + } + } + public void update() { if(lastUpdated == null) diff --git a/src/main/java/com/seodisparate/TurnBasedMinecraft/common/BattleManager.java b/src/main/java/com/seodisparate/TurnBasedMinecraft/common/BattleManager.java index 39fcbef..40dcd12 100644 --- a/src/main/java/com/seodisparate/TurnBasedMinecraft/common/BattleManager.java +++ b/src/main/java/com/seodisparate/TurnBasedMinecraft/common/BattleManager.java @@ -102,6 +102,8 @@ public class BattleManager { PacketHandler.INSTANCE.sendTo(new PacketBattleEntered(IDCounter), (EntityPlayerMP)notInBattle); } + + battle.notifyPlayersBattleInfo(); return true; } @@ -127,6 +129,7 @@ public class BattleManager PacketHandler.INSTANCE.sendTo(new PacketBattleEntered(IDCounter), (EntityPlayerMP)e); } } + newBattle.notifyPlayersBattleInfo(); return newBattle; } diff --git a/src/main/java/com/seodisparate/TurnBasedMinecraft/common/networking/PacketBattleDecision.java b/src/main/java/com/seodisparate/TurnBasedMinecraft/common/networking/PacketBattleDecision.java index 8a7f313..a3f0bcf 100644 --- a/src/main/java/com/seodisparate/TurnBasedMinecraft/common/networking/PacketBattleDecision.java +++ b/src/main/java/com/seodisparate/TurnBasedMinecraft/common/networking/PacketBattleDecision.java @@ -3,7 +3,6 @@ package com.seodisparate.TurnBasedMinecraft.common.networking; import com.seodisparate.TurnBasedMinecraft.TurnBasedMinecraftMod; import com.seodisparate.TurnBasedMinecraft.common.Battle; import com.seodisparate.TurnBasedMinecraft.common.Battle.Decision; -import com.seodisparate.TurnBasedMinecraft.common.Combatant; import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayerMP; @@ -43,7 +42,7 @@ public class PacketBattleDecision implements IMessage @Override public IMessage onMessage(PacketBattleDecision message, MessageContext ctx) { - Battle b = TurnBasedMinecraftMod.battleManager.getBattleByID(message.battleID); + Battle b = TurnBasedMinecraftMod.getBattleManager().getBattleByID(message.battleID); if(b != null && b.getState() == Battle.State.DECISION) { EntityPlayerMP player = ctx.getServerHandler().player; diff --git a/src/main/java/com/seodisparate/TurnBasedMinecraft/common/networking/PacketBattleEntered.java b/src/main/java/com/seodisparate/TurnBasedMinecraft/common/networking/PacketBattleEntered.java index 7039f71..35ad906 100644 --- a/src/main/java/com/seodisparate/TurnBasedMinecraft/common/networking/PacketBattleEntered.java +++ b/src/main/java/com/seodisparate/TurnBasedMinecraft/common/networking/PacketBattleEntered.java @@ -31,13 +31,13 @@ public class PacketBattleEntered implements IMessage buf.writeInt(battleID); } - public static class HandlerBattleEntered implements IMessageHandler + public static class HandlerBattleEntered implements IMessageHandler { @Override - public PacketBattleRequestInfo onMessage(PacketBattleEntered message, MessageContext ctx) + public IMessage onMessage(PacketBattleEntered message, MessageContext ctx) { TurnBasedMinecraftMod.currentBattle = new Battle(message.battleID, null, null); - return new PacketBattleRequestInfo(message.battleID); + return null; } } } diff --git a/src/main/java/com/seodisparate/TurnBasedMinecraft/common/networking/PacketBattleRequestInfo.java b/src/main/java/com/seodisparate/TurnBasedMinecraft/common/networking/PacketBattleRequestInfo.java index 04d6746..812bf9e 100644 --- a/src/main/java/com/seodisparate/TurnBasedMinecraft/common/networking/PacketBattleRequestInfo.java +++ b/src/main/java/com/seodisparate/TurnBasedMinecraft/common/networking/PacketBattleRequestInfo.java @@ -36,7 +36,7 @@ public class PacketBattleRequestInfo implements IMessage @Override public PacketBattleInfo onMessage(PacketBattleRequestInfo message, MessageContext ctx) { - Battle b = TurnBasedMinecraftMod.battleManager.getBattleByID(message.battleID); + Battle b = TurnBasedMinecraftMod.getBattleManager().getBattleByID(message.battleID); if(b == null) { return null; diff --git a/src/main/resources/TBM_Config.xml b/src/main/resources/TBM_Config.xml new file mode 100644 index 0000000..521b40b --- /dev/null +++ b/src/main/resources/TBM_Config.xml @@ -0,0 +1,134 @@ + + 1 + + + 5 + fire + 5 + + + 2 + poison + 35 + + + true + 15 + 5 + + + 8 + 2 + 25 + + + 7 + 40 + + + 2 + 40 + + + 6 + 35 + + + true + 13 + 35 + + + 11 + 2 + + + 6 + 2 + 25 + + + 3 + hunger + 5 + + + 14 + 5 + + + 3 + 12 + + + 8 + 10 + + + 6 + 5 + + + 4 + 15 + + + 1 + 37 + + + 3 + 13 + + + 2 + 10 + + + 0 + 5 + + + 2 + 25 + + + + + + 3 + slowness + 13 + + + 9 + 30 + + + 13 + 10 + + + 5 + 8 + + + 8 + wither + 7 + + + 3 + + + + + 5 + + + 3 + 5 + + + \ No newline at end of file