remove remaining metadata from enums

This commit is contained in:
Sen 2025-07-07 16:11:16 +02:00
parent c376d92790
commit 454e38d1ab
Signed by: sen
GPG key ID: 3AC50A6F47D1B722
15 changed files with 87 additions and 259 deletions

View file

@ -1435,7 +1435,8 @@ public class ClientPlayer implements IClientPlayer
// this.gameController.controller.setCheat(packetIn.getInt() == 1);
// break;
case SET_WEATHER:
this.world.setWeather(Weather.getByID(packetIn.getInt()));
int id = packetIn.getInt();
this.world.setWeather(id >= 0 && id < Weather.values().length ? Weather.values()[id] : Weather.CLEAR);
break;
case RAIN_STRENGTH:
this.world.setRainStrength(packetIn.getFloat(true));

View file

@ -300,50 +300,27 @@ public class BlockDoublePlant extends BlockBush implements IGrowable
public static enum EnumPlantType implements Identifyable
{
SUNFLOWER(0, "sunflower", "Sonnenblume"),
SYRINGA(1, "syringa", "Flieder"),
GRASS(2, "large_tallgrass", "Hohes Gras"),
FERN(3, "large_fern", "Großer Farn"),
ROSE(4, "rose_bush", "Rosenstrauch"),
PAEONIA(5, "paeonia", "Pfingstrose");
SUNFLOWER("sunflower", "Sonnenblume"),
SYRINGA("syringa", "Flieder"),
GRASS("large_tallgrass", "Hohes Gras"),
FERN("large_fern", "Großer Farn"),
ROSE("rose_bush", "Rosenstrauch"),
PAEONIA("paeonia", "Pfingstrose");
private static final BlockDoublePlant.EnumPlantType[] META_LOOKUP = new BlockDoublePlant.EnumPlantType[values().length];
private final int meta;
private final String name;
private final String display;
// private EnumPlantType(int meta, String name)
// {
// this(meta, name, name);
// }
private EnumPlantType(int meta, String name, String display)
private EnumPlantType(String name, String display)
{
this.meta = meta;
this.name = name;
this.display = display;
}
public int getMeta()
{
return this.meta;
}
public String toString()
{
return this.name;
}
public static BlockDoublePlant.EnumPlantType byMetadata(int meta)
{
if (meta < 0 || meta >= META_LOOKUP.length)
{
meta = 0;
}
return META_LOOKUP[meta];
}
public String getName()
{
return this.name;
@ -353,12 +330,5 @@ public class BlockDoublePlant extends BlockBush implements IGrowable
{
return this.display;
}
static {
for (BlockDoublePlant.EnumPlantType blockdoubleplant$enumplanttype : values())
{
META_LOOKUP[blockdoubleplant$enumplanttype.getMeta()] = blockdoubleplant$enumplanttype;
}
}
}
}

View file

@ -127,61 +127,35 @@ public class BlockHugeMushroom extends Block
public static enum EnumType implements Identifyable
{
NORTH_WEST(1, "north_west"),
NORTH(2, "north"),
NORTH_EAST(3, "north_east"),
WEST(4, "west"),
CENTER(5, "center"),
EAST(6, "east"),
SOUTH_WEST(7, "south_west"),
SOUTH(8, "south"),
SOUTH_EAST(9, "south_east"),
STEM(10, "stem"),
ALL_INSIDE(0, "all_inside"),
ALL_OUTSIDE(14, "all_outside"),
ALL_STEM(15, "all_stem");
NORTH_WEST("north_west"),
NORTH("north"),
NORTH_EAST("north_east"),
WEST("west"),
CENTER("center"),
EAST("east"),
SOUTH_WEST("south_west"),
SOUTH("south"),
SOUTH_EAST("south_east"),
STEM("stem"),
ALL_INSIDE("all_inside"),
ALL_OUTSIDE("all_outside"),
ALL_STEM("all_stem");
private static final BlockHugeMushroom.EnumType[] META_LOOKUP = new BlockHugeMushroom.EnumType[16];
private final int meta;
private final String name;
private EnumType(int meta, String name)
private EnumType(String name)
{
this.meta = meta;
this.name = name;
}
public int getMetadata()
{
return this.meta;
}
public String toString()
{
return this.name;
}
public static BlockHugeMushroom.EnumType byMetadata(int meta)
{
if (meta < 0 || meta >= META_LOOKUP.length)
{
meta = 0;
}
BlockHugeMushroom.EnumType blockhugemushroom$enumtype = META_LOOKUP[meta];
return blockhugemushroom$enumtype == null ? META_LOOKUP[0] : blockhugemushroom$enumtype;
}
public String getName()
{
return this.name;
}
static {
for (BlockHugeMushroom.EnumType blockhugemushroom$enumtype : values())
{
META_LOOKUP[blockhugemushroom$enumtype.getMetadata()] = blockhugemushroom$enumtype;
}
}
}
}

View file

@ -155,42 +155,24 @@ public class BlockTallGrass extends BlockBush implements IGrowable
public static enum EnumType implements Identifyable
{
DEAD_BUSH(0, "dead_bush", "Busch"),
GRASS(1, "tallgrass", "Gras"),
FERN(2, "fern", "Farn");
DEAD_BUSH("dead_bush", "Busch"),
GRASS("tallgrass", "Gras"),
FERN("fern", "Farn");
private static final BlockTallGrass.EnumType[] META_LOOKUP = new BlockTallGrass.EnumType[values().length];
private final int meta;
private final String name;
private final String display;
private EnumType(int meta, String name, String display)
private EnumType(String name, String display)
{
this.meta = meta;
this.name = name;
this.display = display;
}
public int getMeta()
{
return this.meta;
}
public String toString()
{
return this.name;
}
public static BlockTallGrass.EnumType byMetadata(int meta)
{
if (meta < 0 || meta >= META_LOOKUP.length)
{
meta = 0;
}
return META_LOOKUP[meta];
}
public String getName()
{
return this.name;
@ -200,12 +182,5 @@ public class BlockTallGrass extends BlockBush implements IGrowable
{
return this.display;
}
static {
for (BlockTallGrass.EnumType blocktallgrass$enumtype : values())
{
META_LOOKUP[blocktallgrass$enumtype.getMeta()] = blocktallgrass$enumtype;
}
}
}
}

View file

@ -3,19 +3,17 @@ package common.block.foliage;
import common.util.Identifyable;
public enum LeavesType implements Identifyable {
SPRING(0, "spring", true, "Frühling"),
SUMMER(1, "summer", true, "Sommer"),
AUTUMN(2, "autumn", false, "Herbst"),
WINTER(3, "winter", false, "Winter"),
SNOWY(4, "snowy", false, "Beschneit");
SPRING("spring", true, "Frühling"),
SUMMER("summer", true, "Sommer"),
AUTUMN("autumn", false, "Herbst"),
WINTER("winter", false, "Winter"),
SNOWY("snowy", false, "Beschneit");
private final int index;
private final String name;
private final boolean tint;
private final String display;
private LeavesType(int index, String name, boolean tint, String display) {
this.index = index;
private LeavesType(String name, boolean tint, String display) {
this.name = name;
this.tint = tint;
this.display = display;
@ -29,23 +27,14 @@ public enum LeavesType implements Identifyable {
return this.display;
}
public int getIndex() {
return this.index;
}
public boolean isTinted() {
return this.tint;
}
public static LeavesType getById(int id) {
return LeavesType.values()[id % values().length];
}
public static LeavesType getByName(String name) {
for(LeavesType type : values()) {
if(("" + type.getIndex()).equals(name) || type.getName().equalsIgnoreCase(name)) {
if(type.getName().equalsIgnoreCase(name))
return type;
}
}
return null;
}

View file

@ -301,32 +301,24 @@ public class BlockLever extends Block
public static enum EnumOrientation implements Identifyable, DirectionVec<EnumOrientation>
{
DOWN_X(0, "down_x", Facing.DOWN),
EAST(1, "east", Facing.EAST),
WEST(2, "west", Facing.WEST),
SOUTH(3, "south", Facing.SOUTH),
NORTH(4, "north", Facing.NORTH),
UP_Z(5, "up_z", Facing.UP),
UP_X(6, "up_x", Facing.UP),
DOWN_Z(7, "down_z", Facing.DOWN);
DOWN_X("down_x", Facing.DOWN),
EAST("east", Facing.EAST),
WEST("west", Facing.WEST),
SOUTH("south", Facing.SOUTH),
NORTH("north", Facing.NORTH),
UP_Z("up_z", Facing.UP),
UP_X("up_x", Facing.UP),
DOWN_Z("down_z", Facing.DOWN);
private static final BlockLever.EnumOrientation[] META_LOOKUP = new BlockLever.EnumOrientation[values().length];
private final int meta;
private final String name;
private final Facing facing;
private EnumOrientation(int meta, String name, Facing facing)
private EnumOrientation(String name, Facing facing)
{
this.meta = meta;
this.name = name;
this.facing = facing;
}
public int getMetadata()
{
return this.meta;
}
public Facing getFacing()
{
return this.facing;
@ -337,16 +329,6 @@ public class BlockLever extends Block
return this.name;
}
public static BlockLever.EnumOrientation byMetadata(int meta)
{
if (meta < 0 || meta >= META_LOOKUP.length)
{
meta = 0;
}
return META_LOOKUP[meta];
}
public static BlockLever.EnumOrientation forFacings(Facing clickedSide, Facing entityFacing)
{
switch (clickedSide)
@ -410,12 +392,5 @@ public class BlockLever extends Block
public boolean canApply(EnumOrientation dir) {
return this.facing.getAxis().isVertical() == dir.facing.getAxis().isVertical();
}
static {
for (BlockLever.EnumOrientation blocklever$enumorientation : values())
{
META_LOOKUP[blocklever$enumorientation.getMetadata()] = blocklever$enumorientation;
}
}
}
}

View file

@ -285,21 +285,21 @@ public class BlockPistonHead extends Block implements Directional
DEFAULT("normal"),
STICKY("sticky");
private final String VARIANT;
private final String name;
private EnumPistonType(String name)
{
this.VARIANT = name;
this.name = name;
}
public String toString()
{
return this.VARIANT;
return this.name;
}
public String getName()
{
return this.VARIANT;
return this.name;
}
}
}

View file

@ -237,36 +237,28 @@ public abstract class BlockRailBase extends Block
public static enum EnumRailDirection implements Identifyable, DirectionVec<EnumRailDirection>
{
NORTH_SOUTH(0, "north_south", Facing.SOUTH, BaseShape.STRAIGHT),
EAST_WEST(1, "east_west", Facing.EAST, BaseShape.STRAIGHT),
ASCENDING_EAST(2, "ascending_east", Facing.EAST, BaseShape.ASCENDING),
ASCENDING_WEST(3, "ascending_west", Facing.WEST, BaseShape.ASCENDING),
ASCENDING_NORTH(4, "ascending_north", Facing.NORTH, BaseShape.ASCENDING),
ASCENDING_SOUTH(5, "ascending_south", Facing.DOWN, BaseShape.ASCENDING),
SOUTH_EAST(6, "south_east", Facing.EAST, BaseShape.TURNED),
SOUTH_WEST(7, "south_west", Facing.SOUTH, BaseShape.TURNED),
NORTH_WEST(8, "north_west", Facing.NORTH, BaseShape.TURNED),
NORTH_EAST(9, "north_east", Facing.WEST, BaseShape.TURNED);
NORTH_SOUTH("north_south", Facing.SOUTH, BaseShape.STRAIGHT),
EAST_WEST("east_west", Facing.EAST, BaseShape.STRAIGHT),
ASCENDING_EAST("ascending_east", Facing.EAST, BaseShape.ASCENDING),
ASCENDING_WEST("ascending_west", Facing.WEST, BaseShape.ASCENDING),
ASCENDING_NORTH("ascending_north", Facing.NORTH, BaseShape.ASCENDING),
ASCENDING_SOUTH("ascending_south", Facing.DOWN, BaseShape.ASCENDING),
SOUTH_EAST("south_east", Facing.EAST, BaseShape.TURNED),
SOUTH_WEST("south_west", Facing.SOUTH, BaseShape.TURNED),
NORTH_WEST("north_west", Facing.NORTH, BaseShape.TURNED),
NORTH_EAST("north_east", Facing.WEST, BaseShape.TURNED);
private static final BlockRailBase.EnumRailDirection[] META_LOOKUP = new BlockRailBase.EnumRailDirection[values().length];
private final int meta;
private final String name;
private final Facing facing;
private final BaseShape shape;
private EnumRailDirection(int meta, String name, Facing facing, BaseShape shape)
private EnumRailDirection(String name, Facing facing, BaseShape shape)
{
this.meta = meta;
this.name = name;
this.facing = facing;
this.shape = shape;
}
public int getMetadata()
{
return this.meta;
}
public String toString()
{
return this.name;
@ -277,16 +269,6 @@ public abstract class BlockRailBase extends Block
return this == ASCENDING_NORTH || this == ASCENDING_EAST || this == ASCENDING_SOUTH || this == ASCENDING_WEST;
}
public static BlockRailBase.EnumRailDirection byMetadata(int meta)
{
if (meta < 0 || meta >= META_LOOKUP.length)
{
meta = 0;
}
return META_LOOKUP[meta];
}
public String getName()
{
return this.name;
@ -308,13 +290,6 @@ public abstract class BlockRailBase extends Block
public boolean canApply(EnumRailDirection dir) {
return this.shape == dir.shape;
}
static {
for (BlockRailBase.EnumRailDirection blockrailbase$enumraildirection : values())
{
META_LOOKUP[blockrailbase$enumraildirection.getMetadata()] = blockrailbase$enumraildirection;
}
}
}
public class Rail

View file

@ -428,7 +428,7 @@ public abstract class EntityCart extends Entity implements IWorldNameable
++this.posY;
}
int[][] aint = matrix[blockrailbase$enumraildirection.getMetadata()];
int[][] aint = matrix[blockrailbase$enumraildirection.ordinal()];
double d1 = (double)(aint[1][0] - aint[0][0]);
double d2 = (double)(aint[1][2] - aint[0][2]);
double d3 = Math.sqrt(d1 * d1 + d2 * d2);
@ -652,7 +652,7 @@ public abstract class EntityCart extends Entity implements IWorldNameable
p_70495_3_ = (double)(j + 1);
}
int[][] aint = matrix[blockrailbase$enumraildirection.getMetadata()];
int[][] aint = matrix[blockrailbase$enumraildirection.ordinal()];
double d0 = (double)(aint[1][0] - aint[0][0]);
double d1 = (double)(aint[1][2] - aint[0][2]);
double d2 = Math.sqrt(d0 * d0 + d1 * d1);
@ -694,7 +694,7 @@ public abstract class EntityCart extends Entity implements IWorldNameable
if (BlockRailBase.isRailBlock(iblockstate))
{
BlockRailBase.EnumRailDirection blockrailbase$enumraildirection = (BlockRailBase.EnumRailDirection)iblockstate.getValue(((BlockRailBase)iblockstate.getBlock()).getShapeProperty());
int[][] aint = matrix[blockrailbase$enumraildirection.getMetadata()];
int[][] aint = matrix[blockrailbase$enumraildirection.ordinal()];
double d0 = 0.0D;
double d1 = (double)i + 0.5D + (double)aint[0][0] * 0.5D;
double d2 = (double)j + 0.0625D + (double)aint[0][1] * 0.5D;

View file

@ -54,43 +54,35 @@ public class ItemFishFood extends ItemFood
public static enum FishType
{
COD("cod", 0, "Kabeljau", 2, 5),
SALMON("salmon", 1, "Lachs", 2, 6),
CLOWNFISH("clownfish", 2, "Clownfisch", 1),
PUFFERFISH("pufferfish", 3, "Kugelfisch", 1);
COD("cod", "Kabeljau", 2, 5),
SALMON("salmon", "Lachs", 2, 6),
CLOWNFISH("clownfish", "Clownfisch", 1),
PUFFERFISH("pufferfish", "Kugelfisch", 1);
private final int meta;
private final String name;
private final String display;
private final int uncookedHealAmount;
private final int cookedHealAmount;
private boolean cookable = false;
private FishType(String name, int meta, String display, int uncookedHeal, int cookedHeal)
private FishType(String name, String display, int uncookedHeal, int cookedHeal)
{
this.name = name;
this.meta = meta;
this.display = display;
this.uncookedHealAmount = uncookedHeal;
this.cookedHealAmount = cookedHeal;
this.cookable = true;
}
private FishType(String name, int meta, String display, int uncookedHeal)
private FishType(String name, String display, int uncookedHeal)
{
this.name = name;
this.meta = meta;
this.display = display;
this.uncookedHealAmount = uncookedHeal;
this.cookedHealAmount = 0;
this.cookable = false;
}
public int getMetadata()
{
return this.meta;
}
public String getDisplay()
{
return this.display;

View file

@ -110,10 +110,6 @@ public abstract class Util {
public static <T extends Enum> T parseEnum(Class<T> clazz, String str) {
boolean name = Identifyable.class.isAssignableFrom(clazz);
T[] values = clazz.getEnumConstants();
Integer value;
if((value = parseInt(str, 0)) != null && (value >= 0) && (value < values.length)) {
return values[value];
}
int comp;
int max = 0;
T best = null;

View file

@ -74,10 +74,6 @@ public enum Weather {
}
}
public int getID() {
return this.ordinal();
}
public String getName() {
return this.name;
}
@ -114,22 +110,8 @@ public enum Weather {
return this.fog;
}
public static Weather getByID(int id) {
if(id >= 0 && id < values().length)
return values()[id];
return CLEAR;
}
public static Weather getByName(String name) {
return LOOKUP.get(name.toLowerCase());
// return type == null ? CLEAR : type;
// for(Weather weather : values()) {
// if(("" + weather.getID()).equals(name) || weather.getName().equalsIgnoreCase(name)) {
//// || weather.getName().substring(0, 1).equalsIgnoreCase(name)) {
// return weather;
// }
// }
// return null;
}
static {

View file

@ -1008,7 +1008,7 @@ public final class Server implements IThreadListener, Executor {
private void updateTimeAndWeatherForPlayer(Player conn, WorldServer world) {
conn.sendPacket(new SPacketTimeUpdate(world.getDayTime(), this.getInfo()));
conn.sendPacket(new SPacketChangeGameState(SPacketChangeGameState.Action.SET_WEATHER, world.getWeather().getID()));
conn.sendPacket(new SPacketChangeGameState(SPacketChangeGameState.Action.SET_WEATHER, world.getWeather().ordinal()));
conn.sendPacket(new SPacketChangeGameState(SPacketChangeGameState.Action.RAIN_STRENGTH, world.getRainStrength()));
conn.sendPacket(new SPacketChangeGameState(SPacketChangeGameState.Action.DARKNESS, world.getDarkness()));
conn.sendPacket(new SPacketChangeGameState(SPacketChangeGameState.Action.FOG_STRENGTH, world.getFogStrength()));

View file

@ -1184,7 +1184,7 @@ public final class WorldServer extends AWorldServer {
this.weather = weather;
// this.dataModified = true;
this.sendPacket(new SPacketChangeGameState(SPacketChangeGameState.Action.SET_WEATHER,
weather.getID()));
weather.ordinal()));
}
protected void updateWeather(boolean force) {

View file

@ -3,6 +3,7 @@ package server.worldgen.foliage;
import common.block.Block;
import common.block.Material;
import common.block.foliage.BlockHugeMushroom;
import common.block.foliage.BlockHugeMushroom.EnumType;
import common.init.Blocks;
import common.rng.Random;
import common.util.BlockPos;
@ -113,28 +114,26 @@ public class WorldGenBigMushroom extends FeatureGenerator
{
for (int i2 = j1; i2 <= k1; ++i2)
{
int j2 = 5;
EnumType dir = EnumType.CENTER;
if (l1 == k3)
{
--j2;
dir = EnumType.WEST;
}
else if (l1 == l3)
{
++j2;
dir = EnumType.EAST;
}
if (i2 == j1)
{
j2 -= 3;
dir = dir == EnumType.WEST ? EnumType.NORTH_WEST : (dir == EnumType.EAST ? EnumType.NORTH_EAST : EnumType.NORTH);
}
else if (i2 == k1)
{
j2 += 3;
dir = dir == EnumType.WEST ? EnumType.SOUTH_WEST : (dir == EnumType.EAST ? EnumType.SOUTH_EAST : EnumType.SOUTH);
}
BlockHugeMushroom.EnumType blockhugemushroom$enumtype = BlockHugeMushroom.EnumType.byMetadata(j2);
if (this.mushroomType == Blocks.brown_mushroom_block || l2 < position.getY() + i)
{
if ((l1 == k3 || l1 == l3) && (i2 == j1 || i2 == k1))
@ -144,57 +143,57 @@ public class WorldGenBigMushroom extends FeatureGenerator
if (l1 == position.getX() - (j3 - 1) && i2 == j1)
{
blockhugemushroom$enumtype = BlockHugeMushroom.EnumType.NORTH_WEST;
dir = BlockHugeMushroom.EnumType.NORTH_WEST;
}
if (l1 == k3 && i2 == position.getZ() - (j3 - 1))
{
blockhugemushroom$enumtype = BlockHugeMushroom.EnumType.NORTH_WEST;
dir = BlockHugeMushroom.EnumType.NORTH_WEST;
}
if (l1 == position.getX() + (j3 - 1) && i2 == j1)
{
blockhugemushroom$enumtype = BlockHugeMushroom.EnumType.NORTH_EAST;
dir = BlockHugeMushroom.EnumType.NORTH_EAST;
}
if (l1 == l3 && i2 == position.getZ() - (j3 - 1))
{
blockhugemushroom$enumtype = BlockHugeMushroom.EnumType.NORTH_EAST;
dir = BlockHugeMushroom.EnumType.NORTH_EAST;
}
if (l1 == position.getX() - (j3 - 1) && i2 == k1)
{
blockhugemushroom$enumtype = BlockHugeMushroom.EnumType.SOUTH_WEST;
dir = BlockHugeMushroom.EnumType.SOUTH_WEST;
}
if (l1 == k3 && i2 == position.getZ() + (j3 - 1))
{
blockhugemushroom$enumtype = BlockHugeMushroom.EnumType.SOUTH_WEST;
dir = BlockHugeMushroom.EnumType.SOUTH_WEST;
}
if (l1 == position.getX() + (j3 - 1) && i2 == k1)
{
blockhugemushroom$enumtype = BlockHugeMushroom.EnumType.SOUTH_EAST;
dir = BlockHugeMushroom.EnumType.SOUTH_EAST;
}
if (l1 == l3 && i2 == position.getZ() + (j3 - 1))
{
blockhugemushroom$enumtype = BlockHugeMushroom.EnumType.SOUTH_EAST;
dir = BlockHugeMushroom.EnumType.SOUTH_EAST;
}
}
if (blockhugemushroom$enumtype == BlockHugeMushroom.EnumType.CENTER && l2 < position.getY() + i)
if (dir == BlockHugeMushroom.EnumType.CENTER && l2 < position.getY() + i)
{
blockhugemushroom$enumtype = BlockHugeMushroom.EnumType.ALL_INSIDE;
dir = BlockHugeMushroom.EnumType.ALL_INSIDE;
}
if (position.getY() >= position.getY() + i - 1 || blockhugemushroom$enumtype != BlockHugeMushroom.EnumType.ALL_INSIDE)
if (position.getY() >= position.getY() + i - 1 || dir != BlockHugeMushroom.EnumType.ALL_INSIDE)
{
BlockPos blockpos = new BlockPos(l1, l2, i2);
if (!worldIn.getState(blockpos).getBlock().isFullBlock())
{
this.setBlockAndNotifyAdequately(worldIn, blockpos, this.mushroomType.getState().withProperty(BlockHugeMushroom.VARIANT, blockhugemushroom$enumtype));
this.setBlockAndNotifyAdequately(worldIn, blockpos, this.mushroomType.getState().withProperty(BlockHugeMushroom.VARIANT, dir));
}
}
}