Skip to content

Instantly share code, notes, and snippets.

public static class OBJClock extends Block
{
public static final PropertyDirection FACING = PropertyDirection.create("facing", EnumFacing.Plane.HORIZONTAL);
public static final PropertyBool TWENTY_FOUR = PropertyBool.create("twenty_four");
public static final OBJClock instance = new OBJClock();
public static final String name = "OBJClock";
private ExtendedBlockState state = new ExtendedBlockState(this, new IProperty[] {FACING, TWENTY_FOUR}, new IUnlistedProperty[] {OBJModel.OBJProperty.instance});
// private String[] configNames = new String[] {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"};
// private int config = 0;
public static class GroupConfigHandler
{
public Map<String, GroupConfig> configMap = Maps.newHashMap();
public ImmutableList<String> groupNames;
private GroupConfigHandler() {}
public GroupConfigHandler duplicate()
{
GroupConfigHandler ret = new GroupConfigHandler();
{
"forge_marker": 1,
"defaults": {
"textures": {},
"model": "forgedebugmodelloaderregistry:clock.obj",
"transform": "forge:default-block",
"custom": {
"groupConfigs": {
"0": {
"change": ["OBJ:ALL_EXCEPT", "G"],
"custom": {
"processUVs": {
"normalize": true,
"wrap": {
"u": true,
"v": false;
},
"clamp": ["v"]
}
}
public class OBJCustomData {
public enum DataKeys
{
AMBIENT_OCCLUSION("ambient", true),
GUI_3D("gui3d", true),
FLIP_DX11("flipDX11", false),
PROCESS_UVS("processUVs", new ProcessUVData()),
GROUP_CONFIGURATIONS("groupConfigs", new GroupConfigurations());
public final String key;
public static class GroupConfig
{
public enum DataKeys
{
CHANGE("change", Lists.<String>newArrayList()),
OPERATION("operation", OBJState.Operation.SET_TRUE),
DEFAULT_OPERATION("defOperation", OBJState.Operation.SET_FALSE),
MODIFY_ALL_GROUPS("modifyAll", false);
public final String key;
public enum DataKeys
{
CHANGE("change", Lists.<String>newArrayList()),
OPERATION("operation", OBJState.Operation.SET_TRUE),
DEFAULT_OPERATION("defOperation", OBJState.Operation.SET_FALSE),
MODIFY_ALL_GROUPS("modifyAll", false);
public final String key;
public final Object initialValue;
private static void day5() {
int niceStrings = 0;
Pattern patternPairs = Pattern.compile("\\w+?(ab|cd|pq|xy)+\\w+?");
Pattern patternVowels = Pattern.compile("\\w+?(a|e|i|o|u){3,}\\w+?");
Pattern patternDoubles = Pattern.compile("\\w+?(\\w\\w)+\\w+?");
for (String input : inputList) {
if (patternVowels.asPredicate().and(patternDoubles.asPredicate().and(patternPairs.asPredicate().negate())).test(input)) niceStrings++;
}
System.out.println(niceStrings);
// System.out.println(inputList.stream().filter(input -> pattern.asPredicate().negate().test(input)).findAny());
{
"forge_marker": 1,
"defaults": {
"textures": {
// "#lambert7SG": "forgedebugmodelloaderregistry:texture" //the identifier must be a name of a material defined by the "model" obj's .mtl file
},
"model": "forgedebugmodelloaderregistry:tesseract.obj",
"custom": {
"group_configs": {
"config_name_here": [
[13:46:53] [main/INFO]: Extra: []
[13:46:53] [main/INFO]: Running with arguments: [--userProperties, {}, --assetsDir, C:/Users/Gerald/.gradle/caches/minecraft/assets, --assetIndex, 1.8, --accessToken{REDACTED}, --version, @@MCVERSION@@, --tweakClass, net.minecraftforge.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker]
[13:46:53] [main/INFO]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[13:46:53] [main/INFO]: Using primary tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[13:46:53] [main/INFO]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker
[13:46:53] [main/INFO]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLTweaker
[13:46:53] [main/INFO]: Forge Mod Loader version 11.15.0.0 for Minecraft 1.8.8 loading
[13:46:53] [main/INFO]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_66, running on Windows 10:amd64:10.0, installed at C:\Program Files\Java\jre1.8.0_66
[13:46: