Jump to content

[1.14.4] Baked model renders fine in inventory but crashes when placed.


Recommended Posts

Posted

So I was following a tutorial by mcjty and on his baked model code I ran into an issue where the block would render fine in the inventory but the game would crash when trying to render it as a block. I'm really confused cause I dont know where the problem could be.

 

Here are the relevant classes. Note that the code is messy and was to be cleaned up at a later point.

 

FancyBlock.java

package com.mekelaina.mytutorial.blocks;

import com.mekelaina.mytutorial.blocks.tiles.FancyBlockTile;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.BlockItem;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Hand;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.BlockRayTraceResult;
import net.minecraft.util.math.shapes.ISelectionContext;
import net.minecraft.util.math.shapes.VoxelShape;
import net.minecraft.util.math.shapes.VoxelShapes;
import net.minecraft.world.IBlockReader;
import net.minecraft.world.World;

import javax.annotation.Nullable;

public class FancyBlock extends Block {

    private final VoxelShape shape = VoxelShapes.create(.2,.2,.2,.8,.8,.8);

    public FancyBlock() {
        super(Properties.create(Material.IRON)
        .sound(SoundType.METAL)
        .hardnessAndResistance(2f));
    }

    @Override
    public VoxelShape getShape(BlockState state, IBlockReader worldIn, BlockPos pos, ISelectionContext context) {
        return shape;
    }

    @Override
    public boolean hasTileEntity(BlockState state) {
        return true;
    }

    @Nullable
    @Override
    public TileEntity createTileEntity(BlockState state, IBlockReader world) {
        return new FancyBlockTile();
    }

    @Override
    public boolean onBlockActivated(BlockState state, World worldIn, BlockPos pos, PlayerEntity player, Hand handIn, BlockRayTraceResult hit) {
        ItemStack item = player.getHeldItem(handIn);
        if(!item.isEmpty() && item.getItem() instanceof BlockItem) {
            if(!worldIn.isRemote) {
                TileEntity te = worldIn.getTileEntity(pos);
                if(te instanceof FancyBlockTile) {
                    BlockState mimicState = ((BlockItem) item.getItem()).getBlock().getDefaultState();
                    ((FancyBlockTile) te).setMimic(mimicState);
                }
            }
            return true;
        }
        return super.onBlockActivated(state, worldIn, pos, player, handIn, hit);
    }
}

 

FancyBlockTile.java

package com.mekelaina.mytutorial.blocks.tiles;

import com.mekelaina.mytutorial.blocks.ModBlocks;
import net.minecraft.block.BlockState;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.nbt.NBTUtil;
import net.minecraft.network.NetworkManager;
import net.minecraft.network.play.server.SUpdateTileEntityPacket;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.client.model.ModelDataManager;
import net.minecraftforge.client.model.data.IModelData;
import net.minecraftforge.client.model.data.ModelDataMap;
import net.minecraftforge.client.model.data.ModelProperty;
import net.minecraftforge.common.util.Constants;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.util.Objects;

public class FancyBlockTile extends TileEntity {

    public static final ModelProperty<BlockState> MIMIC = new ModelProperty<>();

    private BlockState mimic;

    public FancyBlockTile() {
        super(ModBlocks.FANCYBLOCK_TILE.get());
    }

    public void setMimic(BlockState mimic) {
        this.mimic = mimic;
        markDirty();
        world.notifyBlockUpdate(pos, getBlockState(), getBlockState(), Constants.BlockFlags.BLOCK_UPDATE + Constants.BlockFlags.NOTIFY_NEIGHBORS);
    }

    @Nullable
    @Override
    public SUpdateTileEntityPacket getUpdatePacket() {
        CompoundNBT tag = new CompoundNBT();
        if(mimic != null) {
            tag.put("mimic", NBTUtil.writeBlockState(mimic));
        }
        return new SUpdateTileEntityPacket(pos, 1, tag);
    }

    @Override
    public void onDataPacket(NetworkManager net, SUpdateTileEntityPacket pkt) {
        BlockState oldMimic = mimic;
        CompoundNBT tag = pkt.getNbtCompound();
        if(tag.contains("mimic")) {
            mimic = NBTUtil.readBlockState(tag.getCompound("mimic"));
            if(!Objects.equals(oldMimic, mimic)) {
                ModelDataManager.requestModelDataRefresh(this);
                world.notifyBlockUpdate(pos, getBlockState(), getBlockState(), Constants.BlockFlags.BLOCK_UPDATE + Constants.BlockFlags.NOTIFY_NEIGHBORS);
            }
        }
    }

    @Nonnull
    @Override
    public IModelData getModelData() {
        return new ModelDataMap.Builder().withInitial(MIMIC, mimic).build();
    }

    @Override
    public void read(CompoundNBT compound) {
        super.read(compound);
        if(compound.contains("mimic")) {
            mimic = NBTUtil.readBlockState(compound.getCompound("mimic"));
        }
    }

    @Override
    public CompoundNBT write(CompoundNBT compound) {
        if(mimic != null) {
            compound.put("mimic", NBTUtil.writeBlockState(mimic));
        }
        return super.write(compound);
    }
}

 

FancyBakedModel.java

package com.mekelaina.mytutorial.blocks.bakedmodels;


import com.mekelaina.mytutorial.MyTutorial;
import com.mekelaina.mytutorial.blocks.tiles.FancyBlockTile;
import net.minecraft.block.BlockState;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.BlockModelShapes;
import net.minecraft.client.renderer.Vector3f;
import net.minecraft.client.renderer.model.*;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.client.renderer.vertex.VertexFormat;
import net.minecraft.util.Direction;
import net.minecraft.util.math.Vec3d;
import net.minecraftforge.client.model.data.IDynamicBakedModel;
import net.minecraftforge.client.model.data.IModelData;
import net.minecraftforge.client.model.pipeline.UnpackedBakedQuad;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;


public class FancyBakedModel implements IDynamicBakedModel {

    private final VertexFormat format;
    private final ItemCameraTransforms transforms = getAllTransforms();

    public FancyBakedModel(VertexFormat format) {
        this.format = format;
    }

   private TextureAtlasSprite getTexture() {
        String name = MyTutorial.MODID + ":block/fancyblock";
        return Minecraft.getInstance().getTextureMap().getAtlasSprite(name);
   }

    private void putVertex(UnpackedBakedQuad.Builder builder, Vec3d normal, double x, double y, double z,
                           float u, float v, TextureAtlasSprite sprite, float r, float g, float b) {
        for(int e = 0; e < format.getElementCount(); e++) {
            switch(format.getElement(e).getUsage()) {
                case POSITION:
                    builder.put(e, (float)x, (float)y, (float)z, 1.0f);
                    break;
                case COLOR:
                    builder.put(e, r, g, b, 1.0f);
                    break;
                case UV:
                    if(format.getElement(e).getIndex() == 0) {
                        u = sprite.getInterpolatedU(u);
                        v = sprite.getInterpolatedV(v);
                        builder.put(e, u, v, 0f, 1f);
                    }
                    break;
                case NORMAL:
                    builder.put(e, (float)normal.x, (float)normal.y, (float)normal.z, 0f);
                    break;
                default:
                    builder.put(e);
                    break;
            }
        }
    }

    private BakedQuad createQuad(Vec3d v1, Vec3d v2, Vec3d v3, Vec3d v4, TextureAtlasSprite sprite) {
        Vec3d normal = v3.subtract(v2).crossProduct(v1.subtract(v2)).normalize();

        UnpackedBakedQuad.Builder builder = new UnpackedBakedQuad.Builder(format);
        builder.setTexture(sprite);
        putVertex(builder, normal, v1.x, v1.y, v1.z, 0, 0, sprite, 1f, 1f, 1f);
        putVertex(builder, normal, v2.x, v2.y, v2.z, 0, 16, sprite, 1f, 1f, 1f);
        putVertex(builder, normal, v3.x, v3.y, v3.z, 16, 16, sprite, 1f, 1f, 1f);
        putVertex(builder, normal, v4.x, v4.y, v4.z, 16, 0, sprite, 1f, 1f, 1f);
        return builder.build();
    }

    private static Vec3d v(double x, double y, double z) {
        return new Vec3d(x, y, z);
    }

    @Nonnull
    @Override
    public List<BakedQuad> getQuads(@Nullable BlockState state, @Nullable Direction side, @Nonnull Random rand, @Nonnull IModelData extraData) {
        BlockState mimic = extraData.getData(FancyBlockTile.MIMIC);
        if (mimic != null) {
            ModelResourceLocation location = BlockModelShapes.getModelLocation(mimic);
            if (location != null) {
                IBakedModel model = Minecraft.getInstance().getModelManager().getModel(location);
                if (model != null) {
                    return model.getQuads(mimic, side, rand, extraData);
                }
            }
        }

        if (side != null) {
            return Collections.emptyList();
        }

        TextureAtlasSprite texture = getTexture();
        List<BakedQuad> quads = new ArrayList<>();
        double l = .2;
        double r = 1-.2;
        quads.add(createQuad(v(l, r, l), v(l, r, r), v(r, r, r), v(r, r, l), texture));
        quads.add(createQuad(v(l, l, l), v(r, l, l), v(r, l, r), v(l, l, r), texture));
        quads.add(createQuad(v(r, r, r), v(r, l, r), v(r, l, l), v(r, r, l), texture));
        quads.add(createQuad(v(l, r, l), v(l, l, l), v(l, l, r), v(l, r, r), texture));
        quads.add(createQuad(v(r, r, l), v(r, l, l), v(l, l, l), v(l, r, l), texture));
        quads.add(createQuad(v(l, r, r), v(l, l, r), v(r, l, r), v(r, r, r), texture));

        return quads;
    }

    @Override
    public boolean isAmbientOcclusion() {
        return true;
    }

    @Override
    public boolean isGui3d() {
        return false;
    }

    @Override
    public boolean isBuiltInRenderer() {
        return false;
    }

    @Override
    public TextureAtlasSprite getParticleTexture() {
        return getTexture();
    }

    @Override
    public ItemOverrideList getOverrides() {
        return ItemOverrideList.EMPTY;
    }

    @Override
    public ItemCameraTransforms getItemCameraTransforms() {
        return transforms;
    }

    public ItemCameraTransforms getAllTransforms() {
        ItemTransformVec3f tpLeft = this.getTransform(ItemCameraTransforms.TransformType.THIRD_PERSON_LEFT_HAND);
        ItemTransformVec3f tpRight = this.getTransform(ItemCameraTransforms.TransformType.THIRD_PERSON_RIGHT_HAND);
        ItemTransformVec3f fpLeft = this.getTransform(ItemCameraTransforms.TransformType.FIRST_PERSON_LEFT_HAND);
        ItemTransformVec3f fpRight = this.getTransform(ItemCameraTransforms.TransformType.FIRST_PERSON_RIGHT_HAND);
        ItemTransformVec3f head = this.getTransform(ItemCameraTransforms.TransformType.HEAD);
        ItemTransformVec3f gui = this.getTransform(ItemCameraTransforms.TransformType.GUI);
        ItemTransformVec3f ground = this.getTransform(ItemCameraTransforms.TransformType.GROUND);
        ItemTransformVec3f fixed = this.getTransform(ItemCameraTransforms.TransformType.FIXED);
        return new ItemCameraTransforms(tpLeft, tpRight, fpLeft, fpRight, head, gui, ground, fixed);
    }

    private ItemTransformVec3f getTransform(ItemCameraTransforms.TransformType type) {
        if (type.equals(ItemCameraTransforms.TransformType.GUI)) {
            return new ItemTransformVec3f(new Vector3f(200, 50, 100), new Vector3f(), new Vector3f(1.0F, 1.0F, 1.0F));
        }
        return ItemTransformVec3f.DEFAULT;
    }
}

 

ModBlocks.class

package com.mekelaina.mytutorial.blocks;

import com.mekelaina.mytutorial.MyTutorial;
import com.mekelaina.mytutorial.blocks.screens.FirstBlockContainer;
import com.mekelaina.mytutorial.blocks.tiles.FancyBlockTile;
import com.mekelaina.mytutorial.blocks.tiles.FirstBlockTile;
import net.minecraft.block.Block;
import net.minecraft.inventory.container.ContainerType;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.math.BlockPos;
import net.minecraftforge.common.extensions.IForgeContainerType;
import net.minecraftforge.fml.RegistryObject;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.ObjectHolder;

public class ModBlocks {

	public static final String FIRSTBLOCK_NAME = "firstblock";

	public static final DeferredRegister<Block> BLOCKS = new DeferredRegister<>(ForgeRegistries.BLOCKS, MyTutorial.MODID);
	public static final DeferredRegister<TileEntityType<?>> TILE_ENTITYS = new DeferredRegister<>(ForgeRegistries.TILE_ENTITIES, MyTutorial.MODID);
	public static final DeferredRegister<ContainerType<?>> CONTAINERS = new DeferredRegister<>(ForgeRegistries.CONTAINERS, MyTutorial.MODID);

	public static final RegistryObject<Block> FIRSTBLOCK = BLOCKS.register("firstblock", () -> new FirstBlock());
	public static final RegistryObject<Block> FANCYBLOCK = BLOCKS.register("fancyblock", FancyBlock::new);

	public static final RegistryObject<TileEntityType<FirstBlockTile>> FIRSTBLOCK_TILE = TILE_ENTITYS.register("firstblock", () ->
			TileEntityType.Builder.create(FirstBlockTile::new, FIRSTBLOCK.get()).build(null));
	public static final RegistryObject<TileEntityType<FancyBlockTile>> FANCYBLOCK_TILE = TILE_ENTITYS.register("fancyblock", () ->
			TileEntityType.Builder.create(FancyBlockTile::new, FANCYBLOCK.get()).build(null));

	public static final RegistryObject<ContainerType<FirstBlockContainer>> FIRSTBLOCK_CONTAINER = CONTAINERS.register("firstblock", () ->
			IForgeContainerType.create(((windowId, inv, data) -> {
				BlockPos pos = data.readBlockPos();
				return new FirstBlockContainer(windowId, MyTutorial.proxy.getClientWorld(), pos, inv, MyTutorial.proxy.getClientPlayer());
			})));


	
}

 

ClientRegistration.java

package com.mekelaina.mytutorial.setup;

import com.mekelaina.mytutorial.MyTutorial;
import com.mekelaina.mytutorial.blocks.ModBlocks;
import com.mekelaina.mytutorial.blocks.bakedmodels.FancyBakedModel;
import com.mekelaina.mytutorial.items.ModItems;
import net.minecraft.client.renderer.model.ModelResourceLocation;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.client.event.ColorHandlerEvent;
import net.minecraftforge.client.event.ModelBakeEvent;
import net.minecraftforge.client.event.TextureStitchEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;

@Mod.EventBusSubscriber(modid = MyTutorial.MODID, value = Dist.CLIENT, bus = Mod.EventBusSubscriber.Bus.MOD)
public class ClientRegistration {
    

    @SubscribeEvent
    public static void onTextureStitch(TextureStitchEvent.Pre event) {
        if(!event.getMap().getBasePath().equals("textures")) {
            return;
        }
        event.addSprite(new ResourceLocation(MyTutorial.MODID, "block/fancyblock"));
    }

    @SubscribeEvent
    public static void onModelBake(ModelBakeEvent event) {
        event.getModelRegistry().put(new ModelResourceLocation(ModBlocks.FANCYBLOCK.get().getRegistryName(), ""),
                new FancyBakedModel(DefaultVertexFormats.BLOCK));
        event.getModelRegistry().put(new ModelResourceLocation(ModBlocks.FANCYBLOCK.get().getRegistryName(), "inventory"),
                new FancyBakedModel(DefaultVertexFormats.ITEM));
    }
}

 

Error Log

[05Jun2020 23:57:04.823] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher running: args [--gameDir, ., --launchTarget, fmluserdevclient, --fml.mcpVersion, 20190829.143755, --fml.mcVersion, 1.14.4, --fml.forgeGroup, net.minecraftforge, --fml.forgeVersion, 28.2.16, --version, MOD_DEV, --assetIndex, 1.14, --assetsDir, C:\Users\ChloeRae\.gradle\caches\forge_gradle\assets, --username, Dev, --accessToken, ❄❄❄❄❄❄❄❄, --userProperties, {}]
[05Jun2020 23:57:04.826] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher 4.1.0+62+5bfa59b starting: java version 1.8.0_171 by Oracle Corporation
[05Jun2020 23:57:06.312] [main/INFO] [net.minecraftforge.fml.loading.FixSSL/CORE]: Added Lets Encrypt root certificates as additional trust
[05Jun2020 23:57:07.553] [main/INFO] [cpw.mods.modlauncher.LaunchServiceHandler/MODLAUNCHER]: Launching target 'fmluserdevclient' with arguments [--version, MOD_DEV, --gameDir, ., --assetsDir, C:\Users\ChloeRae\.gradle\caches\forge_gradle\assets, --assetIndex, 1.14, --username, Dev, --accessToken, ❄❄❄❄❄❄❄❄, --userProperties, {}]
[05Jun2020 23:57:10.757] [Client thread/INFO] [net.minecraft.client.Minecraft/]: Setting user: Dev
[05Jun2020 23:57:22.742] [Client thread/WARN] [net.minecraft.client.GameSettings/]: Skipping bad option: lastServer:
[05Jun2020 23:57:22.781] [Client thread/INFO] [net.minecraft.client.Minecraft/]: LWJGL Version: 3.2.2 build 10
[05Jun2020 23:57:23.808] [modloading-worker-1/INFO] [net.minecraftforge.common.ForgeMod/FORGEMOD]: Forge mod loading, version 28.2.16, for MC 1.14.4 with MCP 20190829.143755
[05Jun2020 23:57:23.808] [modloading-worker-1/INFO] [net.minecraftforge.common.MinecraftForge/FORGE]: MinecraftForge v28.2.16 Initialized
[05Jun2020 23:57:24.210] [Client thread/WARN] [net.minecraft.entity.EntityType/]: No data fixer registered for entity mytutorial:weirdmob
[05Jun2020 23:57:26.866] [Client thread/INFO] [com.mojang.text2speech.NarratorWindows/]: Narrator library for x64 successfully loaded
[05Jun2020 23:57:28.304] [Forge Version Check/INFO] [net.minecraftforge.fml.VersionChecker/]: [forge] Starting version check at https://files.minecraftforge.net/maven/net/minecraftforge/forge/promotions_slim.json
[05Jun2020 23:57:28.731] [Forge Version Check/INFO] [net.minecraftforge.fml.VersionChecker/]: [forge] Found status: OUTDATED Current: 28.2.16 Target: 28.2.18
[05Jun2020 23:57:28.732] [Forge Version Check/INFO] [net.minecraftforge.fml.VersionChecker/]: [mytutorial] Starting version check at http://myurl.me/
[05Jun2020 23:57:28.978] [Forge Version Check/WARN] [net.minecraftforge.fml.VersionChecker/]: Failed to process update information
java.io.IOException: Server returned HTTP response code: 400 for URL: http://myurl.me/
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_171]
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_171]
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_171]
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_171]
	at sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:1944) ~[?:1.8.0_171]
	at sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:1939) ~[?:1.8.0_171]
	at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_171]
	at sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:1938) ~[?:1.8.0_171]
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1508) ~[?:1.8.0_171]
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492) ~[?:1.8.0_171]
	at net.minecraftforge.fml.VersionChecker$1.openUrlStream(VersionChecker.java:189) ~[?:?]
	at net.minecraftforge.fml.VersionChecker$1.process(VersionChecker.java:206) ~[?:?]
	at java.lang.Iterable.forEach(Iterable.java:75) [?:1.8.0_171]
	at net.minecraftforge.fml.VersionChecker$1.run(VersionChecker.java:157) [?:?]
Caused by: java.io.IOException: Server returned HTTP response code: 400 for URL: http://myurl.me/
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1894) ~[?:1.8.0_171]
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492) ~[?:1.8.0_171]
	at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480) ~[?:1.8.0_171]
	at net.minecraftforge.fml.VersionChecker$1.openUrlStream(VersionChecker.java:173) ~[?:?]
	... 3 more
[05Jun2020 23:57:30.856] [Server-Worker-5/WARN] [net.minecraft.client.renderer.model.ModelBakery/]: Unable to load model: 'mytutorial:block/fancyblock' referenced from: mytutorial:fancyblock#: java.io.FileNotFoundException: mytutorial:models/block/fancyblock.json
[05Jun2020 23:57:31.534] [Server-Worker-5/WARN] [net.minecraft.client.renderer.model.ModelBakery/]: Unable to load model: 'mytutorial:fancyblock#inventory' referenced from: mytutorial:fancyblock#inventory: java.io.FileNotFoundException: mytutorial:models/item/fancyblock.json
[05Jun2020 23:57:32.690] [Client thread/WARN] [net.minecraft.client.GameSettings/]: Skipping bad option: lastServer:
[05Jun2020 23:57:32.786] [Client thread/INFO] [net.minecraft.client.audio.SoundSystem/]: OpenAL initialized.
[05Jun2020 23:57:32.787] [Client thread/INFO] [net.minecraft.client.audio.SoundEngine/SOUNDS]: Sound engine started
[05Jun2020 23:57:32.919] [Client thread/INFO] [net.minecraft.client.renderer.texture.AtlasTexture/]: Created: 512x512 textures-atlas
[05Jun2020 23:57:33.513] [Client thread/INFO] [net.minecraft.client.renderer.texture.AtlasTexture/]: Created: 256x256 textures/particle-atlas
[05Jun2020 23:57:33.514] [Client thread/INFO] [net.minecraft.client.renderer.texture.AtlasTexture/]: Created: 256x256 textures/painting-atlas
[05Jun2020 23:57:33.515] [Client thread/INFO] [net.minecraft.client.renderer.texture.AtlasTexture/]: Created: 128x128 textures/mob_effect-atlas
[05Jun2020 23:57:37.314] [Client thread/WARN] [net.minecraft.command.Commands/]: Ambiguity between arguments [teleport, destination] and [teleport, targets] with inputs: [Player, 0123, @e, dd12be42-52a9-4a91-a8a1-11c01849e498]
[05Jun2020 23:57:37.315] [Client thread/WARN] [net.minecraft.command.Commands/]: Ambiguity between arguments [teleport, location] and [teleport, destination] with inputs: [0.1 -0.5 .9, 0 0 0]
[05Jun2020 23:57:37.315] [Client thread/WARN] [net.minecraft.command.Commands/]: Ambiguity between arguments [teleport, location] and [teleport, targets] with inputs: [0.1 -0.5 .9, 0 0 0]
[05Jun2020 23:57:37.316] [Client thread/WARN] [net.minecraft.command.Commands/]: Ambiguity between arguments [teleport, targets] and [teleport, destination] with inputs: [Player, 0123, dd12be42-52a9-4a91-a8a1-11c01849e498]
[05Jun2020 23:57:37.316] [Client thread/WARN] [net.minecraft.command.Commands/]: Ambiguity between arguments [teleport, targets, location] and [teleport, targets, destination] with inputs: [0.1 -0.5 .9, 0 0 0]
[05Jun2020 23:57:37.476] [Server thread/INFO] [net.minecraft.server.integrated.IntegratedServer/]: Starting integrated minecraft server version 1.14.4
[05Jun2020 23:57:37.476] [Server thread/INFO] [net.minecraft.server.integrated.IntegratedServer/]: Generating keypair
[05Jun2020 23:57:37.561] [Thread-1/FATAL] [net.minecraftforge.common.ForgeConfig/CORE]: Forge config just got changed on the file system!
[05Jun2020 23:57:37.640] [Server thread/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: Injecting existing registry data into this SERVER instance
[05Jun2020 23:57:37.843] [Server thread/INFO] [net.minecraft.resources.SimpleReloadableResourceManager/]: Reloading ResourceManager: Default, forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar, main
[05Jun2020 23:57:39.066] [Server thread/INFO] [net.minecraft.item.crafting.RecipeManager/]: Loaded 6 recipes
[05Jun2020 23:57:40.206] [Server thread/INFO] [net.minecraft.advancements.AdvancementList/]: Loaded 812 advancements
[05Jun2020 23:57:40.209] [Server thread/ERROR] [net.minecraftforge.common.loot.LootModifierManager/]: Couldn't read global loot modifier list from forge:loot_modifiers/global_loot_modifiers.json
java.io.FileNotFoundException: forge:loot_modifiers/global_loot_modifiers.json
	at net.minecraft.resources.FallbackResourceManager.getAllResources(FallbackResourceManager.java:102) ~[?:?]
	at net.minecraft.resources.SimpleReloadableResourceManager.getAllResources(SimpleReloadableResourceManager.java:72) ~[?:?]
	at net.minecraftforge.common.loot.LootModifierManager.apply(LootModifierManager.java:90) ~[?:?]
	at net.minecraftforge.common.loot.LootModifierManager.apply(LootModifierManager.java:57) ~[?:?]
	at net.minecraft.client.resources.ReloadListener.lambda$reload$1(ReloadListener.java:14) ~[?:?]
	at java.util.concurrent.CompletableFuture.uniAccept(CompletableFuture.java:656) ~[?:1.8.0_171]
	at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:632) ~[?:1.8.0_171]
	at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:442) ~[?:1.8.0_171]
	at net.minecraft.resources.AsyncReloader.lambda$null$3(AsyncReloader.java:66) ~[?:?]
	at net.minecraft.util.concurrent.TickDelayedTask.run(TickDelayedTask.java:17) [?:?]
	at net.minecraft.util.concurrent.ThreadTaskExecutor.run(ThreadTaskExecutor.java:137) [?:?]
	at net.minecraft.util.concurrent.RecursiveEventLoop.run(RecursiveEventLoop.java:22) [?:?]
	at net.minecraft.util.concurrent.ThreadTaskExecutor.driveOne(ThreadTaskExecutor.java:110) [?:?]
	at net.minecraft.server.MinecraftServer.func_213205_aW(MinecraftServer.java:701) [?:?]
	at net.minecraft.server.MinecraftServer.driveOne(MinecraftServer.java:695) [?:?]
	at net.minecraft.util.concurrent.ThreadTaskExecutor.driveUntil(ThreadTaskExecutor.java:120) [?:?]
	at net.minecraft.server.MinecraftServer.loadDataPacks(MinecraftServer.java:1438) [?:?]
	at net.minecraft.server.MinecraftServer.loadDataPacks(MinecraftServer.java:438) [?:?]
	at net.minecraft.server.integrated.IntegratedServer.loadAllWorlds(IntegratedServer.java:75) [?:?]
	at net.minecraft.server.integrated.IntegratedServer.init(IntegratedServer.java:94) [?:?]
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:600) [?:?]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_171]
[05Jun2020 23:57:40.834] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Preparing start region for dimension minecraft:overworld
[05Jun2020 23:57:41.590] [Client thread/INFO] [net.minecraft.world.chunk.listener.LoggingChunkStatusListener/]: Preparing spawn area: 0%
[05Jun2020 23:57:41.591] [Client thread/INFO] [net.minecraft.world.chunk.listener.LoggingChunkStatusListener/]: Preparing spawn area: 0%
[05Jun2020 23:57:43.623] [Client thread/INFO] [net.minecraft.world.chunk.listener.LoggingChunkStatusListener/]: Preparing spawn area: 83%
[05Jun2020 23:57:43.623] [Client thread/INFO] [net.minecraft.world.chunk.listener.LoggingChunkStatusListener/]: Preparing spawn area: 83%
[05Jun2020 23:57:43.623] [Client thread/INFO] [net.minecraft.world.chunk.listener.LoggingChunkStatusListener/]: Preparing spawn area: 83%
[05Jun2020 23:57:43.623] [Client thread/INFO] [net.minecraft.world.chunk.listener.LoggingChunkStatusListener/]: Preparing spawn area: 83%
[05Jun2020 23:57:43.888] [Client thread/INFO] [net.minecraft.world.chunk.listener.LoggingChunkStatusListener/]: Preparing spawn area: 95%
[05Jun2020 23:57:44.388] [Client thread/INFO] [net.minecraft.world.chunk.listener.LoggingChunkStatusListener/]: Preparing spawn area: 96%
[05Jun2020 23:57:44.888] [Client thread/INFO] [net.minecraft.world.chunk.listener.LoggingChunkStatusListener/]: Time elapsed: 4033 ms
[05Jun2020 23:57:45.353] [Server thread/INFO] [net.minecraft.world.server.ChunkManager/]: ThreadedAnvilChunkStorage (DIM-1): All chunks are saved
[05Jun2020 23:57:45.353] [Server thread/INFO] [net.minecraft.world.server.ChunkManager/]: ThreadedAnvilChunkStorage (DIM1): All chunks are saved
[05Jun2020 23:57:48.663] [Netty Local Client IO #0/INFO] [net.minecraftforge.fml.network.NetworkHooks/]: Connected to a modded server.
[05Jun2020 23:57:48.745] [Server thread/INFO] [net.minecraftforge.common.AdvancementLoadFix/]: Using new advancement loading for net.minecraft.advancements.PlayerAdvancements@4e051296
[05Jun2020 23:57:48.830] [Server thread/INFO] [net.minecraft.server.management.PlayerList/]: Dev[local:E:79a12c84] logged in with entity id 272 at (100.47880956651221, 64.0, 206.04085553757596)
[05Jun2020 23:57:48.860] [Client thread/ERROR] [net.minecraftforge.fml.network.simple.IndexedMessageCodec/SIMPLENET]: Received empty payload on channel fml:handshake
[05Jun2020 23:57:48.861] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Dev joined the game
[05Jun2020 23:57:49.234] [Server thread/ERROR] [net.minecraftforge.fml.network.simple.IndexedMessageCodec/SIMPLENET]: Received empty payload on channel fml:handshake
[05Jun2020 23:57:49.234] [Server thread/INFO] [net.minecraft.server.integrated.IntegratedServer/]: Saving and pausing game...
[05Jun2020 23:57:49.243] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Saving chunks for level 'New World'/minecraft:overworld
[05Jun2020 23:57:49.416] [Client thread/INFO] [net.minecraft.advancements.AdvancementList/]: Loaded 21 advancements
[05Jun2020 23:57:50.498] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Stopping server
[05Jun2020 23:57:50.499] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Saving players
[05Jun2020 23:57:50.504] [Server thread/INFO] [net.minecraft.network.play.ServerPlayNetHandler/]: Dev lost connection: Disconnected
[05Jun2020 23:57:50.504] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Dev left the game
[05Jun2020 23:57:50.514] [Server thread/INFO] [net.minecraft.network.play.ServerPlayNetHandler/]: Stopping singleplayer server as player logged out
[05Jun2020 23:57:50.514] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Saving worlds
[05Jun2020 23:57:50.514] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Saving chunks for level 'New World'/minecraft:overworld
[05Jun2020 23:57:50.559] [Server thread/INFO] [net.minecraft.world.server.ChunkManager/]: ThreadedAnvilChunkStorage (New World (1)): All chunks are saved
[05Jun2020 23:57:50.573] [Server thread/INFO] [net.minecraft.world.server.ChunkManager/]: ThreadedAnvilChunkStorage (New World (1)): All chunks are saved
[05Jun2020 23:57:51.144] [Client thread/FATAL] [net.minecraft.client.Minecraft/]: Reported exception thrown!
net.minecraft.crash.ReportedException: Tesselating block model
	at net.minecraft.client.renderer.BlockRendererDispatcher.renderBlock(BlockRendererDispatcher.java:71) ~[forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?]
	at net.minecraft.client.renderer.chunk.ChunkRender.rebuildChunk(ChunkRender.java:190) ~[forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?]
	at net.minecraft.client.renderer.chunk.ChunkRenderWorker.processTask(ChunkRenderWorker.java:90) ~[forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?]
	at net.minecraft.client.renderer.chunk.ChunkRenderDispatcher.updateChunkNow(ChunkRenderDispatcher.java:174) ~[forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?]
	at net.minecraft.client.renderer.WorldRenderer.setupTerrain(WorldRenderer.java:789) ~[forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?]
	at net.minecraft.client.renderer.GameRenderer.updateCameraAndRender(GameRenderer.java:691) ~[forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?]
	at net.minecraft.client.renderer.GameRenderer.renderWorld(GameRenderer.java:640) ~[forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?]
	at net.minecraft.client.renderer.GameRenderer.updateCameraAndRender(GameRenderer.java:494) ~[forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?]
	at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:890) ~[forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:384) ~[forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?]
	at net.minecraft.client.main.Main.main(Main.java:128) ~[forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_171]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_171]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_171]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_171]
	at net.minecraftforge.userdev.FMLUserdevClientLaunchProvider.lambda$launchService$0(FMLUserdevClientLaunchProvider.java:55) ~[forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?]
	at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-4.1.0.jar:?]
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-4.1.0.jar:?]
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-4.1.0.jar:?]
	at cpw.mods.modlauncher.Launcher.run(Launcher.java:81) [modlauncher-4.1.0.jar:?]
	at cpw.mods.modlauncher.Launcher.main(Launcher.java:65) [modlauncher-4.1.0.jar:?]
	at net.minecraftforge.userdev.LaunchTesting.main(LaunchTesting.java:102) [forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?]
Caused by: java.lang.IllegalStateException: not enough data
	at net.minecraftforge.client.model.pipeline.UnpackedBakedQuad$Builder.build(UnpackedBakedQuad.java:175) ~[forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?]
	at com.mekelaina.mytutorial.blocks.bakedmodels.FancyBakedModel.createQuad(FancyBakedModel.java:77) ~[main/:?]
	at com.mekelaina.mytutorial.blocks.bakedmodels.FancyBakedModel.getQuads(FancyBakedModel.java:106) ~[main/:?]
	at net.minecraftforge.client.model.pipeline.ForgeBlockModelRenderer.render(ForgeBlockModelRenderer.java:99) ~[forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?]
	at net.minecraftforge.client.model.pipeline.ForgeBlockModelRenderer.renderModelSmooth(ForgeBlockModelRenderer.java:84) ~[forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?]
	at net.minecraft.client.renderer.BlockModelRenderer.renderModel(BlockModelRenderer.java:50) ~[forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?]
	at net.minecraft.client.renderer.BlockRendererDispatcher.renderBlock(BlockRendererDispatcher.java:60) ~[forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?]
	... 21 more
[05Jun2020 23:57:51.170] [Client thread/INFO] [STDOUT/]: [net.minecraft.util.registry.Bootstrap:printToSYSOUT:100]: ---- Minecraft Crash Report ----
// Uh... Did I do that?

Time: 6/5/20 11:57 PM
Description: Tesselating block model

java.lang.IllegalStateException: not enough data
	at net.minecraftforge.client.model.pipeline.UnpackedBakedQuad$Builder.build(UnpackedBakedQuad.java:175) ~[forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?] {re:classloading}
	at com.mekelaina.mytutorial.blocks.bakedmodels.FancyBakedModel.createQuad(FancyBakedModel.java:77) ~[main/:?] {re:classloading}
	at com.mekelaina.mytutorial.blocks.bakedmodels.FancyBakedModel.getQuads(FancyBakedModel.java:106) ~[main/:?] {re:classloading}
	at net.minecraftforge.client.model.pipeline.ForgeBlockModelRenderer.render(ForgeBlockModelRenderer.java:99) ~[forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?] {re:classloading}
	at net.minecraftforge.client.model.pipeline.ForgeBlockModelRenderer.renderModelSmooth(ForgeBlockModelRenderer.java:84) ~[forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?] {re:classloading}
	at net.minecraft.client.renderer.BlockModelRenderer.renderModel(BlockModelRenderer.java:50) ~[forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.client.renderer.BlockRendererDispatcher.renderBlock(BlockRendererDispatcher.java:60) ~[forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.client.renderer.chunk.ChunkRender.rebuildChunk(ChunkRender.java:190) ~[forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.client.renderer.chunk.ChunkRenderWorker.processTask(ChunkRenderWorker.java:90) ~[forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.client.renderer.chunk.ChunkRenderDispatcher.updateChunkNow(ChunkRenderDispatcher.java:174) ~[forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.client.renderer.WorldRenderer.setupTerrain(WorldRenderer.java:789) ~[forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.client.renderer.GameRenderer.updateCameraAndRender(GameRenderer.java:691) ~[forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.renderer.GameRenderer.renderWorld(GameRenderer.java:640) ~[forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.renderer.GameRenderer.updateCameraAndRender(GameRenderer.java:494) ~[forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:890) ~[forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.run(Minecraft.java:384) ~[forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.main.Main.main(Main.java:128) ~[forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_171] {}
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_171] {}
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_171] {}
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_171] {}
	at net.minecraftforge.userdev.FMLUserdevClientLaunchProvider.lambda$launchService$0(FMLUserdevClientLaunchProvider.java:55) ~[forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-4.1.0.jar:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-4.1.0.jar:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-4.1.0.jar:?] {}
	at cpw.mods.modlauncher.Launcher.run(Launcher.java:81) [modlauncher-4.1.0.jar:?] {}
	at cpw.mods.modlauncher.Launcher.main(Launcher.java:65) [modlauncher-4.1.0.jar:?] {}
	at net.minecraftforge.userdev.LaunchTesting.main(LaunchTesting.java:102) [forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?] {}


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Client thread
Stacktrace:
	at net.minecraftforge.client.model.pipeline.UnpackedBakedQuad$Builder.build(UnpackedBakedQuad.java:175)
	at com.mekelaina.mytutorial.blocks.bakedmodels.FancyBakedModel.createQuad(FancyBakedModel.java:77)
	at com.mekelaina.mytutorial.blocks.bakedmodels.FancyBakedModel.getQuads(FancyBakedModel.java:106)
	at net.minecraftforge.client.model.pipeline.ForgeBlockModelRenderer.render(ForgeBlockModelRenderer.java:99)
	at net.minecraftforge.client.model.pipeline.ForgeBlockModelRenderer.renderModelSmooth(ForgeBlockModelRenderer.java:84)

-- Block model being tesselated --
Details:
	Block: Block{mytutorial:fancyblock}
	Block location: World: (103,64,205), Chunk: (at 7,4,13 in 6,12; contains blocks 96,0,192 to 111,255,207), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
	Using AO: true
Stacktrace:
	at net.minecraft.client.renderer.BlockModelRenderer.renderModel(BlockModelRenderer.java:50)

-- Block being tesselated --
Details:
	Block: Block{mytutorial:fancyblock}
	Block location: World: (103,64,205), Chunk: (at 7,4,13 in 6,12; contains blocks 96,0,192 to 111,255,207), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
Stacktrace:
	at net.minecraft.client.renderer.BlockRendererDispatcher.renderBlock(BlockRendererDispatcher.java:60)
	at net.minecraft.client.renderer.chunk.ChunkRender.rebuildChunk(ChunkRender.java:190)
	at net.minecraft.client.renderer.chunk.ChunkRenderWorker.processTask(ChunkRenderWorker.java:90)
	at net.minecraft.client.renderer.chunk.ChunkRenderDispatcher.updateChunkNow(ChunkRenderDispatcher.java:174)
	at net.minecraft.client.renderer.WorldRenderer.setupTerrain(WorldRenderer.java:789)
	at net.minecraft.client.renderer.GameRenderer.updateCameraAndRender(GameRenderer.java:691)
	at net.minecraft.client.renderer.GameRenderer.renderWorld(GameRenderer.java:640)

-- Affected level --
Details:
	All players: 1 total; [ClientPlayerEntity['Dev'/272, l='MpServer', x=100.48, y=64.00, z=206.04]]
	Chunk stats: Client Chunk Cache: 729, 441
	Level dimension: DimensionType{minecraft:overworld}
	Level name: MpServer
	Level seed: 0
	Level generator: ID 00 - default, ver 1. Features enabled: false
	Level generator options: {}
	Level spawn location: World: (112,63,210), Chunk: (at 0,3,2 in 7,13; contains blocks 112,0,208 to 127,255,223), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
	Level time: 140813 game time, 8350 day time
	Level storage version: 0x00000 - Unknown?
	Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
	Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
	Server brand: forge
	Server type: Integrated singleplayer server
Stacktrace:
	at net.minecraft.client.world.ClientWorld.fillCrashReport(ClientWorld.java:410)
	at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:1750)
	at net.minecraft.client.Minecraft.run(Minecraft.java:400)
	at net.minecraft.client.main.Main.main(Main.java:128)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at net.minecraftforge.userdev.FMLUserdevClientLaunchProvider.lambda$launchService$0(FMLUserdevClientLaunchProvider.java:55)
	at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37)
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54)
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72)
	at cpw.mods.modlauncher.Launcher.run(Launcher.java:81)
	at cpw.mods.modlauncher.Launcher.main(Launcher.java:65)
	at net.minecraftforge.userdev.LaunchTesting.main(LaunchTesting.java:102)

-- System Details --
Details:
	Minecraft Version: 1.14.4
	Minecraft Version ID: 1.14.4
	Operating System: Windows 10 (amd64) version 10.0
	Java Version: 1.8.0_171, Oracle Corporation
	Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
	Memory: 455419792 bytes (434 MB) / 2124414976 bytes (2026 MB) up to 3810525184 bytes (3634 MB)
	CPUs: 8
	JVM Flags: 1 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump
	ModLauncher: 4.1.0+62+5bfa59b
	ModLauncher launch target: fmluserdevclient
	ModLauncher naming: mcp
	ModLauncher services: 
		/eventbus-1.0.0-service.jar eventbus PLUGINSERVICE 
		/forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-launcher.jar object_holder_definalize PLUGINSERVICE 
		/forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-launcher.jar runtime_enum_extender PLUGINSERVICE 
		/accesstransformers-1.0.5-shadowed.jar accesstransformer PLUGINSERVICE 
		/forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-launcher.jar capability_inject_definalize PLUGINSERVICE 
		/forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-launcher.jar runtimedistcleaner PLUGINSERVICE 
		/forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-launcher.jar fml TRANSFORMATIONSERVICE 
	FML: 28.2
	Forge: net.minecraftforge:28.2.16
	FML Language Providers: 
		[email protected]
		minecraft@1
	Mod List: 
		client-extra.jar Minecraft {[email protected] DONE}
		forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar Forge {[email protected] DONE}
		main My Tutorial {mytutorial@NONE DONE}
	Launched Version: MOD_DEV
	LWJGL: 3.2.2 build 10
	OpenGL: GeForce GTX 1050 Ti/PCIe/SSE2 GL version 4.6.0 NVIDIA 446.14, NVIDIA Corporation
	GL Caps: Using GL 1.3 multitexturing.
Using GL 1.3 texture combiners.
Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
Shaders are available because OpenGL 2.1 is supported.
VBOs are available because OpenGL 1.5 is supported.

	Using VBOs: Yes
	Is Modded: Definitely; Client brand changed to 'forge'
	Type: Client (map_client.txt)
	Resource Packs: 
	Current Language: English (US)
	CPU: 8x Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz
[05Jun2020 23:57:51.172] [Client thread/INFO] [STDOUT/]: [net.minecraft.util.registry.Bootstrap:printToSYSOUT:100]: #@!@# Game crashed! Crash report saved to: #@!@# C:\Users\ChloeRae\Desktop\All modern minecraft modding shiz\gramarye and beyon\tutorial\run\.\crash-reports\crash-2020-06-05_23.57.51-client.txt

 

This is all a lot to wrap ones head around and I dont fully understand it all myself, so any help would be appreciated

Posted

Howdy

THere's a problem with your block model (either the blockstate has the wrong path, or your fancyblock.json is in the wrong place)

java.io.FileNotFoundException: mytutorial:models/block/fancyblock.json

 

WHat's causing the crash though is this

Caused by: java.lang.IllegalStateException: not enough data at net.minecraftforge.client.model.pipeline.UnpackedBakedQuad$Builder.build(UnpackedBakedQuad.java:175) ~[forge-1.14.4-28.2.16_mapped_stable_58-1.14.4-recomp.jar:?] at com.mekelaina.mytutorial.blocks.bakedmodels.FancyBakedModel.createQuad(FancyBakedModel.java:77) ~[main/:?]

 

I think the error means that your block model is trying to construct quads using a different vertex format than expected.  Some of the formats are longer (require more ints) than others.

 

You might find some of the example code in this project useful, it also dynamically generates quads.

 

https://github.com/TheGreyGhost/MinecraftByExample

see mbe04 (altimeter), mbe15, mbe21 (the RenderQuads)

 

-TGG

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.