forked from jzitnik/twodcraft
feat: Implemented shears
This commit is contained in:
parent
0f6d02a92e
commit
a736795bd7
@ -40,7 +40,7 @@ public class SpriteLoader {
|
|||||||
ITEM_STICK, ITEM_LEATHER,
|
ITEM_STICK, ITEM_LEATHER,
|
||||||
|
|
||||||
// Block Items
|
// Block Items
|
||||||
ITEM_DIRT, ITEM_OAK_LOG, ITEM_OAK_LEAF, ITEM_OAK_PLANKS, ITEM_COBBLESTONE, ITEM_STONE, ITEM_OAK_DOOR, ITEM_WOOL, ITEM_OBSIDIAN,
|
ITEM_DIRT, ITEM_GRASS, ITEM_OAK_LOG, ITEM_OAK_LEAF, ITEM_OAK_PLANKS, ITEM_COBBLESTONE, ITEM_STONE, ITEM_OAK_DOOR, ITEM_WOOL, ITEM_OBSIDIAN,
|
||||||
|
|
||||||
// Ore Items
|
// Ore Items
|
||||||
ITEM_COAL_ORE, ITEM_IRON_ORE, ITEM_GOLD_ORE, ITEM_DIAMOND_ORE,
|
ITEM_COAL_ORE, ITEM_IRON_ORE, ITEM_GOLD_ORE, ITEM_DIAMOND_ORE,
|
||||||
@ -63,6 +63,8 @@ public class SpriteLoader {
|
|||||||
|
|
||||||
DIAMOND_SWORD, DIAMOND_PICKAXE, DIAMOND_AXE, DIAMOND_SHOVEL, DIAMOND_HOE,
|
DIAMOND_SWORD, DIAMOND_PICKAXE, DIAMOND_AXE, DIAMOND_SHOVEL, DIAMOND_HOE,
|
||||||
|
|
||||||
|
SHEARS,
|
||||||
|
|
||||||
BUCKET, WATER_BUCKET, LAVA_BUCKET, MILK_BUCKET,
|
BUCKET, WATER_BUCKET, LAVA_BUCKET, MILK_BUCKET,
|
||||||
// Food
|
// Food
|
||||||
ITEM_PORKCHOP, ITEM_COOKED_PORKCHOP, ITEM_MUTTON, ITEM_COOKED_MUTTON, ITEM_BEEF, ITEM_STEAK, ITEM_APPLE,
|
ITEM_PORKCHOP, ITEM_COOKED_PORKCHOP, ITEM_MUTTON, ITEM_COOKED_MUTTON, ITEM_BEEF, ITEM_STEAK, ITEM_APPLE,
|
||||||
@ -134,6 +136,7 @@ public class SpriteLoader {
|
|||||||
|
|
||||||
// Block Items
|
// Block Items
|
||||||
SPRITES_MAP.put(SPRITES.ITEM_DIRT, new SimpleSprite("items/dirt.ans"));
|
SPRITES_MAP.put(SPRITES.ITEM_DIRT, new SimpleSprite("items/dirt.ans"));
|
||||||
|
SPRITES_MAP.put(SPRITES.ITEM_GRASS, new SimpleSprite("items/grass.ans"));
|
||||||
SPRITES_MAP.put(SPRITES.ITEM_OAK_LOG, new SimpleSprite("items/oak_log.ans"));
|
SPRITES_MAP.put(SPRITES.ITEM_OAK_LOG, new SimpleSprite("items/oak_log.ans"));
|
||||||
SPRITES_MAP.put(SPRITES.ITEM_OAK_LEAF, new SimpleSprite("items/oak_leaves.ans"));
|
SPRITES_MAP.put(SPRITES.ITEM_OAK_LEAF, new SimpleSprite("items/oak_leaves.ans"));
|
||||||
SPRITES_MAP.put(SPRITES.ITEM_OAK_PLANKS, new SimpleSprite("items/oak_planks.ans"));
|
SPRITES_MAP.put(SPRITES.ITEM_OAK_PLANKS, new SimpleSprite("items/oak_planks.ans"));
|
||||||
@ -196,6 +199,8 @@ public class SpriteLoader {
|
|||||||
SPRITES_MAP.put(SPRITES.DIAMOND_SHOVEL, new SimpleSprite("items/diamond_shovel.ans"));
|
SPRITES_MAP.put(SPRITES.DIAMOND_SHOVEL, new SimpleSprite("items/diamond_shovel.ans"));
|
||||||
SPRITES_MAP.put(SPRITES.DIAMOND_HOE, new SimpleSprite("items/diamond_hoe.ans"));
|
SPRITES_MAP.put(SPRITES.DIAMOND_HOE, new SimpleSprite("items/diamond_hoe.ans"));
|
||||||
|
|
||||||
|
SPRITES_MAP.put(SPRITES.SHEARS, new SimpleSprite("items/shears.ans"));
|
||||||
|
|
||||||
SPRITES_MAP.put(SPRITES.BUCKET, new SimpleSprite("items/bucket.ans"));
|
SPRITES_MAP.put(SPRITES.BUCKET, new SimpleSprite("items/bucket.ans"));
|
||||||
SPRITES_MAP.put(SPRITES.WATER_BUCKET, new SimpleSprite("items/water_bucket.ans"));
|
SPRITES_MAP.put(SPRITES.WATER_BUCKET, new SimpleSprite("items/water_bucket.ans"));
|
||||||
SPRITES_MAP.put(SPRITES.LAVA_BUCKET, new SimpleSprite("items/lava_bucket.ans"));
|
SPRITES_MAP.put(SPRITES.LAVA_BUCKET, new SimpleSprite("items/lava_bucket.ans"));
|
||||||
|
12
src/main/java/cz/jzitnik/game/annotations/CustomDrop.java
Normal file
12
src/main/java/cz/jzitnik/game/annotations/CustomDrop.java
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
package cz.jzitnik.game.annotations;
|
||||||
|
|
||||||
|
import java.lang.annotation.*;
|
||||||
|
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
@Target(ElementType.TYPE)
|
||||||
|
@Repeatable(CustomDrops.class)
|
||||||
|
public @interface CustomDrop {
|
||||||
|
String tool();
|
||||||
|
String drops();
|
||||||
|
int percentage() default 100;
|
||||||
|
}
|
12
src/main/java/cz/jzitnik/game/annotations/CustomDrops.java
Normal file
12
src/main/java/cz/jzitnik/game/annotations/CustomDrops.java
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
package cz.jzitnik.game.annotations;
|
||||||
|
|
||||||
|
import java.lang.annotation.ElementType;
|
||||||
|
import java.lang.annotation.Retention;
|
||||||
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
import java.lang.annotation.Target;
|
||||||
|
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
@Target(ElementType.TYPE)
|
||||||
|
public @interface CustomDrops {
|
||||||
|
CustomDrop[] value();
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
package cz.jzitnik.game.crafting.recipes;
|
||||||
|
|
||||||
|
import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
|
||||||
|
|
||||||
|
@CraftingRecipeRegistry(
|
||||||
|
recipe = {
|
||||||
|
"grass_bush", "_", "_",
|
||||||
|
"dirt", "_", "_",
|
||||||
|
"_", "_", "_"
|
||||||
|
},
|
||||||
|
result = "grass",
|
||||||
|
amount = 1
|
||||||
|
)
|
||||||
|
public class GrassBlockRecipe {}
|
@ -0,0 +1,14 @@
|
|||||||
|
package cz.jzitnik.game.crafting.recipes;
|
||||||
|
|
||||||
|
import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
|
||||||
|
|
||||||
|
@CraftingRecipeRegistry(
|
||||||
|
recipe = {
|
||||||
|
"_", "iron_ingot", "_",
|
||||||
|
"iron_ingot", "_", "_",
|
||||||
|
"_", "_", "_"
|
||||||
|
},
|
||||||
|
result = "shears",
|
||||||
|
amount = 1
|
||||||
|
)
|
||||||
|
public class ShearsRecipe{}
|
@ -0,0 +1,14 @@
|
|||||||
|
package cz.jzitnik.game.crafting.recipes;
|
||||||
|
|
||||||
|
import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
|
||||||
|
|
||||||
|
@CraftingRecipeRegistry(
|
||||||
|
recipe = {
|
||||||
|
"iron_ingot", "_", "_",
|
||||||
|
"_", "iron_ingot", "_",
|
||||||
|
"_", "_", "_"
|
||||||
|
},
|
||||||
|
result = "shears",
|
||||||
|
amount = 1
|
||||||
|
)
|
||||||
|
public class ShearsRecipe2{}
|
@ -3,10 +3,12 @@ package cz.jzitnik.game.entities.items.registry.blocks;
|
|||||||
import cz.jzitnik.game.SpriteLoader;
|
import cz.jzitnik.game.SpriteLoader;
|
||||||
import cz.jzitnik.game.annotations.BlockDropPercentage;
|
import cz.jzitnik.game.annotations.BlockDropPercentage;
|
||||||
import cz.jzitnik.game.annotations.BlockRegistry;
|
import cz.jzitnik.game.annotations.BlockRegistry;
|
||||||
|
import cz.jzitnik.game.annotations.CustomDrop;
|
||||||
import cz.jzitnik.game.annotations.PlaceOnSolid;
|
import cz.jzitnik.game.annotations.PlaceOnSolid;
|
||||||
import cz.jzitnik.game.entities.Block;
|
import cz.jzitnik.game.entities.Block;
|
||||||
|
|
||||||
@PlaceOnSolid
|
@PlaceOnSolid
|
||||||
|
@CustomDrop(tool = "shears", drops = "grass_bush")
|
||||||
@BlockDropPercentage(13)
|
@BlockDropPercentage(13)
|
||||||
@BlockRegistry(value = "grass_bush", drops = "wheat_seeds")
|
@BlockRegistry(value = "grass_bush", drops = "wheat_seeds")
|
||||||
public class GrassBushBlock extends Block {
|
public class GrassBushBlock extends Block {
|
||||||
|
@ -0,0 +1,13 @@
|
|||||||
|
package cz.jzitnik.game.entities.items.registry.items;
|
||||||
|
|
||||||
|
import cz.jzitnik.game.SpriteLoader;
|
||||||
|
import cz.jzitnik.game.annotations.ItemRegistry;
|
||||||
|
import cz.jzitnik.game.entities.items.Item;
|
||||||
|
import cz.jzitnik.game.entities.items.ItemType;
|
||||||
|
|
||||||
|
@ItemRegistry("grass_bush")
|
||||||
|
public class GrassBushItem extends Item {
|
||||||
|
public GrassBushItem() {
|
||||||
|
super("grass_bush", "Grass bush", ItemType.BLOCK, SpriteLoader.SPRITES.GRASS_BUSH);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,13 @@
|
|||||||
|
package cz.jzitnik.game.entities.items.registry.items;
|
||||||
|
|
||||||
|
import cz.jzitnik.game.SpriteLoader;
|
||||||
|
import cz.jzitnik.game.annotations.ItemRegistry;
|
||||||
|
import cz.jzitnik.game.entities.items.Item;
|
||||||
|
import cz.jzitnik.game.entities.items.ItemType;
|
||||||
|
|
||||||
|
@ItemRegistry("grass")
|
||||||
|
public class GrassItem extends Item {
|
||||||
|
public GrassItem() {
|
||||||
|
super("grass", "Grass", ItemType.BLOCK, SpriteLoader.SPRITES.ITEM_GRASS);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
package cz.jzitnik.game.entities.items.registry.items;
|
||||||
|
|
||||||
|
import cz.jzitnik.game.SpriteLoader;
|
||||||
|
import cz.jzitnik.game.annotations.ItemRegistry;
|
||||||
|
import cz.jzitnik.game.entities.items.Item;
|
||||||
|
import cz.jzitnik.game.entities.items.ItemType;
|
||||||
|
|
||||||
|
@ItemRegistry("shears")
|
||||||
|
public class ShearsItem extends Item {
|
||||||
|
public ShearsItem() {
|
||||||
|
super("shears", "Shears", ItemType.SHEARS, SpriteLoader.SPRITES.SHEARS);
|
||||||
|
setDurability(238);
|
||||||
|
}
|
||||||
|
}
|
@ -34,6 +34,8 @@ public class Generation {
|
|||||||
// Spawn player at a valid starting point
|
// Spawn player at a valid starting point
|
||||||
world[terrainHeight[256] - 1][256].add(steveBlock2);
|
world[terrainHeight[256] - 1][256].add(steveBlock2);
|
||||||
world[terrainHeight[256] - 2][256].add(steveBlock);
|
world[terrainHeight[256] - 2][256].add(steveBlock);
|
||||||
|
|
||||||
|
game.getInventory().addItem(ItemBlockSupplier.getItem("shears"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void initializeWorld(List<Block>[][] world) {
|
private static void initializeWorld(List<Block>[][] world) {
|
||||||
|
@ -47,7 +47,6 @@ public class EventHandlerProvider {
|
|||||||
Set<Method> mineHandlers = reflections.getMethodsAnnotatedWith(MineEventHandler.class);
|
Set<Method> mineHandlers = reflections.getMethodsAnnotatedWith(MineEventHandler.class);
|
||||||
|
|
||||||
for (Method method : mineHandlers) {
|
for (Method method : mineHandlers) {
|
||||||
System.out.println(method);
|
|
||||||
if (method.getParameterCount() == 4 &&
|
if (method.getParameterCount() == 4 &&
|
||||||
method.getParameterTypes()[0] == ScreenRenderer.class &&
|
method.getParameterTypes()[0] == ScreenRenderer.class &&
|
||||||
method.getParameterTypes()[1] == Game.class &&
|
method.getParameterTypes()[1] == Game.class &&
|
||||||
|
@ -1,19 +1,22 @@
|
|||||||
package cz.jzitnik.game.handlers.place;
|
package cz.jzitnik.game.handlers.place;
|
||||||
|
|
||||||
import cz.jzitnik.game.Game;
|
import cz.jzitnik.game.Game;
|
||||||
import cz.jzitnik.game.annotations.BlockDropPercentage;
|
import cz.jzitnik.game.annotations.*;
|
||||||
import cz.jzitnik.game.annotations.PlaceOnSolid;
|
|
||||||
import cz.jzitnik.game.annotations.ResetDataOnMine;
|
|
||||||
import cz.jzitnik.game.entities.Block;
|
import cz.jzitnik.game.entities.Block;
|
||||||
|
import cz.jzitnik.game.entities.items.ItemBlockSupplier;
|
||||||
|
|
||||||
import java.lang.reflect.Constructor;
|
import java.lang.reflect.Constructor;
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.HashSet;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
public class CustomAnnotationHandler implements CustomPlaceHandler {
|
public class CustomAnnotationHandler implements CustomPlaceHandler {
|
||||||
private final Class<?> clazz;
|
private final Class<?> clazz;
|
||||||
private final DefaultPlaceHandler defaultPlaceHandler = new DefaultPlaceHandler();
|
private final DefaultPlaceHandler defaultPlaceHandler = new DefaultPlaceHandler();
|
||||||
|
|
||||||
|
private record BlockDrop(String drops, int percentage) {}
|
||||||
|
|
||||||
public CustomAnnotationHandler(Class<?> clazz) {
|
public CustomAnnotationHandler(Class<?> clazz) {
|
||||||
this.clazz = clazz;
|
this.clazz = clazz;
|
||||||
}
|
}
|
||||||
@ -33,15 +36,37 @@ public class CustomAnnotationHandler implements CustomPlaceHandler {
|
|||||||
resetDataOnMine(game, x, y);
|
resetDataOnMine(game, x, y);
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean drop = true;
|
boolean dropDefault = true;
|
||||||
|
|
||||||
if (clazz.isAnnotationPresent(BlockDropPercentage.class)) {
|
if (clazz.isAnnotationPresent(CustomDrops.class) || clazz.isAnnotationPresent(CustomDrop.class)) {
|
||||||
drop = blockDropPercentage(game, x, y);
|
var annotations = clazz.isAnnotationPresent(CustomDrops.class) ?
|
||||||
|
clazz.getAnnotation(CustomDrops.class).value() :
|
||||||
|
new CustomDrop[] { clazz.getAnnotation(CustomDrop.class) };
|
||||||
|
|
||||||
|
var hashmap = new HashMap<String, BlockDrop>();
|
||||||
|
for (CustomDrop customDrop : annotations) {
|
||||||
|
hashmap.put(customDrop.tool(), new BlockDrop(customDrop.drops(), customDrop.percentage()));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (game.getInventory().getItemInHand().isPresent() && hashmap.containsKey(game.getInventory().getItemInHand().get().getId())) {
|
||||||
|
BlockDrop blockDrop = hashmap.get(game.getInventory().getItemInHand().get().getId());
|
||||||
|
Random random = new Random();
|
||||||
|
int num = random.nextInt(100);
|
||||||
|
|
||||||
|
if (num < blockDrop.percentage) {
|
||||||
|
dropDefault = false;
|
||||||
|
game.getInventory().addItem(ItemBlockSupplier.getItem(blockDrop.drops()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (dropDefault && clazz.isAnnotationPresent(BlockDropPercentage.class)) {
|
||||||
|
dropDefault = blockDropPercentage(game, x, y);
|
||||||
}
|
}
|
||||||
|
|
||||||
defaultPlaceHandler.mine(game, x, y);
|
defaultPlaceHandler.mine(game, x, y);
|
||||||
|
|
||||||
return drop;
|
return dropDefault;
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean blockDropPercentage(Game game, int x, int y) {
|
private boolean blockDropPercentage(Game game, int x, int y) {
|
||||||
|
@ -59,7 +59,7 @@ public class PlaceHandler {
|
|||||||
for (Class<?> clazz : blocks) {
|
for (Class<?> clazz : blocks) {
|
||||||
var annotation = clazz.getAnnotation(BlockRegistry.class);
|
var annotation = clazz.getAnnotation(BlockRegistry.class);
|
||||||
var id = annotation.value();
|
var id = annotation.value();
|
||||||
if (clazz.isAnnotationPresent(PlaceOnSolid.class) || clazz.isAnnotationPresent(ResetDataOnMine.class) || clazz.isAnnotationPresent(BlockDropPercentage.class)) {
|
if (clazz.isAnnotationPresent(PlaceOnSolid.class) || clazz.isAnnotationPresent(ResetDataOnMine.class) || clazz.isAnnotationPresent(BlockDropPercentage.class) || clazz.isAnnotationPresent(CustomDrops.class) || clazz.isAnnotationPresent(CustomDrop.class)) {
|
||||||
try {
|
try {
|
||||||
placeHandlerList.put(id, new CustomAnnotationHandler(clazz));
|
placeHandlerList.put(id, new CustomAnnotationHandler(clazz));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
25
src/main/resources/textures/items/grass.ans
Normal file
25
src/main/resources/textures/items/grass.ans
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;2;77;117;42m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||||
|
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;2;61;94;34m [48;2;74;111;40m [48;2;72;109;39m [48;2;84;126;46m [48;2;70;106;38m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||||
|
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;2;66;100;36m [48;2;79;120;44m [48;2;78;118;43m [48;2;91;137;50m [48;2;77;119;43m [48;2;72;108;39m [48;2;73;111;40m [48;2;67;102;37m [48;2;66;101;36m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||||
|
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;2;79;119;43m [48;2;81;123;44m [48;2;79;119;43m [48;2;83;125;45m [48;2;75;114;41m [48;2;67;103;37m [48;2;84;129;46m [48;2;91;138;50m [48;2;65;99;36m [48;2;75;114;41m [48;2;73;109;40m [48;2;66;101;36m [48;2;78;119;43m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||||
|
[49m [49m [49m [49m [49m [49m [49m [49m [48;2;90;137;49m [48;2;91;137;50m [48;2;80;120;43m [48;2;91;138;49m [48;2;74;111;40m [48;2;90;136;49m [48;2;72;110;39m [48;2;65;100;35m [48;2;72;109;40m [48;2;80;121;43m [48;2;87;134;47m [48;2;97;148;53m [48;2;68;104;38m [48;2;84;127;46m [48;2;85;133;48m [48;2;77;116;42m [48;2;71;107;39m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||||
|
[49m [49m [49m [49m [48;2;81;123;44m [48;2;84;127;46m [48;2;67;103;37m [48;2;75;115;41m [48;2;79;119;43m [48;2;74;114;40m [48;2;83;126;46m [48;2;89;135;49m [48;2;84;126;46m [48;2;69;105;38m [48;2;76;114;41m [48;2;70;107;39m [48;2;76;115;43m [48;2;68;103;37m [48;2;87;132;48m [48;2;76;114;41m [48;2;70;107;39m [48;2;64;99;35m [48;2;70;107;39m [48;2;62;94;34m [49m [49m [49m [49m [m
|
||||||
|
[49m [49m [48;2;57;91;43m [48;2;58;92;44m [48;2;71;107;39m [48;2;66;100;36m [48;2;94;142;51m [48;2;68;104;38m [48;2;76;115;42m [48;2;70;107;39m [48;2;73;109;39m [48;2;77;116;42m [48;2;77;118;43m [48;2;76;115;42m [48;2;83;127;46m [48;2;70;107;39m [48;2;72;111;43m [48;2;79;120;43m [48;2;63;95;34m [48;2;67;101;36m [48;2;71;107;39m [48;2;81;123;47m [48;2;95;144;52m [48;2;32;51;25m [48;2;41;65;31m [49m [49m [m
|
||||||
|
[49m [49m [48;2;61;98;47m [48;2;54;86;40m [48;2;52;83;39m [48;2;79;120;44m [48;2;77;117;42m [48;2;77;116;42m [48;2;102;155;56m [48;2;72;109;40m [48;2;76;114;40m [48;2;75;114;41m [48;2;87;132;48m [48;2;83;127;45m [48;2;77;117;42m [48;2;69;105;38m [48;2;84;127;44m [48;2;69;105;37m [48;2;78;117;42m [48;2;77;117;42m [48;2;39;62;30m [48;2;40;63;30m [48;2;39;62;30m [48;2;50;43;26m [49m [49m [m
|
||||||
|
[49m [49m [48;2;72;50;34m [48;2;73;50;34m [48;2;53;84;40m [48;2;60;94;45m [48;2;54;83;39m [48;2;54;84;40m [48;2;74;112;41m [48;2;83;126;46m [48;2;79;118;43m [48;2;88;133;48m [48;2;65;99;36m [48;2;81;123;44m [48;2;94;142;51m [48;2;71;107;39m [48;2;76;114;41m [48;2;73;110;40m [48;2;66;100;36m [48;2;44;73;35m [48;2;41;66;31m [48;2;42;68;32m [48;2;49;42;25m [48;2;37;59;28m [48;2;74;52;36m [49m [49m [m
|
||||||
|
[49m [49m [48;2;123;89;61m [48;2;88;88;89m [48;2;75;51;34m [48;2;53;84;40m [48;2;61;67;37m [48;2;51;80;38m [48;2;61;97;46m [48;2;53;84;40m [48;2;88;134;48m [48;2;78;120;43m [48;2;88;134;48m [48;2;71;107;39m [48;2;63;96;35m [48;2;67;102;37m [48;2;72;109;40m [48;2;42;66;31m [48;2;40;64;28m [48;2;37;59;28m [48;2;48;77;36m [48;2;50;79;39m [48;2;74;52;36m [48;2;54;37;25m [48;2;75;53;36m [49m [49m [m
|
||||||
|
[49m [49m [48;2;99;69;48m [48;2;92;64;44m [48;2;151;109;76m [48;2;56;89;42m [48;2;73;50;34m [48;2;55;87;41m [48;2;65;102;49m [48;2;52;83;40m [48;2;50;79;38m [48;2;71;107;39m [48;2;70;105;38m [48;2;63;96;35m [48;2;43;68;32m [48;2;39;62;29m [48;2;54;37;25m [48;2;50;42;25m [48;2;43;68;32m [48;2;47;51;28m [48;2;54;37;25m [48;2;74;52;36m [48;2;59;40;27m [48;2;113;81;57m [49m [49m [m
|
||||||
|
[49m [49m [48;2;151;109;76m [48;2;99;69;48m [48;2;123;88;61m [48;2;79;54;36m [48;2;111;76;54m [48;2;73;50;34m [48;2;49;78;37m [48;2;65;103;49m [48;2;64;102;48m [48;2;54;86;40m [48;2;43;68;33m [48;2;49;77;38m [48;2;43;69;33m [48;2;46;73;35m [48;2;41;64;30m [48;2;54;37;25m [48;2;37;58;28m [48;2;54;37;25m [48;2;63;58;56m [48;2;74;52;36m [48;2;92;66;45m [49m [49m [m
|
||||||
|
[49m [49m [48;2;99;69;48m [48;2;110;110;111m [48;2;98;69;47m [48;2;92;64;44m [48;2;73;51;34m [48;2;55;87;41m [48;2;73;50;34m [48;2;46;74;35m [48;2;50;79;37m [48;2;48;77;36m [48;2;50;43;26m [48;2;51;82;39m [48;2;42;67;32m [48;2;54;37;25m [48;2;74;52;36m [48;2;54;37;25m [48;2;74;52;36m [48;2;113;81;59m [48;2;74;52;36m [48;2;92;66;46m [49m [49m [m
|
||||||
|
[49m [49m [48;2;105;73;50m [48;2;99;69;48m [48;2;151;109;76m [48;2;123;88;61m [48;2;99;69;48m [48;2;151;109;76m [48;2;73;51;34m [48;2;79;54;37m [48;2;88;88;89m [48;2;73;50;34m [48;2;60;62;35m [48;2;66;66;67m [48;2;54;37;27m [48;2;54;37;25m [48;2;93;66;46m [48;2;54;39;25m [48;2;113;83;57m [48;2;93;66;46m [48;2;92;66;46m [48;2;74;52;36m [48;2;54;37;25m [48;2;87;62;43m [49m [49m [m
|
||||||
|
[49m [49m [48;2;99;69;48m [48;2;123;88;61m [48;2;105;73;51m [48;2;98;69;48m [48;2;111;78;54m [48;2;99;69;48m [48;2;151;109;76m [48;2;73;51;32m [48;2;117;83;57m [48;2;73;50;34m [48;2;76;53;36m [48;2;72;52;36m [48;2;92;66;46m [48;2;74;52;37m [48;2;74;52;36m [48;2;113;81;57m [48;2;92;64;46m [48;2;73;51;35m [48;2;74;52;36m [48;2;103;75;49m [48;2;74;52;36m [49m [49m [m
|
||||||
|
[49m [49m [48;2;123;88;61m [48;2;151;109;76m [48;2;99;69;48m [48;2;79;54;37m [48;2;73;50;34m [48;2;123;88;61m [48;2;151;109;76m [48;2;123;88;61m [48;2;99;68;48m [48;2;104;74;51m [48;2;54;37;25m [48;2;74;52;36m [48;2;83;82;83m [48;2;92;66;46m [48;2;74;52;36m [48;2;74;52;38m [48;2;78;55;38m [48;2;74;52;36m [48;2;92;66;46m [48;2;82;82;81m [48;2;54;37;25m [49m [49m [m
|
||||||
|
[49m [49m [48;2;99;69;48m [48;2;86;59;43m [48;2;123;88;61m [48;2;151;110;76m [48;2;125;89;60m [48;2;99;71;48m [48;2;99;69;48m [48;2;123;88;61m [48;2;99;69;48m [48;2;118;84;59m [48;2;74;52;36m [48;2;113;81;57m [48;2;92;66;46m [48;2;69;48;33m [48;2;74;52;36m [48;2;113;81;57m [48;2;54;37;25m [48;2;93;66;46m [48;2;113;81;57m [49m [49m [m
|
||||||
|
[49m [49m [48;2;99;68;48m [48;2;123;88;61m [48;2;99;70;48m [48;2;123;88;61m [48;2;125;89;63m [48;2;123;88;61m [48;2;73;50;34m [48;2;99;69;48m [48;2;97;69;49m [48;2;99;69;48m [48;2;123;88;61m [48;2;98;70;48m [48;2;74;52;36m [48;2;54;37;25m [48;2;92;66;46m [48;2;54;37;25m [48;2;92;66;46m [48;2;74;52;36m [48;2;92;66;46m [49m [49m [m
|
||||||
|
[49m [49m [48;2;123;88;61m [48;2;99;69;48m [48;2;94;72;56m [48;2;137;98;68m [48;2;111;78;54m [48;2;88;88;89m [48;2;151;109;76m [48;2;73;50;32m [48;2;151;109;76m [48;2;92;64;44m [48;2;95;67;47m [48;2;87;62;43m [48;2;54;37;25m [48;2;113;81;57m [48;2;74;52;38m [48;2;92;66;46m [48;2;70;59;51m [48;2;74;52;36m [48;2;52;37;25m [48;2;74;52;36m [48;2;92;66;46m [48;2;92;67;46m [49m [49m [m
|
||||||
|
[49m [49m [49m [49m [48;2;99;68;48m [48;2;151;111;76m [48;2;99;69;48m [48;2;111;78;55m [48;2;123;88;60m [48;2;99;69;48m [48;2;111;78;54m [48;2;99;69;48m [48;2;123;88;61m [48;2;110;110;111m [48;2;98;68;48m [48;2;92;66;47m [48;2;74;52;37m [48;2;92;66;46m [48;2;102;73;51m [48;2;74;52;36m [48;2;83;59;41m [48;2;93;66;46m [48;2;74;52;36m [49m [49m [49m [49m [m
|
||||||
|
[49m [49m [49m [49m [49m [49m [49m [49m [48;2;123;88;61m [48;2;86;59;41m [48;2;73;48;34m [48;2;99;69;48m [48;2;151;109;76m [48;2;99;69;48m [48;2;111;78;54m [48;2;99;69;48m [48;2;86;60;42m [48;2;74;53;36m [48;2;82;59;41m [48;2;92;66;44m [48;2;74;52;36m [48;2;92;66;46m [48;2;113;81;57m [48;2;93;66;46m [48;2;74;52;36m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||||
|
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;2;97;69;48m [48;2;151;109;76m [48;2;99;69;48m [48;2;73;50;34m [48;2;151;109;76m [48;2;97;71;48m [48;2;54;37;25m [48;2;74;52;36m [48;2;71;54;43m [48;2;54;37;25m [48;2;92;66;44m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||||
|
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;2;99;69;48m [48;2;123;88;61m [48;2;99;69;48m [48;2;123;88;61m [48;2;98;70;48m [48;2;92;66;46m [48;2;54;37;25m [48;2;74;52;36m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||||
|
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;2;123;88;61m [48;2;107;77;53m [48;2;74;52;36m [48;2;113;81;57m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||||
|
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;2;82;58;40m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
25
src/main/resources/textures/items/shears.ans
Normal file
25
src/main/resources/textures/items/shears.ans
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||||
|
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||||
|
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||||
|
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;2;110;54;43m [48;2;110;53;43m [48;2;167;167;167m [48;2;163;163;163m [48;2;212;212;212m [48;2;210;210;210m [48;2;167;167;167m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||||
|
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;2;109;49;40m [48;2;106;49;35m [48;2;165;164;165m [48;2;161;161;161m [48;2;213;213;213m [48;2;215;215;215m [48;2;213;213;213m [48;2;168;168;168m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||||
|
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;2;110;53;42m [48;2;109;80;74m [48;2;113;113;113m [48;2;211;214;213m [48;2;213;213;213m [48;2;169;168;169m [48;2;168;168;168m [49m [49m [48;2;168;168;168m [48;2;167;167;167m [49m [49m [49m [49m [49m [49m [m
|
||||||
|
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;2;110;53;42m [48;2;110;52;43m [48;2;139;67;53m [48;2;151;114;107m [48;2;168;170;168m [48;2;213;213;213m [48;2;216;216;216m [48;2;168;168;168m [49m [49m [49m [49m [48;2;168;168;168m [48;2;214;214;214m [48;2;210;210;210m [49m [49m [49m [49m [49m [49m [m
|
||||||
|
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;2;110;53;40m [48;2;110;54;43m [48;2;142;69;55m [48;2;156;115;108m [48;2;169;169;169m [48;2;213;213;213m [48;2;217;217;217m [48;2;168;168;168m [49m [49m [49m [49m [48;2;168;168;168m [48;2;215;215;215m [48;2;214;212;212m [49m [49m [49m [49m [49m [49m [m
|
||||||
|
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;2;110;53;42m [48;2;164;81;65m [48;2;166;80;61m [48;2;168;167;169m [48;2;188;188;188m [48;2;213;213;213m [48;2;168;168;168m [49m [49m [48;2;167;167;167m [48;2;168;168;168m [48;2;215;213;213m [48;2;213;213;213m [48;2;212;212;212m [49m [49m [49m [49m [49m [49m [m
|
||||||
|
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;2;110;53;43m [48;2;110;53;41m [48;2;167;84;67m [48;2;87;34;16m [48;2;89;38;24m [48;2;106;106;106m [48;2;131;131;131m [48;2;163;163;163m [49m [49m [49m [49m [48;2;168;168;168m [48;2;216;216;216m [48;2;217;216;216m [48;2;213;213;213m [48;2;160;160;160m [48;2;163;163;163m [49m [49m [49m [49m [49m [49m [m
|
||||||
|
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;2;110;53;40m [48;2;110;53;43m [48;2;166;80;63m [48;2;91;39;25m [48;2;92;44;31m [48;2;112;111;113m [48;2;136;136;136m [48;2;168;168;168m [49m [49m [49m [49m [48;2;168;168;168m [48;2;211;211;211m [48;2;213;213;213m [48;2;166;166;164m [48;2;167;167;167m [49m [49m [49m [49m [49m [49m [m
|
||||||
|
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;2;110;53;42m [48;2;110;53;43m [48;2;166;80;63m [48;2;91;39;25m [48;2;91;45;31m [49m [49m [49m [49m [49m [49m [48;2;168;168;168m [48;2;164;164;164m [48;2;213;213;213m [48;2;169;169;169m [48;2;168;168;168m [48;2;112;112;112m [48;2;91;42;29m [48;2;91;43;31m [49m [49m [49m [49m [49m [49m [m
|
||||||
|
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;2;110;52;44m [48;2;138;65;50m [48;2;136;65;51m [48;2;130;62;49m [48;2;90;41;26m [48;2;92;46;30m [49m [49m [49m [49m [49m [49m [48;2;139;139;139m [48;2;136;136;136m [48;2;192;189;192m [48;2;139;110;104m [48;2;137;110;102m [48;2;101;77;71m [48;2;92;40;27m [48;2;92;44;32m [49m [49m [49m [49m [49m [49m [m
|
||||||
|
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;2;110;53;42m [48;2;165;77;65m [48;2;166;80;64m [48;2;92;44;31m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;2;112;111;112m [48;2;108;108;108m [48;2;168;167;168m [48;2;113;56;46m [48;2;110;54;44m [48;2;92;44;31m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||||
|
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;2;110;53;42m [48;2;141;66;53m [48;2;140;66;55m [48;2;92;44;31m [49m [49m [49m [49m [49m [49m [48;2;111;51;42m [48;2;109;53;41m [48;2;110;53;42m [48;2;111;52;42m [48;2;92;44;31m [48;2;91;43;31m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||||
|
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;2;101;42;36m [48;2;132;60;50m [48;2;132;60;47m [48;2;94;46;31m [49m [49m [49m [49m [49m [49m [48;2;111;49;38m [48;2;110;51;41m [48;2;109;57;45m [48;2;92;44;31m [48;2;91;43;31m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||||
|
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;2;168;168;168m [48;2;166;166;166m [48;2;110;52;44m [48;2;110;53;42m [48;2;124;59;46m [48;2;140;65;55m [48;2;140;67;55m [48;2;142;70;60m [48;2;92;44;31m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||||
|
[49m [49m [49m [49m [49m [49m [48;2;167;167;167m [48;2;168;168;168m [49m [49m [49m [49m [49m [49m [48;2;113;112;112m [48;2;134;68;57m [48;2;140;67;55m [48;2;140;67;53m [48;2;116;57;42m [48;2;93;45;32m [48;2;92;46;32m [48;2;93;44;31m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||||
|
[49m [49m [49m [49m [49m [49m [48;2;167;167;167m [49m [49m [49m [49m [49m [49m [48;2;111;111;111m [48;2;135;69;58m [48;2;140;68;54m [48;2;117;56;44m [48;2;91;43;31m [48;2;92;44;31m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||||
|
[49m [49m [49m [49m [49m [49m [48;2;111;111;111m [48;2;112;112;112m [49m [49m [49m [49m [49m [49m [48;2;66;66;66m [48;2;88;45;34m [48;2;92;44;31m [48;2;92;43;32m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||||
|
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;2;68;68;68m [48;2;66;66;66m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||||
|
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;2;65;65;65m [48;2;64;65;65m [48;2;66;66;66m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||||
|
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||||
|
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||||
|
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
Loading…
x
Reference in New Issue
Block a user