Remove "Conflicts", prevent creative mode battles
This commit is contained in:
parent
d316261b76
commit
6a97a90d68
4 changed files with 3 additions and 46 deletions
|
@ -36,9 +36,9 @@ public class BattleManager
|
|||
*/
|
||||
public boolean checkAttack(final LivingAttackEvent event)
|
||||
{
|
||||
// verify that both entities are EntityPlayer or has a corresponding EntityInfo
|
||||
if(!(event.getEntity() instanceof EntityPlayer || TurnBasedMinecraftMod.config.getEntityInfoReference(event.getEntity().getClass().getName()) != null)
|
||||
|| !(event.getSource().getTrueSource() instanceof EntityPlayer || TurnBasedMinecraftMod.config.getEntityInfoReference(event.getSource().getTrueSource().getClass().getName()) != null))
|
||||
// verify that both entities are EntityPlayer and not in creative or has a corresponding EntityInfo
|
||||
if(!((event.getEntity() instanceof EntityPlayer && !((EntityPlayer)event.getEntity()).isCreative()) || TurnBasedMinecraftMod.config.getEntityInfoReference(event.getEntity().getClass().getName()) != null)
|
||||
|| !((event.getSource().getTrueSource() instanceof EntityPlayer && !((EntityPlayer)event.getSource().getTrueSource()).isCreative()) || TurnBasedMinecraftMod.config.getEntityInfoReference(event.getSource().getTrueSource().getClass().getName()) != null))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -281,24 +281,6 @@ public class Config
|
|||
{
|
||||
eInfo.category = xmlReader.getElementText().toLowerCase();
|
||||
}
|
||||
else if(xmlReader.getLocalName().equals("Conflicts"))
|
||||
{
|
||||
do
|
||||
{
|
||||
xmlReader.next();
|
||||
if(xmlReader.isStartElement())
|
||||
{
|
||||
try
|
||||
{
|
||||
Class conflictingType = Class.forName(xmlReader.getLocalName());
|
||||
eInfo.conflictingTypes.add(conflictingType);
|
||||
} catch(ClassNotFoundException e)
|
||||
{
|
||||
logger.warn("Invalid conflicting type for entity " + eInfo.classType.getName());
|
||||
}
|
||||
}
|
||||
} while(!(xmlReader.isEndElement() && xmlReader.getLocalName().equals("Conflicts")));
|
||||
}
|
||||
else if(xmlReader.getLocalName().equals("IgnoreBattle"))
|
||||
{
|
||||
if(xmlReader.getElementText().toLowerCase().equals("true"))
|
||||
|
@ -412,13 +394,6 @@ public class Config
|
|||
EntityInfo matching = entityInfoMap.get(entity.getClass().getName());
|
||||
if(matching != null && matching.classType.isInstance(entity))
|
||||
{
|
||||
for(Class c : matching.conflictingTypes)
|
||||
{
|
||||
if(c.isInstance(entity))
|
||||
{
|
||||
return entityInfoMap.get(c.getName());
|
||||
}
|
||||
}
|
||||
return matching;
|
||||
}
|
||||
return null;
|
||||
|
|
|
@ -10,7 +10,6 @@ import net.minecraft.potion.PotionEffect;
|
|||
public class EntityInfo
|
||||
{
|
||||
public Class classType;
|
||||
public List<Class> conflictingTypes;
|
||||
public boolean ignoreBattle;
|
||||
public int attackPower;
|
||||
public int attackProbability;
|
||||
|
@ -310,7 +309,6 @@ public class EntityInfo
|
|||
public EntityInfo()
|
||||
{
|
||||
classType = null;
|
||||
conflictingTypes = new ArrayList<Class>();
|
||||
ignoreBattle = false;
|
||||
attackPower = 0;
|
||||
attackProbability = 70;
|
||||
|
@ -331,11 +329,6 @@ public class EntityInfo
|
|||
{
|
||||
EntityInfo newEntityInfo = new EntityInfo();
|
||||
newEntityInfo.classType = classType;
|
||||
newEntityInfo.conflictingTypes = new ArrayList<Class>();
|
||||
for(Class c : conflictingTypes)
|
||||
{
|
||||
newEntityInfo.conflictingTypes.add(c);
|
||||
}
|
||||
newEntityInfo.ignoreBattle = ignoreBattle;
|
||||
newEntityInfo.attackPower = attackPower;
|
||||
newEntityInfo.attackProbability = attackProbability;
|
||||
|
|
|
@ -31,7 +31,6 @@
|
|||
<!-- Speed: Value in range of 0 to 100 that determines the order entities act in battle. Higher is sooner. Entities with same speed will take their turn as a group in random order (not at the same time). -->
|
||||
<!-- IgnoreBattle: (Optional) Per entity setting to not enter turn-based-battle if value is "true". If "true" these stats will not apply to the entity as they are only used in turn-based-battle. -->
|
||||
<!-- Category: Sets the type of the entity, used by "IgnoreBattleTypes" to determine what types ignore battle. -->
|
||||
<!-- Conflicts: (Optional) Tells the mod that this entity should not be mistaken for the listed entities (possible because some entities derive from others; CaveSpiders are also Spiders). -->
|
||||
<!-- Decision: Lists percentages of what action taken by the entity, one of Attack, Defend, or Flee. If the sum is less than 100, the mob has a chance to do nothing with the remaining percentage -->
|
||||
<net.minecraft.entity.monster.EntityBlaze>
|
||||
<AttackPower Probability="50">5</AttackPower>
|
||||
|
@ -263,9 +262,6 @@
|
|||
<net.minecraft.entity.monster.EntitySpider>
|
||||
<AttackPower Probability="70">2</AttackPower>
|
||||
<Evasion>25</Evasion>
|
||||
<Conflicts>
|
||||
<net.minecraft.entity.monster.EntityCaveSpider></net.minecraft.entity.monster.EntityCaveSpider>
|
||||
</Conflicts>
|
||||
<Category>monster</Category>
|
||||
<Speed>70</Speed>
|
||||
<Decision>
|
||||
|
@ -333,10 +329,6 @@
|
|||
</net.minecraft.entity.monster.EntityWitherSkeleton>
|
||||
<net.minecraft.entity.monster.EntityZombie>
|
||||
<AttackPower Probability="70">3</AttackPower>
|
||||
<Conflicts>
|
||||
<net.minecraft.entity.monster.EntityHusk></net.minecraft.entity.monster.EntityHusk>
|
||||
<net.minecraft.entity.monster.EntityZombieVillager></net.minecraft.entity.monster.EntityZombieVillager>
|
||||
</Conflicts>
|
||||
<Evasion>5</Evasion>
|
||||
<Category>monster</Category>
|
||||
<Speed>25</Speed>
|
||||
|
@ -382,9 +374,6 @@
|
|||
<net.minecraft.entity.passive.EntityCow>
|
||||
<AttackPower Probability="50">0</AttackPower>
|
||||
<Evasion>1</Evasion>
|
||||
<Conflicts>
|
||||
<net.minecraft.entity.passive.EntityMooshroom></net.minecraft.entity.passive.EntityMooshroom>
|
||||
</Conflicts>
|
||||
<Category>passive</Category>
|
||||
<Speed>20</Speed>
|
||||
<Decision>
|
||||
|
|
Loading…
Reference in a new issue