Get bot tool automatically
This commit is contained in:
@@ -1020,18 +1020,21 @@ public class LegacyAgent extends Agent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void preBreak(Terminator bot, LivingEntity player, Block block, LegacyLevel level) {
|
private void preBreak(Terminator bot, LivingEntity player, Block block, LegacyLevel level) {
|
||||||
Material item;
|
List<Material> materials = List.of(LegacyItems.PICKAXE, LegacyItems.AXE, LegacyItems.SHOVEL);
|
||||||
Material type = block.getType();
|
ItemStack optimal = new ItemStack(Material.AIR);
|
||||||
|
float optimalSpeed = 1;
|
||||||
|
|
||||||
if (LegacyMats.SHOVEL.contains(type)) {
|
for (Material mat : materials) {
|
||||||
item = LegacyItems.SHOVEL;
|
ItemStack tool = new ItemStack(mat);
|
||||||
} else if (LegacyMats.AXE.contains(type)) {
|
float destroySpeed = block.getDestroySpeed(tool);
|
||||||
item = LegacyItems.AXE;
|
|
||||||
} else {
|
if (destroySpeed > optimalSpeed) {
|
||||||
item = LegacyItems.PICKAXE;
|
optimal = tool;
|
||||||
|
optimalSpeed = destroySpeed;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bot.setItem(new ItemStack(item));
|
bot.setItem(optimal);
|
||||||
|
|
||||||
if (level.isSideDown() || level.isSideDown2()) {
|
if (level.isSideDown() || level.isSideDown2()) {
|
||||||
bot.setBotPitch(69);
|
bot.setBotPitch(69);
|
||||||
|
|||||||
@@ -54,46 +54,6 @@ public class LegacyMats {
|
|||||||
Material.SOUL_FIRE
|
Material.SOUL_FIRE
|
||||||
));
|
));
|
||||||
|
|
||||||
public static final Set<Material> SHOVEL = new HashSet<>(concatTypes(Lists.newArrayList(
|
|
||||||
Material.CLAY,
|
|
||||||
Material.DIRT,
|
|
||||||
Material.GRASS_BLOCK,
|
|
||||||
Material.COARSE_DIRT,
|
|
||||||
Material.PODZOL,
|
|
||||||
Material.MYCELIUM,
|
|
||||||
Material.GRAVEL,
|
|
||||||
Material.MUD,
|
|
||||||
Material.MUDDY_MANGROVE_ROOTS,
|
|
||||||
Material.SAND,
|
|
||||||
Material.RED_SAND,
|
|
||||||
Material.SOUL_SAND,
|
|
||||||
Material.SOUL_SOIL,
|
|
||||||
Material.SNOW,
|
|
||||||
Material.SNOW_BLOCK
|
|
||||||
), Arrays.asList(), Arrays.asList(), m -> m.name().endsWith("_CONCRETE_POWDER")));
|
|
||||||
|
|
||||||
public static final Set<Material> AXE = new HashSet<>(Arrays.asList(
|
|
||||||
Material.OAK_PLANKS, Material.OAK_DOOR, Material.OAK_FENCE, Material.OAK_FENCE_GATE, Material.OAK_LOG,
|
|
||||||
Material.OAK_SIGN, Material.OAK_SLAB, Material.OAK_STAIRS, Material.OAK_TRAPDOOR, Material.OAK_WALL_SIGN, Material.OAK_WOOD,
|
|
||||||
Material.DARK_OAK_PLANKS, Material.DARK_OAK_DOOR, Material.DARK_OAK_FENCE, Material.DARK_OAK_FENCE_GATE, Material.DARK_OAK_LOG,
|
|
||||||
Material.DARK_OAK_SIGN, Material.DARK_OAK_SLAB, Material.DARK_OAK_STAIRS, Material.DARK_OAK_TRAPDOOR, Material.DARK_OAK_WALL_SIGN, Material.DARK_OAK_WOOD,
|
|
||||||
Material.ACACIA_PLANKS, Material.ACACIA_DOOR, Material.ACACIA_FENCE, Material.ACACIA_FENCE_GATE, Material.ACACIA_LOG,
|
|
||||||
Material.ACACIA_SIGN, Material.ACACIA_SLAB, Material.ACACIA_STAIRS, Material.ACACIA_TRAPDOOR, Material.ACACIA_WALL_SIGN, Material.ACACIA_WOOD,
|
|
||||||
Material.BIRCH_PLANKS, Material.BIRCH_DOOR, Material.BIRCH_FENCE, Material.BIRCH_FENCE_GATE, Material.BIRCH_LOG,
|
|
||||||
Material.BIRCH_SIGN, Material.BIRCH_SLAB, Material.BIRCH_STAIRS, Material.BIRCH_TRAPDOOR, Material.BIRCH_WALL_SIGN, Material.BIRCH_WOOD,
|
|
||||||
Material.JUNGLE_PLANKS, Material.JUNGLE_DOOR, Material.JUNGLE_FENCE, Material.JUNGLE_FENCE_GATE, Material.JUNGLE_LOG,
|
|
||||||
Material.JUNGLE_SIGN, Material.JUNGLE_SLAB, Material.JUNGLE_STAIRS, Material.JUNGLE_TRAPDOOR, Material.JUNGLE_WALL_SIGN, Material.JUNGLE_WOOD,
|
|
||||||
Material.SPRUCE_PLANKS, Material.SPRUCE_DOOR, Material.SPRUCE_FENCE, Material.SPRUCE_FENCE_GATE, Material.SPRUCE_LOG,
|
|
||||||
Material.SPRUCE_SIGN, Material.SPRUCE_SLAB, Material.SPRUCE_STAIRS, Material.SPRUCE_TRAPDOOR, Material.SPRUCE_WALL_SIGN, Material.SPRUCE_WOOD,
|
|
||||||
Material.MANGROVE_PLANKS, Material.MANGROVE_DOOR, Material.MANGROVE_FENCE, Material.MANGROVE_FENCE_GATE, Material.MANGROVE_LOG,
|
|
||||||
Material.MANGROVE_SIGN, Material.MANGROVE_SLAB, Material.MANGROVE_STAIRS, Material.MANGROVE_TRAPDOOR, Material.MANGROVE_WALL_SIGN, Material.MANGROVE_WOOD,
|
|
||||||
Material.CRIMSON_PLANKS, Material.CRIMSON_DOOR, Material.CRIMSON_FENCE, Material.CRIMSON_FENCE_GATE, Material.CRIMSON_STEM,
|
|
||||||
Material.CRIMSON_SIGN, Material.CRIMSON_SLAB, Material.CRIMSON_STAIRS, Material.CRIMSON_TRAPDOOR, Material.CRIMSON_WALL_SIGN,
|
|
||||||
Material.WARPED_PLANKS, Material.WARPED_DOOR, Material.WARPED_FENCE, Material.WARPED_FENCE_GATE, Material.WARPED_STEM,
|
|
||||||
Material.WARPED_SIGN, Material.WARPED_SLAB, Material.WARPED_STAIRS, Material.WARPED_TRAPDOOR, Material.WARPED_WALL_SIGN,
|
|
||||||
Material.CHEST, Material.TRAPPED_CHEST
|
|
||||||
));
|
|
||||||
|
|
||||||
public static final Set<Material> BREAK = new HashSet<>(Arrays.asList(
|
public static final Set<Material> BREAK = new HashSet<>(Arrays.asList(
|
||||||
Material.AIR,
|
Material.AIR,
|
||||||
Material.WATER,
|
Material.WATER,
|
||||||
@@ -112,6 +72,8 @@ public class LegacyMats {
|
|||||||
Material.KELP,
|
Material.KELP,
|
||||||
Material.KELP_PLANT,
|
Material.KELP_PLANT,
|
||||||
Material.SUNFLOWER,
|
Material.SUNFLOWER,
|
||||||
|
Material.TORCHFLOWER,
|
||||||
|
Material.PITCHER_PLANT,
|
||||||
Material.FIRE,
|
Material.FIRE,
|
||||||
Material.SOUL_FIRE
|
Material.SOUL_FIRE
|
||||||
));
|
));
|
||||||
|
|||||||
Reference in New Issue
Block a user