Add Alternative block placement Protocol (#81)

* Add Alternative block placement Protocol

* fix: fix config error caused by config system

- TODO: fix config system read enum bug in luminol

* remove Leaves logger & use mojang logger

* update code from leaves

---------

Co-authored-by: Helvetica Volubi <suisuroru@blue-millennium.fun>
Co-authored-by: Helvetica Volubi <88063803+Suisuroru@users.noreply.github.com>
This commit is contained in:
xiaoxijun
2025-11-12 19:15:21 +08:00
committed by GitHub
parent ac3653dda7
commit bdb9c9dec4
10 changed files with 548 additions and 5 deletions
@@ -0,0 +1,23 @@
package fun.bm.lophine.config.modules.function.protocol;
import fun.bm.lophine.enums.EnumAlternativePlaceType;
import me.earthme.luminol.config.IConfigModule;
import me.earthme.luminol.config.flags.ConfigClassInfo;
import me.earthme.luminol.config.flags.ConfigInfo;
import me.earthme.luminol.enums.EnumConfigCategory;
@ConfigClassInfo(category = EnumConfigCategory.FUNCTION, name = "alternative_block_placement", directory = {"protocol"})
public class AlternativeBlockPlacementProtocolConfig implements IConfigModule {
@ConfigInfo(name = "enabled", comments = """
Specify the precise placement protocol type
NONE Disable precise placement protocol
CARPET Precise placement protocol version 2
CARPET_FIX Enhanced precise placement protocol version 2 (requires MasaGadget installed on client)
LITEMATICA Precise placement protocol version 3""")
public static EnumAlternativePlaceType alternativeBlockPlacement = EnumAlternativePlaceType.NONE;
public static boolean needIgnoreDistance() {
return alternativeBlockPlacement != EnumAlternativePlaceType.NONE;
}
}
@@ -0,0 +1,8 @@
package fun.bm.lophine.enums;
public enum EnumAlternativePlaceType {
NONE,
CARPET,
CARPET_FIX,
LITEMATICA
}