Add double plant generation and fix life reduction bug
This commit is contained in:
parent
8ee53c935b
commit
a918f9067d
@ -169,7 +169,9 @@ public abstract class Challenge implements Listener
|
|||||||
if (alive <= Settings.getMaxCompletedCount())
|
if (alive <= Settings.getMaxCompletedCount())
|
||||||
{
|
{
|
||||||
for (Player player : players)
|
for (Player player : players)
|
||||||
|
{
|
||||||
setCompleted(player);
|
setCompleted(player);
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -236,13 +238,10 @@ public abstract class Challenge implements Listener
|
|||||||
int alive = Host.getPlayersWithRemainingLives();
|
int alive = Host.getPlayersWithRemainingLives();
|
||||||
int lives = loseLife(player);
|
int lives = loseLife(player);
|
||||||
|
|
||||||
if (lives <= 0)
|
if (lives <= 0 && alive <= 3)
|
||||||
{
|
|
||||||
if (alive <= 3)
|
|
||||||
{
|
{
|
||||||
Host.getWinners().add(player);
|
Host.getWinners().add(player);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (lives <= 0 && alive > 2)
|
if (lives <= 0 && alive > 2)
|
||||||
{
|
{
|
||||||
@ -281,9 +280,9 @@ public abstract class Challenge implements Listener
|
|||||||
{
|
{
|
||||||
if (Data.hasAnyoneCompleted() && !Data.isCompleted(player))
|
if (Data.hasAnyoneCompleted() && !Data.isCompleted(player))
|
||||||
{
|
{
|
||||||
int lives = loseLife(player);
|
int lives = Host.lives(player);
|
||||||
|
|
||||||
if (lives > 0)
|
if (lives > 1)
|
||||||
{
|
{
|
||||||
setLost(player);
|
setLost(player);
|
||||||
}
|
}
|
||||||
@ -535,12 +534,30 @@ public abstract class Challenge implements Listener
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("deprecation")
|
|
||||||
protected Block generateGrass(Block block)
|
protected Block generateGrass(Block block)
|
||||||
|
{
|
||||||
|
return generateGrass(block, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected Block generateGrass(Block block, boolean bushes)
|
||||||
{
|
{
|
||||||
if (UtilMath.r(4) == 0)
|
if (UtilMath.r(4) == 0)
|
||||||
{
|
{
|
||||||
if (UtilMath.r(8) == 0)
|
if (UtilMath.r(8) == 0)
|
||||||
|
{
|
||||||
|
makeFlower(block);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
makeGrass(block, bushes);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return block;
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
|
private void makeFlower(Block block)
|
||||||
{
|
{
|
||||||
Material flower = Material.YELLOW_FLOWER;
|
Material flower = Material.YELLOW_FLOWER;
|
||||||
byte data = 0;
|
byte data = 0;
|
||||||
@ -558,6 +575,23 @@ public abstract class Challenge implements Listener
|
|||||||
block.setType(flower);
|
block.setType(flower);
|
||||||
block.setData(data);
|
block.setData(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
|
private void makeGrass(Block block, boolean bushes)
|
||||||
|
{
|
||||||
|
if (bushes && UtilMath.r(3) == 0)
|
||||||
|
{
|
||||||
|
Block above = block.getRelative(BlockFace.UP);
|
||||||
|
byte plantData = (byte) UtilMath.r(5);
|
||||||
|
|
||||||
|
block.setType(Material.DOUBLE_PLANT);
|
||||||
|
block.setData(plantData);
|
||||||
|
|
||||||
|
above.setType(Material.DOUBLE_PLANT);
|
||||||
|
above.setData((byte) 8);
|
||||||
|
|
||||||
|
addBlock(above);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
block.setType(Material.LONG_GRASS);
|
block.setType(Material.LONG_GRASS);
|
||||||
@ -565,9 +599,6 @@ public abstract class Challenge implements Listener
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return block;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isChallengeValid()
|
public boolean isChallengeValid()
|
||||||
{
|
{
|
||||||
return Host.IsLive() && Host.getSettings().isChallengeStarted();
|
return Host.IsLive() && Host.getSettings().isChallengeStarted();
|
||||||
|
@ -2,6 +2,7 @@ package nautilus.game.arcade.game.games.mineware.challenge;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
import java.util.LinkedHashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
@ -19,7 +20,7 @@ public class ChallengeData
|
|||||||
{
|
{
|
||||||
private List<Location> _spawns = new ArrayList<>();
|
private List<Location> _spawns = new ArrayList<>();
|
||||||
private Set<Player> _invisible = new HashSet<>();
|
private Set<Player> _invisible = new HashSet<>();
|
||||||
private Set<Block> _modifiedBlocks = new HashSet<>();
|
private Set<Block> _modifiedBlocks = new LinkedHashSet<>();
|
||||||
private Set<Player> _completed = new HashSet<>();
|
private Set<Player> _completed = new HashSet<>();
|
||||||
private Set<Player> _lost = new HashSet<>();
|
private Set<Player> _lost = new HashSet<>();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user